var orientation=0	// 0-horizontal 1-vertical
var imgPath = "js/"

/////////////////////////////////////////////////////////////////////////////

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, target, js) {
	this.id = id;
	this.parentId = parentId;
	this.url = url;
	this.description = description;
	this.numChild = 0;
	this.levelId = 0;
	this.img = img;
	this.target = target;
	this.js = js;
}

/////////////////////////////////////////////////////////////////////////////

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)
	{
		altura_tab = SupSubItemHeight;
		thisborder = SupSubItemBorWidth;
		estilotexto = css_menusup_sub;
		borstyle = SupSubItemBorStyle;
		
		ItemForeground = SupSubItemForeground;
		Border = SupSubItemBorColor;
		Background = SupSubItemBackground;

		HoverForeground = SupSubItemHoverForeground;
		HoverBorder = SupSubItemHoverBorColor;
		HoverBackground = SupSubItemHoverBackground;
	}
	else
	{
		altura_tab = SupItemHeight;
		thisborder = SupItemBorWidth;
		estilotexto = css_menusup;
		borstyle = SupItemBorStyle;
		
		ItemForeground = SupItemForeground;
		Border = SupItemBorColor;
		Background = SupItemBackground;

		HoverForeground = SupItemHoverForeground;
		HoverBorder = SupItemHoverBorColor;
		HoverBackground = SupItemHoverBackground;
	}

	if ((orientation==1)||(menu[menuId].levelId>0))
	{
		sHTML += "<tr>"
	}	

	if (menu[menuId].description!='-')
	{
		sHTML = "<td height="+ altura_tab +" id='menu_"+menuId+"' bgcolor=\""+ Background +"\" style=\"cursor:pointer;cursor:hand;border-style:"+ borstyle +";border-width:"+ thisborder +"px;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+")\"";
		if(menu[menuId].target == "_blank"){
			sHTML += " onclick=\"window.open('"+menu[menuId].url+"','');"+menu[menuId].js+"\"";
		} else if(menu[menuId].target == "_top") {
			sHTML += " onclick=\"top.location='"+menu[menuId].url+"';"+menu[menuId].js+"\"";
		} else if(menu[menuId].target == "_parent") {
			sHTML += " onclick=\"parent.location='"+menu[menuId].url+"';"+menu[menuId].js+"\"";
		} else if(menu[menuId].target == "" || menu[menuId].target == "_self") {
			sHTML += " onclick=\"document.location='"+menu[menuId].url+"';"+menu[menuId].js+"\"";
		} else {
			sHTML += " onclick=\"parent.document.all."+menu[menuId].target+".location='"+menu[menuId].url+"';"+menu[menuId].js+"\"";
		}
		sHTML += " onmouseout=\"s1=setInterval('resetMenu();hideSubmenu(0)',1000);\"><table class=\""+estilotexto+"\" cellpadding=0 cellspacing=0 border=0 width='100%' height="+ SupItemHeight +"><tr>";

		if (menu[menuId].levelId>0)
		{
/*			sHTML += "<td style='padding-left:3px' width=20><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 = 25
		}
		if (menu[menuId].levelId==0)//////////////////////alineación menu superior/////////////////////////////
		{
		textaligncell = SupItemTextAlign
		}
		else
		{
		textaligncell = SupSubItemTextAlign
		}
		sHTML += "<td style='padding-left:5px;padding-right:5px' align="+ textaligncell +" class=\""+estilotexto+"\"><a class=\""+estilotexto+"\"";
		sHTML += " href=\"#\">";
		sHTML +=menu[menuId].description.replace(" ","&nbsp;") + "</a></td><td style='padding-right:2px' align=right width="+nArrowWidth+">"
		if (menu[menuId].numChild>0)
		{
			if ((orientation==0)&&(menu[menuId].levelId==0))
			{
				sHTML += "<img src='" + imgPath + "arrow_down.gif'>"
			}
			else
			{
				sHTML += "<img src='" + imgPath + "arrow_right.gif'>"
			}
		}
		else
		{
			sHTML += "&nbsp;"
		}
		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)||(menu[menuId].levelId>0))
	{
		sHTML += "</tr>"
	}	
	return sHTML
}

function clearAll(levelId, parentId) {

	if (levelId>0)
	{
		Border = SupSubItemBorColor 
		Background = SupSubItemBackground 
	}
	else
	{
		Border = SupItemBorColor 
		Background = SupItemBackground 
	}

	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 + 0 // POSICION DEL LAYER
			leftpos = lw_leftpos
		}

		lw_getObj("menu_level_"+nLevel).left=leftpos

		sHTML = "<table cellpadding="+TablaSupSubPad+" background=\""+TablaSupSubBackground+"\" cellspacing="+TablaSupSubSpa+" style=\"border-width: "+TablaSupSubBorWidth+";border-color:"+TablaSupSubBorColor+";border-style:"+TablaSupSubBorStyle+";\">"
		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,100)
	}
	sHTML="<table width=100% cellpadding="+ TablaSupPad +" cellspacing="+ TablaSupSpa +" height="+ SupItemHeight +" style:\"border-width: "+TablaSupBorWidth+"px;border-color:'"+TablaSupBorColor+"';border-style:"+TablaSupBorStyle+";Background:'"+TablaSupBackground+"'\">"
	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 style=\"background:'"+SupItemBackground+"'\"><td style='padding:5px'><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, target, js)  {

	menu[menuCounter++] = new Tmenu (id, parentId, url, description, img, target, js)

	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=SupItemBackground;
			lw_getObj("menu_"+i).borderColor=SupItemBorColor;
		}
	}
}

document.onkeypress = handlekeypress
document.onclick = handleonclick

