/*
function GenerateMenuFromString(Text)
function GetElementPosition(Element)
function PositionElementNear(ElementToMove, TargetElement, Left, Top)
function PositionElementBelow(ElementToMove, TargetElement)
function GetParentElement(Object, tagName)
function GetOpacity(Object)
function SetOpacity(Object, Opacity)
function MenuClass(ParentMenu, Text, URL, TableClass)
{
	ParentMenu;
	Text;
	URL;
	Menu;
	Horizontal;
	ID;
	IsPopup;
	TableClass;
	
	function CreateSubMenu(Text, URL, TableClass)
	function GetCurrentLevel()
	function Render()
}

function BuildPopMenuFromString(String)
function PopMenuFromString(Object)
function HidePopupMenu(Object)
function GenerateMenuFromString(Text)
*/

var ShowHelpMenu = true;
var HidePrivateMessages = false;

function GenerateNewMenu(ObjectNameToHide)
{
	var Menu = new MenuClass();
	Menu.TableClass = "MENU_Root";
	Menu.Horizontal = true;
	
	var URLToAppend;
	var URLToAppendWithQuery;
	if (CurrentUserID == 0)
	{
	    URLToAppend = "";
	    URLToAppendWithQuery = "";
	}
	else
	{
	    URLToAppend = "?NetworkLogin=" + WebsiteID;
	    URLToAppendWithQuery = "&NetworkLogin=" + WebsiteID;
	}
	        
	Menu.CreateSubMenu("&#x05E4;&#x05D5;&#x05E8;&#x05D5;&#x05DE;&#x05D9;&#x05DD;", "'http://www.donkey.co.il/forum/" + URLToAppend + "'");
		
    Menu.CreateSubMenu();
    Menu.CreateSubMenu("&#x05D4;&#x05D5;&#x05DE;&#x05D5;&#x05E8;", "'http://humor.donkey.co.il/" + URLToAppend + "'");
    
    Menu.CreateSubMenu();
    Menu.CreateSubMenu("&#x05E1;&#x05DC;&#x05D5;&#x05DC;&#x05D0;&#x05E8;&#x05D9;", "'http://www.odaha.co.il'", null, null);
    
    Menu.CreateSubMenu();
    Menu.CreateSubMenu("&#x05E1;&#x05E4;&#x05E8;&#x05D9;&#x05D9;&#x05EA; &#x05EA;&#x05DE;&#x05D5;&#x05E0;&#x05D5;&#x05EA;", "'http://www.pupa.co.il" + URLToAppend + "'", null, null);
    
    Menu.CreateSubMenu();
    Menu.CreateSubMenu("&#x05E1;&#x05DC;&#x05D1;&#x05E1;", "'http://www.celebs.co.il" + URLToAppend + "'", null, null);
    
    Menu.CreateSubMenu();
    Menu.CreateSubMenu("&#x05D0;&#x05D9;&#x05E0;&#x05D3;&#x05E7;&#x05E1;", "'http://www.bigsite.co.il" + URLToAppend + "'", null, null);
    
//    Menu.CreateSubMenu();
//    var CommunitesMenu = Menu.CreateSubMenu("&#x05E7;&#x05D4;&#x05D9;&#x05DC;&#x05D5;&#x05EA;", null, "MENU_Sub");
//		CommunitesMenu.CreateSubMenu("&#x05E7;&#x05D4;&#x05D9;&#x05DC;&#x05EA; &#x05D4;-ICQ", "'http://www.donkey.co.il/Users/ICQClub.aspx'", null, "http://www.donkey.co.il/Images/Menu.ICQClub.gif");
//		CommunitesMenu.CreateSubMenu("&#x05E7;&#x05D4;&#x05D9;&#x05DC;&#x05EA; &#x05D4;&#x05DE;&#x05E1;&#x05E0;&#x05D2;&#x05E8;", "'http://www.donkey.co.il/Users/MSNClub.aspx'", null, "http://www.donkey.co.il/Images/Menu.MSNClub.gif");
//		CommunitesMenu.CreateSubMenu("&#x05E7;&#x05D4;&#x05D9;&#x05DC;&#x05EA; &#x05D4;-Skype", "'http://www.donkey.co.il/Users/SkypeClub.aspx'", null, "http://www.donkey.co.il/Images/Menu.SkypeClub.gif");
		
	Menu.CreateSubMenu();
	var DownloadsMenu = Menu.CreateSubMenu("&#x05D4;&#x05D5;&#x05E8;&#x05D3;&#x05D5;&#x05EA;", null, "MENU_Sub");
		DownloadsMenu.CreateSubMenu("&#x05E2;&#x05D1;&#x05D5;&#x05D3;&#x05D5;&#x05EA; &#x05DC;&#x05D1;&#x05D9;&#x05EA; &#x05E1;&#x05E4;&#x05E8;", "'http://www.donkey.co.il/schoolpapers/" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.SchoolPapers.gif");
		DownloadsMenu.CreateSubMenu("&#x05E4;&#x05D5;&#x05E0;&#x05D8;&#x05D9;&#x05DD;", "'http://www.donkey.co.il/fonts/" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.Fonts.gif");
		DownloadsMenu.CreateSubMenu("&#x05E7;&#x05D9;&#x05E9;&#x05D5;&#x05E8;&#x05D9;&#x05DD; &#x05DC;&#x05D4;&#x05D5;&#x05E8;&#x05D3;&#x05D5;&#x05EA;", "'http://www.donkey.co.il/downloads/" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.Downloads.gif");
		DownloadsMenu.CreateSubMenu("&#x05E8;&#x05E7;&#x05E2;&#x05D9;&#x05DD; &#x05DC;&#x05DE;&#x05D7;&#x05E9;&#x05D1;", "'http://www.donkey.co.il/wallpapers/" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.Wallpapers.gif");
		
	Menu.CreateSubMenu();
	
	var PnaiMenu = Menu.CreateSubMenu("&#x05E4;&#x05E0;&#x05D0;&#x05D9;", null, "MENU_Sub");
		//PnaiMenu.CreateSubMenu("&#x05D1;&#x05DC;&#x05D5;&#x05D2;&#x05D9;&#x05DD;", "'http://www.donkey.co.il/Blogs/Default.aspx" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.Blogs.gif");
		PnaiMenu.CreateSubMenu("&#x05D3;&#x05D5;&#x05E0;&#x05E7;&#x05D9;&#x05EA;&#x05D5;&#x05DF;", "'http://www.donkey.co.il/Donkeyton/Default.aspx'", null, "http://www.donkey.co.il/Images/Menu.Donkeyton.gif");
		PnaiMenu.CreateSubMenu("&#x05DE;&#x05D3;&#x05E8;&#x05D9;&#x05DB;&#x05D9;&#x05DD;", "'http://www.donkey.co.il/guides/" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.Guides.gif");
		PnaiMenu.CreateSubMenu("&#x05DE;&#x05EA;&#x05DB;&#x05D5;&#x05E0;&#x05D9;&#x05DD;", "'http://www.donkey.co.il/recipes/" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.Recipes.gif");
		PnaiMenu.CreateSubMenu("&#x05DE;&#x05E9;&#x05D7;&#x05E7;&#x05D9;&#x05DD; &#x05D0;&#x05D5;&#x05E0;&#x05DC;&#x05D9;&#x05D9;&#x05DF;", "'http://www.donkey.co.il/onlinegames/" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.OnlineGames.gif");
		PnaiMenu.CreateSubMenu("&#x05E1;&#x05E7;&#x05D9;&#x05E8;&#x05D5;&#x05EA; &#x05DE;&#x05E9;&#x05D7;&#x05E7;&#x05D9;&#x05DD;", "'http://www.donkey.co.il/gamesreviews/" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.GamesReviews.gif");
		
	
	//Menu.CreateSubMenu();
	
		
	if (CurrentUserID != 0 && !HidePrivateMessages)
	{
	    Menu.CreateSubMenu();
		var PrivateMessagesMenu;
		if (UnreadPrivateMessages == 0)
		    PrivateMessagesMenu = Menu.CreateSubMenu("&#x05D4;&#x05D5;&#x05D3;&#x05E2;&#x05D5;&#x05EA; &#x05E4;&#x05E8;&#x05D8;&#x05D9;&#x05D5;&#x05EA;", "'http://www.donkey.co.il/privatemessages/" + URLToAppend + "'", "MENU_Sub");
		else
		    PrivateMessagesMenu = Menu.CreateSubMenu("&#x05D4;&#x05D5;&#x05D3;&#x05E2;&#x05D5;&#x05EA; &#x05E4;&#x05E8;&#x05D8;&#x05D9;&#x05D5;&#x05EA; (" + UnreadPrivateMessages + ")", "'http://www.donkey.co.il/privatemessages/" + URLToAppend + "'", "MENU_Sub");
		PrivateMessagesMenu.CreateSubMenu("&#x05D3;&#x05D5;&#x05D0;&#x05E8; &#x05E0;&#x05DB;&#x05E0;&#x05E1;", "'http://www.donkey.co.il/privatemessages/list.aspx?folder=1" + URLToAppendWithQuery + "'", null, "http://www.donkey.co.il/Images/Menu.Inbox.gif");
		PrivateMessagesMenu.CreateSubMenu("&#x05D3;&#x05D5;&#x05D0;&#x05E8; &#x05D9;&#x05D5;&#x05E6;&#x05D0;", "'http://www.donkey.co.il/privatemessages/list.aspx?folder=2" + URLToAppendWithQuery + "'", null, "http://www.donkey.co.il/Images/Menu.Outbox.gif");
		PrivateMessagesMenu.CreateSubMenu("&#x05E1;&#x05DC; &#x05DE;&#x05D9;&#x05D7;&#x05D6;&#x05D5;&#x05E8;", "'http://www.donkey.co.il/privatemessages/list.aspx?folder=3" + URLToAppendWithQuery + "'", null, null);
		PrivateMessagesMenu.CreateSubMenu("&#x05D4;&#x05DE;&#x05D5;&#x05E2;&#x05D3;&#x05E4;&#x05D9;&#x05DD; &#x05E9;&#x05DC;&#x05D9;", "'http://www.donkey.co.il/privatemessages/friends.aspx" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.Friends.gif");
		PrivateMessagesMenu.CreateSubMenu("&#x05E8;&#x05E9;&#x05D9;&#x05DE;&#x05EA; &#x05D7;&#x05E1;&#x05D5;&#x05DE;&#x05D9;&#x05DD;", "'http://www.donkey.co.il/privatemessages/friends.aspx?blocked=1" + URLToAppendWithQuery + "'", null, null);
	}
		
	
    if (ShowHelpMenu)
    {
        Menu.CreateSubMenu();
	    var HelpMenu = Menu.CreateSubMenu("&#x05E2;&#x05D6;&#x05E8;&#x05D4;", "'http://www.donkey.co.il/faq/" + URLToAppend + "'", "MENU_Sub");
		    var UsefulMenu = HelpMenu.CreateSubMenu("&#x05E9;&#x05D9;&#x05DE;&#x05D5;&#x05E9;&#x05D5;&#x05DF;", null, "MENU_Sub");
		        UsefulMenu.CreateSubMenu("&#x05DE;&#x05D6;&#x05D5;&#x05D5;&#x05D3;&#x05D4;", "'http://www.donkey.co.il/briefcase/" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.Briefcase.gif");
		        UsefulMenu.CreateSubMenu("&#x05D1;&#x05D3;&#x05D9;&#x05E7;&#x05EA; IP", "'http://www.donkey.co.il/ipcheck.aspx" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.IPCheck.gif");
		        UsefulMenu.CreateSubMenu("&#x05D1;&#x05D3;&#x05D9;&#x05E7;&#x05EA; WhoIs", "'http://www.donkey.co.il/whois.aspx" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.WhoIs.gif");
		        UsefulMenu.CreateSubMenu("&#x05D4;&#x05D9;&#x05E4;&#x05D5;&#x05DA; &#x05E2;&#x05D1;&#x05E8;&#x05D9;&#x05EA;", "'http://www.donkey.co.il/reversehebrew.aspx" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.ReverseHebrew.gif");
		        UsefulMenu.CreateSubMenu("&#x05DC;&#x05E7;&#x05D5;&#x05D7; POP3", "'http://www.donkey.co.il/pop3client/" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.POP3Client.gif");
		        UsefulMenu.CreateSubMenu("&#x05E9;&#x05DC;&#x05D9;&#x05D8;&#x05D4; &#x05DE;&#x05E8;&#x05D7;&#x05D5;&#x05E7;", "'http://www.donkey.co.il/remotedesktop/" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.RemoteDesktop.gif");
		        UsefulMenu.CreateSubMenu("&#x05E7;&#x05D9;&#x05E9;&#x05D5;&#x05E8;&#x05D9;&#x05DD;", "'http://www.donkey.co.il/links.aspx" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.Links.gif");
    	
    	
		    HelpMenu.CreateSubMenu("&#x05E9;&#x05D0;&#x05DC;&#x05D5;&#x05EA; &#x05E0;&#x05E4;&#x05D5;&#x05E6;&#x05D5;&#x05EA;", "'http://www.donkey.co.il/faq/" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.Help.gif");
		    HelpMenu.CreateSubMenu("&#x05E8;&#x05E9;&#x05D9;&#x05DE;&#x05EA; &#x05E1;&#x05DE;&#x05D9;&#x05D9;&#x05DC;&#x05D9;&#x05DD;", "'http://www.donkey.co.il/smilies.aspx" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.Smilies.gif");
		    //HelpMenu.CreateSubMenu("&#x05E8;&#x05E9;&#x05D9;&#x05DE;&#x05EA; &#x05EA;&#x05D2;&#x05D9;&#x05D5;&#x05EA;", "'http://www.donkey.co.il/Tags.aspx'", null, "/Images/Menu.Tags.gif");
		    HelpMenu.CreateSubMenu();
		    HelpMenu.CreateSubMenu("&#x05D4;&#x05D5;&#x05E1;&#x05E3; &#x05DC;&#x05DE;&#x05D5;&#x05E2;&#x05D3;&#x05E4;&#x05D9;&#x05DD;", "AddToFavorites()", null, "http://www.donkey.co.il/Images/Menu.Favorites.gif");
		    HelpMenu.CreateSubMenu("&#x05E7;&#x05D1;&#x05E2; &#x05DB;&#x05D3;&#x05E3; &#x05D4;&#x05D1;&#x05D9;&#x05EA;", "SetAsHomePage()", null, "http://www.donkey.co.il/Images/Menu.Homepage.gif");
		    HelpMenu.CreateSubMenu();
		    HelpMenu.CreateSubMenu("&#x05D1;&#x05E2;&#x05DC;&#x05D9; &#x05D0;&#x05EA;&#x05E8;&#x05D9;&#x05DD;", "'http://www.donkey.co.il/webmasters.aspx" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.Webmasters.gif");
		    HelpMenu.CreateSubMenu("&#x05D0;&#x05D5;&#x05D3;&#x05D5;&#x05EA;", "'http://www.donkey.co.il/aboutus.aspx" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.AboutUs.gif");
		    HelpMenu.CreateSubMenu("&#x05D2;&#x05E8;&#x05E1;&#x05D0;&#x05D5;&#x05EA;", "'http://www.donkey.co.il/versions.aspx" + URLToAppend + "'", null, "http://www.donkey.co.il/Images/Menu.Versions.gif");
		    HelpMenu.CreateSubMenu("&#x05DB;&#x05EA;&#x05D1;&#x05D5; &#x05DC;&#x05E0;&#x05D5;", "'/contact.aspx'", null, "http://www.donkey.co.il/Images/Menu.Contact.gif");
	}
	
    if (ObjectNameToHide != null)
        document.getElementById(ObjectNameToHide).style.display = 'none';
	
	document.write (Menu.Render());
}


var MENU_CurrentZIndex = 99990;
var MENU_EnableIFrames = true;
var MENU_EnableAlpha = true;
var MENU_MaximumAlphaValue = 80;
var MENU_IncreaseSliding = 35;
var MENU_IncreaseTimeout = 50;
var MENU_DecreaseSliding = 40;
var MENU_DecreaseTimeout = 50;
var MENU_MouseOverTimeout = 10;
var MENU_MouseOutTimeout = 20;

function GetElementPosition(Element)
{
	var offsetLeft = 0;
	var offsetTop = 0;
	while (Element)
	{
		offsetLeft += Element.offsetLeft;
		offsetTop += Element.offsetTop;
		Element = Element.offsetParent;
	}
	if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined")
	{
		offsetLeft += document.body.leftMargin;
		offsetTop += document.body.topMargin;
	}
	return {left:offsetLeft, top:offsetTop};
}

function PositionElement(ElementToMove, Left, Top)
{
	ElementToMove.style.left = Left;
	ElementToMove.style.top = Top;
	ElementToMove.style.position = "absolute";
}

function PositionElementNear(ElementToMove, TargetElement, Left, Top)
{
	var Position = GetElementPosition(TargetElement);
	if (Left == null)
		Left = 0;
	if (Top == null)
		Top = 0;
	if (document.body.dir == "rtl")
		ElementToMove.style.left = Position.left - ElementToMove.offsetWidth - Left;
	else
	{
		if (TargetElement.parentElement == null)
		    ElementToMove.style.left = Position.left + (TargetElement == null ? 0 : TargetElement.offsetWidth) + Left;
		else
		    ElementToMove.style.left = Position.left + (TargetElement == null ? 0 : TargetElement.parentElement.offsetWidth) + Left;
	}
	ElementToMove.style.top = Position.top + Top;
	ElementToMove.style.position = "absolute";
}

function PositionElementBelow(ElementToMove, TargetElement, Left, Top)
{
	var Position = GetElementPosition(TargetElement);
	if (Left == null)
		Left = 0;
	if (Top == null)
		Top = 0;
	if (document.body.dir == "rtl")
		ElementToMove.style.left = Position.left - ElementToMove.offsetWidth + TargetElement.offsetWidth - Left;
	else
	{
        ElementToMove.style.left = Position.left - Left;
	}
	var offsetTop = Position.top + TargetElement.offsetHeight - 1 + Top
	ElementToMove.style.top = offsetTop;
	ElementToMove.style.position = "absolute";
}

function GetParentElement(Object, tagName)
{
	while (Object != null && Object.tagName != tagName)
		Object = Object.parentElement;
	return Object;
}

function ShowMenu(ID, ParentId, Level)
{
	if (MENU_MouseOverTimeout == 0)
		InternalShowMenu(ID, ParentId, Level);
	else
	{
		var Element = document.getElementById(ID);
		if (Element.timeout != null)
			clearTimeout(Element.timeout);
		Element.timeout = setTimeout("InternalShowMenu('" + ID + "', '" + ParentId + "', " + Level + ")", MENU_MouseOverTimeout);
	}
}

function InternalShowMenu(ID, ParentId, Level)
{
	var Element = document.getElementById(ID);
	if (Element.timeout != null)
		clearInterval(Element.timeout);
	var Parent = document.getElementById(ParentId);
	
	var Underline = ID.lastIndexOf('_');
	var TableId;
	if (Underline != -1)
		TableId = ID.substring(0, Underline);
	Element.style.display = "";
	
	if (ID != Parent.id)
	{
		var Table = document.getElementById(TableId);
		var Horizontal = Table.summary == "horizontal";
		if (Horizontal && TableId.indexOf('_') == -1)
			PositionElementBelow(Element, Parent);
		else
			PositionElementNear(Element, Parent, -2, 0);
	}
	var IFrame;
	if (Level > 0 && MENU_EnableIFrames)
	{
		IFrame = document.getElementById(ID + "_IFrame");
		IFrame.style.left = Element.style.left;
		IFrame.style.top = Element.style.top;
		IFrame.style.width = Element.offsetWidth;
		IFrame.style.height = Element.offsetHeight;
		IFrame.style.display = "";
		IFrame.style.backgroundColor = "white";
		
		Element.style.zIndex = ++MENU_CurrentZIndex;
		IFrame.style.zIndex = Element.style.zIndex - 1;
	}
	if (MENU_EnableAlpha)
	{
		MENU_IncreaseOpacity(Element, IFrame);
		Element.timeout = setTimeout("MENU_IncreaseOpacityById('" + ID + "')", MENU_IncreaseTimeout);
	}
	if (Underline != -1)
	{
		ID = ID.substring(0, Underline);
		if (ID.indexOf('_') != -1 || document.getElementById(ID).popup == "true")
			InternalShowMenu(ID, ID, Level - 1);
	}
}

function HideMenu(ID, Level)
{
	if (MENU_MouseOutTimeout == 0)
		InternalHideMenu(ID, Level);
	else
	{
		var Element = document.getElementById(ID);
		if (Element != null)
		{
			if (Element.timeout != null)
				clearInterval(Element.timeout);
			Element.timeout = setTimeout("InternalHideMenu('" + ID + "', " + Level + ")", MENU_MouseOutTimeout);
		}
	}
}

function InternalHideMenu(ID, Level, SingleLevel)
{
	var Element = document.getElementById(ID);
	if (Element.timeout != null)
		clearTimeout(Element.timeout);
	var IFrame = null;
	if (MENU_EnableIFrames)
		IFrame = document.getElementById(ID + "_IFrame");
	if (MENU_EnableAlpha)
	{
		MENU_DecreaseOpacity(Element, IFrame);
		Element.timeout = setTimeout("MENU_DecreaseOpacityById('" + ID + "')", MENU_IncreaseTimeout);
	}
	else
	{
		Element.style.display = "none";
		if (MENU_EnableIFrames)
			IFrame.style.display = "none";
	}
	if (!SingleLevel)
	{
		var Underline = ID.lastIndexOf('_');
		if (Underline != -1)
		{
			ID = ID.substring(0, Underline);
			if (ID.indexOf('_') != -1 || document.getElementById(ID).popup == "true")
				InternalHideMenu(ID, Level - 1);
		}
	}
}

function HideMenuSingleLevel(ID, Level)
{
	if (MENU_MouseOutTimeout == 0)
		InternalHideMenu(ID, Level, true);
	else
	{
		var Element = document.getElementById(ID);
		if (Element.timeout != null)
			clearInterval(Element.timeout);
		Element.timeout = setTimeout("InternalHideMenu('" + ID + "', " + Level + ", true)", MENU_MouseOutTimeout);
	}
}

function MENU_Vertical_Row_MouseOver(Row, MenuID, Level)
{
	if (MenuID != 0)
		ShowMenu(MenuID, Row, Level);
}

function MENU_Vertical_Row_MouseOut(Row, MenuID, Level)
{
	if (MenuID != 0)
		HideMenuSingleLevel(MenuID, Level);
}

function GetOpacity(Object)
{
	if (Object.filters)
		return Object.filters(0).Opacity;
	else
		return Object.style.opacity * 100;
}

function SetOpacity(Object, Opacity)
{
	Object.style.opacity = Opacity / 100;
	Object.style.MozOpacity = Opacity / 100;
	Object.style.KhtmlOpacity = Opacity / 100;
	
	if (Object.filters)
		Object.filters(0).Opacity = Opacity;
}

function MENU_IncreaseOpacityById(ID)
{
	var Element = document.getElementById(ID);
	var CurrentOpacity = GetOpacity(Element);
	if (Element.timeout != null)
		clearTimeout(Element.timeout);
	if (CurrentOpacity + MENU_IncreaseSliding < MENU_MaximumAlphaValue)
		Element.timeout = setTimeout("MENU_IncreaseOpacityById('" + ID + "')", MENU_IncreaseTimeout);
	var IFrame;
	if (MENU_EnableIFrames)
		IFrame = document.getElementById(ID + "_IFrame");
	MENU_IncreaseOpacity(Element, IFrame);
}

function MENU_IncreaseOpacity(Object, IFrame)
{
	MENU_SetOpacity(Object, IFrame, Math.min(GetOpacity(Object) + MENU_IncreaseSliding, MENU_MaximumAlphaValue));
}

function MENU_DecreaseOpacityById(ID)
{
	var Element = document.getElementById(ID);
	var CurrentOpacity = GetOpacity(Element);
	if (Element.timeout != null)
		clearTimeout(Element.timeout);
	if (CurrentOpacity - MENU_DecreaseSliding > 0)
		Element.timeout = setTimeout("MENU_DecreaseOpacityById('" + ID + "')", MENU_DecreaseTimeout);
	var IFrame;
	if (MENU_EnableIFrames)
		IFrame = document.getElementById(ID + "_IFrame");
	MENU_DecreaseOpacity(Element, IFrame);
}

function MENU_DecreaseOpacity(Object, IFrame)
{
	MENU_SetOpacity(Object, IFrame, Math.max(GetOpacity(Object) - MENU_DecreaseSliding, 0));
}

function MENU_SetOpacity(Object, IFrame, Opacity)
{
	if (Opacity == 0)
	{
		Object.style.display = "none";
		if (MENU_EnableIFrames)
			IFrame.style.display = "none";
	}
	SetOpacity(Object, Opacity);
	if (MENU_EnableIFrames != null)
    	SetOpacity(IFrame, Opacity);
	
	if (MENU_EnableIFrames)
	{
		IFrame.style.zIndex = Object.style.zIndex - 1;
		IFrame.style.width = Object.offsetWidth;
		IFrame.style.height = Object.offsetHeight;
	}
	
	if (Opacity != 0)
	{
		Object.style.display = "";
		if (MENU_EnableIFrames)
			IFrame.style.display = "";
	}
}


var UniqueID = 1;
var UniqueMenuID = 1;
function MenuClass(ParentMenu, Text, URL, TableClass)
{
	this.ParentMenu = ParentMenu;
	this.Render = Render;
	this.CreateSubMenu = CreateSubMenu;
	this.Text = Text;
	this.URL = URL;
	this.ImageUrl = ImageUrl;
	this.Menu = new Array();
	this.Horizontal = true;
	this.GetCurrentLevel = GetCurrentLevel;
	this.MenuID = GenerateMenuID();
	this.ID = GenerateID(this.MenuID);
	this.IsPopup = false;
	this.TableClass = TableClass;
	
	var ImageUrl;
	function GenerateMenuID()
	{
		if (ParentMenu == null)
			return UniqueMenuID++;
		else
			return UniqueMenuID - 1;
	}
	
	function GenerateID(MenuID)
	{
		var ToReturn;
		if (ParentMenu == null)
			ToReturn = "MENU" + MenuID;
		else
			ToReturn = ParentMenu.ID + "_" + (ParentMenu.Menu.length + 1);
		return ToReturn;
	}
	
	function CreateSubMenu(Text, URL, TableClass, ImageUrl)
	{
		var SubMenu = new MenuClass(this, Text, URL);
		if (TableClass == null)
			SubMenu.TableClass = this.TableClass;
		else
			SubMenu.TableClass = TableClass;
		if (ImageUrl != null)
		    SubMenu.ImageUrl = ImageUrl;
		this.Menu.push(SubMenu);
		return SubMenu;
	}
	
	function GetCurrentLevel()
	{
		var Parent = this.ParentMenu;
		if (Parent == null)
			return 1;
		var ToReturn = 2;
		while ((Parent = Parent.ParentMenu) != null)
			ToReturn++;
		return ToReturn;
	}
	
	function Render()
	{
		var Class;
		if (this.TableClass != null)
			Class = this.TableClass;
		else if (this.ParentMenu != null)
			Class = "Menu_Sub";
		else
			Class = "Menu_Root";
		var IsHorizontalRoot = this.ParentMenu == null && this.Horizontal;
		var CurrentLevel = this.GetCurrentLevel();
		var ToReturn = ("<table cellpadding=\"0\" cellspacing=\"0\" id=\"" + this.ID + "\" class=\"" + Class + "\"");
		if (this.ParentMenu != null)
		{
			ToReturn += (" onmouseout=\"HideMenu('" + this.ID + "', " + CurrentLevel + ")\"");
			ToReturn += (" onmouseover=\"ShowMenu('" + this.ID + "', this.id, " + CurrentLevel + ")\"");
			ToReturn += (" style=\"display:none;position:absolute");
			if (MENU_EnableAlpha)
				ToReturn += (";filter:alpha(opacity=0)");
			ToReturn += ("\"");
		}
		else
		{
			if (this.Horizontal)
			    ToReturn += (" summary=\"horizontal\"");
			if (this.IsPopup)
			{
				ToReturn += (" popup=\"true\" style=\"display:none;position:absolute");
				if (MENU_EnableAlpha)
					ToReturn += (";filter:alpha(opacity=0)");
				ToReturn += ("\"");
				ToReturn += (" onmouseout=\"HideMenu('" + this.ID + "', 1)\"");
				ToReturn += (" onmouseover=\"ShowMenu('" + this.ID + "', this.id, 1)\"");
			}
		}
		ToReturn += (">");		
		if (IsHorizontalRoot)
			ToReturn += ("<tr>");
		for (var i = 0; i < this.Menu.length; i++)
		{
			var SubMenu = this.Menu[i]
			if (SubMenu.Text == null)
			{
				if (!IsHorizontalRoot)
				{
					ToReturn += "<tr><td><table style=\"width:100%\" cellpadding=\"0\" cellspacing=\"0\"><td nowrap=\"nowrap\" class=\"" + Class + "_BlankItem_Image\"></td><td nowrap=\"nowrap\" class=\"" + Class + "_BlankItem_Text\"></td><td nowrap=\"nowrap\" class=\"" + Class + "_BlankItem_Array\"></td></tr></table></td></tr>";
				}
				else
				{
				    ToReturn += "<td class=\"" + Class + "_BlankItem\">|</td>";
				}
			}
			else
			{
				if (!IsHorizontalRoot)
				{
					ToReturn += ("<tr id=\"MENU" + this.MenuID + "_U" + (UniqueID++) + "\"");
					ToReturn += (" onmouseover=\"MENU_Vertical_Row_MouseOver(this.id, '" + (SubMenu.Menu.length == 0 ? 0 : SubMenu.ID) + "', " + (CurrentLevel + 1) + ")\"");
					ToReturn += (" onmouseout=\"MENU_Vertical_Row_MouseOut(this.id, '" + (SubMenu.Menu.length == 0 ? 0 : SubMenu.ID) + "', " + (CurrentLevel + 1) + ")\"");
					ToReturn += ">";
				}
				ToReturn += "<td nowrap=\"nowrap\" class=\"" + Class + "_Item\"";
				if (SubMenu.URL != null)
				    ToReturn += " style=\"cursor:pointer\"";
                else
                    ToReturn += " style=\"cursor:default\"";
				ToReturn += " onmouseover=\"this.className='" + Class + "_Item_MouseOver'";
				if (IsHorizontalRoot)
			        ToReturn += ";ShowMenu('" + SubMenu.ID + "', 'MENU" + this.MenuID + "_U" + (UniqueID) + "', " + (CurrentLevel + 1) + ")";
			    ToReturn += "\" onmouseout=\"this.className='" + Class + "_Item'";
				if (IsHorizontalRoot)
			        ToReturn += ";HideMenu('" + SubMenu.ID + "', " + (CurrentLevel + 1) + ")";
				ToReturn += "\">";

			    ToReturn += "<table style=\"width:100%\" cellpadding=\"0\" cellspacing=\"0\" id=\"MENU" + this.MenuID + "_U" + (UniqueID++) + "\">";
                ToReturn += "<tr";
				
				
				if (SubMenu.URL != null)
				{
					ToReturn += (" onclick=\"");
					if (SubMenu.URL.substring(0, 1) == "'")
						ToReturn += ("document.location=" + SubMenu.URL);
					else
						ToReturn += (SubMenu.URL);
					ToReturn += ("\"");
				}
				ToReturn += (">");
					
				//<tr>";
				
				ToReturn += "<td nowrap=\"nowrap\" class=\"" + Class + "_Image\">";
				if (SubMenu.ImageUrl != null)
					ToReturn += "<img src=\"" + SubMenu.ImageUrl + "\" />";
				ToReturn += "</td>";
						
				if (SubMenu.Menu.length != 0)
				{				
					ToReturn += ("<td nowrap=\"nowrap\" class=\"" + Class + "_Text\">");
					ToReturn += (SubMenu.Text);
					ToReturn += ("</td>");
					if (!IsHorizontalRoot)
						ToReturn += ("<td nowrap=\"nowrap\" class=\"" + Class + "_Arrow\"><b>></b></td>");
				}
				else
				{
					ToReturn += ("<td nowrap=\"nowrap\" class=\"" + Class + "_Text\">");
					ToReturn += (SubMenu.Text);
					ToReturn += ("</td>");
					ToReturn += ("<td></td>");
				}
				
				ToReturn += "</tr></table></td>";
				
				if (!IsHorizontalRoot)
					ToReturn += ("</tr>");
			}
		}
		if (IsHorizontalRoot)
			ToReturn += ("</tr>");
		
		ToReturn += ("</table>");
		
		if (MENU_EnableIFrames)
		{
			ToReturn += ("<iframe id=\"" + this.ID + "_IFrame\" frameborder=\"0\" scrolling=\"no\" style=\"");
			if (MENU_EnableAlpha)
				ToReturn += ("filter:alpha(opacity=0);");
			ToReturn += ("display:none;position:absolute;width:1px;height:1px\"></iframe>");
		}
	
		for (var i = 0; i < this.Menu.length; i++)
			ToReturn += this.Menu[i].Render();
		return ToReturn;
	}
}

function BuildPopMenuFromString(String)
{
	var Menu = new MenuClass(null);
	Menu = GenerateMenuFromString(String);
	Menu.IsPopup = true;
	Menu.Horizontal = false;
	Menu.TableClass = "Menu_Popup";
	return Menu;	
}

function PopMenuFromString(Object, Text, Left, Top)
{
	if (Object.menu == null)
	{
		var Menu = BuildPopMenuFromString(Text == null ? Object.menustring : Text);
		var Element = document.createElement("span");
		Element.innerHTML = Menu.Render();
		document.body.insertAdjacentElement("BeforeEnd", Element);
		var MenuElement = document.getElementById(Menu.ID);
		MenuElement.style.display = "";
		PositionElementBelow(MenuElement, Object, Left, Top);
		Object.menu = Menu.ID;
		ShowMenu(Menu.ID, Menu.ID, 1);
	}
	else
		ShowMenu(Object.menu, Object.menu, 1);
}

function HidePopupMenu(Object)
{
	HideMenu(Object.menu, 1);
}

function GenerateMenuFromString(Text)
{
	var RootMenu = new MenuClass();
	var Menu = RootMenu;
	var BeginText = 0;
	var EndText = 0;
	var IsURL = false;
	for (var i = 0; i < Text.length; i++)
	{
		var Char = Text.substring(i, i + 1);
		var NextChar = i + 1 < Text.length ? Text.substring(i + 1, i + 2) : null;
		if (Char == "=" && NextChar != "=")
		{
			Menu.CreateSubMenu(Text.substring(BeginText, EndText + 1), null);
			BeginText = i + 1;
			IsURL = true;
		}
		else if (Char == "&" && NextChar != "&")
		{
			if (EndText > BeginText)
			{
				if (IsURL)
					Menu.Menu[Menu.Menu.length - 1].URL = Text.substring(BeginText, EndText + 1);
				else
					Menu.CreateSubMenu(Text.substring(BeginText, EndText + 1), null);
			}
			BeginText = i + 1;
			IsURL = false;
		}
		else if (Char == "<")
		{
			if (EndText > BeginText)
			{
				if (IsURL)
				{
					Menu = Menu.Menu[Menu.Menu.length - 1];
					Menu.URL = Text.substring(BeginText, EndText + 1);
					IsURL = false;
				}
				else
				{
					Menu = Menu.Menu[Menu.Menu.length - 1].CreateSubMenu(Text.substring(BeginText, EndText + 1), null);
					IsURL = true;
				}
			}
			BeginText = i + 1;
		}
		else if (Char == ">")
		{
			if (EndText > BeginText)
			{
				if (IsURL)
					Menu.Menu[Menu.Menu.length - 1].URL = Text.substring(BeginText, EndText + 1);
				else
					Menu.CreateSubMenu(Text.substring(BeginText, EndText + 1), null);
			}
			Menu = Menu.ParentMenu;
			BeginText = i + 1;
		}
		EndText = i;
		if ((Char == "&" && NextChar == "&") || (Char == "=" && NextChar == "="))
			i++;
	}
	if (EndText > BeginText)
	{
		if (IsURL)
			Menu.Menu[Menu.Menu.length - 1].URL = Text.substring(BeginText, EndText + 1);
		else
			Menu.CreateSubMenu(Text.substring(BeginText, EndText + 1), null);
	}
	return RootMenu;
}