var window_menus = new Array();

function CalcAbsoluteTop(el, elTopMost) {
	var itop = 0;
	while( el != elTopMost && el != null ) {
		if (el.tagName == "TBODY") continue;
		itop += el.offsetTop;
		el = el.offsetParent;
	}
	return itop;
}

function CalcAbsoluteLeft(el, elTopMost) {
	var ileft = 0;
	while( el != elTopMost && el != null ) {
		if (el.tagName == "TBODY") continue;
		ileft += el.offsetLeft;
		el = el.offsetParent;
	}
	return ileft;
}

function hideall() {
	for(var i=0; i < window_menus.length; i++) {
		hideMenu(i);
	}
}

function hideMenu(i) {
	window_menus[i].style.display = "none";
	window.clearTimeout(window_menus[i].timeoutid);
	window_menus[i].timeoutid = 0;
}

function blurmenu(e) {
	if(!e) e = window.event;
	if(!this.contains(document.activeElement)) {
		hideMenu (this.elIndex);
	}
}

function isInRangeOf(el, x, y) {
	//window.status=el.offsetHeight
	return (x + document.body.scrollLeft >= CalcAbsoluteLeft(el, document.body) && 
			x + document.body.scrollLeft <= CalcAbsoluteLeft(el, document.body) + el.offsetWidth) && 
			(y + document.body.scrollTop >= CalcAbsoluteTop(el, document.body) && 
			y + document.body.scrollTop <= CalcAbsoluteTop(el, document.body) + el.offsetHeight);
}

function blurtimed(e) {
	if(!e) {
		e = window.event;
	}
	if(!isInRangeOf(this, e.clientX, e.clientY) && !isInRangeOf(this.p, e.clientX, e.clientY)) {
		this.timeoutid = window.setTimeout("hideMenu("+this.elIndex+");", 1500);
	}
}

function clearTimeoutId() {
	if(this.timeoutid != 0){
		window.clearTimeout(this.timeoutid);
		this.timeoutid = 0;
	}
}

function showmenu(i, parent) {
	hideall();
	window_menus[i].elIndex = i;
	window_menus[i].timeoutid=0;
	window_menus[i].p = parent;
	window_menus[i].style.left = CalcAbsoluteLeft(parent, document.body) - 22 + "px";
	window_menus[i].style.top = CalcAbsoluteTop(parent, document.body) + parent.offsetHeight + 5 + "px";
	window_menus[i].style.display="";
	if(window_menus[i].focus) window_menus[i].focus();
	//window_menus[i].filters.alpha.opacity = 0;
	//fadeMenu(i);
}

function fadeMenu(i) {
	//window_menus[i].filters.alpha.opacity+=15;
	if(window_menus[i].filters.alpha.opacity < 90)
		window.setTimeout("fadeMenu("+i+");", 50);
}

