function menuIN(nivel,idLink){
	var x=0;
	var y=0;
	var cadena="";
	var altura=0;
	clearTimeout(menu.timerDelayOcultar);
	clearTimeout(menu.timerOcultar);
	clearTimeout(menu.timerMostrar);
	clearTimeout(menu.timerAnimPNG);
	clearTimeout(menu.timerAnimOut);
	
	//¿PERTENECE EN ENLACE AL ULTIMO NIVEL?	
	if(nivel<(enlaces.numNiveles-1)){
		//¿COINCIDE LA SELECCION LA ULTIMA REALIZADA PARA ESE NIVEL?
		cadena="enlaces.devolverItem(" + calcularCoord(nivel,idLink) + ")";	
		//alert(cadena);
		eval(cadena);
	}
			
	//CONFIGURAMOS LAS BARRAS A MOSTRAR
	for(x=0; x<enlaces.numNiveles-1; x++) {
		if(x<nivel){
			menu.aCBarra[x].mostrarBarra=1;
		} else {
			if(x==nivel){

				if(enlaces.PBoton.NAV==1){
					
					if(nivel==0){
						
						for(y=0;y<enlaces.numNiveles-1;y++){
							menu.aCMoverBarra[y].posicionFin=menu.offSetBarras[idLink-1] + (menu.anchoBarra*y);
						}
						
						desplazarMenu();					
					}
					
					menu.aCBarra[nivel].mostrarBarra=1;
					menu.aCBarra[nivel].nLinks=enlaces.PBoton.numLinks;
					
					altura=menu.aCBarra[nivel].nLinks*menu.anchoBoton;
					
					redondearBotones(nivel);
					
					if(menu.aCBarra[nivel].nLinks>0){
						altura=altura+((menu.aCBarra[nivel].nLinks-1)*2);
					}
					

					if(menu.aCBarra[nivel].limiteBarra!=altura){
						menu.aCBarra[nivel].limiteBarra=altura;
						menu.aCBarra[nivel].animCompleta=0;
					}
					
					
					
				} else {
					menu.aCBarra[nivel].mostrarBarra=0;	
					menu.aCBarra[nivel].nLinks=0;
					menu.aCBarra[nivel].limiteBarra=0;
					menu.ultimoLink[nivel]=0;	
					
				}
			} else {
				menu.aCBarra[x].mostrarBarra=0;
				menu.ultimoLink[x]=0;	
				menu.aCBarra[x].nLinks=0;
			}
		}
		
		
	}
	
	cadena="";
	for(x=0;x<enlaces.numNiveles-1;x++){
		cadena=cadena + "|" + menu.aCBarra[x].mostrarBarra;
	}
	
	//DESPLAZAMIENTO VERTICAL
	if(nivel<enlaces.numNiveles-1 && nivel>0){		
		if(menu.aCBarra[nivel].mostrarBarra==1) {

			var nPosY=menu.aCMoverBarraY[nivel-1].posicionFin;
			if(idLink>1){
				nPosY=nPosY + ((idLink-1)*menu.anchoBoton);
				nPosY=nPosY + ((idLink-1) * 2);
			}

			menu.aCMoverBarraY[nivel].posicionFin=nPosY;
			
		}
	}
	
	if(menu.desplazarVertical==1){
		desplazarMenuY();
	}
	
	
	//alert (cadena);	
	
	mostrarNav(nivel,idLink);
	
	animPNG(nivel,idLink);
	//mostrarSubrayado(idLink);
	
}

function animPNGOut(){
	var animCompleta=1;
	var cadenaFuncion="animPNGOut()";
	
	for(x=0;x<menu.idAnim.length;x++){
			if(menu.posicionFrame[x]>0){
				menu.posicionFrame[x]=menu.posicionFrame[x]-1;
				animCompleta=0;
			} else {
				menu.posicionFrame[x]=0;			
			}
			
		}
		
	for(x=0;x<menu.idAnim.length;x++){
		var botonImg=document.getElementById("" + menu.idAnim[x] + "");
		botonImg.style.backgroundPosition="0px -" + (menu.posicionFrame[x]*menu.pasoAnim) + "px";
	}
	
	if(animCompleta==0){
		menu.timerAnimOut=setTimeout(cadenaFuncion,menu.tiempoAnim);			
	}
		
}

function redondearBotones(nivel){
	var x=0;
	
	for(x=0;x<menu.aLinks[nivel].length;x++){
		var elemento=document.getElementById(menu.aLinks[nivel][x]);
		if(x==menu.aCBarra[nivel].nLinks-1){		
				elemento.style.borderBottomLeftRadius= menu.radioMenu + "px";
				elemento.style.borderBottomRightRadius=menu.radioMenu + "px";
		}else{
				elemento.style.borderBottomLeftRadius="0px";
				elemento.style.borderBottomRightRadius="0px";
		}
	}
	
}
		
function animPNG(nivel,idLink){
	var animCompleta=1;
	
	var cadenaFuncion="animPNG(" + nivel + "," + idLink + ")";
	
	var enlaceLvL0=0;
	if(nivel>0){
		if(menu.ultimoLink[0]>0){
			enlaceLvL0=menu.ultimoLink[0]-1;
		} else {
			enlaceLvL0=-1;
		}
	} else {
		if(idLink>0){
			enlaceLvL0=idLink-1;
		}else{
			enlaceLvL0=-1;
		}
	}

	
	for(x=0;x<menu.idAnim.length;x++){
		
		if(x==enlaceLvL0){
			if(menu.posicionFrame[enlaceLvL0]<25){
				menu.posicionFrame[enlaceLvL0]=menu.posicionFrame[enlaceLvL0]+1;
				animCompleta=0;
			} else {
				menu.posicionFrame[enlaceLvL0]=25;			
			}
		} else {
			if(menu.posicionFrame[x]>0){
				menu.posicionFrame[x]=menu.posicionFrame[x]-1;
				animCompleta=0;
			} else {
				menu.posicionFrame[x]=0;			
			}
		}
	}
		
	for(x=0;x<menu.idAnim.length;x++){
		var botonImg=document.getElementById("" + menu.idAnim[x] + "");
		botonImg.style.backgroundPosition="0px -" + (menu.posicionFrame[x]*menu.pasoAnim) + "px";
	}
	
	if(animCompleta==0){
		menu.timerAnimPNG=setTimeout(cadenaFuncion,menu.tiempoAnim);			
	}
}

function mostrarNav(nivel,idLink){
	
	var cMostrar=0;
	var x=0;
	var cadenaFuncion="mostrarNav(" + nivel + "," + idLink + ");"
	var altura=0;
	var sentidoAnimacion=0;
	resaltarOpciones(nivel,idLink);
	
	var el=document.getElementById("barra2");
	el.style.zIndex="3";
	
	for(x=0;x<enlaces.numNiveles-1;x++){
		
		if(menu.aCBarra[x].mostrarBarra==1){
			
			if(idLink!=menu.ultimoLink[nivel] && nivel<enlaces.numNiveles-1){
				borrarBotones(nivel,idLink);
				menu.ultimoLink[nivel]=idLink;
			}
	
			if(menu.aCBarra[x].animCompleta==0){
				
				
				altura=menu.aCBarra[x].posicionBarra;
				
				if(altura<menu.aCBarra[x].limiteBarra){ 
					sentidoAnimacion=0;
				} else {
					sentidoAnimacion=1;
				}
				
				if(x==0){
					
					animBarraUP(x,sentidoAnimacion);
					cMostrar=1;	
				} else {
					
					if(menu.aCBarra[x-1].animCompleta==1){
						animBarraUP(x,sentidoAnimacion);
						cMostrar=1;
					}
				}
		
			} else {
	
				if(menu.aCBotones[x].animCompleta==0){
					animBotonesUP(x);
					cMostrar=1;
				}	
			}
			
		} else {
			if(menu.aCBarra[x].posicionBarra>menu.aCBarra[x].inicioBarra){
				animBarraDOWN(x);
				cMostrar=1;
			} 
			
			if(menu.aCBotones[x].posicionBotones[0]>0){
				animBotonesDOWN(x);
				cMostrar=1;
			}
		}
	}
	
	

	if(cMostrar=1){
		menu.timerMostrar=setTimeout(cadenaFuncion,menu.tiempo);
	}
		
	

}

function desplazarMenuY(){
var x=0;
var cadenaFuncion="desplazarMenuY()";
var nPosY=0;
var salida=1;

clearTimeout(menu.timerMoverBarrasY);

	for(x=0;x<enlaces.numNiveles-1;x++){
		var elemento=document.getElementById(menu.aBarras[x]);	
		var elemento2=document.getElementById(menu.aBotoneras[x]);
		if(menu.aCMoverBarraY[x].posicionFin != menu.aCMoverBarraY[x].posicionInicio){
			salida=0;
			
						
			if(menu.aCBarra[x].posicionBarra>menu.aCBarra[x].pasoBarra){
				
				if(menu.aCMoverBarraY[x].posicionInicio<menu.aCMoverBarraY[x].posicionFin) {
					//BAJAMOS
					nPosY=menu.aCMoverBarraY[x].posicionInicio+menu.aCMoverBarraY[x].paso;
					if(nPosY>menu.aCMoverBarraY[x].posicionFin){
						nPosY=menu.aCMoverBarraY[x].posicionFin;
					}
				} else {
					//SUBIMOS
					nPosY=menu.aCMoverBarraY[x].posicionInicio-menu.aCMoverBarraY[x].paso;
					if(nPosY<menu.aCMoverBarraY[x].posicionFin){
						nPosY=menu.aCMoverBarraY[x].posicionFin;
					}
				}
				
				menu.aCMoverBarraY[x].posicionInicio=nPosY;
			
				var elemento=document.getElementById(menu.aBarras[x]);	
				elemento.style.top=nPosY + "px";
				
				var elemento=document.getElementById(menu.aBotoneras[x]);	
				elemento.style.top=nPosY + "px";
				

			} else {
			
				elemento.style.top=menu.aCMoverBarraY[x].posicionFin + "px";
				elemento2.style.top=menu.aCMoverBarraY[x].posicionFin + "px";
				
				menu.aCMoverBarraY[x].posicionInicio=menu.aCMoverBarraY[x].posicionFin;
		
				menu.aCMoverBarraY[x].animCompleta=1;
			}
		

		} else {
			menu.aCMoverBarraY[x].animCompleta=1;
		}
	
	}
	
	if(salida==0){
		menu.timerMoverBarrasY=setTimeout(cadenaFuncion,menu.tiempo);
	}
	
}

function desplazarMenu(){
var cadenaFuncion="";
var x=0;
var nuevaPosicion=0;
var salida=1;
	
cadenaFuncion="desplazarMenu()";
	
	clearTimeout(menu.timerMoverBarras);
	
	for(x=0;x<enlaces.numNiveles-1;x++){
		
			
		if(menu.aCMoverBarra[x].posicionInicio==menu.aCMoverBarra[x].posicionFin){
			menu.aCMoverBarra[x].animCompleta=1;
			
		} else {
			
			if(menu.aCMoverBarra[x].posicionInicio>menu.aCMoverBarra[x].posicionFin){
				//MOVEMOS HACIA LA IZQ
				nuevaPosicion=menu.aCMoverBarra[x].posicionInicio-menu.aCMoverBarra[x].paso;
				
				if(nuevaPosicion<menu.aCMoverBarra[x].posicionFin){
					nuevaPosicion=menu.aCMoverBarra[x].posicionFin;
				}
			} else {
				//MOVEMOS HACIA LA DERECHA
				nuevaPosicion=menu.aCMoverBarra[x].posicionInicio+menu.aCMoverBarra[x].paso;
				
				if(nuevaPosicion>menu.aCMoverBarra[x].posicionFin){
					nuevaPosicion=menu.aCMoverBarra[x].posicionFin;
				}
			}
			
			
			
			menu.aCMoverBarra[x].posicionInicio=nuevaPosicion;
			
			var elemento=document.getElementById(menu.aBarras[x]);	
			elemento.style.left=nuevaPosicion + "px";
			
			var elemento=document.getElementById(menu.aBotoneras[x]);	
			elemento.style.left=nuevaPosicion + "px";	
			salida=0;	
		}
	}
	
	if(salida==0){
		menu.timerMoverBarras=setTimeout(cadenaFuncion,menu.tiempo);
	}
	
	
}

function animBarraDOWN(nivel){
	var elemento=document.getElementById(menu.aBarras[nivel]);
	
	if(elemento.offsetHeight>menu.aCBarra[nivel].inicioBarra){
		
		var altura=elemento.offsetHeight;
		var nuevaAltura=altura-menu.aCBarra[nivel].pasoBarra;
		
		

		menu.aCBarra[nivel].animCompleta=0;

		if(nuevaAltura>menu.aCBarra[nivel].inicioBarra){
				elemento.style.display="block";
				elemento.style.height=nuevaAltura + "px";
		} else {
				elemento.style.display="none";
				elemento.style.height=menu.aCBarra[nivel].inicioBarra + "px";
		}
		
		
	}
	
	menu.aCBarra[nivel].posicionBarra=elemento.offsetHeight;
}

function animBarraUP(nivel,sentido){
	var elemento=document.getElementById(menu.aBarras[nivel]);
	var alturaReal=elemento.offsetHeight - (menu.anchoBordes*2);
	if(sentido==0){
		
		if(alturaReal < menu.aCBarra[nivel].limiteBarra ){
			var altura=elemento.offsetHeight;
			var nuevaAltura=altura+menu.aCBarra[nivel].pasoBarra;
			
				
			if(nuevaAltura<menu.aCBarra[nivel].limiteBarra){
					elemento.style.display="block";
					elemento.style.height=nuevaAltura + "px";
			} else {
					elemento.style.height=menu.aCBarra[nivel].limiteBarra + "px";
			}	
			
			
		} else {
			menu.aCBarra[nivel].animCompleta=1;

		}
	} else {
		if(alturaReal >menu.aCBarra[nivel].limiteBarra){
			var altura=elemento.offsetHeight;
			var nuevaAltura=altura-menu.aCBarra[nivel].pasoBarra;

						
			if(nuevaAltura>menu.aCBarra[nivel].limiteBarra){
					elemento.style.display="block";
					elemento.style.height=nuevaAltura + "px";
			} else {
					elemento.style.height=menu.aCBarra[nivel].limiteBarra + "px";
			}	
			
			
		} else {
			menu.aCBarra[nivel].animCompleta=1;
	
		}	
	}
	
	menu.aCBarra[nivel].posicionBarra=elemento.offsetHeight - (menu.anchoBordes*2);
}

function animBotonesDOWN(nivel){
var x=0;
var animarBoton=0;
var botonFinal=0;

for (x=0;x<=10;x++){
		
		if(menu.aCBotones[nivel].posicionBotones[x]>0) {
			animarBoton=1;				
		} else {
			animarBoton=0;		
		}
		
		
		if(animarBoton==1) {
			var elemento=document.getElementById(menu.aAnimacion[nivel][x]);
			var posicionY=elemento.offsetLeft;
			var nuevaPosicionY=posicionY-menu.aCBotones[nivel].pasoBoton;
			
			if(nuevaPosicionY>menu.aCBotones[nivel].inicioBoton){
					elemento.style.left=nuevaPosicionY + "px";		
			} else {
					elemento.style.left=menu.aCBotones[nivel].inicioBoton + "px";
			}
			
			menu.aCBotones[nivel].posicionBotones[x]=menu.aCBotones[nivel].posicionBotones[x]-1;					
		}		
	}
	
	if(nuevaPosicionY>menu.aCBotones[nivel].inicioBoton && menu.aCBotones[nivel].posicionBotones[x]==0){
		enu.aCBotones[nivel].posicionBotones[x]=1;
	}
		
	menu.aCBotones[nivel].animCompleta=0;
}

function animBotonesUP(nivel){
var x=0;
var animarBoton=0;
var botonFinal=0;
var numBotones=0;

numBotones=menu.aCBarra[nivel].nLinks;
numBotones=numBotones+(menu.aCBarra[nivel].nLinks-1);

for (x=0;x<=numBotones-1;x++){
		if(x<1) {
			if(menu.aCBotones[nivel].posicionBotones[x]<menu.aCBotones[nivel].nPasosBoton) {
				animarBoton=1;				
			} else {
				animarBoton=0;		
			}
		} else {
			if(menu.aCBotones[nivel].posicionBotones[x-1]>=menu.aCBotones[nivel].delayBoton) {
				if(menu.aCBotones[nivel].posicionBotones[x]<menu.aCBotones[nivel].nPasosBoton) {
					animarBoton=1;				
				} else {
					animarBoton=0;		
				}
			} else {
					animarBoton=0;
			}
		}
		
		if(animarBoton==1) {
			var elemento=document.getElementById(menu.aAnimacion[nivel][x]);
			var posicionY=elemento.offsetLeft;
			var nuevaPosicionY=posicionY+menu.aCBotones[nivel].pasoBoton;
			
			
			if(nuevaPosicionY<menu.aCBotones[nivel].limiteBoton){
					elemento.style.left=nuevaPosicionY + "px";		
			} else {
					elemento.style.left=menu.aCBotones[nivel].limiteBoton + "px";
			}
			
			menu.aCBotones[nivel].posicionBotones[x]=menu.aCBotones[nivel].posicionBotones[x]+1;					
		}		
	}
	
	var elemento=document.getElementById(menu.aAnimacion[nivel][numBotones-1]);
	
	if(elemento.offsetLeft==menu.aCBotones[nivel].limiteBoton){
		menu.aCBotones[nivel].animCompleta=1;
	}
		
}

function borrarBotones(nivel,idLink){
	var elemento=null;
	var x=0;
	var posicion=0;
	
	for (x=0;x<=10;x++){
		menu.aCBotones[nivel].posicionBotones[x]=0;
		elemento=document.getElementById(menu.aAnimacion[nivel][x]);
		elemento.style.left=menu.aCBotones[nivel].inicioBoton + "px";
	}

	for (x=0;x<menu.aLinks[nivel].length;x++) {
		elemento=document.getElementById(menu.aLinks[nivel][x]);		
		elemento.innerHTML=devolverTextoLink(x);
		elemento.href=devolverUrlLink(x);
		elemento.className=devolverClassLink(nivel,x);
	}
	
	menu.aCBotones[nivel].animCompleta=0;
}

function ocultarNav(){
	var x=0;
	var cMostrar=0;
	
	var cadenaFuncion="ocultarNav();"
	for(x=0;x<enlaces.numNiveles-1;x++){
		
		menu.ultimoLink[x]=0;
		menu.aCBarra[x].mostrarBarra=0;
		menu.aCBarra[x].nLinks=0;
	
		
		if(menu.aCBarra[x].posicionBarra>0){
			animBarraDOWN(x);
			cMostrar=1;
		}
			
		if(menu.aCBotones[x].posicionBotones[0]>0){			
			animBotonesDOWN(x);
			cMostrar=1;
		}
		
	
	}
	
	if(cMostrar==1) {
		menu.timerOcultar=setTimeout(cadenaFuncion,menu.tiempo);		
	} else {
		var el=document.getElementById("barra2");
		el.style.zIndex="4";
	}
}
