var retardo=new Array(); //Guardará todos los retardos de ocultamiento y muestreo de capas 
												 //que se vayan produciendo. Incluidos los provocados por el burbujeo 
												 //de eventos. Los elementos que almacenará serán a su vez arrays de tres
												 //elementos:capa que provoca el retardo,tipo de retardo (hide o show) e
												 //identificador del retardo (que se utilizará en caso de que haya que 
												 //cancelarlo)
var tiempo=400;	//tiempo de retardo		

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

//Se encarga de ocultar/mostrar la capa indicada con un retardo a través de setTimeout.
//Antes de iniciar el retardo de muestreo, cancela cualquier otro que exista de 
//ocultamiento sobre esa capa y viceversa
function MM_showHideLayers(capa,arg2,estado)
{	
	var i=0;
        var aux=new Array();
	for(i=0;i<retardo.length;i++)
	{
		if(retardo[i][0]==capa && retardo[i][1]!=estado)
		{
			window.clearTimeout(retardo[i][2]);
			//retardo.splice(i,1);	
			//i--; para que la i se adapte a la nueva longitud del array
		}
                else
                {
                    aux[aux.length]=retardo[i];
                }
	}	
        retardo=aux;
	//añado al array el nuevo retardo producido
	//retardo.push(new Array(capa,estado,window.setTimeout("MM_showHideLayers2('"+capa+"','"+arg2+"','"+estado+"');",tiempo)));	
        retardo[retardo.length]=new Array(capa,estado,window.setTimeout("MM_showHideLayers2('"+capa+"','"+arg2+"','"+estado+"');",tiempo));
        
        //Anadido por Fran para eliminar el subrayado cuando salimos de una capa   
        if (estado == 'hide')
        {
        	var capas=document.getElementsByTagName("DIV");
		for(var i=0;i<capas.length;i++)
		{
			if(capas[i].id.indexOf("capaTxtN")>=0 && capas[i].style.textDecoration=='underline')
			capas[i].style.textDecoration='none';
			capas[i].style.color='00086E';
		}				
	}
	
	//Fin del añadido
}	

function MM_showHideLayers2() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers2.arguments;

  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
  if(args[2]=='hide' && args[0].indexOf("capaN1_")==0)ocultarMostrarCombos('visible');  
}

//-->

function ocultarMostrarCombos(estado)
{
    var combos=document.getElementsByTagName("SELECT");
    for(var i=0;i<combos.length;i++)
    {
        if(combos[i].getAttribute("name").indexOf("combo")<0)combos[i].style.visibility=estado;
    }
}

<!--
function cambiaCapas(capaDesplegable,capaReferencia,capTxt,flecha)
{
    if(navigator.userAgent.indexOf("MSIE")>=0)ocultarMostrarCombos('hidden');
    var despTop1=(navigator.userAgent.indexOf("MSIE")>=0)?-5:-5;
    var despTop2=(navigator.userAgent.indexOf("MSIE")>=0)?21:6;

    var despLeft=8;
    var izdIni=193;
    var winH=(navigator.userAgent.indexOf("MSIE")>=0)?document.body.offsetHeight:window.innerHeight;

    var capRef=document.getElementById(capaReferencia);
    var capDes=document.getElementById(capaDesplegable);
    var capTexto=document.getElementById(capTxt);
    capTexto.style.textDecoration='none';  
    capTexto.style.color='#000000';  
    var nivel=parseInt(capaDesplegable.substring(5,capaDesplegable.indexOf("_")));

    padre=capRef.parentNode;
    topCapDes=capRef.offsetTop;

    while(padre && padre.tagName!='DIV')padre=padre.parentNode;
    //Si está metida dentro de otra capa, el top lo toma con referencia a su capa madre
    //por tanto hay que sumarle además el top de la capa madre    
    if(padre)
    {
        topCapDes+=padre.offsetTop;
    }    
    var alto1=(topCapDes+despTop1)+capDes.offsetHeight;
    var alto2=(topCapDes+despTop2)-capDes.offsetHeight;

		capDes.style.left=izdIni+((nivel-1)*(capDes.offsetWidth-despLeft));
		

    if(alto1<=winH || alto2<0)
    {                          
        capDes.style.top=topCapDes+despTop1;
    }
    else
    {
        capDes.style.top=(topCapDes+despTop2)-capDes.offsetHeight;        
    }
    
    MM_swapImage(flecha,'','../../img/menu_flecha_on.gif',1);
    capDes.style.visibility='visible';
    

     
    

}

function cambiaDiv(capa,caparef,capatxt,flecha)
{
	//Añade el nuevo retardo al array. En este caso siempre es de muestreo.
	//Antes cancela el ocultamiento si estuviera activado.
	var i=0;
        var aux=new Array();
	for(i=0;i<retardo.length;i++)
	{
		if(retardo[i][0]==capa && retardo[i][1]=='hide')
		{
			window.clearTimeout(retardo[i][2]);
			//retardo.splice(i,1);	
			//i--; para que la i se adapte a la nueva longitud del array
		}
                else
                {
                    aux[aux.length]=retardo[i];
                }
	}	
          retardo=aux;
		//retardo.push(new Array(capa,"show",window.setTimeout("cambiaCapas('"+capa+"','"+caparef+"','"+capatxt+"','"+flecha+"');",tiempo)));	
	        retardo[retardo.length]=new Array(capa,"show",window.setTimeout("cambiaCapas('"+capa+"','"+caparef+"','"+capatxt+"','"+flecha+"');",tiempo));                

}
//-->


function closeCapas(resultado,capa)
{				

		document.getElementById(capa).style.visibility='hidden';		
		if(resultado==3)
		{
				var capas=document.getElementsByTagName("DIV");
				for(var i=0;i<capas.length;i++)
				{
						if(capas[i].id.indexOf("capaN")>=0 && capas[i].style.visibility=='visible')
								capas[i].style.visibility='hidden';								
						if(capas[i].id.indexOf("capaTxtN")>=0 && capas[i].style.textDecoration=='underline')
								capas[i].style.textDecoration='none';
								capas[i].style.color='00086E';
				}
				MM_swapImgRestore();
				ocultarMostrarCombos('visible');
				//while(retardo.length>0)retardo.pop(); salgo de todo el sistema de capas y elimino los retardos que queden
                                retardo=null;
                                retardo=new Array();
		}
}
		
function closeMenu(event) 
{  	
		
		var current, related;      
    if (window.event) 
    {    
        current = this;    
        related = window.event.toElement;  
    }  
    else 
    {    
        current = event.currentTarget;    
        related = event.relatedTarget;  
    } 
    
    if (current != related)
    {    	    	
    		var resultado=contains(current, related);
	
				if(resultado>0)
				{  
					var i=0;
                                        var aux=new Array();
					for(i=0;i<retardo.length;i++)
					{
						if(retardo[i][0]==current.id && retardo[i][1]=='show')
						{
							window.clearTimeout(retardo[i][2]);
                                                        //retardo.splice(i,1);	
                                                        //i--; para que la i se adapte a la nueva longitud del array
                                                }
                                                else
                                                {
                                                    aux[aux.length]=retardo[i];
                                                }
                                        }	
                                        retardo=aux;
					//retardo.push(new Array(current.id,"hide",window.setTimeout("closeCapas(" + resultado + ",'" + current.id + "')",tiempo)));
                                        retardo[retardo.length]=new Array(current.id,"hide",window.setTimeout("closeCapas(" + resultado + ",'" + current.id + "')",tiempo));
				}	
				
    }
    
}

function contains(a, b) 
{  
    if(b==null)return 1;        
    while (b.parentNode)    
    {
        if ((b = b.parentNode) == a)return 0;  
        if(b.tagName=='DIV' && b.id.indexOf("capaN")>=0)
        {
            var nivela=parseInt(a.id.substring(5,a.id.indexOf("_")));
            var nivelb=parseInt(b.id.substring(5,b.id.indexOf("_")));
            if(nivela<nivelb)return 0;
            else return 2;
        }     
        if(b.onmouseover!=null)
        {
            var aux=""+b.onmouseover;
            if(aux.indexOf(a.id)>0)return 0;
        }
    }  
    
    return 3;
}

function contains2(event,actual,capa,flecha)
{
    var current, related;  
    if (window.event) 
    {            
        current = actual;    
        related = window.event.toElement;  
    }  
    else 
    {    
        current = event.currentTarget;    
        related = event.relatedTarget;  
    } 

   if(related==null)
   {
   	MM_swapImgRestore();
   	return false;    
   }	

    while (related.parentNode)    
    {
        if ((related = related.parentNode) == current)
        {        	
	        return true;
	}
	if(related.tagName=='DIV' && related.id==capa)
	{
		return true;
	}
    }    
    MM_swapImgRestore();
    return false;
    
}
