/*
.........................
:: Javascript a medida. ::
.........................
*/
function mostrarAccesos() {
	var sImagen = $("mostrarAccesos").href;
	$("accesos").innerHTML = "<img src=\"" + sImagen + "\" alt=\"\" />";
	$("accesos").style.display = "block";
	$("mostrarAccesos").hide();
	$("ocultarAccesos").show();
}

function ocultarAccesos() {
	$("accesos").hide();
	$("ocultarAccesos").hide();
	$("mostrarAccesos").show();
}

/*
.........................
:: Javascript para los desplegables del mapa. ::
.........................
*/
function prepararDesplegableMapa() {
	var oLista1 = $$("#listadoMapa a");
	var oLista2 = $$("#marcadoresMapa a");
	for (var i = 0; i < oLista1.length; i++) {
		Event.observe(oLista2[i], "mouseover", function (evento) {
												Event.element(evento).next("div").setStyle({
													display: "block",
													zIndex: 100
												});
											});
		Event.observe(oLista2[i], "mouseout", function (evento) {
												Event.element(evento).next("div").setStyle({
													display: "none",
													zIndex: 1
												});
											});
		Event.observe(oLista2[i], "click", function (evento) {
												var oTabla = $$("#contenedorListado table"); 
												for (var j = 0; j < oTabla.length; j++) {
													oTabla[j].setStyle( { display: "none" } );
												}
												aparcamentsPais = Event.element(evento).className.slice(5); // cambia la variable global
												mostrarPais();
											});
		Event.observe(oLista1[i], "click", function (evento) {
												var oTabla = $$("#contenedorListado table"); 
												for (var j = 0; j < oTabla.length; j++) {
													oTabla[j].setStyle( { display: "none" } );
												}
                                                aparcamentsPais = Event.element(evento).className.slice(5); // cambia la variable global
                                                mostrarPais();
											});
	}
}

function mostrarPais() {
	// aparcamentPais es una referencia a la variable global
    $("lista" + aparcamentsPais).setStyle( { display: "block" } );
    $("map").setStyle( {
      display: "block",
      marginTop: 0
    } );
    $('marcadoresMapa').style.display = 'none';                                         
    if (!map) {
        loadGMapScript();
    } else {
        map.setCenter(new GLatLng(marcadores[aparcamentsPais][1], marcadores[aparcamentsPais][2]), marcadores[aparcamentsPais][3]);
    }
}

/*
.........................
:: Abrir links en vanetana nueva ::
.........................
*/

	Event.observe(window, "load", function(){
											   var listaLinks = $$("a[rel=external]");
											   for ( var i = 0; i < listaLinks.length; ++i) {
												   listaLinks[i].target = "_blank";
											   }
										   });
	
	
/*
.....................
:: Desplegar hijos ::
.....................
*/
flagDesplegable = false;
function desplegable(oBoton) {
    if (!flagDesplegable) {
		 flagDesplegable = true;
        var oDesplegable = oBoton.nextSibling;
        while (oDesplegable.className != "desplegable") {
            oDesplegable = oDesplegable.nextSibling;
        }
        var oHijo = oDesplegable.firstChild;
        while (!oHijo.innerHTML) {
            oHijo = oHijo.nextSibling;
        }
        if ($(oDesplegable).getHeight()) {
			oBoton.className = "inactivo";
            animacion (oDesplegable, "height", $(oHijo).getHeight() + 12, 0);
        } else {
			oBoton.className = "activo";
            animacion (oDesplegable, "height", 0, $(oHijo).getHeight() + 12);
        }
    }
}

function animacion(objeto, propiedad, puntoPartida, puntoFinal, fijarColumnas) {
    var avance = 1; // Inicializa la animación (no cambiar)
    var pasos = 20; // Número de pasos de la animación
    new PeriodicalExecuter(function(periodica) {
        var distancia = puntoFinal - puntoPartida;
        var pos = Math.easeInOutQuint(avance, puntoPartida, distancia, pasos) + "px";
        objeto.style[propiedad] = pos;
        avance++;
        if (avance > pasos) {
            periodica.stop();
            flagDesplegable = false;
        }
    }, 0.05);
}
Math.easeInOutQuint = function (t, b, c, d) {
	if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
	return c/2*((t-=2)*t*t*t*t + 2) + b;
};

/*
.....................
:: Desplegar hijos ::
.....................
*/
Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
};

/*
...........................................................
:: Enlaza el destacado de Can Xammar en los tres idiomas ::
...........................................................
*/

function enlazar(idioma) {
	switch(idioma) {
		case "es":
		window.location='fichaAparcament.php?parkId=esp47';
		break;
		case "en":
		window.location='fichaAparcament.php?parkId=esp331';
		break;
		default:
		window.location='fichaAparcament.php?parkId=esp189'
	}
}