// Mundimenus
// (c) 2002 Fernando Sengáriz
// Dpto. Diseño
// Mundivía, S.A.
// 01-04-2002

// funcionalidad en ejecución

var menuOpcColorOn = "#000000";
var menuOpcColorOff = "#949494";
var menuBorde = "#DEE6EE";

var MVmPosX  = 0;
var MVmPosY  = 0;
var MVmTamX  = 0;
var MVmTamY  = 0;

var cargado = false;

var MVmd_opc_0 = 0;
var MVmd_opc_1 = 0;
var MVmd_opc_2 = 0;
var MVmd_opc_3 = 0;
function MMactiva_0 (celda) {
 if (MVmd_opc_0!=0) MMactiva(MVmd_opc_0,false,'CSSmFondoOn','CSSmFondoOff');
 if (MVmd_opc_1!=0) { MMactiva(MVmd_opc_1,false,'CSSsmItems1','CSSsmItems1'); MVmd_opc_1 = 0; }
 if (MVmd_opc_2!=0) { MMactiva(MVmd_opc_2,false,'CSSsmItems2','CSSsmItems2'); MVmd_opc_2 = 0; }
 if (MVmd_opc_3!=0) { MMactiva(MVmd_opc_3,false,'CSSsmItems3','CSSsmItems3'); MVmd_opc_3 = 0; }
 MMactiva(celda,true,'CSSsmItems','CSSsmItems');
 MVmd_opc_0 = celda;
}
function MMactiva_1 (celda) {
 if (MVmd_opc_1!=0) MMactiva(MVmd_opc_1,false,'CSSsmItems1','CSSsmItems1');
 if (MVmd_opc_2!=0) { MMactiva(MVmd_opc_2,false,'CSSsmItems2','CSSsmItems2'); MVmd_opc_2 = 0; }
 if (MVmd_opc_3!=0) { MMactiva(MVmd_opc_3,false,'CSSsmItems3','CSSsmItems3'); MVmd_opc_3 = 0; }
 MMactiva(celda,true,'CSSsmItems1','CSSsmItems1');
 MVmd_opc_1 = celda;
}
function MMactiva_2 (celda) {
 if (MVmd_opc_2!=0) MMactiva(MVmd_opc_2,false,'CSSsmItems2','CSSsmItems2');
 if (MVmd_opc_3!=0) { MMactiva(MVmd_opc_3,false,'CSSsmItems3','CSSsmItems3'); MVmd_opc_3 = 0; }
 MMactiva(celda,true,'CSSsmItems2','CSSsmItems2');
 MVmd_opc_2 = celda;
}
function MMactiva_3 (celda) {
 if (MVmd_opc_3!=0) MMactiva(MVmd_opc_3,false,'CSSsmItems3','CSSsmItems3');
 MMactiva(celda,true,'CSSsmItems3','CSSsmItems3');
 MVmd_opc_3 = celda;
}
function MMactiva (src,accion,estiloOn, estiloOff) {
 if (accion) {
 	src.style.cursor = 'hand';
 	src.className = estiloOn;
 } else {
 	src.style.cursor = 'default';
 	src.className = estiloOff;
 }
}

function MMmuestra_SMenu (cual) {
 if (!cargado) return;
 var despliega = false;
 nivel = MMgetNivelSMenu(cual);
 pos = MMgetPosSMenu(cual);
 if (MVaSMenuAbierto[nivel] != cual) {
	despliega = true;
 }
 MMpliegaSMenus(cual,nivel);
 if (despliega) {
 	MVaCapas[pos].despliega();
 	MVaSMenuAbierto[nivel] = cual;
 }
}

function MMpliegaSMenus (cual,nivel) {
 for (i=nivel; i<MVaSMenuAbierto.length; i++) {
	if (MVaSMenuAbierto[i] != 0) {
		MVaCapas[MMgetPosSMenu(MVaSMenuAbierto[i])].pliega();
		MVaSMenuAbierto[i] = 0;
	}
 }
}

function MMpliegaSMenusTodos () {
 for (i=1; i<=MVvSMenus; i++) {
	MVaCapas[MMgetPosSMenu(MVaSMenus[i][0])].pliega();
 }
}

function n () { self.focus(); }

// funcionalidad para creación

var MVaMenuItems = new Array(20);
var MVaSMenus = new Array(100);
var MVaSMenusItems = new Array(300);
var MVaCapas = new Array(100);
var MVaSMenuAbierto = new Array(10);
var MVvMenuItems = 0;
var MVvSMenus = 0;
var MVvSMenuItems = 0;

function MMnewMenu () {
 var i;
 for (i=0; i<MVaSMenuAbierto.length; i++) MVaSMenuAbierto[i] = 0;
}
function MMnewMenuItem (texto,link,submenu) {
 ++MVvMenuItems;
 MVaMenuItems[MVvMenuItems] = new Array(3);
 MVaMenuItems[MVvMenuItems][0] = texto;
 MVaMenuItems[MVvMenuItems][1] = link;
 MVaMenuItems[MVvMenuItems][2] = submenu;
}
function MMnewSubMenu (menu,visible) {
 visible = (visible == null ? false : visible);
 aux = new Array(2);
 aux[0] = menu;
 aux[1] = visible;
 MVaSMenus[++MVvSMenus] = aux;
}
function MMnewSubMenuItem (menu,texto,link,submenu) {
 aux = new Array(4);
 aux[0] = menu;
 aux[1] = texto;
 aux[2] = link;
 aux[3] = submenu;
 MVaSMenusItems[++MVvSMenuItems] = aux;
}
function MMMcreaMenus () {
 return(MMMescribeMenu());
}
function MMgetPosSMenu (menu) {
 var i = 0;
 for (i=1; i<=MVvSMenus; i++) {
	if (MVaSMenus[i][0] == menu) return(i);
 }
 return(0);
}
function MMgetNivelSMenu (menu) {
 var niveles;
 menu = menu + "";
 niveles = menu.split("_");
 return(niveles.length);
}
function MMdesactiva(celda) {
 MMactiva(celda,false);
}
function MMMescribeMenu () {
 var i = 0, cadena = "";
 var vLink, vAccion, vHijos;

 cadena = cadena + "<table border=0 cellpadding=1 cellspacing=0><tr>";
 cadena = cadena + "<td valign=top class='CSSmenuBorde'>";
 cadena = cadena + "<table width='" + MVmTamX + "' Cellpadding='3' cellspacing='1' border='0'><tr><td valign='top' class='CSSmenuMarco'>";
 cadena = cadena + "<table width='100%' border='0' cellspacing='0' cellpadding='6' class='CSSmFondoOff'><tr><td><img src='src/imagenes/trans.gif' width='1' height='18'><br>";
 cadena = cadena + "	<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
 cadena = cadena + "	<tr><td> ";

 for (i=1; i<=MVvMenuItems; i++) {
    	vLink = "";
    	vAccion = "";
    	vHijos = "";
    	if (MVaMenuItems[i][1] != "") vLink = "location.href='"+MVaMenuItems[i][1]+"'";
    		                 else vLink = "self.focus()";
	if ((MVaMenuItems[i][2] != "") && (MMgetPosSMenu(MVaMenuItems[i][2]) != 0)) {
		vHijos = "Con";
		vLink = "MMmuestra_SMenu("+MVaMenuItems[i][2]+")";
		vAccion = MMMescribeSubMenu(MVaMenuItems[i][2],i);
	} else {
		vHijos = "Sin";
		vAccion = "</td></tr><tr><td></td></tr><tr><td>";
	}

	cadena = cadena + "	<tr><td height='" + MVmTamY + "' onMouseOver=\"MMactiva_0(this); window.status='"+MVaMenuItems[i][0]+"'\" onMouseOut=\"MMdesactiva(this); window.status=''\" onClick=\""+vLink+"\">";
	cadena = cadena + "		<img src='src/imagenes/icoMenu"+vHijos+"hijos.gif' width='11' height='11' border='0'><img src='src/imagenes/trans.gif' width='2' height='1'>";
	cadena = cadena + "		<a href='#' class='CSSmItemsLink'>"+MVaMenuItems[i][0]+"</a><br>";
	cadena = cadena + vAccion;

	cadena = cadena + "	</td></tr>";
 }

 cadena = cadena + "	</td></tr>";
 cadena = cadena + "	</table>";
 cadena = cadena + "</td></tr></table>";
 cadena = cadena + "</td></tr></table>";
 cadena = cadena + "</td>";
 cadena = cadena + "</tr></table>";

 return(cadena);
}
function MMMescribeSubMenu (menu,pos) {
 var i = 0, cadena = "", visible = false;
 var vLink, vAccion, vHijos;

 visible = MVaSMenus[MMgetPosSMenu(menu)][1];
 cadena = cadena + "</td></tr><tr><td>";
 cadena = cadena + "<div id='cMD_"+menu+"' style='display:" + (visible ? '':'none') + ";'>";
 cadena = cadena + "        <table border='0' cellspacing='0' cellpadding='0' width='100%'>";

 for (i=1; i<=MVvSMenuItems; i++) {
    	vLink = "";
    	vAccion = "";
    	vHijos = "";
	if (MVaSMenusItems[i][0] == menu) {
	    	if (MVaSMenusItems[i][2] != "") vLink = "location.href='"+MVaSMenusItems[i][2]+"'";
	    		                   else vLink = "self.focus()";
		if ((MVaSMenusItems[i][3] != "") && (MMgetPosSMenu(MVaSMenusItems[i][3]) != 0)) {
			vHijos = "Con";
			vLink = "MMmuestra_SMenu('"+MVaSMenusItems[i][3]+"')";
			vAccion = MMMescribeSubMenu(MVaSMenusItems[i][3],i);
		} else {
			vHijos = "Sin";
			vAccion = "";
		}
		cadena = cadena + "	<tr>";
		cadena = cadena + "	  <td height='" + MVmTamY + "' onMouseOver=\"MMactiva_"+MMgetNivelSMenu(menu)+"(this); window.status='"+MVaSMenusItems[i][1]+"'\" onMouseOut=\"window.status=''\" onClick=\""+vLink+"\" class='CSSsmItems"+MMgetNivelSMenu(menu)+"'>";
		cadena = cadena + "		<img src='src/imagenes/icoMenu"+vHijos+"hijos.gif' width='11' height='11' border='0'><img src='src/imagenes/trans.gif' width='2' height='1'>";
		cadena = cadena + "		<a href='#' class='CSSsmItems"+MMgetNivelSMenu(menu)+"Link'>"+MVaSMenusItems[i][1]+"</a><br>";
		cadena = cadena + vAccion;
		cadena = cadena + "	  </td>";
		cadena = cadena + "	</tr>";
	}
 }
 cadena = cadena + "        </table>";
 cadena = cadena + "</div>";
 cadena = cadena + "</td></tr><tr><td>";

 return(cadena);
}
function MMMcreaCapas () {
 var i, menu;
 for (i=1; i<=MVvSMenus; i++) {
	menu = MVaSMenus[i][0];
	laCapa = "cMD_"+menu;
	MVaCapas[MMgetPosSMenu(menu)] = new MundiCapa(laCapa);
 }
}
function MMMsetPosMenu (mPosX,mPosY) {}
function MMMsetTamMenu (mTamX,mTamY) {}
function MMMsetPosMenuPersiana (mPosX,mPosY) {
 MVmPosX = mPosX;
 MVmPosY = mPosY;
}
function MMMsetTamMenuPersiana (mTamX,mTamY) {
 MVmTamX = mTamX;
 MVmTamY = mTamY;
}
function MMmenuInicializa () {
 if (document.getElementById('cMenuContenedor')!=null) return;
 var cadena = "";
 cadena += "<div id='cMenuContenedor' style='position:absolute; z-index:120; visibility: hidden'>";
 cadena += "</div>";
 document.write(cadena);
}
function MMiniciar (reescala) {
 // crear capas
 mcMenuContenedor = new MundiCapa("cMenuContenedor");
 mcMenuContenedor.mueveA(MVmPosX,MVmPosY);
 mcMenuContenedor.escribe(MMMcreaMenus());
 mcMenuContenedor.muestra();

 MMMcreaCapas();
 //MMpliegaSMenusTodos();

 cargado = true;
}

elMenu = "";
MMmenuInicializa();
