function BlipMediaHandler(B,A){this.type=B;this.options=A||{};this.status="initializing";this.events={};this.events.init=new YAHOO.util.CustomEvent("init",this);this.events.ready=new YAHOO.util.CustomEvent("ready",this);this.events.playing=new YAHOO.util.CustomEvent("playing",this);this.events.resume=new YAHOO.util.CustomEvent("resume",this);this.events.end=new YAHOO.util.CustomEvent("end",this);this.events.buffering=new YAHOO.util.CustomEvent("buffering",this);this.events.doneBuffering=new YAHOO.util.CustomEvent("doneBuffering",this);this.events.error=new YAHOO.util.CustomEvent("error",this);this.events.previewReady=new YAHOO.util.CustomEvent("previewReady",this);this.events.previewPlaying=new YAHOO.util.CustomEvent("previewPlaying",this);this.events.previewEnd=new YAHOO.util.CustomEvent("previewEnd",this)}BlipMediaHandler.prototype={_nowPlaying:null,init:function(){},loadTrack:function(A){},addTrack:function(A){},playTrack:function(){},pauseTrack:function(){},stopTrack:function(){},nextTrack:function(){},prevTrack:function(){},setVolume:function(){},getVolume:function(){},getTrackPosition:function(){},getTrackLength:function(){},previewTrack:function(){},previewStop:function(){},inheritPreview:function(){},show:function(){},hide:function(){},handles:function(B){for(var A in this.type){if(B==this.type[A]){return true}}return false}};var ImeemSongHandler=function(B,C,A){this.constructor.superclass.constructor.call(this,["imeemSong"],A);this.playerId=B;this.filterBit=2;this._apiKey=C;this._previewId=null;this._trackId=null;this._trackPosition=0;this.anim=new Array();this.events.init.subscribe(function(){this.player=$(this.playerId);this.events.ready.unsubscribe()});this.events.ready.subscribe(function(){this.status="ready";this.events.init.fire()});this.events.previewReady.subscribe(function(){this.player.playTrack()})};YAHOO.lang.extend(ImeemSongHandler,BlipMediaHandler);ImeemSongHandler.EMBED_URL="http://media.imeem.com/emptyembedplayer/";ImeemSongHandler.prototype.init=function(){var A={};var B={id:this.playerId,style:"height:1px;"};var E={menu:"false",scale:"noscale",wmode:"opaque",allowfullscreen:"false",allowscriptaccess:"always"};try{swfobject.embedSWF(ImeemSongHandler.EMBED_URL+this._apiKey,this.playerId+"Container","320","80","9.0.0",false,A,E,B)}catch(D){console.log(D)}var C=this;imeem_onPlayerReady=function(){console.log("imeem_onPlayerReady");if(C._previewId){C.events.previewReady.fire()}else{C.status="ready";C.events.ready.fire()}};imeem_onMediaStart=function(){console.log("imeem_onMediaStart");if(C._previewId){C.events.previewPlaying.fire()}else{C.status="playing";C.events.playing.fire()}};imeem_onMediaEnd=function(){console.log("imeem_onMediaEnd");if(C._previewId){C.previewId=null;C.events.previewEnd.fire()}else{C.status="ready";C._trackId=null;C._trackPosition=0;C.events.end.fire()}};imeem_onMediaBuffering=function(){console.log("imeem_onMediaBuffering");if(C._previewId){return }C.status="buffering";C.events.buffering.fire()};imeem_onMediaDoneBuffering=function(){console.log("imeem_onMediaDoneBuffering");if(C._previewId){return }if(C._trackPosition){C.player.seek(C._trackPosition)}C._trackPosition=0;C.status="playing";C.events.doneBuffering.fire(C.getTrackPosition(),C.getTrackLength())};imeem_onMediaError=function(){console.log("imeem_onMediaError");(C._previewId)?C.events.error.fire("previewIO"):C.events.error.fire("IO",C._nowPlaying)};imeem_onPlayClick=function(){console.log("imeem_onPlayClick")};imeem_onPauseClick=function(){console.log("imeem_onPauseClick")}};ImeemSongHandler.prototype.show=function(){if(!this.anim.show){this.anim.show=new YAHOO.util.Anim(this.player,{height:{from:1,to:80}},0.5,YAHOO.util.Easing.easeOut)}this.anim.show.animate()};ImeemSongHandler.prototype.hide=function(){if(!this.anim.hide){this.anim.hide=new YAHOO.util.Anim(this.player,{height:{to:1}},0.4,YAHOO.util.Easing.easeOut)}this.anim.hide.animate()};ImeemSongHandler.prototype.loadTrack=function(A){this._nowPlaying=A;this._previewId=null;this._trackId=A.url;this._trackPosition=0;this.player.load(A.url)};ImeemSongHandler.prototype.playTrack=function(){this.player.playTrack()};ImeemSongHandler.prototype.pauseTrack=function(){this.player.pauseTrack()};ImeemSongHandler.prototype.resumeTrack=function(){if(this._previewId){this._previewId=null;this.player.load(this._trackId)}else{this.player.resumeTrack()}};ImeemSongHandler.prototype.stopTrack=function(){this.player.stopTrack()};ImeemSongHandler.prototype.previewTrack=function(A,B){if(!this._previewId){this._trackPosition=this.getTrackPosition()}this._previewId=A;this.player.load(A)};ImeemSongHandler.prototype.previewStop=function(){if(!this._previewId){return false}this.player.stopTrack()};ImeemSongHandler.prototype.inheritPreview=function(){this._trackId=this._previewId;this._previewId=null;this.events.playing.fire()};ImeemSongHandler.prototype.setVolume=function(B){var A=Math.round(B*100);this.player.setVolume(A)};ImeemSongHandler.prototype.getVolume=function(){return this.player.getVolume()};ImeemSongHandler.prototype.getTrackPosition=function(){return this.player.getTrackPosition()};ImeemSongHandler.prototype.getTrackLength=function(){return this.player.getTrackLength()};var YouTubeVideoHandler=function(B,A){this.constructor.superclass.constructor.call(this,["youtubeVideo"],A);this.playerId=B;this.filterBit=1;this._previewId=null;this._trackId=null;this._trackPosition=0;this.anim=new Array();this.events.init.subscribe(function(){this.player=$(this.playerId);var C=this;window["onYouTubeStateChanged_"+this.playerId]=function(D){switch(D){case -1:console.log("YouTube Video Unstarted");break;case 0:console.log("YouTube Video Ended",C._isPlaying);if(C._previewId){C.previewId=null;C.events.previewEnd.fire()}else{if(!C._isPlaying){break}C.status="ready";C._trackId=null;C._trackPosition=0;C._isPlaying=false;C.events.end.fire()}break;case 1:console.log("YouTube Video Playing");if(C._previewId){C.events.previewPlaying.fire()}else{if(!C._isPlaying){C.events.playing.fire();C._isPlaying=true}}break;case 2:console.log("YouTube Video Paused");break;case 3:console.log("YouTube Video Buffering");if(C._previewId){return }C.status="buffering";C.events.buffering.fire();break;case 5:console.log("YouTube Video Ready");if(C._previewId){C.events.previewReady.fire()}else{C.status="ready";C.events.ready.fire()}break}};window["onYouTubeError_"+this.playerId]=function(D){console.log("onYouTubeError_"+C.playerId,D);(C._previewId)?C.events.error.fire("previewIO"):C.events.error.fire("IO",C._nowPlaying)};this.player.addEventListener("onStateChange","onYouTubeStateChanged_"+this.playerId);this.player.addEventListener("onError","onYouTubeError_"+this.playerId)})};YAHOO.lang.extend(YouTubeVideoHandler,BlipMediaHandler);YouTubeVideoHandler.EMBED_URL="http://www.youtube.com/apiplayer?enablejsapi=1";YouTubeVideoHandler.STATE_UNSTARTED="-1";YouTubeVideoHandler.STATE_ENDED="0";YouTubeVideoHandler.STATE_PLAYING="1";YouTubeVideoHandler.STATE_PAUSED="2";YouTubeVideoHandler.STATE_BUFFERING="3";YouTubeVideoHandler.STATE_CUED="5";YouTubeVideoHandler.prototype.init=function(){var B={};var C={id:this.playerId};var G={menu:"false",wmode:"opaque",allowscriptaccess:"always",bgcolor:"#000000"};try{var D=this.options.height||240,A=this.options.width||320;swfobject.embedSWF(YouTubeVideoHandler.EMBED_URL+"&playerapiid="+this.playerId,this.playerId+"Container",A,D,"9.0.0",null,null,G,C)}catch(F){console.log("error:",F)}var E=this;onYouTubePlayerReady=function(){console.log("onYouTubePlayerReady");E.status="ready";E.events.init.fire()}};YouTubeVideoHandler.prototype.show=function(){if(this.options.show){return this.options.show.call(this)}if(!this.anim.show){this.anim.show=new YAHOO.util.Anim(this.playerId,{opacity:{to:1}},0.5,YAHOO.util.Easing.easeOut)}if(this.anim.hide&&this.anim.hide.isAnimated()){this.anim.hide.stop(false)}this.anim.show.animate()};YouTubeVideoHandler.prototype.hide=function(){if(this.options.hide){return this.options.hide.call(this)}if(!this.anim.hide){this.anim.hide=new YAHOO.util.Anim(this.playerId,{opacity:{to:0}},0.4,YAHOO.util.Easing.easeOut)}if(this.anim.show&&this.anim.show.isAnimated()){this.anim.show.stop(false)}this.anim.hide.animate()};YouTubeVideoHandler.prototype.loadTrack=function(A){this._nowPlaying=A;this._isPlaying=false;this._previewId=null;this._trackId=A.url;this._trackPosition=0;this.events.ready.fire()};YouTubeVideoHandler.prototype.playTrack=function(){this.player.loadVideoById(this._trackId)};YouTubeVideoHandler.prototype.pauseTrack=function(){this.player.pauseVideo()};YouTubeVideoHandler.prototype.resumeTrack=function(){if(this._previewId){this._previewId=null;this.player.loadVideoById(this._trackId,this._trackPosition)}else{this.player.playVideo()}};YouTubeVideoHandler.prototype.stopTrack=function(){this._isPlaying=false;this.player.pauseVideo();this.player.clearVideo()};YouTubeVideoHandler.prototype.previewTrack=function(A,B){if(!this._previewId){this._trackPosition=this.getTrackPosition()}this._previewId=A;this.player.loadVideoById(A)};YouTubeVideoHandler.prototype.previewStop=function(){if(!this._previewId){return false}this.player.pauseVideo();this.player.clearVideo()};YouTubeVideoHandler.prototype.inheritPreview=function(){this._trackId=this._previewId;this._previewId=null;this._isPlaying=true;this.events.playing.fire()};YouTubeVideoHandler.prototype.setVolume=function(B){var A=Math.round(B*100);this.player.setVolume(A)};YouTubeVideoHandler.prototype.getVolume=function(){return this.player.getVolume()};YouTubeVideoHandler.prototype.getTrackPosition=function(){return this.player.getCurrentTime()};YouTubeVideoHandler.prototype.getTrackLength=function(){return this.player.getDuration()};var BlipSongHandler=function(B,C,A){this.constructor.superclass.constructor.call(this,["songUrl","fuzzSong"],A);this.playerId=B;this._embedUrl=C;this._add=new Array();this._percent=0;this._trackLength=0;this._trackPosition=0;this.events.init.subscribe(function(){this.player=$(this.playerId);if(!this._add.length){return }do{this.addTrack(this._add.shift())}while(this._add.length)})};YAHOO.lang.extend(BlipSongHandler,BlipMediaHandler);BlipSongHandler.prototype.init=function(){var A={};var B={id:this.playerId};var E={menu:"false",scale:"noscale",allowfullscreen:"false",allowscriptaccess:"always"};try{swfobject.embedSWF(this._embedUrl,this.playerId+"Container","1","1","9.0.0",false,A,E,B)}catch(D){console.log(D)}var C=this;doneInit=function(){C.status="ready";C.events.init.fire()};Blip_IO_Error=function(){console.log("Blip_IO_Error");C.events.error.fire("IO",C._nowPlaying)};Preview_IO_Error=function(){console.log("Preview_IO_Error");C.events.error.fire("previewIO")};startedPLaying=function(){console.log("startedPLaying");if(!C._isPlaying){C.events.playing.fire()}C._isPlaying=true};Preview_startedPLaying=function(){this.events.previewPlaying.fire()};notifyPercent=function(F){C._percent=F};notifyLength=function(F){C._trackPosition=F};doneTackLength=function(F){C._trackLength=F};Blip_Next=function(){console.log("Blip_Next");C.events.end.fire()};playerMessage=function(F){console.log("BlipPlayer Message: ",F)}};BlipSongHandler.prototype.addOnReady=function(A){if(this.ready){return this.add(A)}return this._add.push(A)};BlipSongHandler.prototype.addTrack=function(A){if(this.status=="initializing"){return this.addOnReady(A)}return this.player.addSong({id:A.id,blipType:A.type,data:{path:A.url}})};BlipSongHandler.prototype.loadTrack=function(A){this._nowPlaying=A;this._isPlaying=false;this._trackPosition=0;this._trackLength=0;this.events.ready.fire()};BlipSongHandler.prototype.playTrack=function(){this.player.playByBlipId(this._nowPlaying.id)};BlipSongHandler.prototype.pauseTrack=function(){this.player.pause()};BlipSongHandler.prototype.resumeTrack=function(){this.player.playBlip()};BlipSongHandler.prototype.stopTrack=function(){this.player.stopBlip()};BlipSongHandler.prototype.previewTrack=function(A,B){this.player.preview(A,B);this.events.previewReady.fire()};BlipSongHandler.prototype.previewStop=function(){this.player.previewStop()};BlipSongHandler.prototype.inheritPreview=function(){this.player.inheritPreview();this._isPlaying=true;this.events.playing.fire()};BlipSongHandler.prototype.setVolume=function(A){this.player.setVolume(A)};BlipSongHandler.prototype.getVolume=function(){return this.player.getVolume()};BlipSongHandler.prototype.getTrackPosition=function(){return this._trackPosition};BlipSongHandler.prototype.getTrackLength=function(){return this._trackLength/1000};