browserOk = (document.getElementById) ? true : false; // wird DOM unterstuetzt?

// start color
scolor = new Object();
scolor['red'] = 254; // 254
scolor['green'] = 248; // 248
scolor['blue'] = 247; // 247

// target color
tcolor = new Object();
tcolor['red'] = 0;
tcolor['green'] = 0;
tcolor['blue'] = 0;

// stepping and delay
step = new Object();
step['red'] = 5;
step['green'] = 5;
step['blue'] = 5;

delay = 0;

// Die maximale Anzahl der Grob-Durchlauefe wird ermittelt (gerundeter Wert)
maxloops = new Object();
maxloops['red'] = parseInt(Math.abs(scolor['red']-tcolor['red']) / step['red']);
maxloops['green'] = parseInt(Math.abs(scolor['green']-tcolor['green']) / step['green']);
maxloops['blue'] = parseInt(Math.abs(scolor['red']-tcolor['blue']) / step['blue']);

// Zaehlvariable fuer die Anazahl der Durchlaeufe bzw. Vergleich mit maximaler Anzahl der Grobdurchlauefe
i = new Object();
i['red'] = 0;
i['green'] = 0;
i['blue'] = 0;

// Funktion zum Einblenden von Text im center-Container: Solange der Anfangswert ungleich Endwert, wird der entsprechende Zaehler erhoeht. Wenn die Zaehlvariablen i den Wert der maximalen Anzahl der jeweiligen Grob-Durchlauefe erreichen, wird die Schrittweite der entsprechenden Farbe auf 1 gesetzt, damit der Endwert erreicht werden kann
function fadecenter() {
	if (scolor['red'] != tcolor['red'] || scolor['green'] != tcolor['green'] || scolor['blue'] != tcolor['blue']) {
		if (scolor['red'] > tcolor['red']) scolor['red']-= step['red'];
		if (scolor['red'] < tcolor['red']) scolor['red']+= step['red'];
		i['red']+=1;
		if (i['red']==maxloops['red']) step['red'] = 1;

		if (scolor['green'] > tcolor['green']) scolor['green']-= step['green'];
		if (scolor['green'] < tcolor['green']) scolor['green']+= step['green'];
		i['green']+=1;
		if (i['green']==maxloops['green']) step['green'] = 1;

		if (scolor['blue'] > tcolor['blue']) scolor['blue']-= step['blue'];
		if (scolor['blue'] < tcolor['blue']) scolor['blue']+= step['blue'];
		i['blue']+=1;
		if (i['blue']==maxloops['blue']) step['blue'] = 1

		document.getElementById('center').style.color = "rgb("+scolor['red']+","+scolor['green']+","+scolor['blue']+")";
//		alert("rgb("+scolor['red']+","+scolor['green']+","+scolor['blue']+")\n"+"sr: "+step['red']+" sg: "+step['green']+" sb: "+step['blue']);
		setTimeout("fadecenter()", delay);
	}
}
// Funktion zur Ein- und Ausblendung von Elementen bzw. Containern
function visibility(elementid, value) {
	if (browserOk) {
		document.getElementById(elementid).style.visibility = value; // visibile or hidden
	}
}

// Funktionen zur Ausblendung der Container auf der Seite index.php
function displaydivs(value) {
	if (browserOk) {
		visibility("top",value);
		visibility("center",value);		
		visibility("bottom",value);	
		visibility("left",value);
		visibility("right",value);
	}
}

// Funktionen zur Zuweisung der Textfarbe (fuer den Seitentyp category)
function setcolor(elementid,rgbcolor){
	if (browserOk) {
	document.getElementById(elementid).style.color = rgbcolor; // set element rgb color
	}
}

// Funktion zur Ein- und Ausblendung des center-Containers (nicht mehr verwendet)
function displaycenter(value) {
	if (browserOk) {
		visibility("center",value);		
	}
}

// Funktion zur Einblendung aller Container und zur Einblendung des Textes (veraltet und daher nicht mehr verwendet)
function fadeinall(delay) {
	setTimeout('displaydivs("visible")',delay);
	setTimeout("fadecenter()",delay);
}
