  var fadeDiv = {
    timer: null,
	
	show: function(id) {
	  var div = document.getElementById ? document.getElementById(id) : null;
	  if (!div) return;
	  if (div.style.visibility != 'visible') {
	    div.style.visibility='visible';
	    fadeDiv.fadeIn(id,0);
	  }
	},

	hide: function(id) {
	  var div = document.getElementById ? document.getElementById(id) : null;
	  if (!div) return;
	  //fadeDiv.fadeOut(id,100);
	  div.style.visibility='hidden';
	},
	
	mouseoutCheck: function(obj,id,e) {
	  e = e ? e : window.event;
	  var div = document.getElementById(obj.id);
	  var toEl = e.relatedTarget ? e.relatedTarget : e.toElement;
	  if (div != toEl && !fadeDiv.contained(toEl,div)) fadeDiv.hide(id);
	},
	
	contained: function(oNode,oCont) {
	  if (!oNode) return;
	  while (oNode = oNode.parentNode)
	    if (oNode == oCont) return true;
	  return false;
	},
	
	setOpacity: function(obj,opacity) {
	  var 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;
	},

	fadeIn: function(id,opacity) {
	  var div = document.getElementById(id);
	  if (opacity <= 100) {
		opacity += 5;
	    fadeDiv.setOpacity(div,opacity);
		setTimeout("fadeDiv.fadeIn('"+id+"',"+opacity+")",35);
	  }
	},

	fadeOut: function(id,opacity) {
	  var div = document.getElementById(id);
	  if (opacity >= 0) {
	    fadeDiv.setOpacity(div,opacity);
		opacity -= 5;
		setTimeout("fadeDiv.fadeOut('"+id+"',"+opacity+")",35);
	  } else {
	  	div.style.visibility='hidden';
	  }
	}

  }
