/*
 * fadeSlideShow
 * v.2.0.0
 *
 * Copyright (c) 2010 Pascal Bajorat (http://www.pascal-bajorat.com)
 * Dual licensed under the MIT
 * and GPL (http://www.gnu.org/licenses/gpl.txt) licenses.
 *
 *
 * http://plugins.jquery.com/project/fadeslideshow
 * http://www.pascal-bajorat.com
 */
jQuery.fn.fadeSlideShow=function(options){return this.each(function(){settingen=jQuery.extend({width:640,height:480,speed:'slow',interval:3000,PlayPauseElement:'fssPlayPause',PlayText:'Play',PauseText:'Pause',NextElement:'fssNext',NextElementText:'Next >',PrevElement:'fssPrev',PrevElementText:'< Prev',ListElement:'fssList',ListLi:'fssLi',ListLiActive:'fssActive',addListToId:false,allowKeyboardCtrl:true,autoplay:true},options);jQuery(this).css({width:settingen.width,height:settingen.height,position:'relative',overflow:'hidden'});jQuery('> *',this).css({position:'absolute',width:settingen.width,height:settingen.height});Slides=jQuery('> *',this).length;Slides=Slides-1;ActSlide=Slides;jQslide=jQuery('> *',this);fssThis=this;autoplay=function(){intval=setInterval(function(){jQslide.eq(ActSlide).fadeOut(settingen.speed);if(settingen.ListElement){setActLi=(Slides-ActSlide)+1;if(setActLi>Slides){setActLi=0;}
jQuery('#'+settingen.ListElement+' li').removeClass(settingen.ListLiActive);jQuery('#'+settingen.ListElement+' li').eq(setActLi).addClass(settingen.ListLiActive);}
if(ActSlide<=0){jQslide.fadeIn(settingen.speed);ActSlide=Slides;}else{ActSlide=ActSlide-1;}},settingen.interval);if(settingen.PlayPauseElement){jQuery('#'+settingen.PlayPauseElement).html(settingen.PauseText);}}
stopAutoplay=function(){clearInterval(intval);intval=false;if(settingen.PlayPauseElement){jQuery('#'+settingen.PlayPauseElement).html(settingen.PlayText);}}
jumpTo=function(newIndex){if(newIndex<0){newIndex=Slides;}
else if(newIndex>Slides){newIndex=0;}
if(newIndex>=ActSlide){jQuery('> *:lt('+(newIndex+1)+')',fssThis).fadeIn(settingen.speed);}else if(newIndex<=ActSlide){jQuery('> *:gt('+newIndex+')',fssThis).fadeOut(settingen.speed);}
ActSlide=newIndex;if(settingen.ListElement){jQuery('#'+settingen.ListElement+' li').removeClass(settingen.ListLiActive);jQuery('#'+settingen.ListElement+' li').eq((Slides-newIndex)).addClass(settingen.ListLiActive);}}
if(settingen.ListElement){i=0;li='';while(i<=Slides){if(i==0){li=li+'<li class="'+settingen.ListLi+i+' '+settingen.ListLiActive+'"><a href="#">'+(i+1)+'<\/a><\/li>';}else{li=li+'<li class="'+settingen.ListLi+i+'"><a href="#">'+(i+1)+'<\/a><\/li>';}
i++;}
List='<ul id="'+settingen.ListElement+'">'+li+'<\/ul>';if(settingen.addListToId){jQuery('#'+settingen.addListToId).append(List);}else{jQuery(this).after(List);}
jQuery('#'+settingen.ListElement+' a').bind('click',function(){index=jQuery('#'+settingen.ListElement+' a').index(this);stopAutoplay();ReverseIndex=Slides-index;jumpTo(ReverseIndex);return false;});}
if(settingen.PlayPauseElement){if(!jQuery('#'+settingen.PlayPauseElement).css('display')){jQuery(this).after('<a href="#" id="'+settingen.PlayPauseElement+'"><\/a>');}
if(settingen.autoplay){jQuery('#'+settingen.PlayPauseElement).html(settingen.PauseText);}else{jQuery('#'+settingen.PlayPauseElement).html(settingen.PlayText);}
jQuery('#'+settingen.PlayPauseElement).bind('click',function(){if(intval){stopAutoplay();}else{autoplay();}
return false;});}
if(settingen.NextElement){if(!jQuery('#'+settingen.NextElement).css('display')){jQuery(this).after('<a href="#" id="'+settingen.NextElement+'">'+settingen.NextElementText+'<\/a>');}
jQuery('#'+settingen.NextElement).bind('click',function(){nextSlide=ActSlide-1;stopAutoplay();jumpTo(nextSlide);return false;});}
if(settingen.PrevElement){if(!jQuery('#'+settingen.PrevElement).css('display')){jQuery(this).after('<a href="#" id="'+settingen.PrevElement+'">'+settingen.PrevElementText+'<\/a>');}
jQuery('#'+settingen.PrevElement).bind('click',function(){prevSlide=ActSlide+1;stopAutoplay();jumpTo(prevSlide);return false;});}
if(settingen.allowKeyboardCtrl){jQuery(document).bind('keydown',function(e){if(e.which==39){nextSlide=ActSlide-1;stopAutoplay();jumpTo(nextSlide);}else if(e.which==37){prevSlide=ActSlide+1;stopAutoplay();jumpTo(prevSlide);}else if(e.which==32){if(intval){stopAutoplay();}
else{autoplay();}
return false;}});}
if(settingen.autoplay){autoplay();}else{intval=false;}});};
