

//validatie 



function validate(){



	var frm = document.forms[0];

		

	var aanhef = '';

	

	for (var i = 0; i< frm['aanhef'].length; i++){

	    if (frm['aanhef'][i].checked){

	      aanhef = frm['aanhef'][i].value;

	     }

	}

	

	var size = frm['size'].value;

	var voorletters = frm['voorletters'].value;

	var achternaam = frm['achternaam'].value;

	var hh_gb_dag = frm['hh_gb_dag'].value;

	var hh_gb_maand = frm['hh_gb_maand'].value;

	var hh_gb_jaar = frm['hh_gb_jaar'].value;

	var adres = frm['adres'].value;

	var nummer = frm['nummer'].value;

	var postcode = frm['postcode'].value;

	var plaats = frm['plaats'].value;

	var land = frm['land'].value;

	var telefoon = frm['telefoon'].value;

	var mobiel = frm['mobiel'].value;

	var email = frm['email'].value;

	

		

	var dag = '';

	var maand = '';

	var jaar = '';

	var dag_ = 0;

	var maand_ = 0;

	var jaar_ = 0;

	

	for( var i = 0; i < size; i++){

	

		dag = frm['adag['+i+']'].value;

		if (dag != '') var dag_ = 1;

		maand = frm['amaand['+i+']'].value;

		if (maand != '') var maand_ = 1;

		jaar = frm['ajaar['+i+']'].value;

		if (jaar != '') var jaar_ = 1;

	}

	

	if (dag_ == 0) {

		alert('Seleccionar, por favor,el día de llegada');

        return false;

	}

	else if (maand_ == 0) {

		alert('Seleccionar, por favor,el mes de llegada');

        return false;

	}

	else if (jaar_ == 0) {

		alert('Seleccionar, por favor,el año de llegada');

        return false;

	}

		

	for (i = 0; i < size; i++){		

		

		var huisnaam = frm['huisnaam[' + i + ']'].value;

		var adag = frm['adag[' + i + ']'].value; 

		var amaand = frm['amaand[' + i + ']'].value; 

		var ajaar = frm['ajaar[' + i + ']'].value; 

		

		var vdag = frm['vdag[' + i + ']'].value; 

		var vmaand = frm['vmaand[' + i + ']'].value; 

		var vjaar = frm['vjaar[' + i + ']'].value; 

		

		var aantal = frm['aantal[' + i + ']'].value; 

		

	   

	   if (adag == '' && amaand != '' && ajaar != ''){

           alert('Seleccionar, por favor,el día de llegada ' + huisnaam + '.');

		   frm['adag[' + i + ']'].focus();

           return false;

       }

	   

	   else if (adag != '' && amaand == '' && ajaar != ''){

           alert('Seleccionar, por favor,el mes de llegada ' + huisnaam + '.');

		   frm['amaand[' + i + ']'].focus();

           return false;

       }

	   

	   else if (adag != '' && amaand != '' && ajaar == ''){

           alert('Seleccionar, por favor,el año de llegada ' + huisnaam + '.');

		   frm['ajaar[' + i + ']'].focus();

           return false;

       }

	   

	   else if (adag != '' && amaand != '' && ajaar != '' && vdag == ''){

           alert('Seleccionar, por favor,el día de salida ' + huisnaam + '.');

		   frm['vdag[' + i + ']'].focus();

           return false;

       }

	   

	   else if (adag != '' && amaand != '' && ajaar != '' && vmaand == ''){

           alert('Seleccionar, por favor,el mes de salida ' + huisnaam + '.');

		   frm['vmaand[' + i + ']'].focus();

           return false;

       }

	   

	   else if (adag != '' && amaand != '' && ajaar != '' && vjaar == ''){

           alert('Seleccionar, por favor,el año de salida ' + huisnaam + '.');

		   frm['vjaar[' + i + ']'].focus();

           return false;

       }

	   

	   else if (vdag == '' && vmaand != '' && vjaar != ''){

           alert('Seleccionar, por favor,el día de salida ' + huisnaam + '.');

		   frm['vdag[' + i + ']'].focus();

           return false;

       }

	   

	   else if (vdag != '' && vmaand == '' && vjaar != ''){

           alert('Seleccionar, por favor,el mes de salida  ' + huisnaam + '.');

		   frm['vmaand[' + i + ']'].focus();

           return false;

       }

	   

	   else if (vdag != '' && vmaand != '' && vjaar == ''){

           alert('Seleccionar, por favor,el año de salida  ' + huisnaam + '.');

		   frm['vjaar[' + i + ']'].focus();

           return false;

       }

	   

	   else if (vdag != '' && vmaand != '' && vjaar != '' && (adag == '' || amaand == '' || ajaar == '')){

           alert('Seleccionar, por favor,el día de llegada ' + huisnaam + '.');

		   frm['adag[' + i + ']'].focus();

           return false;

       }

	   

	   else if (adag != '' && amaand != '' && ajaar != '' && aantal == 0){

           alert('Seleccionar,por favor, el número de personas para ' + huisnaam + '.');

		   frm['aantal[' + i + ']'].focus();

           return false;

       }

	   

	   else if (vdag != '' && vmaand != '' && vjaar != '' && aantal == 0){

           alert('Seleccionar,por favor, el número de personas para ' + huisnaam + '.');

		   frm['aantal[' + i + ']'].focus();

           return false;

       }

	}

	

	// validatie minimaal aantal nachten

	

	for (i = 0; i < size; i++)
	{	
		var huisnaam = frm['huisnaam[' + i + ']'].value;
		var huisID = frm['huis_id[' + i + ']'].value;

		var adag = frm['adag[' + i + ']'].value; 
		var amaand = frm['amaand[' + i + ']'].value; 
		var ajaar = frm['ajaar[' + i + ']'].value; 
		ajaar = Number(ajaar);

		var vdag = frm['vdag[' + i + ']'].value; 
		var vmaand = frm['vmaand[' + i + ']'].value; 
		var vjaar = frm['vjaar[' + i + ']'].value; 		

		if (adag != '' && amaand != '' && ajaar != '' && vdag != '' && vmaand != '' && vjaar != '')
		{
			// correctie maandwaarde 0  - 11	
			var date_a = new Date(ajaar, amaand - 1, adag);
			var date_v = new Date(vjaar, vmaand - 1, vdag);	

			var tmp_a = date_a.getTime();  // timestamp aankomst
			var tmp_v = date_v.getTime();  // timestamp vertrek

			var aantal_dagen = ((tmp_v - tmp_a) / 1000) / (60 * 60 * 24);
			aantal_dagen = Math.round(aantal_dagen);			
			var tmp_zn = 60 * 60 * 24 * 7 * 1000;  // aantal milisecondes in zeven dagen			

			// timestamps periode 1/7 tot 31/8, bj begin juli tot ea eind augustus
			var obj_bj = new Date(ajaar, 6, 1);
			var obj_ea = new Date(ajaar, 7, 31);

			var tmp_bj = obj_bj.getTime();	
			var tmp_ea = obj_ea.getTime();

			// timestamp kerstdagen 25 en 26 december, ek eerste kerstdag en tk tweede kerstdag
			var obj_ek = new Date(ajaar, 11, 25);
			var obj_tk = new Date(ajaar, 11, 26);

			var tmp_ek = obj_ek.getTime();	
			var tmp_tk = obj_tk.getTime();	

			// timestamp oudjaar en nieuwjaar, oj en nj	
			var nieuwjaar = ajaar + 1;
			var obj_oj = new Date(ajaar, 11, 31);

			var obj_nj = new Date(nieuwjaar, 0, 1);
			var tmp_oj = obj_oj.getTime();	

			var tmp_nj = obj_nj.getTime();			

			// controleer of de boeking binnen de zomer periode valt
			if ((tmp_a >= tmp_bj && tmp_a <= tmp_ea) && (tmp_v >= tmp_bj && tmp_v <= tmp_ea)) // aankomst en vertrek binnen de periode
			{ 
				// minimaal 7 nachten
				if (aantal_dagen < 7) 
				{
					alert(huisnaam + ': Desde el 1 de julio hasta el 31 de agosto visita mínima siete noches.');
					frm['adag['+i+']'].focus();
          			return false;	
				}	
			}
			else if (tmp_v == tmp_ek || tmp_v == tmp_tk)
			{ // kerst
				alert(huisnaam + ': Festivos de diciembre, tres noches.');
				frm['adag['+i+']'].focus();
          		return false;	
			}
			else if (tmp_a <= tmp_ek && tmp_v >= tmp_tk)
			{ // kerst
				// minimaal 3 nachten
				if (aantal_dagen < 3) 
				{
					alert(huisnaam + ': Festivos de diciembre, tres noches.');
					frm['adag['+i+']'].focus();
          			return false;		
				}
			}
			else if (tmp_a <= tmp_oj && tmp_v >= tmp_nj)
			{ // nieuwjaar
				// minimaal 3 nachten

				if (aantal_dagen < 3) 
				{
					alert(huisnaam + ': Festivos de diciembre, tres noches.');
					frm['adag['+i+']'].focus();
          			return false;		
				}
			}
			else if(aantal_dagen < 2 && huisID != 7) 
			{
				alert(huisnaam + ': Visita mínima dos noches.');
				frm['adag['+i+']'].focus();
          		return false;
			}	
			else if(aantal_dagen < 3 && huisID == 7) // Casa Estrella minimum three nights
			{
				alert(huisnaam + ': Visita mínima tres noches.');
				frm['adag['+i+']'].focus();
          		return false;	
			}	
		}
	}

	

	// validatie persoonsgegevens en gegevens medehuurders 	

	   

	  if(aanhef == ""){

            alert ("Rellena, por favor, título.");

            frm['aanhef'][0].focus();

            return false;

        }

		else if (voorletters == ""){

            alert ("Rellena, por favor, iniciales nombre.");

            frm['voorletters'].focus();

            return false;

        }		

		else if (achternaam == ""){

            alert ("Rellena, por favor, apellidos.");

            frm['achternaam'].focus();

            return false;

        }		

		else if (hh_gb_dag == ""){

            alert ("Rellena, por favor,día de nacimento persona de contacto.");

            frm['hh_gb_dag'].focus();

            return false;

        }	

		else if (hh_gb_maand == ""){

            alert ("Rellena, por favor, mes de nacimiento persona de contacto.");

            frm['hh_gb_maand'].focus();

            return false;

        }

		else if (hh_gb_jaar == ""){

            alert ("Rellena, por favor,año de nacimiento persona de contacto.");

            frm['hh_gb_jaar'].focus();

            return false;

        }

		else if (adres == ""){

            alert ("Rellena, por favor, la dirección.");

            frm['adres'].focus();

            return false;

        }

		else if (nummer == ""){

            alert ("Rellena, por favor, el número.");

            frm['nummer'].focus();

            return false;

        }

		else if (postcode == ""){

            alert ("Rellena, por favor,el código postal.");

            frm['postcode'].focus();

            return false;

        }

		else if (plaats == ""){

            alert ("Rellena, por favor,la ciudad.");

            frm['plaats'].focus();

            return false;

        }

		else if (email == ""){

            alert ("Rellena , por favor,el correo electrónico.");

            frm['email'].focus();

            return false;

       }

		else if (telefoon == '' && mobiel == ''){

            alert ("Rellena, por favor, el número de teléfono o el número de movil.");

            frm['telefoon'].focus();

            return false;

       } 

	     

		if(frm.email.value.indexOf("@") == -1){

			alert("Si no ha escrito @ en su correo electrónico no puede reservar.");

			frm['email'].focus();

			return(false);

		} 	

}

	