From 9f8faef99965006541e07052053ac60c7aee278d Mon Sep 17 00:00:00 2001 From: Dan Barber Date: Tue, 12 Jan 2010 20:07:33 +0000 Subject: [PATCH] + Added missing files. --- ._control.php | Bin 0 -> 4096 bytes control.php | 71 ++++ lib/._mpd.class.php | Bin 0 -> 4096 bytes lib/._page.php | Bin 0 -> 4096 bytes lib/js/._neompc.js | Bin 0 -> 4096 bytes lib/js/jquery-min.js | 19 ++ lib/js/neompc.js | 109 ++++++ .../%%3B^3B9^3B9ACDBF%%styles.css.php | 314 ++++++++++++++++++ .../%%3F^3F8^3F8E1A98%%playlist_item.html.php | 17 + .../%%73^73A^73AF6CEB%%menu.html.php | 12 + ...%81^81D^81D213F2%%browselist_item.html.php | 57 ++++ .../%%86^860^86006DCD%%browse.html.php | 35 ++ .../%%A0^A09^A09C29AE%%playlist.html.php | 22 ++ .../%%B6^B60^B607F601%%control.html.php | 68 ++++ .../%%C1^C14^C14AEF59%%index.html.php | 54 +++ .../%%FD^FD6^FD689738%%neompc.js.php | 116 +++++++ templates/default/._config.inc.php | Bin 0 -> 4096 bytes templates/default/._control.html | Bin 0 -> 4096 bytes templates/default/._index.html | Bin 0 -> 4096 bytes templates/default/._styles.css | Bin 0 -> 4096 bytes templates/default/images/buttons.png | Bin 0 -> 31710 bytes templates/default/images/repeat.png | Bin 0 -> 4442 bytes templates/default/images/shuffle.png | Bin 0 -> 4718 bytes templates/default/images/volume.png | Bin 0 -> 2362 bytes templates/default/images/volume_container.png | Bin 0 -> 6134 bytes templates/default/images/volume_slider.png | Bin 0 -> 1016 bytes 26 files changed, 894 insertions(+) create mode 100644 ._control.php create mode 100644 control.php create mode 100644 lib/._mpd.class.php create mode 100644 lib/._page.php create mode 100644 lib/js/._neompc.js create mode 100644 lib/js/jquery-min.js create mode 100644 lib/js/neompc.js create mode 100644 smarty/templates_c/%%3B^3B9^3B9ACDBF%%styles.css.php create mode 100644 smarty/templates_c/%%3F^3F8^3F8E1A98%%playlist_item.html.php create mode 100644 smarty/templates_c/%%73^73A^73AF6CEB%%menu.html.php create mode 100644 smarty/templates_c/%%81^81D^81D213F2%%browselist_item.html.php create mode 100644 smarty/templates_c/%%86^860^86006DCD%%browse.html.php create mode 100644 smarty/templates_c/%%A0^A09^A09C29AE%%playlist.html.php create mode 100644 smarty/templates_c/%%B6^B60^B607F601%%control.html.php create mode 100644 smarty/templates_c/%%C1^C14^C14AEF59%%index.html.php create mode 100644 smarty/templates_c/%%FD^FD6^FD689738%%neompc.js.php create mode 100644 templates/default/._config.inc.php create mode 100644 templates/default/._control.html create mode 100644 templates/default/._index.html create mode 100644 templates/default/._styles.css create mode 100755 templates/default/images/buttons.png create mode 100755 templates/default/images/repeat.png create mode 100755 templates/default/images/shuffle.png create mode 100644 templates/default/images/volume.png create mode 100644 templates/default/images/volume_container.png create mode 100644 templates/default/images/volume_slider.png diff --git a/._control.php b/._control.php new file mode 100644 index 0000000000000000000000000000000000000000..b93480672e2cdfe4edb6051d0d8def8a7a024b35 GIT binary patch literal 4096 zcmeH~y$ZrW498PJL7O!`3y$&M2hmYYi`64x~MbO1r zOd#a`Aqkh?7N~a{Py<*BiK`86v9cluP4Y27`$my;`wkF<^!{RtC|Xlx@7V!YDj$5b z1f;8cN7`hV2r}AStop(); + break; + case 'play': + $mympd->Play(); + break; + case 'pause': + $mympd->Pause(); + break; + case 'playpause': + if ($mympd->state == MPD_STATE_PLAYING) { + $mympd->Pause(); + } + else { + $mympd->Play(); + } + break; + case 'prev': + $mympd->Previous(); + break; + case 'next': + $mympd->Next(); + break; + case 'repeat': + // toggle repeat + $repeat = ($mympd->repeat == 0 ? 1 : 0); + $mympd->SetRepeat($repeat); + break; + } + + echo mpd_info(); + +function mpd_info() { + global $mympd, $_CONFIG; + // we will create an array of info detailing the current state of MPD + // and return it as JSON. + $info = array(); + $info['state'] = $mympd->state; + + $current_track = $mympd->playlist[$mympd->current_track_id]; + + $cover_link = $_CONFIG['music_directory'] . '/' + . substr($current_track['file'], 0, strrpos($current_track['file'], '/') + 1) + . $_CONFIG['album_cover_name']; + + if (file_exists($cover_link)) { + $info['coverimage'] = 'lib/image.php?file=' . $cover_link . '&size=' . $_CONFIG['album_cover_size']; + } + + $info['title'] = $current_track['Title']; + $info['album'] = $current_track['Album']; + $info['artist'] = $current_track['Artist']; + $info['file'] = $current_track['file']; + $info['filename'] = substr($current_track['file'], strrpos($current_track['file'], '/') + 1); + $info['length'] = $mympd->current_track_length; + $info['position'] = $mympd->current_track_position; + $info['volume'] = $mympd->volume; + $info['repeat'] = $mympd->repeat; + $info['random'] = $mympd->random; + + return json_encode($info); +} + +?> diff --git a/lib/._mpd.class.php b/lib/._mpd.class.php new file mode 100644 index 0000000000000000000000000000000000000000..11155d19123f4e329643a606f6061e33f61c6b36 GIT binary patch literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103v0;;?O z(ZMhSs9XU}3nP#Z6&Fp;&(+IKOfJgLO)N<*)=N$-N-bfin6vs>5JS_GKXWeKv0;s7 zWzIIRS2xxdJ+zvYp?fBWESh$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103v0;&{% z=wO%uRIY@kg%QYyii;-a=j!DqCKu)BCYGcY>m?@^rIs*MbAcR^oS##go2Ou_U}kO& z7RbrWO9gUGths8@OdREohQMeDjE2By2#kinXb6mkz-S1JhQMeDjE2By2#oj;0ChG& z7!2e>GBS%5ic*X7ON)|I71HvHvK2D(N>cMmGV}8ib8;#ba#GVu6q0fh^Rj_GP^hjU PO`-Z9?iCpZx&QwGJ25QW literal 0 HcmV?d00001 diff --git a/lib/js/._neompc.js b/lib/js/._neompc.js new file mode 100644 index 0000000000000000000000000000000000000000..6e518af27f6f6680f9ee10b62739f17f6873e365 GIT binary patch literal 4096 zcmeH~y$S*`49BA&;tg&($q{@22PZ)sd;k&j2G?3D7W)CcI*9llK8DZaJ2;>1c?jO( zEG7`re@H^}+XAhA8=3$M#&NmE4OSL&&U=-xsMx_bv`q~ZO==2^B1m5)~kTtoS= z*3t;N%J;a{Bh9$8nt73rICH|oIf)>Y5g-CY zfCvx)B0vO)01^0m0`b_4URs*%WsXkd_UO34oplG4#tY-6HB6}!DzWppRm>d11zL6e Oboku=y~+U6qId%B?Jc|j literal 0 HcmV?d00001 diff --git a/lib/js/jquery-min.js b/lib/js/jquery-min.js new file mode 100644 index 0000000..b1ae21d --- /dev/null +++ b/lib/js/jquery-min.js @@ -0,0 +1,19 @@ +/* + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ +(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file diff --git a/lib/js/neompc.js b/lib/js/neompc.js new file mode 100644 index 0000000..9ae0549 --- /dev/null +++ b/lib/js/neompc.js @@ -0,0 +1,109 @@ +progressbar_width = {:$progressbar_width:}; +template = '{:$template:}'; +volume_min = {:$volume_min:}; +volume_max = {:$volume_max:}; +vol_orientation = '{:$volume_orientation:}' + +String.prototype.pad = function(l, s){ + return (l -= this.length) > 0 ? (s = new Array(Math.ceil(l / s.length) + 1).join(s)).substr(0, s.length) + this + s.substr(0, l - s.length) : this; +}; + +function seconds_to_time(seconds) { + time = Math.floor(seconds / 60).toFixed().pad(2, "0") + ":" + (seconds % 60).toFixed().pad(2, "0"); + return time; +} + +function volume_to_pos(volume) { + pos = volume_min + (volume / 100) * (volume_max - volume_min); + return pos; +} + +function pos_to_volume(pos) { + +} + +function ajax_control(action) { + // this function will fire an AJAX call with the appropriate action. + // or it will simply fire an AJAX call to get the current status. + + $.getJSON('control.php', {action: action}, + function(data){ + // this is where we update the page. + if (data.state == 'play') { + $('#playpause_button').addClass('pause'); + } + else { + $('#playpause_button').removeClass('pause'); + } + $('#pos').text((data.track_no > -1 ? data.track_no+'.' : '')); + $('#artist').text(data.artist || ''); + $('#album').text(data.album || ''); + $('#title').text(data.title || ''); + $('#cover').attr('src', (data.coverimage ? data.coverimage : 'templates/'+template+'/images/default_cover.png')); + $('#current').text((data.position > -1 ? seconds_to_time(data.position) : '--:--')); + if (data.repeat == 1) { + $('#repeat_button').addClass('selected'); + } + else { + $('#repeat_button').removeClass('selected'); + } + $('#volume_slider').css('top', volume_to_pos(data.volume)+'px'); + update_progress(data.position, data.length); + }); +} + +function update_progress(song_position, song_length) { + + //set the interval if it hasn't been set already. + //if (update_int == null) { + // update_int = setInterval('update_progress()', 1000); + //} + + if (song_position > -1) { + new_margin = Math.round(progressbar_width - ((song_position / song_length) * progressbar_width)); + + new_margin_string = new_margin + 'px'; + + $('#progressbar').css('marginRight', new_margin_string); + + } + else { + $('#progressbar').css('marginRight', '100%'); + } + +} + +function hide_volume() { + $('#volume_container').hide(); + $('#volume_button').css('visibility', 'visible'); +} + +function show_volume() { + $('#volume_container').show(); + $('#volume_button').css('visibility', 'hidden'); +} + +$(document).ready(function(){ + + update_int = null; + + $('.control_button').click(function(event){ + ajax_control(this.rel); + this.blur(); + return false; + }); + + $('#volume_button').click(function(event){ + show_volume(); + return false; + }); + + $('#volume_container').click(function(event){ + hide_volume(); + return false; + }); + + ajax_control(); + ajax_int = setInterval('ajax_control()', 1000); + +}); diff --git a/smarty/templates_c/%%3B^3B9^3B9ACDBF%%styles.css.php b/smarty/templates_c/%%3B^3B9^3B9ACDBF%%styles.css.php new file mode 100644 index 0000000..732eea7 --- /dev/null +++ b/smarty/templates_c/%%3B^3B9^3B9ACDBF%%styles.css.php @@ -0,0 +1,314 @@ + +* { + margin: 0px; + padding: 0px; +} +img { + border: 0; +} +a { + text-decoration: none; + color: #fff; +} +body { + background: #333 url(templates/_tpl_vars['template']; ?> +/images/menu_shadow.png) center 29px repeat-x; + color: #fff; + font: 13px helvetica,verdana,sans-serif; + text-align: center; + margin: 45px 0px 0px 0px; +} +p { + margin-bottom: 5px; +} +#menu { + background: #111; + position: fixed; + width: 100%; + height: 30px; + top: 0px; + padding: 0px 2px 0px 0px; + z-index: 1; + text-align: center; +} +#menu ul { + width: 320px; + margin: 0px auto; +} +#menu li { + display: block; + float: left; +} +#menu a { + background: #000 url(templates/_tpl_vars['template']; ?> +/images/menu_back.png); + font: 14px helvetica,verdana,sans-serif; + color: rgba(0, 0, 0, 1);; + text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.6); + padding: 5px 0px 2px; + float: left; + margin-left: 0px; + display: block; + width: 107px; + height: 23px; + text-align: center; + font-weight: bold; +} +#menu a:hover { + background: #ccc url(templates/_tpl_vars['template']; ?> +/images/menu_back_active.png);; + color: #000; +} +#menu a:active { + background: #ccc url(templates/_tpl_vars['template']; ?> +/images/menu_back_active.png);; + color: #000; +} +#menu a.selected { + background: #333 url(templates/_tpl_vars['template']; ?> +/images/menu_back_selected.png); + color: #fff; + width: 106px; + text-shadow: 0 0 12px rgba(150, 210, 255, 0.9); +} +#page { + padding: 0px; + clear: left; +} +#page ul { + list-style-type: none; + width: 280px; + text-align: left; + margin-left: auto; + margin-right: auto; +} +#page ul.list { + margin-top: 10px; +} +#page ul li { + padding: 0px 1px 1px 0px; + border-top: 1px solid #666; +} +#song_display { + position: relative; + width: 280px; + height: 217px; + margin: 0px auto 5px; + /* height: 55px; */ + text-align: left; + font-size: 14px; +} +#page #pos { + font-weight: bold; +} +#page #title { + font-size: 16px; + color: #ffc; + font-weight: bold; +} +#page #song_info { + text-align: center; + white-space: nowrap; + overflow: hidden; + clear: both; +} +#page #album_info { + position: absolute; + top: 10px; + left: 150px; +} +#page #artist { + font-style: italic; +} +#page #album { + color: #888; +} +#buttons { + width: 280px; + margin: 0px auto; + padding-top: 10px; + text-align: right; +} + +img.icon { + margin: 2px 2px -1px 2px; +} +img.button { + float: right; + margin: 2px 2px -1px 2px; +} +#controls { + background: #666 url(templates/_tpl_vars['template']; ?> +/images/control_back.png) center center repeat-x; + text-align: center; + margin: 8px 0px 0px 0px; + padding: 10px 7px 10px 0px; + height: 50px; +} +#controls .container { + position: relative; + width: 280px; + margin: 0px auto; +} +#controls #main_controls { + width: 280px; +} +#controls #main_controls li { + display: block; + float: left; + border: 0; +} +#controls #main_controls a { + background-image: url(templates/_tpl_vars['template']; ?> +/images/buttons.png); + background-repeat: no-repeat; + display: block; + float: left; + width: 50px; + height: 50px; + margin-left: 7px; +} +#main_controls #prev_button { + background-position: 0px 0px; +} +#main_controls #playpause_button { + background-position: -50px 0px; +} +#main_controls #playpause_button.pause { + background-position: -100px 0px; +} +#main_controls #stop_button { + background-position: -150px 0px; +} +#main_controls #next_button { + background-position: -200px 0px; +} + +#main_controls #prev_button:hover { + background-position: 0px -50px; +} +#main_controls #playpause_button:hover { + background-position: -50px -50px; +} +#main_controls #playpause_button.pause:hover { + background-position: -100px -50px; +} +#main_controls #stop_button:hover { + background-position: -150px -50px; +} +#main_controls #next_button:hover { + background-position: -200px -50px; +} + +#volume_repeat { + position: absolute; + left: 250px; +} +#volume_repeat a { + display: block; + width: 30px; + height: 20px; + margin-bottom: 10px; + background-position: 0px 0px; + background-repeat: no-repeat; +} +#volume_repeat #volume_button { + background-image: url(templates/_tpl_vars['template']; ?> +/images/volume.png); +} +#volume_repeat #repeat_button { + background-image: url(templates/_tpl_vars['template']; ?> +/images/repeat.png); +} +#volume_repeat #volume_button:hover { + background-position: 0px -20px; +} +#volume_repeat #repeat_button:hover { + background-position: 0px -20px; +} +#volume_repeat #repeat_button.selected { + background-position: -30px 0px; +} +#volume_repeat #repeat_button.selected:hover { + background-position: -30px -20px; +} + +#volume_container { + position: absolute; + display: none; + top: -140px; + background: url(templates/_tpl_vars['template']; ?> +/images/volume_container.png) center center no-repeat; + height: 160px; + width: 30px; +} +#volume_container a#volume_hide { + position: absolute; + top: 140px; + left: 0px; + width: 30px; + height: 20px; +} +#volume_container a#volume_slider { + background: url(templates/_tpl_vars['template']; ?> +/images/volume_slider.png) center center no-repeat; + position: absolute; + top: 5px; + left: 5px; + width: 20px; + height: 30px; +} + +#crumb_trail ul { + list-style-position: inside; + text-align: left; +} + +#crumb_trail li { + display: inline; + margin-left: 3px; + border: 0px none !important; +} +li.playing { + background: #444; +} +#progress { + background: #222 url(templates/_tpl_vars['template']; ?> +/images/progress_back.png) center center repeat-x; + border: 1px solid #666; + padding: 2px; + width: 276px; + height: 10px; + margin: 5px auto 10px; + text-align: left; + clear: both; +} +#progressbar { + font-size: 1px; + background: #ccc url(templates/_tpl_vars['template']; ?> +/images/progress.png) center center repeat-x;; + height: 10px; + margin: 0px; + padding: 0px; +} +#cover_image { + float: left; + height: 130px; + width: 130px; + margin: 10px 0px 20px; +} +img#cover { + background: #111; + padding: 2px; + border: 1px solid #666; +} +#tracktime { + font-weight: bold; + position: absolute; + top: 130px; + left: 150px; +} +#tracktime #total { + color: #666; +} \ No newline at end of file diff --git a/smarty/templates_c/%%3F^3F8^3F8E1A98%%playlist_item.html.php b/smarty/templates_c/%%3F^3F8^3F8E1A98%%playlist_item.html.php new file mode 100644 index 0000000..370b8c4 --- /dev/null +++ b/smarty/templates_c/%%3F^3F8^3F8E1A98%%playlist_item.html.php @@ -0,0 +1,17 @@ + + array(array('modifier', 'string_format', 'default/playlist_item.html', 1, false),)), $this); ?> + _tpl_vars['playlist_item']['Pos'] == $this->_tpl_vars['playing']): ?>
  • Remove from PlaylistPlay _tpl_vars['playlist_item']['Pos']+1)) ? $this->_run_mod_handler('string_format', true, $_tmp, "%02d") : smarty_modifier_string_format($_tmp, "%02d")); ?> +. _tpl_vars['playlist_item']['Title']): ?>_tpl_vars['playlist_item']['Title']; ?> +_tpl_vars['playlist_item']['Artist'] && $this->_tpl_vars['show_extra_track_info']): ?>
    _tpl_vars['playlist_item']['Artist']; ?> + _tpl_vars['playlist_item']['Album']): ?>(_tpl_vars['playlist_item']['Album']; ?> +)_tpl_vars['playlist_item']['file_name']; ?> +
  • \ No newline at end of file diff --git a/smarty/templates_c/%%73^73A^73AF6CEB%%menu.html.php b/smarty/templates_c/%%73^73A^73AF6CEB%%menu.html.php new file mode 100644 index 0000000..9364297 --- /dev/null +++ b/smarty/templates_c/%%73^73A^73AF6CEB%%menu.html.php @@ -0,0 +1,12 @@ + + diff --git a/smarty/templates_c/%%81^81D^81D213F2%%browselist_item.html.php b/smarty/templates_c/%%81^81D^81D213F2%%browselist_item.html.php new file mode 100644 index 0000000..6c9f984 --- /dev/null +++ b/smarty/templates_c/%%81^81D^81D213F2%%browselist_item.html.php @@ -0,0 +1,57 @@ + + array(array('modifier', 'escape', 'default/browselist_item.html', 4, false),)), $this); ?> + + _tpl_vars['browselist_item']['directory']): ?> + +
  • _tpl_vars['browselist_item']['directory_name'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?> +
  • + + _tpl_vars['browselist_item']['metaArtist']): ?> + +
  • _tpl_vars['browselist_item']['metaArtist'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?> +
  • + + _tpl_vars['browselist_item']['metaAlbum']): ?> + +
  • _tpl_vars['browselist_item']['metaAlbum'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?> +
  • + + _tpl_vars['browselist_item']['Title']): ?> + + _tpl_vars['browselist_item']['in_playlist']): ?>
  • AddPlay _tpl_vars['browselist_item']['Title'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html'))): ?>_tpl_vars['browselist_item']['Title'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?> +_tpl_vars['browselist_item']['Artist'] && $this->_tpl_vars['show_extra_track_info']): ?>
    _tpl_vars['browselist_item']['Artist'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?> + _tpl_vars['browselist_item']['Album']): ?>(_tpl_vars['browselist_item']['Album'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?> +)_tpl_vars['browselist_item']['file_name'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?> +
  • + + _tpl_vars['browselist_item']['file']): ?> + + _tpl_vars['browselist_item']['in_playlist']): ?>
  • AddPlay _tpl_vars['browselist_item']['Title'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html'))): ?>_tpl_vars['browselist_item']['Title'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?> +_tpl_vars['browselist_item']['Artist'] && $this->_tpl_vars['show_extra_track_info']): ?>
    _tpl_vars['browselist_item']['Artist'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?> + _tpl_vars['browselist_item']['Album']): ?>(_tpl_vars['browselist_item']['Album'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?> +)_tpl_vars['browselist_item']['file_name'])) ? $this->_run_mod_handler('escape', true, $_tmp, 'html') : smarty_modifier_escape($_tmp, 'html')); ?> +
  • + + \ No newline at end of file diff --git a/smarty/templates_c/%%86^860^86006DCD%%browse.html.php b/smarty/templates_c/%%86^860^86006DCD%%browse.html.php new file mode 100644 index 0000000..8e8a8fb --- /dev/null +++ b/smarty/templates_c/%%86^860^86006DCD%%browse.html.php @@ -0,0 +1,35 @@ + + array(array('modifier', 'escape', 'default/browse.html', 6, false),)), $this); ?> + + + +
    + +
      + _tpl_vars['browselist']; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array'); }if (count($_from)): + foreach ($_from as $this->_tpl_vars['browselist_item']): +?> + _tpl_vars; +$this->_smarty_include(array('smarty_include_tpl_file' => "default/browselist_item.html", 'smarty_include_vars' => array())); +$this->_tpl_vars = $_smarty_tpl_vars; +unset($_smarty_tpl_vars); + ?> + +
    \ No newline at end of file diff --git a/smarty/templates_c/%%A0^A09^A09C29AE%%playlist.html.php b/smarty/templates_c/%%A0^A09^A09C29AE%%playlist.html.php new file mode 100644 index 0000000..db5d40c --- /dev/null +++ b/smarty/templates_c/%%A0^A09^A09C29AE%%playlist.html.php @@ -0,0 +1,22 @@ + + _tpl_vars['playlist']): ?> +
    + +
      + _tpl_vars['playlist']; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array'); }if (count($_from)): + foreach ($_from as $this->_tpl_vars['playlist_item']): +?> + _tpl_vars; +$this->_smarty_include(array('smarty_include_tpl_file' => "default/playlist_item.html", 'smarty_include_vars' => array())); +$this->_tpl_vars = $_smarty_tpl_vars; +unset($_smarty_tpl_vars); + ?> + +
    + +

    (Empty playlist)

    + + \ No newline at end of file diff --git a/smarty/templates_c/%%B6^B60^B607F601%%control.html.php b/smarty/templates_c/%%B6^B60^B607F601%%control.html.php new file mode 100644 index 0000000..3fd8207 --- /dev/null +++ b/smarty/templates_c/%%B6^B60^B607F601%%control.html.php @@ -0,0 +1,68 @@ + + array(array('modifier', 'escape', 'default/control.html', 3, false),array('modifier', 'string_format', 'default/control.html', 12, false),)), $this); ?> +
    + + + +
    + +

    + +
    --:--
    + +
     
    + +
    + +
    + +
    + +
    +
    +
      +
    • +
    • +
    • +
    • +
    +
    +
    + + +
    + + +
    +
    +
    + diff --git a/smarty/templates_c/%%C1^C14^C14AEF59%%index.html.php b/smarty/templates_c/%%C1^C14^C14AEF59%%index.html.php new file mode 100644 index 0000000..ec02010 --- /dev/null +++ b/smarty/templates_c/%%C1^C14^C14AEF59%%index.html.php @@ -0,0 +1,54 @@ + + + + + + NeoMPC <?php echo $this->_tpl_vars['version']; ?> + + + + + + + + + + + + + + _tpl_vars; +$this->_smarty_include(array('smarty_include_tpl_file' => "default/menu.html", 'smarty_include_vars' => array())); +$this->_tpl_vars = $_smarty_tpl_vars; +unset($_smarty_tpl_vars); + ?> + +
    + + _tpl_vars; +$this->_smarty_include(array('smarty_include_tpl_file' => "default/".($this->_tpl_vars['page']).".html", 'smarty_include_vars' => array())); +$this->_tpl_vars = $_smarty_tpl_vars; +unset($_smarty_tpl_vars); + ?> + +
    + + _tpl_vars['refresh']; ?> + + + + + \ No newline at end of file diff --git a/smarty/templates_c/%%FD^FD6^FD689738%%neompc.js.php b/smarty/templates_c/%%FD^FD6^FD689738%%neompc.js.php new file mode 100644 index 0000000..c0dd757 --- /dev/null +++ b/smarty/templates_c/%%FD^FD6^FD689738%%neompc.js.php @@ -0,0 +1,116 @@ + +progressbar_width = _tpl_vars['progressbar_width']; ?> +; +template = '_tpl_vars['template']; ?> +'; +volume_min = _tpl_vars['volume_min']; ?> +; +volume_max = _tpl_vars['volume_max']; ?> +; +vol_orientation = '_tpl_vars['volume_orientation']; ?> +' + +String.prototype.pad = function(l, s){ + return (l -= this.length) > 0 ? (s = new Array(Math.ceil(l / s.length) + 1).join(s)).substr(0, s.length) + this + s.substr(0, l - s.length) : this; +}; + +function seconds_to_time(seconds) { + time = Math.floor(seconds / 60).toFixed().pad(2, "0") + ":" + (seconds % 60).toFixed().pad(2, "0"); + return time; +} + +function volume_to_pos(volume) { + pos = volume_min + (volume / 100) * (volume_max - volume_min); + return pos; +} + +function pos_to_volume(pos) { + +} + +function ajax_control(action) { + // this function will fire an AJAX call with the appropriate action. + // or it will simply fire an AJAX call to get the current status. + + $.getJSON('control.php', {action: action}, + function(data){ + // this is where we update the page. + if (data.state == 'play') { + $('#playpause_button').addClass('pause'); + } + else { + $('#playpause_button').removeClass('pause'); + } + $('#pos').text((data.track_no > -1 ? data.track_no+'.' : '')); + $('#artist').text(data.artist || ''); + $('#album').text(data.album || ''); + $('#title').text(data.title || ''); + $('#cover').attr('src', (data.coverimage ? data.coverimage : 'templates/'+template+'/images/default_cover.png')); + $('#current').text((data.position > -1 ? seconds_to_time(data.position) : '--:--')); + if (data.repeat == 1) { + $('#repeat_button').addClass('selected'); + } + else { + $('#repeat_button').removeClass('selected'); + } + $('#volume_slider').css('top', volume_to_pos(data.volume)+'px'); + update_progress(data.position, data.length); + }); +} + +function update_progress(song_position, song_length) { + + //set the interval if it hasn't been set already. + //if (update_int == null) { + // update_int = setInterval('update_progress()', 1000); + //} + + if (song_position > -1) { + new_margin = Math.round(progressbar_width - ((song_position / song_length) * progressbar_width)); + + new_margin_string = new_margin + 'px'; + + $('#progressbar').css('marginRight', new_margin_string); + + } + else { + $('#progressbar').css('marginRight', '100%'); + } + +} + +function hide_volume() { + $('#volume_container').hide(); + $('#volume_button').css('visibility', 'visible'); +} + +function show_volume() { + $('#volume_container').show(); + $('#volume_button').css('visibility', 'hidden'); +} + +$(document).ready(function(){ + + update_int = null; + + $('.control_button').click(function(event){ + ajax_control(this.rel); + this.blur(); + return false; + }); + + $('#volume_button').click(function(event){ + show_volume(); + return false; + }); + + $('#volume_container').click(function(event){ + hide_volume(); + return false; + }); + + ajax_control(); + ajax_int = setInterval('ajax_control()', 1000); + +}); \ No newline at end of file diff --git a/templates/default/._config.inc.php b/templates/default/._config.inc.php new file mode 100644 index 0000000000000000000000000000000000000000..5c395016d1c911fe88ab74355099fd63bdce8944 GIT binary patch literal 4096 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 literal 0 HcmV?d00001 diff --git a/templates/default/images/repeat.png b/templates/default/images/repeat.png new file mode 100755 index 0000000000000000000000000000000000000000..871c24c7f36c01fdf63dcfad9404c61ec964468f GIT binary patch literal 4442 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 literal 0 HcmV?d00001 diff --git a/templates/default/images/shuffle.png b/templates/default/images/shuffle.png new file mode 100755 index 0000000000000000000000000000000000000000..d7a00d002c3c00835bc552d7ca3ae923e1176d96 GIT binary patch literal 4718 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 literal 0 HcmV?d00001 diff --git a/templates/default/images/volume_slider.png b/templates/default/images/volume_slider.png new file mode 100644 index 0000000000000000000000000000000000000000..e18127e63723a23c78003f0e57401fb842737e38 GIT binary patch literal 1016 zcmVPx#24YJ`L;%_V+5p_CX>@2HM@dakSAh-}000A1NklaRohq_UcO@@cNlVX=gv@WEw0Exw(-G68Pe=aM401DKA&w=Ma#^PZ>30wg;X&$l! z*Z|tyZuh4=&tLJxQI_TK?Ck89ot>SpffHaPKpj}^cDp-yp1<1K+Co)t%?O4!PY40? zfnY`mfe-@TPk8g@M|!>9&%3+3Ujh9rx%y&dW##1*Y&0D4_TX(YKK>g9CLr*9d6|uk z4V-hle*F#G+uy$gUI3Sx_-fW_wWf$L8jU#k?N?MCDuNS5L~-g+C#Wh{*VnxJ{T*dl zf*G}1tqC-NOp_oEKt%ZC{d=4!P8C%}oZy_I3Dl{ib>-;jFj^jm19YlpMcUwUfH+Cc zYT9myfgy-Q_r>7m!$-_2Km{bLh?-vG6f>jW?<4UvCRQ;CLZ{QldyfF&77*^nn~0zy zphCWu(_U>wt17o7>SEA4K1KwX2M8dl6-3c5(*C#-r_t&dS~lzQ!+@#^0>#P6)WeFu zc%#v2camjt*T7E!%|O*57;AY>tJSVPm?(6zKO)lMu;O3@lEk z7teLsLO`7ZgX7*mkLGZv-9|Oml(3LPi5%v6POH^=6!i4;EJjiY^Eq^yLRvG<&o7eR zk+*4P8-_XoyMNIqfWZRd6ioR0ucO&uiZDs>b|)vx9Ei+!*~}`J*Ycdzb}NO<{c&+| znQUDIm}+7Dvj$g#K}7{Kg$(32u)_jCr-~sQ9{%~b%AF4Ndi`!0cvzH}dW%&a46ah@ z%>yLFS_d?nO|Gx69|eqYxFGciMx)-KoRma{g!_`*u89bK;_m_4bcYXt=28=XwgVgMU0MAkj%r`eTzgu5l|MLGd`l2Wf z_V)I^1$w~ww9!wWAj`lPso~fYFektVV32+{8Q_7BX~VzigFewn4~*0KA>d`^vE|C1z$2f}})=!vm0K?afl0000cP6 literal 0 HcmV?d00001