function enableTooltips(id){  
  if(!document.getElementById || !document.getElementsByTagName) return;     

  var links;
  var tooltips; 

  if(id==null) {
    links=document.getElementsByTagName("a");
    tooltips=document.getElementsByTagName("div");
  }
  else{
    links=document.getElementById(id).getElementsByTagName("a");
    tooltips=document.getElementById(id).getElementsByTagName("div");
  }

  var i;
  var tooltipIds = new Array();

  for(i=0;i<tooltips.length;i++){       
    if (tooltips[i].id.substring(0,8)=="tooltip_") {
      tooltipIds[i]=tooltips[i].id;
    }
  }

  for(i=0;i<tooltipIds.length;i++){
    var tooltip = document.getElementById(tooltipIds[i]);
    document.body.appendChild(tooltip);
  }

  for(i=0;i<links.length;i++){
    if (links[i].id.substring(0,10)=="m_tooltip_")
      adjustLink(links[i]);
  }
}

function adjustLink(el){
  el.onmouseover=showTooltip;
  el.onmouseout=hideTooltip;
}

function showTooltip(e){
  var id = this.id;
  var tooltip = document.getElementById(id.substring(2));

  tooltip.className='menu-tooltip';          
  tooltip.style.left = getX(this) + 90 + "px"; 
  tooltip.style.top = getY(this) - (tooltip.offsetHeight / 2) + 10 + "px";
}

function getX(elem)
{
  var retval = 0;

  while(elem != null) {
    retval += elem.offsetLeft;    
    elem = elem.offsetParent;

    if (elem!=null && (elem.style.position=='absolute' || elem.style.position=='relative')) break;
  }

  return retval;
}

function getY(elem) {
  var retval = 0;

  while(elem != null) {
    retval += elem.offsetTop;
    elem = elem.offsetParent;
  }

  return retval;
}

function hideTooltip(e){
  var id = this.id;
  var tooltip = document.getElementById(id.substring(2));
  tooltip.className='hidden-menu-tooltip';
}

function locate(e){
  var posx=0,posy=0;

  if(e==null) e=window.event;

  if(e.pageX || e.pageY){
    posx=e.pageX; posy=e.pageY;
  }
  else if(e.clientX || e.clientY){
    if(document.documentElement.scrollTop){
        posx=e.clientX+document.documentElement.scrollLeft;
        posy=e.clientY+document.documentElement.scrollTop;
        }
    else{
        posx=e.clientX+document.body.scrollLeft;
        posy=e.clientY+document.body.scrollTop;
        }
    }

  document.getElementById("tooltip").style.top=(posy-25)+"px";
  document.getElementById("tooltip").style.left=(posx+20)+"px";
}
