/* Desarrollado para www.webares.com (marca registrada).

Este script es propiedad intelectual de www.webares.com (marca registrada).

Por cortesía del autor y del propietario, cualquier usuario de dicha web es libre de utilizarlo, difundirlo o modificarlo, de forma totalmente gratuita.
Si encuentras nuestra web útil o curiosa, agradeceremos incluyas un link en la tuya.

También agradeceremos cualquier mejora de funcionamiento que se realice sobre los scripts originales, si nos envías una copia con nuestro mismo espíritu de colaboración.
*/


//FUNCIONES QUE IMPLEMENTAN LOS MENUS DESPLEGABLES

var item;
var menu;
var nivel_item = 0;
var nivel_menu = 0;
ruta_item = new Array();
ruta_menu = new Array();
ruta_letra_out = new Array();
ruta_fondo_out = new Array();

var temp;
var undefined;

function apagar_temporizador() {
	window.clearTimeout(temp);
}

function apagar_todos_subitems(niv) {
	for (var i=nivel_item; i >= niv-1; i--) {
		item = ruta_item[i];
		if (item != null) {
			if (item != "") {
				eval(item).style.color = ruta_letra_out[i];
				eval(item).style.fontWeight = "";
				eval(item).style.background = ruta_fondo_out[i];
				eval(item).style.borderBottomColor = "#000000"; }
			ruta_item[i] = null; } }
	nivel_item = niv-1;
}

function ocultar_todos_menus(niv) {
	for (var i=nivel_menu; i >= niv-1; i--) {
		menu = ruta_menu[i];
		if (menu != null) {
			if (menu != "") {
				eval(menu).style.visibility="hidden";  }
			ruta_menu[i] = null; } }
	nivel_menu = niv-1;
}

function encender_color(elemento,color,fondo) {
	ruta_item[nivel_item] = elemento;
	ruta_letra_out[nivel_item] = eval(elemento).style.color;
	ruta_fondo_out[nivel_item] = eval(elemento).style.background;
	eval(elemento).style.color = color;
	eval(elemento).style.fontWeight = "bold";
	eval(elemento).style.background = fondo; 
	eval(elemento).style.borderBottomColor = "#FFFFFF";
}

function mostrar_menu(nombre_hijo) {
	ruta_menu[nivel_menu] = nombre_hijo;
	eval(nombre_hijo).style.visibility="visible"; 
}

function ver_menu(elemento,nombre,nombre_hijo,niv_hijo,color,fondo) {
	apagar_temporizador();
	apagar_todos_subitems(niv_hijo);
	ocultar_todos_menus(niv_hijo);
	encender_color(elemento,color,fondo);
	nivel_item = niv_hijo;
	if (nombre_hijo != "") {
		mostrar_menu(nombre_hijo);
		nivel_menu = niv_hijo; }
}

function encender_temporizador() {
	temp = window.setTimeout("apagar_todos_subitems(1);ocultar_todos_menus(1)",500);
}


//-------------------------------------------------------------------------------------------
//REGISTRO DE LAS VARIABLES DE CADA MENU, Y ESCRITURA DINAMICA DE LOS TAGS

var todos_nombres = new Array();
var todos_niveles = new Array();
var todas_cadenas = new Array();
var todos_x = new Array();
var todos_y = new Array();

var padres = new Array();
var hijos = new Array();

var nombre;
var x,y;
var ancho;
var letra_over,letra_out;
var letra_tamano;
var letra_familia;
var fondo_over,fondo_out;
texto = new Array();
link = new Array();
popup = new Array();
submenu = new Array();

function registrar_nombre(a,b) {
	var encontrado = 0;
	for (var i=0; i <= todos_nombres.length-1; i++) {
		if (todos_nombres[i] == a) { 
			if (b != "") {
				todas_cadenas[i] = b; }
			encontrado = 1;
			i = todos_nombres.length+99; } }
	if (encontrado == 0) {
		if (b != "") {
			todas_cadenas[todos_nombres.length] = b; }
		todos_nombres[todos_nombres.length] = a; }
}

function ejecutar(cadena) {
	nombre="";
	x="";
	y="";
	ancho="";
	letra_over="";
	letra_out="";
	letra_tamano="";
	letra_familia="";
	fondo_over="";
	fondo_out="";
	texto=new Array();
	link=new Array();
	popup=new Array();
	submenu=new Array();
	eval(cadena);
}

function registrar_menu(cadena) {
	ejecutar(cadena);
	registrar_nombre(nombre,cadena);
	for (var i=0; i <= submenu.length-1; i++) {
		if (submenu[i] != "" && submenu[i] != undefined) {
			padres[hijos.length] = nombre;
			hijos[hijos.length] = submenu[i];
			registrar_nombre(submenu[i],""); } }
}

function buscar_nombre(x,k) {
//CALCULO RECURSIVO DE LOS NIVELES DE UN MENU
	for (var i = 0; i <= hijos.length-1; i++) {
 		if (hijos[i] == x) {
			todos_niveles[k]++;
			buscar_nombre(padres[i],k); 
			i = hijos.length+99; } }
}

function abrir_popup(url,nompopup) {

	var var_popup;
	var_popup=window.open(url,nompopup,"width="+this.width+",height="+this.height+",top=0,left=0,resizable=YES,scrollbars=YES,location=YES,menubar=YES,status=YES,titlebar=YES,toolbar=YES");
	var_popup.focus();
}

function proceso() {
	var string;
	var cadena;
	var niv;
	var indx;
	var direc;
	var etiqueta;
	var etiqueta_submenu;
	var w,h;

	for (var k = 0; k <= todos_nombres.length-1; k++) {
		todos_niveles[k] = 0;
		buscar_nombre(todos_nombres[k],k); }

	for (var k = 0; k <= todos_nombres.length-1; k++) {

		if (todas_cadenas[k] == "" || todas_cadenas[k] == undefined) { alert("ERROR: No hay cadena para "+todos_nombres[k]); }
		cadena = todas_cadenas[k];
		ejecutar(cadena);

		//VALORES POR DEFECTO
		if (x == "" || x == undefined) {x = 1; }
		if (y == "" || y == undefined) {y = 1; }
		if (letra_over == "" || letra_over == undefined) {letra_over='white'; }
		if (letra_out == "" || letra_out == undefined) {letra_out='blue'; }
		if (letra_tamano == "" || letra_tamano == undefined) {letra_tamano=10; }
		if (letra_familia == "" || letra_familia == undefined) {letra_familia='Arial'; }
		if (fondo_over == "" || fondo_over == undefined) {fondo_over='#00007F'; }
		if (fondo_out == "" || fondo_out == undefined) {fondo_out='#BFBFBF'; }

		//ESCRITURA DE LOS TAGS
		indx = 99 + todos_niveles[k];
		string = '<table id='+nombre+' cellspacing="0" cellpadding="0" align="left" style="position:absolute; font-size:'+letra_tamano+'pt; font-weight: bold; cursor: hand; left:'+x+'; top:'+y+'; z-index:'+indx+'; border: 1 solid; border-top-color: #FFFFFF; border-left-color: #FFFFFF; border-right-color: #000000; border-bottom-color: #000000; '; 

		string += "font-family:'"+letra_familia+"'; " 

		string += 'visibility:hidden"><tbody>'; 

		document.writeln(string);

		for (var l = 0; l <= texto.length-1; l++) {
			niv = todos_niveles[k] + 1;
			if (link[l] != "" && link[l] != undefined) { 
				if (popup[l] != "" && popup[l] != undefined) { 
					direc='onclick=abrir_popup("'+link[l]+'","'+popup[l]+'")'; }
				else {	direc='onclick=window.parent.location.href="'+link[l]+'"'; }  }
			else { direc=" " ; }
			etiqueta = nombre+l;
			string = '<tr><TD id='+etiqueta+' align=left style="color:'+letra_out+'; background:'+fondo_out+'; border: 0 solid; border-bottom-width: 1; border-bottom-color: #000000;" onmouseout="encender_temporizador()" onmouseover="ver_menu(this.id,';
			string += "'"+nombre+"','";
			if (submenu[l] != "" && submenu[l] != undefined) {
				string += submenu[l]; }
			string += "',"+niv+",'"+letra_over+"','"+fondo_over+"')";

			string += '" '+direc+'>&nbsp '+texto[l]+'&nbsp';

			if (submenu[l] != "" && submenu[l] != undefined) {
				etiqueta = nombre+l+"I";
				string += '&nbsp<IMG id='+etiqueta+' border=0 align=middle src='+arrow+'>';}
			string += '</TD></tr>';
			document.writeln(string);
		}

		string = '</tbody></table>';
		document.writeln(string);

		w = eval(nombre).offsetWidth;
		h = eval(nombre).offsetHeight;
		eval(nombre).style.fontWeight = "";
		if (w <= eval(nombre).offsetWidth) {
			w = eval(nombre).offsetWidth; }
		if (h <= eval(nombre).offsetHeight) {
			h = eval(nombre).offsetHeight; }
		eval(nombre).style.width = w;
		if ((ancho != "") && (ancho != undefined) && (ancho >= w)) {
			eval(nombre).style.width = ancho;}
		eval(nombre).style.height = h;

		if (todos_niveles[k] == 0) { 
			eval(nombre).style.visibility="visible"; }
	}

	for (var k = 0; k <= todos_nombres.length-1; k++) {
		cadena = todas_cadenas[k];
		ejecutar(cadena);

		for (var l = 0; l <= texto.length-1; l++) {
			if (submenu[l] != "" && submenu[l] != undefined) {
				etiqueta = nombre+l;
				etiqueta_submenu = submenu[l];
				eval(etiqueta_submenu).style.left = eval(nombre).offsetLeft + eval(nombre).offsetWidth - 10;
				eval(etiqueta_submenu).style.top = eval(nombre).offsetTop + eval(etiqueta).offsetTop ; 

				eval(etiqueta+"I").style.position = "absolute";

				if (navigator.appVersion.indexOf("MSIE")!=-1) {
					eval(etiqueta+"I").style.left = eval(nombre).offsetWidth - 10;
					eval(etiqueta+"I").style.top = (eval(etiqueta).offsetHeight * l) +  ((eval(etiqueta).offsetHeight - 7) / 2); }
				else {
					eval(etiqueta+"I").style.left = eval(etiqueta_submenu).offsetLeft - 0;
					eval(etiqueta+"I").style.top = eval(etiqueta_submenu).offsetTop + 5; 
				}
			} 
		}
	}

}
