var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 0;

// open hidden layer
 
function mopen(id, obj){	
	var xc = 0;
	var yc = 0;
	yc = findPosY(obj);
	xc = findPosX(obj);
	xc = xc + 2;
	yc = yc + 37;
	// cancel close timer
	mcancelclosetime();
	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
  ddmenuitem = document.getElementById(id);
  if (ddmenuitem.innerHTML != ''){
  ddmenuitem.style.left = xc + 'px';
  ddmenuitem.style.top = yc + 'px';
  ddmenuitem.style.visibility = 'visible';
  }
}
 
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 findPosX(obj) {
    var cur = 0;
	if(obj.offsetParent)
        while(1)
        {
          cur += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        cur += obj.x;
    return cur;
}

// close showed layer
 
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}
// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}
// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}
// close layer when click-out
document.onclick = mclose; 

