<!--
/*
VARIBLE GLOBAL
rutaAbsoluta: Almacena el valor de la ruta base para todas las carpetas.
*/
//-->
var RUTA_ABSOLUTA = "/";

/*
NOMBRE: BrowserCheck
AUTOR: Luci.
FUNCION: Detecta el navegador del cliente y crea un objeto que devuelve	el navegador.
*/
function BrowserCheck() {
var b = navigator.appName

if (b=="Netscape") this.b = "ns"
else if (b=="Microsoft Internet Explorer") this.b = "ie"
else this.b = b

this.v = parseInt(navigator.appVersion)
this.ns = (this.b=="ns" && this.v>=4)
this.ns4 = (this.b=="ns" && this.v==4)
this.ns5 = (this.b=="ns" && this.v==5)
this.ie = (this.b=="ie" && this.v>=4)
this.ie4 = (navigator.userAgent.indexOf('MSIE 4')>0)
this.ie5 = (navigator.userAgent.indexOf('MSIE 5')>0)

if (this.ie5) this.v = 5
	this.min = (this.ns||this.ie)
}

/*
VARIABLE GLOBAL
is: Objeto de la clase anterior que contiene el tipo de navegador
*/
is = new BrowserCheck();

/*
NOMBRE: activarMovimiento
AUTOR: Luci.
FUNCION: Inicializa la captura del evento Move del ratón.
*/
function activarMovimiento() {

document.onmousemove = mouseMove
if (is.ns) {
	document.captureEvents(Event.MOUSEMOVE);
}
}

/*
NOMBRE: desactivarMovimiento
AUTOR: Tony Valle
FUNCION: Inhibe la funcionalidad al capturar el evento Move del ratón.
*/
function desactivarMovimiento() {
	return false;
}

/*
NOMBRE: mouseMove
AUTOR: Luci
FUNCION: Función predeterminada para el evento move del ratón. Capturamos la posición 
del ratón y la comparamos con las variables globales de posicion, si los valores se 
salen de la caja definida ocultará la capa del menú secundario, para el eje y si 
salimos por la derecha no la ocultará.
NOTA:	Establece los valores del cuadrado para el cual no se puede salir el ratón.	
PARÁMETROS:
	- e: Parámetro que devuelve la posición del ratón en la pantalla.
*/
function mouseMove(e) {
var x = (is.ns)? e.pageX : event.x+document.body.scrollLeft
var y = (is.ns)? e.pageY : event.y+document.body.scrollTop
var elMenu = window.top.cuerpo.document.all("cpMenuServicios");

// Gestión de error por omisión de las capas de submenus
// Si no encuentra la capa de submenu en la página que carga en el frame "cuerpo"
// no muestra el submenú 
	if (elMenu == null) {
		return false;
	}

//	if (x >= derecha){
		//Deja que se vea la capa
//	}
	if (x <= izquierda){
		window.top.cuerpo.document.getElementById("cpMenuServicios").style.visibility='hidden';
		document.onmousemove = desactivarMovimiento
	}
	if ((y-20 < arriba) || (y-20 > abajo)){
		window.top.cuerpo.document.getElementById("cpMenuServicios").style.visibility='hidden';
		document.onmousemove = desactivarMovimiento
	}
	return true;
}

/*
FUNCION: activarLocalizacion
AUTOR: Luci.
DESCRIPCIÓN: Calcula la distancia a la que debe aparecer el menú de opciones y lo muestra.
NOTA: Establece los valores del cuadrado para el cual no se puede salir el ratón.
PARÁMETROS:
	- item: Elemento de menú para el cual tenemos que mostrar la capa de menús.
*/
function activarLocalizacion(item){

derecha = 120;
arriba = 20;
arriba = arriba + (13 * (item - 1));
abajo = arriba + 13;
posYmenuServicios = arriba + (item * 1) - 2;
}

<!--
/*
FUNCIÓN: cambiar_color_fondo.
AUTOR: Luci.
DESCRIPCIÓN: Cambia la clase que establece el color de fondo por otra y la clase 
del enlace de texto. Esto se traduce en un cambio de color para el fondo y el 
color del texto.
PARÁMETROS:
	- enl: Número que nos dará el id de la celda y del enlace.
	- totopc: Número total de opciones de la aplicación que nos vamos a encontrar en 
	el menú horizontal de opciones de la aplicación.
ULTIMA MODIFICACIÓN: Tony (14/05/2002)
*/
//-->
function cambiar_color_fondo(enl,totopc) {
	
var objHREF; // Objeto para el acceso al color del texto
var objTD; // Objeto para el acceso al color del fondo
var i; // Variable auxiliar contador

	// Obtenemos la referencia al texto y el fondo (celda)
	objHREF = eval("document.getElementById('opcion"+enl+"')");
	objTD = eval("document.getElementById('enlopcion"+enl+"')");

	// Para cada opción del total de opciones de la aplicación
	for (i=0; i<totopc; i++) {
		if (i==enl) {	// Es la opción seleccionada
			// Cambiamos la clase de estilo aplicada al texto y al fondo
			objTD.className = "enlOpcion2";
			objHREF.className = "fndMenuOpcionesCen";
		}
		else { // No es la opción seleccionada
			// Aplicamos la clase de estilo al texto y fondo adecuada
			eval("document.getElementById('enlopcion"+i+"').className='enlOpcion'");
			eval("document.getElementById('opcion"+i+"').className='fndAmarilloClaroCen'");
		}
	} // Fin del for
} // Fin de la función


<!--
/*
FUNCIÓN: cargarOpcionesSeccion.
AUTOR: Luci.
DESCRIPCIÓN: Genera y muestra las opciones de la aplicación elegida en el segundo
menú de opciones horizontal. El número máximo de opciones a mostrar es 7, esta 
función controla cuantas hay para poder mostrar después	correctamente sus 
subopciones correspondientes.
PARÁMETROS:
	- seccion: Nombre de la aplicación elegida en el submenu de aplicaciones.
	- servicios: Número total opciones que va a tener la aplicación.
ÚLTIMA MODIFICACIÓN: Tony (03/06/2002)
*/
//-->
function cargarOpcionesSeccion(seccion,servicios) {

var objOpcionesSeccion; // Objeto para almacenar la referencia al objeto del menú.
var cadMenuOpciones = ""; // Variable para montar el contenido del objeto anterior.
var i; // Variable auxiliar contador.
	opcionesServicio = 0;
	
	// Guardamos el número de opciones de la aplicación con fines de posicionamiento
	window.top.opciones.pos_subm = servicios;

	// Obtenemos la referencia a la tabla que contiene el menú de opciones
	objOpcionesSeccion = window.top.opciones.document.getElementById("menuOpciones");
	
	cadMenuOpciones = "<table align='right' cellpadding='0' cellspacing='0' border='0'>";
	cadMenuOpciones = cadMenuOpciones + "<tr height='20'>";
	cadMenuOpciones = cadMenuOpciones + "<td width='30'><img src='/medias/imagenes/transp.gif' width='30' height='20' border='0'></td>";
	// Para todas las opciones menos la última
	for (i=0; i<servicios-1; i++) {
		enlace = enlaceItem[i];		
		texto = opciones[i];
		tipo = tipos[i];
		ventana = ventanas[i];
		
		cadMenuOpciones = cadMenuOpciones + "<td width='1'><img src='/medias/imagenes/separadorRojo.gif' border='0'></td>";
		if (tipo == "item") {
			cadMenuOpciones = cadMenuOpciones + "<td id='opcion" + i + "' width='89' class='fndAmarilloClaroCen'><a id='enlopcion" + i + "' class='enlOpcion' href='#' ";
			cadMenuOpciones = cadMenuOpciones + "onMouseDown='javascript:return window.top.menu.MM_Callback(" + ventana + ",\"" + enlace + "\"); cambiar_color_fondo(" + i + "," + servicios + ");'>" + texto + "</a></td>";
		}
		else {
			cadMenuOpciones = cadMenuOpciones + "<td id='opcion" + i + "' width='89' class='fndAmarilloClaroCen'><a id='enlopcion" + i + "' class='enlOpcion' href='#' ";
			cadMenuOpciones = cadMenuOpciones + "onMouseDown='javascript:cambiar_color_fondo(" + i + "," + servicios + "); javascript:cargarMenuOpcionesServicio(\"" + texto + "\"," + opcionesServicio + "," + i + ")'>" + texto + "</a></td>";		
		}
	}
	
	aux = servicios-1;
	enlace = enlaceItem[servicios-1];
	texto = opciones[servicios-1];
	tipo = tipos[servicios-1];
	ventana = ventanas[servicios-1];

	if (servicios<7) {
		cadMenuOpciones = cadMenuOpciones + "<td width='1'><img src='/medias/imagenes/separadorRojo.gif' border='0'></td>";
		if (tipo == "item") {
			cadMenuOpciones = cadMenuOpciones + "<td id='opcion" + aux + "' width='88' class='fndAmarilloClaroCen'><a id='enlopcion" + aux + "' class='enlOpcion' href='#' ";
			cadMenuOpciones = cadMenuOpciones + "onMouseDown='javascript:return window.top.menu.MM_Callback(" + ventana + ",\"" + enlace + "\"); cambiar_color_fondo(" + aux + "," + servicios + ");'>" + texto + "</a></td>";
		}
		else {
			cadMenuOpciones = cadMenuOpciones + "<td id='opcion" + aux + "' width='88' class='fndAmarilloClaroCen'><a id='enlopcion" + aux + "' class='enlOpcion' href='#' ";
			cadMenuOpciones = cadMenuOpciones + "onMouseDown='javascript:cambiar_color_fondo(" + aux + "," + servicios + "); javascript:cargarMenuOpcionesServicio(\"" + texto + "\"," + opcionesServicio + "," + aux + ")'>" + texto + "</a></td>";		
		}
		cadMenuOpciones = cadMenuOpciones + "<td width='1'><img src='/medias/imagenes/separadorRojo.gif' border='0'></td>";
	}
	else {
		cadMenuOpciones = cadMenuOpciones + "<td width='1'><img src='/medias/imagenes/separadorRojo.gif' border='0'></td>";
		if (tipo == "item") {
			cadMenuOpciones = cadMenuOpciones + "<td id='opcion" + (servicios-1) + "' width='88' class='fndAmarilloClaroCen'><a id='enlopcion" + (servicios-1) + "' class='enlOpcion' target='cuerpo' href='#' ";
			cadMenuOpciones = cadMenuOpciones + "onMouseDown='return window.top.menu.MM_Callback(" + ventana + ",\"" + enlace + "\"); javascript:cambiar_color_fondo(" + (servicios-1) + "," + servicios + ");'>" + texto + "</a></td>";
		}
		else {
			cadMenuOpciones = cadMenuOpciones + "<td id='opcion" + (servicios-1) + "' width='88' class='fndAmarilloClaroCen'><a id='enlopcion" + (servicios-1) + "' class='enlOpcion' href='#' ";
			cadMenuOpciones = cadMenuOpciones + "onMouseDown='javascript:cambiar_color_fondo(" + (servicios-1) + "," + servicios + "); javascript:cargarMenuOpcionesServicio(\"" + texto + "\"," + opcionesServicio + "," + aux + ")'>" + texto + "</a></td>";		
		}
		cadMenuOpciones = cadMenuOpciones + "<td width='1'><img src='medias/imagenes/separadorRojo.gif' border='0'></td>";
	}
	
	if (screen.width==1024) {
		cadMenuOpciones = cadMenuOpciones + "<td width='112'><img src='" + RUTA_ABSOLUTA + "medias/imagenes/transp.gif' width='112' height='20' border='0'></td>";
	}
	if (navigator.appName=="Netscape") {
		cadMenuOpciones = cadMenuOpciones + "<td width='16'><img src='" + RUTA_ABSOLUTA + "medias/imagenes/transp.gif' width='16' height='20' border='0'></td>";
	}
	cadMenuOpciones = cadMenuOpciones + "</tr></table>";

	// Actualizamos el contenido del menú
	objOpcionesSeccion.innerHTML = cadMenuOpciones;
} // Fin de la función
<!--
/*
FUNCIÓN: cargarOpcionesSuperior.
AUTOR: Luci.
DESCRIPCIÓN: Genera y muestra las opciones de la aplicación elegida en el segundo
menú de opciones horizontal. El número máximo de opciones a mostrar es 7, esta 
función controla cuantas hay para poder mostrar después	correctamente sus 
subopciones correspondientes.
PARÁMETROS:
	- seccion: Nombre de la aplicación elegida en el submenu de aplicaciones.
	- servicios: Número total opciones que va a tener la aplicación.
ÚLTIMA MODIFICACIÓN: Tony (03/06/2002)
*/
//-->
function cargarOpcionesSuperior(seccion,servicios) {	
var objOpcionesSeccion; // Objeto para almacenar la referencia al objeto del menú.
var cadMenuOpciones = ""; // Variable para montar el contenido del objeto anterior.
var i; // Variable auxiliar contador.
	
	opcionesServicio = 0;	
	// Guardamos el número de opciones de la aplicación con fines de posicionamiento
	window.top.opciones.pos_subm = servicios;

	// Obtenemos la referencia a la tabla que contiene el menú de opciones
	objOpcionesSeccion = window.top.opciones.document.getElementById("menuOpciones");
	
	cadMenuOpciones = "<table align='right' cellpadding='0' cellspacing='0' border='0'>";
	cadMenuOpciones = cadMenuOpciones + "<tr height='20'>";
	cadMenuOpciones = cadMenuOpciones + "<td width='30'><img src='/medias/imagenes/transp.gif' width='30' height='20' border='0'></td>";
	// Para todas las opciones menos la última
	for (i=0; i<servicios-1; i++) {
		enlace = enlaceItem[i];
		texto = opciones[i];
		//tipo = tipos[i];
		//alert("en" +enlace);
		//ventana = ventanas[i];
		ventana=0;
		cadMenuOpciones = cadMenuOpciones + "<td width='1'><img src='/medias/imagenes/separadorRojo.gif' border='0'></td>";
		//if (tipo == "item") {
			cadMenuOpciones = cadMenuOpciones + "<td id='opcion" + i + "' width='89' class='fndAmarilloClaroCen'><a id='enlopcion" + i + "' class='enlOpcion' href='#' ";
			cadMenuOpciones = cadMenuOpciones + "onMouseDown='javascript:cambiar_color_fondo(" + i + "," + servicios + "); return window.top.menu.MM_Callback(" + ventana + ",\"" + enlace + "\");'>" + texto + "</a></td>";
		//}
		//else {
		//	cadMenuOpciones = cadMenuOpciones + "<td id='opcion" + i + "' width='89' class='fndAmarilloClaroCen'><a id='enlopcion" + i + "' class='enlOpcion' href='#' ";
		//	cadMenuOpciones = cadMenuOpciones + "onMouseDown='javascript:cambiar_color_fondo(" + i + "," + servicios + "); javascript:cargarMenuOpcionesServicio(\"" + texto + "\"," + opcionesServicio + "," + i + ")'>" + texto + "</a></td>";		
		//}
	}
	
	aux = servicios-1;
	enlace = enlaceItem[servicios-1];
	texto = opciones[servicios-1];
	tipo = tipos[servicios-1];
	ventana = ventanas[servicios-1];
	ventana=0;
	//alert("enlace"+enlace);
	//alert("ventana"+ventana);
	if (servicios<7) {
		
		cadMenuOpciones = cadMenuOpciones + "<td width='1'><img src='/medias/imagenes/separadorRojo.gif' border='0'></td>";
		//if (tipo == "item") {
			cadMenuOpciones = cadMenuOpciones + "<td id='opcion" + aux + "' width='88' class='fndAmarilloClaroCen'><a id='enlopcion" + aux + "' class='enlOpcion' href='#' ";
			cadMenuOpciones = cadMenuOpciones + "onMouseDown='javascript:cambiar_color_fondo(" + aux + "," + servicios + "); return window.top.menu.MM_Callback(" + ventana + ",\"" + enlace + "\");'>" + texto + "</a></td>";
		//}
		//else {
		//	cadMenuOpciones = cadMenuOpciones + "<td id='opcion" + aux + "' width='88' class='fndAmarilloClaroCen'><a id='enlopcion" + aux + "' class='enlOpcion' href='#' ";
		//	cadMenuOpciones = cadMenuOpciones + "onMouseDown='javascript:cambiar_color_fondo(" + aux + "," + servicios + "); javascript:cargarMenuOpcionesServicio(\"" + texto + "\"," + opcionesServicio + "," + aux + ")'>" + texto + "</a></td>";		
		//}
		cadMenuOpciones = cadMenuOpciones + "<td width='1'><img src='/medias/imagenes/separadorRojo.gif' border='0'></td>";
	}
	else {
		cadMenuOpciones = cadMenuOpciones + "<td width='1'><img src='/medias/imagenes/separadorRojo.gif' border='0'></td>";
		if (tipo == "item") {
			cadMenuOpciones = cadMenuOpciones + "<td id='opcion" + (servicios-1) + "' width='88' class='fndAmarilloClaroCen'><a id='enlopcion" + (servicios-1) + "' class='enlOpcion' target='cuerpo' href='#' ";
			cadMenuOpciones = cadMenuOpciones + "onMouseDown='javascript:cambiar_color_fondo(" + (servicios-1) + "," + servicios + "); return window.top.menu.MM_Callback(" + ventana + ",\"" + enlace + "\");'>" + texto + "</a></td>";
		}
		else {
			cadMenuOpciones = cadMenuOpciones + "<td id='opcion" + (servicios-1) + "' width='88' class='fndAmarilloClaroCen'><a id='enlopcion" + (servicios-1) + "' class='enlOpcion' href='#' ";
			cadMenuOpciones = cadMenuOpciones + "onMouseDown='javascript:cambiar_color_fondo(" + (servicios-1) + "," + servicios + "); javascript:cargarMenuOpcionesServicio(\"" + texto + "\"," + opcionesServicio + "," + aux + ")'>" + texto + "</a></td>";		
		}
		cadMenuOpciones = cadMenuOpciones + "<td width='1'><img src='medias/imagenes/separadorRojo.gif' border='0'></td>";
	}
	
	if (screen.width==1024) {
		cadMenuOpciones = cadMenuOpciones + "<td width='112'><img src='" + RUTA_ABSOLUTA + "medias/imagenes/transp.gif' width='112' height='20' border='0'></td>";
	}
	if (navigator.appName=="Netscape") {
		cadMenuOpciones = cadMenuOpciones + "<td width='16'><img src='" + RUTA_ABSOLUTA + "medias/imagenes/transp.gif' width='16' height='20' border='0'></td>";
	}
	cadMenuOpciones = cadMenuOpciones + "</tr></table>";
	//alert(cadMenuOpciones);
	// Actualizamos el contenido del menú
	objOpcionesSeccion.innerHTML = cadMenuOpciones;
} // Fin de la función
<!--
/*
FUNCIÓN: cargarMenuOpcionesServicio.
AUTOR: Luci.
DESCRIPCIÓN: Genera y muestra las subopciones de una opción seleccionada.
PARÁMETROS:
	- nombreOpc: Nombre de la opción del submenú de cabecera elegida.
	- numOpc: Número total de subopciones que tiene el submenú.
	- numServicio: Número de la opción elegida. Se utiliza junto 
	con el valor de la varialble global para calcular la coordenada horizontal 
	a partir de la cual vamos a situar el submenú.
ÚLTIMA MODIFICACIÓN: Tony (03/06/2002)
*/
//-->
function cargarMenuOpcionesServicio(nombreOpc,numOpc,numServicio) {

var contMenuOpcionesServicio = ""; // Almacena el contenido de la opción.
var i; // Variable auxiliar contador.
var dist = 0;

	contMenuOpcionesServicio = "<table cellpadding='0' cellspacing='0' border='0' width='100%'>";
	contMenuOpcionesServicio = contMenuOpcionesServicio + "<tr><td><table cellpadding='0' cellspacing='0' border='0' width='100%'>";
	contMenuOpcionesServicio = contMenuOpcionesServicio + "<tr><td width='4' height='10' class='fndGris'><img src='" + RUTA_ABSOLUTA + "medias/imagenes/transp.gif' width='4' border='0'></td>";
	contMenuOpcionesServicio = contMenuOpcionesServicio + "<td class='fndGrisIzq'><img src='" + RUTA_ABSOLUTA + "medias/imagenes/iconos/icn_flecha_fnd_gris_abj.gif' border='0'></td></tr></table></td></tr>";

	// Montamos subopciones del submenú
	for (i=0; i<numOpc; i++) {
		contMenuOpcionesServicio = contMenuOpcionesServicio + "<tr><td colspan='2' class='fndMarronClaroIzq'><a href='#' class='enlSubmenu'>servicio " + i + "</a></td></tr>";
	}
	contMenuOpcionesServicio = contMenuOpcionesServicio + "</table>";

	// Referencia al objeto que contendrá el submenú	
	objMenuOpcionesServicio = window.top.cuerpo.document.getElementById("cpMenuOpcionesServicio");

	// Cálculos para posicionar el submenú
	if (screen.width==1024) {
		dist = ( (7 - window.top.opciones.pos_subm) * 90 ) + 112;
	}
	else {
		dist = (7 - window.top.opciones.pos_subm) * 90;
	}
	objMenuOpcionesServicio.style.left = 30 + (numServicio*90) + dist;
	objMenuOpcionesServicio.style.top = 0;

	// Actualización del contenido del submenú
	objMenuOpcionesServicio.style.visibility = "visible";
	objMenuOpcionesServicio.innerHTML = contMenuOpcionesServicio;
	objMenuOpcionesServicio.focus();
} // Fin de la función


<!--
/*
FUNCIÓN: cambiarEstadoBoton.
AUTOR: Luci.
DESCRIPCIÓN: Intercambia el la clase que le da el estilo para el estado operativo o pulsado.
PARÁMETROS:
	- boton
	-
ULTIMA MODIFICACIÓN:
*/
//-->
function cambiarEstadoBoton(boton){
	var objBoton = ""; // Almacena una instancia del objeto botón Aceptar
	objBoton = eval("document.getElementById('" + boton + "')");
	objBoton.className = "btnOperativo"; //Establecemos la nueva clase para el botón
	window.focus();
}

<!--
/*
FUNCIÓN: devolverEstadoBoton.
AUTOR: Luci.
DESCRIPCIÓN: Vuelva a dejar el estilo del botón pulsado a su estado original.
PARÁMETROS:
	-
	-
ULTIMA MODIFICACIÓN:
*/
//-->
function devolverEstadoBoton(boton){
	var objBoton = ""; // Almacena una instancia del objeto botón Aceptar
	objBoton = eval("document.getElementById('" + boton + "')");
	objBoton.className = "btnNormal"; //Establecemos la nueva clase para el botón
	window.focus();
}

/*
NOMBRE: preloadImages
AUTOR: Tony Valle
FUNCION: Precarga las imagenes pasadas como parámetros para que se muestren 
más rápidamente.
*/
function preloadImages() {
var d=document;
if(d.images){ 
	if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=preloadImages.arguments; 
	for(i=0; i<a.length;i++)
		if (a[i].indexOf("#")!=0){
			d.MM_p[j]=new Image;
			d.MM_p[j++].src=a[i];
		}
}
}