<!--//
	// initialize global variables
		var arrVMI = new Array();
		var intHide = null;
		var theDefaultStatus = "";
		//window.defaultStatus = "";
		var intStatus = null;

	// ================================================================================
	// called when a mouseout event occurs, this changes the classname of the menu
	// ================================================================================
		function outMenu(theTD) {
			if (theTD.className != "SubMenuItem") {
				theTD.className = "SubMenuItem";
				//try	{
				//	theTD.childNodes.item(0).style.color = theTD.currentStyle.color;
				//	window.status = "";
				//} catch(er) {}
				//intStatus = window.setTimeout("setStatus('" + theDefaultStatus + "')",10);
			}
		}
	// ================================================================================
	// called when a mouseout event occurs, this changes the classname of the menu
	// ================================================================================
		function outMainMenu(theTD) {
			if (theTD.className != "NavMenuItem") {
				theTD.className = "NavMenuItem";
				//try {
				//	theTD.childNodes.item(0).style.color = theTD.currentStyle.color;
				//	window.status="";
				//} catch(er) {}
				//intStatus = window.setTimeout("setStatus('" + theDefaultStatus + "')",10);
			}
		}
	// ================================================================================
	// called when a mouseover event occurs, this changes the classname of the menu
	// ================================================================================
		function overMenu(theTD) {
			if (theTD.className != "SubMenuItemOver") {
				theTD.className = "SubMenuItemOver";
				//if (window.status != theTD.getElementsByTagName("A").item(0).href) {
				//	window.clearTimeout(intStatus)
					//window.status = theTD.getElementsByTagName("A").item(0).href;
				//	intStatus = window.setTimeout("setStatus('" + theTD.getElementsByTagName("A").item(0).href + "')",10);
				//}
			}
				//try {
				//	theTD.childNodes.item(0).style.color = theTD.currentStyle.color;
				//	var int = window.setTimeout("setStatus('" + theTD.childNodes.item(0).href + "')",50);
				//	return true;
				//} catch(er) {}
		}
	// ================================================================================
	// called when a mouseover event occurs, this changes the classname of the menu
	// ================================================================================
		function overMainMenu(theTD) {
			if (theTD.className != "NavMenuItemOver") {
				theTD.className = "NavMenuItemOver"
				//try {
				//	theTD.childNodes.item(0).style.color = theTD.currentStyle.color;
				//	var int = window.setTimeout("setStatus('" + theTD.childNodes.item(0).href + "')",50);
				//} catch(er) {}
				//	window.status = theTD.getElementsByTagName("A").item(0).href
			}
			//if (window.status != theTD.getElementsByTagName("A").item(0).href) {
			//	window.status = theTD.getElementsByTagName("A").item(0).href;
			//}
			//	document.title = theTD.className;
		}

	// ================================================================================
	// called when a mouseover event occurs, this handles the display of the menu
	// ================================================================================
		function showMenuItem(theMenuID,parentMenu) {
			if (theMenuID.length == 0 && arrVMI.length > 0 && getParentObject(parentMenu,"TABLE") == arrVMI[arrVMI.length - 1]) {
				// clear the timeout
					window.clearTimeout(intHide);
					return;
			}
			// clear the timeout
				window.clearTimeout(intHide);
			// hide the necessary visible elements or exit
				if (theMenuID.length > 0) {
					// split the menu into an array
						var arrID = theMenuID.split("_")
					// hide any menus if needed
						hideMenuItem(theMenuID);
					// don't even bother if the menu is full of empty rows
						// initialize flag
							var ExitThis = true;
						// access rows collection
							with (document.getElementById(theMenuID).rows) {
								// loop through rows
									for (counter=0;counter<length;counter++) {
										// if the first cells menu has text, set exit flag to false and exit loop
											if (item(counter).childNodes.item(0).innerHTML.length > 0) {
												ExitThis = false;
												break;
											}
									}
							}
						// exit if necessary
							if (ExitThis) { return; }
					// determine the difference between the left of the table and the left of the first cell
						var navTable = document.getElementById("TMI")
						var firstCell = navTable.getElementsByTagName("TD")[0]
						var leftOffset = getOffsetLeft(firstCell,0) - getOffsetLeft(navTable,0)
						var topOffset = getOffsetTop(firstCell,0) - getOffsetTop(navTable,0)
						var paddingOffset = 2;
					// position the child menu
						with (document.getElementById(theMenuID).style) {
							//if ((arrID.length % 2) == 0) {
							if (arrID.length  == 2) {
								left	= (getOffsetLeft(parentMenu,0) - leftOffset) + "px"
								if (getParentObject(parentMenu,"TABLE").id != "TMI") {
									top		= ((getOffsetTop(parentMenu,0) + parentMenu.offsetHeight) - topOffset) + "px"
								} else {
									top		= (getOffsetTop(getParentObject(parentMenu,"TABLE"),0) + getParentObject(parentMenu,"TABLE").offsetHeight) + "px"
								}
							} else {
								left	= (getOffsetLeft(getParentObject(parentMenu,"TABLE"),0) + getParentObject(parentMenu,"TABLE").offsetWidth) + "px"
								top		= (getOffsetTop(parentMenu,0) - topOffset - paddingOffset) + "px"
							}
							display = "";
							zIndex=1;
							InsertIFrameShim(document.getElementById(theMenuID));
						}
			// else, just exit
				} else {
					if (arrVMI.length > 1) {
						arrVMI[arrVMI.length - 1].style.display = "none";
						HideIFrameShim(arrVMI[arrVMI.length - 1].getAttribute("id"));
						arrVMI.pop();
					}
					return;
				}
		}

	// ================================================================================
	// called when a mouseout event occurs, this kicks off a timer which, unless another
	// menu is mousedover, will hide all the menus
	// ================================================================================
		function startHiding() {
			intHide = setTimeout("hideAllMenus()",250);
		}
	// ================================================================================
	// this function will hide all the menus
	// ================================================================================
		function hideAllMenus() {
			if (arrVMI.length > 0) {
				var startPoint = arrVMI.length -1
				for (var counter=startPoint;counter>-1;counter--) {
					arrVMI[counter].style.display = "none";
					HideIFrameShim(arrVMI[counter].getAttribute("id"));
					arrVMI.pop();
				}
			}
			//window.status = "";
		}

	// ================================================================================
	// this function will hide all menus belonging to the root menus to the left or right
	// of the menu being moused over OR any menus belonging to other children in the same
	// vertical menu of the current root
	// ================================================================================
		function hideMenuItem(theMenuID) {
			// split the id into an array
				var targMenuDepth = theMenuID.split("_")
			// if there are any currently visible items in the menu array
				if (arrVMI.length > 0) {
					// get the index of the last item in the menu
						var startPoint = arrVMI.length -1
					// loop backward through all the items in the menu
						for (var counter=startPoint;counter>-1;counter--) {
							// get the id of this item in the array
								var theID = arrVMI[counter].id;
							// split this array items id into an array
								var lenTheID = theID.split("_")
								var iFrameID = ""
							// if this item belongs to a differnt root item, hide it and remove it from the array
								if (lenTheID[1] != targMenuDepth[1]) {
									// hide it and pop it off the array
										arrVMI[counter].style.display = "none";
										HideIFrameShim(arrVMI[counter].getAttribute("id"));
										arrVMI.pop();
									// if the length of the most recent item is equal to this item, push the new item onto the array and exit
										if (lenTheID.length == targMenuDepth.length) {
											arrVMI.push(document.getElementById(theMenuID));
											break;
										}
							// else if the current array item is a child of an vertically adjoining menu, hide it and take it off the array
								} else if (lenTheID.length >= targMenuDepth.length && theID != theMenuID) {
									arrVMI[arrVMI.length - 1].style.display = "none";
									HideIFrameShim(arrVMI[arrVMI.length - 1].getAttribute("id"));
									arrVMI.pop();
							// else, just push this new item onto the array
								} else {
									arrVMI.push(document.getElementById(theMenuID));
									break;
								}
						}
			// else, just add this new item to the array
				} else {
					arrVMI.push(document.getElementById(theMenuID));
				}
		}

//-->