var Stars=Class.create();Stars.prototype={initialize:function(options){this.options={bindField:null,maxRating:5,container:null,imgPath:'/images/',imgRate:'',imgYourRate:'your_rating.gif',imgOn:'star_on.gif',imgOff:'star_off.gif',imgRateOn:'star_on_r.gif',imgRateOff:'star_off_r.gif',actionURL:null,initialRate:0,locked:false,ratingTextId:'rating_text'};Object.extend(this.options,options);this.yourRate=0;this.stars=[];this.locked=this.options.locked;this.infoImg=new Image();this.starSrc={empty:this.options.imgPath+this.options.imgOff,full:this.options.imgPath+this.options.imgOn,rate_empty:this.options.imgPath+this.options.imgRateOff,rate_full:this.options.imgPath+this.options.imgRateOn};this.display();},display:function(){this.getContainer();var p=document.createElement('p');p.className='stars';if(this.locked){p.className+='_r';};if(this.options.imgRate!=''){p.appendChild(this.setInfoImg());}
p.appendChild(this.buildStars());this.container.appendChild(p);this.setInitialState();},setInfoImg:function(){if(this.locked){this.infoImg.src=this.options.imgPath+this.options.imgYourRate;this.infoImg.alt='';}else{this.infoImg.src=this.options.imgPath+this.options.imgRate;this.infoImg.alt='';}
return this.infoImg;},getContainer:function(){if(this.options.container){this.container=$(this.options.container);}else{var containerId='starsContainer.'+Math.random(0,100000);document.write('<p class="rate" id="'+containerId+'"></p>');this.container=$(containerId);}},buildStars:function(){var span=document.createElement('span');for(var i=0;i<this.options.maxRating;i++){var star=new Image();star.src=this.starSrc.empty;if(!this.locked){star.style.cursor='pointer';}
if(!this.locked){Event.observe(star,'mouseover',this.starMouseOver.bind(this));Event.observe(star,'click',this.starMouseClick.bind(this));Event.observe(star,'mouseout',this.starMouseOut.bind(this));}
this.stars.push(star);span.appendChild(star);}
return span;},starMouseOver:function(e){if(this.locked){return;}
if(!e)e=window.event;var star=Event.element(e);var rating_text='';var markFull=true;for(var i=0;i<this.stars.length;i++){this.stars[i].src=markFull?this.starSrc.full:this.starSrc.empty;if(this.stars[i]==star){markFull=false;switch(i+1){case 1:rating_text='Needs Work';break;case 2:rating_text='Okay';break;case 3:rating_text='Really good';break;case 4:rating_text='Totally awesome!';break;case 5:rating_text='Best thing EVER!';break;}
var rating_text_el=$(this.options.ratingTextId);if(rating_text_el){rating_text_el.innerHTML=rating_text;}}}},starMouseClick:function(e){if(this.locked){return;}
if(!e)e=window.event;var star=Event.element(e);for(var i=0;i<this.stars.length;i++){if(this.stars[i]==star){this.yourRate=i+1;this.setState();break;}}},starMouseOut:function(e){if(this.locked){return;}
this.setStarsSrc(this.options.initialRate);var rating_text_el=$(this.options.ratingTextId);if(rating_text_el){rating_text_el.innerHTML=' ';}},setStarsSrc:function(rateValue){var prefix=this.locked?"rate_":"";for(var i=1;i<this.stars.length+1;i++){this.stars[i-1].src=(i<=rateValue+0.5)?eval("this.starSrc."+prefix+"full"):eval("this.starSrc."+prefix+"empty");}},sendAjaxRequest:function(){if(this.options.actionURL){new Ajax.Request(this.options.actionURL+"&rate="+this.yourRate,{method:'get'});}},setInitialState:function(){this.setStarsSrc(this.options.initialRate)
this.setWidgetValue(this.options.initialRate);},setState:function(){var markFull=true;for(var i=0;i<this.stars.length;i++){this.stars[i].src=markFull?this.starSrc.full:this.starSrc.empty;if(i+1==this.yourRate){markFull=false;}}
this.sendAjaxRequest();this.locked=true;this.setInfoImg();this.setStarsSrc(this.yourRate);this.setWidgetValue(this.yourRate);},setWidgetValue:function(rate){if(this.options.bindField){$(this.options.bindField).value=rate;}}};var JWPlayer=Class.create({initialize:function(containerID,options){this.options=options;this.containerID=containerID;this.base=this.options.base||"http://www.kidzbop.com";this.skin=this.options.skin||this.base+"/flash/nacht.zip";this.autostart=this.options.autostart||false;this.playlist=this.options.playlist||[];this.playerId=this.options.playerId||'jw_player';JWPlayer.prototype.image=this.options.image||'';this.dimensions={width:this.options.width||320,height:this.options.height||275};this.createPlaylist();this.createPlayer();}});JWPlayer.fn=JWPlayer.prototype;JWPlayer.fn.playlists={};JWPlayer.fn.video_ad=null;JWPlayer.fn.already_called_tracking_pixels={};JWPlayer.fn.createPlayer=function(){var flashvars={id:this.playerId,autostart:this.autostart,playlist:"none",playlistsize:"0",shuffle:false,repeat:"list",skin:this.skin,stretching:"exactfit",controlbar:"bottom",plugins:"gapro-1","gapro.accountid":"UA-10269482-1"};var params={allowfullscreen:true,allowscriptaccess:"always",wmode:"transparent",base:this.base};var attributes={id:this.playerId,name:this.playerId};swfobject.embedSWF(this.base+"/flash/jw_player.swf",this.containerID,this.dimensions.width,this.dimensions.height,"9.0.115",false,flashvars,params,attributes);};JWPlayer.fn.drawVideoAdvert=function(video_adverts,overall_freq_cap){if(overall_freq_cap==0||this.getOverallFreqCapCookieValue()<=overall_freq_cap){var ads=[];video_adverts.each(function(ad){if(ad['display_limit']==0||this.getAdCookieValue(ad['video_id'])<=ad['display_limit']){ads.push(ad);}}.bind(this));if(ads.length>0){return ads[Math.floor(Math.random()*ads.length)];}}
return null;};JWPlayer.fn.createPlaylist=function(){var list=new Array();this.playlist.each(function(e){list.push(e);}.bind(this));if(this.video_ad){this.updateAdCookieValue(this.video_ad['video_id']);setTimeout(function(){$$('body')[0].insert(this.video_ad['tracking_pixel']);}.bind(this),1000);list.unshift(this.video_ad);}
this.playlists[this.playerId]=list;};JWPlayer.fn.getAdCookieValue=function(video_id){var cookie_name='v_ad_'+video_id;var cookie=parseInt(Cookie.getCookie(cookie_name));return isNaN(cookie)?1:cookie+1;};JWPlayer.fn.getOverallFreqCapCookieValue=function(){var cookie_name='v_ad_overall';var cookie=parseInt(Cookie.getCookie(cookie_name));return isNaN(cookie)?1:cookie+1;};JWPlayer.fn.updateAdCookieValue=function(video_id){var cookie_name='v_ad_'+video_id;var date=new Date();var time_to_midnight=((23-date.getHours())*60+(60-date.getMinutes()))/(24*60);Cookie.setCookie(cookie_name,this.getAdCookieValue(video_id),time_to_midnight,'/');Cookie.setCookie('v_ad_overall',this.getOverallFreqCapCookieValue(),time_to_midnight,'/');};JWPlayer.fn.loadPlaylist=function(object_id){this.player=this.loadPlayerObject(object_id);this.player.sendEvent('LOAD',this.playlists[object_id]);};JWPlayer.fn.loadPlayerObject=function(object_id){return $(object_id);};JWPlayer.fn.addEvents=function(){this.player.addViewListener('PLAY','JWPlayer.fn.adRedirect');this.player.addModelListener('STATE','JWPlayer.fn.adMessage');this.player.addModelListener('TIME','JWPlayer.fn.playbackTracking');};JWPlayer.fn.playbackTracking=function(e){var item=this.getCurrentPlayingItem();if(item['ad']){if(!this.already_called_tracking_pixels[item['video_id']]){this.already_called_tracking_pixels[item['video_id']]={};}
var percent=e['position']/e['duration'];var place=0;[0,25,50,75,100].each(function(step){place=step==100?98:step;if(percent*100>=place&&item['tracking_pixel_'+step]&&!this.already_called_tracking_pixels[item['video_id']][step]){this.already_called_tracking_pixels[item['video_id']][step]=true;$$('body')[0].insert(item['tracking_pixel_'+step]);}}.bind(this));}};JWPlayer.fn.adRedirect=function(e){var item=this.getCurrentPlayingItem();var state=this.player.getConfig().state;if(!!item['ad']&&!!item['link']&&(state!='IDLE')&&(state!='COMPLETED')){window.location=item['link'];}};JWPlayer.fn.getCurrentPlayingItem=function(){return this.player.getPlaylist()[this.player.getConfig().item];};JWPlayer.fn.adMessage=function(e){var item=this.getCurrentPlayingItem();if(e.newstate=='PLAYING'&&item['ad']){this.player.up().insert('<div class="player_ad">Advertisement - Your content will start after this message.</div>');}else{this.player.up().select('.player_ad').each(function(e){e.remove();});}};playerReady=function(e){JWPlayer.fn.loadPlaylist(e['id']);JWPlayer.fn.addEvents(e['id']);};var Carousel=Class.create();Carousel.prototype={carousel_in_progress:false,updating_items:false,nextButton:null,prevButton:null,carouselElement:null,step:null,item_width:null,total_number_of_items:null,loaded_number_of_items:null,current_position:0,fetch_url:null,initialize:function(options){this.nextButton=$(options.next_button_id);this.prevButton=$(options.prev_button_id);this.carouselElement=$(options.carousel_element_id);this.step=options.step;this.item_width=options.item_width;this.total_number_of_items=options.total_number_of_items;this.loaded_number_of_items=options.loaded_number_of_items;this.fetch_url=options.fetch_url;this.initializeButtons();},initializeButtons:function(){this.showOrHideButtons();this.nextButton.onclick=function(){this.moveCarouselNext();return false;}.bind(this);this.prevButton.onclick=function(){this.moveCarouselPrev();return false;}.bind(this);},moveCarouselNext:function(){var step=this.current_position+this.step+this.step>this.loaded_number_of_items?this.loaded_number_of_items-this.current_position-this.step:this.step;this.moveCarousel(step);},moveCarouselPrev:function(){var step=-1*(this.current_position-this.step<0?this.current_position:this.step);this.moveCarousel(step);},moveCarousel:function(step){if(this.carousel_in_progress===false&&step!=0){this.carousel_in_progress=true;this.current_position+=step;this.loadElements();new Effect.Move(this.carouselElement,{x:-1*step*this.item_width,y:0,mode:'relative',duration:0.5,transition:Effect.Transitions.sinoidal,afterFinish:function(){this.showOrHideButtons();this.carousel_in_progress=false;}.bind(this)});}},showOrHideButtons:function(){if(this.current_position>0){this.prevButton.show();}else{this.prevButton.hide();}
if(this.current_position+this.step<this.loaded_number_of_items){this.nextButton.show();}else{this.nextButton.hide();}},canUpdateItems:function(){return this.updating_items===false&&this.fetch_url&&(this.current_position+2*this.step>=this.loaded_number_of_items)&&this.loaded_number_of_items<this.total_number_of_items;},loadElements:function(){if(this.canUpdateItems()){this.updating_items=true;var url=this.fetch_url+'&offset='+this.loaded_number_of_items;new Ajax.Request(url,{method:'get',onSuccess:function(response){this.carouselElement.insert(response.responseText);this.loaded_number_of_items=this.carouselElement.childElements().size();this.carouselElement.style.width=(this.loaded_number_of_items*(this.item_width+2))+'px';this.showOrHideButtons();}.bind(this),onComplete:function(){this.updating_items=false;}.bind(this)});}}}
Kidzbop.AudioPlayer=Class.create({loop:false,playing:false,initialize:function(){},setPlayer:function(flashPlayer){this.flashPlayer=flashPlayer;},onInit:function(){},onUpdate:function(){if(this.isPlaying=="false"){if(this.loop&&this.playing){this.playSong();}else{this.stop();}}},play:function(track){this.stop();this.playing=true;this.currentTrack=track;this.playSong();this.currentTrack.play();},playSong:function(){if(this.flashPlayer){this.flashPlayer.SetVariable("method:setUrl",this.currentTrack.url);this.flashPlayer.SetVariable("method:play","");this.flashPlayer.SetVariable("enabled","true");}},stop:function(){if(this.currentTrack!=null){this.currentTrack.stop();}
this.playing=false;if(this.flashPlayer){this.flashPlayer.SetVariable("method:stop","");}}});Kidzbop.Track=Class.create({initialize:function(url,albumName,trackName,playButton,stopButton){this.url=url;this.albumName=albumName;this.trackName=trackName;this.playButton=playButton;this.stopButton=stopButton;},play:function(){if(this.playButton){this.playButton.hide();var play_number=this.playButton.up('div.play_number');if(play_number){play_number.addClassName('show_play');}}
if(this.stopButton){this.stopButton.show();}
if(typeof(pageTracker)!='undefined'){pageTracker._trackEvent("Cd Albums",this.albumName,this.trackName+' play event');}},stop:function(){if(this.stopButton){this.stopButton.hide();}
if(this.playButton){this.playButton.show();var play_number=this.playButton.up('div.play_number');if(play_number){play_number.removeClassName('show_play');}}}});var audioPlayer=new Kidzbop.AudioPlayer();