//	written	by Tan Ling Wee
//	last updated 20 June 2003
//	email :	fuushikaden@yahoo.com

var ShowImagesMenu = false;

var orientation=0	// 0-horizontal 1-vertical
var imgPath = "imagenes/"

var mainItemForeground = ""
var mainItemBorder = ""
var mainItemBackground = ""

var mainItemHoverForeground = ""
var mainItemHoverBorder = ""
var mainItemHoverBackground = ""

var subItemForeground = "#E7E7F5"
var subItemBorder = ""
var subItemBackground = "#6567D8"

var subItemHoverForeground = "#6567D8"
var subItemHoverBorder = ""
var subItemHoverBackground = "#E7E7F5"

var menuFont = "verdana"
var menuSize = "10px"

var page = location.href;
page = page.substr(page.lastIndexOf("/")+1);
/////////////////////////////////////////////////////////////////////////////

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, search) {
	this.id = id
	this.parentId = parentId
	this.url = url
	if ((url!="")&&(url.indexOf(".")==-1)) this.url +=".htm"
	if (search) 
		this.search = search;
	else
		this.search = url;
	this.description = description
	this.numChild = 0
	this.levelId = 0
	this.img = "";// img

	this.on = ((this.search)&&(page.toLowerCase().indexOf(this.search.toLowerCase())>-1));
	//alert(location.href.toLowerCase());
	//if (this.on) alert("iluminada " + this.description);
	this.loadImg=new Image();
	if (this.img!="") { this.loadImg.src=this.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)||(menu[menuId].levelId>0))
	{
		sHTML += "<tr>"
	}	

	if (menu[menuId].description!='-')
	{	var esLink=((menu[menuId].url!="")); //(menu[menuId].numChild!=0)||
		sHTML = "<td id='menu_"+menuId+"' style='cursor:pointer;";
		if (esLink) sHTML += "cursor:hand;"; else sHTML += "cursor:default;"; 
		sHTML += "font-family: " + menuFont + "; font-weight: bold; font-size:" + menuSize + "; ";
		sHTML += "border-style:none;border-width:1px;background-color:"+ (menu[menuId].on?HoverBackground:Background) +";color:"+ (menu[menuId].on?HoverForeground:ItemForeground) +";border-color:"+ (menu[menuId].on?HoverBorder:Border) +"' onmouseover='clearInterval(s1);"
		if (esLink)
			sHTML += "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+")' "
		var murl=menu[menuId].url;

		/*	if (murl.indexOf('|')>-1) { 
				var target=murl.substr(murl.indexOf('|'));
				murl=murl.substr(0,murl.indexOf('|')-1);
			} else target="_self"
		var strLink = ""
		if (menu[menuId].url!="")
			strLink = "<a href='" + murl + "' target=" + target + " style='width=100%;height:100%;color=\""+ ItemForeground +"\"'>";
		*/
		
		  if (murl!="") {
			if (murl.indexOf('javascript:')==0) 
				sHTML += " onclick=\"" + murl.substr(11) + "\"";			
			else {
				if (murl.indexOf('|')>-1) { 
					var target=murl.substr(murl.indexOf('|'));
					murl=murl.substr(0,murl.indexOf('|')-1);
					//alert(target+"\n"+murl);
					if ((target=="_blank")||(!parent[target]))
							sHTML += "onclick=\"window.open('" + murl +"','" + target + "','')\" ";
					else
						sHTML += "onclick=\"parent." + target + ".location.href=" + murl + "'\" ";
				} else {
					sHTML += "onclick=\"document.location.href='"+murl+"'\" "
				}
			}
		}
		
		sHTML += "onmouseout='s1=setInterval(\"resetMenu();hideSubmenu(0)\",1000);";

		if (esLink)	
			if (!menu[menuId].on) sHTML += "this.style.backgroundColor=\"" + Background + "\";this.style.color=\"" + ItemForeground + "\";this.style.borderColor=\"" + Border + "\";"

		sHTML += "'>"
		
		//sHTML += "<table cellpadding=0 cellspacing=0 border=0 width='100%'><tr>"

		if (ShowImagesMenu) {
			// MUESTRA IMAGEN
			if (menu[menuId].levelId>0)
			{
				//sHTML += "<td style='padding-left:3px' width=20>" + strLink + "<img src='"
				sHTML += "<td style='padding-left:3px;' width=20><img src='"
				if (menu[menuId].img=="")
				{
					sHTML += imgPath + "spacer.gif"
				}
				else
				{
					sHTML += imgPath + menu[menuId].img
				}
				//sHTML += "' width=16 height=16 border=0></a></td>"
				sHTML += "' width=16 height=16 border=0></td>"
			} else 
				if (menu[menuId].img!="") {
					sHTML += "<td style='padding-left:3px' width=20><img src='"
					sHTML += imgPath + menu[menuId].img
					sHTML += "' width=16 height=16 border=0></td>"
				}
		}
		if ((orientation==0) && (menu[menuId].levelId==0))
		{
			nArrowWidth = 0
		}
		else
		{
			nArrowWidth = 25
		}

		//sHTML += "<td style='padding-left:5px;padding-right:5px' align=left>"; 
			//	+ strLink;
		if (menu[menuId].parentId>0) sHTML += "<div nowrap style='padding: 1px 5px; text-align:left; '>"
		if (menu[menuId].description.indexOf("img#")==-1)
			sHTML += menu[menuId].description; //.replace(" ","&nbsp;");
		else {	
			var imgurl = menu[menuId].description.substring(4);
			if (menu[menuId].on) {
				imgurl = imgurl.substr(0,imgurl.indexOf(".")) + "_i" + imgurl.substr(imgurl.indexOf("."));
				sHTML += "<img src='botones/" + imgurl + "' border=0>";		
			} else
				sHTML += "<img src='botones/" + imgurl + "' border=0 onmouseover='overimg(this)' onmouseout='outimg(this)'>";
		}
		if (menu[menuId].parentId>0) sHTML += "</div>"
			//sHTML += "</a>";
		//sHTML += "</td>"

		if (ShowImagesMenu) {
			// MUESTRA IMAGEN
			sHTML += "<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>"
		} else {
			// NO MUESTRA IMAGEN
			/*
			sHTML += "<td style='padding-right:2px' align=right width="+nArrowWidth+">";
			if (menu[menuId].numChild>0)
			{
				sHTML += "<span style='font-size:8px; color #dddddd'>";
				if ((orientation==0)&&(menu[menuId].levelId==0))
				{
					sHTML += "&#9660;"
				}
				else
				{
					sHTML += "&#9654;"
				}
				sHTML += "</span>";
			}
			else
			{
				sHTML += "&nbsp;"
			}
			sHTML += "</td>"
			*/
		}

		//sHTML += "</tr></table>"

		sHTML += "</td>"
	}
	else
	{
		if (ShowImagesMenu) 
			sHTML = "<td><img src='" + imgPath + "spacer.gif' height=2></td></tr><tr><td bgcolor='#d0d0d0'><img src='" + imgPath + "spacer.gif' height=1></td></tr><tr><td><img src='" + imgPath + "spacer.gif' height=2></td>" 			// MUESTRA IMAGEN
		else
			sHTML = "<td height=2></td></tr><tr><td bgcolor='#d0d0d0' height=1></td></tr><tr><td height=2></td>"
	}

	if ((orientation==1)||(menu[menuId].levelId>0))
	{
		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)

		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
		
// tabla del submenu

		sHTML = "<table bgcolor='#6567D8' cellpadding=0 cellspacing=2 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)
		/*sHTML=sHTML.replace(/</gi,"&lt;").replace(/>/gi,"&gt;<br>");
		nw = window.open();
		nw.document.open();
		nw.document.writeln('<div style="position:absolute; background :#EEEEEE; top: 100px; left: 0px; width:600; height:400"> ' + sHTML + '</div>');
		nw.document.close();*/
	} 
}

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,"#ff0000","#d0d0d0",1000)
	}

// tabla del menu
	
	sHTML="<table cellpadding=0 cellspacing=0 border=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='spacer' height=2></td></tr><tr bgcolor='"+mainItemBackground+"'><td style='padding:5px'>" + menu[i].description + "</td></tr>"
		}
	}
	sHTML += "</table>"
	document.writeln(sHTML)
	//sHTML=sHTML.replace(/</gi,"&lt;").replace(/>/gi,"&gt;<br>");
	//document.writeln('<div style="position:absolute; background :#EEEEEE; top: 100px; left: 0px; width:600; height:400"> ' + sHTML + '</div>');

}

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, search)  {

	menu[menuCounter++] = new Tmenu (id, parentId, url, description, search)

	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
		}
	}
}

//////////////////////////
// ROLLOVER IMAGENES    //
//////////////////////////

	function overimg(img) {
			img.src = img.src.substr(0,img.src.lastIndexOf(".")) + "_i" + img.src.substr(img.src.lastIndexOf("."),img.src.length);
	}
	function outimg(img) {
			img.src = img.src.substr(0,img.src.lastIndexOf(".")-2) + img.src.substr(img.src.lastIndexOf("."),img.src.length);
	}

document.onkeypress = handlekeypress
document.onclick = handleonclick

