/* Copyright (C) 2007 - 2011 YOOtheme GmbH, YOOtheme Proprietary Use License (http://www.yootheme.com/license) */

var YOOcarousel=new Class({initialize:function(a,c){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"},
c);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=
[];this.slides.each(function(d,e){this.fxCrossfade[e]=new Fx.Style(d,"opacity");e!=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,d){$(c).addEvent(this.options.rotateAction,function(){if(this.options.rotateActionEffect=="scroll")this.showSlide(d,this.options.rotateActionDuration,this.options.rotateActionEffect);else{$clear(a);a=this.showSlide.delay(this.options.rotateActionDuration,this,[d,this.options.rotateActionDuration,this.options.rotateActionEffect])}this.stop()}.bind(this))},this)}if(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,c,d){if(a!=this.currentSlide){this.slides.each(function(e,b){var f=$(this.buttons[b]);if(b==a&&b!=
this.currentSlide)f&&f.removeClass(this.options.buttonOffClass).addClass(this.options.buttonOnClass);else f&&f.removeClass(this.options.buttonOnClass).addClass(this.options.buttonOffClass)},this);switch(d){case "fade":this.fxFade.setOptions({duration:c});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,b){this.fxCrossfade[b].setOptions({duration:c});
if(b==a)this.fxCrossfade[b].start(1);else e.getStyle("opacity")>0&&this.fxCrossfade[b].start(0)},this);break;case "scroll":this.fxScroll.setOptions({duration:c});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;if(this.options.autoplay=="once"&&next==0)this.stop();else{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);

