(function($){$.fn.slideshow=function(options){return this.each(function(){new SlideShow(this,options)})};var SlideShow=function(element,options){var PLUGIN_NAME="SlideShow";element=$(element);element.data(PLUGIN_NAME,this);var counter=0;var isPlaying=false;var currentSlideID=0;var oldSlideID=currentSlideID;var changeCause="Auto";var options,slideList,slideDescList,slideInterval;this.togglePause=function(){pausePlay();if(isPlaying){options.pauseOnHover=true}else{options.pauseOnHover=false}};this.setHoverOnPause=function(value){options.pauseOnHover=value};var setUpSlideShow=function(){if(slideList.length>1){for(var i=0;i<slideList.length;i++){$(slideList[i]).css("z-index",String(slideList.length-i)).css("position","absolute").hide();if(options.slideDesc!=null){$(slideDescList[i]).css("z-index",String(slideDescList.length-i)).css("position","absolute").hide()}}}if(options.type=="sequence"){showFirstSlide();if(options.autoRotate&&slideList.length>1){setUpTimer()}}else{alert("Innerfade-Type must either be 'sequence', 'random' or 'random_start'")}};var showFirstSlide=function(){$(slideList[0]).show();if(options.slideDesc!=null){$(slideDescList[0]).show()}if(options.slideShowNav!=null){$("#"+options.slideShowNav+" li").removeClass("button_selected");$("#"+options.slideShowNav+" .slide_0").addClass("button_selected")}};var showSlide=function(){initiateCallBack("start");switch(options.animationtype){case"fade":$(slideList[oldSlideID]).fadeOut(options.speed);if(options.slideDesc!=null){$(slideDescList[oldSlideID]).fadeOut(options.speed)}$(slideList[currentSlideID]).fadeIn(options.speed,function(){removeFilter($(this)[0]);initiateCallBack("end")});if(options.slideDesc!=null){$(slideDescList[currentSlideID]).fadeIn(options.speed,function(){removeFilter($(this)[0])})}break}if(options.slideShowNav!=null){$("#"+options.slideShowNav+" li").removeClass("button_selected");$("#"+options.slideShowNav+" .slide_"+currentSlideID).addClass("button_selected")}};var nextSlide=function(){changeCause="Auto";if(currentSlideID<(slideList.length-1)){oldSlideID=currentSlideID;currentSlideID+=1}else{oldSlideID=currentSlideID;currentSlideID=0;counter+=1}if(counter==options.maxRotateCount){stopTimer()}showSlide()};var pausePlay=function(){if(options.autoRotate&&slideList.length>1){if(isPlaying){if(options.slideShowPauseBTN!=null){$("#"+options.slideShowPauseBTN+" span").html("play");$("#"+options.slideShowPauseBTN).attr("class","paused_button")}stopTimer()}else{if(options.slideShowPauseBTN!=null){$("#"+options.slideShowPauseBTN+" span").html("pause");$("#"+options.slideShowPauseBTN).attr("class","pause_button")}setUpTimer()}}};var setUpNavButtons=function(){var buttonClass,splitButtonClassString,buttonClassString;$("#"+options.slideShowNav+" li").each(function(){$(this).css("cursor","pointer");$(this).css("cursor","hand");$(this).click(function(){if(options.slideShowPauseBTN!=null){$("#"+options.slideShowPauseBTN+" span").html("play");$("#"+options.slideShowPauseBTN).attr("class","paused_button")}buttonClass=$(this).attr("class");splitButtonClassString=buttonClass.split("_");buttonClassString=splitButtonClassString.pop();oldSlideID=currentSlideID;currentSlideID=parseFloat(buttonClassString);changeCause="Click";stopTimer();showSlide();if(!options.pauseOnNavClick&&options.autoRotate){setUpTimer()}else{options.autoRotate=false}})})};var setUpPauseButton=function(){var pauseButton=$(options.slideShowPauseBTN);pauseButton.click(function(){togglePause()})};var setUpPauseOnHover=function(){if(options.slideDesc!=null){slideDescList.hover(function(){if(options.pauseOnHover){pausePlay()}})}else{slideList.hover(function(){if(options.pauseOnHover){pausePlay()}})}};var getDefaults=function(){return{animationtype:"fade",speed:"normal",type:"sequence",timeout:5000,containerheight:"auto",autoRotate:false,maxLoopCount:0,pauseOnHover:false,pauseOnNavClick:false,slideDesc:null,slideShowNav:null,slideShowPauseBTN:null,slideChangeStart:null,slideChangeEnd:null}};var setUpTimer=function(){isPlaying=true;slideInterval=setInterval(nextSlide,options.timeout)};var stopTimer=function(){isPlaying=false;if(slideInterval!=null){clearInterval(slideInterval);slideInterval=null}};var removeFilter=function(target){if(target.style.removeAttribute){target.style.removeAttribute("filter")}};var initiateCallBack=function(name){var slideTagName;if(options.slideShowNav!=null){slideTagName=$(".slide_"+currentSlideID).attr("name")}else{slideTagName=$(slideList[currentSlideID]).attr("id")}var callbackArgs={slideID:currentSlideID,cause:changeCause,tagName:slideTagName,count:counter};switch(name){case"start":$.isFunction(options.slideChangeStart)&&options.slideChangeStart.call(this,callbackArgs);break;case"end":$.isFunction(options.slideChangeEnd)&&options.slideChangeEnd.call(this,callbackArgs);break}};var init=function(){var defaults=getDefaults();options=$.extend(defaults,options);element.css({position:"relative",height:options.containerheight}).addClass(PLUGIN_NAME);slideList=element.children();if(options.slideDesc!=null){slideDescList=$("ul#"+options.slideDesc+" li")}if(options.slideShowNav){setUpNavButtons()}if(options.slideShowPauseBTN){setUpPauseButton()}if(options.pauseOnHover){setUpPauseOnHover()}setUpSlideShow()};init()}})(jQuery);
