//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; // aantal boekingen
	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('Wählen Sie Ankunftstag');
        return false;
	}

	else if (maand_ == 0) 
    {
		alert('Wählen Sie Ankunftsmonat');
        return false;
	}
	else if (jaar_ == 0) 
    {
		alert('Wählen Sie Ankunftsjahr');
        return false;
	}	

	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; 		

		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('Wählen Sie Ankunftstag ' + huisnaam + '.');
		   frm['adag[' + i + ']'].focus();
           return false;
       }
	   else if (adag != '' && amaand == '' && ajaar != '')
       {
           alert('Wählen Sie Ankunftsmonat ' + huisnaam + '.');
		   frm['amaand[' + i + ']'].focus();
           return false;
       }
	   else if (adag != '' && amaand != '' && ajaar == '')
       {
           alert('Wählen Sie Ankunftsjahr ' + huisnaam + '.');
		   frm['ajaar[' + i + ']'].focus();
           return false;
       }
	   else if (adag != '' && amaand != '' && ajaar != '' && vdag == '')
       {
           alert('Wählen Sie Abreisetag ' + huisnaam + '.');
		   frm['vdag[' + i + ']'].focus();
           return false;
       }
	   else if (adag != '' && amaand != '' && ajaar != '' && vmaand == '')
       {
           alert('Wählen Sie Abreisemonat ' + huisnaam + '.');
		   frm['vmaand[' + i + ']'].focus();
           return false;
       }
	   else if (adag != '' && amaand != '' && ajaar != '' && vjaar == '')
       {
           alert('Wählen Sie Abreisejahr ' + huisnaam + '.');
		   frm['vjaar[' + i + ']'].focus();
           return false;
       }
	   else if (vdag == '' && vmaand != '' && vjaar != '')
       {
           alert('Wählen Sie Abreisetag ' + huisnaam + '.');
		   frm['vdag[' + i + ']'].focus();
           return false;
       }
	   else if (vdag != '' && vmaand == '' && vjaar != '')
       {
           alert('Wählen Sie Abreisemonat  ' + huisnaam + '.');
		   frm['vmaand[' + i + ']'].focus();
           return false;
       }
	   else if (vdag != '' && vmaand != '' && vjaar == '')
       {
           alert('Wählen Sie Abreisejahr  ' + huisnaam + '.');
		   frm['vjaar[' + i + ']'].focus();
           return false;
       }
	   else if (vdag != '' && vmaand != '' && vjaar != '' && (adag == '' || amaand == '' || ajaar == ''))
       {
           alert('Wählen Sie Abreisetag ' + huisnaam + '.');
		   frm['adag[' + i + ']'].focus();
           return false;
       }
	   else if (adag != '' && amaand != '' && ajaar != '' && aantal == 0)
       {
           alert('Wählen Sie Anzahl der Personen ' + huisnaam + '.');
		   frm['aantal[' + i + ']'].focus();
           return false;
       }
	   else if (vdag != '' && vmaand != '' && vjaar != '' && aantal == 0)
       {
           alert('Wählen Sie Anzahl der Personen ' + huisnaam + '.');
		   frm['aantal[' + i + ']'].focus();
           return false;
       }
	}	   
    
    var today = new Date();
    var blokjaar = today.getFullYear();

	/**
    * validatie verplicht aantal nachten
    * kerstperiode 18/12 02/01 een week
    * 19 febr 28 febr 2011 een week
    * vanaf 16 april tot 8 mei 2011 een week
    * 28 okt tot 1 nov 2011 is 4 nachten
    * 2 tot 8 dec 2011 is 6 nachten 
    */    
          
    // timestamps 19 febr - 28 febr minimaal een week
    /* uitgezet 21/1/2011
    var obj_bfeb = new Date(blokjaar, 1, 19);
    var obj_efeb = new Date(blokjaar, 1, 28);
    var tmp_bfeb = obj_bfeb.getTime();
    var tmp_efeb = obj_efeb.getTime();	
    */
    // timestamps lente: 16 april - 8 mei minimaal een week
    /* uitgezet 21/1/2011
    var obj_blente = new Date(blokjaar, 3, 16);
    var obj_elente = new Date(blokjaar, 4, 8);
    var tmp_blente = obj_blente.getTime();
    var tmp_elente = obj_elente.getTime();	
    */
    // timestamps puente oktober: 28 oktober - 1 nov  4 nachten
    var obj_bp_okt = new Date(blokjaar, 9, 28);
    var obj_ep_okt = new Date(blokjaar, 10, 1);
    var tmp_bp_okt = obj_bp_okt.getTime();
    var tmp_ep_okt = obj_ep_okt.getTime();	
          
    // timestamps puente dec: 2 december - 8 december 6 nachten
    var obj_bp_dec = new Date(blokjaar, 11, 2);
    var obj_ep_dec = new Date(blokjaar, 11, 8);
    var tmp_bp_dec = obj_bp_dec.getTime();
    var tmp_ep_dec = obj_ep_dec.getTime();
    
    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);
		  var tmp_zn = 60 * 60 * 24 * 7 * 1000;  // aantal milisecondes in zeven dagen			

		  // timestamps zomerperiode 1/7 tot 31/8, bj begin juli tot eind augustus
		  var obj_bzomer = new Date(ajaar, 6, 1);
		  var obj_ezomer = new Date(ajaar, 7, 31);
		  var tmp_bzomer = obj_bzomer.getTime();
		  var tmp_ezomer = obj_ezomer.getTime();	

		  // timestamps kerstperiode 18 dec. - 02 jan. minimaal een week
		  var obj_bkerst = new Date(ajaar, 11, 18);      
          var nieuwjaar = ajaar + 1;
		  var obj_ekerst = new Date(nieuwjaar, 0, 2);
		  var tmp_bkerst = obj_bkerst.getTime();	
		  var tmp_ekerst = obj_ekerst.getTime();	

		  /*
          * controle zomer periode
          * uitgezet 11/7/2011
		  if ((tmp_a >= tmp_bzomer && tmp_a <= tmp_ezomer) && (tmp_v >= tmp_bzomer && tmp_v <= tmp_ezomer)) // aankomst en vertrek binnen de periode
		  { 
			 if (aantal_dagen < 7) 				
			 {
				alert(huisnaam + ': Von 1 Juli bis 31 August Mindesaufenthalt eine Woche.');
				frm['adag['+i+']'].focus();
          		return false;		
			}	
		  }
          */
          // controle kerstperiode 18/12 02/01
          /**
          if ((tmp_a >= tmp_bkerst && tmp_a <= tmp_ekerst) && (tmp_v >= tmp_bkerst && tmp_v <= tmp_ekerst))
          {
			if (aantal_dagen < 7) 				
			{
				alert(huisnaam + ': Weihnachten und Neujahr Mindesaufenthalt eine Woche.');
				frm['adag['+i+']'].focus();
          		return false;		
			}
          }
          */
          // controle periode februari 19/02 28/02
          /** uitgezet 21/01/2011
		  else if ((tmp_a >= tmp_bfeb && tmp_a <= tmp_efeb) && (tmp_v >= tmp_bfeb && tmp_v <= tmp_efeb))
          {
			if (aantal_dagen < 7) 				
			{
				alert(huisnaam + ': Von 19 Februar bis 28 Februar Mindesaufenthalt eine Woche.');
				frm['adag['+i+']'].focus();
          		return false;		
			}
          }
          // controle periode lente 16 april - 8 mei
		  else if ((tmp_a >= tmp_blente && tmp_a <= tmp_elente) && (tmp_v >= tmp_blente && tmp_v <= tmp_elente))
          {
			if (aantal_dagen < 7) 				
			{
				alert(huisnaam + ': Von 16 April bis 8 Mai Mindesaufenthalt eine Woche.');
				frm['adag['+i+']'].focus();
          		return false;		
			}
          }
          */
          // controle puente oktober 28 oktober - 1 nov  4 nachten
		  if ((tmp_a >= tmp_bp_okt && tmp_a <= tmp_ep_okt) && (tmp_v >= tmp_bp_okt && tmp_v <= tmp_ep_okt))
          {
			if (aantal_dagen < 4) 				
			{
				alert(huisnaam + ': Von 28 Oktober bis 1 November Mindesaufenthalt vier Abende.');
				frm['adag['+i+']'].focus();
          		return false;		
			}
          }
          
          /** uitgezet 27/01/2011
          // controle puente december 2 december - 8 december 6 nachten
		  else if ((tmp_a >= tmp_bp_dec && tmp_a <= tmp_ep_dec) && (tmp_v >= tmp_bp_dec && tmp_v <= tmp_ep_dec))
          {
			if (aantal_dagen < 6) 				
			{
				alert(huisnaam + ': Von 2 December bis 8 December Mindesaufenthalt sechs Abende.');
				frm['adag['+i+']'].focus();
          		return false;		
			}
          }
          */
		  else if(aantal_dagen < 2 && huisID != 7) 
		  {
			alert(huisnaam + ': Mindesaufenthalt zwei Abende.'); // Minimum two nights except Casa Estrella 
			frm['adag['+i+']'].focus();
          	return false;	
		  }
		  else if(aantal_dagen < 3 && huisID == 7) // Casa Estrella minimum three nights
		  {
			alert(huisnaam + ': Mindesaufenthalt drei Abende.');
			frm['adag['+i+']'].focus();
          	return false;	
		  }	
	  }	
    }

	// validatie persoonsgegevens en gegevens medehuurders
    if(aanhef == "")
    {
        alert ("Wählen Sie Anrede.");
        frm['aanhef'][0].focus();
        return false;
    }
    else if (voorletters == "")
    {
        alert ("Wählen Sie Initialen");
        frm['voorletters'].focus();
        return false;
    }
    else if (achternaam == "")
    {
        alert ("Wählen Sie Nachname");
        frm['achternaam'].focus();
        return false;
    }
    else if (hh_gb_dag == "")
    {
        alert ("Wählen Sie Geburtstag des Hauptgastes");
        frm['hh_gb_dag'].focus();
        return false;
    }
    else if (hh_gb_maand == "")
    {
        alert ("Wählen Sie Geburtsmonat des Hauptgastes");
        frm['hh_gb_maand'].focus();
        return false;
    }
    else if (hh_gb_jaar == "")
    {
        alert ("Wählen Sie Geburtsjahr des Hauptgastes");
        frm['hh_gb_jaar'].focus();
        return false;
    }
    else if (adres == "")
    {
        alert ("Wählen Sie Adresse");
        frm['adres'].focus();
        return false;
    }
    else if (nummer == "")
    {
        alert ("Wählen Sie Hausnummer");
        frm['nummer'].focus();
        return false;
    }
	else if (postcode == "")
    {
        alert ("Wählen Sie PLZ");
        frm['postcode'].focus();
        return false;
    }
    else if (plaats == "")
    {
        alert ("Wählen Sie Stadt");
        frm['plaats'].focus();
        return false;        
    }
    else if (email == "")
    {
        alert ("Wählen Sie Email");
        frm['email'].focus();
        return false;
    }
    else if (telefoon == '' && mobiel == '')
    {
        alert ("Wählen Sie Telefon oder Handy");
        frm['telefoon'].focus();
        return false;
    } 
    
    if(frm.email.value.indexOf("@") == -1)
    {
        alert("Email falsch");			
        frm['email'].focus();
        return(false);
    } 
}

	
