// Menu MouseOver On/Off Images
	var menuOff = new Image(); menuOff.src = "ball_off.gif";
	var menuOn = new Image(); menuOn.src = "ball_on.gif";

// Global Browser Variables
	var bName = navigator.appName;
	var bVer = parseInt(navigator.appVersion);
	var NS4 = (bName == "Netscape" && bVer == 4);
	var IE4 = (bName == "Microsoft Internet Explorer" && bVer >= 4);
	var NS5up = (bName == "Netscape" && bVer > 4);
	var rangeRef, styleObj, endObj;
	
// Global Menu Variables
	var menuActive = false;
	var timeOn = null;
	var openMenu;

// Browser Cross-compatibility
if (NS4 || NS5up || IE4) {
	if (NS4) {
		rangeRef="document.layers[";
		styleObj="]";
		endObj="]";
	}
	else if (NS5up) {
		rangeRef="document.getElementById(";
		styleObj=").style";
		endObj=")";
	}
	else {
		rangeRef="document.all[";
		styleObj="].style";
		endObj="]";
	}
}


// Utility function returns the x coordinate of a positionable object relative to page
function getPageLeft(obj) {
	if (NS4) {
		return obj.pageX;
	} else if (NS5up) {
		return obj.offsetLeft;
	} else {
		var goUp = 0;
		var parent = obj;

		while (parent && parent.tagName != "BODY" &&
			parent.tagName != "HTML") {
				goUp += parent.offsetLeft;
				parent = parent.offsetParent;
		}

		return goUp;
	}
}


// Utility function returns the y coordinate of a positionable object relative to page
function getPageTop(obj) {
	if (NS4) {
		return obj.pageY;
	} else if (NS5up) {
		return obj.offsetTop;
	} else {
		var goUp = 0;
		var parent = obj;

		while (parent && parent.tagName != "BODY" &&
			parent.tagName != "HTML") {
				goUp += parent.offsetTop;
				parent = parent.offsetParent;
		}

		return goUp;
	}
}


// Set the position of the menus
function setMenu(itemSpan, itemMenu, x, y) {
	if (NS4 || NS5up || IE4) {
		var from = eval(rangeRef+'"'+itemSpan+'"'+endObj);
		var obj = eval(rangeRef+'"'+itemMenu+'"'+styleObj);
		var pageLeft = getPageLeft(from);
		var pageTop = getPageTop(from);

		obj.left = parseInt(pageLeft) + parseInt(x);
		obj.top = parseInt(pageTop) + parseInt(y);
	}
}

// Show Menu
function displayMenu(menuName) {
	if (NS4 || NS5up || IE4) {
		if (timeOn != null) {
			clearTimeout(timeOn);
			hideMenu(openMenu);
		}
	
		eval(rangeRef+'"'+menuName+'"'+styleObj+'.visibility="visible"');
		openMenu = menuName;
	}
}


// Hide Menu
function hideMenu(menuName) {
	if (menuActive == false) {
		if (NS4 || NS5up || IE4) {
			eval(rangeRef+'"'+menuName+'"'+styleObj+'.visibility="hidden"');
		}
	}
}


// Timer For Menu Mouse Out From Page
function menuTimer() {
	timeOn = setTimeout("menuClose()",1000);
}


// Close Menu. Called From Previous Timer
function menuClose() {
	if (menuActive == false) {
		hideMenu(openMenu);
	}
}

// Menu MouseOver
function menuOver(itemName) {
	clearTimeout(timeOn)
	menuActive = true
	if (NS4 || NS5up || IE4) {
		if (NS4) {
			document[openMenu].document.images[itemName].src = menuOn.src;
		} else {
			eval(rangeRef+'"'+itemName+'"'+endObj+'.src = menuOn.src');
		}
	}
}

// Menu MouseOut
function menuOut(itemName) {
	menuActive = false
	if (NS4 || NS5up || IE4) {
		if (NS4) {
			document[openMenu].document.images[itemName].src = menuOff.src;
		} else {
			eval(rangeRef+'"'+itemName+'"'+endObj+'.src = menuOff.src');
		}
	}
	
	timeOn = setTimeout("hideMenu(openMenu)", 500);
}


// Create Menu Object for Menu Arrays
function menuLink(menuItem, url) {
	this.menuItem = menuItem;
	this.url = url;
}


// Build Menu Table
function createMenu(menuArray) {
	newMenu = ""
	j = eval(menuArray + ".length") - 1;
	beginTable = "<DIV ID='" + eval(menuArray + ".id") + "'><TABLE BORDER='1' CELLSPACING='0' CELLPADDING='5'"
	beginTable += " BORDERCOLOR='#FFFFFF' BGCOLOR='#CCCCCC'>"
	beginTable += "<TR><TD CLASS='menu'><TABLE BORDER='0' CELLSPACING='0' CELLPADDING='0'>"
	endRow = "</TD></TR>"
	endTable = "</TABLE></TD></TR></TABLE></DIV>"

	newMenu += beginTable;

	for (var i = 0; i <= j; i++) {
		newRow = "<TR><TD CLASS='menu'><IMG SRC='ball_off.gif' WIDTH='10' HEIGHT='15' ALT='' BORDER='0' "
		
		if (NS5up) {
			newRow += "ID"
		} else {
			newRow += "NAME"
		}
		
		newRow += "='" + eval(menuArray + ".imgname") + i + "'></TD>"
		newRow += "<TD CLASS='menu'><A CLASS='menu' HREF='" + eval(menuArray + "[" + i + "].url") + "' onMouseOver='menuOver(\""
		newRow += eval(menuArray + ".imgname") + i + "\")' onMouseOut='menuOut(\"" + eval(menuArray + ".imgname") + i + "\")' TARGET='_top'>"
		newMenu += newRow + eval(menuArray + "[" + i + "].menuItem") + "</A>" + endRow
	}
	
	newMenu += endTable;
	return newMenu;
}
