/* Comprobamos que la seccion es válida */
function seccionValida (seccion) {
	var opciones = ["inicio", "atracciones", "tarifas", "consejos", "localizacion"];
			
	j = 0;
	valida = false;
	while ((j < opciones.length) && (!valida)) {
		if (opciones[j] == seccion) {
			valida = true;
		} else j++;
	}
	return valida;
}

function getIdioma(cadena) {
	var idioma = 'es'; /* Idioma por defecto */
	if (cadena.indexOf('index_en.htm') > -1) {
		idioma = 'en';
	} else if (cadena.indexOf('index_de.htm') > -1) {
		idioma = 'de';
	}
	return (idioma);
}

/* Obtiene la variable por GET */
function getVariable(cadena, seccion) {
	var variable = 'inicio'; /* Seccion por defecto */
	var vars = cadena.split("&");
	var i = 0;
	var encontrado = false;
	while ((i < vars.length) && (!encontrado)) {
		var pair = vars[i].split("=");
		if (pair[0] == seccion) {
			encontrado = true;
			if (seccionValida(pair[1])) {
				variable = pair[1];	
			}
		} else i++;
	}
	return(variable);
}

/* Carga el contenido de manera asíncrona */
function cargarContenido(idioma, opcion) {
	$("a#" + opcion).addClass("activa");
	
	$("#main").fadeOut(function() {
		/* Cambiamos la imagen del fondo */
		if (opcion == 'inicio') {
			$("#cuerpo").css("background-image","url('img/" + opcion + "_" + idioma + ".jpg')");
		} else {
			$("#cuerpo").css("background-image","url('img/" + opcion + ".jpg')");
		}
		/* Cargamos el contenido de la pagina */
		$("#main").load(idioma + "/" + opcion + "/index.html", function() {
			/* Mostramos el contenido */
			$("#main").fadeIn('slow');
		});
	});
}

function cargarImagenes(imagenes) {
	$(imagenes).each(function(key, value) {
		
		var img = new Image();
		
		$(img)
		
		.attr('src', value)
		
		.error(function (){
		
			alert('Error precargando imagen ' . value);
		
		})
	
	});
}

$(document).ready(function() {
	/* Referencias */
	var sections = $("#menu li a");
	var variable = getVariable(window.location.search.substring(1),'seccion');
	
	var idioma = getIdioma(window.location.pathname);

	/* Precarga imagenes */
	//var imagenes = ['img/cabecera_' + idioma + '.jpg', 'img/' + variable + '.jpg', 'img/de.gif', 'img/en.gif', 'img/es.gif'];
	cargarImagenes(imagenes);
	
	cargarContenido(idioma, variable);
	
	/* Manejador del click de las opciones del menu */
	sections.live('click', function(e) {
		
		e.preventDefault();
		
		var pagina = $(this).attr("id");		
		/* Quitamos la clase activa a la opcion de menu mostrada anteriormente */
		$("#menu li a").removeClass("activa");
			
		cargarContenido(idioma, pagina);
				
		return(false);
	});
	
	$('a[name=mapa]').live('click', function(e) {
		e.preventDefault();
		if ($(this).attr("id") == 'atracciones') {
			$('#parque').zoommap({
				// Width and Height of the Map
				width: '1100px',
				height: '556px',
						
				// Misc Settings
				blankImage: 'img/blank.gif',
									
				// Initial Region to be shown
				map: {
					id: 'parque_atracciones',
					image: 'img/circulos_atracciones.png',
					data: idioma + '/atracciones/popups/atracciones.html',
					maps: []
				}
			});
		} else if ($(this).attr("id") == 'servicios') {
			$('#parque').css('background-image', 'url(img/circulos_servicios.png)');
		}
		
		return false;
	});
	
	/* Manejador del click de los popup */
	$('a[name=popup]').live('click', function(e) {
		e.preventDefault();
		
		// Obtenemos la ruta del archivo a mostrar
		var url = $(this).attr('href');
		var opcion = $(this).attr('id');
	
		if (!$("#ventana").length>0) {
			$("body").append("<div id=\"ventana\"></div><div id=\"mascara\"></div>"); //Añade las capas en la página.
		}

		/* Altura de la ventana correspondiente */
		switch (opcion) {
			case 'resumen': alto = 610;
						   break;			
			case 'generales': alto = 530;
						   break;
			case 'condiciones': alto = 630;
						   break;
			default: alto = 600; /* Aviso legal */
		}
		
		$("#ventana").css('height',alto);
	
		// Efecto de transicion		
		$('#mascara').fadeTo("slow",0.8);		
	
		// Cargamos el contenido en la capa a mostrar
		$("#ventana").load(url);
		
		// Centramos la ventana
		$("#ventana").css('top',  $(window).height()/2 - $("#ventana").height()/2);
		$("#ventana").css('left', $(window).width()/2 - $("#ventana").width()/2);
		
		// Efecto de transicion
		$("#ventana").fadeIn();
		return(false);
	});
	
	// Si se pulsa el botón cerrar del popup
	$('#ventana .cerrar').live('click', function (e) {
		e.preventDefault();
		$("#ventana").slideUp("fast", function () {
			$("#mascara").fadeOut("fast",function () {
				$("#mascara").remove(); // Elimina la capa 'mascara'.
				$("#ventana").remove(); // Elimina la capa 'ventana'.
			});
		});
		return(false);
	});		
	
	/* Cierra el Popup cuando se haga click en la mascara */
	$('#mascara').live('click', function (e) {
		e.preventDefault();
		$("#ventana").slideUp("fast", function () {
			$("#mascara").fadeOut("fast",function () {
				$("#mascara").remove(); // Elimina la capa 'mascara'.
				$("#ventana").remove(); // Elimina la capa 'ventana'.
			});
		});
		return(false);
	});
	
	/* Abre Google Map con la ruta en coche desde el origen introducido hasta Aquavelis */
	$('#botonLlegar').live('click', function(e) {
		e.preventDefault();
		origen = document.frmComoLlegar.from.value;
		destino = 'Parque Acuatico Aquavelis Torre del Mar+@36.751977,-4.096748';
	
		window.open('http://maps.google.com/maps?hl=es&saddr=' + origen + '&daddr=' + destino);
		return(false);
	});
	
	/* Deshabilita la tecla Enter en el input del formulario */
	$('#fromAddress').live("keypress", function(evento) {
		return(evento.which != 13);
	});
	
	/* Mostrar los bloques de texto en Club Social */
	$('#alternador h3').live('click', function(e) 
	{
		e.preventDefault();
		var oculto = $('#texto_' + $(this).attr('id')).hasClass('ocultar');
		$('#alternador .bloque').addClass('ocultar');
		if (oculto) {
			$('#texto_' + $(this).attr('id')).removeClass('ocultar');
		} else {
			$('#texto_' + $(this).attr('id')).addClass('ocultar');
		}
		return(false);
	});
	
	/* Precarga imagenes */
	var imagenes = ['img/inicio.jpg', 'img/atracciones.jpg', 'img/tarifas.jpg', 'img/consejos.jpg', 'img/localizacion.jpg', 'img/circulos_atracciones.png', 'img/circulos_servicios.png'];
	cargarImagenes(imagenes);
});
