var EasySlideshow=new Class({Implements:[Options,Events],options:{useNav:true,autoPlay:false,interval:4,fxInDuration:600,fxOutDuration:300,stackClass:"eSlide-stack",playButtonStartText:"",playButtonStopText:"",playButtonOverlayClass:"eSlide-play-overlay",playButtonOverlayClassHovered:"eSlide-play-overlay_hovered",playButtonOverlayPlayingClass:"eSlide-play-overlay_isplaying",playButtonOverlayPlayingClassHovered:"eSlide-play-overlay_isplaying_hovered",playButtonClass:"eSlide-play",playButtonPlayingClass:"eSlide-play_isplaying",stepsWrapperClass:"eSlide-steps",stepHoveredClass:"eSlide-step_hovered",stepSelectedClass:"eSlide-step_selected",imageCurrentClass:"eSlide-image_current",clearClass:"clearfloat"},initialize:function(a,b){if(!a){return}this.setOptions(b);this.options.interval=this.options.interval*1000;this.eslide=$(a);this.stack=this.eslide.getElement("."+this.options.stackClass).setStyle("position","relative");this.images=this.stack.getElements("img");if(!this.images){return}this.numOfImages=this.images.length;this.index=0;this.nextImage=this.images[0];this.isPlaying=this.options.autoPlay;this.playButtonMode=1;this.playButton=null;this.navSteps=null;if(this.images.length>0){this.setup()}},setup:function(){if(!Element.Events.pressEnter){Element.Events.pressEnter={base:"keydown",condition:function(a){return(a.key=="enter")}}}this.images.each(function(b,a){if(a==0){b.addClass(this.options.imageCurrentClass)}if(!b.hasClass(this.options.imageCurrentClass)){b.setOpacity(0)}b.setStyles({position:"absolute",top:0,left:0})}.bind(this));if(this.numOfImages<=1){this.options.useNav=false;if(this.options.playButtonOverlayClass!=""&&this.eslide.getElement("div."+this.options.playButtonOverlayClass)){this.eslide.getElement("div."+this.options.playButtonOverlayClass).destroy()}}if(this.options.useNav){this.buildNav()}if(this.numOfImages>1&&this.options.autoPlay){this._startAutoPlay.delay(this.options.interval,this)}},buildNav:function(){var e=this;var c=this._toggleAutoPlay.bindWithEvent(this);if(this.options.playButtonOverlayClass!=""&&this.eslide.getElement("div."+this.options.playButtonOverlayClass)){this.playButtonMode=2;this.playButton=this.eslide.getElement("div."+this.options.playButtonOverlayClass);this.playButton.addEvents({mouseenter:function(){if(this.hasClass("playButtonOverlayPlayingClass")){this.addClass("playButtonOverlayPlayingClassHovered")}else{this.addClass("playButtonOverlayClassHovered")}if(e.isPlaying){this.setOpacity(1)}},mouseleave:function(){if(this.hasClass("playButtonOverlayPlayingClass")){this.removeClass("playButtonOverlayPlayingClassHovered");this.setOpacity(0)}else{this.removeClass("playButtonOverlayClassHovered");if(e.isPlaying){this.setOpacity(0)}else{this.setOpacity(1)}}},pressEnter:c,mousedown:c})}else{this.playButtonMode=1;this.playButton=new Element("a",{href:"javascript:void(0);","class":this.options.playButtonClass,events:{pressEnter:c,mousedown:c}});var d=new Element("span").set("html",this.options.playButtonStartText).inject(this.playButton);this.playButton.inject(this.eslide,"bottom")}this.navSteps=new Array();var b=new Element("ul",{"class":this.options.stepsWrapperClass});this.images.each(function(j,f){var g=this.options.stepHoveredClass;var h=function(){this.index=f;var i=this.nextImage;var k=this.images[f];if(this.isPlaying){this._stopAutoPlay()}if(i!=k){this._updateSteps();this._playFade(i,k)}}.bindWithEvent(this);this.navSteps[f]=new Element("li",{"class":(f==this.index)?this.options.stepSelectedClass:"",html:"<span>"+(f+1)+"</span>",events:{pressEnter:h,mousedown:h,mouseenter:function(){this.addClass(g)},mouseleave:function(){this.removeClass(g)}}}).inject(b,"bottom")}.bind(this));b.inject(this.eslide,"bottom");var a=new Element("div",{"class":this.options.clearClass}).inject(this.eslide,"bottom")},_toggleAutoPlay:function(){if(this.isPlaying==false){this._startAutoPlay()}else{this._stopAutoPlay()}},_startAutoPlay:function(){this.isPlaying=true;if(this.playButton!=null){if(this.playButtonMode==1){this.playButton.addClass(this.options.playButtonPlayingClass);this.playButton.getElement("span").set("html",this.options.playButtonStopText)}else{if(this.playButtonMode==2){this.playButton.addClass(this.options.playButtonOverlayPlayingClass);this.playButton.setOpacity(0)}}}this._autoPlayNext();this.interval=this._autoPlayNext.periodical(this.options.interval,this)},_stopAutoPlay:function(){this.isPlaying=false;if(this.playButton!=null){if(this.playButtonMode==1){this.playButton.removeClass(this.options.playButtonPlayingClass);this.playButton.getElement("span").set("html",this.options.playButtonStartText)}else{if(this.playButtonMode==2){this.playButton.removeClass(this.options.playButtonOverlayPlayingClass);this.playButton.setOpacity(1)}}}$clear(this.interval)},_autoPlayNext:function(){var a=this.stack.getElement("img."+this.options.imageCurrentClass);if(this.index>=this.numOfImages-1){this.index=-1}this.index++;var b=this.images[this.index];this._updateSteps();this._playFade(a,b)},_playFade:function(d,g){var b=this.options.imageCurrentClass;var a=this.options.fxInDuration;var c=this.options.fxOutDuration;this.images.each(function(h){h.removeClass(b)});g.addClass(b);this.nextImage=g;var e=new Fx.Morph($(g),{duration:a,transition:new Fx.Transition(Fx.Transitions.Sine).easeIn});var f=new Fx.Morph($(d),{duration:c,transition:new Fx.Transition(Fx.Transitions.Sine).easeOut,onComplete:function(h){e.start({opacity:1})}}).start({opacity:0})},_updateSteps:function(){if(this.navSteps!=null){this.navSteps.each(function(a){a.removeClass(this.options.stepSelectedClass)}.bind(this));this.navSteps[this.index].addClass(this.options.stepSelectedClass)}}});