var catalogCarousel=new Class({initialize:function(A,B){this.setOptions({onRotate:Class.empty,onStop:Class.empty,onAutoPlay:Class.empty,onShowSlide:Class.empty,panelSelector:".panel",slidesSelector:".jbslide",buttonsSelector:".button",buttonNextSelector:".button-next",buttonPrevSelector:".button-prev",slideInterval:4000,transitionDuration:700,transitionEffect:"scroll",startIndex:0,buttonOnClass:"selected",buttonOffClass:"off",rotateAction:"none",rotateActionDuration:100,rotateActionEffect:"scroll",autoplay:"on"},B);this.container=$(A);this.panel=this.container.getElement(this.options.panelSelector);this.slides=this.container.getElements(this.options.slidesSelector);this.buttons=this.container.getElements(this.options.buttonsSelector);this.buttonNext=this.container.getElement(this.options.buttonNextSelector);this.buttonPrev=this.container.getElement(this.options.buttonPrevSelector);this.currentSlide=null;if(this.options.transitionEffect=="crossfade"||this.options.rotateActionEffect=="crossfade"){this.fxCrossfade=new Array();this.slides.each(function(D,C){this.fxCrossfade[C]=new Fx.Style(D,"opacity");if(C!=this.options.startIndex){D.setStyle("opacity",0)}},this);this.options.transitionEffect="crossfade";this.options.rotateActionEffect="crossfade"}else{this.fxScroll=new Fx.Scroll(this.panel,{wait:false});this.fxFade=new Fx.Style(this.panel,"opacity",{wait:false})}this.setupButtons();this.showSlide(this.options.startIndex,1);if(this.options.autoplay=="on"||this.options.autoplay=="once"){this.autoplay()}},setupButtons:function(){if(this.options.rotateAction!="none"){var A=null;this.buttons.each(function(C,B){$(C).addEvent(this.options.rotateAction,function(){if(this.options.rotateActionEffect=="scroll"){this.showSlide(B,this.options.rotateActionDuration,this.options.rotateActionEffect)}else{$clear(A);A=this.showSlide.delay(this.options.rotateActionDuration,this,[B,this.options.rotateActionDuration,this.options.rotateActionEffect])}this.stop()}.bind(this))},this)}if(this.buttonNext&&this.buttonPrev){this.buttonNext.addEvent("click",function(){if(this.currentSlide+1>=this.slides.length){next=0}else{next=this.currentSlide+1}this.showSlide(next,this.options.rotateActionDuration,this.options.rotateActionEffect);this.stop()}.bind(this));this.buttonPrev.addEvent("click",function(){if(this.currentSlide-1<0){next=this.slides.length-1}else{next=this.currentSlide-1}this.showSlide(next,this.options.rotateActionDuration,this.options.rotateActionEffect);this.stop()}.bind(this))}},showSlide:function(A,B,C){if(A==this.currentSlide){return }this.slides.each(function(D,F){var E=$(this.buttons[F]);if(F==A&&F!=this.currentSlide){if(E){E.removeClass(this.options.buttonOffClass).addClass(this.options.buttonOnClass)}}else{if(E){E.removeClass(this.options.buttonOnClass).addClass(this.options.buttonOffClass)}}},this);switch(C){case"fade":this.fxFade.setOptions({duration:B});this.fxFade.start(1,0.01).chain(function(){this.fxScroll.setOptions({duration:1});this.fxScroll.toElement(this.slides[A]);this.fxFade.start(0.01,1)}.bind(this));break;case"crossfade":this.slides.each(function(E,D){this.fxCrossfade[D].setOptions({duration:B});if(D==A){this.fxCrossfade[D].start(1)}else{if(E.getStyle("opacity")>0){this.fxCrossfade[D].start(0)}}},this);break;case"scroll":this.fxScroll.setOptions({duration:B});this.fxScroll.toElement(this.slides[A])}this.currentSlide=A;this.fireEvent("onShowSlide",A)},rotate:function(){if(this.currentSlide+1>=this.slides.length){next=0}else{next=this.currentSlide+1}if(this.options.autoplay=="once"&&next==0){this.stop();return }this.showSlide(next,this.options.transitionDuration,this.options.transitionEffect);this.fireEvent("onRotate")},autoplay:function(){this.slideshowInt=this.rotate.periodical(this.options.slideInterval,this);this.fireEvent("onAutoPlay")},stop:function(){clearInterval(this.slideshowInt);this.fireEvent("onStop")}});catalogCarousel.implement(new Options);catalogCarousel.implement(new Events);
