
		var normBg;
		var selBg;
		var normBorder;
		var selBorder;
		var normBorderColor;
		var selBorderColor;
		var normFontColor;
		var selFontColor;

		var menuIsActive;
		var Menus = new Array();
		
		var fadeInProgress;

		function Menu(mName, mX, mY, mWidth, mFontStyle, mFontFamily, mFontSize, mFontColor, mBgColor, mBorder, mBorderColor,
					  mSpacing, mPadding, miBgColor, miBorder, miBorderColor, miTextAlign, miPadding, miHeight,
					  miSelectedFontColor, miSelectedBgColor, miSelectedBorder, miSelectedBorderColor)
		{
			this.name = mName;
			this.left = mX;
			this.top = mY;
			this.width = mWidth;
			this.fontstyle = mFontStyle;
			this.fontfamily = mFontFamily;
			this.fontsize = mFontSize;
			this.fontcolor = mFontColor;
			this.bgcolor = mBgColor;
			this.border = mBorder;
			this.bordercolor = mBorderColor;
			this.spacing = mSpacing;
			this.padding = mPadding;
			this.miBgColor = miBgColor;
			this.miBorder = miBorder;
			this.miBorderColor = miBorderColor;
			this.miTextAlign = miTextAlign;
			this.miPadding = miPadding;
			this.miHeight = miHeight;
			this.miSelFontColor = miSelectedFontColor;
			this.miSelBgColor = miSelectedBgColor;
			this.miSelBorder = miSelectedBorder;
			this.miSelBorderColor = miSelectedBorderColor;
			
			normBg = miBgColor;
			selBg = miSelectedBgColor;
			
			normBorder = miBorder;
			selBorder = miSelectedBorder;
			
			normBorderColor = miBorderColor;
			selBorderColor = miSelectedBorderColor;
			
			normFontColor = mFontColor;
			selFontColor = miSelectedFontColor;
			
			
			this.menuItemsIDs = new Array();
			this.menuItems = new Array();
			this.menuItemsActions = new Array();
			this.menuItemsHasChild = new Array();
			this.menuItemsChild = new Array();
			
			this.addMenuItem = addMenuItem;
			this.buildMenu = buildMenu;
			this.selectItem = selectItem;
			this.deselectItem = deselectItem;
			
			this.getName = getName;
			
			this.showMenu = showMenu;
			this.hideMenu = hideMenu;

			Menus[Menus.length] = this;
		}
		
		function addMenuItem(miID, miLabel, miAction, miHasChild, miChild)
		{
			this.menuItemsIDs[this.menuItemsIDs.length] = miID;
			this.menuItems[this.menuItems.length] = miLabel;
			this.menuItemsActions[this.menuItemsActions.length] = miAction;
			this.menuItemsHasChild[this.menuItemsHasChild.length] = miHasChild;
			this.menuItemsChild[this.menuItemsChild.length] = miChild;
		}
		
		function selectItem(item)
		{
			if (document.getElementById)
			{
				if (document.getElementById(item))
				{
					itemReturn = document.getElementById(item);
					itemReturn = itemReturn.style;
					itemReturn.backgroundColor = selBg;
					itemReturn.border = " " + selBorder + " " + selBorderColor;
				}
			}
			
			if (document.getElementById)
			{
				if (document.getElementById(item+"p"))
				{
					itemReturn = document.getElementById(item+"p");
					itemReturn = itemReturn.style;
					itemReturn.color = selFontColor;
				}
			}
		}
			
		function deselectItem(item)
		{
			if (document.getElementById)
			{
				if (document.getElementById(item))
				{
					itemReturn = document.getElementById(item);
					itemReturn = itemReturn.style;
					itemReturn.backgroundColor = normBg;
					itemReturn.border = " " + normBorder + " " + normBorderColor;
				}
			}
			
			if (document.getElementById)
			{
				if (document.getElementById(item+"p"))
				{
					itemReturn = document.getElementById(item+"p");
					itemReturn = itemReturn.style;
					itemReturn.color = normFontColor;
				}
			}
		}
		
		function getName()
		{
			return this.name;
		}
		
		function show(mName)
		{
			if (document.getElementById)
			{
				if (document.getElementById(mName))
				{
					itemReturn = document.getElementById(mName);
					itemReturn = itemReturn.style;
		  			itemReturn.visibility = (document.layers) ? 'show' : 'visible';
					menuIsActive = true;
		  		}
		  	}
		}

		function hide(mName)
		{
			if (document.getElementById)
			{
				if (document.getElementById(mName))
				{
					itemReturn = document.getElementById(mName);
					itemReturn = itemReturn.style;
		  			itemReturn.visibility = (document.layers) ? 'hide' : 'hidden';	
		  		}
		  	}
		}
								
		function showMenu()
		{
			menuIsActive = true;
			show(mName);
		}

		function hideMenu()
		{
			hide(this.name);
		}
		
		function showMenuByName(mName)
		{
			var left, top;
			if (document.getElementById)
			{
				if (document.getElementById("NB_"+mName))
				{
					itemReturn = document.getElementById("NB_"+mName);
					left = itemReturn.offsetParent.offsetLeft + itemReturn.offsetParent.offsetParent.offsetLeft + itemReturn.offsetParent.offsetParent.offsetParent.offsetLeft + itemReturn.offsetParent.offsetParent.offsetParent.offsetParent.offsetLeft + itemReturn.offsetParent.offsetParent.offsetParent.offsetParent.offsetParent.offsetLeft + itemReturn.offsetParent.offsetParent.offsetParent.offsetParent.offsetParent.offsetLeft;
					top = itemReturn.offsetParent.offsetTop + itemReturn.offsetParent.offsetParent.offsetTop + itemReturn.offsetParent.offsetParent.offsetParent.offsetTop + itemReturn.offsetParent.offsetParent.offsetParent.offsetParent.offsetTop + itemReturn.offsetParent.offsetParent.offsetParent.offsetParent.offsetParent.offsetTop + 30;
				}
			}
			if (document.getElementById)
			{
				if (document.getElementById(mName))
				{
					itemReturn = document.getElementById(mName);
					itemReturn = itemReturn.style;
					itemReturn.left = left;
					itemReturn.top = top;
					menuIsActive = true;
					show(mName);
				}
			}
		}
		
		function showSubMenuByName(parentName, mName, mOffsetLeft, mOffsetTop)
		{
			var left, top;
			if (document.getElementById)
			{
				if (document.getElementById(parentName))
				{
					itemReturn = document.getElementById(parentName);
					left = itemReturn.offsetParent.offsetLeft + itemReturn.offsetParent.offsetParent.offsetLeft + mOffsetLeft;
					top = itemReturn.offsetParent.offsetTop + itemReturn.offsetParent.offsetParent.offsetTop + mOffsetTop;
				}
			}
			if (document.getElementById)
			{
				if (document.getElementById(mName))
				{
					itemReturn = document.getElementById(mName);
					itemReturn = itemReturn.style;
					itemReturn.left = left;
					itemReturn.top = top;
					menuIsActive = true;
					show(mName);
				}
			}
		}
				
		function hideMenuByName(mName)
		{
			hide(mName);
		}

		function hideAllMenus()
		{
			menuIsActive = false;
			var timer = setTimeout('doTimeOut()', 500);
		}

		function doTimeOut()
		{
			if (menuIsActive == false) for (var i = 0; i < Menus.length; i++) Menus[i].hideMenu();
		}

		function hideAllRightNow()
		{
			for (var i = 0; i < Menus.length; i++) Menus[i].hideMenu();
		}
		
		function hideAllRightNowBut(mName)
		{
			for (var i = 0; i < Menus.length; i++)
			{
				if (Menus[i].getName() != mName) Menus[i].hideMenu();
			}
		}
		
		function buildMenu()
		{
			var offset = this.miHeight + this.padding;
			document.writeln("<div id='"+this.name+"' style='Z-INDEX: 9; VISIBILITY: hidden; LEFT: "+this.left+"px; WIDTH: "+this.width+"px; POSITION: absolute; TOP: "+this.top+"px; HEIGHT: 45px'>");
			document.writeln("<table width="+this.width+" style='border: "+this.border+" "+this.bordercolor+";' bgcolor="+this.bgcolor+" cellspacing="+this.spacing+" cellpadding="+this.padding+" onmouseover='menuIsActive=true;' >");
			for (var i = 0; i < this.menuItems.length; i++)
			{
				if (this.menuItemsHasChild[i] == 0)
				{
					document.writeln("	<TR>");
					document.writeln("		<TD name='"+this.menuItemsIDs[i]+"' id='"+this.menuItemsIDs[i]+"' width=100% height="+this.miHeight+" bgcolor="+this.miBgColor
											+" style='"+this.miPadding+"; border: "+this.miBorder+" "+this.miBorderColor
											+";' onmouseover=\"selectItem('"+this.menuItemsIDs[i]+"');menuIsActive=true;\" onmouseout=deselectItem('"+this.menuItemsIDs[i]+"') onclick=\"menuIsActive=false; hideAllMenus(); document.location='"+this.menuItemsActions[i]+"';\">");
					
					document.writeln("			<P name='"+this.menuItemsIDs[i]+"p' id='"+this.menuItemsIDs[i]+"p' style='text-indent: 0.0in; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; line-height: normal; font-size:"+this.fontsize+"; "+this.fontstyle
												+"; color:"+this.fontcolor+"; font-family:"+this.fontfamily+"; text-align:"+this.miTextAlign+";'>");
												
					document.writeln("			"+this.menuItems[i]);
					document.writeln("			</P>");
					document.writeln("		</TD>");
					document.writeln("	</TR>");
				}
				else
				{
					document.writeln("	<TR>");
					document.writeln("		<TD name='"+this.menuItemsIDs[i]+"' id='"+this.menuItemsIDs[i]+"' width=100% height="+this.miHeight+" bgcolor="+this.miBgColor
											+" style='"+this.miPadding+"; border: "+this.miBorder+" "+this.miBorderColor
											+";' onmouseover=\"selectItem('"+this.menuItemsIDs[i]+"'); hideAllRightNowBut('"+this.name+"'); showSubMenuByName('"+this.menuItemsIDs[i]+"', '"+this.menuItemsChild[i]+"', "+this.width+", "+((i * offset) + (this.spacing * i))+");menuIsActive=true;\" onmouseout=deselectItem('"+this.menuItemsIDs[i]+"') >");
					
					document.writeln("			<P name='"+this.menuItemsIDs[i]+"p' id='"+this.menuItemsIDs[i]+"p' style='text-indent: 0.0in; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; line-height: normal; font-size:"+this.fontsize+"; "+this.fontstyle
												+"; color:"+this.fontcolor+"; font-family:"+this.fontfamily+"; text-align:"+this.miTextAlign+";'>");
												
					document.writeln("			"+this.menuItems[i]);
					document.writeln("			» </P>");
					document.writeln("		</TD>");
					document.writeln("	</TR>");				
				}
			}
			document.writeln("</table>");
			document.writeln("</div>");
		}

