var Menu = null;
var curObj = null;
var activeObj = null;
var absTop, absBottom, absLeft, absRight, menuRight, menuTop, menuBottom, menuLeft;
var curColor = "";
var desColor = "";
var isT = 0;
var ie;
if (document.all) ie = true;
else ie = false;

function showMenu(obj, ev, f, l, t)
{
	if (Menu && Menu.id != "subMenu" + obj.id) {
		Menu.style.visibility = "hidden";
		Menu = null;
//		curObj = null;
	}
	var tempMenu = document.getElementById("subMenu" + obj.id);
	if (tempMenu) {
		Menu = tempMenu;
		absTop = getAbsTop(obj);
		absLeft = getAbsLeft(obj);
		//alert(absLeft);
		absLeft += l;
		absTop += t;
		if (f == "t") {
			Menu.style.left = absLeft;
			Menu.style.top = absTop + obj.offsetHeight;
			Menu.style.width = obj.offsetWidth-1;
			absBottom = absTop + obj.offsetHeight;
			menuBottom = absBottom + parseInt(Menu.offsetHeight);
			absRight = absLeft + obj.offsetWidth;
			menuRight = absLeft + parseInt(Menu.offsetWidth);
			menuTop = parseInt(Menu.style.top);
			menuLeft = absLeft;
			//curColor = "#9ed8a5";
			desColor = "";
			isT = 1;
		} else if (f == "l") {
			Menu.style.left = absLeft;// + obj.offsetWidth;
			Menu.style.top = absTop;
			absBottom = absTop + obj.offsetHeight;
			menuBottom = absTop + parseInt(Menu.offsetHeight);
			absRight = absLeft + obj.offsetWidth;
			menuRight = absLeft + parseInt(Menu.offsetWidth);
			menuTop = parseInt(Menu.style.top);
			//curColor = "#eeeeee";
			//desColor = "#ffffff";
			menuLeft = absLeft;
			isT = 0;
		} else if (f == "r") {
			absRight = absLeft + obj.offsetWidth;
			Menu.style.left = absRight - parseInt(Menu.offsetWidth);
			Menu.style.top = absTop;
			absBottom = absTop + obj.offsetHeight;
			menuBottom = absTop + parseInt(Menu.offsetHeight);
			menuRight = absRight;
			menuTop = parseInt(Menu.style.top);
			menuLeft = parseInt(Menu.style.left);
			//curColor = "#eeeeee";
			//desColor = "#ffffff";
			isT = 0;
		}
		setCur(obj);
		Menu.style.visibility = "visible";
		if (!ie) window.captureEvents(Event.MOUSEMOVE);
		document.body.onmousemove = tryHideT;
	} else {
		if (f == "t") {
			//curColor = "#9ed8a5";
			//desColor = "";
			isT = 1;
		} else if (f == "l") {
			//curColor = "#eeeeee";
			//desColor = "#ffffff";
			isT = 0;
		} else if (f == "r") {
			//curColor = "#eeeeee";
			//desColor = "#ffffff";
			isT = 0;
		}
		if (!ie) window.captureEvents(Event.MOUSEMOVE);
		obj.onmouseout = dropCur;
	}
	setCur(obj);
}

function getAbsLeft(obj)
{
	var temp;
	var retLeft = obj.offsetLeft;
	if (obj) {
		temp = obj;
		i=0;
		while ((temp = temp.parentNode) != false && temp) {
			i++;
			if (!isNaN(temp.offsetLeft)) retLeft += temp.offsetLeft;
		}
		//alert(i+"  "+retLeft);
	}
	return retLeft;
}

function getAbsTop(obj)
{
	var temp;
	var retTop = obj.offsetTop;
	if (obj) {
		temp = obj;
		var old;
		while ((temp = temp.parentNode) != false && temp)
			if (!isNaN(temp.offsetTop)) {
//				alert(temp.tagName + "|" + temp.offsetTop);
				if (old != "td" || temp.tagName.toLowerCase() != "tr")
					retTop += temp.offsetTop;
				old = temp.tagName.toLowerCase();
			}
	}
	return retTop;
}

function tryHideT(obj)
{
	if (ie) {
		var ev = window.event;
		var x = ev.x;
		var y = ev.y;
	} else {
		var ev = obj;
		var x = ev.pageX;
		var y = ev.pageY;
	}
	x += document.body.scrollLeft;
	y += document.body.scrollTop;
	if ((x < Math.min(absLeft, menuLeft) || y < Math.min(absTop-25, menuTop) || y > Math.max(menuBottom, absBottom) || x > Math.max(menuRight, absRight) || (x > menuRight && y > absBottom) || x <= 0) && Menu) {
		Menu.style.visibility = "hidden";
		Menu = null;
		dropCur();
	}
}

function dropCur()
{
	if (curObj && !isT) curObj.bgColor = desColor;
	else if (curObj && isT) {
		document.getElementById("left_" + curObj.id).src = defIm.src;
		document.getElementById("right_" + curObj.id).src = defIm.src;
		curObj.background = "";
	}
	curObj = null;
}

function setCur(obj)
{
	if (curObj) dropCur();
	curObj = obj;
	if (curObj && !isT) curObj.bgColor = curColor;
	else if (curObj && isT) {
		document.getElementById("left_" + curObj.id).src = leftIm.src;
		document.getElementById("right_" + curObj.id).src = rightIm.src;
		curObj.background = curBack.src;
	}
}
