// JavaScript Document
function getStyleObject(objectId) {
    // cross-browser function to get an object's style object given its
    if(document.getElementById && document.getElementById(objectId)) {
	// W3C DOM
	return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
	// MSIE 4 DOM
	return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
	// NN 4 DOM.. note: this won't find nested layers
	return document.layers[objectId];
    } else {
	return false;
    }
} // getStyleObject

var ie5=(document.all && document.getElementById);
var chapter;
var layerName;
var ID;
//class Menu
//num1 : number of layers
function Menu (num1, num2)	{	//constructor
	this.numLayer1 = num1;
	this.numLayer2 = num2;
	//methods 
  	this.hideAll = hideAll;
	this.hide = hide;
	this.hideLayer = hideLayer;
	this.setX = setX;
	this.doMenu = doMenu;
}
/***************************************************************
/* doMenu lama muestra el Layer con el siguiente nivel
/* corectorX, corectorY: los correctores admiten corregir la posicion del layer
/* i: el nummero de item
/* level: que nivel
**********************************************************/
function doMenu(corectorX, corectorY, i, level)	{
	
	if (level == 1)	{
		var idName = "item" + i;
		var layerName = "Layer" + i;
	}
	if (level == 2)	{
		var idName = "subItem" + i;
		var layerName = "ThirdLevelLayer" + i;
	}

	this.setX(corectorX, corectorY, idName, layerName);
	this.hideAll(i, level);
	if (level == 1)
		this.hideAll(-1, -1);
	
}

function setX(distanceX, distanceY, anchorName, thisLayerName)	{
		clearTimeout(ID);
		chapter=anchorName;
		layerName=thisLayerName;
		
		var y =getAnchorPosition(anchorName)-1+distanceY;
		var x =getAnchorXPosition(anchorName)+distanceX;
		
		if (document.all)	{
			if (document.getElementById(layerName) != null)	{
			//IE
			document.getElementById(layerName).style.pixelTop=y+28;
			document.getElementById(layerName).style.posLeft=x;
			}
		}
		else if (document.getElementById)	{
			if (document.getElementById(layerName) != null)	{
				document.getElementById(layerName).style.top=y;
				document.getElementById(layerName).style.left=x;
				document.getElementById(layerName).visibility="visible";
				divML=getStyleObject(layerName);
				if (ie5) {
					divML.left=x;
					divML.top=y+28;
				} else {
					//FF
					divML.left=x+"px";
					divML.top=y+21+"px";
				}
			}
		}
}

function hideLayer()	{
	ID=setTimeout("this.hide()", 1000);
}
function hide()	{
		this.hideAll(-1, 1);
		this.hideAll(-1, 2);		
}
//-1 hides all, menu level to hide
function hideAll(num, menuLevel)	{
	if (menuLevel==1)	{
		var numLayers = this.numLayer1;
		var y =-800;
		var x =-800;
			for (var i=1; i<numLayers+1; i++)	{
				if (num==i)	{ newlayerName="Layer";	}
				else	{ 
				newlayerName="Layer"+i;
					if (document.all)	{
						if (document.getElementById(newlayerName) != null)	{
							//ie
							document.getElementById(newlayerName).style.pixelTop=y;
							document.getElementById(newlayerName).style.posLeft=x;
						}
					}
					else if (document.getElementById)	{
						if (document.getElementById(newlayerName) != null)	{
							document.getElementById(newlayerName).style.top=y;
							document.getElementById(newlayerName).style.left=x;
							divML=getStyleObject(newlayerName);
							if (ie5) {
								divML.left=x;
								divML.top=y;
							} else {
								divML.left=x+"px";
								divML.top=y+"px";
							}
						}
					}
				}
			}
	}

	if (menuLevel==2)	{
		var numLayers = this.numLayer2;
		//alert('num='+num+' level'+menuLevel+' numLayers'+numLayers);
		var y =-800;
		var x =-800;
			for (var i=1; i<numLayers+1; i++)	{
				if (num==i)	{ 
					newlayerName="ThirdLevelLayer";
					//alert('num=i');
					}
				else	{ 
				newlayerName="ThirdLevelLayer"+i;
					//alert(i);
					if (document.all)	{
						if (document.getElementById(newlayerName) != null)	{
							//ie
							document.getElementById(newlayerName).style.pixelTop=y;
							document.getElementById(newlayerName).style.posLeft=x;
						}
					}
					else if (document.getElementById)	{
						if (document.getElementById(newlayerName) != null)	{
							document.getElementById(newlayerName).style.top=y;
							document.getElementById(newlayerName).style.left=x;
							divML=getStyleObject(newlayerName);
							if (ie5) {
								divML.left=x;
								divML.top=y;
							} else {
								divML.left=x+"px";
								divML.top=y+21+"px";
							}
						}
					}
				}
			}
	}
}