var timer = null;
var menus = new Array();
var menus_ttl = new Array();

var ie_ready = false;
var ie_elements;
var ie_elements_crd = new Array();

function MBox(x1, y1, x2, y2)
{
	this.x1 = x1;
	this.y1 = y1;
	this.x2 = x2;
	this.y2 = y2;
}

function IE_Init()
{
	if (!document.all) return;

	ie_elements = document.getElementsByTagName("SELECT");
	ie_ready = true;

	for (var i = 0; i < ie_elements.length; i++)
	{
		var x1 = __getLeftPos(ie_elements[i]);
		var y1 = __getTopPos(ie_elements[i]);
		var x2 = x1 + ie_elements[i].offsetWidth - 1;
		var y2 = y1 + ie_elements[i].offsetHeight - 1;
		ie_elements_crd[i] = new MBox(x1, y1, x2, y2);
	}
}

function ShowMenu(th, menuId)
{
	MenuHideAll();
	var x = __getLeftPos(th);
	var y = __getTopPos(th);

	var el = document.getElementById("top");
	var maxw = __getLeftPos(el) + el.offsetWidth - 1;

	menus[menuId].style.display = "block";
	if (x+menus[menuId].offsetWidth > maxw) x = maxw - menus[menuId].offsetWidth;
	
	menus[menuId].style.left = x+"px";
	menus[menuId].style.top = y+"px";
//	menus_ttl[menuId].className = "top-sub-act hand";
	MenuHideTimerReset();

	var ex = x + menus[menuId].offsetWidth - 1;
	var ey = y + menus[menuId].offsetHeight + 22 - 1;	// 22 - margin

	if (document.all)
	{
		if (!ie_ready) IE_Init();
		for (var i = 0; i < ie_elements_crd.length; i++)
		{
			if (ex>=ie_elements_crd[i].x1 && x<=ie_elements_crd[i].x2 &&
			    ey>=ie_elements_crd[i].y1 && y<=ie_elements_crd[i].y2)
			{
				ie_elements[i].style.visibility = "hidden";
			}
		}
	}
}

function MenuHideAll()
{
	for (var k in menus) menus[k].style.display = "none";
//	for (var k in menus_ttl) menus_ttl[k].className = "hand";

	if (document.all) {
		if (!ie_ready) IE_Init();
		for (var i = 0; i < ie_elements_crd.length; i++) {
			ie_elements[i].style.visibility = "visible";
		}
	}
}

function MenuHideTimerSet() {
	timer = window.setTimeout(MenuHideAll, 100);
}

function MenuHideTimerReset()
{
	if (timer) {
		window.clearTimeout(timer);
		timer = null;
	}
}
