// neues Objekt fuer jedes onMouseOver erzeugen:
objTimer = new Object(); 
objCounter = new Object();
aHex  = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");

// Hexwert zurueckliefern:
function hex(i) {
 if (i < 0)
  return "00";
 else if (i > 255)
  return "FF";
 else
  return "" + aHex[Math.floor(i/16)] + aHex[i%16];
}

// Hintergrund setzen:
function setbgColor(obj, RotObj, GruenObj, BlauObj, RotText, GruenText, BlauText) {
var HexRotObj = hex(RotObj);
var HexGruenObj = hex(GruenObj);
var HexBlauObj = hex(BlauObj);
var HexRotText = hex(RotText);
var HexGruenText = hex(GruenText);
var HexBlauText = hex(BlauText);
 document.getElementById(obj).style.backgroundColor = "#" + HexRotObj + HexGruenObj + HexBlauObj;
 document.getElementById(obj).style.color = "#" + HexRotText + HexGruenText + HexBlauText;  
}

cntSteps=0;
intSchritt=1;

// Hintergrund faden:
function fade(obj, StartObjRot, StartObjGruen, StartObjBlau, EndeObjRot, EndeObjGruen, EndeObjBlau, StartTextRot, StartTextGruen, StartTextBlau, EndeTextRot, EndeTextGruen, EndeTextBlau, step) {
 objCounter[obj] = objCounter[obj]+ intSchritt;
 cntSteps = objCounter[obj];
 if (cntSteps <= step && cntSteps >= 0) {
  // Hintergrund faden:
  RotObj = Math.floor(StartObjRot * ((step-cntSteps)/step) + EndeObjRot * (cntSteps/step));
  GruenObj = Math.floor(StartObjGruen * ((step-cntSteps)/step) + EndeObjGruen * (cntSteps/step));
  BlauObj = Math.floor(StartObjBlau * ((step-cntSteps)/step) + EndeObjBlau * (cntSteps/step));
  
  // Text faden:
  RotText = Math.floor(StartTextRot * ((step-cntSteps)/step) + EndeTextRot * (cntSteps/step));
  GruenText = Math.floor(StartTextGruen * ((step-cntSteps)/step) + EndeTextGruen * (cntSteps/step));
  BlauText = Math.floor(StartTextBlau * ((step-cntSteps)/step) + EndeTextBlau * (cntSteps/step));  
  
  setbgColor(obj, RotObj, GruenObj, BlauObj, RotText, GruenText, BlauText);
 }
 else {
  clearInterval(objTimer[obj]);
  objCounter[obj] = 0;
 }
}

/* Aufruf des Fade Effektes:
fade(obj, StartObjRot, StartObjGruen, StartObjBlau, EndeObjRot, EndeObjGruen, EndeObjBlau, StartTextRot, StartTextGruen, StartTextBlau, EndeTextRot, EndeTextGruen, EndeTextBlau, step);

obj: zu fadendes Objekt
StartObjRot, StartObjGruen, StartObjBlau: RGB Startwerte des Hintergrundes
EndeObjRot, EndeObjGruen, EndeObjBlau: RGB Endwerte des Hintergrundes
StartTextRot, StartTextGruen, StartTextBlau: RGB Startwerte des Textes
EndeTextRot, EndeTextGruen, EndeTextBlau: RGB Endwerte des Textes
*/

// Hintergrund einfaden:
function fadein(obj) {
 clearInterval(objTimer[obj]);
 objCounter[obj] = 0;
 objTimer[obj] = setInterval("fade('"+obj+"',255,204,0,102,153,255,0,0,0,255,255,255,4)",20);
}

// Hintergrund ausfaden:
function fadeout(obj) {
 clearInterval(objTimer[obj]);
 objTimer[obj] = setInterval("fade('"+obj+"',102,153,255,255,204,0,255,255,255,0,0,0,16)",40);
}

// Link aufrufen:
function navigate(url, target) {
if (!target)
 target = top;
if (url)
 return target.location.href = url;
else
 return 0;
}