//	written	by Tan Ling Wee
//	last updated 20 June 2003
//	email :	info@sparrowscripts.com
//      url : www.sparrowscripts.com


var orientation=0	// 0-horizontal 1-vertical
var imgPath = "images/"

var mainItemForeground = "#000000"
var mainItemBorder = "#f0f0f0"
var mainItemBackground = "#f0f0f0"

var mainItemHoverForeground = "#000000"
var mainItemHoverBorder = "#a0a0a0"
var mainItemHoverBackground = "#d0d0d0"

var subItemForeground = "#000000"
var subItemBorder = "#ffffff"
var subItemBackground = "#ffffff"

var subItemHoverForeground = "#000000"
var subItemHoverBorder = "#a0a0a0"
var subItemHoverBackground = "#d0d0d0"

var menuFont = "verdana"
var menuSize = "11px"

/////////////////////////////////////////////////////////////////////////////

var	ie=(navigator.appName=='Microsoft Internet Explorer')
var	ns=(navigator.appName=='Netscape')
var	dom=document.getElementById
var lw_menuId, lw_trigger, to1
var s1

/////////////////////////////////////////////////////////////////////////////

function Tmenu (id, parentId, url, description, img, img_over) {
	this.id = id
	this.parentId = parentId
	this.url = url
	this.description = description
	this.numChild = 0
	this.levelId = 0
	this.img = img
	this.img_over = img_over
}

/////////////////////////////////////////////////////////////////////////////

var menu = new Array()
var menuCounter = 0
var numLevel = 0
var prevMenuId = -1
var nNowAt = 0

function displayMenuItem(menuId) {
	var sHTML
	
	if (menu[menuId].parentId>0)
	{
		ItemForeground = subItemForeground 
		Border = subItemBorder 
		Background = subItemBackground 

		HoverForeground = subItemHoverForeground 
		HoverBorder = subItemHoverBorder 
		HoverBackground = subItemHoverBackground 
	}
	else
	{
		ItemForeground = mainItemForeground 
		Border = mainItemBorder 
		Background = mainItemBackground 

		HoverForeground = mainItemHoverForeground 
		HoverBorder = mainItemHoverBorder 
		HoverBackground = mainItemHoverBackground 
	}

	if ((orientation==1)||(menu[menuId].levelId>0))
	{
		//sHTML += "<tr>"
	}	

	if (menu[menuId].description!='-')
	{
		sHTML = "<tr><td id='menu_"+menuId+"' style='cursor:auto' "
		//sHTML = "<tr><td id='menu_"+menuId+"' style='' "

		/*if (menu[menuId].numChild!=0) {
			sHTML += "showSubmenu("+menu[menuId].id+",this);hideSubmenu(menu["+menuId+"].levelId+1);"
		}
		else
		{
			sHTML += "prevMenuId = "+menuId+";hideSubmenu(menu["+menuId+"].levelId);"
		}*/
		
		sHTML += "><table cellpadding=0 cellspacing=0 border=0><tr>"
		
		if(menu[menuId].levelId == 0) {
			if (menu[menuId].id == menu[0].id) {
				//sHTML += "<td><img src=\"" + imgPath + "top_front.gif\" width=\"25\" height=\"36\"></td>"
			}
		}
		sHTML += "<td><a href=\""
		if (menu[menuId].url != "#") {
			sHTML += pathPrefix
		}
		sHTML += menu[menuId].url + "\" "

		if (menu[menuId].parentId>0){
			sHTML += "onMouseOut=\"MM_swapImgRestore();s1=setInterval('resetMenu();hideSubmenu(0);RestoreAll();',1000);\" "
			sHTML += "onMouseOver=\"MM_swapImgRestore();MM_swapImage('" + menu[menu[menuId].parentId-1].description + "','','" + imgPath + menu[menu[menuId].parentId-1].img_over + "',1);MM_swapImage('" + menu[menuId].description + "','','" + imgPath + menu[menuId].img_over + "',1);clearInterval(s1);"			
		} else {
			sHTML += "onMouseOut=\"MM_swapImgRestore();s1=setInterval('resetMenu();hideSubmenu(0);MM_swapImgRestore();',1000);\" "
			sHTML += "onMouseOver=\"MM_swapImgRestore();MM_swapImage('" + menu[menuId].description + "','','" + imgPath + menu[menuId].img_over + "',1);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);"
		}
		sHTML += "nNowAt="+menuId+";clearAll("+menu[menuId].levelId+","+menu[menuId].parentId+")"
		sHTML += "\"><img src=\"" + imgPath + menu[menuId].img + "\" alt=\"\" id=\"" + menu[menuId].description + "\" name=\"" + menu[menuId].description + "\" border=\"0\"></a></td>"
		

		sHTML += "</tr></table></td>"
	}
	else
	{
		sHTML = "<td><img src='" + imgPath + "trans.gif' height=2></td></tr><tr><td onmouseover='' bgcolor='#d0d0d0'><img src='" + imgPath + "trans.gif' height=1></td></tr><tr><td><img src='" + imgPath + "trans.gif' height=2></td>"
	}

	if ((orientation==1)||(menu[menuId].levelId>0))
	{
		//sHTML += "</tr>"
	}	
	sHTML += "</tr>"
	return sHTML
}

function clearAll(levelId, parentId) {

	if (levelId>0)
	{
		Border = subItemBorder 
		Background = subItemBackground 
	}
	else
	{
		Border = mainItemBorder 
		Background = mainItemBackground 
	}

	for (i=0;i<menuCounter;i++)
	{
		if (menu[i].levelId==levelId)
		{
			if ((i!=nNowAt) && (menu[i].parentId==parentId) && (menu[i].description!="-")) {
				lw_getObj("menu_"+i).backgroundColor=Background;
				lw_getObj("menu_"+i).borderColor=Border
			}
		}
	}

}

function mapID (id) {
	for (var i=0;i<menuCounter;i++)
	{
		if (menu[i].id==id)
		{
			return i
		}
	}
	return -1
}

function showSubmenu(menuId,trigger) {
	lw_menuId = menuId
	lw_trigger = trigger
	if (ns)
	{
		to1 = setTimeout("showActualSubmenu(lw_menuId,lw_trigger)",50)			
	}
	else
	{
		showActualSubmenu(lw_menuId,lw_trigger)
	}
}

function showActualSubmenu(menuId,trigger) {
	var nLevel = 0
	var leftpos = 0 
	var nIndex=0

	if (menuId>0)
	{
		lw_calcpos(trigger)
		//alert(trigger.description)

		for (var i=0;i<menuCounter;i++)
		{
			if (menu[i].id==menuId)
			{	
				nLevel = menu[i].levelId
				nIndex = i
			}
		}

		if ((orientation==1)||(menu[nIndex].parentId>0))
		{
			lw_getObj("menu_level_"+nLevel).top=lw_toppos
			//leftpos = lw_leftpos + lw_width + 5
			leftpos = lw_leftpos + lw_width

			if (nLevel==0) {
				leftpos -= 3
			}
		}
		else {
			//alert(lw_leftpos)
			if (menuId == 5){
				more_y = 21;
			} else if (menuId == 7){
				more_y = 19;
			} else {
				more_y  = 20;
			}
			lw_getObj("menu_level_"+nLevel).top = lw_toppos + lw_height - more_y
			leftpos = lw_leftpos +122
		}
		
		lw_getObj("menu_level_"+nLevel).left=leftpos

		sHTML = "<table cellpadding=0 cellspacing=0 border=0>"
		for (var i=0;i<menuCounter;i++)
		{
			if (menu[i].parentId==menuId)
			{
				sHTML += displayMenuItem (i)
			}
		}
		sHTML += "<tr><td align=left><img src="+imgPath+"/submenu_bottom.gif></td></tr>"		
		sHTML += "</table>"
		
		//alert(sHTML)

		document.getElementById("menu_level_"+nLevel+"_content").innerHTML=sHTML
		lw_showLayer('menu_level_'+nLevel)
	} 
}

function hideSubmenu(levelId) {
	for (var cnt=levelId; cnt<numLevel; cnt++)
	{
		lw_hideLayerName("menu_level_"+cnt)
	}
}

function DrawMenu ()  {

	for (var i=0; i<numLevel ; i++)
	{
		lw_createLayer("menu_level_"+i,0,0,0,0,"#ffffff","#d0d0d0",100)
	}
	
	sHTML="<table border=0 cellspacing=0 cellpadding=0>"
	for (var i=0; i<menuCounter; i++)
	{
		if (menu[i].parentId==0)
		{		
			sHTML += displayMenuItem (i)
		}
		else if (menu[i].parentId==-1)
		{		
			sHTML += "<tr><td><img src='trans' height=2></td></tr><tr bgcolor='"+mainItemBackground+"'><td style='padding:0px'><b>" + menu[i].description + "</b></td></tr>"
		}
	}
	sHTML += "</table>"
	//alert(sHTML);
	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, img, img_over)  {

	menu[menuCounter++] = new Tmenu (id, parentId, url, description, img, img_over)

	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)
	{
		lw_closeAllLayers()
	}
	else
	{
		lw_closeAllLayers(event)
	}

	resetMenu()
}

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()
	}
	resetMenu()
}

function resetMenu () {
	for (i=0;i<menuCounter;i++)
	{
		if (menu[i].levelId==0)
		{
			lw_getObj("menu_"+i).backgroundColor=mainItemBackground
			lw_getObj("menu_"+i).borderColor=mainItemBorder
		}
	}
}

document.onkeypress = handlekeypress
document.onclick = handleonclick

