// JavaScript Document


// Mantener para que calendario no de error
function calcula() {


}


function enviaform(fo,n) {

		if (checkfechareservavalida(fo.fechaentrada.value,n) == true) {
			if (checkfechareservavalida(fo.fechasalida.value,n) == true) {
				if (checkfechaentradaysalidavalida(fo.fechaentrada.value,fo.fechasalida.value) == true) {
				   if (checkcamposnovacios(fo) == true) {
						document.reservas.submit()
				   }   
				}
			}
		}
		
}
	

function checkfechareservavalida(f,n) {

	// Se permiten reservas con entrada para el mismo día independientemente del valor que traiga n
	n = 0
	
	/* recibe f=fecha elegida, n=días de antelación mínimos para aceptar reserva */
	
	/* verifica formato válido dd/mm/aa */
	re=/^[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9]$/
	if(f.length==0 || !re.exec(f)) {
		alert("Debes introducir la fecha como dd/mm/aa."+"\n"+"Te recomendamos usar el selector (botón a la derecha del campo fecha)")
		return (false)
	}
 
	/* verifica que fecha es válida */
	var d = new Date()
	/* la función tiene como entrada: año, mes, día */
	d.setFullYear("20"+f.substring(6,8), f.substring(3,5)-1, f.substring(0,2))
 	if(d.getMonth() != f.substring(3,5)-1 || d.getDate() != f.substring(0,2)) {
		alert("la fecha no es válida")
		return (false)
	}

	/* verifica que fecha de antelación es válida */
	var hoy=new Date()
    var mseg_dia=1000*60*60*24
    var dias
	
    dias = Math.ceil((d.getTime()-hoy.getTime())/(mseg_dia))

	if (dias < n) {
		//alert("No se admiten reservas con una antelación inferior a " + n.toString() + " días." + "\n" + "Consulta otra posibilidad en el +34 954475605")
		alert("Fecha de salida debe ser posterior a fecha de entrada")
		return (false)
	}
	

	return (true)

}


function checkfechaentradaysalidavalida (fentrada,fsalida) {
	
	var dentrada = new Date()
	var dsalida = new Date()
	var mseg_dia=1000*60*60*24
    var dias
	var hoy=new Date()

	dentrada.setFullYear("20"+fentrada.substring(6,8), fentrada.substring(3,5)-1, fentrada.substring(0,2))
	dsalida.setFullYear("20"+fsalida.substring(6,8), fsalida.substring(3,5)-1, fsalida.substring(0,2))
	
    dias = Math.ceil((dsalida.getTime()-dentrada.getTime())/(mseg_dia))

	if (dias < 1) {
		alert("Fecha de salida debe ser posterior a fecha de entrada ")
		return (false)
	} else if (dias > 7) {
		alert("No se admiten reservas superiores a 7 noches ")
		return (false)
	}

	dias = Math.ceil((dentrada.getTime()-hoy.getTime())/(mseg_dia))
	if (dias > 180) {
		alert("No se admiten reservas con antelación superior a 6 meses ")
		return (false)
	}

	return (true)
}


function checkcamposnovacios (fo) {

	for (i = 0; i < fo.elements.length; i++) {
		if (fo.elements[i].type == "text" && fo.elements[i].value == "") { 
			alert("Debes completar todos los campos")
			fo.elements[i].focus()
			return (false)
		}
	}
	return (true)
}


// Acepta letras o espacios
function checkcampoalfabetico(str) {
	
    var stringPattern = /^[A-Za-zÁ-Úá-ú ]*$/;
    return stringPattern.test(str);

}


// Sólo acepta números
function checkcamponumerico(str) {
	
    var stringPattern = /^[0-9]*$/;
    return stringPattern.test(str);

}


function checkemail(Cadena) {

	Punto = Cadena.substring(Cadena.lastIndexOf('.') + 1, Cadena.length)				// Cadena del .com
	Dominio = Cadena.substring(Cadena.lastIndexOf('@') + 1, Cadena.lastIndexOf('.')) 	// Dominio @dominio.com
	Usuario = Cadena.substring(0, Cadena.lastIndexOf('@'))								// Cadena usuario@
	Reserv = "@/º$|%&ª¬()=ç'+*{}\<>?¿[]áéíóú#·¡!^*;,:"									// Letras Reservadas no permitidas
	

	// verifica que el Usuario no tenga un caracter especial
	for (var Cont=0; Cont<Usuario.length; Cont++) {
		X = Usuario.substring(Cont,Cont+1)
		if (Reserv.indexOf(X)!=-1) {
			return false
		}

	}

	// verifica que el Punto no tenga un caracter especial
	for (var Cont=0; Cont<Punto.length; Cont++) {
		X=Punto.substring(Cont,Cont+1)
		if (Reserv.indexOf(X)!=-1) {
			return false
		}
	}
                        
	// verifica qie el Dominio no tenga un caracter especial
	for (var Cont=0; Cont<Dominio.length; Cont++) {
		X=Dominio.substring(Cont,Cont+1)
		if (Reserv.indexOf(X)!=-1)
			return false
		}

	// Verifica la sintaxis básica.....
	if (Punto.length<2 || Dominio <1 || Cadena.lastIndexOf('.')<0 || Cadena.lastIndexOf('@')<0 || Usuario<1) {
		return false
	}
	
	return true
	
}

function ocultaimagen(img){

	img.style.display = "none"
}
