Element.implement({isVisible:function(){return this.getStyle("display")!="none"},toggle:function(){return this[this.isVisible()?"hide":"show"]()},hide:function(){var B;try{if("none"!=this.getStyle("display")){B=this.getStyle("display")}}catch(A){}this.store("originalDisplay",B||"block");this.setStyle("display","none");return this},show:function(A){original=this.retrieve("originalDisplay")?this.retrieve("originalDisplay"):this.get("originalDisplay");this.setStyle("display",(A||original||"block"));return this},swapClass:function(A,B){return this.removeClass(A).addClass(B)},fxOpacityOk:function(){return !Browser.Engine.trident4}});var SimpleCarousel=new Class({Implements:[Options,Events],options:{slideInterval:4000,transitionDuration:700,startIndex:0,buttonOnClass:"selected",buttonOffClass:"off",rotateAction:"none",rotateActionDuration:100,autoplay:true},initialize:function(B,D,E,C){this.container=$(B);var A=this.container.retrieve("SimpleCarouselInstance");if(A){return A}this.container.store("SimpleCarouselInstance",this);this.setOptions(C);this.container.addClass("hasCarousel");this.slides=$$(D);this.buttons=$$(E);this.createFx();this.showSlide(this.options.startIndex);if(this.options.autoplay){this.autoplay()}if(this.options.rotateAction!="none"){this.setupAction(this.options.rotateAction)}return this},toElement:function(){return this.container},setupAction:function(A){this.buttons.each(function(C,B){$(C).addEvent(A,function(){this.slideFx.setOptions(this.slideFx.options,{duration:this.options.rotateActionDuration});if(this.currentSlide!=B){this.showSlide(B)}this.stop()}.bind(this))},this)},createFx:function(){if(!this.slideFx){this.slideFx=new Fx.Elements(this.slides,{duration:this.options.transitionDuration})}this.slides.each(function(A){A.setStyle("opacity",0)})},showSlide:function(B){var A={};this.slides.each(function(C,D){if(D==B&&D!=this.currentSlide){$(this.buttons[D]).swapClass(this.options.buttonOffClass,this.options.buttonOnClass);A[D.toString()]={opacity:1}}else{$(this.buttons[D]).swapClass(this.options.buttonOnClass,this.options.buttonOffClass);A[D.toString()]={opacity:0}}},this);this.fireEvent("onShowSlide",B);this.currentSlide=B;this.slideFx.start(A);return this},autoplay:function(){this.slideshowInt=this.rotate.periodical(this.options.slideInterval,this);this.fireEvent("onAutoPlay");return this},stop:function(){$clear(this.slideshowInt);this.fireEvent("onStop");return this},rotate:function(){var A=this.currentSlide;next=(A+1>=this.slides.length)?0:A+1;this.showSlide(next);this.fireEvent("onRotate",next);return this}});
