// JavaScript Document
// @autor: J.Kudla (jkudla@itdeusto.com)
var chapter;
var layerName;
var ID;
//class Menu
function Menu (num1, num2)	{	//constructor
	//properties
	this.numLayer1 = num1;
	this.numLayer2 = num2;
	this.waitTime = 300;	//time to wait befor hide (in milliseconds)
	//methods 
  	this.hideAll = hideAll;
	this.hide = hide;
	this.hideLayer = hideLayer;
	this.setX = setX;
	this.doMenu = doMenu;
}
/***************************************************************
/* doMenu 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 del menu
**********************************************************/
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, level)	{
		clearTimeout(ID);
		chapter=anchorName;
		layerName=thisLayerName;
		
		var y =getAnchorPosition(anchorName)-1+distanceY;
		var x =getAnchorXPosition(anchorName)+distanceX;
		
		if (document.all)	{
			if (level==2) {
				y = y - 35;
				x = x + 180;
			}
			document.getElementById(layerName).style.pixelTop=y+34;
			document.getElementById(layerName).style.posLeft=x-8;
		}
		else if (document.getElementById)	{
			if (level==2) x = x - 8;
			document.getElementById(layerName).style.top=y+23;
			document.getElementById(layerName).style.left=x;
		}	
}

function hideLayer()	{
	ID=setTimeout("this.hide()", waitTime);
}
function hideSelect(name, flag)	{
	if (flag)
		document.getElementById(name).style.visibility = "hidden";
	else
		document.getElementById(name).style.visibility = "visible";
}
function hide()	{
		this.hideAll(-1, 1);
		this.hideAll(-1, 2);		
}

function hideAll(num, menuLevel)	{
	var y =-900;
	var x =-900;
	if (menuLevel==1)	{
		var numLayers = this.numLayer1;
		
			for (var i=1; i<numLayers; i++)	{
				if (num==i)	{ newlayerName="Layer";	}
				else	{ 
				newlayerName="Layer"+i;
					if (document.all)	{
						if (document.getElementById(newlayerName) != null)	{
							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;
						}
					}
				}
			}
	}
	else	{
		var numLayers = this.numLayer2;
		for (var i=1; i<numLayers; i++)	{
			if (num==i)	{ newlayerName="Layer";	}
			else	{ 
				newlayerName="ThirdLevelLayer"+i;
					if (document.getElementById(newlayerName)!=null)	{
						if (document.all)	{
							document.getElementById(newlayerName).style.pixelTop=y;
							document.getElementById(newlayerName).style.posLeft=x;
						}
						else if (document.getElementById)	{
							document.getElementById(newlayerName).style.top=y;
							document.getElementById(newlayerName).style.left=x;
						}
					}
			}
		}
	}
}