var openMediaPlaylist=function(x){var o={autoPlay:true,autoAdvance:true,style:"minimal",showPlaylist:false,autoHideControls:false,showProgressBar:true,controlsAutoHideInterval:2000,loadFirstItem:true,preloadImages:true,backgroundColor:"#000000",useCufon:false,cufonFont:false,defaultVolume:50};var b=$.extend({},o,x);var h=null;var l=0;var p=[];var j;var u=null;var f=null;var k=null;var s=null;var g=null;var t=null;var y=null;var e=null;var d=[];var i=false;var r;var v=b.defaultVolume;var q=new m();var a=new n();var c=false;q.start();function w(){return{init:function(){$("ul.playlist li a").each(function(){l++;var A="openPlaylist-"+l;h=A;var z=(b.autoAdvance)?q.next:"";p[l-1]=soundManager.createSound({id:A,url:$(this).attr("href"),whileloading:a.whileloading,whileplaying:a.whileplaying,onfinish:z});$(this).attr("id","openPlaylist-"+l)});h=null}}}function n(){function z(B,C){var A=Math.floor(B/1000);var D=Math.floor(A/60);var E=A-(D*60);if(D===0&&E===0){return null}return(C?(D+":"+(E<10?"0"+E:E)):{min:D,sec:E})}return{play:function(B,A){if(!A){var A=false}if(h==null&&B==null){B="openPlaylist-1"}if(B!=null){if(B!=h||A){soundManager.stopAll();j=soundManager.getSoundById(B)}}if(j!=null){if(j.playState==1&&!A){j.togglePause()}else{h=B;j.setPosition(0);j.play({volume:v})}}},next:function(){if(h!=null){var A=h.split("-");A=(A[1]*1)+1;if(A<=l){A="openPlaylist-"+A}else{A="openPlaylist-"+1}h=A;a.play(h,true)}},previous:function(){if(h!=null){var A=h.split("-");A=(A[1]*1)-1;if(A>0){A="openPlaylist-"+A}else{A="openPlaylist-"+l}h=A;a.play(h,true)}},whileplaying:function(){var A=j.position/j.duration;u.html(z(j.duration,true));y.css("width",(A*100)+"%");f.html(z(j.position,true)||"0:00")},whileloading:function(){e.css("width",((j.bytesLoaded/j.bytesTotal)*100)+"%")},setPosition:function(C){var A=parseInt(C.clientX);var B=$("#statusbar");var E=B.position();var D=j.duration*((A-E.left)/B.width());j.setPosition(D)},load:function(A){if(A!=null){j=soundManager.getSoundById(A);j.load();return j.durationEstimate}},setVolume:function(E,B){if(!B){var A=parseInt(E.clientX);var D=$("#volume").position();var C=((A-D.left)-25);j.setVolume(C);v=C;$("#volume .value").css("width",C+"%")}else{j.setVolume(B);v=B;if(B!="mute"){$("#volume .value").css("width",B+"%")}else{$("#volume .value").css("width",0)}}}}}function m(){var O=new w();var M=b.style;var K=[];var J=[];var G=false;var S;function P(){var U=(M=="page-list")?'<div id="position-control"></div>':'<div id="media-description"></div>';var Y=(b.showProgressBar||M!="fullscreen")?'<div id="timing" class="clearfix"><span id="elapsed"></span>/<span id="total"></span></div><div id="statusbar"><div id="loading" style="width: 0%;"></div><div id="position" style="width: 0%;"></div> </div>':"";var W='<div id="volume"><a href="#" id="min"></a><div class="outer"><div class="inner"></div><div class="value"></div></div>   <a href="#" id="max"></a></div>';var X=(M=="fullscreen")?"":'<a href="#" id="play" class="main-button"></a>'+W;var T=(M=="fullscreen")?'<div class="play-container"><a href="#" id="play" class="main-button"></a></div>'+W:"";var V=T+'<div id="openPlayer">'+U+Y+'<div class="controls-container"><div id="controls"><a href="#" id="previous" class="main-button"></a>'+X+'<a href="#" id="next" class="main-button"></a></div></div></div>';return V}function A(){$(document).ready(function(){if(F()){if(b.style!="minimal"){b.style="minimal";M="minimal"}b.useCufon=false}if(b.style=="fullscreen"&&!b.showPlaylist){$(".playlist").css("display","none")}if($("#openPlayer").length==0){$("body").append(P())}if($("#loading-indicator").length==0&&M=="fullscreen"){$("body").prepend('<div id="loading-indicator>loading...</div>');r=$("#loading-indicator")}u=$("#total");f=$("#elapsed");k=$("#play");s=$("#next");g=$("#previous");t=$("#volume");y=$("#position");e=$("#loading");S=$(".playlist");var V=$(window).height();var U=$(".openPlayerContent");$("#volume .value").css("width",v+"%");if(b.autoPlay){k.addClass("pause")}$("#openPlayer").addClass(M);U.addClass(M);S.addClass(M);if(M=="page-list"){U.css({height:V});S.css({height:V-40});var T=$(".controls-container");T.addClass(M);if(!c){$("body").append(T);$("body").prepend(t.addClass("page-list"))}}else{if(M=="fullscreen"){if($("#fullscreen-bg").length==0){$("body").append('<div id="fullscreen-bg"></div>').css("background-color",b.backgroundColor)}$("#fullscreen-bg").css({height:V});if($(".play-container").length==0){$("body").prepend('<div class="play-container></div>',t);$(".play-container").html(k)}k.addClass(M);t.addClass(M);S.find("li a").each(function(){K.push($(this).attr("rel"))})}}if(b.autoHideControls&&M=="fullscreen"){$("body").hover(function(){$("#controls").animate({opacity:1},"fast")},function(){setTimeout(function(){$("#controls").animate({opacity:0},"fast")},b.controlsAutoHideInterval)})}U.animate({opacity:1},"fast",function(){if(M=="fullscreen"){if(b.loadFirstItem&&h==null){var W=$("#fullscreen-bg");var Y=$(".playlist a:first-child");if(W.find(".background-image").length==0){L();var X=Y.attr("rel");N(X,function(){I(W,X);$("#media-description").html(Y.html());a.load(Y.attr("id"));if(b.useCufon){Cufon.refresh()}i=true})}}if(b.preloadImages&&!G){H(K,function(){G=true;i=true})}else{i=true}}else{i=true;L()}})});c=true}function R(T){Cufon.replace("#media-description, #openPlayerContent, .playlist",{fontFamily:T,hover:true})}function L(){if(i){if(b.useCufon){R(b.cufonFont)}if(b.autoPlay){if(h==null){q.play("openPlaylist-1")}}}else{setTimeout(function(){L()},500)}}function N(T,U){C(d);r.animate({opacity:1},"fast");if(!b.preloadImages){E(T,U)}if(J[T]!=undefined){if(B(J[T])){U();i=true;r.animate({opacity:0},"fast")}else{d.push(setTimeout(function(){N(T,U)},500))}}else{d.push(setTimeout(function(){N(T,U)},500))}}function C(U){for(var V=0,T=U.length;V<T;V++){clearTimeout(U[V])}}function I(V,U){var T=$("<img>").attr({src:U,"class":"background-image"}).css("opacity",0);Q(T,U);V.append(T);V.find(".background-image").css({opacity:1})}function Q(V,W){var U=J[W].width/J[W].height;var X=$(window).width(),T=X/U;if(T<$(window).height()){T=$(window).height();X=T*U}V.width(X).height(T)}function E(T,U){J[T]=new Image();J[T].onload=function(){if($.isFunction(U)){U();i=true}};J[T].src=T}function H(X,W){var U,V,T=0;if(typeof X!="undefined"){if($.isArray(X)){V=X.length;for(var U=0;U<V;U++){J[X[U]]=new Image();J[X[U]].onload=function(){T++;if(T==V){if($.isFunction(W)){W()}}};J[X[U]].src=X[U]}}}}function B(T){if(!T.complete){return false}if(typeof T.naturalWidth!="undefined"&&T.naturalWidth==0){return false}return true}function D(){k=$("#play");if(h!=null){var Y=false;var X=false;if($(".playing").length==0){$("#"+h).parent("li").addClass("pause")}if($(".playing a").attr("id")==h){k.toggleClass("pause");$(".playing").toggleClass("pause")}else{$(".playing").removeClass("playing pause");$("#"+h).parent("li").addClass("playing pause");Y=true}if(M=="page-list"){var T=$("#openPlayer");var V=$(".playing");if($("li.playing").find("#openPlayer").length==0){k.addClass("pause");V.append(T);$(".playing").prepend($("#position-control"))}}if(M=="fullscreen"){var W=$(".playing a").attr("rel");var U=$("#fullscreen-bg");$("#media-description").html($(".playing a").html());if(Y){if(U.find(".background-image").length>0){U.find(".background-image").animate({opacity:0},"slow",function(){$(this).remove();N(W,function(){I(U,W)})})}else{N(W,function(){I(U,W)})}}}if(M=="minimal"){$(".playing").append($("#timing"))}if(b.useCufon){Cufon.refresh()}}}function z(){if(h!=null){a.play(h);D()}else{a.play("openPlaylist-1");D()}}function F(){return((window.XMLHttpRequest==undefined)&&(ActiveXObject!=undefined))}return{start:function(){var T=this;A();O.init();T.handleEvents()},play:function(T){a.play(T);D();return false},next:function(T){a.next(T);D();return false},previous:function(T){a.previous(T);D();return false},seekTo:function(T){a.setPosition(T)},changeVolume:function(U,T){if(!T){T=false}a.setVolume(U,T)},handleEvents:function(){var T=this;$(window).resize(function(){A()});$("#play").click(function(){T.play()});s.click(function(){T.next();return false});g.click(function(){T.previous();return false});$(".playlist li a").click(function(U){U.preventDefault();T.play($(this).attr("id"));return false});$("#position-control").click(function(U){T.seekTo(U)});$("#statusbar").click(function(U){T.seekTo(U)});$("#media-description").click(function(){z()});$("#volume .outer").click(function(U){T.changeVolume(U)});$("#min").click(function(U){T.changeVolume(U,"mute")});$("#max").click(function(U){T.changeVolume(U,100)})}}}return{player:q,handler:a}};
