var SlideShow=new Class({options:{container:null,slideshowParent:null,showDiv:null,slides:[],inputSlides:[],imageURLs:[],images:[],buttons:{backButtonURL:"http://content.captivelead.com/global/images/slideshow/button_small_back.gif",backButton:null,frontButtonURL:"http://content.captivelead.com/global/images/slideshow/button_small_forward.gif",frontButton:null,pauseButtonURL:"http://content.captivelead.com/global/images/slideshow/button_small_pause.gif",pauseButton:null},currentSlideIndex:0,delay:3000,transitions:{fadeInEffects:[],fadeOutEffects:[]},state:null,timeoutFunc:null,minWidth:300,minHeight:150,useCorners:true,buttonRollover:false},initialize:function(a){this.setOptions(a);this.createShow();this.startShow()},createShow:function(){this.options.container=$(this.options.container);var b=this.options.container.getSize();this.options.minWidth=b.x;this.options.minHeight=b.y;this.options.slideshowParent=new Element("div",{styles:{position:"relative",width:this.options.minWidth+"px",height:this.options.minHeight+"px"}});this.options.showDiv=new Element("div",{id:"_slideshowDiv",styles:{position:"relative",width:"auto",height:"auto","z-index":10}});this.options.showDiv.inject(this.options.slideshowParent);this.options.slideshowParent.inject(this.options.container);for(var a=0;a<this.options.inputSlides.length;a++){this.addSlide(this.options.inputSlides[a])}this.resizeSlides();if(this.options.useCorners){new RoundedCorners("._slideshowImage",{radius:20,overlay:true,cls:"image"});new RoundedCorners("._slideshowBox",{radius:20,overlay:false,cls:"box"});for(var a=0;a<this.options.slides.length;a++){this.options.slides[a].getParent().setStyles(this.options.slides[a].getStyles("cursor"));this.options.slides[a].getParent().cloneEvents(this.options.slides[a]);this.options.slides[a].setStyle("opacity",1);this.options.slides[a]=this.options.slides[a].getParent();this.options.slides[a].setStyles({display:"none"});this.options.transitions.fadeInEffects[a]=new Fx.Morph(this.options.slides[a],{duration:1000,transition:Fx.Transitions.Sine.easeOut});this.options.transitions.fadeOutEffects[a]=new Fx.Morph(this.options.slides[a],{duration:1000,transition:Fx.Transitions.Sine.easeOut})}}this.refreshButtons();if(this.options.images.length>0){this.startShow()}},addSlide:function(a){var d=null;var b="";if(a.slideType){switch(a.slideType){case"image":b="_slideshowImage";d=new Element("img",{src:a.url,styles:{display:"block"}});break;case"html":b="_slideshowBox";d=new Element("div",{html:a.html,styles:{"background-color":"#FFFFFF",display:"block"}});break;default:break}if(d){var c=new Element("div",{"class":b,styles:{"background-color":"#FFFFFF",opacity:0,position:"relative"}});if(a.href){c.addEvent("click",function(){openWindow(a.href)});c.setStyle("cursor","pointer")}d.inject(c);this.options.slides.push(c);this.options.transitions.fadeInEffects.push(new Fx.Morph(c,{duration:1000,transition:Fx.Transitions.Sine.easeOut}));this.options.transitions.fadeOutEffects.push(new Fx.Morph(c,{duration:1000,transition:Fx.Transitions.Sine.easeOut}));c.inject(this.options.showDiv);var e=d.getSize();if(e.x>this.options.minWidth){this.options.minWidth=e.x}if(e.y>this.options.minHeight){this.options.minHeight=e.y}this.options.showDiv.setStyle("width",this.options.minWidth+"px");this.options.showDiv.setStyle("height",this.options.minHeight+"px")}}},resizeSlides:function(){for(var a=0;a<this.options.slides.length;a++){this.options.slides[a].setStyles({width:this.options.showDiv.getStyle("width"),height:this.options.showDiv.getStyle("height")})}},reset:function(){this.setSlide(0)},refreshButtons:function(){if(!this.options.buttons.frontButton){this.options.buttons.frontButton=new Element("img",{id:"_slideshowFrontButton",src:this.options.buttons.frontButtonURL,border:0,styles:{position:"absolute",cursor:"pointer","z-index":10},events:{click:function(){this.advance(false)}.bind(this)}});this.options.buttons.frontButton.inject(this.options.slideshowParent)}if(!this.options.buttons.pauseButton){this.options.buttons.pauseButton=new Element("img",{id:"_slideshowPauseButton",src:this.options.buttons.pauseButtonURL,border:0,styles:{position:"absolute",cursor:"pointer","z-index":10},events:{click:function(){this.stop()}.bind(this)}});this.options.buttons.pauseButton.inject(this.options.slideshowParent)}if(!this.options.buttons.backButton){this.options.buttons.backButton=new Element("img",{id:"_slideshowBackButton",src:this.options.buttons.backButtonURL,border:0,styles:{position:"absolute",cursor:"pointer","z-index":10},events:{click:function(){this.reverse(false)}.bind(this)}});this.options.buttons.backButton.inject(this.options.slideshowParent)}if(this.options.buttonRollover==true){this.hideButtons();this.options.slideshowParent.addEvent("mouseenter",function(){this.showButtons()}.bind(this));this.options.slideshowParent.addEvent("mouseleave",function(){this.hideButtons()}.bind(this))}else{this.showButtons()}},hideButtons:function(){this.options.buttons.frontButton.setStyle("display","none");this.options.buttons.backButton.setStyle("display","none");this.options.buttons.pauseButton.setStyle("display","none")},showButtons:function(){var b=this.options.minHeight-30;var a=this.options.minWidth-100;this.options.buttons.frontButton.setStyles({top:b+"px",left:(a+60)+"px",display:"block"});this.options.buttons.pauseButton.setStyles({top:b+"px",left:(a+20)+"px",display:"block"});this.options.buttons.backButton.setStyles({top:b+"px",left:(a-20)+"px",display:"block"})},startShow:function(){this.setSlide(0,false);this.options.state="started"},stop:function(){clearTimeout(this.options.timeoutFunc);this.options.state="stopped"},advance:function(b){if(typeof(b)!="boolean"){b=true}clearTimeout(this.options.timeoutFunc);var a=this.options.currentSlideIndex+1;if(a>this.options.slides.length-1){a=0}this.setSlide(a,b);this.options.state="started"},reverse:function(b){if(typeof(b)!="boolean"){b=true}clearTimeout(this.options.timeoutFunc);var a=this.options.currentSlideIndex-1;if(a<0){a=this.options.slides.length-1}this.setSlide(a,b);this.options.state="started"},setSlide:function(a,b){if(this.options.slides[a]){if(b==true){this.options.transitions.fadeOutEffects[this.options.currentSlideIndex].start({opacity:0}).chain(function(){this.options.slides[this.options.currentSlideIndex].setStyle("display","none");this.options.currentSlideIndex=a;this.options.slides[a].setStyles({display:"block",opacity:0});this.options.transitions.fadeInEffects[a].start({opacity:1}).chain(function(){this.options.timeoutFunc=setTimeout(this.advance.bind(this),this.options.delay)}.bind(this))}.bind(this))}else{this.options.slides[this.options.currentSlideIndex].setStyle("display","none");this.options.currentSlideIndex=a;this.options.slides[a].setStyles({display:"block",opacity:1});this.options.timeoutFunc=setTimeout(this.advance.bind(this),this.options.delay)}}return},pushSlide:function(a){this.addSlide(a)},popSlide:function(){this.options.slides.pop()},removeSlide:function(b){if(b.position){this.options.slides.slice(b.position,1);this.options.transitions.fadeInEffects.slice(b.position,1);this.options.transitions.fadeOutEffects.slice(b.position,1)}else{if(b.imageURL){for(var a=0;a<this.options.slides.length;a++){if(this.options.slides[a].src==b.imageURL){this.options.slides.slice(a,1);this.options.transitions.fadeInEffects.slice(a,1);this.options.transitions.fadeOutEffects.slice(a,1);break}}}}this.reset()}});SlideShow.implement(new Options,new Events);