var cur_img     = "";
var reset_alpha = 40;

function initImage(img_id) 
{
  cur_img = img_id;
  var image_elt = document.getElementById(img_id);
  setOpacity(image_elt, 0);
  image_elt.style.visibility = 'visible';
  fadeIn(img_id, 0);
}

function resetImage(img_id) 
{
  cur_img = null;
  var image_elt = document.getElementById(img_id);
//  setOpacity(image_elt, reset_alpha);
  image_elt.style.visibility = 'visible';
  fadeAway(img_id, 100);
}

function setOpacity(elt, opacity) 
{
  opacity = (opacity == 100) ? 99.999 : opacity;        // firefox flicker 1.0 (100%) fix
  
  elt.style.filter = "alpha(opacity:" + opacity + ")";  // IE/Win
  elt.style.KHTMLOpacity = opacity/100;                 // Safari<1.2, Konqueror
  elt.style.MozOpacity = opacity/100;                   // Older Mozilla and Firefox
  elt.style.opacity = opacity/100;                      // Safari 1.2, newer Firefox and Mozilla, CSS3
}

function fadeIn(img_id, opacity)
{
  if (document.getElementById) 
  {
    var elt = document.getElementById(img_id);
    if (opacity <= 100) 
    {
      setOpacity(elt, opacity);
      opacity += 5;
      if(img_id == cur_img) window.setTimeout( "fadeIn('" + img_id + "'," + opacity + ")", 10);
      else                  setOpacity(elt, reset_alpha);
    }
  }
}

function fadeAway(img_id, opacity)
{
  if (document.getElementById) 
  {
    var elt = document.getElementById(img_id);
    if (opacity > reset_alpha) 
    {
      setOpacity(elt, opacity);
      opacity -= 5;
      window.setTimeout( "fadeAway('" + img_id + "'," + opacity + ")", 5);
    }
  }
}
