function validate()
{	   
    var frm = document.forms[0];
    
    // aantal geboekt objecten
    var aantal_objecten = frm['aantal_objecten'].value;	
    
    // hoofdhuurder
    var aanhef = '';	
	for (var i = 0; i< frm['aanhef'].length; i++)
	{
		if (frm['aanhef'][i].checked) aanhef = frm['aanhef'][i].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 tel_prive = frm['tel_prive'].value;
	var gsm = frm['gsm'].value;
	var email = frm['email'].value;
    // eind hoofdhuurder    
    
    // var 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['arr_aantal['+i+']'].value; 
        
        // check huisdier//grootte
        if (frm['huisdier'+i] != undefined)
        {
            if(frm['huisdier'+i].checked)
            {
                var grootte = frm['arr_grootte['+i+']'].value;
                if (grootte == '')
                {
                    msg = 'Kunt u grootte huisdier selecteren?';
                    write_msg(msg);
                    return false;                
                }
            }
        }
		
		if (aantal == 1) var no_check = 1; // geen validatie aantal medehuurders
        
        if (aantal == '')
        {
            msg = 'Aantal personen ontbreekt';
            write_msg(msg);
            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';
                    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';
                    write_msg(msg);
                    return false;
                }
                else if(amaand > 12)
                {
                    msg = 'Datum aankomst is onjuist';
                    write_msg(msg);
                    return false;
                }
                else if(adag > 31)
                {
                   msg = 'Datum aankomst is onjuist';
                   write_msg(msg);
                   return false;
                }
            }
            else
            {
                msg = 'Datum aankomst is onjuist';
                write_msg(msg);
                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';
               write_msg(msg);
               return false; 
            }
        
            if(vertrek == '')
            {            
                msg = 'Datum vertrek ontbreekt';
                write_msg(msg);
                return false;
            }
            // timestamp aankomst
            var dt_aankomst = new Date(ajaar, amaand-1, adag);
            var tmp_a = dt_aankomst.getTime();
         }
         else
         {   
            msg = 'Datum aankomst ontbreekt';
            write_msg(msg);
            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';
                   write_msg(msg);
                   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';
                    write_msg(msg);
                    return false;
               }
               else if(vmaand > 12)
               {
                   msg = 'Datum vertrek is onjuist';
                   write_msg(msg);
                   return false;
               }
               else if(vdag > 31)
               {
                   msg = 'Datum vertrek is onjuist';
                   write_msg(msg);
                   return false;
               }
           }
           else
           {
               msg = 'Datum vertrek is onjuist';
               write_msg(msg);
               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';
                write_msg(msg);
                return false; 
           }
        
           if(aankomst == '')
           {            
                msg = 'Datum aankomst ontbreekt';
                write_msg(msg);
                return false;
            }
            // timestamp vertrek
            var dt_vertrek = new Date(vjaar, vmaand-1, vdag);
            var tmp_v = dt_vertrek.getTime();
       }
       else
       {   
           msg = 'Datum vertrek ontbreekt';
           write_msg(msg);
           return false;                
       }
        
       // vertrek ná aankomst
       if (aankomst != '' && vertrek != '')
       {
          if (tmp_a == tmp_v)
          {
             msg = 'Datum aankomst is gelijk aan datum vertrek';
             write_msg(msg);
             return false;
          }
          else if (tmp_a > tmp_v)
          {
              msg = 'Datum vertrek vóór datum aankomst';
              write_msg(msg);
              return false;
          }
          else if (tmp_a == tmp_v)
          {
              msg = 'Datum aankomst is gelijk aan datum vertrek';
              write_msg(msg);
              return false;
          }
       }	   
	    teller++;   
    }
    
    // hoofdhuurder  
	if (aanhef == '')
	{
        msg = 'Kies een aanhef aub';
        write_msg(msg);
        return false;
    }		
	else if (voorletters == '')
	{
        msg = 'Voer aub uw voorletter in';
        write_msg(msg);
        return false;
    }		
	else if (achternaam == '')
    {
        msg = 'Voer aub uw achternaam in';
        write_msg(msg);
        return false;
    }		
	else if (hh_gb_dag == '')
	{
        msg = 'Voer aub geboortedag hoofdhuurder in';
        write_msg(msg);
        return false;
    }	
	else if (hh_gb_maand == '')
	{
        msg = 'Voer aub geboortemaand hoofdhuurder in';
        write_msg(msg);
        return false;
    }
	else if (hh_gb_jaar =='')
	{
        msg = 'Voer aub geboortejaar hoofdhuurder in';
        write_msg(msg);
        return false;
    }
	else if (adres == '')
	{
        msg = 'Voer aub uw adres in';
        write_msg(msg);
        return false;
    }
    else if (nummer == '')
    {
        msg = 'Voer aub uw huisnummer in';
        write_msg(msg);
        return false;
    }
    else if (postcode == '')
    {
        msg = 'Voer aub postcode in';
        write_msg(msg);
        return false;
    }
    else if (plaats == '')
    {
        msg = 'Voer aub uw plaatsnaam in';
        write_msg(msg);
        return false;
    }
    else if (tel_prive == "" && gsm == '')
    {
        msg = 'Voer aub uw (mobiele) telefoonnummer in';
        write_msg(msg);
        return false;
    }
    else if (email == '')
    {
        msg = 'Voer aub uw e-mail adres in';
        write_msg(msg);
        return false;
    }
	        
    if( frm.email.value.indexOf("@") == -1)
    {
        msg = 'ongeldig e-mailadres';
        write_msg(msg);
        return false;
    }
    // eind hoofdhuurder
    
    /**
    * medehuurders
    * aantal medehuurders
    * max. value arr_aantal
    */
    arr_aantal.sort(function(a,b){return b - a});
    var max_aantal = arr_aantal[0];
        
    for (var i = 0;  i < max_aantal; i++)
    {		
        var huurder = i + 1;
        var geslacht = '';
		
        var vl = frm['m_vl['+i+']'].value;	
        var naam = frm['m_naam['+i+']'].value;
        if (frm['m_geslacht['+i+']'][0].checked)geslacht = frm['m_geslacht['+i+']'][0].value;
		else if (frm['m_geslacht['+i+']'][1].checked) geslacht = frm['m_geslacht['+i+']'][1].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 (vl == '')
        {
            msg = 'Voer aub de gegevens in van de medehuurders';
            write_msg(msg);
            return false;
        } 
        else if (naam == '')
        {
            msg = 'Voer aub de gegevens in van de medehuurders';
            write_msg(msg);
            return false;
        }  
        else if (geslacht == '')
        {
            msg = 'Voer aub de gegevens in van de medehuurders';
            write_msg(msg);
            return false;
        } 
        else if(m_dag == '')
        {
            msg = 'Voer aub de gegevens in van de medehuurders';
            write_msg(msg);
            return false;
        }
        else if (m_maand == '')
        {
            msg = 'Voer aub de gegevens in van de medehuurders';
            write_msg(msg);
            return false;
        }
        else if (m_jaar == '')
        {
            msg = 'Voer aub de gegevens in van de medehuurders';
            write_msg(msg);
            return false;
        } 
    }
}
function write_msg(msg)
{ 
    if (msg != '')
	{
        // parent van paragraaf met msg
        var parent = document.getElementById('reserveer');
		
        // 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('span');
        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 in document plaatsen
        var before = document.getElementById('bkform');
        parent.insertBefore(paragraph, before);
        
        // wit regel creeren onder span met msg
        var paragraph = document.createElement('p');
        var before = document.getElementById('bkform');
        parent.insertBefore(paragraph, before);
        window.scrollTo(0,0);
        return false;
    }
}

function check_postcode(val)
{
	frm = document.forms[0];
	// default
	frm['land'].options[0].selected = true;
	
	// vier karakters
	if (val.length == 4)
	{
		// vier cijfers
		if(!(isNaN(val)))
		{
			// selectbox met landen op belgië zetten
			frm['land'].options[1].selected = true;
		}
	}
}

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

function check_voorwaarden()
{
    var frm = document.forms[0];
    // algemene huurvoorwaarden
	if (!(frm['voorwaarden'].checked))
	{
		var msg = 'Gaat u akkoord met de huurvoorwaarden?';
        document.getElementById('msg').innerHTML = msg;
        frm['voorwaarden'].focus();
		return false;	
	}
}
