

function setObjOpacity(obj, opacity) {
  opacity = (opacity == 100)?99.999:opacity;
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  // Safari<1.2, Konqueror
  //obj.style.KHTMLOpacity = opacity/100;  
  // Older Mozilla and Firefox
  //obj.style.MozOpacity = opacity/100;
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}

function setOpacity(id, opacity)
{
  if (document.getElementById) {
    obj = document.getElementById(id);
    setObjOpacity(obj, opacity);
  }
}

function fade(id, start, stop, step, period, cb) {
  if (document.getElementById) {
    bDone = true;
    obj = document.getElementById(id);
    setObjOpacity(obj, start);
    if (step > 0) {
      start += step;
      if (start <= stop) {       
        bDone = false;
      }
    }
    else {
      start += step;
      if (start >= stop) {        
        bDone = false;
      }
    }
    if (bDone) {
      if (typeof(cb) == "function") cb();
    }
    else {
      window.setTimeout("fadeIn('"+id+"',"+start+","+stop+","+step+","+period+","+cb+")", period);
    }
  }
}

function fadeIn(id, start, stop, step, period, cb)
{
  fade(id, start, stop, step, period, cb);
}

function fadeOut(id, start, stop, step, period, cb)
{
  fade(id, start, stop, -step, period, cb);
}