NBN.SlideShow=new Class({Identifier:"NBN.SlideShow",Implements:[Events,Options,NBN.ActionManager],options:{delay:15000,stopAt:25,onButtonClick:$empty},initialize:function(B,A){this.element=$(B);if(this.element==null){return }this.slideStrips=this.element.getElements(".slideStrip");if(this.slideStrips.length<=1){if(this.slideStrips.length==1){this.slideStrips[0].setStyle("display","block")}return }this.setOptions(A);this.buildControls();this.currentSlide=$(this.element.getElement(".showThisSlide"));if(this.currentSlide==null){this.currentSlide=this.controls[0].retrieve("slideStrip");this.currentSlide.addClass("showThisSlide");this.controls[0].addClass("selectedButton");this.selectedButton=this.controls[0]}this.initEffects();this.initCtrlEvents();if(this.options.playSlides){this.autoPlay()}},initEffects:function(){this.slideStrips.each(function(A){if(!A.hasClass("showThisSlide")){A.fade("hide");A.setStyle("display","block")}})},initCtrlEvents:function(){this.controls.each(function(B,A){B.addEvent("click",this.buttonClick.bindWithEvent(this))}.bind(this))},buildControls:function(){if(this.slideStrips.length==0){return }var A=new Element("ul",{"class":"slideshow-ctrls"});this.slideStrips.each(function(F,B){var E="slideshow-ctrl-button";var D=false;if(F.hasClass("showThisSlide")){E+=" selectedButton";D=true}var C=new Element("li",{"class":E,html:B+1});C.store("slideStrip",F);if(D){this.selectedButton=C}A.adopt(C)}.bind(this));A.getFirst("li").addClass("firstButton");A.getLast("li").addClass("lastButton");this.element.adopt(A);this.controls=A.getElements("li")},buttonClick:function(A){A.stop();var B=$(A.target);this.stopPlayer();if(B.hasClass("selectedButton")){return }this.updateButtonState(B);this.updateSlide(B.retrieve("slideStrip"));this.fireEvent("onButtonClick",[B])},updateSlide:function(A){if(this.currentSlide){this.currentSlide.fade("out")}A.fade("in");this.currentSlide=A},updateButtonState:function(A){if(this.selectedButton){this.selectedButton.removeClass("selectedButton")}A.addClass("selectedButton");this.selectedButton=A},autoPlay:function(){if(this.element==null||this.slideStrips.length<=1){return }this.playCount=0;this.playerTimer=this.playSlide.periodical(this.options.delay,this)},playSlide:function(){if(this.playCount==this.options.stopAt){this.stopPlayer()}var A=this.selectedButton.getNext();if(A==null){A=this.controls[0]}this.updateButtonState(A);this.updateSlide(A.retrieve("slideStrip"));this.playCount++},stopPlayer:function(){$clear(this.playerTimer)}});