
// Grundlegendes
timer = new Array();
fadetimer = new Array();
background = new Array();
pager = new Array();
ids = new Array();
force = new Array();

IE = document.all &&!window.opera; 

function stopfade (id,where) {

	// infos einblenden
	window.clearTimeout(force[where]);
}

function startfade (where) {
	window.clearTimeout(force[where]);
	force[where] = window.setTimeout("switchit(1,0,'" + where + "')", 1000);
}

function fadeimages (actual,next,where) {
	
	// Alt
	if (document.getElementById(where+actual).filters.alpha) {
		document.getElementById(where+actual).filters.alpha.opacity = 100;
		
		// Neu
		document.getElementById(where+next).filters.alpha.opacity = 0;
	} else {
		document.getElementById(where+actual).style.MozOpacity = 1;
		
		// Neu
		document.getElementById(where+next).style.MozOpacity = 0;
	}
	
	// Neu
	if (background[where] == 1) {
		document.getElementById(where+next+'background').src = document.getElementById(where+next+'orig').value;
	}

	window.setTimeout("fade(" + actual + "," + next + ",1,'" + where + "')", fadetimer[where]);
	document.getElementById('isfading' + where).value = 1;
}

function fade(actual,next,count,where) {
	
	// Timer
	if (fadetimer[where] == 0) {
		count = 100;
	} 
	
	// Faden
	if (count < 100) {
		
		// First fade
		if (count == 1) {
			document.getElementById(where+next).style.display = 'inline';
		}
		
		var fading = count;
		var mozfading = count/100;
		
		if (document.getElementById(where+actual).filters.alpha) {
			document.getElementById(where+actual).filters.alpha.opacity = 100 - fading;
			document.getElementById(where+next).filters.alpha.opacity = 0 + fading;
		} else {
			document.getElementById(where+actual).style.MozOpacity = 1 - mozfading;		
			document.getElementById(where+next).style.MozOpacity = 0 + mozfading;
		}
		
		// und weiter
		window.setTimeout("fade("+actual+","+next+","+(count+3)+",'" + where + "')", fadetimer[where]);
	} else {
		
		// Beenden
		document.getElementById(where+actual).style.display = 'none';
		
		// Alpha setzen
		if (document.getElementById(where+next).filters.alpha) {
			document.getElementById(where+next).filters.alpha.opacity = 100;
		} else {
			document.getElementById(where+next).style.MozOpacity = 1;
		} 
		
		// Beenden
		document.getElementById(where+next).style.display = 'inline';
		document.getElementById('isfading' + where).value = 0;
	}
}

function switchit (id,now,where) {

	var actual = document.getElementById('fadeisid' + where).value;

	// Nächste ID
	if (now != actual) {
		if (now == 0) {
			for (var g = 0; g < ids[where].length; ++g) {
				if (actual == ids[where][g]) {
					if (g+1 >= ids[where].length) {
						var next = ids[where][0];
					} else {
						var next = ids[where][(g+1)];
					}
				}
			}
		} else {
			next = now;
		}
	
		// Einfaden
		if (document.getElementById('isfading' + where).value == 0) {
			fadeimages (actual,next,where);
			
			// Pageswitcher
			//alert(actual+'<- A --- N ->'+next);
			if (pager[where]['state'] == 1 && document.getElementById('pagerid'+where+next)) {
				document.getElementById('pagerid'+where+next).src = pager[where]['ac'];
				document.getElementById('pagerid'+where+actual).src = pager[where]['deac'];
			} document.getElementById('fadeisid' + where).value = next;
	
			// Funktion wiederholen
			window.clearTimeout(force[where]);
			if (now == 0) {
				force[where] = window.setTimeout("switchit(" + next + ",0,'" + where + "')", timer[where]);
			} else {
				force[where] = window.setTimeout("switchit(" + next + ",0,'" + where + "')", 4*timer[where]);
			}
		}
	}
}
