
		  var validplaatsnaam = false;
		  var regex_postcode = /^[1-9][0-9]{3}(?:[ ]?[a-z]{2})?$/i;		    
		    
			function CheckPlaatsnaamResult(originalRequest,jsonobject)
			{
				validplaatsnaam = false;
				
			  if (originalRequest.responseText=="1")
			    validplaatsnaam = true;
			}
		
		  function CheckPlaatsnaam(plaatsnaam)
		  {
				var myAjax = new Ajax.Request(
					'aanbod_checkcity.php',
					{
						method: 'get', 
						parameters: 'q='+plaatsnaam, 
						onComplete: CheckPlaatsnaamResult,
						asynchronous: false
					});
					
				return validplaatsnaam;
		  }

	
		  // controleert de postcodes. Als er tenminste een is die niet klopt, dan wordt die getoond aan de gebruiker en retourneert de functie false. Anders is de return-waarde true;
		  function checkPostcodes(form) 
		  {
		    regex_postcode = /^[1-9][0-9]{3}(?:[ ]?[a-z]{2})?$/i;
		
		    // haal alle postcodes op, dat zijn input type="text" met naam postcode[] in formulier frmAanbod 
		    var postcodes = Form.getInputs(form, 'text', 'postcodes[]');
		
		    // -- geldige invoer voor alle overige postcode velden controleren
		    for (var i=0; i<postcodes.length; i++) 
		    {
		      // lege postcodes zijn ok
		      if (postcodes[i].value != '' && !regex_postcode.test(postcodes[i].value)) 
		      {
		         alert(postcodes[i].value+' is geen geldige postcode');
		         postcodes[i].focus();
		         postcodes[i].select();
		         return false;
		      }
		    }
		    return true;
		  }
		
		  // checkes voor velden die alleen bij zoeken op postcode voorkomen
		  function checkPostcodeForm(form)
		  {
	    	// eerste postcode is verplicht
	    	if (!checkPostcodesAantal(form))
	    	{
		    	alert('Wilt u minimaal één geldige postcode invoeren?');
		    	var postcodes = Form.getInputs(form, 'text', 'postcodes[]');
		    	postcodes[0].focus();
		      return false;
		    }
	      
	      // check postcodes op geldigheid, functie geeft zelf foutmeldingen weer
	      if (!checkPostcodes(form)) 
	        return false;
		  }
		  

      // checkes voor velden die alleen bij zoeken op plaats voorkomen
      function checkPlaatsenForm(form)
      {
      	var aantalplaatseningevuld = 0;
      	
      	// alle plaatsvelden langslopen om te kijken of er wel eentje ingevuld is en om plaatsnamen te controleren
		    for (i=0; i<=4; i++)
		    {
		      if ($('plaats'+i).value != '')
		      {
		        aantalplaatseningevuld++;
		     
		        // controleren met Ajax request   
		        if (!CheckPlaatsnaam($('plaats'+i).value))
		        {
		        	alert('Dit is geen geldige plaatsnaam');
		        	$('plaats'+i).focus();
		        	$('plaats'+i).select();
		        	return false;
		        }
		      }
		    }
		    
		    // minimaal 1 plaats moet ingevuld zijn
		    if (aantalplaatseningevuld==0)
		    {
		    	alert('Wilt u minimaal één plaats invullen?');
		    	$('plaats0').focus();
		      return false;
		    }
      }
      
      
      // checks voor velden die bij postcode/plaats voorkomen
      function checkPlaatsPostcodeForm(form)
      {
      	var aantalingevuld = 0;
      	
      	// alle plaatsvelden langslopen om te kijken of er wel eentje ingevuld is en om plaatsnamen te controleren
		    for (i=0; i<=4; i++)
		    {
		      if ($('plaatspostcode'+i).value != '')
		      {
		        aantalingevuld++;
		     
		        // controleren of het een geldige postcode of plaatsnaam is
		        if (!regex_postcode.test($('plaatspostcode'+i).value) && !CheckPlaatsnaam($('plaatspostcode'+i).value))
		        {
		        	alert('Dit is geen geldige plaatsnaam of postcode');
		        	$('plaatspostcode'+i).focus();
		        	$('plaatspostcode'+i).select();
		        	return false;
		        }
		      }
		    }
		    
		    // minimaal 1 plaats moet ingevuld zijn
		    if (aantalingevuld==0)
		    {
		    	alert('Wilt u minimaal één plaatsnaam of postcode invullen?');
		    	$('plaatspostcode0').focus();
		      return false;
		    }      	
      	
		    if (parseInt(form.minimumprijs.options[form.minimumprijs.selectedIndex].value) >= parseInt(form.maximumprijs.options[form.maximumprijs.selectedIndex].value))
		    {
		      window.alert("De minimumprijs moet kleiner zijn dan de maximumprijs");
		      form.minimumprijs.focus();
		      return false;
		    }
		    if (!form.chkbestaandebouw.checked && !form.chknieuwbouw.checked)
		    {
		      window.alert("U moet minimaal één keuze maken uit 'bestaande bouw' en 'nieuwbouw'");
		      return false;
		    }

		    // fill hidden values based on checkboxes
		    if (form.chknieuwbouw.checked==true)
		      form.nieuwbouw.value = 1;
		    else
		    	form.nieuwbouw.value = 0;
		    if (form.chkbestaandebouw.checked==true)
		      form.bestaandebouw.value = 1;
		    else
		    	form.bestaandebouw.value = 0;    

        return true;      	
      }
		
		  // checkes voor velden die alleen bij zoeken op adresvoorkomen
		  function checkAdresForm(form)
		  {
	    	// straatnaam is verplicht
	    	if (form.zoekadres_straatnaam.value=='')
	    	{
		    	alert('Wilt u een straatnaam invoeren?');
		    	form.zoekadres_straatnaam.focus();
		      return false;
		    }

	    	// plaatsnaam is verplicht
	    	if (form.zoekadres_plaatsnaam.value=='' || !CheckPlaatsnaam(form.zoekadres_plaatsnaam.value))
	    	{
		    	alert('Dit is geen geldige plaatsnaam');
		    	form.zoekadres_plaatsnaam.focus();
		      return false;
		    }
		  }		
		
			// controleer het formulier voor uitgebreid zoeken
		  function CheckUitgebreidAanbodForm(form)
		  {
		    // als we zoeken op plaatsen/postcodes
		    if (form.zoekenop.value == 'plaatspostcode')
		    { 
		    	// postcode/plaatsenchecks
		    	if (checkPlaatsPostcodeForm(form)==false)
  		      return false;
  		  // zoeken op adres
		    } else if (form.zoekenop.value == 'adres')
		    {
		    	// adreschecks
		    	if (checkAdresForm(form)==false)
  		      return false;
		    }

	      return true; // kennelijk zijn alle testen ok, formulier verzenden dus.
      }
		  
		  function CheckUitgebreidEmailForm(form)
		  {
		 	  // zoekcriteria controleren
		 	  if (!CheckUitgebreidAanbodForm(form))
		 	    return false;
		 	   
	      if (form.naam.value=='')
	      {
	        window.alert("Wilt u uw naam invullen?");
	        form.naam.focus();
	        return false;
	      }
		    
		    if (!ValidateEmail(form.email.value))
		    {
		      window.alert("Wilt u een geldig e-mailadres invullen?");
		      form.email.focus();
		      return false;
		    }
		    
		    // controleer of de e-mailadressen gelijk zijn, ingeval er emailadressen in het formulier zijn
		    if ($F('email') != null && $F('emailControle') != $F('email'))	
		    {
		    	alert("De e-mailadressen komen niet overeen");
		    	return false;
		    }
		    
		    return true; // kennelijk zijn alle testen ok, formulier verzenden dus.
		  }
		  
		  
		  // schakel de plaatsvelden in zodat op plaats/postcode gezocht kan worden, en schakel de adres velden uit
		  function setZoekOpPlaatsPostcodeAan() 
		  {
		  	try {
         $("zoekenOpPlaatsPostcode").src="images/zoeken_tabs/plaatspostcode_on.gif";
         $("zoekenOpAdres").src="images/zoeken_tabs/adres_off.gif";		  	
        } catch(e)
        {}
		  	
		  	 $("zoekenop").value = "plaatspostcode";
		  	
		     $A(document.getElementsByClassName('plaatspostcode')).each(function(item)	{
				  Element.show(item);
		    });
		    $A(document.getElementsByClassName('adres')).each(function(item)	{
				  Element.hide(item);
		    });
		    return true;
		  }
		
		  // schakel de adresvelden in zodat op adres gezocht kan worden, en schakel de postcode/plaatsvelden uit.
		  function setZoekOpAdresAan() 
		  {
        $("zoekenOpPlaatsPostcode").src="images/zoeken_tabs/plaatspostcode_off.gif";
        $("zoekenOpAdres").src="images/zoeken_tabs/adres_on.gif";		  	
		  	
		  	$("zoekenop").value = "adres";
		  	
		    $A(document.getElementsByClassName('adres')).each(function(item)	{
				  Element.show(item);
		    });
		     $A(document.getElementsByClassName('plaatspostcode')).each(function(item)	{
				  Element.hide(item);
		    });
		    return true;
		  }


	