/*****
Image Cross Fade Redux
Version 1.0
Last revision: 02.15.2006
steve@slayeroffice.com

Please leave this notice intact. 

Rewrite of old code found here: http://slayeroffice.com/code/imageCrossFade/index.html
*****/

/*****
modified by Andreas Titze 
Please leave this notice also intact.
*****/

window.addEventListener?window.addEventListener("load",so_init1,false):window.attachEvent("onload",so_init1);

var d=document, imgs1 = new Array(), zInterval = null, current1=0, current2=0, pause=false;

function so_init1() {
	if(!d.getElementById || !d.createElement)return;
	css = d.createElement("link");
	css.setAttribute("href","fade.css");
	css.setAttribute("rel","stylesheet");
	css.setAttribute("type","text/css");
	d.getElementsByTagName("head")[0].appendChild(css);

	imgs1 = d.getElementById("imageContainer1").getElementsByTagName("img");  // bilder von html-seite holen
	for(i=1;i<imgs1.length;i++) imgs1[i].xOpacity = 0;                        // alle bilder erst mal ausblenden
	imgs1[0].style.display = "block";                                         // anzeigen (block=anzeigen none=nicht anzeigen)
	imgs1[0].xOpacity = 1;                                                    // erste bild einblenden
	setTimeout(so_xfade1,3000);                                               // anzeigedauer 1. bild oben beim aufruf der seite dann in endlosschleife

}


function so_xfade1() {
	cOpacity = imgs1[current1].xOpacity;           // current opacity zuweisen von Bild
	nIndex = imgs1[current1+1]?current1+1:0;       // next image

	nOpacity = imgs1[nIndex].xOpacity;             // next opacity zuweisen
	
	cOpacity-=.05;                                 // current ausblenden
	nOpacity+=.05;                                 // next einblenden
	
	imgs1[nIndex].style.display = "block";
	imgs1[current1].xOpacity = cOpacity;           // neuen wert in variabel setzen old pic
	imgs1[nIndex].xOpacity = nOpacity;             // neuen wert in variabel setzen new pic
	
	setOpacity(imgs1[current1]);                   // funktionsaufruf zum setzen des bildes old pic
	setOpacity(imgs1[nIndex]);                     // funktionsaufruf zum setzen des bildes new pic
	
	if(cOpacity<=0) {                              // wenn 0 erreicht überblendung beendet
		imgs1[current1].style.display = "none";  // ja beendet und ausblenden
		current1 = nIndex;                       // current wird zu next (ein bild weiter schieben)
		setTimeout(so_xfade1,3000);              // anzeigedauer je bild oben
	} else {                                       // nein nicht beendet
		setTimeout(so_xfade1,65);                // dauer der überblendung 1/0,05=20 Blendschritte je 65ms macht 1300ms 
	}
}


function setOpacity(obj) {
	if(obj.xOpacity>1) {
		obj.xOpacity = 1; 
		return;
	}
	obj.style.opacity = obj.xOpacity;
	obj.style.MozOpacity = obj.xOpacity;                                 // FireFox, Mozilla
	obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";      // MSIE
}
