var fadeTimer;

function SetOpacity(elem, opacityAsInt)   
{ 
  var opacityAsDecimal = opacityAsInt;  
  if (opacityAsInt > 100)  
    opacityAsInt = opacityAsDecimal = 100;  
  else if (opacityAsInt < 0)  
    opacityAsInt = opacityAsDecimal = 0;  
    opacityAsDecimal /= 100; 
  if (opacityAsInt < 1) 
    opacityAsInt = 1; // IE7 bug, text smoothing cuts out if 0 
    
  elem.style.opacity = (opacityAsDecimal); 
  elem.style.filter = "alpha(opacity=" + opacityAsInt + ")"; 
}

function FadeOpacity(elemId, fromOpacity, toOpacity, time, fps)
{
     var steps = Math.ceil(fps * (time / 1000));
     var delta = (toOpacity - fromOpacity) / steps;
     
     FadeOpacityStep(elemId, 0, steps, fromOpacity, 
                     delta, (time / steps));
}
 
function FadeOpacityStep(elemId, stepNum, steps, fromOpacity, 
                         delta, timePerStep)
{
    SetOpacity(document.getElementById(elemId), 
               Math.round(parseInt(fromOpacity) + (delta * stepNum)));

    if (stepNum < steps)
        fadeTimer = setTimeout("FadeOpacityStep('" + elemId + "', " + (stepNum+1) + ", " + steps + ", " + fromOpacity + ", " + delta + ", " + timePerStep + ");", timePerStep); 
}

function FadeOpacitySite()
{
    clearTimeout(fadeTimer)
    FadeOpacity('header', 0, 100, 200, 30);
    FadeOpacity('languageContainer', 0, 100, 200, 30);
    FadeOpacity('welcomeMiddleColumnContainer', 0, 100, 200, 30);
    FadeOpacity('footer', 0, 100, 200, 30);
}
