function findPosX(obj)
{
  var curleft = 0;
  if(obj.offsetParent)
      while(1) 
      {
        curleft += obj.offsetLeft;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
      }
  else if(obj.x)
      curleft += obj.x;
  return curleft;
}

function findPosY(obj)
{
  var curtop = 0;
  if(obj.offsetParent)
      while(1)
      {
        curtop += obj.offsetTop;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
      }
  else if(obj.y)
      curtop += obj.y;
  return curtop;
}
function adjustGlossaryPosition(glossaryElementId, referenceElement)
{
  if (referenceElement != null)
  {
     var xpos = findPosX(referenceElement);
     var ypos = findPosY(referenceElement);
     var glossaryElement = document.getElementById(glossaryElementId);
     if (glossaryElement != null)
     {
        var xOffset = (glossaryElement.className == "popup_body") ? 12 : 0;
        var yOffset = (glossaryElement.className == "popup_body") ? 10 : 15;
		    var topPos = (ypos + yOffset);
		    var leftPos = (xpos - xOffset);	
        glossaryElement.style.top = topPos + "px";
        glossaryElement.style.left = leftPos + "px";
     }
  } 
}
