function mg_MouseOut(menuGroupID, UniqueMenuID) {	
	if (document.readyState != 'complete') return;	
	var obj = document.all(menuGroupID);	
	var toElement = event.toElement;			
	var re = new RegExp("mi_","ig");	
	var miID = GetLastMenuItemID(UniqueMenuID).replace(re, "");	
	var childMenuGroup = document.all(UniqueMenuID+"_mg_"+miID);	
	if (obj.contains(toElement)) return;			
	if (!IsMouseOnObject(menuGroupID, 1)) {		
		if (obj.isDefault=="1") {
			if (!IsOnAnyMenuGroup(UniqueMenuID)) {	
				ApplyAllDDLs('visible');
			}
			return;		
		} else {			
			try {			
				if ((!IsMouseOnObject('mi_'+obj.pMI, 1))) {				
					if (childMenuGroup==null) {					
						obj.style.display = 'none';				
					}				
					if (childMenuGroup!=null) {					
						if (!IsMouseOnObject(childMenuGroup.id, 1)) {						
							obj.style.display = 'none';					
						}				
					}			
				} 			
				if (!IsOnAnyMenuGroup(UniqueMenuID)) {	
					ApplyAllDDLs('visible');
					HideAllMenuGroups(UniqueMenuID);			
				}			
			} catch (e) {				
				//alert(childMenuGroup);			
			}		
		}	
	}
}
function ApplyAllDDLs(visibilityValue) {
	var ddls = document.getElementsByTagName("SELECT");
	//alert(ddls.length+" "+visibilityValue);
  for (var i=0;i<ddls.length;i++) {
		ddls[i].style.visibility = visibilityValue;
	}
	
}
function HideAllMenuGroups(UniqueMenuID) {	
	var menu = document.all(UniqueMenuID+"_Menu");	
	var tablesCollection = menu.getElementsByTagName("TABLE");	
	for (var i=0;i<tablesCollection.length;i++) {		
		var obj = tablesCollection[i];		
		if (obj.id.indexOf("_mg_")!=-1 && obj.isDefault!="1") {			
			obj.style.display = "none";		
		}	
	}
}
function IsOnAnyMenuGroup(UniqueMenuID) {	
	var result = false;	var menu = document.all(UniqueMenuID+"_Menu");	
	var tablesCollection = menu.getElementsByTagName("TABLE");	
	for (var i=0;i<tablesCollection.length;i++) {		
		var obj = tablesCollection[i];		
		if (obj.id.indexOf("_mg_")!=-1) {			
			if (IsMouseOnObject(obj.id, 1)) {				
				result = true;				
				break;			
			}		
		}	
	}	
	return result;
}
function ChangeIcon(menuItemID, id_prefix, attr) {
	if (document.readyState != 'complete') return;	
	var obj = document.all(menuItemID);	
	var ic = document.all(id_prefix+"_"+menuItemID);
	if ((ic!=null) && (ic!="undefined")) {
		var attrVal = eval("obj."+attr);
		if ((attrVal!=null) && (attrVal!="undefined") && (attrVal!="")) {
			ic.src = attrVal;
		}
	}
}
function mi_MouseOver(menuItemID, UniqueMenuID) {	
	if (document.readyState != 'complete') return;	
	var obj = document.all(menuItemID);	
	var fromEl = event.fromElement;	
	if (obj.contains(fromEl)) return;	
	SetLastMenuItemID(menuItemID, UniqueMenuID);	
	window.status = obj.url;
	
	ChangeIcon(menuItemID, "LM_li", "LM_lio");
	ChangeIcon(menuItemID, "LM_lai", "LM_laio");
	ChangeIcon(menuItemID, "LM_rai", "LM_raio");
	ChangeIcon(menuItemID, "LM_ri", "LM_rio");
		
	var mg;	
	mg = obj;	
	while((mg = mg.offsetParent)) {		
		if (mg.tagName == "TABLE") break;	
	}
	if (obj.className == obj.c) {		
		obj.className = obj.co;	
	} 	
	var re = new RegExp("mi_","ig");	
	var miID = menuItemID.replace(re, "");	
	var childMenuGroup = document.all(UniqueMenuID+"_mg_"+miID);	
	if (childMenuGroup!=null) {		
		ShowMenuGroup(childMenuGroup, mg.direction, obj);	
	}
}
function SetLastMenuItemID(menuItemID, UniqueMenuID) {	
	var hi = document.all(UniqueMenuID+"_hi_Item");	
	hi.value = menuItemID;
}
function GetLastMenuItemID(UniqueMenuID) {	
	var hi = document.all(UniqueMenuID+"_hi_Item");	
	return hi.value;
}
function mi_MouseOut(menuItemID, UniqueMenuID) {	
	if (document.readyState != 'complete') return;	
	var obj = document.all(menuItemID);	
	var toEl = event.toElement;	
	if (obj.contains(toEl)) return;	
	window.status = "";	
	
	ChangeIcon(menuItemID, "LM_li", "LM_li");
	ChangeIcon(menuItemID, "LM_lai", "LM_lai");
	ChangeIcon(menuItemID, "LM_rai", "LM_rai");
	ChangeIcon(menuItemID, "LM_ri", "LM_ri");
	
	
	var mg;	mg = obj.offsetParent;	
	while((mg = mg.offsetParent)) {		
		if (mg.tagName == "TABLE") break;	
	}	
	if (obj.className == obj.co) {		
		obj.className = obj.c;	
	} 	
	var re = new RegExp("mi_","ig");	
	var miID = menuItemID.replace(re, "");	
	var childMenuGroupID = UniqueMenuID+"_mg_"+miID;	
	if (!IsMouseOnObject(childMenuGroupID, 1)) {		
		var childMenuGroup = document.all(childMenuGroupID);		
		if (childMenuGroup!=null) {			
			childMenuGroup.style.display = "none";			
			//alert();		
		}	
	}
}
function mi_OnClick(menuItemID, UniqueMenuID) {	
	var obj = document.all(menuItemID);	
	var url = obj.url;	
	var trg = obj.trg;	
	if (trg==null || trg =="" || trg=='undefined') trg="_self";	
	//alert(trg);	
	var lnk = window.document.all("lnkMenu_"+UniqueMenuID);	
	if (lnk.length>1) lnk = lnk[0];	
	//alert(lnk+" "+trg);	
	lnk.target = trg;	
	lnk.href = url;	
	lnk.click();
}
function ShowMenuGroup(childMenuGroup, direction, menuItem) {	
	childMenuGroup.style.position = "absolute";	
	childMenuGroup.style.display = "block";
	ApplyAllDDLs("hidden");
	if (direction == "Horizontal") {
		var absX = aspnm_pageX(menuItem)+childMenuGroup.clientWidth;
		var endX = window.document.body.clientWidth+window.document.body.scrollLeft;
		if ((absX+10)>endX) {
			childMenuGroup.style.left=endX-childMenuGroup.clientWidth-2;
		} else {
			childMenuGroup.style.left = aspnm_pageX(menuItem);		
		}
		childMenuGroup.style.top = aspnm_pageY(menuItem)+menuItem.offsetHeight-1;	
	} else {		
		childMenuGroup.style.left = aspnm_pageX(menuItem)+menuItem.offsetWidth-1;		
		childMenuGroup.style.top = aspnm_pageY(menuItem);	
	}	
	/*if (childMenuGroup.style.display != "block") {		
		childMenuGroup.style.display = "block";	
	}*/
}
function IsMouseOnObject(objName, ofs){	
	var obj= window.document.all(objName);		
	if (obj == null) { return false;}	  
	if (objName)  {    
		var objLeft = aspnm_pageX(obj) - window.document.body.scrollLeft + ofs;     
		var objTop = aspnm_pageY(obj) - window.document.body.scrollTop + ofs;     
		var objRight = objLeft + obj.offsetWidth - ofs + 2;     
		var objBottom = objTop + obj.offsetHeight - ofs + 2;   
		 if ((event.x > objLeft) && (event.x < objRight) && (event.y > objTop) && (event.y < objBottom)) 
			return true;     
			else return false;   
	}  else return false; 
}
	// Calculates X position of element
function aspnm_pageX(element){  
	var x = 0;  
	do {    
		if (element.style.position == 'absolute') {      
			return x + element.offsetLeft;     
		} else {      
			x += element.offsetLeft;      
			if (element.offsetParent)         
				if (element.offsetParent.tagName == 'TABLE')           
					if (parseInt(element.offsetParent.border) > 0) {            
						x += 1;           
					}    
				}  
			}  
		while ((element = element.offsetParent));  
		return x;
}
// Calculates Y position of element
function aspnm_pageY(element){  
	var y = 0;  
	do   {    if (element.style.position == 'absolute') {      
		return y + element.offsetTop;     
	}    else    {      
		y += element.offsetTop;      
		if (element.offsetParent)         
			if (element.offsetParent.tagName == 'TABLE')           
				if (parseInt(element.offsetParent.border) > 0) {            
					y += 1;           
				}    
		}  
	}  
	while ((element = element.offsetParent));  
	return y; 
}
