// Opacity and Fade in script.
// Script copyright (C) 2008 http://www.cryer.co.uk/.
// Script is free to use provided this copyright header is included.
function SetOpacity(object,opacityPct)
{
 // IE.
 object.style.filter = 'alpha(opacity=' + opacityPct + ')';
 // Old mozilla and firefox
 object.style.MozOpacity = opacityPct/100;
 // Everything else.
 object.style.opacity = opacityPct/100;
}
function ChangeOpacity(id,msDuration,msStart,fromO,toO)
{
 var element=document.getElementById(id);
 var opacity = element.style.opacity * 100;
 var msNow = (new Date()).getTime();
 opacity = fromO + (toO - fromO) * (msNow - msStart) / msDuration;
 if (opacity<0) 
   SetOpacity(element,0)
 else if (opacity>100)
   SetOpacity(element,100)
 else
 {
   SetOpacity(element,opacity);
   element.timer = window.setTimeout("ChangeOpacity('" + id + "'," +
msDuration + "," + msStart + "," + fromO + "," + toO + ")",1);
 }
}
function FadeIn(id)
{
 var element=document.getElementById(id);
 if (element.timer) window.clearTimeout(element.timer); 
 var startMS = (new Date()).getTime();
 element.timer = window.setTimeout("ChangeOpacity('" + id + "',1000," +
startMS + ",0,100)",1);
}
function FadeOut(id)
{
 var element=document.getElementById(id);
 if (element.timer) window.clearTimeout(element.timer); 
 var startMS = (new Date()).getTime();
 element.timer = window.setTimeout("ChangeOpacity('" + id + "',1000," +
startMS + ",100,0)",1);
}
function FadeInImage(foregroundID,newImage,backgroundID)
{
 var foreground=document.getElementById(foregroundID);
 if (backgroundID)
 {
   var background=document.getElementById(backgroundID);
   if (background)
   {
     background.style.backgroundImage = 'url(' + foreground.src + ')';
     background.style.backgroundRepeat = 'no-repeat';
   }
 }
 SetOpacity(foreground,0);
 foreground.src = newImage;
 if (foreground.timer) window.clearTimeout(foreground.timer); 
 var startMS = (new Date()).getTime();
 foreground.timer = window.setTimeout("ChangeOpacity('" + foregroundID +
"',1000," + startMS + ",0,100)",10);
}
