
/***************************************************************************
* Menu JScript file
*
*	NOTA: Los menús emergentes se tratan por separado, de forma independiente, ya que de 
*	otra forma podrían generar eventos que se anulen mutuamente y no funcionarían bien los menús.
*
****************************************************************************/

// Variables comunes
var hidingDelay = 250;		// Retardo para ocultar el menu (miliseg)

// Variables del MENU DE COLECCIONES
var menuTableColec;				// Objeto (DIV) que contiene el menu
var hideProcColec;				// ID de proceso para ocultar

// Variables del MENU DE VIAJES
var menuTableViajes;			// Objeto (DIV) que contiene el menu
var hideProcViajes;				// ID de proceso para ocultar


//////////////////////////////////////////////////////////////////////////////////////
// Muestra el menu lateral
function DrawMainMenu()
{
	document.write("<table cellpadding=0 cellspacing=0>");
	document.write("<tr><td style='text-align:left;'><a class='linkMenu' style='width:100%;' href='novedades.htm'>novedades</a></td></tr>");
	document.write("<tr><td style='text-align:left;' onMouseOver='ShowMenu(this, 0);' onMouseOut='HideMenuDelayColec();'><a class='linkMenu' style='width:100%;' href='colecciones.htm'>colecciones</a></td></tr>");
	document.write("<tr><td style='text-align:left;' onMouseOver='ShowMenu(this, 1);' onMouseOut='HideMenuDelayViajes();'><a class='linkMenu' style='width:100%;' href='viajes.htm'>viajes</a></td></tr>");
	document.write("<tr><td style='text-align:left;'><a class='linkMenu' style='width:100%;' href='expos.htm'>exposiciones y cine</a></td></tr>");
	document.write("<tr><td style='text-align:left;'><a class='linkMenu' style='width:100%;' href='creaciones.htm'>creaciones conjuntas</a></td></tr>");
	document.write("<tr><td style='text-align:left;'><a class='linkMenu' style='width:100%;' href='premios.htm'>premios y becas</a></td></tr>");
	document.write("<tr><td style='text-align:left;'><a class='linkMenu' style='width:100%;' href='enlaces.htm'>enlaces</a></td></tr>");
	document.write("<tr><td style='text-align:left; padding:15 0 0 0px;'><a class='linkMenu' style='width:100%;' href='contacto.htm'>contacto</a></td></tr>");
	document.write("</table>");
}


//////////////////////////////////////////////////////////////////////////////////////
// Crea los DIVs que se usarán en los menus emergentes
function CreatePopUpMenus()
{
	document.write("<div name='MenuDivColec' id='MenuDivColec' class='dropDown' onMouseOver='CancelHideMenuColec();' onMouseOut='HideMenuDelayColec();'></div>");
	document.write("<div name='MenuDivViajes' id='MenuDivViajes' class='dropDown' onMouseOver='CancelHideMenuViajes();' onMouseOut='HideMenuDelayViajes();'></div>");
}


// Muestra el menu emergente (colecciones)
//	item : Elemento que genera la llamada (opcion principal)
//	type : Tipo de menú a mostrar (0 = Colecciones, 1 = Viajes)
function ShowMenu(item, type)
{
	var i, opt;
 
	// Oculta el menú que NO se debe mostrar
	if (type==0)
		HideMenuViajes();
	else
		HideMenuColec();
 
	// Objeto de tabla de menu
	if (type==0)
		menuTableColec = (document.getElementById) ? document.getElementById("MenuDivColec") : MenuDivColec;
	else
		menuTableViajes = (document.getElementById) ? document.getElementById("MenuDivViajes") : MenuDivViajes;

	// Se rellenan las opciones del menu emergente
	opt = "";
	if (type==0)
	{
		for (i=0; i<g_aColecList.length; i++)
		{
			opt = opt + "<a href='" +g_aColecList[i]+ "'>" +g_aColecName[i]+ "</a><br>";
		}
		menuTableColec.innerHTML = opt;

		// Se asignan las propiedades
		menuTableColec.style.left = GetAbsolutePos(item, "left");
		menuTableColec.style.top  = GetAbsolutePos(item, "top") + item.offsetHeight;
		menuTableColec.style.visibility = "visible";
		menuTableColec.style.width = "180px";

		// Se cancela el borrado del menu
		CancelHideMenuColec();
	}
	else
	{
		for (i=0; i<g_aViajesList.length; i++)
		{
			opt = opt + "<a href='" +g_aViajesList[i]+ "'>" +g_aViajesName[i]+ "</a><br>";
		}
		menuTableViajes.innerHTML = opt;

		// Se asignan las propiedades
		menuTableViajes.style.left = GetAbsolutePos(item, "left");
		menuTableViajes.style.top  = GetAbsolutePos(item, "top") + item.offsetHeight;
		menuTableViajes.style.visibility = "visible";
		menuTableViajes.style.width = "180px";

		// Se cancela el borrado del menu
		CancelHideMenuViajes();
	}
}


// Calcula la posicion absoluta en pantalla del item recibido
//	item : Elemento del cual calcular la posicion
//	type : Desplazamiento a calcular ("left" o "top")
function GetAbsolutePos(item, type)
{
	var total = (type=="top") ? item.offsetTop : item.offsetLeft;
	var parent = item.offsetParent;
	
	while (parent != null)
	{
		total += (type=="top") ? parent.offsetTop : parent.offsetLeft;
		parent = parent.offsetParent;
	}
	return total;
}



// Oculta el menu de Colecciones cuando se va el mouse
function HideMenuDelayColec()
{
	hideProcColec = setTimeout("HideMenuColec()", hidingDelay);
}
function HideMenuColec()
{
	if (typeof(menuTableColec) != "undefined")
		menuTableColec.style.visibility = "hidden";
}
// Cancela el borrado del menu
function CancelHideMenuColec()
{
	if (typeof(hideProcColec) != "undefined")
		clearTimeout(hideProcColec);
}


// Oculta el menu de Viajes cuando se va el mouse
function HideMenuDelayViajes()
{
	hideProcViajes = setTimeout("HideMenuViajes()", hidingDelay);
}
function HideMenuViajes()
{
	if (typeof(menuTableViajes) != "undefined")
		menuTableViajes.style.visibility = "hidden";
}
// Cancela el borrado del menu
function CancelHideMenuViajes()
{
	if (typeof(hideProcViajes) != "undefined")
		clearTimeout(hideProcViajes);
}


