window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);

var d=document, imgs1 = new Array(),imgs2 = new Array(), zInterval = null, currentImg=0, state = 0;

function so_init() {
	if(!d.getElementById || !d.createElement) {
		return;
	}
	
	imgs1 = d.getElementById("imageContainer1").getElementsByTagName("img");
	imgs2 = d.getElementById("imageContainer2").getElementsByTagName("img");
	
	for(i=1;i<imgs1.length;i++) {
		imgs1[i].xOpacity = 0;
	}
	for(i=1;i<imgs2.length;i++) {
		imgs2[i].xOpacity = 0;
	}
	imgs1[0].style.display = "block";
	imgs1[0].xOpacity = .99;
	imgs2[0].style.display = "none";
	imgs2[0].xOpacity = 0;
	state = 0;

	setTimeout("so_xfade()",100);//Zeit bevor der erste Text anfängt
}



function imageStep(imgs, imgNr, diff){
	var imgsChanging = false;
	imgs[imgNr].xOpacity += diff;
	if(imgs[imgNr].xOpacity >=1 ) {
		imgs[imgNr].xOpacity =1;
	}else if(imgs[imgNr].xOpacity <=0) {
		imgs[imgNr].xOpacity =0;
	}else {
		imgsChanging = true;
	}

	if(imgs[imgNr].xOpacity ==0) {
		imgs[imgNr].style.display = "none";
	} else {
		imgs[imgNr].style.display = "block";
	}
	setOpacity(imgs[imgNr]);
	return imgsChanging;
}

function so_xfade() {
	var timeout = 20;
	switch(state){
		case 0:
			state ++;
			timeout = 1000; //bildist da bis text fängt an zu erscheinen
			break;
		case 1:
			if(imageStep(imgs2,currentImg,0.05) == false) {
				state++;
				timeout = 1000; //text ganz da bis text geht weg
			}
			break;
		case 2:
			if(imageStep(imgs2,currentImg,-0.05) == false) {
				state++;
				timeout = 1000; //text ist weg bis bild geht weg
			}
			break;
		case 3:
			var nextImg = currentImg+1;
			if(nextImg == imgs1.length) {
				nextImg = 0;
			}
			var tmp1 = imageStep(imgs1,currentImg,-0.05);
			var tmp2 = imageStep(imgs1,nextImg,0.05);
								  
			if((tmp1|| tmp2 )== false) {
				currentImg =nextImg;
				state=0;
			}
			break;
			default: alert('state='+state);
	}
	setTimeout("so_xfade()",timeout);
}
	
function setOpacity(obj) {
	if(obj.xOpacity>.99) {
		obj.xOpacity = .99;
	}
	obj.style.opacity = obj.xOpacity;
	obj.style.MozOpacity = obj.xOpacity;
	obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
}
	
