var cMenu = new Array();
var cLevel;
var menuTimeOut = -1;
function doMenuOver(srcMenuTD, level, elementId){
	
	if(menuTimeOut != -1){
		clearTimeout(menuTimeOut);
	}
	menuTimeOut = setTimeout("clearMenus()", 4000);
	//var srcMenuTD = event.srcElement;
	//window.status = srcMenuTD.tagName;
	if(srcMenuTD.tagName =="TD"){
		if(level > -1){
			srcMenuTD.className="subMenuTDHighlight";
		}
		var cId = "menu"+elementId;
		if(document.getElementById(cId)){
			var cMenuBox = document.getElementById(cId);
			
		}
		else{
			if(cLevel >= level){
				for(var i = level; i < cMenu.length; i++){
					if(cMenu[i]){
						cMenu[i].style.visibility="hidden";
					}
				}
			}
			return false;
		}

		
		
		if(cMenuBox.style.visibility == "hidden"){
			
			if(cLevel >= level){
				for(var i = level; i < cMenu.length; i++){
					if(cMenu[i] && cMenuBox!=cMenu[i]){
						cMenu[i].style.visibility="hidden";
					}
				}
			}

			if(cMenuBox.style.visibility == "hidden"){
				if(level > 0){
					if(window.innerWidth){
						var maxWidth = window.innerWidth;
					}
					else{
						var maxWidth = document.body.clientWidth;
					}
					var cX = srcMenuTD.offsetWidth;
					var absLeft = getAbsLeft(srcMenuTD);
					newTotWidth = absLeft + cMenuBox.offsetWidth+cX;
					//alert("screen = "+maxWidth+" newWidth="+newTotWidth ); 
					if(newTotWidth > maxWidth){
						cX = srcMenuTD.offsetLeft - cMenuBox.offsetWidth;
						//alert("new cX = "+cX);
					}
					var cY = srcMenuTD.offsetTop;
				}
				else{
					//var cX = srcMenuTD.offsetLeft;
					var cX = srcMenuTD.offsetWidth -10;;
					//var cY = srcMenuTD.offsetTop + srcMenuTD.offsetHeight;
					var cY = srcMenuTD.offsetTop;
				}
				cMenuBox.style.left = cX;
				cMenuBox.style.top =cY;
				//alert("doing MenuOver with "+cMenuBox.innerHTML);
				if(cMenuBox.innerHTML.indexOf("</td>") > 0 || cMenuBox.innerHTML.indexOf("</TD>") > 0 ){
					cMenuBox.style.visibility = "visible";
					cMenu[level] = cMenuBox;
					cLevel = level;
				}
			}

		}
	}
}

function getAbsLeft(cNode){
	var absLeft = 0;
	if(cNode != document.body){
		absLeft += cNode.offsetLeft;
		absLeft += getAbsLeft(cNode.offsetParent);
	}
	return absLeft;
}

function clearMenus(){
	for(var i = 0; i < cMenu.length; i++){
		if(cMenu[i]){
			cMenu[i].style.visibility="hidden";
		}
	}	
}

function doMenuOut(srcMenuTD, level){
	if(level > -1){
		srcMenuTD.className="subMenuTD";
	}
}

