
/*
	MENU
*/
var INSTALLATION_DIRECTORY = "sites";
function rolloverMenu(objeto) {
    
    var opcion = objeto.getElementsByTagName("IMG");

    if (opcion.length) {

        opcion = opcion[0].src;

        var url = opcion.substring(opcion.lastIndexOf(INSTALLATION_DIRECTORY), opcion.lastIndexOf("/"));
        var nombre = opcion.substring(opcion.lastIndexOf("/")+1, opcion.length);
        
        if (nombre.charAt(0) == "m") {
        
            nombre = nombre.replace("m", "a");
            var temp = objeto.getElementsByTagName("IMG");
            temp[0].src = "/"+url+"/"+nombre;
            
        } else if (nombre.charAt(0) == "a") {
        
            nombre = nombre.replace("a", "m");
            var temp = objeto.getElementsByTagName("IMG");
            temp[0].src = "/"+url+"/"+nombre;
            
        }
    }
}


  function eventAssign(obj,event,func){
	if( obj.addEventListener ) {
		obj.addEventListener(event,func,false);
		}else if (obj.attachEvent) {
		obj['e'+event+func]=func;
		obj[event+func]=function(){
			obj['e'+event+func]( window.event );
		}
		obj.attachEvent('on'+event,obj[event+func]);
	}else {
		alert('Este navegador no es soportado!!');
	}
}

function preparaEventosMenu() {
	objNav = document.getElementById("nav"); // Id del menu desplegable
	hijosLI = objNav.getElementsByTagName("LI");
	for (i = 0; i < hijosLI.length; i++) {
		if (hijosLI[i].getElementsByTagName("UL").length) {
			eventAssign(hijosLI[i], "mouseover", function() {despliega(this);});
			eventAssign(hijosLI[i], "mouseout", function() {pliega(this);});
		}
	}
}

function despliega(padre) {
	hijos = padre.getElementsByTagName("UL");
	hijos[0].style.visibility = "visible"; // Cambio en la propiedad CSS (Visibility o Display)
}

function pliega(padre) {
	hijos = padre.getElementsByTagName("UL");
	hijos[0].style.visibility = "hidden"; // Cambio en la propiedad CSS (Visibility o Display)
}

window.onload = preparaEventosMenu;

/* 
    *** CARGA DE IMAGENES MENU ***

*/
		var i;
		var imagenes = new Array("../img/fondoMenu.jpg","../img/fondoSubmenu.gif","../img/fondoSubmenu.png","../img/fondoSubmenuDesplegable.gif","../img/fondoSubmenuDesplegable.png");
		var lista_imagenes = new Array();
		
		function cargarimagenes(){
		
			for(i in imagenes){
				lista_imagenes[i] = new Image();
				lista_imagenes[i].src = imagenes[i];
				
			}
		}
		
		
window.onload = cargarimagenes;

/*
    *** ANIMACION BANNER HOME ***
*/

var banner = 1; 
var velocidad = 75; //Tiempo de espera entre animacion
var opacidadBanner = 0; //temporal para guardar el valor de opacidad

function cambiarOpacidad(opacidad, nombreobjeto) {
    $(nombreobjeto).css("opacity")=(opacidad / 100);
    $(nombreobjeto).css("MozOpacity")=(opacidad / 100);
    $(nombreobjeto).css("KhtmlOpacity")=(opacidad / 100);
    $(nombreobjeto).css("filter")="alpha(opacity=" + opacidad + ")";
} 

function mover(fin,numBanner) {
	
	ocultaTextos(); // Ocultamos todos los textos
	banner = numBanner; // Actualizamos la variable global que contiene el número de banner activo
	
	nombreThumb = "thumb" + banner;
	document.getElementById(nombreThumb).className = "activo"; // Seleccionamos con un borde su Thumbnail
	
	// Preparamos para mover
	inicio = document.getElementById('bannerPrincipal').style.backgroundPosition; // Recojo la posición actual
	if (inicio == "") {
		inicio = 0;
	}
	else {
		inicio = inicio.split(" ");
		inicio = inicio[1];
		inicio = inicio.substring(0,inicio.length-2);
		inicio = parseInt(inicio);
	}
	mueve(inicio, fin); // movemos
	
}

function mueve(posicion, fin) {
	// Si nos quedamos a 1px del final, forzamos la llegada, sinó seguimos calculando
	if (Math.abs(posicion-fin)==1) {
		nueva = fin;
	} else {
		nueva = posicion + parseInt((fin-posicion)/2);
	}
	
	document.getElementById('bannerPrincipal').style.backgroundPosition = "0 " + nueva + "px";
	
	if (nueva != fin) {
		setTimeout("mueve("+nueva+","+fin+")", velocidad);
	} else {
		entradaTexto();
	}
}

function ocultaTextos() {
	// Ocultamos todas las capas de texto
	for (x=1; x<=4; x++) {
		nombreTexto = "#animado" + x;
		nombreThumb = "thumb" + x;
		//Cambiado a jquery: cambiarOpacidad(0, nombreTexto);
		$(nombreTexto).fadeOut();
		document.getElementById(nombreThumb).className = "";
	}
}

function entradaTexto() {
	nombreTexto = "#animado" + banner;
	$(nombreTexto).show();
	if (opacidadBanner != 100) {
		opacidadBanner = opacidadBanner +10;
		$(nombreTexto).fadeIn();
		//Cambiado a jQuery: cambiarOpacidad(opacidadBanner, nombreTexto);
		setTimeout("entradaTexto()", velocidad);
	} else {
		opacidadBanner = 0; // Reinicio el valor de la opacidad
	}
}



/*
    *** HISTORIA DE AQUARIA ***
*/

function cambiaAno(num) {
    var liAnual = document.getElementById("cronologia").getElementsByTagName("li");
    var textoAnual = document.getElementById("historiaAquaria").getElementsByTagName("div");
    for (i = 0; i < textoAnual.length; i++) {
        if (textoAnual[i] == document.getElementById("ano" + num)) {
            textoAnual[i].style.display = "block";
            liAnual[i].className = "activo";
        } else {
            textoAnual[i].style.display = "none";
            liAnual[i].className = "";
        }
    }
}


var flagHisto = false;
var tamanyLIAny=74;
var margininicial=0 ;
var ampladaAllCronologia = 0;
var ampladaImatge =0;
function initCalendario () {
    //Ponemos la anchura dependiendo de los divs existentes, y posicionamos el div correctamente...
    ampladaAllCronologia = $("#cronologia li").length*tamanyLIAny;
    ampladaImatge = Number($("#listadoCrono").css("width").substring(0,$("#listadoCrono").css("width").indexOf("px")));
    $("#cronologia").css("width", ampladaAllCronologia );

    margininicial = ampladaImatge-ampladaAllCronologia;
    $("#cronologia").css("margin-left",margininicial+"px");
}


function moverCalendario(sentido) {
    if (flagHisto) return;
    flagHisto = true;
    var inicio = margininicial;
    var final = 0;
    if (sentido==1) {
	 inicio = 0;
	 final = margininicial;
    } 

    animacionHisto(inicio, final);
    $("#histoLeft").show();
    $("#histoRight").show();
    if (final == 0) {
        $("#histoLeft").hide();
    } else if (final == margininicial) {
        $("#histoRight").hide();
    }
}


/* IDIOMAS */
var cuentaAtras;
function idiomas() {

    if ($('#capaIdiomas').css("display") != "block") {
 	var nIzquierda = $("buscadorGeneral").offsetLeft + $("#header li")[4].offsetLeft;
 	var nArriba = $("#header ul")[0].offsetTop + $($("#header ul")[0]).height();
        $("#capaIdiomas").css("left="+nIzquierda+"px");
        $("#capaIdiomas").css("top="+(5 + nArriba) + "px");                
    }
    $('#capaIdiomas').css("display","block");
    cuentaAtras = setTimeout("$('#capaIdiomas').hide()", 2000);
}

/*
........................
:: Animacion de capas ::
...................................
:: Para usar con transiciones.js ::
...................................

*/
var flagPlegar = false;

function desplegarLeft(boton) {

    if (!flagPlegar) {
        // Vamos a hallar la única lista con display: block; y la asignaremos a oListaOcultar
        var oListas = $("#navLeft ul .ampliable");
        var oListaOcultar = false;
        for (i = 0; i < oListas.length; i++) {
            if ($(oListas[i]).css("display") == "block") {
                oListaOcultar = oListas[i];
            }
        }
        
        // Para la lista a mostrar, hallamos el UL que se encuentra después del boton "pulsado" y la asignamos a oListaActivar        
        var oListaActivar = boton.nextSibling;
        aux=boton.nextSibling;
        aux=aux.nextSibling;
	if (aux!=null) {         
          while (oListaActivar.tagName != "UL") {	    
             oListaActivar = oListaActivar.nextSibling;
          }         
          
          if (oListaActivar != oListaOcultar) {                   // Si no son la misma
            flagPlegar = true;                                  // empezamos la animacion,
            oListaActivar.altura = $(oListaActivar).height();   // teniendo en cuenta la altura a la que llegará oListaActivar,
            $(oListaActivar).css("height",0);                    // partiendo desde 0
            $(oListaActivar).css("display","block");              // y haciéndola visible.

            animacion(oListaActivar, "height", 0, oListaActivar.altura, false);
            if (oListaOcultar) {
                animacion(oListaOcultar, "height", $(oListaOcultar).height(), 0, true);
            }
         }

       }        
    }
}

function animacion(objeto, propiedad, puntoPartida, puntoFinal, flagOcultar) {	
    var avance = 1;
    var pasos = 16;     
    var distancia = puntoFinal - puntoPartida;
    var intervalo = 30;  // Segundos de retraso entre un paso y otro de la animacion
    
    $.timer(intervalo, function(timer1) {    
       var pos = Math.linearTween(avance, puntoPartida, distancia, pasos);
        $(objeto).css(propiedad, pos + "px");
        avance++;
        if (avance > pasos) {
            timer1.stop();
            if (flagOcultar) {
                $(objeto).css("display","none");
                $(objeto).css("height", "auto");
            } else {
                flagPlegar = false;
            }

        }
    });
}

function animacionHisto(puntoPartida, puntoFinal) { // Requiere el uso de la libreria prototype.js!!!
    var avance = 1; // Inicializa la animaciÃ³n (no cambiar)
    var pasos = 16; // NÃºmero de pasos de la animacion
    var distancia = puntoFinal - puntoPartida;
     
    var intervalo = 30; // Segundos de retraso entre un paso y otro de la  distancia = puntoFinal - puntoPartida;
    $.timer(intervalo, function(timer2) {
        var pos = Math.easeInOutQuart(avance, puntoPartida, distancia, pasos);
        $("#cronologia").css("marginLeft",pos+ "px");
        avance++;
        if (avance > pasos) {
            timer2.stop();
            flagHisto = false;
        }
    });
}
