var ID_actualpopup = 0;
var ID_timer = 0;
var hideTime = 1000;

var jsDOM0 = (document.all);
var jsDOM1 = (document.getElementById);
var jsDOM = jsDOM0 || jsDOM1;


function hidePopUp(ID_popup)
{
	if (ID_popup) document.all[ID_popup].style.display='none';
}

function getPageXY(elm)
{
  var point = { x: 0, y: 0 };
  while (elm)
  {
    point.x += elm.offsetLeft;
    point.y += elm.offsetTop;
    elm = elm.offsetParent;
  }
  return point;
}

function getObj (name) {
    if (typeof name == "object") return name;
    if (jsDOM1) return document.getElementById(name);
    if (jsDOM0) return eval('document.all.'+name);
    else return null;
    }
	
function getObjW(name) {
    var n,x,obj=name;
    n = ( (x=obj.style.pixelWidth) || (x=obj.clientWidth) || (x=obj.offsetWidth) || (x=parseInt(obj.style.width)) ) ? x:null;
    return n;
    }
function getObjH(name) {
    var n,x,obj=name;
    n = ( (x=obj.style.pixelHeight) || (x=obj.clientHeight) || (x=obj.offsetHeight) || (x=parseInt(obj.style.height)) ) ? x:null;
    return n;
    }

function hideActualPopUp()
{
	if (ID_actualpopup)
	{
		document.all[ID_actualpopup].style.display='none';
		ID_actualpopup = 0;
	}
}

function menuOut(ID_popup)
{
	if (ID_timer) clearTimeout(ID_timer);
	ID_timer = setTimeout('hideActualPopUp()', hideTime);
}

function menuIn()
{
	if (ID_timer) clearTimeout(ID_timer);
	ID_timer = 0;
}

function menuOver(obj, ev, ID_popup, alignType)
{
	if (ID_timer!=0)
	{
		clearTimeout(ID_timer);
		ID_timer = 0;
	}
	if (ID_actualpopup != ID_popup)
	{
		hideActualPopUp();
		if (ev!=0)
		{
			var point;
//			obj = getObj('mainmenu');
			point = getPageXY(obj);
			if (isNaN(point.y) || isNaN(point.x))
			{
				document.all[ID_popup].style.top=ev.y+document.body.scrollTop;
				document.all[ID_popup].style.left=ev.x+document.body.scrollLeft;
			}
			else if (alignType==1 || alignType==4)
			{
				document.all[ID_popup].style.top=point.y+getObjH(obj)-2;
				document.all[ID_popup].style.left=ev.x+document.body.scrollLeft;
			}
			else if (alignType==2)
			{
				document.all[ID_popup].style.top=point.y;
				document.all[ID_popup].style.left=point.x+getObjW(obj);
			}
			else
			{
				document.all[ID_popup].style.top=point.y;
				document.all[ID_popup].style.left=point.x+getObjW(obj);
			}
		}
		document.all[ID_popup].style.display='';
		ID_actualpopup = ID_popup;
	}
}
