/****************************************************************
"bretteleben.de JavaScript Slideshow" - Version 20090406
License: http://www.gnu.org/copyleft/gpl.html
Author: Andreas Berger
Copyright (c) 2009 Andreas Berger - andreas_berger@bretteleben.de
Project page and Demo at http://www.bretteleben.de
Last update: 2009-04-06
*****************************************************************/
//*****parameters to set*****
//into this array insert the paths of your pics.
var def_imges=new Array ('divSource1', 'divSource2', 'divSource3', 'divSource4', 'divSource5', 'divSource6', 'divSource7', 'divSource8', 'divSource9', 'divSource10', 'divSource11', 'divSource12', 'divSource13', 'divSource14', 'divSource15', 'divSource16', 'divSource17', 'divSource18', 'divSource19', 'divSource20', 'divSource21', 'divSource22', 'divSource23', 'divSource24', 'divSource25', 'divSource26', 'divSource27', 'divSource28', 'divSource29', 'divSource30', 'divSource31', 'divSource32', 'divSource33', 'divSource34');
var def_sdur=3; //time to show a pic between fades in seconds
var def_fdur=1; //duration of the complete fade in seconds
var def_steps=20; //steps to fade from on pic to the next
var def_startwhen="y"; //start automatically at pageload? set it to "y" for on and to "n" for off
var def_shuffle="y"; //start with random image? set it to "y" for on and to "n" for off

//****************************************************************

//daisychain onload-events
function daisychain(sl){if(window.onload) {var ld=window.onload;window.onload=function(){ld();sl();};}else{window.onload=function(){sl();};}}

function be_slideshow(be_slideid,be_imges,be_sdur,be_fdur,be_steps,be_startwhen,be_shuffle){

//declarations and defaults
	var slideid=(be_slideid)?be_slideid:"0";
	var imges=(be_imges)?be_imges:def_imges;
	var sdur=(be_sdur)?be_sdur:def_sdur;
	var fdur=(be_fdur)?be_fdur:def_fdur;
	var steps=(be_steps)?be_steps:def_steps;
	var startwhen=(be_startwhen)?be_startwhen:def_startwhen;
			startwhen=(startwhen.toLowerCase()=="y")?1:0;
	var shuffle=(be_shuffle)?be_shuffle:def_shuffle;
			shuffle=(shuffle.toLowerCase()=="y")?1:0;
	
	var ftim=fdur*1000/steps;
	var stim=sdur*1000;
	var emax=imges.length;
	var self = this;
	var stopit=1;
	var startim=1;


	var u=0;
	var parr = new Array();
	var ptofade,pnext,factor,mytimeout;
	
	//check if there are at least 3 pictures, elswhere double the array
	if(imges.length<=2){imges=imges.concat(imges);}

	//shuffle images if set
  	if(shuffle)
	{

		var i;
		for(i=0;i<=Math.floor(Math.random()*imges.length);i++)
		{
			imges.push(imges.shift());
		}
	}
  

	//prepare current and next and trigger slide
	this.b_slide = function(){
		clearTimeout(mytimeout);
		u=0;
		ptofade=parr[startim-1];
		if(startim<emax){pnext=parr[startim];}
		else{pnext=parr[0];}
		pnext.style.zIndex=1;
		pnext.style.visibility="visible";
		pnext.style.filter="Alpha(Opacity=100)";
		pnext.style.MozOpacity=1;
		pnext.style.opacity=1;
		ptofade.style.zIndex=2;
		ptofade.style.visibility="visible";
		ptofade.style.filter="Alpha(Opacity=100)";
		ptofade.style.MozOpacity=1;
		ptofade.style.opacity=1;
		factor=100/steps;
		if(stopit=="0"){
			this.b_slidenow();
		}
	}


	//slide as said, then give back
	this.b_slidenow = function(){
		var check1,maxalpha,curralpha;
		check1=ptofade.style.MozOpacity;
		maxalpha=(100-factor*u)/100*105;
		if(check1<=maxalpha/100){u=u+1;}
		curralpha=100-factor*u;
		ptofade.style.filter="Alpha(Opacity="+curralpha+")";
		ptofade.style.MozOpacity=curralpha/100;
		ptofade.style.opacity=curralpha/100;
		if(u<steps){ //slide not finished
			if(stopit=="0"){mytimeout=setTimeout(function(){self.b_slidenow();},ftim);}
			else {this.b_slide();}
		}
		else{ //slide finished
			if(startim<emax){
				ptofade.style.visibility="hidden";
				ptofade.style.zIndex=1;
				pnext.style.zIndex=2;
				startim=startim+1;u=0;
				mytimeout=setTimeout(function(){self.b_slide();},stim);
			}
			else{
				ptofade.style.visibility="hidden";
				ptofade.style.zIndex=1;
				pnext.style.zIndex=2;
				startim=1;u=0;
				mytimeout=setTimeout(function(){self.b_slide();},stim);
			}
		}
	}




//insert css and images
	this.b_insert= function(){
		
		var a,idakt,paktidakt,ie5exep;
		for(a=1;a<=emax;a++){
		paktidakt=document.getElementById(imges[a-1]);
    	ie5exep=new Array(paktidakt);parr=parr.concat(ie5exep);
if(paktidakt.style.visibility == "visible")
{
	startim = a;
}

    }
		if(startwhen){
			stopit=0;
 			mytimeout=setTimeout(function(){self.b_slide();},stim);
 		}
	}

//call autostart-function
daisychain(this.b_insert);
	
}

var be_0= new be_slideshow();
