function NavPanelInitializeTopNav ()
{
	document._topNav = new Object ();
	document._topNav.links = [];
	document._topNav.activeLink = null;
	document._topNav.startLink = null;
	document._topNav.redraw = function ()
	{
		for (var i = 0; i < document._topNav.links.length; i++)
		{
			var a = document._topNav.links[i];
			if (a == document._topNav.activeLink)
			{
				a.className = "active";
				if (a._subNav != null)
					a._subNav.className = "subNav";
			}
			else
			{
				a.className = "";
				if (a._subNav != null)
					a._subNav.className = "subNav hidden";
			}
		}
	};


	var topNav = document.getElementById ("topNav");
	topNav = document._topNav != null ? document.getNonTextElement (topNav.firstChild) : null;
	if (topNav.nodeName != "UL")
		topNav = null;
	if (topNav != null)
	{
		for (var i = 0; i < topNav.childNodes.length; i++)
		{
			var li = document.getNonTextElement (topNav.childNodes[i]);
			if (li != null && li.nodeName == "LI")
			{
				for (var j = 0; j < li.childNodes.length; j++)
				{
					var a = document.getNonTextElement (li.childNodes[j]);
					if (a != null && a.nodeName == "A")
					{
						if (document.isElementImplementClassName (a, "active"))
							document._topNav.startLink = a;
						var subNav = document.getNonTextElement (a.nextSibling);
						if (subNav != null && document.isElementImplementClassName (subNav, "subNav"))
							a._subNav = subNav;
						else
							a._subNav = null;
						a.onmouseover = function ()
						{
							document._mainNav.activeLink = null;
							document._mainNav.redraw ();
							document._topNav.activeLink = this;
							document._topNav.redraw ();
							document._navTab.showTab (this.id);
						}
						document._topNav.links.push (a);
					}
				}
			}
		}
	}
}


function NavPanelInitializeMainNav ()
{
	document._mainNav = new Object ();
	document._mainNav.links = [];
	document._mainNav.activeLink = null;
	document._mainNav.startLink = null;
	document._mainNav.redraw = function ()
	{
		for (var i = 0; i < document._mainNav.links.length; i++)
		{
			var a = document._mainNav.links[i];
			if (a == document._mainNav.activeLink)
			{
				a.className = "active";
				if (a._subNav != null)
					a._subNav.className = "subNav";
			}
			else
			{
				a.className = "";
				if (a._subNav != null)
					a._subNav.className = "subNav hidden";
			}
		}
	};


	var mainNav = document.getElementById ("mainNav");
	mainNav = document._mainNav != null ? document.getNonTextElement (mainNav.firstChild) : null;
	if (mainNav.nodeName != "UL")
		mainNav = null;
	if (mainNav != null)
	{
		for (var i = 0; i < mainNav.childNodes.length; i++)
		{
			var li = document.getNonTextElement (mainNav.childNodes[i]);
			if (li != null && li.nodeName == "LI")
			{
				for (var j = 0; j < li.childNodes.length; j++)
				{
					var a = document.getNonTextElement (li.childNodes[j]);
					if (a != null && a.nodeName == "A")
					{
						if (document.isElementImplementClassName (a, "active"))
							document._mainNav.startLink = a;
						var subNav = document.getNonTextElement (a.nextSibling);
						if (subNav != null && document.isElementImplementClassName (subNav, "subNav"))
							a._subNav = subNav;
						else
							a._subNav = null;
						a.onmouseover = function ()
						{
							document._topNav.activeLink = null;
							document._topNav.redraw ();
							document._mainNav.activeLink = this;
							document._mainNav.redraw ();
							document._navTab.showTab (this.id);
						}
						document._mainNav.links.push (a);
					}
				}
			}
		}
	}
}


function NavPanelInitializeNavTab ()
{
	document._navTab = new Object ();
	document._navTab.tabs = new Object ();
	document._navTab.activeTab = null;
	document._navTab.startTab = null;
	document._navTab.showTab = function (id)
	{
		if (id != null)
		{
			var index = parseInt (id.substring (4));
			if (!isNaN (index))
			{
				var tab = document._navTab.tabs["navTab_" + index];
				if (tab != null)
				{
					if (document._navTab.activeTab != null)
						document._navTab.activeTab.className = "hidden";
					document._navTab.activeTab = tab;
					document._navTab.activeTab.className = "";
				}
			}
		}
		else
		{
			if (document._navTab.activeTab != null)
				document._navTab.activeTab.className = "hidden";
			if (document._navTab.startTab != null)
			{
				document._navTab.activeTab = document._navTab.startTab;
				document._navTab.activeTab.className = "";
			}
		}
	};

	var navTab = document.getElementById ("navTab");
	if (navTab != null)
	{
		for (var i = 0; i < navTab.childNodes.length; i++)
		{
			var div = document.getNonTextElement (navTab.childNodes[i]);
			if (div != null && div.nodeName == "DIV")
			{
				document._navTab.tabs[div.id] = div;
				if (!document.isElementImplementClassName (div, "hidden"))
				{
					document._navTab.activeTab = div;
					document._navTab.startTab = div;
				}
				else
				{
					div.className = "hidden"
				}
			}
		}
	}
}


function InitializeNavPanel ()
{
	var navPanel = document.getElementById ("navPanel");
	if (navPanel != null)
	{
		NavPanelInitializeNavTab ();
		NavPanelInitializeTopNav ();
		NavPanelInitializeMainNav ();
		navPanel.onmouseover = function ()
		{
			document.body.onmouseover = null;
		};
		navPanel.onmouseout = function ()
		{
			document.body.onmouseover = function ()
			{
				document._topNav.activeLink = document._topNav.startLink;
				document._topNav.redraw ();
				document._mainNav.activeLink = document._mainNav.startLink;
				document._mainNav.redraw ();
				document._navTab.showTab (null);
			}
		};
	}
}
