  var ActiveTooltip = null;
  var mouseX = 0;
  var mouseY = 0;
  
  function ShowTooltip(id) {
    ActiveTooltip = document.getElementById[id];
    if(!ActiveTooltip) ActiveTooltip = document.all[id];
    ActiveTooltip.style.visibility = "visible";
	UpdateTooltip();
    if (document.captureEvents) document.captureEvents (Event.MOUSEMOVE);
    document.onmousemove = GlobalMouseMove;

  }

  function HideTooltip(id) {
    if (ActiveTooltip) {
      ActiveTooltip.style.visibility = "hidden";
      document.onmousemove = null;
    }
  }

  function UpdateTooltip()
  {
	if (ActiveTooltip) {
      
	  if ((1.1 * ActiveTooltip.clientWidth) < ActiveTooltip.clientHeight) {
        while (ActiveTooltip.clientWidth < (ActiveTooltip.clientHeight *1.8)) {
          ActiveTooltip.style.width = ActiveTooltip.clientWidth + 20 + "px";
        }
      }
      
	  var scrollLeft;
      
      if (document.body.dir == 'rtl')
        scrollLeft = - document.body.scrollLeft;
      else
        scrollLeft = + document.body.scrollLeft;

	  var testTop = mouseY + 20;
      var testLeft = mouseX - (ActiveTooltip.scrollWidth / 2);

      var tooltipAbsLeft = (testLeft < 10) ? 10 : testLeft;
      
      if(window.Event) { // Netscape
        var tooltipAbsTop = (testTop < 10) ? 10 : testTop;
      } else {
	    testTop = testTop + document.body.scrollTop;
		var tooltipAbsTop = (testTop < document.body.scrollTop) ? document.body.scrollTop + 10 : testTop;
	  }
	        	  
      var header_temp = document.getElementById["header"];
      if(!header_temp) header_temp = document.all.header;
      
	  if (header_temp) {
        tooltipAbsTop = tooltipAbsTop - header_temp.clientHeight;
	  }

      if(window.Event) { //Netscape
        ActiveTooltip.style.left = tooltipAbsLeft + "px";
        ActiveTooltip.style.top = tooltipAbsTop + "px";
        ActiveTooltip.style.overflow = "visible";
      } else { // Internet Explorer
        ActiveTooltip.style.posLeft = tooltipAbsLeft + scrollLeft;
        ActiveTooltip.style.posTop = tooltipAbsTop;
      }

      
    }
  }

  function GlobalMouseMove(e) {
    if(window.Event) { //Netscape
	  mouseX = e.pageX;
	  mouseY = e.pageY;
    } else { // Internet Explorer
      mouseX = window.event.clientX;
      mouseY = window.event.clientY;
    }
     if (ActiveTooltip)
       UpdateTooltip();
  }
