$(document).ready(function() {
  $.validator.addMethod('name_regex', function (value) { 
      return (/^[a-zA-Z\xC0-\xC6\xE0-\xE6\xC8-\xCB\xE8-\xEB\xCC-\xCF\xEC-\xEF\xD2-\xD6\xF2-\xF6\xD9-\xDC\xF9-\xFC\xD1\xF1\ \-\'\.]+$/.test(value) || !value);  
  }, 'Je naam bestaat uit vreemde tekens');
  $.validator.addMethod('address_regex', function (value) { 
      return (/^[0-9a-zA-Z\xC0-\xC6\xE0-\xE6\xC8-\xCB\xE8-\xEB\xCC-\xCF\xEC-\xEF\xD2-\xD6\xF2-\xF6\xD9-\xDC\xF9-\xFC\xD1\xF1\ \-\'\.,\!]+$/.test(value) || !value);  
  }, 'Je adres bestaat uit vreemde tekens');
  $.validator.addMethod('postcode_regex', function (value) { 
      return (/^[0-9][0-9][0-9][0-9]\ ?[a-zA-Z][a-zA-Z]$/.test(value) || !value); 
  }, 'Je postcode bestaat uit vreemde tekens');
  $.validator.addMethod('telephone_regex', function (value) { 
      return (/^[(0|+)][0-9]{1}[0-9]?[0-9]+$/.test(value) || !value); 
  }, 'Je telefoonnummer bestaat uit vreemde tekens');
  $.validator.addMethod('nl_bank_account', function (value) { 
    if (value)
    {

      bankrekeningnummer = value;
      // verwijder alle tekens die geen cijfers zijn
      bankrekeningnummer=bankrekeningnummer.replace(/\D/, "");
      aantal_tekens=bankrekeningnummer.length;
      if (aantal_tekens >=3 && aantal_tekens <= 7)
      {
        return true;
      }
      else
      {
        var som=0;
        // loop door de 9 cijfers met de 11 proef formule
        for (i=1; i<10; i++) 
        {
          getal=bankrekeningnummer.charAt(i-1);
          som+=getal*(10-i);
        } 
        // geef resultaat van check terug
        if (som % 11==0 && aantal_tekens==9) 
        {
          return true;
        }
        else 
        {
          return false;
        }
      }
    }
    else
    {
      return true;
    }
  }, 'Ongeldig rekeningnummer');
});
