<!--
var rate = 10;
if (document.getElementById)
window.onerror=new Function("return true")
var objActive;  // The object which event occured in
var act = 0;    // Flag during the action
var elmH = 230;   // Hue
var elmS = 100; // Saturation
var elmV = 255; // Value
var clrOrg;     // A color before the change
var TimerID;    // Timer ID

if (document.all) {
     document.onmouseover = doRainbowAnchor;
     document.onmouseout = stopRainbowAnchor;
}

else if (document.getElementById) {
     document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
     document.onmouseover = Mozilla_doRainbowAnchor;
     document.onmouseout = Mozilla_stopRainbowAnchor;
}

function doRainbow(obj)

{
     if (act == 0) {
         act = 1;
         if (obj)
             objActive = obj;
         else
             objActive = event.srcElement;
         clrOrg = objActive.style.color;
         TimerID = setInterval("ChangeColor()",100);
     }
}

function stopRainbow()

{
     if (act) {
         objActive.style.color = clrOrg;
         clearInterval(TimerID);
         act = 0;
     }
}

function doRainbowAnchor()

{
     if (act == 0) {
         var obj = event.srcElement;
         while (obj.tagName != 'A' && obj.tagName != 'BODY') {
             obj = obj.parentElement;
             if (obj.tagName == 'A' || obj.tagName == 'BODY')
                 break;
         }

         if (obj.tagName == 'A' && obj.href != '') {
             objActive = obj;
             act = 1;
             clrOrg = objActive.style.color;
             TimerID = setInterval("ChangeColor()",100);
         }
     }
}


function stopRainbowAnchor()
{
     if (act) {
         if (objActive.tagName == 'A') {
             objActive.style.color = clrOrg;
             clearInterval(TimerID);
             act = 0;
         }
     }
}


function Mozilla_doRainbowAnchor(e)
{
     if (act == 0) {
         obj = e.target;
         while (obj.nodeName != 'A' && obj.nodeName != 'BODY') {
             obj = obj.parentNode;
             if (obj.nodeName == 'A' || obj.nodeName == 'BODY')
                 break;
         }
        if (obj.nodeName == 'A' && obj.href != '') {
             objActive = obj;
             act = 1;
             clrOrg = obj.style.color;
             TimerID = setInterval("ChangeColor()",100);
         }
     }
}


function Mozilla_stopRainbowAnchor(e)
{
     if (act) {
         if (objActive.nodeName == 'A') {
             objActive.style.color = clrOrg;
             clearInterval(TimerID);
             act = 0;
         }
     }
}

function ChangeColor()
{
     objActive.style.color = makeColor();
}


function makeColor()
{

     if (elmS == 0) {
         elmR = elmV;    elmG = elmV;    elmB = elmV;
     }
     else {
         //t1 = elmV; // wert Šndert sich nicht
     //t2 = (255 - elmS) * elmV / 255; // wert Šndert sich nicht

     // t1=0 , t2=255 -> dies gibt einen gelben effekt
     // t1=255, t2=0 -> dies gibt einen blauen effekt
     // damit sich was tut dŸrfen t1 und t2 nicht gleich sein

     var divideInt2 = 60 // je hšher die zahl desto extremer der wechsel und umgekehrt. default: 60
     var divideInt1 = 60 // macht alles ein bisserl komisch. default: 60
     t1 = 0 
     t2 = 255 

     t3 = elmH % divideInt1;
         t3 = (t1 - t2) * t3 / divideInt2; // wert Šndert sich


         if (elmH < 60) {
       //alert("1");
             elmR = t1;  elmB = t2;  elmG = t2 + t3;
         }

         else if (elmH < 120) {
    //alert("2");
             elmG = t1;  elmB = t2;  elmR = t1 - t3;
         }

         else if (elmH < 180) {
     //alert("3");
             elmG = t1;  elmR = t2;  elmB = t2 + t3;
         }

         else if (elmH < 240) {
     //alert("4");
             elmB = t1;  elmR = t2;  elmG = t1 - t3;
         }

         else if (elmH < 300) {
     //alert("5");
             elmB = t1;  elmG = t2;  elmR = t2 + t3;
         }

         else if (elmH < 360) {
    // alert("6");
             elmR = t1;  elmG = t2;  elmB = t1 - t3;
         }

         else {
    // alert("7");
             elmR = 0;   elmG = 0;   elmB = 0;
         }
     }



     elmR = Math.floor(elmR).toString(16);
     elmG = Math.floor(elmG).toString(16);
     elmB = Math.floor(elmB).toString(16);
     if (elmR.length == 1)    elmR = "0" + elmR;
     if (elmG.length == 1)    elmG = "0" + elmG;
     if (elmB.length == 1)    elmB = "0" + elmB;


     elmH = elmH + rate;
     if (elmH >= 250)
         rate = -10;
     if (elmH <= 190)
         rate = 10;

     return '#' + elmR + elmG + elmB;
}
  //-->
