function abrirModal (idbloque, url) {
	$('#'+idbloque).modal({
		close: false,
		overlayId: 'fw_overlay',
		containerId: 'fw_contenedor',
		onOpen: fw.open,
		onClose: fw.close,
		onShow: function(){
			$("#ciclo").cycle({
				timeout:       1000,  
    			speed:         2000,
				autostop: true,
				autostopCount: 4
			});
		}
	});
	if(url){
		$('#destino').attr({
			src: url
		});
	}
}

function cerrarModal(dialog) {
	dialog.data.fadeOut(200, function () {
		dialog.container.fadeOut(200, function () {
			dialog.overlay.fadeOut(200, function () {
				$("#ciclo").cycle("destroy");
				$.modal.close();
			});
		});
	});
}
var fw = {
	message: null,
	open: function (dialog) {
		$("#fw_overlay").css({'opacity': 0.7});
		dialog.overlay.fadeIn(200, function () {
			dialog.container.fadeIn(200, function () {
				dialog.data.fadeIn(200, function () {
				});
			});
		});
	},

	close: function (dialog) {
		cerrarModal(dialog)
	},
	error: function (xhr) {
		alert(xhr.statusText);
	}
};


// ---------------- FUNCIONES AJAX ----------------//
function nuevoAjax(){
var xmlhttp=false;
 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

function urlDecode(str){
  	str=str.replace(new RegExp('\\+','g'),' ');
    return unescape(str);
}
// ---------------- FIN DE FUNCIONES AJAX ----------------//

function validarEmail(email) {
	caracNoValidos = " /:,;";
	if(email == "") return false; 							// debe rellenarse
	for(i = 0; i < caracNoValidos.length; i++) {			// ¿hay algún carácter no válido?
		caracMal = caracNoValidos.charAt(i);
		if(email.indexOf(caracMal,0) > -1) return false;
	}
	posArroba = email.indexOf("@",1); 						// debe haber una @
	if(posArroba == -1) return false;
	if(email.indexOf("@",posArroba+1) != -1) return false;	// y sólo una
	posPunto = email.indexOf(".",posArroba);
	if(posPunto == -1) return false;  						// y al menos un . después de la @
	if(posPunto+3 > email.length) return false; 			// debe haber al menos 2 caracteres tras el .
	return true;
}

function enviaReserva(){
	ajax3=nuevoAjax();
	ajax3.open("POST", "formulario_reserva_act.php",true);
	ajax3.onreadystatechange=function() {
		if (ajax3.readyState==4) {
			if (urlDecode(ajax3.responseText).indexOf("ok")!=-1){ 
				alert("Gracias por su interés.\nEn breve nos pondremos en contacto con usted.");
			}else{
				alert("Error de envío. Inténtelo más tarde.");
			}
		}
		document.reserva.nombre.value="NOMBRE";
		document.reserva.telefono.value="TELÉFONO";
		document.reserva.email.value="E-MAIL";
		for (i=0;i<document.reserva.dia.length;i++) {
			document.reserva.dia[i].checked = false;
		}
		document.reserva.fechas.options[0].selected = true
	}
	valor_dia="";
	for (i=0;i<document.reserva.dia.length;i++) {
		if (document.reserva.dia[i].checked) {
			valor_dia = document.reserva.dia[i].value;
		}
	}
	ajax3.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajax3.send("nombre="+escape(document.reserva.nombre.value)+"&telefono="+escape(document.reserva.telefono.value)+"&email="+escape(document.reserva.email.value)+"&adultos="+escape(document.reserva.adultos.value)+"&adultos2="+escape(document.reserva.adultos2.value)+"&nenos="+escape(document.reserva.nenos.value)+"&nenos2="+escape(document.reserva.nenos2.value)+"&horas="+escape(document.reserva.horas.value)+"&fechas="+escape(document.reserva.fechas.value)+"&dia="+escape(valor_dia)+"&precio1="+escape(document.reserva.precio1.value)+"&precio2="+escape(document.reserva.precio2.value)+"&precio3="+escape(document.reserva.precio3.value)+"&salida="+escape(document.reserva.salida.value));
}

function validaTelefono(telefono){
	var RegExPatternX = new RegExp("[0123456789]"); //El numero de telefono solo puede contener numeros
	var temp = telefono.split('');
	var cuenta = new Array();
	for(i=0;i<temp.length;i++){//tiene que tener por lo menos 9 numeros
		if(temp[i].match(RegExPatternX)){
			cuenta.push(i);
		}
	}
	if(cuenta.length<9 || telefono.match(RegExPatternX) == null){
		return false;
	} else {
		return true;
	}
}

function reservar(){
		var Vacio=/\S+/;
		if( document.reserva.nombre.value == "" || document.reserva.nombre.value == "NOMBRE"){
			alert("Por favor escriba su nombre.");
		} else {
			if( document.reserva.telefono.value == ""  || document.reserva.telefono.value == "TELÉFONO"){
				alert("Por favor indique su teléfono.");
			} else {
				if(document.reserva.fechas.value == ""){
					alert('Debe escoger un fin de semana del campo desplegable');
					} else {
						sw="";
						for (i=0;i<document.reserva.dia.length;i++) {
							if (document.reserva.dia[i].checked) {
								sw = document.reserva.dia[i].value;
							}
						}
						if(sw==""){
							alert('Debe escoger un dia del fin de semana seleccionado');
							} else {
								validaTelefono(document.reserva.telefono.value);
								if(validaTelefono(document.reserva.telefono.value) == false){
									alert('El teléfono sólo puede contener números y no menos de nueve');
								} else {
									if(document.reserva.email.value != "" && document.reserva.email.value != "E-MAIL"){
										if ( (validarEmail(document.reserva.email.value)) != true ) {
											alert("Por favor introduzca un e-mail válido.");
										}  else {
											enviaReserva();
										}
									}else{
										enviaReserva();
									}
							}	
						}
					}
				}
			}
}
