// Easy DHTML Menu
// Copyright (c) 2004 PerfectoMEDIA.  All rights reserved.
// www.PerfectoMEDIA.com

function menuItem(menuItemName, menuItemIcon, menuItemDisplay, menuItemAction) {
	this.menuItemName = menuItemName;
	this.menuItemIcon = menuItemIcon;
	this.menuItemDisplay = menuItemDisplay;
	this.menuItemAction = menuItemAction;
}

function loadMenus() {
if (document.getElementById || document.all) {
	this.menuActive = 0;
	this.menuActiveName = null;
	this.menuTimer = null;
	this.menuTimerValue = 1000;
	this.menuWidth = 140;
	this.menuLayerStyle = "MenuLayer";
	this.menuOverStyle = "MenuOver";
	this.menuOutStyle = "MenuOut";
	this.menuLayer = null;
	this.menuItemLayer = null;
	this.menuSourceObject = null;
	if (document.getElementById) {
		this.menuLayer = "document.getElementById(menuName)";
		this.menuItemLayer = "document.getElementById(menuItemName)";
		this.menuSourceObject = "document.getElementById(menuSourceName)";
		}
	else if (document.all) {
		this.menuLayer = "document.all[menuName]";
		this.menuItemLayer = "document.all[menuItemName]";
		this.menuSourceObject = "document.all[menuSourceName]";
		}
	for (var i = 0; i < menuItems.length; i++) {
		var menuType = menuItems[i][0];
		var menuName = menuItems[i][1];
		document.write('<DIV ID="' + menuName + '" STYLE="width: 0px; position: absolute; visibility: hidden;">');
		document.write('<TABLE WIDTH="100%" CELLSPACING="0" CELLPADDING="0" BORDER="0" CLASS="' + menuLayerStyle + '">');
		if (menuType != 0) {
			document.write('<TR>');
			}
		for (var x = 2; x < menuItems[i].length; x++) {
			var menuItemName = menuItems[i][x].menuItemName;
			var menuItemIcon = menuItems[i][x].menuItemIcon;
			var menuItemDisplay = menuItems[i][x].menuItemDisplay;
			var menuItemAction = menuItems[i][x].menuItemAction;
			if (menuType == 0) {
				document.write('<TR>');
				}
			document.write('<TD ID="' + menuItemName + '" NOWRAP CLASS="' + menuOutStyle + '" onMouseOver="menuOver(\'' + menuItemName + '\')" onMouseOut="menuOut(\'' + menuItemName + '\')" onClick="' + menuItemAction + '">' + menuItemIcon + menuItemDisplay + '</TD>');
			if (menuType == 0) {
				document.write('</TR>');
				}
			}
		if (menuType != 0) {
			document.write('</TR>');
			}
		document.write('</TABLE>');
		document.write('</DIV>');
		}
	}
}

function showMenu(menuName, menuWidth, menuOffsetX, menuOffsetY, menuSourceName) {
if (document.getElementById || document.all) {
	var theObject = eval(menuSourceObject);
	var thePositionX = findPositionX(theObject);
	var thePositionY = findPositionY(theObject);
	if (menuTimer != null) {
		clearTimeout(menuTimer);
		hideMenu(menuActiveName);
		}
	eval(menuLayer + ".style.width = menuWidth");
	eval(menuLayer + ".style.left = thePositionX + menuOffsetX");
	eval(menuLayer + ".style.top = thePositionY + menuOffsetY");
	eval(menuLayer + ".style.visibility = 'visible'");
	menuActive = 1;
	menuActiveName = menuName;
	}
}

function hideMenu(menuName) {
if (document.getElementById || document.all) {
	if (menuActive == 1) {
		menuActive = 0;
		menuTimer = setTimeout("hideMenu('" + menuName + "')", menuTimerValue);
		}
	else {
		eval(menuLayer + ".style.visibility = 'hidden'");
		}
	}
}

function menuOver(menuItemName) {
	menuActive = 1;
	clearTimeout(menuTimer);
	setStyle(menuItemName, menuOverStyle);
}

function menuOut(menuItemName) {
	menuActive = 0;
	menuTimer = setTimeout("hideMenu('" + menuActiveName + "')", menuTimerValue);
	setStyle(menuItemName, menuOutStyle);
}

function setStyle(menuItemName, menuItemStyle) {
	eval(menuItemLayer + ".className = menuItemStyle");
}

function findPositionX(theObject) {
var positionX = 0;
if (theObject.offsetParent) {
	while (theObject.offsetParent) {
		positionX += theObject.offsetLeft;
		theObject = theObject.offsetParent;
		}
	}
else if (theObject.x) {
	positionX += theObject.x;
	}
return positionX;
}

function findPositionY(theObject) {
var positionY = 0;
if (theObject.offsetParent) {
	while (theObject.offsetParent) {
		positionY += theObject.offsetTop;
		theObject = theObject.offsetParent;
		}
	}
else if (theObject.y) {
	positionY += theObject.y;
	}
return positionY;
}