// Please see css/site.css for all styles
// Functions needed by the main menu bar

var	ie=(navigator.appName=='Microsoft Internet Explorer')
var	ns=(navigator.appName=='Netscape')
var	dom=document.getElementById
var gs_menuId, gs_trigger, to1
var s1

function Tmenu (id, parentId, url, description, title) {
	this.id = id
	this.parentId = parentId
	this.url = url
	this.description = description
	this.numChild = 0
	this.levelId = 0
	this.title = title
}

var menu = new Array()
var menuCounter = 0
var numLevel = 0
var prevMenuId = -1
var nNowAt = 0

function displayMenuItem(menuId) {
	var sHTML
	
	if (menu[menuId].levelId>0)
	{
		sHTML += "<tr>"
	}	

	if (menu[menuId].description!='-')
	{
		
		sHTML = "<td align='left' id='menu_"+menuId+"' onmouseover='clearInterval(s1);"

		if (menu[menuId].numChild!=0) {
			sHTML += "showSubmenu("+menu[menuId].id+",this);hideSubmenu(menu["+menuId+"].levelId+1);"
		}
		else
		{
			sHTML += "prevMenuId = "+menuId+";hideSubmenu(menu["+menuId+"].levelId);"
		}

		if (menu[menuId].parentId == 0) {
			sHTML += ";nNowAt="+menuId+";'onmouseout='s1=setInterval(\"hideSubmenu(0)\",1000);'><table cellpadding='0' cellspacing='0' class='tb_menu'><tr>"
		}
		else {
			sHTML += ";nNowAt="+menuId+";'onmouseout='s1=setInterval(\"hideSubmenu(0)\",1000);'><table cellpadding='0' cellspacing='0' class='tb_menu_item'><tr>"
		}
		
		if (menu[menuId].parentId == 0) {
			sHTML += "<td class='menu' align='left' valign='middle'><a width='100%' href='" + menu[menuId].url + "'title='" + menu[menuId].title + "'>" + menu[menuId].description.replace(" ","&nbsp;") + "</a>";
		}
		else {
			sHTML += "<td class='menu_item' align='left' valign='middle'><a width='100%' href='" + menu[menuId].url + "'title='" + menu[menuId].title + "'>" + menu[menuId].description.replace(" ","&nbsp;") + "</a>";
		}
		
		sHTML += "</td></tr></table></td>"
	}
	else
	{
		sHTML = ""
	}

	if (menu[menuId].levelId>0)
	{
		sHTML += "</tr>"
	}	
	return sHTML
}

function mapID (id) {
	for (var i=0;i<menuCounter;i++)
	{
		if (menu[i].id==id)
		{
			return i
		}
	}
	return -1
}

function showSubmenu(menuId,trigger) {
	gs_menuId = menuId
	gs_trigger = trigger

	if (ns)
	{
		to1 = setTimeout("showActualSubmenu(gs_menuId,gs_trigger)",50)			
	}
	else
	{
		showActualSubmenu(gs_menuId,gs_trigger)
	}
}

function showActualSubmenu(menuId,trigger) {
	var nLevel = 0
	var leftpos = 0 
	var nIndex=0

	if (menuId>0)
	{
		gs_calcpos(trigger)

		for (var i=0;i<menuCounter;i++)
		{
			if (menu[i].id==menuId)
			{	
				nLevel = menu[i].levelId
				nIndex = i
			}
		}

		if (menu[nIndex].parentId>0)
		{
			gs_getObj("menu_level_"+nLevel).top=gs_toppos + "px";
			leftpos = gs_leftpos + gs_width + 5

			if (nLevel==0) {
				leftpos -= 3
			}
		}
		else {
			gs_getObj("menu_level_"+nLevel).top = gs_toppos + gs_height + 1 + "px";
			leftpos = gs_leftpos
		}
		
		gs_getObj("menu_level_"+nLevel).left = (leftpos - 1) + "px";

		sHTML = "<table cellpadding='0' cellspacing='0' border='0' width='100%' height='16'>"
		for (var i=0;i<menuCounter;i++)
		{
			if (menu[i].parentId==menuId)
			{
				sHTML += displayMenuItem (i)
			}
		}
		sHTML += "</table>"

		document.getElementById("menu_level_"+nLevel+"_content").innerHTML=sHTML
		gs_showLayer('menu_level_'+nLevel)
	} 
}

function hideSubmenu(levelId) {
	for (var cnt=levelId; cnt<numLevel; cnt++)
	{
		gs_hideLayerName("menu_level_"+cnt)
	}
}

function DrawMenu ()  {

	for (var i=0; i<numLevel ; i++)
	{
		gs_createLayer("menu_level_"+i,0,0,0,100)
	}
	
	sHTML="<table cellpadding='0' cellspacing='0' border='0' height='16'>"
	for (var i=0; i<menuCounter; i++)
	{
		if (menu[i].parentId==0)
		{		
			sHTML += displayMenuItem (i)
		}
	}
	sHTML += "</table>"
	document.writeln(sHTML)
}

function getLevel (menuId) {
	var pId=menuId
	var nLevel=0

	while (pId!=0)
	{
		nLevel++
		for (var i=0;i<menuCounter;i++)
		{
			if (menu[i].id==pId)
			{	
				pId = menu[i].parentId
			}
		}
	}

	return nLevel
}

function AddMenuItem (id, parentId, url, description, title)  {

	menu[menuCounter++] = new Tmenu (id, parentId, url, description, title)

	if (parentId>0)
	{
		for (i=0;i<menuCounter;i++)
		{
			if (menu[i].id==parentId)
			{
				menu[i].numChild++
			}
		}
		menu[menuCounter-1].levelId = getLevel(parentId)

		if ( numLevel < menu[menuCounter-1].levelId)
		{	
			numLevel = menu[menuCounter-1].levelId
		}
	}	 
	else if (parentId==0)
	{
		menu[menuCounter-1].levelId = 0
	}
	else
	{
		menu[menuCounter-1].levelId = -1
	}
}

function handleonclick() {
	if (ns)
	{
		gs_closeAllLayers()
	}
	else
	{
		gs_closeAllLayers(event)
	}

}

function handlekeypress(e) {
	if (ns)
	{
		var keyCode = e.keyCode?e.keyCode:e.which?e.which:e.charCode;
		if ((keyCode==27)||(keyCode==1))
		{
			handleonclick()
		}
	}
	else
	if ((event.keyCode==0)||(event.keyCode==27))
	{
		handleonclick()
	}
}

document.onkeypress = handlekeypress
document.onclick = handleonclick

