function getDiasMes(mes, anio) {
	//DEVUELVE la cantidad de días del mes del año que pasamos como parametro
	switch (mes) {
		case 0: return 31; break;
		case 1: if (anio % 4 == 0) {
					if (anio % 400 == 0){
						return 29;
					} else {
						if (anio % 100 == 0){
							return 28;
						} else {
							return 29;
						}
					}
				} else {
					return 28;
				}; break;
		case 2: return 31; break;
		case 3: return 30; break;
		case 4: return 31; break;
		case 5: return 30; break;
		case 6: return 31; break;
		case 7: return 31; break;
		case 8: return 30; break;
		case 9: return 31; break;
		case 10: return 30; break;
		case 11: return 31; break;
	} 
}

function recalcDateDiff() {
	//DEVUELVE  el numero de noches. 
	var firstDay = document.reservar.llegada.value.substr(0,2);
	var secondDay = document.reservar.salida.value.substr(0,2);
	var firstMonth = document.reservar.llegada.value.substr(3,2);
	var secondMonth = document.reservar.salida.value.substr(3,2);
	var firstYear = document.reservar.llegada.value.substr(6,4);
	var secondYear = document.reservar.salida.value.substr(6,4);
	var firstDate = new Date(firstYear,firstMonth, firstDay);
	var secondDate = new Date(secondYear,secondMonth, secondDay);
	var daysDiff = (secondDate.valueOf() - firstDate.valueOf());
	
	daysDiff = (((daysDiff  / 1000) / 60) / 60) / 24;
	document.getElementById('noches').readonly = false;
	document.getElementById('noches').value=daysDiff;
	if (daysDiff <= 0) {	
		alert ("Debe especificar al menos una noche");	
		document.getElementById('noches').value=0;
	}	
	document.getElementById('noches').readonly = true;
	return true;
}

function ponerFecha() {
	// se pone en el onload del body, carga los values de los text.
	var i = 1;
	f = new Date();
	d = f.getDate();
	m = f.getMonth() + 1;
	a = f.getFullYear();
	diasmes = getDiasMes(m,a);
	m1 = m;
	a1 = a;
	d1 = d + 3;
	if (d1>diasmes) {		
		d1 = d1 - diasmes;
		m1 = m1 + 1;
		if (m1 > 12) {
			m1 = 1;
			a1 = a1 + 1;		
		}
	}

	if (String(m).length==1) { m = "0"+ m; }
	if (String(m1).length==1) { m1 = '0' + m1; }
	if (String(d).length==1) { d = '0' + d; }
	if (String(d1).length==1) { d1 = '0' + d1; }
	
	document.getElementById('llegada').value= d + "-" + m + "-" + a;
	document.getElementById('salida').value= d1 + "-" + m1 + "-" + a1;
	//document.getElementById('noches').value=3;
	//document.getElementById('adultos').value=2;
	//document.getElementById('nenes').value=0;
	//document.getElementById('bebes').value=0;	
	return 0

}

function fecha_valida(f,noc,adu) {

	//DEVUELVE lsi la fecha es valida y si hay noches y adultos.
	var error = 0;
	/* la forma de verificar el formato es la que ya comentamos */
	re=/^[0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]$/

	if(f.length==0 || !re.exec(f)) {
		alert("La fecha no tiene formato correcto. [dd-mm-aaaa]");
		error = 1;
	}

	var d = new Date()
	d.setFullYear(f.substring(6,10), f.substring(3,5)-1, f.substring(0,2))
	noc = parseInt(noc);
	adu = parseInt(adu);
	if (noc.length==0 || isNaN(noc)) { error=1; alert ('Debe especificar un número de noches'); }
	if (adu.length==0 || isNaN(adu)) { error=1; alert ('Debe especificar un número de adultos'); }

	return error
}

 

function reservar_ya() {
	//Para poner en el submit del form
	var verdadero = recalcDateDiff();
	document.reservar.action = 'http://www.hotelan.com/reservasonline/modulo/reservasonline.php';
    if ( fecha_valida (document.reservar.llegada.value, document.reservar.noches.value, document.reservar.adultos.value) == 0)
		document.reservar.submit();
}

function buscarDisponibilidad() {
	document.getElementById('noches').readonly = false;
	if (recalcDateDiff()) document.reservar.submit();
}