function initialize(lang) {
	if (GBrowserIsCompatible()) {
		var localizacion = new GLatLng(43.336332, -5.924501);
		var map = new GMap2(document.getElementById("map_canvas"));
		
		switch (lang) {
			case "fr":
				var centro = new GLatLng(44.351896, 2.896912);
				var texto = "<b>LA CASONA DE PRIORIO</b><br /><br />Vous pouvez faire d&eacute;filer la carte et zoom pour voir la position plus en d&eacute;tail.";
				map.setCenter(centro, 6);
				break;
			case "en":
			case "de":
				var centro = new GLatLng(46.351896, 2.896912);
				var texto = "<b>LA CASONA DE PRIORIO</b>";
				map.setCenter(centro, 5);
				break;
			case "es":
			default:
				var centro = new GLatLng(43.351896, -5.896912);
				var texto = "<b>LA CASONA DE PRIORIO</b><br /><br />Puede desplazar el mapa y amplir o reducir el zoom<br />para ver la localizaci&oacute;n con m&aacute;s detalle.";
				map.setCenter(centro, 7);
				break;
		}
		
		map.enableScrollWheelZoom();
		map.addControl(new GMapTypeControl());
		map.addControl(new GSmallMapControl());
		map.addControl(new GOverviewMapControl());
        map.addOverlay(new GMarker(localizacion));
		map.openInfoWindowHtml(localizacion, texto);
	}
}

// Comprueba si una cadena tiene formato de fecha dd/mm/aaaa
function esFecha(sFecha) {
	var FECHA = ("undefined" == typeof(sFecha)) ? "" : sFecha; // Fecha de entrada
	var reFecha = /^(0?[1-9]|[12][0-9]|3[01])([-\/\.])(0?[1-9]|1[0-2])\2(\d{1,4})$/;

	return reFecha.test(FECHA);	
}

// Comprueba si una cadena tiene formato de email
function esEmail(sEmail) {
	var EMAIL = ("undefined" == typeof(sEmail)) ? "" : sEmail; // Fecha de entrada
	var reEmail = /^([a-zA-Z0-9]{3,})(((\.|\-|\_)[a-zA-Z0-9]{2,})+)?@([a-z]{3,})(\-[a-z0-9]{3,})?(\.[a-z]{2,})+$/i

	return reEmail.test(EMAIL);	
}

function validar() {
	var div_error = document.getElementById('div_error');
	var campos = new Array("solicitante", "fecha_entrada", "fecha_salida", "numero_plazas", "correo_electronico", "confirmar_correo_electronico", "telefono");

	// Ponemos el fondo blanco a todos los campos
	for (var i = 0; i < campos.length; i++) {
		document.getElementById(campos[i]).style.backgroundColor = "#ffffff";
	}

	var faltanDatos = false;
	for (i = 0; i < campos.length; i++) {
	// Si alguno de los campos obligatorios esta en blanco o es incorrecto, lo resaltamos y mostramos un mensaje
		if ("" == document.getElementById(campos[i]).value) {
			document.getElementById(campos[i]).style.backgroundColor = "#ffe0e0";
			faltanDatos = true;
		}
	}

	// Si faltan datos obligatorios, mostramos un mensaje
	if (faltanDatos) {
		div_error.innerHTML = "Los campos resaltados son obligatorios";
		return false;
	}
	
	// Si la fecha de entrada no cumple con el formato que le corresponde, mostramos un mensaje
	if (!esFecha(document.getElementById('fecha_entrada').value)) {
		document.getElementById('fecha_entrada').style.backgroundColor = "#e0e0ff";
		div_error.innerHTML = "La fecha de entrada no tiene un formato correcto";
		return false;
	}
	
	// Si la fecha de salida no cumple con el formato que le corresponde, mostramos un mensaje
	if (!esFecha(document.getElementById('fecha_salida').value)) {
		document.getElementById('fecha_salida').style.backgroundColor = "#e0e0ff";
		div_error.innerHTML = "La fecha de salida no tiene un formato correcto";
		return false;
	}

	// Si la direccion de correo no cumple con el formato que le corresponde, mostramos un mensaje
	if (!esEmail(document.getElementById('correo_electronico').value)) {
		document.getElementById('correo_electronico').style.backgroundColor = "#e0e0ff";
		div_error.innerHTML = "No es una direccion de correo valida";
		return false;
	}
	
	// Si la direccion de correo y la de confirmacion no son iguales, mostramos un mensaje
	if (document.getElementById('correo_electronico').value != document.getElementById('confirmar_correo_electronico').value) {
		document.getElementById('correo_electronico').style.backgroundColor = "#e0e0ff";
		document.getElementById('confirmar_correo_electronico').style.backgroundColor = "#e0e0ff";
		div_error.innerHTML = "Las direcciones no coinciden";
		return false;
	}
	
	return true;

}