//validatie 
function validate()
{    
    var frm = document.forms[0];
    // aantal geboekt objecten
    var aantal_objecten = frm['aantal_objecten'].value;	
    
	var voornaam = frm['voornaam'].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 email2 = frm['email2'].value;
    
    // opslag foutmeldingen
    var msg = '';
    
	// valideren aantal medehuurders
    var arr_aantal = new Array();
    
    // timestamp vandaag
    var now = new Date();
    var dag = now.getDate();
    var maand = now.getMonth();
    maand++;
    var jaar = now.getFullYear();
	
	var teller = 1;
	
	for (i = 0; i < aantal_objecten; i++)
	{	
		var aankomst = frm['aankomst'+i].value;
        var vertrek = frm['vertrek'+i].value;		
		var aantal = frm['aantal['+i+']'].value; 
		
		if (aantal == 1) var no_check = 1; // geen validatie aantal medehuurders
        
        if (aantal == '')
        {
            msg = 'Aantal personen ontbreekt';
            fieldfocus = frm['aantal['+i+']'];
            write_msg(msg,fieldfocus);
            return false;
        }
            
        // aantal vgl met aantal medehuurders
        // aantal verminderen met 1 = hoofdhuurder
        aantal--;
        arr_aantal[i] = aantal;
            
        if (aankomst != '')
        {    
            // format dd/mm/yyyy 
            var arr_aankomst = aankomst.split('/'); 
            var arr_length = arr_aankomst.length;
            if (arr_length == 3)
            {
                var adag = arr_aankomst[0];
                var amaand = arr_aankomst[1];
                var ajaar = arr_aankomst[2];
            
                if (ajaar.length != 4)
                {
                    msg = 'Jaartal aankomst is onjuist';
                    fieldfocus = frm['aankomst'+i]
                    write_msg(msg,fieldfocus);
                    write_msg(msg);
                    return false;
                }
        
                adag = parseInt(adag, 10);
                amaand = parseInt(amaand, 10);
                ajaar = parseInt(ajaar, 10);
                    
                //alert(adag+'/'+amaand+'/'+ajaar+' ; '+dag+'/'+maand+'/'+jaar);
            
                if (isNaN(adag) || isNaN(amaand) || isNaN(ajaar))
                {
                    msg = 'Datum aankomst is onjuist';
                    fieldfocus = frm['aankomst'+i]
                    write_msg(msg,fieldfocus);
                    return false;
                }
                else if(amaand > 12)
                {
                    msg = 'Datum aankomst is onjuist';
                    fieldfocus = frm['aankomst'+i]
                    write_msg(msg,fieldfocus);
                    return false;
                }
                else if(adag > 31)
                {
                   msg = 'Datum aankomst is onjuist';
                    fieldfocus = frm['aankomst'+i]
                    write_msg(msg,fieldfocus);
                   return false;
                }
            }
            else
            {
                msg = 'Datum aankomst is onjuist';
                fieldfocus = frm['aankomst'+i]
                write_msg(msg,fieldfocus);
                return false;
            }                
                
            // aankomst niet voor vandaag
            if ( ajaar < jaar || (adag < dag && amaand == maand && ajaar == jaar) || (amaand < maand  && ajaar == jaar) )
            {
               msg = 'Datum aankomst vòòr vandaag';
               fieldfocus = frm['aankomst'+i]
               write_msg(msg,fieldfocus);
               return false; 
            }
        
            if(vertrek == '')
            {            
                msg = 'Datum vertrek ontbreekt';
                fieldfocus = frm['vertrek'+i]
                write_msg(msg,fieldfocus);
                return false;
            }
            // timestamp aankomst
            var dt_aankomst = new Date(ajaar, amaand-1, adag);
            var tmp_a = dt_aankomst.getTime();
         }
         else
         {   
            msg = 'Datum aankomst ontbreekt';
            fieldfocus = frm['aankomst'+i]
            write_msg(msg,fieldfocus);
            return false;                
         }
          
        if (vertrek != '') 
        {  
            // format dd/mm/yyyy 
            var arr_vertrek = vertrek.split('/'); 
            var arr_length = arr_vertrek.length;
            if (arr_length == 3)
            {
               var vdag = arr_vertrek[0];
               var vmaand = arr_vertrek[1];
               var vjaar = arr_vertrek[2];
            
               if (vjaar.length != 4)
               {
                   msg = 'Jaartal vertrek is onjuist';
                   fieldfocus = frm['vertrek'+i]
                   write_msg(msg,fieldfocus);
                   return false;
               }
        
               vdag = parseInt(vdag, 10);
               vmaand = parseInt(vmaand, 10);
               vjaar = parseInt(vjaar, 10);
            
               if (isNaN(vdag) || isNaN(vmaand) || isNaN(vjaar))
               {
                    msg = 'Datum vertrek is onjuist';
                    fieldfocus = frm['vertrek'+i]
                    write_msg(msg,fieldfocus);
                    return false;
               }
               else if(vmaand > 12)
               {
                   msg = 'Datum vertrek is onjuist';
                   fieldfocus = frm['vertrek'+i]
                   write_msg(msg,fieldfocus);
                   return false;
               }
               else if(vdag > 31)
               {
                   msg = 'Datum vertrek is onjuist';
                   fieldfocus = frm['vertrek'+i]
                   write_msg(msg,fieldfocus);
                   return false;
               }
           }
           else
           {
               msg = 'Datum vertrek is onjuist';
               fieldfocus = frm['vertrek'+i]
               rite_msg(msg,fieldfocus);
               return false;
           }                
                
           // aankomst niet voor vandaag
           if ( vjaar < jaar || (vdag < dag && vmaand == maand && vjaar == jaar) || (vmaand < maand  && vjaar == jaar) )
           {
                msg = 'Datum vertrek vòòr vandaag';
                fieldfocus = frm['vertrek'+i]
                write_msg(msg,fieldfocus);
                return false; 
           }
        
           if(aankomst == '')
           {            
                msg = 'Datum aankomst ontbreekt';
                fieldfocus = frm['aankomst'+i]
                write_msg(msg,fieldfocus);
                return false;
            }
            // timestamp vertrek
            var dt_vertrek = new Date(vjaar, vmaand-1, vdag);
            var tmp_v = dt_vertrek.getTime();
       }
       else
       {   
           msg = 'Datum vertrek ontbreekt';
           fieldfocus = frm['vertrek'+i]
           write_msg(msg,fieldfocus);
           return false;                
       }
        
       // vertrek ná aankomst
       if (aankomst != '' && vertrek != '')
       {
          if (tmp_a == tmp_v)
          {
             msg = 'Datum aankomst is gelijk aan datum vertrek';
             fieldfocus = frm['aankomst'+i]
             write_msg(msg,fieldfocus);
             return false;
          }
          else if (tmp_a > tmp_v)
          {
              msg = 'Datum vertrek vóór datum aankomst';
              fieldfocus = frm['vertrek'+i]
              write_msg(msg,fieldfocus);
              return false;
          }
       }	   
	    teller++;   
    }
    
    /**
    * check aantal // aantal medehuurders
    * max. value arr_aantal
    */
    arr_aantal.sort(function(a,b){return b - a});
    var max_aantal = arr_aantal[0];
    /**
    if (max_aantal != aantal_medehuurders)
    {
        msg = 'Controleer a.u.b. het aantal medehuurders';
        write_msg(msg);
        return false;        
    }
	*/
    // hoofdhuurder 
	if (voornaam == '')
	{
        msg = 'Voer a.u.b. uw voornaam in';
        fieldfocus = frm['voornaam'];
        write_msg(msg,fieldfocus);
        return false;
    }		
	else if (achternaam == '')
    {
        msg = 'Voer a.u.b. uw achternaam in';
        fieldfocus = frm['achternaam'];
        write_msg(msg,fieldfocus);
        return false;
    }		
	else if (hh_gb_dag == '')
	{
        msg = 'Voer a.u.b. geboortedag hoofdhuurder in';
        fieldfocus = frm['hh_gb_dag'];
        write_msg(msg,fieldfocus);
        return false;
    }	
	else if (hh_gb_maand == '')
	{
        msg = 'Voer a.u.b. geboortemaand hoofdhuurder in';
        fieldfocus = frm['hh_gb_maand'];
        write_msg(msg,fieldfocus);
        return false;
    }
	else if (hh_gb_jaar =='')
	{
        msg = 'Voer a.u.b. geboortejaar hoofdhuurder in';
        fieldfocus = frm['hh_gb_jaar'];
        write_msg(msg,fieldfocus);
        return false;
    }
	else if (adres == '')
	{
        msg = 'Voer a.u.b. uw adres in';
        fieldfocus = frm['adres'];
        write_msg(msg,fieldfocus);
        return false;
    }
    else if (nummer == '')
    {
        msg = 'Voer a.u.b. uw huisnummer in';
        fieldfocus = frm['nummer'];
        write_msg(msg,fieldfocus);
        return false;
    }
    else if (postcode == '')
    {
        msg = 'Voer a.u.b. postcode in';
        fieldfocus = frm['postcode'];
        write_msg(msg,fieldfocus);
        return false;
    }
    else if (plaats == '')
    {
        msg = 'Voer a.u.b. uw plaatsnaam in';
        fieldfocus = frm['plaats'];
        write_msg(msg,fieldfocus);
        return false;
    }
    else if (telefoon == "" && mobiel == '')
    {
        msg = 'Voer a.u.b. uw telefoonnummer of mobielnummer in';
        fieldfocus = frm['telefoon'];
        write_msg(msg,fieldfocus);
        return false;
    }
    else if (email == '')
    {
        msg = 'Voer a.u.b. uw e-mail adres in';
        fieldfocus = frm['email'];
        write_msg(msg,fieldfocus);
        return false;
    }
    else if (email2 == '')
    {
        msg = 'Voer a.u.b. bevestiging e-mailadres in';
        fieldfocus = frm['email2'];
        write_msg(msg,fieldfocus);
        return false;
    }
    else if (email2 != email)
    {
        msg = 'De bevestiging van het e-mailadres is niet correct';
        fieldfocus = frm['email2'];
        write_msg(msg,fieldfocus);
        return false;
    } 
	        
    if( frm.email.value.indexOf("@") == -1)
    {
        msg = 'Het e-mail adres is ongeldig';
        fieldfocus = frm['email'];
        write_msg(msg,fieldfocus);
        return false;
    }
    
    // medehuurders 
    for (var i = 0;  i < max_aantal; i++)
    {		
        var huurder = i + 1;
		
        var aanhef = frm['m_aanhef['+i+']'].value;		
        var voornaam = frm['m_voornaam['+i+']'].value;
        var naam = frm['m_naam['+i+']'].value;
				
        var m_dag = frm['m_dag['+i+']'].value;
        var m_maand = frm['m_maand['+i+']'].value;
        var m_jaar = frm['m_jaar['+i+']'].value;
		
        if (aanhef == '')
        {
            msg = 'Aanhef van medehuurder ontbreekt';
            fieldfocus = frm['m_aanhef['+i+']'];
            write_msg(msg,fieldfocus);
            return false;
        } 
        else if (voornaam == '')
        {
            msg = 'Voornaam medehuurder ontbreekt';
            fieldfocus = frm['m_voornaam['+i+']'];
            write_msg(msg,fieldfocus);
            return false;
        } 
        else if (naam == '')
        {
            msg = 'Achternaam medehuurder ontbreekt';
            fieldfocus = frm['m_naam['+i+']'];
            write_msg(msg,fieldfocus);
            return false;
        }
        else if(m_dag == '')
        {
            msg = 'Geboortedag medehuurder ontbreekt';
            fieldfocus = frm['m_dag['+i+']'];
            write_msg(msg,fieldfocus);
            return false;
        }
        else if (m_maand == '')
        {
            msg = 'Geboortemaand medehuurder ontbreekt';
            fieldfocus = frm['m_maand['+i+']'];
            write_msg(msg,fieldfocus);
            return false;
        }
        else if (m_jaar == '')
        {
            msg = 'Geboortejaar medehuurder ontbreekt';
            fieldfocus = frm['m_jaar['+i+']'];
            write_msg(msg,fieldfocus);
            return false;
        } 
    }
}

function write_msg(msg,fieldfocus)
{ 
    var frm = document.forms[0];
    
    if (msg != '')
	{		
        // parent van paragraaf met msg
        var parent = document.getElementById('content-container');
		
        // als nieuwe paragraaf al bestaat verwijderen
        var old_paragraph = document.getElementById('msg');
        if (old_paragraph)
        {			
            parent.removeChild(old_paragraph);
        }
		
        // p tag aanmaken met class msg_validate en daarin tekst fields plaatsen
        var paragraph = document.createElement('p');
        var paragraph_text = document.createTextNode(msg);
        // tekst in p tag plaatsen
        paragraph.appendChild(paragraph_text);
        paragraph.setAttribute('id','msg');
        paragraph.setAttribute('class','msg-validate-bk');		
		
        // nieuwe tag p in document plaatsen, in div left en vóór form met id frm
        var before = document.getElementById('left');
        parent.insertBefore(paragraph, before);
        fieldfocus.focus();
        window.scrollTo(0,0);
        return false;
    }
}

/* object verwijderen van boekingsformulier /boeken */
function redirect(url, key)
{
    window.location = url+'?key='+key;
}
	
