//	written	by Tan Ling Wee
//	last updated 20 June 2003
//	email :	info@sparrowscripts.com
//      url : www.sparrowscripts.com

//alert('hei');
var orientation=0;	// 0-horizontal 1-vertical
var imgPath = "";


var mainItemForeground = "#DCD5A5";
var mainItemBorder = "#DCD5A5";
var mainItemBackground = "#DCD5A5";

/*var mainItemHoverForeground = "#FF8A00";
var mainItemHoverBorder = "#FF8A00";
var mainItemHoverBackground = "#FF8A00";*/

var mainItemHoverForeground = "#ffa600";
var mainItemHoverBorder = "#ffa600";
var mainItemHoverBackground = "#ffa600";

var subItemForeground = "#DCD5A5";
var subItemBorder = "#DCD5A5";
var subItemBackground = "#DCD5A5";

var subItemHoverForeground = "#ffa600";
var subItemHoverBorder = "#ffa600";
var subItemHoverBackground = "#ffa600";

//no utilitzats
var menuFont = "verdana";
var menuSize = "3px";

/////////////////////////////////////////////////////////////////////////////

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) {
	this.id = id;
	this.parentId = parentId;
	this.url = url;
	this.description = description;
	this.numChild = 0;
	this.levelId = 0;
	this.img = img;
}

/////////////////////////////////////////////////////////////////////////////

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))
	{
		sHTML += "<tr>";
	}	
	if((menu[menuId].levelId>0))
	{
		sHTML += "<td class='fill'>";
	}

	if (menu[menuId].description!='-')
	{
		sHTML = "<td id='menu_"+menuId+"'style='border-style:solid;font-size:3px;border-width:1px;background-color:"+ Background +";color=\""+ ItemForeground +"\";border-color:"+ Border +"' onmouseover='clearInterval(s1);this.style.backgroundColor=\"" + HoverBackground + "\";this.style.color=\"" + HoverForeground + "\";this.style.borderColor=\"" + HoverBorder + "\";";

		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+")' onclick='document.location.href=\""+menu[menuId].url+"\"' onmouseout='s1=setInterval(\"resetMenu();hideSubmenu(0)\",1000);'><table cellpadding=0 cellspacing=0 border=0 width='100%'><tr>";
		
			sHTML += ";nNowAt="+menuId+";clearAll("+menu[menuId].levelId+","+menu[menuId].parentId+")' onclick='parent.location.href=\""+menu[menuId].url+"\"' onmouseout='s1=setInterval(\"resetMenu();hideSubmenu(0)\",1000);'><table cellpadding=1 cellspacing=0 border=0 width='100%'><tr>";


	/*	COMENTAT PERQUE POSA UNA IMATGE TRANSPARENT QUE FA QUE S'ALLARGUI MASSA
		if (menu[menuId].levelId>0)
		{
			sHTML += "<td style='padding-left:1px'>999<img src='";
			if (menu[menuId].img=="")
			{
				sHTML += imgPath + "trans.gif";
			}
			else
			{
				sHTML += imgPath + menu[menuId].img;
			}
			sHTML += "'border=0></td>";
		}*/

		if ((orientation==0) && (menu[menuId].levelId==0))
		{
			nArrowWidth = 0;
		}
		else
		{
			nArrowWidth = 8;
		}

		sHTML += "<td style='padding-left:1px;padding-right:1px' align=left>" + menu[menuId].description.replace(" ","&nbsp;") + "</td><td style='padding-right:1px' align=right width="+nArrowWidth+">";
		if (menu[menuId].numChild>0)
		{
			if ((orientation==0)&&(menu[menuId].levelId==0))
			{
				sHTML += "<img src='" + imgPath + "arrowblack.gif'>";
				//sHTML += "<img src='" + imgPath + "img/logo.gif'>";
				
			}
			else
			{
				sHTML += "<img src='" + imgPath + "arrowblack.gif'>";
			}
			
		}
		else
		{
			//sHTML += "&nbsp;";
		}
		//afegim un separador entre items del menú
		if((menuId != menuCounter-1)&&(menuId!= 4 )&&(menuId != menuCounter-2 )&&(menuId != menuCounter-3 )&&(menuId!=menuCounter-4 )&&(menuId!=menuCounter-8 ))
		{
			sHTML += "<font color='#ffa600' > |</font>";
		}
				
		sHTML += "</td></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))
	{
		sHTML += "</tr>";
	}	
	if((menu[menuId].levelId>0))
	{
		sHTML += "</div></td>";
	}
	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);

		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;

			if (nLevel==0) {
				leftpos -= 3;
			}
		}
		else {
			lw_getObj("menu_level_"+nLevel).top = lw_toppos + lw_height + 2;
			leftpos = lw_leftpos;
		}

		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 += "</table>";

		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 width=100% cellpadding=1 cellspacing=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:1px'><b>" + menu[i].description + "</b></td></tr>";
		}
	}
	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, img)  {

	menu[menuCounter++] = new Tmenu (id, parentId, url, description, img);

	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;

