
// File = includes\MenuF.js

// Constants
	var MENUITEM_NORMALCOLOR = "#263E84";
	var MNEUITEM_OVERCOLOR ="#1A8AEC";
	var WIDTH = 0;
	var HEIGHT = 1;
	var LEFT = 2;
	var ITEMCOUNT = 3;
	var sColorHeaderOver = "#48506C"
	var sColorHeaderNormal = "#48506C"
	var iMenuCount = 3;
	
	// Global variables
	var aMenuDims = new Array(iMenuCount);
	
	function window_onload(){
		initMenus();
		
	}
		
	function initMenus(){
		
		var i, oMenu;
		
		for(i=0;i<iMenuCount;i++){
			aMenuDims[i] = new Array(3);
		}
		
		// Init Menu0
		oMenu = eval("Menu" + 0);
		aMenuDims[0][WIDTH] = 90;
		aMenuDims[0][HEIGHT] = 10;
		aMenuDims[0][LEFT] = 489; 
		aMenuDims[0][ITEMCOUNT] = getItemCount("Menu0");
		setMenuDims(0);
		
		// Init Menu1
		aMenuDims[1][WIDTH] = 96;
		aMenuDims[1][HEIGHT] = 20;
		aMenuDims[1][LEFT] = 395; 
		aMenuDims[1][ITEMCOUNT] = getItemCount("Menu1");
		setMenuDims(1);
		
		// Init Menu2		
		aMenuDims[2][WIDTH] = 101;
		aMenuDims[2][HEIGHT] = 10;
		aMenuDims[2][LEFT] = 295; 
		aMenuDims[2][ITEMCOUNT] = getItemCount("Menu2");
		setMenuDims(2);
		
	}
	
	function setMenuDims(iMnNo){
		
		var i;
		// Set menu & menu table width
		eval("Menu" + iMnNo).style.width = aMenuDims[iMnNo][WIDTH];
		eval("tblMenu" + iMnNo).style.width = aMenuDims[iMnNo][WIDTH];
		
		var iItemCount = aMenuDims[iMnNo][ITEMCOUNT];
		
		// Set height of menu items
		for (i=0;i<iItemCount;i++){
			eval("MItem" + iMnNo + i).height = aMenuDims[iMnNo][HEIGHT];
			eval("DivMItem" + iMnNo + i).style.width = aMenuDims[iMnNo][WIDTH];
		}
		
	}
	
	function onMenuBarOver(iMnNo){
		
		var oMenu = eval("Menu" + iMnNo);
		var oTblMenu = eval("tblMenu" + iMnNo);
		var oMenuBar = eval("MenuBar" + iMnNo);
		
		oMenuBar.bgColor = sColorHeaderOver;
		oMenuBar.style.cursor = "hand";
		
		// Calculate how much x-axis has been moved
		var iXScreenOffset = window.document.body.offsetWidth;
		var iXShift = (iXScreenOffset - 800 ) / 2;
		var iLeft = aMenuDims[iMnNo][LEFT];
		if (iXScreenOffset > 800){
			iLeft += iXShift;
		}
			
		oMenu.style.left = iLeft;
		oMenu.style.visibility = "visible";
		if (oTblMenu.border == 0){
			oTblMenu.border = 1;	
		}
	}
	
	function onMenuBarOut(iMnNo){
		
		var oMenuBar = eval("MenuBar" + iMnNo);
		oMenuBar.bgColor = sColorHeaderNormal;
		oMenuBar.style.cursor = "default";
		
		var e = window.event;
		var oMenu = eval("Menu" + iMnNo);
		if (!MenuContainsPoint(e,oMenu.id)){
			oMenu.style.visibility = "hidden";
		}
	}
	
	function hideMenu(iMnNo){
		var e = window.event;
		var oMenu = eval("Menu" + iMnNo);
		if (!MenuContainsPoint(e,oMenu.id)){
			oMenu.style.visibility = "hidden";
		}
	}


	function showMenu(iMnNo){

		var oMenu = eval("Menu" + iMnNo);
		var oTblMenu = eval("tblMenu" + iMnNo);

		// Calculate how much x-axis has been moved
		var iXScreenOffset = window.document.body.offsetWidth;
		var iXShift = (iXScreenOffset - 800 ) / 2;
		var iLeft = aMenuDims[iMnNo][LEFT];
		if (iXScreenOffset > 800){
			iLeft += iXShift;
		}
			
		oMenu.style.left = iLeft;
		oMenu.style.visibility = "visible";
		if (oTblMenu.border == 0){
			oTblMenu.border = 1;	
		}
	}


	
	function onHeaderLabelOver(iLblNo){
		if (iLblNo >= 0){
			var oLabel = eval("HeaderLabel" + iLblNo);
			oLabel.bgColor = sColorHeaderOver;
			oLabel.style.cursor = "hand"
		}
		Menu0.style.visibility = "hidden";	
	}
	
	function onHeaderLabelOut(iLblNo){
		if (iLblNo >= 0){
			var oLabel = eval("HeaderLabel" + iLblNo);
			oLabel.bgColor = sColorHeaderNormal;
			oLabel.style.cursor = "default"
		}	
	}
	
	function getItemCount(sParentId){
		
		var i,iItemCount;
		var oTRs = document.getElementsByTagName("tr");
		iItemCount = 0;
		for(i=0;i<oTRs.length;i++){
			if (oTRs[i].PARENTID == sParentId){
				iItemCount = iItemCount + 1;
			}
		}
		return iItemCount;
	}

	function onMenuItemOver(){
		
		var sOverColor;
		var oSrc = window.event.srcElement;
		oSrc.style.cursor = "hand";		
		oSrc.bgColor = MNEUITEM_OVERCOLOR ;
	}

	function onMenuOut(MnNo){
	
		var e = window.event;
		var oMenu = eval("Menu" + MnNo);
		if (!MenuContainsPoint(e,oMenu.id)){
			oMenu.style.visibility = "hidden";
		}
	}	

	function onMenuItemOut(){
		
		var oSrc = window.event.srcElement;
		oSrc.style.cursor = "hand";
		oSrc.bgColor = MENUITEM_NORMALCOLOR;
	}

	function MenuContainsPoint(e,sMnId){
		
		// Checks if the out point is contained within
		// menu
		var oTblMenu = eval("tbl" + sMnId);
		var sPointStatus = oTblMenu.componentFromPoint(e.clientX,e.clientY + 5);
		
		if ( sPointStatus == "outside"){
			return false;
		}
		else{
			return true;
		}
	}

