
var capaCabecera = [];
var capaSubmenu = [];
var menuListener, submenuListener;
var relX = 0, relY = 0;
var relSX = 0, relSY = 0;
var mouse = new DynMouseEvent();
var psiCabeceraCreada = false;

function dnInit () {
    // pre i-130
    // MM_preloadImages('/img/fav/menu/miperfil-o.gif', '/img/fav/menu/misfavoritos-o.gif', '/img/fav/menu/servicios-o.gif', '/img/fav/menu/directorios-o.gif', '/img/fav/menu/contenidos-o.gif', '/img/fav/menu/acercade-o.gif');
//    MM_preloadImages('/menugen/img/boton_3.gif', '/menugen/img/boton_4.gif', '/menugen/img/boton_5.gif', '/menugen/img/boton_6.gif', '/menugen/img/boton_7.gif', '/menugen/img/boton_8.gif', '/menugen/img/boton_9.gif');

    //cabeceraCreate();
	cabeceraResize();

}


function cabeceraCreate () {
	//create layers
    rnum = menuContent.length;
    
	for(var i = 0; i<rnum; i++) {
        capaCabecera[i] = {};
        capaCabecera[i].link = new DynLayer ();
        capaCabecera[i].link.index = i;
        capaCabecera[i].over = false;
        capaCabecera[i].submenu=[];
        capaCabecera[i].lastblink_id=null;
        capaCabecera[i].lastopen_submenu=-1;
        capaCabecera[i].link.setVisible(false);
        capaCabecera[i].link.setZIndex(1000);
        capaCabecera[i].link.setHTML(getHTML(i, true));        
        DynAPI.document.addChild(capaCabecera[i].link);        
	}

    rnum = submenuContent.length;
	for(var i = 0; i<rnum; i++) {

        capaSubmenu[i] = {};
        capaSubmenu[i].over = false;
        capaSubmenu[i].lastblink_id=null;
        capaSubmenu[i].link = new DynLayer ();
        capaSubmenu[i].link.index = i;
        capaSubmenu[i].link.setVisible(false);
        capaSubmenu[i].link.setHTML(getHTML(i, false));

        j = submenuContent[i].menu;
        k = capaCabecera[j].submenu.length;
        capaCabecera[j].submenu[k] = i;
        capaCabecera[j].lastopen_submenu=-1;
        capaCabecera[j].link.setZIndex(1000);

        DynAPI.document.addChild(capaSubmenu[i].link);
	}
	
    var loadFunctions = DynAPI.getLoadFunctions();
    DynAPI.resetLoadFunctions();
    DynAPI.loadHandler();

    DynAPI.created = false;
    psiCabeceraCreada = true;
    cabeceraResize();
    DynAPI.addLoadFunction(loadFunctions);
}

/*
// Antigua
function cabeceraCreate () {
	//create layers
    rnum = menuContent.length;

	for(var i = 0; i<rnum; i++) {
        capaCabecera[i] = {};
        capaCabecera[i].link = new DynLayer ();
        capaCabecera[i].link.index = i;
        capaCabecera[i].over = false;
        capaCabecera[i].submenu=[];
        capaCabecera[i].lastblink_id=null;
        capaCabecera[i].lastopen_submenu=-1;
        capaCabecera[i].link.setVisible(false);
        capaCabecera[i].link.setZIndex(1000);
        capaCabecera[i].link.setHTML(getHTML(i, true));
        DynAPI.document.addChild(capaCabecera[i].link);
	}

    rnum = submenuContent.length;
	for(var i = 0; i<rnum; i++) {

        capaSubmenu[i] = {};
        capaSubmenu[i].over = false;
        capaSubmenu[i].lastblink_id=null;
        capaSubmenu[i].link = new DynLayer ();
        capaSubmenu[i].link.index = i;
        capaSubmenu[i].link.setVisible(false);
        capaSubmenu[i].link.setHTML(getHTML(i, false));

        j = submenuContent[i].menu;
        k = capaCabecera[j].submenu.length;
        capaCabecera[j].submenu[k] = i;
        capaCabecera[j].lastopen_submenu=-1;
        capaCabecera[j].link.setZIndex(1000);

        DynAPI.document.addChild(capaSubmenu[i].link);
	}
    var loadFunctions = DynAPI.getLoadFunctions();
    DynAPI.resetLoadFunctions();
    DynAPI.loadHandler();
    DynAPI.created = false;
    psiCabeceraCreada = true;
    cabeceraResize();
    DynAPI.addLoadFunction(loadFunctions);
}*/


function cabeceraResize () {
    //var OFFSET = 19;
    var OFFSET = 0;
    
    if (!psiCabeceraCreada) {
        return;
    }
	rnum = menuContent.length;

	if (is.ns6) {
		relX = document.getElementById('relativoMenuDiv').offsetLeft;
		relY = document.getElementById('relativoMenuDiv').offsetTop+OFFSET;
	} else if (is.ns) {
		relX = document.layers['relativoMenuDiv'].pageX;
		relY = document.layers['relativoMenuDiv'].pageY+OFFSET;
	} else {
        if (document.all['relativoMenuDiv'].offsetTop) {
    		relX=document.all['relativoMenuDiv'].offsetLeft;
	    	relY=document.all['relativoMenuDiv'].offsetTop+OFFSET;
        } else {            
            relY = menuYPos + OFFSET;
            relX = 4;
        }
	}
	relX = relX+1;

	for(var i = 0; i<rnum; i++) {
		capaCabecera[i].link.moveTo(relX, relY);
        if( (numSubmenus=capaCabecera[i].submenu.length) > 0 ) {  // si tiene submenus hay que colocarlos
            relSX = relX + capaCabecera[i].link.getContentWidth()-3;
            
            for( j=0; j<numSubmenus; j++ ) {   // Iteramos todos los submenus de un menu
                relSY = relY + 20;
                z = capaCabecera[i].submenu[j];
                n = submenuContent[z].option;
                for( k=0; k<n; k++ ) {
                    if( menuContent[i].labels[k] != null ) {
                        relSY += 17;
                    } else {
                        relSY += 2;
                    }
                }
                capaSubmenu[z].link.moveTo(relSX, relSY);
            }
        }
        relX += menuContent[i].img[1];
	    }

    }

var capaActualOver = null;
var subCapaActualOver = null;
var capaTimeouts = [];
var subCapaTimeouts = [];


function capaMouseout(i, menu_p) {
    if (menu_p) {
        capaActualOver = null;
        capaTimeouts [i] = setTimeout('capaMouseoutDo(' + i + ', ' + menu_p + ')', 100);
    } else {
        subCapaActualOver = null;
        subCapaTimeouts [i] = setTimeout('capaMouseoutDo(' + i + ', ' + menu_p + ')', 500);
    } 
}

function capaMouseover(i, menu_p) {    
    if (menu_p) {
        if (capaTimeouts[i]) clearTimeout(capaTimeouts[i]);
        capaActualOver = i;
    } else {
        if (subCapaTimeouts[i]) clearTimeout(subCapaTimeouts[i]);
        subCapaActualOver = i;
    } 
}

function capaMouseoutDo(i, menu_p) {
    if (menu_p) {
        if (capaActualOver != i) {
            capaCabecera[i].over = false;
            hideDesc(i);        
        }
    } else {
        if (subCapaActualOver != i) {
            capaSubmenu[i].over = false;
            window.setTimeout('hideAll('+i+')', 300);
        }
    }
}



function changeOption(id, menuI, submenuI) {
    if( id.substr(0, 5) == 'menu_' ) {
        option = capaCabecera[menuI];
    } else {
        option = capaSubmenu[menuI];
    }
    option.over = true;
    if( option.lastblink_id != null ) {
        bgColorOption(option.lastblink_id, '#DBE7E9');
    }
    showAndHideSubmenu(menuI, submenuI);
    bgColorOption(id, '#FFFFFF');
    option.lastblink_id = id;
}

function bgColorOption(id, color) {
    obj = document.getElementById(id);
    obj.style.backgroundColor=color;
}
function showHide(i) {
    //ComboHide.hide(capaCabecera[i].link);    
	for (var j=0; j<menuContent.length; j++)
		if (i==j) {
            capaCabecera[i].link.setVisible(true)
            capaCabecera[i].link.moveTo(capaCabecera[i].x, capaCabecera[i].y);
        }
		else {
            capaCabecera[j].link.setVisible(false);
        }
}

function hideDesc(i) {    
    n = capaCabecera[i].submenu.length;
    found = false;
    for( j=0; j<n; j++ ) {
        k = capaCabecera[i].submenu[j];
        if( capaSubmenu[k].link.getVisible() ) {
            found = true;
            window.setTimeout('_hideDesc('+i+', '+k+')', 1000);            
        }
    }
    if( ! found ) {
        if( capaCabecera[i].lastblink_id != null ) {
            bgColorOption(capaCabecera[i].lastblink_id, '#DBE7E9');
            capaCabecera[i].lastblink_id = null;
        }
        capaCabecera[i].link.setVisible(false);
        ComboHide.show();
    }
}

function _hideDesc(i,k) {
    if( ! capaSubmenu[k].over ) {
        if( capaCabecera[i].lastblink_id != null ) {
            bgColorOption(capaCabecera[i].lastblink_id, '#DBE7E9');
            capaCabecera[i].lastblink_id = null;
        }
        hideSubmenu(i, k);
        capaCabecera[i].lastopen_submenu = -1;
    	capaCabecera[i].link.setVisible(false);
        ComboHide.show();
    }
}

function hideAll(submenuI) {
    menuI = submenuContent[submenuI].menu;
    if( capaSubmenu[submenuI].lastblink_id != 'null' ) {
        bgColorOption(capaSubmenu[submenuI].lastblink_id, '#DBE7E9');
    }
    if( !capaCabecera[menuI].over ) {
        capaSubmenu[submenuI].link.setVisible(false);
        hideDesc(menuI);
    }
}

function showAndHideSubmenu(menuI, submenuI) {
    if( capaCabecera[menuI].lastopen_submenu >= 0 ) {
        hideSubmenu(menuI, capaCabecera[menuI].lastopen_submenu);
    }

    if( submenuI >= 0 ) { // Tenemos submenu
        ComboHide.hide(capaSubmenu[submenuI].link);
        capaSubmenu[submenuI].link.setVisible(true);
        capaSubmenu[submenuI].link.moveTo(capaSubmenu[submenuI].x, capaSubmenu[submenuI].y);
        capaCabecera[menuI].lastopen_submenu = submenuI;
    }
}

function hideSubmenu(menuI, submenuI) {
    if( ! capaSubmenu[submenuI].over ) {
        capaSubmenu[submenuI].link.setVisible(false);
    }
}

function menuDinamico (menu, i) {
    if (menu.dins[i] == '') {
        return true;
    } else if (menu.dins[i] == 'congresovirtual') {
        //manejo del menu de congreso virtual
        if (menuCongresoEdicion == '') {
            //No hay acceso al menu del congreso
            return false;
        } else {
            menu.labels[i] = menuCongresoEdicion + ' ' + menu.labels[i];
            return true;
        }
    }
}

function getHTML (index, menu_p) {
    if( menu_p ) {
        menu = menuContent[index];
    } else {
        menu = submenuContent[index];
    }
    
    var txt = '';
    if( menu_p ) {
        var href = menu.link;
        if (!href) {
            href = 'javascript:;';
        }        
        
        // pre I-130
        // txt += '<img src="/img/fav/menu/' + menu.img[0] + '-o.gif" width="' + menu.img[1] + '" height="19" border="0"><br>';
        
        // pre I-401
        //txt += '<a href="' + href + '" onmouseout="capaMouseout(' + index + ', ' + menu_p + ')" onmouseover="capaMouseover(' + index + ', ' + menu_p + ')">';
        //txt += '<a class="opcionPrincipalOn" style="width:'+menu.ancho+'px" href="' + href + '" onmouseout="capaMouseout(' + index + ', ' + menu_p + ')" onmouseover="capaMouseover(' + index + ', ' + menu_p + ')">'+menu.nombre;
        
        txt += '<a class="opcionPrincipalOn" style="width:'+menu.ancho+'px" href="' + href + '" onmouseout="capaMouseout(' + index + ', ' + menu_p + ')" onmouseover="capaMouseover(' + index + ', ' + menu_p + ')"><span'+(menu.destacado ? ' class="destacado"' : '' )+'>'+menu.nombre;
        
        //txt += '<img src="/menugen/img/' + menu.img[0] + '-o.png" width="' + menu.img[1] + '" height="19" border="0"><br>';

        txt += '</span></a>';
    }
    if (menu.labels) {
        var n = menu.labels.length;
        var c = n * 2 - 1;
        var c2 = 2 + c;
        var n1 = n-1;
        if (menu_p) {
            w = ' width="' + (menu.img[1]+3) + '"';
        } else {
            w = ' width="100" ';
        }
        
        txt += '<div class="submenu">';
        
        if( navigator.userAgent.indexOf("MSIE") >= 0 ){
            txt += '<iframe src="javascript:false;" scrolling="no" frameborder="0" style="position:absolute; top:0px; left:0px; width:320px; height:400px; filter: Alpha(opacity=0); z-index:1"></iframe>';
            txt += '<table' + w + ' style="position:absolute; z-index:2" border=0 cellspacing=0 cellpadding=0 onmouseout="capaMouseout(' + index + ', ' + menu_p + ')" onmouseover="capaMouseover(' + index + ', ' + menu_p+ ')">';
        }else{
            txt += '<table' + w + ' border=0 cellspacing=0 cellpadding=0 onmouseout="capaMouseout(' + index + ', ' + menu_p + ')" onmouseover="capaMouseover(' + index + ', ' + menu_p+ ')">';
        }
        
        if ( ! menu_p ) {
            txt += '    <tr>';
            txt += '        <td bgcolor="#005F6F" colspan="5"><img src="/img/sp.gif" width=1 height=1></td>';
            txt += '        <td><img src="/img/sp.gif" width=1 height=1></td>';
            txt += '    </tr>';
        }
        txt += '    <tr>';
        txt += '        <td bgcolor="#005F6F" rowspan="' + (2+c2) +'"><img src="/img/sp.gif" width=1 height=1></td>';
        txt += '        <td bgcolor="#ffffff" rowspan="' + (1+c2) +'"><img src="/img/sp.gif" width=1 height=1></td>';
        txt += '        <td bgcolor="#ffffff"><img src="/img/sp.gif" width=1 height=1></td>';
        txt += '        <td bgcolor="#C1CBCD" rowspan="' + (1+c2) +'"><img src="/img/sp.gif" width=1 height=1></td>';
        txt += '        <td bgcolor="#005F6F" rowspan="' + (2+c2) +'"><img src="/img/sp.gif" width=1 height=1></td>';
        txt += '        <td bgcolor="#ffffff"><img src="/img/sp.gif" width=3 height=1></td>';
        txt += '    </tr>';
        txt += '    <tr>';
        txt += '        <td bgcolor="#DBE7E9"><img src="/img/sp.gif" width=1 height=1></td>';
        txt += '        <td rowspan="' + (c+3) +'" background="/img/fav/flo/bg-sombra-vert.gif"><img src="/img/sp.gif" width=1 height=1></td>';
        txt += '    </tr>';

        for (i=0; i<n; i++) {
          if( menu_p ) {
            id = 'menu_' + index + '_' + i;
          } else {
            id = 'submenu_' + index + '_' + i;
          }
          submenuI = -1;

          if (menuDinamico(menu, i)) { //si es un menu dinamico

              if (menu.labels[i]!=null) {

                gotsubmenu = menu_p && (submenuI = menu.submenu[i]) >= 0;
                txt += '    <tr onmouseover="capaMouseover(' + index + ', ' + menu_p + ');changeOption(\'' + id + '\', ' + index + ', ' + submenuI + ')" onmouseout="capaMouseout(' + index + ', ' + menu_p + ')">';
                txt += '        <td bgcolor="#DBE7E9" id="' + id + '">';
                txt += '        <table border=0 cellspacing=0 cellpadding=1>';
                txt += '        <tr>';
                txt += '            <td><img src="/img/sp.gif" width=7 height=14></td>';
                if( gotsubmenu ) {
                    txt += '            <td width="100%">';
                    txt += '            <table border=0 cellspacing=0 cellpadding=0>';
                    txt += '            <tr>';
                }
                txt += '             <td width="100%" class="tipoMenu" nowrap>';

                //enlace
                hrefTxt = '        <a href="'+ menu.hrefs[i]+'"';
                if (menu.targets[i] != '') {
                    hrefTxt += ' target="'+ menu.targets[i]+'"';
                }
                hrefTxt += '>';

                txt += hrefTxt;
                
                txt += '<span'+ (menu.destacados && menu.destacados[i] ? ' class="destacado"' : '' )+'>';

                    //con acceso o sin acceso
                    if (menu.access[i] == '0') {
                        txt += '        <font color="#659DA6" class="textov9">'+ menu.labels[i]+'</font>';
                    } else {
                        txt += '        <font color="#005F6F" class="textov9">'+ menu.labels[i]+'</font>';
                    }
                
                txt += '</span>';
                
                // Si el item es una novedad
                if( menu.novedades && menu.novedades[i] ){
                    txt += '<span class="novedad">nuevo</span>'
                }

                txt += '        </a></td><td>';
                if( gotsubmenu ) {   //hay submenu
                    txt += hrefTxt;
                    txt += '            <img src="/img/cab/flecha-submenu.gif" alt="" width="5" height="5" border="0"></a></td></tr></table><td>';
                }
                txt += '            <img src="/img/sp.gif" width=7 height=1></td>';
                txt += '        </tr>';
                txt += '        </table>';
                txt += '        </td>';
                txt += '    </tr>';
                if (i!=n1) {
                    txt += '    <tr>';
                    if (menu.labels[i+1]!=null)
                        txt += '        <td bgcolor="#DBE7E9" background="/img/fav/elems/bgpuntos-verde.gif"><img src="/img/sp.gif" width=1 height=1></td>';
                    else
                        txt += '        <td bgcolor="#C1CBCD"><img src="/img/sp.gif" width=1 height=1></td>';
                    txt += '    </tr>';
                }
              }
              else {
                    txt += '    <tr>';
                    txt += '        <td bgcolor="#72ABB4"><img src="/img/sp.gif" width=1 height=1></td>';
                    txt += '    </tr>';
                    txt += '    <tr>';
                    txt += '        <td bgcolor="#ffffff"><img src="/img/sp.gif" width=1 height=1></td>';
                    txt += '    </tr>';
              }
          }
        }
        txt += '<tr>';
        txt += '    <td bgcolor="#C1CBCD"><img src="/img/sp.gif" width=1 height=1></td>';
        txt += '</tr>';
        txt += '<tr>';
        txt += '    <td colspan="3" bgcolor="#005F6F"><img src="/img/sp.gif" width=1 height=1></td>';
        txt += '</tr>';
        txt += '<tr>';
        txt += '    <td colspan="6"><table border=0 cellspacing=0 cellpadding=0 width="100%"><tr><td><img src="/img/sp.gif" width=3 height=3></td><td background="/img/fav/flo/bg-sombra-hor.gif" width="100%"><img src="/img/sp.gif" width=1 height=1></td></tr></table></td>';
        txt += '</tr>';
        txt += '</table>';
        
        txt += '</div>';
    }
    return txt;
}




