var Presentation=new Class({Implements:[Options],options:{container:null,slides:null,slidesContainer:null,outside:60,fromTop:90,button:null,fadeDuration:900,slideDelay:0,image:null,otherElements:["quote"],injectInSlide:false},initialize:function(A){this.setOptions(A);if(!this.options.container){return}this.currentSlide=0;this.container=$(this.options.container);this.slides=this.container.getElements(this.options.slides);this.start()},start:function(){this.slideRotator=new Element("div",{id:"nextSlide",href:"#",title:"let's see the next project",styles:{cursor:"pointer"}});this.slideRotator.injectInside($(this.options.slidesContainer));this.slides.each(function(A,B){A.setStyles({display:"block",position:"absolute",opacity:B==this.currentSlide?1:0});this.slides[B]["fx"]=new Fx.Morph(A,{duration:this.options.fadeDuration,wait:false,transition:Fx.Transitions.Sine.easeInOut});var C=A.getElement(".Description");this.slides[B]["descContainer"]=C;this.slides[B]["descFx"]=new Fx.Morph(C,{duration:500,wait:false,transition:Fx.Transitions.Sine.easeOut});A.addEvents({mouseover:function(){this.slides[B]["descFx"].start({bottom:-150})}.bind(this),mouseout:function(){this.slides[B]["descFx"].start({bottom:-0})}.bind(this)});if(Browser.Engine.trident){C.setStyle("opacity",0.83)}}.bind(this));this.slideRotator.addEvent("click",this.nextSlide.bind(this))},nextSlide:function(){var B=this.calculateNext();this.slides[this.currentSlide]["fx"].start({opacity:0,top:this.options.fromTop+this.options.outside}).chain(this.repositionSlide.bind(this));var A=function(){this.slides[B]["fx"].start({opacity:1,top:this.options.fromTop});if(this.options.injectInSlide){this.slideRotator.injectInside(this.slides[B]);this.options.otherElements.each(function(C){$(C).injectInside(this.slides[B])}.bind(this))}}.bind(this).delay(this.options.slideDelay)},repositionSlide:function(){this.slides[this.currentSlide].setStyle("top",this.options.fromTop);this.currentSlide=this.calculateNext()},calculateNext:function(){return this.currentSlide<this.slides.length-1?this.currentSlide+1:0}});
