/* variables */
var xpos = 0
var ypos = 0

var TemporizadorDestino = null
var origen = -1
var destino = -1

var lista_menus = new Array ("Menu1", "Menu2", "Menu3", "Menu4")

var datos_menu1 = new Array (
"PlantillaEM.html?cont=EmpresaObjetivos.html", "Mision y objetivos  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",
"PlantillaEM.html?cont=EMPRESArrhh.html",      "Recursos Humanos    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",
"Plantilla.html?cont=PoliticaCalidad.html",    "Politica de calidad &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",
"PlantillaEM.html?cont=localizacion2.html",    "Donde estamos       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;")

var datos_menu2 = new Array (
"Plantilla.html?cont=PoliticaCalidad.html",	"Politica de calidad&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;")

var datos_menu3 = new Array (
"PlantillaLE.html?cont=LineasEstrategicas.html", "Lineas estrategicas&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",
"PlantillaIN.html?cont=infraestructuras.html",	 "Infraestructuras&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",
"PlantillaMN.html?cont=medionatural.html",	 "Medio Natural&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;")

var datos_menu4 = new Array (
"http://www.sodemasa.net","Plataforma Gsinca&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",
"http://www.sodemasa.es","Plataforma Gespro&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;")

/* 
	Descripcion:	crea el html para la carga del menu
	Parametros:		nombre_menu --> especifica el menu sobre el que se realiza la operacion
				numero_menu --> es el identificador en el array del menu
				datos_menu --> estructura del menu a escribir
*/
function EscribeMenu(nombre_menu, numero_menu, datos_menu) 
{
	var espacio = / /gi;
	var mayorque = />/gi;
	var literal;
	var cadena_menu = '<div class="SubMenu" id="' + nombre_menu + '" onMouseOut="MarcaOrigen(' + numero_menu + ');" OnMouseOver="MarcaDestino(' + numero_menu + ');"><table class="TabMenu">\n'
	for( contador = 0; contador < datos_menu.length; contador = contador + 2 ) {
		literal = new String( datos_menu[contador+1] )
		datos_menu[contador+1] = literal.replace(espacio, " ")
		literal = new String( datos_menu[contador+1] )
		datos_menu[contador+1] = literal.replace(mayorque, ">")
		cadena_menu += '<tr><td><a class="MenuItem" href="' + datos_menu[contador] + '">' + datos_menu[contador+1] + '</a></td></tr>\n'
	}
	cadena_menu += '</table></div>\n'
	document.write(cadena_menu)
}

/* 
	Descripcion:	Muestra  u oculta un menú 
	Parametros:		nombre_menu --> especifica el menu sobre el que se realiza la operacion
					on --> es un booleano que indica si se muestra (1) u oculta (0)
*/
function LanzaMenu(nombre_menu, on) 
{
	PosicionaMenu(nombre_menu)
	if (on)
	{
		if (document.getElementById) 
		{				//DOM2 browsers
			document.getElementById(nombre_menu).style.visibility = "visible"
		} 
		else if (document.all) 
		{				//IE4+
			document.all[nombre_menu].style.visibility = "visible"
		}
	}
	else
	{
		if (document.getElementById) 
		{
			document.getElementById(nombre_menu).style.visibility = "hidden"
		} 
		else if (document.all) 
		{
			document.all[nombre_menu].style.visibility = "hidden"
		}
	}
}

/* 
	Descripcion:	Posiciona el menu en las coordenadas deseadas
	Parametros:		nombre_menu --> especifica el menu sobre el que se realiza la operacion
*/
function PosicionaMenu(nombre_menu) 
{
	if (document.getElementById) 
	{
		if (nombre_menu == 'Menu1')
		{
			document.getElementById(nombre_menu).style.left = ((document.getElementById("body").offsetWidth - 900) / 2) + 5 + "px"  			
			document.getElementById(nombre_menu).style.top = '250px'
		}
		else if (nombre_menu == 'Menu2')
		{
			document.getElementById(nombre_menu).style.left = ((document.getElementById("body").offsetWidth - 900) / 2) + 152 + "px" 
			document.getElementById(nombre_menu).style.top = '250px'
		} 
		else if (nombre_menu == 'Menu3')
		{
			document.getElementById(nombre_menu).style.left =  ((document.getElementById("body").offsetWidth - 900) / 2) + 330 + "px" 
			document.getElementById(nombre_menu).style.top = '250px'
		}
		else if (nombre_menu == 'Menu4')
		{
			document.getElementById(nombre_menu).style.left = ((document.getElementById("body").offsetWidth - 900) / 2) + 510 + "px"
			document.getElementById(nombre_menu).style.top = '250px'
		}
	} 
	else if (document.all) 
	{		
		document.all[nombre_menu].style.pixelLeft = xpos
		document.all[nombre_menu].style.pixelTop = ypos		
	}
}

/* 
	Descripcion:	registra el menu desde el que se ha movido el puntero a otro menu (se llama desde el OnMouseOut)
	Parametros:		menu --> especifica el menu sobre el que se realiza la operacion
*/
function MarcaOrigen(menu)
{
	if (TemporizadorDestino)
		clearTimeout(TemporizadorDestino)

	origen = menu
	destino = -1
	TemporizadorDestino = setTimeout('CompruebaDestino()', 250)
}

/* 
	Descripcion:	registra el menu desde el que se ha movido el puntero a otro menu (se llama desde el OnMouseOver)
	Parametros:		menu --> especifica el menu sobre el que se realiza la operacion
*/
function MarcaDestino(menu)
{
	destino = menu
}

/* 
	Descripcion:	establece la logica de ocultacion de menus, en base al origen/destino del movimiento del raton
	Parametros:		menu --> especifica el menu sobre el que se realiza la operacion
*/
function CompruebaDestino(menu) 
{
	if ( destino == -1 ) 
	{
		Ocultar(0)			//Oculta todos
	} else if ( destino < origen ) 
	{
		Ocultar(destino)		//Oculta hijos de destino
	} else if ( destino == origen ) {
		Ocultar(destino)		//Oculta hijos de destino
	}
}

/* 
	Descripcion:	se encarga de hacer no visible uno o varios menus
	Parametros:		menuID --> especifica el menu sobre el que se realiza la operacion
*/
function Ocultar(menuID) 
{
	for (contador = menuID; contador < lista_menus.length; contador++) 
	{
		eval("LanzaMenu('" + lista_menus[contador] + "', 0)")
	}
}