var Player=new Class({Implements:[Options,Events],options:{path:"./assets/site/",host:"rs3.radiostreamer.com",port:"9330",stream:"http://rs3.radiostreamer.com:9330/;*.nsv",duration:"43200",popup:"./index.php?id=203",opacity:1,volume:40,loader:true,draggable:true,constrain:"player-wrapID",autoplay:false,lightbox:true,limit:15,buttons:{player:["#btnPlayID","#btnStopID","#btnMuteID","#btnVoldID","#btnVoluID","#timeSliderPositionID","#timeSliderDurationID","#timeSliderRailID"],content:["#btnPrevID","#btnNextID","#btnListID"],disable:[]}},initialize:function(b,a){this.element=document.id(b);if(!this.element){return false}this.setOptions(a);this.playerWin=null;this.mediaFiles=null;this.trackRequest=null;this.currentItem=0;this.previousItem=-1;this.playerEl=document.id("playerID");this.playerDockEl=document.id("togglePlayerID");this.btnPlay=document.id("btnPlayID");this.btnMute=document.id("btnMuteID");this.tracklistEl=document.id("tracklistID");this.tracklistContainerEl=document.id("tracklistContainerID");this.tracklistExtEl=document.id("tracklistExtID");this.loaderEl=this._getLoader();this.btnsPlayer=this.options.buttons.player;this.btnsContent=this.options.buttons.content;this.btnsDisable=this.options.buttons.disable;this._hideButtons([this.btnsPlayer,this.btnsContent,this.btnsDisable]);this._createPlayer();this._prepare();this.attachEvents()},_prepare:function(){if(this.options.draggable){if($defined(document.id(this.options.constrain))){var c=new Drag.Move(this.playerEl,{container:document.id(this.options.constrain),onStart:function(d){d.setStyle("cursor","move")},onComplete:function(d){d.setStyle("cursor","default")}})}else{var c=new Drag(this.playerEl,{onStart:function(d){d.setStyle("cursor","move")},onComplete:function(d){d.setStyle("cursor","default")}})}var b=new Drag(this.tracklistContainerEl,{onStart:function(d){d.setStyle("cursor","move")},onComplete:function(d){d.setStyle("cursor","default")}})}this._prepareContentSlides();var a=new Tips(this.playerEl.getElements("li"));if(!this.playerDockEl){this.open();return false}if(this.tracklistExtEl){this.requestTrack()}this.fxPlayer=this.fxPlayer||new Fx.Morph(this.playerEl,{duration:1500,onComplete:function(){if(this.playerEl.isVisible()){this._focus(this.playerEl)}}.bind(this)}).set({opacity:0,height:0,width:0})},_highlightCurrent:function(a){if(!this.tracklistEl){return false}var a=a||0;var b=this.tracklistEl.getElements("tr");if(b.length<1){return false}b.each(function(d,c){d.removeClass("on");if(c==a+1){b[c].addClass("on")}})},showSlideCounter:function(){this.fxCounter=this.fxCounter||new Fx.Tween("btnScntID",{property:"opacity",duration:500,link:"cancel"});this.fxCounter.set(1).start.pass(0,this.fxCounter).delay(3500)},attachEvents:function(){if($defined(document.id("togglePlayerID"))){document.id("togglePlayerID").addEvent("click",function(a){a.stop();this.toggle()}.bind(this))}this.playerEl.addEvent("mousedown",function(a){a.stop();this._focus(this.playerEl)}.bind(this));this.playerEl.addEvent("click:relay(li.button)",function(b,a){b.stop();this._clickPlayerButton(a)}.bind(this));this.tracklistEl.getParent().addEvent("mousedown",function(a){a.stop();this._focus(this.tracklistEl.getParent())}.bind(this));this.tracklistEl.addEvent("click:relay(tr)",function(b,a){b.stop();this.contentSlides.show(a.retrieve("slideIndex"));this._focus(this.playerEl)}.bind(this));document.id("btnCloseTracklistID").addEvent("click",function(a){a.stop();this._clickPlayerButton(a.target)}.bind(this));if(!this.tracklistExtEl){return false}this.tracklistExtEl.addEvent("click:relay(a.toggle-track)",function(b,a){b.stop();this.onToggleTrack(a)}.bind(this))},onToggleTrack:function(b){var a=b.retrieve("slideIndex");var e=this.contentSlides.slides[a].getFirst();if(!$defined(e.retrieve("cover"))){this.requestCover(a);return false}if(!e.retrieve("cover")){return false}var d=b.getNext().getElement(".cover");this.fxRevealCover=this.fxRevealCover||[];this.fxRevealCover[a]=this.fxRevealCover[a]||new Fx.Reveal(d);this.fxRevealCover[a].toggle();var c=b.getParent().getParent();c.toggleClass("on")},_addControllerListeners:function(){var a=this.player;a.addControllerListener("ITEM","Player._onControllerItem");a.addControllerListener("MUTE","Player._onControllerMute");a.addControllerListener("STOP","Player._onControllerStop");a.addControllerListener("VOLUME","Player._onControllerVolume")},_onControllerItem:function(a){if(this.previousItem!=a.index){this.previousItem=this.currentItem;this.currentItem=a.index}},_onControllerMute:function(a){this.btnMute.toggleClass("on");var b=a.state?"mute":"unmute";this.showStatus(b)},_onControllerStop:function(a){this.btnPlay.removeClass("on");this.resetTimeSlider()},_onControllerVolume:function(a){this.showStatus("Volume "+a.percentage)},_addModelListeners:function(){var a=this.player;a.addModelListener("BUFFER","Player._onModelBuffer");a.addModelListener("STATE","Player._onModelState");a.addModelListener("TIME","Player._onModelTime")},_onModelBuffer:function(a){if(a.percentage==100){if(this.options.loader){this.loaderEl.hide()}}this.showStatus(a.percentage)},_onModelState:function(b){var a=b.newstate.toUpperCase();this.currentState=a;this.showStatus(a);switch(a){case"IDLE":if(this.options.loader){this.loaderEl.hide()}break;case"BUFFERING":if(this.options.loader){this.loaderEl.show()}break;case"PLAYING":if(this.options.loader){this.loaderEl.hide()}break;case"PAUSED":break;case"COMPLETED":this.resetTimeSlider();break;default:return false}},_onModelTime:function(f){var h=this.secondsToTime(f.duration);var b=this.secondsToTime(f.position);var a=this.secondsToTime(f.duration-f.position);var g=document.id("timeSliderPositionID");var k=document.id("timeSliderDurationID");if(!this.timeSlider){var j=document.id("timeSliderRailID").getSize().x;var e=document.id("timeSliderRailID");var c=document.id("timeSliderHandleID");c.set("tween",{duration:"short"});this.timeSlider=new Slider(e,c,{steps:j,onTick:function(d){c.tween("width",d)}}).set(0)}var m=this.timeSlider.steps;var l=m/f.duration*f.position;this.timeSlider.set(l);g.set("text",b.h+":"+b.m+":"+b.s);k.set("text",h.h+":"+h.m+":"+h.s)},showStatus:function(b){var a=document.id("statusID");a.set("text",b.toUpperCase());this.fxStatus=this.fxStatus||new Fx.Tween(a,{property:"opacity",duration:500,link:"cancel"});this.fxStatus.set(1).start.pass(0,this.fxStatus).delay(3500)},_clickPlayerButton:function(b){var a=b.get("id");switch(a){case"btnPlayID":this.play();break;case"btnStopID":this.stop();break;case"btnMuteID":this.mute();break;case"btnVoluID":this.setVolume(10);break;case"btnVoldID":this.setVolume(-10);break;case"btnListID":case"btnCloseTracklistID":this.toggleTracklist();break;case"btnTuneID":if(this.currentItem<1){return false}this.currentItem=0;this.load();break;case"btnOpenID":this.openWindow();break;case"btnQuitID":this.close();break;default:return false}},setVolume:function(d){var a=document.id("btnVoluID");var e=document.id("btnVoldID");var c=this.player.getConfig().volume;if(d>0){var b=Math.min(100,c+d);var f=b<100?1:0.35}else{var b=Math.max(0,c+d);var f=b>0?1:0.35}a.set("opacity",(d>0)?f:1);e.set("opacity",(d>0)?1:f);if(c==b){return false}this.player.sendEvent("VOLUME",b)},requestTrack:function(){this.trackRequest=this.trackRequest||new Shoutcast(document.id("tracksID"),{limit:this.options.limit,covers:2,loader:this.options.loader,lightbox:this.options.lightbox,onCallback:function(){if(this.contentSlides){this.contentSlides.show(0);this.contentSlides.slides.each(function(d,b){var c=d.getFirst();if(!$defined(c.retrieve("cover"))){return false}(c.retrieve("cover")==false)?this._cover(false,b+1):this._cover(true,b+1)}.bind(this))}this._highlightCurrent(0);if(!this.options.lightbox){return false}var a=$$(".cover a");LB.addAnchors(a)}.bind(this)})},requestCover:function(a){if(this.currentItem>0){return false}if(!a){return false}if(this.trackRequest){this.trackRequest.pause()}var c=this.contentSlides.slides[a].getFirst();if($defined(c.retrieve("cover"))){return false}var b=c.retrieve("track");new Shoutcast(c,{limit:1,covers:1,loader:this.options.loader,track:b,trackIndex:a,lightbox:this.options.lightbox,onCallback:function(){if(!c.retrieve("cover")){this.showStatus("cover not found");this._cover(false,a+1);return false}this._cover(true,a+1);if(!this.options.lightbox){return false}var d=$$(".cover a");LB.addAnchors(d)}.bind(this)})},load:function(){if(!this.player){return false}if(this.currentItem==this.previousItem){return false}if(this.currentItem>0&&this.trackRequest){this.trackRequest.stop()}if(this.currentItem==0&&this.previousItem>0||this.currentItem>0&&this.previousItem<1){if(!this.mediaFiles){return false}if(this.tracklistContainerEl.isVisible()&&this.fxRevealTracklist){this.fxRevealTracklist.dissolve()}this.contentSlides=null;this._prepareContentSlides();this._updateContentSlides()}if(this.contentSlides){this.contentSlides.show(this._itemToIndex())}this.player.sendEvent("ITEM",this.currentItem);this.player.sendEvent("STOP");if(this.playerEl.isVisible()&&this.options.autoplay){this.play()}if(!this.playerEl.isVisible()){this.open()}},play:function(){this.player.sendEvent("PLAY");this.btnPlay.toggleClass("on")},stop:function(){if(!this.player){return false}this.player.sendEvent("STOP");this.btnPlay.removeClass("on");this.resetTimeSlider()},mute:function(){var a=this.player.getConfig().mute?null:"true";this.player.sendEvent("MUTE",a)},toggleTracklist:function(){var a=this.tracklistContainerEl;this.fxRevealTracklist=this.fxRevealTracklist||new Fx.Reveal(a,{onComplete:function(){this._focus(a);a.move({relativeTo:this.playerEl,position:"bottomRight",offset:{x:-a.getSize().x,y:30}})}.bind(this)});this.fxRevealTracklist.toggle()},createWindow:function(a){var a=this.options.popup;var c="playerWin";var b="";b+="menubar=no,personalbar=no,titlebar=no,toolbar=no,resizable=no,scrollbars=no,location=no,status=no,height=175,width=350,top=100,left=100";this.playerPopup=window.open(a,c,b);this.playerPopup.focus()},openWindow:function(){this.close();if(this.playerPopup&&!this.playerPopup.closed){this.playerPopup.focus();if(this.currentState=="PLAYING"){this.playerPopup.Player.sendEvent("PLAY")}}else{this.createWindow()}},open:function(){var d=this.playerEl;if(this.playerPopup&&!this.playerPopup.closed){this.playerPopup.close()}if(this.player){this.player.sendEvent("VOLUME",this.options.volume);if(this.options.autoplay){this.play()}}if(this.currentItem==0){this.trackRequest?this.trackRequest.start():this.requestTrack()}this.showSlideCounter();if(!this.playerDockEl){this.playerEl.setOpacity(this.options.opacity);return false}if(d.isVisible()){this._focus(d);return false}$$(this.playerDockEl,document.id("toggleStreamerID")).addClass("on");var b=310;var e=document.id("page").getCoordinates();var a=e.left+e.width-b;var f=document.id("banner-toggle").getFirst().hasClass("off")?45:40;var c=this.playerDockEl.getPosition();this.fxPlayer.start({opacity:[0,this.options.opacity],height:[0,135],width:[0,310],top:[c.y,f],left:[c.x,a]})},close:function(){if(this.tracklistContainerEl.isVisible()){this.fxRevealTracklist.dissolve()}this.currentItem=0;this.load();this.stop();if(!this.tracklistExtEl&&this.trackRequest){this.trackRequest.stop()}if(!this.playerDockEl){return false}$$(this.playerDockEl,document.id("toggleStreamerID")).removeClass("on");var a=this.playerDockEl.getPosition();this.fxPlayer.start({opacity:[0],height:[0],width:[0],top:[a.y],left:[a.x]})},toggle:function(){if(!this.playerDockEl){return false}this.playerEl.isVisible()?this.close():this.open()},resetTimeSlider:function(){if($defined(this.timeSlider)){this.timeSlider.set(0)}var a=this.secondsToTime(0);var b=(this.currentItem==0)?this.secondsToTime(this.options.duration.toInt()):this.secondsToTime(0);this.btnPlay.removeClass("on");document.id("timeSliderPositionID").set("text",a.h+":"+a.m+":"+a.s);document.id("timeSliderDurationID").set("text",b.h+":"+b.m+":"+b.s)},secondsToTime:function(c){var b=new Date(c*1000);var e=b.getUTCHours();var a=b.getUTCMinutes();var d=b.getUTCSeconds();var f={h:e<10?"0"+e:e,m:a<10?"0"+a:a,s:d<10?"0"+d:d};return f},_prepareMediaFiles:function(){var a=this._mediaFilesInit();this._mediaFileRequest(a)},_mediaFilesInit:function(){var a=this._getMediaFiles();a.each(function(c,b){c.store("slideIndex",b);c.addEvent("click",function(d){d.stop();this.currentItem=b+1;this.load()}.bind(this))}.bind(this));return a},_mediaFileRequest:function(a){var b=a.map(function(d){var e=window.location.protocol+"//"+window.location.host+"/";var c=d.get("href");if(c.test(window.location.href)){c=c.replace(window.location.href,"")}if(c.test(e)){c=c.replace(e,"")}if(c.test("./")){c=c.replace("./","")}return c});if(b.length<1){return false}b=JSON.encode(b);this.filesRequest=new Request.JSON({method:"post",url:this.options.path+"scripts/get_filedata.php",onSuccess:function(c){if($type(c)!="array"){return false}this.mediaFiles=c}.bind(this)}).post({files:b})},_prepareContentSlides:function(){var d=this.options.limit;var c="track";if(this.currentItem>0){this.resetTimeSlider();d=this.mediaFiles?this.mediaFiles.length:0;c="track media"}if(d<1){return false}this._hideButtons(this.btnsContent);var e=this.playerEl.getElement(".bd");e.empty();var f=new Element("div",{id:"tracksID","class":"tracks",styles:{height:75,width:290}}).inject(e);var b=this._getTrackHtml();for(i=0;i<d;i++){var a=new Element("div",{"class":c,html:b,styles:{height:75,width:280,margin:"0 5px 0 5px"}}).inject(f);if(this.currentItem==0){a.store("cover",false)}}document.id("panelTotalID").set("text",d);if(d<2){document.id("panelIndexID").set("text",1);document.id("panelTotalID").set("text",1);return false}this._showButtons(this.btnsContent);document.id("btnNextID").removeEvents("click");document.id("btnPrevID").removeEvents("click");this.contentSlides=new SimpleSlideShow.Carousel(f,{slides:f.getElements(".track"),startIndex:0,nextLink:"btnNextID",prevLink:"btnPrevID",crossFadeOptions:{duration:750},currentIndexContainer:"panelIndexID",maxContainer:"panelTotalID",onSlideDisplay:function(g){this.requestCover(g);this._highlightCurrent(g);this.showSlideCounter();if(this.currentItem<1){return false}if(this.currentItem!=g+1){this.currentItem=g+1;this.load()}}.bind(this)})},_updateContentSlides:function(){if(this.currentItem>0){if(!this.mediaFiles){return false}var a=this.mediaFiles;var b=new HtmlTable({properties:{border:0,cellspacing:0},zebra:true});b.setHeaders(["<!-- Number -->","Datum","Titel","Gr&ouml;sse"]);this.tracklistEl.empty().adopt(b);a.each(function(g,c){var f=document.id("tracksID").getElements(".track")[c];f.empty();var e="";e+='<span class="time">'+g.date+"</span><br />";e+='<span class="title">'+g.track+"</span><br />";e+='<span class="time">'+g.size+"</span><br />";var h=new Element("div",{"class":"descr",html:e}).inject(f);var d=b.push([c+1,g.date,g.track,g.size]);d.tr.store("slideIndex",c)});this._highlightCurrent(0);this._showButtons("#btnTuneID");this._hideButtons("#btnOpenID")}else{this._showButtons("#btnOpenID");this._hideButtons("#btnTuneID");this.trackRequest?this.trackRequest.reset("tracksID"):this.requestTrack()}},_createPlayer:function(){var c="swfObjectID";var d=new Element("div",{id:c,"class":"flash-container"}).inject(this.element,"bottom");var b=new Asset.javascript(this.options.path+"js/player/swfobject.js",{onload:function(){var h="9.0.124";if(!swfobject.hasFlashPlayerVersion(h)){return false}var g=this.options.path+"js/player/player.swf";var j={file:""};var k={allowfullscreen:"true",allowscriptaccess:"always"};var e={id:"jwplayerID",name:"jwplayerID"};swfobject.embedSWF(g,c,"1","1",h,false,j,k,e)}.bind(this)})},_ready:function(d){this.player=document.id(d.id);if(!this.player){return false}var c=this._buildPlaylist();this.currentItem=0;this.player.sendEvent("LOAD",c);if(c.length>1){this._prepareMediaFiles()}document.id("swfContainerID").setStyles({visibilty:"hidden","margin-left":"-7000px"});if(this.player.getConfig().mute){this.btnMute.addClass("on")}var b=$$("#btnVoldID, #btnVoluID");b.set("opacity",1);this._showButtons(this.btnsPlayer);this._hideButtons("#btnTuneID");this.resetTimeSlider();this._addControllerListeners();this._addModelListeners();this.fireEvent("onReady",this.player);if(!this.playerDockEl&&this.options.autoplay){this.play();return false}var a=document.id("toggleStreamerID");if(!a){return false}a.show();a.getFirst().addEvent("click",function(f){f.stop();this.toggle()}.bind(this))},_getMediaFiles:function(){return $$("a[href$=mp3]").filter(function(a){return a.get("href").test(window.location.host)})},_buildPlaylist:function(){var b="CRS";var e="Country Radio Switzerland";var f="Country Radio Switzerland";var a="sound";var d=new Array();d[0]={author:b,description:e,title:f,type:a,file:this.options.stream,duration:this.options.duration};var c=this._getMediaFiles();c.each(function(j,h){var g=j.get("href");if(g.test("./")){g=g.replace("./","")}if(g.test(window.location.href)){g=g.replace(window.location.href,"")}d.push({author:b,description:e,title:f,type:a,file:g,duration:0})});return d},_showButtons:function(b){var a=$$(this.btnsDisable);var b=$$(b).filter(function(d,c){return !a.contains(d)});$$(b).show()},_hideButtons:function(a){$$(a).hide()},_getTrackHtml:function(){var a="";a+='<div class="descr">';a+='	<div class="artist">';a+="		CRS";a+="	</div>";a+='	<div class="title">';a+="		Country Radio Switzerland";a+="	</div>";a+="</div>";return a},_getLoader:function(){if(!this.options.loader){return false}if($defined(document.id("loaderID"))){return document.id("loaderID")}return new Element("div",{id:"loaderID","class":"loader"}).inject(this.playerEl,"top")},_focus:function(a){var c=a.getStyle("z-index").toInt();if(a==this.playerEl){var b=this.tracklistContainerEl.getStyle("z-index").toInt();if(c>b){return false}this.tracklistContainerEl.setStyle("z-index",b-1)}else{var b=this.playerEl.getStyle("z-index").toInt();if(c>b){return false}this.playerEl.setStyle("z-index",b-1)}a.setStyle("z-index",b)},_cover:function(c,a){var b=this.tracklistEl.getElements("tr");c?b[a].addClass("found"):b[a].addClass("not-found")},_itemToIndex:function(){if(this.currentItem==0){return 0}return this.currentItem-1}});function playerReady(a){Player._ready(a)};