
ShowLayerOverride = ShowLayer
ShowLayer = function(MenuID,iLeft,iTop){ShowLayerOverrideWorker(MenuID,iLeft,iTop);};

function ShowLayerOverrideWorker(MenuID,iLeft,iTop){
	HideSelectBoxes(MenuID, iLeft, iTop);
	ShowLayerOverride(MenuID,iLeft,iTop);
}

HideLayerOverride = HideLayer
HideLayer = function(MenuID,iLeft,iTop){HideLayerOverrideWorker(MenuID,iLeft,iTop);};

function HideLayerOverrideWorker(MenuID,iLeft,iTop){
	HideLayerOverride(MenuID,iLeft,iTop);
	ShowSelectBoxes(MenuID, iLeft, iTop);
}

function updateSelects(intDisplay, MenuID, iLeft, iTop){
	var strStyleDisplay;
	if(is.ie4up){
		if (intDisplay){
			strStyleDisplay = "visible";
		}else{
			strStyleDisplay = "hidden";
		}
							
		for(intForm=0;intForm < document.forms.length;intForm++){
			// Ignore search page
			if (document.forms[intForm].name != "Search"){
				var arrElements = document.forms[intForm].elements;

				for(intElement = 0;intElement < arrElements.length;intElement++){
					// Look for only select boxes
					if((arrElements[intElement].type == "select-one") || (arrElements[intElement].type == "select-multiple")){
						if (intDisplay){
							// Display all text boxes
							arrElements[intElement].style.visibility = strStyleDisplay;
						}else{
							// Hide only those select boxes in menu panel area
							var intElementTop = 0 ;
							var intElementLeft = 0;
							var intElementRight = 0;
							var objElement = arrElements[intElement];
									
							// Get element absolute refs
							while (objElement != null){
								intElementTop += objElement.offsetTop;
								intElementLeft += objElement.offsetLeft;
								objElement = objElement.offsetParent
							}
								
							intElementRight = intElementLeft + arrElements[intElement].offsetWidth;	
							
							if(intElementRight > iLeft){
								var intElementRight = intElementLeft + arrElements[intElement].offsetWidth;
								
								if(intElementLeft < (iLeft + document.all(MenuID).offsetWidth)){
									var intPanelBottom = iTop + document.all(MenuID).offsetHeight;
									
									if (intPanelBottom > intElementTop){
										arrElements[intElement].style.visibility = strStyleDisplay;
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

function HideSelectBoxes(MenuID, iLeft, iTop){
	updateSelects(0, MenuID, iLeft, iTop);
}

function ShowSelectBoxes(MenuID, iLeft, iTop){
	updateSelects(1, MenuID, iLeft, iTop);
}

