
var Presentation=new Class({Implements:Options,options:{transitionDuration:1000,transitionInterval:5000,transitionType:Fx.Transitions.Quad.easeOut,autoSwap:true},initialize:function(id,options){this.setOptions(options);if(this.options.transitionDuration>this.options.transitionInterval){this.options.transitionInterval=this.options.transitionDuration;}
this.presentation=$(id);if(this.presentation){this.slides=this.presentation.getElements('.presentation-slide');this.slideIndex=0;for(var i=1;i<this.slides.length;i++){this.slides[i].dispose();}
this.tabs=this.presentation.getElements('.presentation-tab');this.tabs.each(function(tab,index){tab.addEvent('click',this.tabClickListener.bindWithEvent(this,index));},this);this.navs=this.presentation.getElements('.presentation-nav');this.navs.each(function(nav,index){nav.addEvent('click',this.navigationClickListener.bindWithEvent(this,index));},this);this.selectTab(0,0);this.autoSwap.delay(this.options.transitionInterval,this);this.swapping=false;}},tabClickListener:function(evt,index){if(!this.swapping){this.options.autoSwap=false;var tab=$(evt.target);if(this.slideIndex!=index){this.selectTab(index,this.slideIndex);this.swap(this.slides[this.slideIndex],this.slides[index]);this.slideIndex=index;}}
return false;},navigationClickListener:function(evt,index){evt.preventDefault();if(!this.swapping){this.options.autoSwap=false;var nav=$(evt.target);if(index==0){var nextSlide=this.slideIndex-1;}else{var nextSlide=this.slideIndex+1;}
if(nextSlide<0){nextSlide=this.slides.length-1;}
if(nextSlide>(this.slides.length-1)){nextSlide=0;}
this.swap(this.slides[this.slideIndex],this.slides[nextSlide]);this.slideIndex=nextSlide;}
return false;},selectTab:function(index,selectedTabIndex){if(this.tabs[selectedTabIndex]){this.tabs[selectedTabIndex].removeClass('presentation-tab-on');this.tabs[index].addClass('presentation-tab-on');}},swap:function(oldSlide,newSlide){},autoSwap:function(){if(!this.swapping){if(this.options.autoSwap){var index=this.slideIndex+1;if(index>=this.slides.length){index=0;}
this.selectTab(index,this.slideIndex);this.swap(this.slides[this.slideIndex],this.slides[index]);this.slideIndex=index;}}
this.autoSwap.delay(this.options.transitionInterval,this);},swapCompleteListener:function(slide){slide.dispose();this.swapping=false;}});var CrossFadingPresentation=new Class({Extends:Presentation,swap:function(oldSlide,newSlide){this.swapping=true;newSlide.setStyle('z-index',0);oldSlide.setStyle('z-index',1);newSlide.inject(this.presentation);var newSlideFx=newSlide.retrieve('fx',null);if(!newSlideFx){newSlideFx=new Fx.Tween(newSlide,{duration:this.options.transitionDuration,transition:this.options.transitionType});newSlideFx.addEvent('complete',this.swapCompleteListener.bind(this));newSlide.store('fx',newSlideFx);}
var oldSlideFx=oldSlide.retrieve('fx',null);if(!oldSlideFx){oldSlideFx=new Fx.Tween(oldSlide,{duration:this.options.transitionDuration,transition:this.options.transitionType});oldSlideFx.addEvent('complete',this.swapCompleteListener.bind(this));oldSlide.store('fx',oldSlideFx);}
newSlideFx.set('opacity',1);oldSlideFx.start('opacity',1,0);}});var SlidingPresentation=new Class({Extends:Presentation,swap:function(oldSlide,newSlide){this.swapping=true;var slideWidth=oldSlide.getCoordinates().width;newSlide.setStyle('left',slideWidth);newSlide.inject(this.presentation);var newSlideFx=newSlide.retrieve('fx',null);if(!newSlideFx){newSlideFx=new Fx.Tween(newSlide,{duration:this.options.transitionDuration,transition:this.options.transitionType});newSlide.store('fx',newSlideFx);}
var oldSlideFx=oldSlide.retrieve('fx',null);if(!oldSlideFx){oldSlideFx=new Fx.Tween(oldSlide,{duration:this.options.transitionDuration,transition:this.options.transitionType});oldSlide.store('fx',oldSlideFx);}
newSlideFx.removeEvents('complete');oldSlideFx.removeEvents('complete');oldSlideFx.addEvent('complete',this.swapCompleteListener.bind(this));newSlideFx.start('left',slideWidth-5,0);oldSlideFx.start('left',0,0-slideWidth);}});
