
function getDiasMes(mes, anio){
//regresa 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()
{
  var firstDay = document.reservar.Fecha_entrada.value.substr(0,2);
  var secondDay = document.reservar.Fecha_salida.value.substr(0,2);
  var firstMonth = document.reservar.Fecha_entrada.value.substr(3,2);
  var secondMonth = document.reservar.Fecha_salida.value.substr(3,2);
  var firstYear = document.reservar.Fecha_entrada.value.substr(6,4);
  var secondYear = document.reservar.Fecha_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.reservar.noches.value = daysDiff;

  if (daysDiff <= 0)
  {
	  alert ("Debe especificar al menos una noche");
	  document.reservar.noches.value = 0;
  }
  return true;
}




function ponerFecha()
{
	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.reservar.Fecha_entrada.value = d + "-" + m + "-" + a;
	document.reservar.Fecha_salida.value = d1 + "-" + m1 + "-" + a1;
	document.reservar.noches.value = 3;
	document.reservar.adultos.value = 2;
	document.reservar.nenes.value = 0;
	document.reservar.bebes.value = 0;
	return 0
}


function fecha_valida(f,noc,adu)
{
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()
{
	document.reservar.action = "http://www.hotelan.com/reservasonline/modulo/reservasonline.php";
	document.reservar.target = "reservas";
	var verdadero = recalcDateDiff();
	document.reservar.llegada.value = document.reservar.Fecha_entrada.value;
	if ( fecha_valida (document.reservar.llegada.value, document.reservar.noches.value, document.reservar.adultos.value) == 0)
		document.reservar.submit();
}




