function ValidarReserva() {
	limpio = limpia(document.FormCentralReservas.nombre.value);
	if (limpio == "") {
		alert("Introduzca su nombre");
		document.FormCentralReservas.nombre.focus();
		return (false);
	}
	limpio = limpia(document.FormCentralReservas.apellidos.value);
	if (limpio == "") {
		alert("Introduzca sus apellidos");
		document.FormCentralReservas.apellidos.focus();
		return (false);
	}
	limpio = limpia(document.FormCentralReservas.telefono.value);
	if (limpio == "") {
		alert("Introduzca su teléfono de contacto");
		document.FormCentralReservas.telefono.focus();
		return (false);
	}
	limpio = limpia(document.FormCentralReservas.email.value);
	if (limpio == "") {
		alert("Introduzca su dirección de correo electrónico");
		document.FormCentralReservas.email.focus();
		return (false);
	}

	// Date(anio,mes,dia,hora,min,seg)
	hoy = new Date();
	miFecha = new Date(document.FormCentralReservas.anio.value,document.FormCentralReservas.mes.value-1,document.FormCentralReservas.dia.value, hoy.getHours(), hoy.getMinutes(), hoy.getSeconds());
	miFechaRed = new Date(document.FormCentralReservas.anio.value,document.FormCentralReservas.mes.value-1,document.FormCentralReservas.dia.value, 0, 0, 0);
	inicioVac = new Date(2009,8-1,1, 0, 0, 0);
	finVac = new Date(2009,8-1,31, 23, 59, 59);

	festivos = new Array(
		new Date(2009,1-1,1,0,0,0),
		new Date(2009,1-1,6,0,0,0),
		new Date(2009,4-1,9,0,0,0),
		new Date(2009,4-1,10,0,0,0),
		new Date(2009,4-1,11,0,0,0),
		new Date(2009,5-1,1,0,0,0),
		new Date(2009,5-1,2,0,0,0),
		new Date(2009,10-1,12,0,0,0),
		new Date(2009,11-1,9,0,0,0),
		new Date(2009,12-1,24,0,0,0),
		new Date(2009,12-1,31,0,0,0)
		)

	for (i=0; i<festivos.length; i++ ){
		//alert(festivos[i] + " - " + miFechaRed);
		if ((festivos[i].getTime())/86400000 == (miFechaRed.getTime())/86400000){
			alert("El día seleccionado es festivo por lo que Restaurante Alboroque permanecerá cerrado.\nPor favor, elija una fecha válida.");
			return(false);
		}
	}

	completo = new Array(
		new Date(2009,2-1,14,0,0,0)
		)
		
	for (i=0; i<completo.length; i++ ){
		//alert(festivos[i] + " - " + miFechaRed);
		if ((completo[i].getTime())/86400000 == (miFechaRed.getTime())/86400000){
			alert("Lo sentimos pero el Restaurante Alboroque está completo para la fecha indicada.");
			return(false);
		}
	}

	if ((miFecha.getTime() - hoy.getTime()) < 0) {
		alert("Introduzca una fecha posterior al día de hoy");
		return(false);
	}

	if ((miFecha.getTime() - finVac.getTime()) < 0 && (miFecha.getTime() - inicioVac.getTime()) > 0) {
		alert("El restaurante Alboroque permanecerá cerrado el mes de Agosto,\npara reabrir sus puertas el 1 de Septiembre.\nDisculpen las molestias");
		return(false);
	}

	// los lunes (1) y domingos (0) no se puede reservar Alboroque
	if (miFecha.getDay() == 0) {
		alert("Los domingo y días festivos, Restaurante Alboroque permanece cerrado.\nPor favor, elija una fecha válida.");
		return(false);
	}

	if ((miFecha.getDay() == 6) && (document.FormCentralReservas.hora.value < "2")) {
		alert("Los sábados, Restaurante Alboroque únicamente ofrece cenas.\nPor favor, elija una hora válida.");
		return(false);
	}
	
	limpio = limpia(document.FormCentralReservas.hora.value);
	if (limpio == "") {
		alert("Introduzca la hora de su reserva");
		document.FormCentralReservas.hora.focus();
		return (false);
	}
	limpio = limpia(document.FormCentralReservas.personas.value);
	if (limpio == "") {
		alert("Introduzca el número de personas para las que realiza la reserva");
		document.FormCentralReservas.personas.focus();
		return (false);
	}
	return (true);
}

function limpia(entry) {
  out = " "; // reemplazar lel espacio en blanco
  add = ""; // por vacio
  temp = "" + entry;

  while (temp.indexOf(out)>-1) {
	pos= temp.indexOf(out);
	temp = "" + (temp.substring(0, pos) + add + 
	temp.substring((pos + out.length), temp.length));
  }
  return(temp);
}