// Multi-Color Fader for Any Objects
// Supports Most Browsers
// Created by Robert R.
// email:rrosania@relsyscorp.com
// 04 Sep 2004

rgb_beg=[255,100,100]
rgb_end=[255,255,255]

//footer_beg=[000,000,000]
footer_beg=[000,000,000]
//footer_end=[000,000,000]
footer_end=[000,000,000]
// footer_end=[000,000,000]

nav_beg=[000,000,000]
nav_end=[000,000,000]
//nav_end=[000,000,000]
//nav_end=[000,000,000]
//nav_end=[000,000,000]
//nav_end=[000,000,000]
// nav_end=[000,000,000]


over_spd=18
out_spd=48

document.onmouseover = domouseover;
document.onmouseout  = domouseout;
document.onclick     = doclick;


dualhex = new Array()
hex = ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"]
for(i = 0; i < 256; i++) dualhex[i] = hex[parseInt(i / 16)] + hex[i % 16]


function domouseover(event) {
   var e = event ? event : window.event;                               // Get the event (support both W3C DOM and IE event models)
   var srcElement = e.srcElement ? e.srcElement : e.target;            // Determine the element that triggered the event (support both W3C DOM and IE event models)
   var p = srcElement.parentNode;

   while(srcElement.id == null)
     srcElement = srcElement.parentNode;
  
   if (srcElement.className == "navbuttonmenu"){
     fade(srcElement.id, srcElement.className, 1);
   }
}

 
function domouseout(event) {
   var e = event ? event : window.event;                               // Get the event (support both W3C DOM and IE event models)
   var srcElement = e.srcElement ? e.srcElement : e.target;            // Determine the element that triggered the event (support both W3C DOM and IE event models)

   while(srcElement.id == null)
     srcElement = srcElement.parentNode;

   if (srcElement.className == "navbuttonmenu")
     setTimeout("fade('" + srcElement.id + "','" + srcElement.className + "', 0)", over_spd * over_spd * 2);
}


function fade(element, style , over){
  if(over) {

    if (style == "navbuttonmenu" )
    {
    // alert (element.parentNode.style.background);
    
    // alert( document.all('element.parentNode').style );
    }
    spd = over_spd;
    if(style == "navbuttonmenu" ){
      beg = rgb_beg;
      end = rgb_end;
    }
    else{
      beg = nav_beg;
      end = nav_end;
    }
  }
  else {
    spd = out_spd;
     if (style =="navbuttonmenu"){
      beg = rgb_end;
      end = rgb_beg;
     }
     else{
      beg = nav_end;
      end = nav_beg;
     }
  }
  if(document.getElementById )  // Recent DOM Compliance?
    for(i = 0; i <= spd; i++)
      setTimeout("document.getElementById('" + element + "').style.color = '#"
       + dualhex[Math.floor(beg[0] * ((spd - i) / spd) + end[0] * (i / spd))]
       + dualhex[Math.floor(beg[1] * ((spd - i) / spd) + end[1] * (i / spd))]
       + dualhex[Math.floor(beg[2] * ((spd - i) / spd) + end[2] * (i / spd))] + "';",  i * spd)
    else
    for(i = 0; i <= spd; i++)
      setTimeout("document.all['" + element + "'].style.color = '#"
       + dualhex[Math.floor(beg[0] * ((spd - i) / spd) + end[0] * (i / spd))]
       + dualhex[Math.floor(beg[1] * ((spd - i) / spd) + end[1] * (i / spd))]
       + dualhex[Math.floor(beg[2] * ((spd - i) / spd) + end[2] * (i / spd))] + "';",  i * spd)
}

function doclick(event){
   var e = event ? event : window.event;                               // Get the event (support both W3C DOM and IE event models)
   var srcElement = e.srcElement ? e.srcElement : e.target;            // Determine the element that triggered the event (support both W3C DOM and IE event models)

   if (srcElement.className == "navbuttonmenu" )
      srcElement.blur();
}

function hex2dec(Color){
  var colorArr = [0,0,0];
  for (i=1; i<7; i++ ){
    for (j=0; j<16; j++ ){
      if (Color.charAt(i) == hex[j]){
        if (i%2 !=0)
          colorArr[Math.floor((i-1)/2)] = colorArr[Math.floor((i-1)/2)] + eval(j)*16;
        else
          colorArr[Math.floor((i-1)/2)] = colorArr[Math.floor((i-1)/2)] + eval(j);
      }
    }
  }
  return colorArr;
}
