/* Copyright (C) YOOtheme GmbH, YOOtheme Proprietary Use License (http://www.yootheme.com/license) */

var YOOcarousel=new Class({initialize:function(a,b){this.setOptions({onRotate:Class.empty,onStop:Class.empty,onAutoPlay:Class.empty,onShowSlide:Class.empty,panelSelector:".panel",slidesSelector:".slide",buttonsSelector:".button",buttonNextSelector:".button-next",buttonPrevSelector:".button-prev",slideInterval:4E3,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;this.options.transitionEffect=="crossfade"||this.options.rotateActionEffect=="crossfade"?(this.fxCrossfade=
[],this.slides.each(function(a,b){this.fxCrossfade[b]=new Fx.Style(a,"opacity");b!=this.options.startIndex&&a.setStyle("opacity",0)},this),this.options.transitionEffect="crossfade",this.options.rotateActionEffect="crossfade"):(this.fxScroll=new Fx.Scroll(this.panel,{wait:!1}),this.fxFade=new Fx.Style(this.panel,"opacity",{wait:!1}));this.setupButtons();this.showSlide(this.options.startIndex,1);(this.options.autoplay=="on"||this.options.autoplay=="once")&&this.autoplay()},setupButtons:function(){if(this.options.rotateAction!=
"none"){var a=null;this.buttons.each(function(b,c){$(b).addEvent(this.options.rotateAction,function(){this.options.rotateActionEffect=="scroll"?this.showSlide(c,this.options.rotateActionDuration,this.options.rotateActionEffect):($clear(a),a=this.showSlide.delay(this.options.rotateActionDuration,this,[c,this.options.rotateActionDuration,this.options.rotateActionEffect]));this.stop()}.bind(this))},this)}this.buttonNext&&this.buttonPrev&&(this.buttonNext.addEvent("click",function(){next=this.currentSlide+
1>=this.slides.length?0:this.currentSlide+1;this.showSlide(next,this.options.rotateActionDuration,this.options.rotateActionEffect);this.stop()}.bind(this)),this.buttonPrev.addEvent("click",function(){next=this.currentSlide-1<0?this.slides.length-1: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){this.slides.each(function(b,d){var c=$(this.buttons[d]);d==a&&d!=this.currentSlide?
c&&c.removeClass(this.options.buttonOffClass).addClass(this.options.buttonOnClass):c&&c.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(c,d){this.fxCrossfade[d].setOptions({duration:b});d==a?this.fxCrossfade[d].start(1):
c.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(){next=this.currentSlide+1>=this.slides.length?0:this.currentSlide+1;this.options.autoplay=="once"&&next==0?this.stop():(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")}});YOOcarousel.implement(new Options);YOOcarousel.implement(new Events);

