/****************************************************************"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 ('images/altira_galleryimg.jpg', 'images/altira_unit1.jpg', 'images/altira_unit2.jpg');var def_divid="slideshow"; //the id of the div container that will hold the slideshowvar def_picwid=751; //set this to the width of your widest picvar def_pichei=275; //... and this to the height of your highest picvar def_backgr="#ffffff"; //set this to the background color you want to use for the slide-area//(for example the body-background-color) if your pics are of different size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=25; //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var def_showcontr="n"; //do you want to show controls? set it to "y" for on and to "n" for off//into this array insert the paths of your control-buttons or the text to display e.g. back,start,stop,fwrd.var def_contr=new Array ('imgs/bwd.png', 'imgs/start.png', 'imgs/stop.png', 'imgs/fwd.png');//****************************************************************//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_divid,be_picwid,be_pichei,be_backgr,be_sdur,be_fdur,be_steps,be_startwhen,be_shuffle,be_showcontr,be_contr){//declarations and defaults	var slideid=(be_slideid)?be_slideid:"0";	var imges=(be_imges)?be_imges:def_imges;	var divid=(be_divid)?be_divid:def_divid;	var picwid=(be_picwid)?be_picwid:def_picwid;	var pichei=(be_pichei)?be_pichei:def_pichei;	var backgr=(be_backgr)?be_backgr:def_backgr;	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 showcontr=(be_showcontr)?be_showcontr:def_showcontr;			showcontr=(showcontr.toLowerCase()=="y")?1:0;	var contr=(be_contr)?be_contr:def_contr;	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());}}  //push images into array and get things going	this.b_myfade = function(){		var a,idakt,paktidakt,ie5exep;		for(a=1;a<=emax;a++){			idakt="img_"+slideid+"_"+a;paktidakt=document.getElementById(idakt);    	ie5exep=new Array(paktidakt);parr=parr.concat(ie5exep);    }		if(startwhen){			stopit=0; 			mytimeout=setTimeout(function(){self.b_slide();},stim); 		}	}//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();		}	}//one step forward	this.b_forw = function(){		stopit=1;		clearTimeout(mytimeout);		ptofade=parr[startim-1];		if(startim<emax){pnext=parr[startim];startim=startim+1;}		else{pnext=parr[0];startim=1;}		ptofade.style.visibility="hidden";		ptofade.style.zIndex=1;		pnext.style.visibility="visible";		pnext.style.zIndex=2;		self.b_slide();	}//one step back	this.b_back = function(){		stopit=1;		clearTimeout(mytimeout);		if(u==0){ //between two slides			ptofade=parr[startim-1];			if(startim<emax){pnext=parr[startim];}			else{pnext=parr[0];}			pnext.style.visibility="hidden";			ptofade.style.zIndex=1;			ptofade.style.visibility="visible";			if(startim>=2){startim=startim-1;}			else{startim=emax;}			self.b_slide();		}		else{ //whilst sliding			self.b_slide();		}	}//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);			}		}	}//manual start	this.b_start= function(){		if(stopit==1){ 			stopit=0; 			mytimeout=setTimeout(function(){self.b_slide();},stim); 		}	}//manual stop	this.b_stop= function(){		clearTimeout(mytimeout);		stopit=1;		this.b_slide();	}//insert css and images	this.b_insert= function(){		var b, thestylid, thez, thevis, slidehei;		slidehei=(showcontr)?(pichei+30):(pichei); //add space for the controls		var myhtml="<div style='width:"+picwid+"px;height:"+slidehei+"px;'>";   			myhtml+="<div style='position:absolute;width:"+picwid+"px;height:"+pichei+"px;'>";		for(b=1;b<=emax;b++){			thez=1;thevis='hidden';			if(b<=1) {thez=2; thevis='visible';}			  myhtml+="<div id='img_"+slideid+"_"+b+"' style='font-size:0;line-height:"+pichei+"px;margin:0;padding:0;text-align:center;visibility:"+thevis+";z-index:"+thez+";position:absolute;left:0;top:0;width:"+picwid+"px;height:"+pichei+"px;background-color:"+backgr+";'>";				myhtml+="<img src='Altira_MainSite/"+imges[(b-1)]+"' style='vertical-align:middle;border:0;' alt=''/></div>";		}   			myhtml+="</div>";//show controls		if(showcontr){				for(b=1;b<=4;b++){					var check=contr[b-1].substring(contr[b-1].length-3).toLowerCase(); //check for buttons					contr[b-1]=(check=="jpg"||check=="gif"||check=="png")?("<img src='Altira_MainSite/"+contr[b-1]+"' style='border:none;' alt=''/>"):(contr[b-1]);				}   			myhtml+="<div style='display:block;width:"+picwid+"px;padding-top:"+(pichei+8)+"px;text-align:left;'>";   			myhtml+="<a href='javascript:be_"+slideid+".b_back();' style='text-decoration:none'>"+contr[0]+"</a> ";   			myhtml+="<a href='javascript:be_"+slideid+".b_start();' style='text-decoration:none'>"+contr[1]+"</a> ";   			myhtml+="<a href='javascript:be_"+slideid+".b_stop();' style='text-decoration:none'>"+contr[2]+"</a> ";   			myhtml+="<a href='javascript:be_"+slideid+".b_forw();' style='text-decoration:none'>"+contr[3]+"</a>";		}   			myhtml+="</div>";		document.getElementById(divid).innerHTML=myhtml;		self.b_myfade();	}//call autostart-functiondaisychain(this.b_insert);	}var be_0= new be_slideshow();
