
var timeout     = 500;
var closetimer	= 0;
var ddmenuitem  = 0;
var GlobalID    = ''
function mopen(id,lnk)
{	
	GlobalID = id
	try
	{
		getPos(document.getElementById(lnk))
		mcancelclosetime();
		if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
		ddmenuitem = document.getElementById(id);
		ddmenuitem.style.visibility = 'visible';
	}
	catch(e)
	{
		//Do nothing
	}
}

function mclose(){if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';}

function mclosetime(){closetimer = window.setTimeout(mclose, timeout);}

function mcancelclosetime(){if(closetimer){window.clearTimeout(closetimer);closetimer = null;}}

document.onclick = mclose; 



function getPos(elm)
{
   var x = findPosX( elm );
   var y = findPosY( elm );
   var offset  = 17;


   document.getElementById(GlobalID).style.left    = x-20 + 'px';
   document.getElementById(GlobalID).style.top     = ( y + offset ) + 'px';
}




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;
globalTipX = curleft

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;
   globalTipY = curtop

   return curtop;
}
