//
// DEGATE Fader
// (c) 2005 DEGATE web based solutions GmbH
// written 2005 by Andreas Fangohr
//
// http://DEGATE.de
// info@DEGATE.de
//

var mainnaviname	= navigator.userAgent.toLowerCase();
var mainnavios		= navigator.platform.toLowerCase();
var isIE			= (mainnaviname.indexOf("msie") > -1);
var isNetscape		= (mainnaviname.indexOf("mozilla") >= -1 && mainnaviname.indexOf("msie") == -1 && mainnaviname.indexOf("opera") == -1);

var fadeTime		= 20;
var fadeSkip		= 5;
var fadeNames		= new Array();
var fadeStati		= new Array();
var fadeDirections	= new Array();
var fadeMax			= new Array();
var fadeNoHide		= new Array();
var timer			= 0;

if ( mainnavios == "macppc" ) {
	// fading is too slow on mac :(
	fadeTime = 10;
	fadeSkip = 10;
}

function DEGATE_fader() {
	var somethingToFade = 0;
	if ( fadeNames.length ) {
		for(i=0; i<fadeNames.length; i++) {
			var curName = fadeNames[i];
			if ( fadeDirections[i] == 1 && fadeStati[i] < 99 ) {
				fadeStati[i] = fadeStati[i] + fadeSkip;
				if ( fadeStati[i] >= fadeMax[i] ) {
					if ( fadeStati[i] == 100 ) { fadeStati[i] = 99.9; }
					fadeDirections[i] = 0;
				} else {
					somethingToFade = 1;
				}
				if ( isNetscape )	{ document.getElementById(curName).style.opacity = (fadeStati[i]/100); }
				if ( isIE )			{ document.getElementById(curName).style.filter = "Alpha(opacity=" + fadeStati[i] + ")"; }
			}
			if ( fadeDirections[i] == -1 && fadeStati[i] > 0 ) {
				fadeStati[i] = fadeStati[i] - fadeSkip;
				if ( fadeStati[i] <= 0 ) {
					fadeStati[i] = 0;
					fadeDirections[i] = 0;
					if ( !fadeNoHide[i] ) {
						document.getElementById(curName).style.visibility = "hidden";
					}
				} else {
					somethingToFade = 1;
				}
				if ( isNetscape )	{ document.getElementById(curName).style.opacity = (fadeStati[i]/100); }
				if ( isIE )			{ document.getElementById(curName).style.filter = "Alpha(opacity=" + fadeStati[i] + ")"; }
			}
		}
	}
	if ( somethingToFade == 0 ) {
		timer = 0;
		window.clearTimeout();
	} else {
		timer = 1;
		window.setTimeout("DEGATE_fader()", fadeTime);
	}
}



function DEGATE_fadeIn(name, max, nohide) {
	var id = -1;
	if ( !max ) { max = 100; }
	for(i=0; i<fadeNames.length; i++) {
		if ( fadeNames[i] == name ) { id = i; }
	}
	if ( id == -1 ) {
		id = fadeNames.length;
		fadeNames[id] = name;
	}
	fadeDirections[id] = 1;
	if ( !fadeStati[id] ) { fadeStati[id] = 0; }
	fadeMax[id] = max;
	fadeNoHide[id] = nohide;
	if ( !nohide ) {
		document.getElementById(name).style.visibility = "visible";
	}
	
	if ( timer == 0 ) {
		timer = 1;
		window.setTimeout("DEGATE_fader()", fadeTime);
	}
}

function DEGATE_fadeOut(name) {
	var id = -1;
	for(i=0; i<fadeNames.length; i++) {
		if ( fadeNames[i] == name ) { id = i; }
	}
	fadeDirections[id] = -1;	
	if ( timer == 0 ) {
		timer = 1;
		window.setTimeout("DEGATE_fader()", fadeTime);
	}
}


