var fActiveMenu = false;
var oOverMenu = false;

function mouseSelect(e)
{
	if (fActiveMenu)
	{
		if (oOverMenu == false)
		{
			oOverMenu = false;
			fActiveMenu.style.display = "none";
			fActiveMenu = false;
			return false;
		}
		return false;
	}
	return true;
}

function menuActivate(oEdit, oMenu, oSel)
{
	if (fActiveMenu) return mouseSelect(0);
	
	// calculate top and left
	nTop=nLeft=0;
	
	nTop = oEdit.offsetTop+oEdit.offsetHeight ;
	if(isIE()){
		nTop+=oEdit.offsetHeight;
		nLeft = oEdit.offsetLeft;
	}

	var str=("oEdit is="+oEdit.tagName+", id="+oEdit.id+", \noffsetLeft="+oEdit.offsetLeft+", offsetWidth="+oEdit.offsetWidth+", offsetTop="+oEdit.offsetTop+", offsetHeight="+oEdit.offsetHeight+"\n\nnLeft="+nLeft+", nTop="+nTop);
	while (oEdit.offsetParent)
	{
		oEdit = oEdit.offsetParent;		
		if(oEdit.id=="mainBodyDiv" /*|| oEdit.id=="bodyDiv"*/)
			continue;
		
		nTop += oEdit.offsetTop;		
		if(oEdit.id!="bodyDiv"){
			nLeft += oEdit.offsetLeft;
		}
		str+=("\n------------------------\noEdit is="+oEdit.tagName+
			", id="+oEdit.id+
			", display="+oEdit.style.display+
			", \noffsetLeft="+oEdit.offsetLeft+", offsetWidth="+oEdit.offsetWidth+", offsetTop="+oEdit.offsetTop+", offsetHeight="+oEdit.offsetHeight+
			"\n\nnLeft="+nLeft+", nTop="+nTop);
	}
	
	// set the top and left:
	oMenu.style.left = nLeft;
	oMenu.style.top = nTop;
	oMenu.style.display = "";
	
//	alert(str);
	
	// display:
	fActiveMenu = oMenu;
	oSel.focus();
	return false;
}

function textSet(oEdit, text)
{
	oEdit.value = text;
	oOverMenu = false;
	mouseSelect(0);
	oEdit.focus();
}

function comboKey(oEdit, oSel)
{
	if (window.event.keyCode == 13 || window.event.keyCode == 32)
		textSet(oEdit,oSel.value);
	else if (window.event.keyCode == 27)
	{
		mouseSelect(0);
		oEdit.focus();
	}
}
document.onmousedown = mouseSelect;
