var menuTimers = new Array();
var menuProperties = {
	delay:250,
	controlsToHide:new Array("SELECT", "IFRAME")
}

function showMenu(parent, id, type){
	var menu = getObj(id);
	if(type == 0){
		var posX = getObjX(parent);
		var posY = getObjY(parent) + getObjHeight(parent);

		/*// Align in the center of the menu
		var parentWidth = getObjWidth(parent);
		var menuWidth = getObjWidth(menu);
		posX += (parentWidth - menuWidth)/2;*/
		//posX += 1;
		
		if(navigator.appName == 'Microsoft Internet Explorer'){
				//posY += 1;
		}
		var page = getObj('pageLayout');
		// If extends off page
		if(posX < getObjX(page)){
			posX = getObjX(page);
		} else if(posX + getObjWidth(menu) > getObjX(page) + getObjWidth(page)){
			posX -= (posX + getObjWidth(menu) - (getObjX(page) + getObjWidth(page)));
		}
		menu.style.left = posX + 'px';
		menu.style.top = posY + 'px'; 
	} else {
		//if(IE don't subtract 1px)
		//menu.style.left = getObjX(parent) + getObjWidth(parent) + 'px';
		menu.style.left = getObjWidth(parent) + 'px';
		menu.style.top = 0 + 'px'; //parent.offsetTop + 1 + 'px';
	}
	menu.style.visibility = 'visible';

	// Need to Fix problem with IE and Controls
	if(document.all)
		hideControls(getObj(id));
}
function hideMenu(id){
	closeMenu(id);

	//if(menuTimers[id]) clearTimeout(menuTimers[id]);
	//menuTimers[id] = setTimeout('closeMenu("' + id + '");', menuProperties.delay);
}
function closeMenu(id){
	var menu = getObj(id);
	menu.style.visibility = 'hidden';
	showControls(getObj(id));
	/*var menuStyle = getStyleObj("div_" + id);
	if(menuStyle) menuStyle.visibility = "hidden";
	showControls(getObj('div_' + id));*/
}
// IE Form Control Element Functions
function hideControls(menu){
	if(!menu.hiddenControls) menu.hiddenControls = new Array();

	var x = getObjX(menu);
	var y = getObjY(menu);
	var w = menu.offsetWidth;
	var h = menu.offsetHeight;

	for(var i = 0; i < menuProperties.controlsToHide.length; i++){
		var tagArray = document.all.tags(menuProperties.controlsToHide[i]);
		for(var j = 0; j < tagArray.length; j++){
			var obj = tagArray[j];
			if(!obj || !obj.offsetParent) continue;

			var objX = getObjX(obj);
			var objY = getObjY(obj);
			var objW = obj.offsetWidth;
			var objH = obj.offsetHeight;

			if(objX >= (x + w) || (objX + objW) <= x) continue;
			if(objY >= (y + h) || (objY + objH) <= y) continue;
	
			menu.hiddenControls[menu.hiddenControls.length] = obj;
			obj.style.visibility = "hidden";
		}
	}
}
function showControls(menu){
	if(menu.hiddenControls){
		for(var i = 0; i < menu.hiddenControls.length; i++){
			menu.hiddenControls[i].style.visibility = "visible";
		}
		menu.hiddenControls = null;
	}
}