function checkRegister(form) {
 go = validateAllUserField();
 if (form['typec'][1].checked ) { // bedrijf 
  if (!newcheckinput('bedrijf','Vul a.u.b. een bedrijfsnaam in',form,type='string') ) {return false} ;
  if (!newcheckinput('kvknummer','Vul a.u.b. uw KvK nummer in',form,type='string') ) {return false} ;
  if (!newcheckinput('btwnummer','Vul a.u.b. uw BTW nummer in',form,type='string') ) {return false} ;
  if( form['soortbedrijf'].value == '' ){
   alert('U heeft geen bedrijfssoort gekozen');
   fadeIt('soortbedrijf',form);
   return false;
  }
 }
 if (!newcheckinput('initialen','Vul a.u.b. uw voorletters in',form,type='string') ) {return false} ;
 jQuery('#initialen').val(jQuery('#initialen').val().toUpperCase());
 if (!newcheckinput('voornaam','Vul a.u.b. uw roepnaam in',form,type='string') ) {return false} ;
 if (!newcheckinput('naam','Vul a.u.b. uw achternaam in',form,type='string') ) {return false} ;
 if( form['dag'].value == '' || form['maand'].value == '' || form['jaar'].value == '' ){
  alert('Vul a.u.b. uw geboortedatum in');
  return false;
 }/*else{
  year = form['jaar'];
  month = form['maand'];
  day = form['dag'];
  var bd = new Date(year, month, day);
  var td = new Date();
  var dy = td.getFullYear()-bg.getFullYear();
 }*/
 if (!newcheckinput('postcode','Vul a.u.b. uw postcode in',form,type='string') ) {return false} ;
 if (!newcheckinput('huisnummer','Vul a.u.b. een huisnummer in',form,type='string') ) {return false} ;
 if (!newCheckInt(form['huisnummer'],true)){return false;}
 if (!newcheckinput('adres','Vul a.u.b. een straatnaam in',form,type='string') ) {return false} ;
 if (!newcheckinput('plaats','Vul a.u.b. een plaatsnaam in',form,type='string') ) {return false} ;
 if (!newcheckinput('telefoon','Vul a.u.b. uw telefoonnummer in',form,type='string') ) {return false} ;
 if(form['land'].value == '1'){
    if (!newCheckPC(form['postcode'],true)) {fadeIt('postcode',form);return false };
    if (!newCheckNum(form['telefoon'],true)) {fadeIt('telefoon',form);return false };
    /*if (!newCheckNum(form['mobiel'],false)) {fadeIt('mobiel',form);return false };*/
 }
if (!newcheckinput('email','Vul a.u.b. een correct e-mailadres in',form,type='email') ) {return false} ;

/*if (!(form.email.value==form.emailb.value))
   {
   alert( "De ingevoerde e-mailadressen zijn niet gelijk" );
   fadeIt('emailb',form);
   return false;
   }
*/
if (form.password.value=="")
   {
   alert( "U heeft geen wachtwoord ingevoerd" );
   fadeIt('password',form);
   return false;
   }
if (!(form.password.value==form.passwordb.value))
   {
   alert( "De ingevoerde wachtwoorden zijn niet gelijk" );
   fadeIt('passwordb',form);
   return false;
   }
 if (form.password.value.length < 4)
   {
   alert( "U wachtwoord dient minimaal 4 karakters lang te zijn" );
   fadeIt('password',form);
   return false;
   }
  if(!form['voorwaarden'].checked){
    alert("U dient akkoord te gaan met de voorwaarden.");
    return false;
  }
  return go;
/*
var totaldieren = form['dieren:list'].length;
var dierok = 'nee';
for (i = 0; i < totaldieren; i++) { 
   var dier = form['dieren:list'][i];
   waarde = dier.checked;
   if (waarde == true) {
      var dierok = 'ja';
   }
}
if (dierok == 'nee') {
   alert( "Geef a.u.b. aan of dieren houdt en zo ja, wat voor dieren" );
   return false;
}
if (form.hobby_prof[0].checked == false && form.hobby_prof[1].checked == false) {
   alert( "Geef a.u.b. aan of u beroepsmatig of als hobby dieren houdt" );
   return false;
}
*/
}
function checkRegisterAddressZip(){
  form = document.getElementById('register-form');
  if (!form) { form = document.getElementById('userdataform'); }
  country = jQuery('#country').val();
  if(country == '1'){
    jQuery('#adres').attr('readonly',true);
    jQuery('#plaats').attr('readonly',true);
    jQuery('#adres').attr('readonly',true).addClass('readonly');
    jQuery('#plaats').attr('readonly',true).addClass('readonly');
    zip = jQuery('#postcode').val();//.trim();
    house = jQuery('#huisnummer').val();//.trim();
    suffix = ''; //jQuery('#huisnummer_ex').val();//.trim();    
    //data:({ land_id:country, zipcode:zip, huis:house, toe:suffix }), 
    if(zip!='' && house != ''){
      jQuery.getJSON("/checkUserNLZipinfo?land_id="+country+"&zipcode="+zip+"&huis="+house+"&toe="+suffix)
      .success(function(data,status) { 
          if(data.error){
            devalidateRegAddressIcons();
          }else{
            validateRegAddressIcons();
            jQuery('#postcode').val(canonicalisePCNL(zip));
          }
          jQuery('#adres').val(data.straatnaam);
          jQuery('#plaats').val(data.plaatsnaam);
        }
      )
      ;
    }else{
      clearRegAddressIcons();
      jQuery('#adres').val('');
      jQuery('#plaats').val('');
    }
  }else{
    jQuery('#adres').attr('readonly',false);
    jQuery('#plaats').attr('readonly',false);
    jQuery('#adres').attr('readonly',false).removeClass('readonly');
    jQuery('#plaats').attr('readonly',false).removeClass('readonly');
  }
}
function clearRegAddressIcons(){
  clearFieldIcon('postcode');
  clearFieldIcon('huisnummer');
  clearFieldIcon('adres');
  clearFieldIcon('plaats');
}
function validateRegAddressIcons(){
  validateFieldIcon('postcode');
  validateFieldIcon('huisnummer');
  validateFieldIcon('adres');
  validateFieldIcon('plaats');
}
function devalidateRegAddressIcons(){
  devalidateFieldIcon('postcode');
  devalidateFieldIcon('huisnummer');
  devalidateFieldIcon('adres');
  devalidateFieldIcon('plaats');
}

function controlUserInitials(el){
  out = '';
  val = el.value;
  val = val.toUpperCase();
  val = val.replace(/[0-9\s\.]/g, "");
  for(var i=0;i<val.length;i++){
    out = out+""+val.charAt(i)+".";
  }
  jQuery(el).val(jQuery.trim(out));
}
function stripSpacesField(el){
  jQuery(el).val(jQuery(el).val().replace(/\s/g, ""));
}
function upperCaseField(el){
  jQuery(el).val(jQuery(el).val().toUpperCase());
}
function capitaliseFirstLetter(string){
  return string.charAt(0).toUpperCase() + string.slice(1);
}
function capitaliseField(el){
  string = jQuery(el).val();
  jQuery(el).val(string.charAt(0).toUpperCase() + string.slice(1));
}
function canonicalisePCNL(string){
  string = string.replace(/\s/g, "").toUpperCase();
  if (string.length == 6) { string = string.slice(0,4) + " " + string.slice(4); } 
  return string;
}
function validateAllUserField(){
  var go =true;
  form = document.getElementById('register-form');
  if (!form) { form = document.getElementById('userdataform'); }
  if(form['typec'][1].checked){
    if(!validateUserField(form['bedrijf'])){go=false;}
    if(!validateUserField(form['kvknummer'])){go=false;}
    if(!validateUserField(form['btwnummer'])){go=false;}
    if(!validateUserField(form['soortbedrijf'])){go=false;}
  }
  if(!validateUserField(form['initialen'])){go=false;}
  if(!validateUserField(form['voornaam'])){go=false;}
  if(!validateUserField(form['naam'])){go=false;}
  if(!validateUserField(form['dag'])){go=false;}
  if(!validateUserField(form['maand'])){go=false;}
  if(!validateUserField(form['jaar'])){go=false;}
  if(!validateUserField(form['email'])){go=false;}
  if(!validateUserField(form['password'])){go=false;}
  if(!validateUserField(form['passwordb'])){go=false;}
  if(!validateUserField(form['land'])){go=false;}
  if(!validateUserField(form['postcode'])){go=false;}
  if(!validateUserField(form['huisnummer'])){go=false;}
  if(!validateUserField(form['adres'])){go=false;}
  if(!validateUserField(form['plaats'])){go=false;}
  if(!validateUserField(form['telefoon'])){go=false;}
  return go;
}
function validateAllPayField(pmethod){
  var go = true;
  form = document.getElementById('payf');
  controlUserInitials(form[pmethod+'_initialen']);
  capitaliseField(form[pmethod+'_voornaam']);
  capitaliseField(form[pmethod+'_name']);
  
  if(!validatePayField(form[pmethod+'_initialen'])){ go=false; }
  if(!validatePayField(form[pmethod+'_voornaam'])){ go=false; }
  if(!validatePayField(form[pmethod+'_name'])){ go=false; }
  if( pmethod == 'machtiging' || pmethod == 'betaalgarant' ){
    if(!validatePayField(form[pmethod+'_bank'])){ go=false; }
    if(!validatePayField(form[pmethod+'_tenname'])){ go=false; }
  }
  return go;
}
function validateAllDeliveryField(){
  var go = true;
  form = document.getElementById('bezorgf');
  capitaliseField(form['afleveradres_bedrijfsnaam']);
  capitaliseField(form['afleveradres_naam']);
  capitaliseField(form['afleveradres_street']);
  capitaliseField(form['afleverplaats']);
  
  if(!validateDeliveryField(form['afleveradres_naam'])){ go=false; }
  if(!validateDeliveryField(form['afleverpostcode'])){ go=false; }
  if(!validateDeliveryField(form['afleveradres_number'])){ go=false; }
  if(!validateDeliveryField(form['afleveradres_street'])){ go=false; }
  if(!validateDeliveryField(form['afleverplaats'])){ go=false; }

  return go;
}
function validateDeliveryField(el,noalert){
  form = document.getElementById('bezorgf');
  noalert = (typeof noalert == 'undefined') ? true: noalert;
  return validateUserField(el,noalert,form);
}
function validatePayField(el,noalert){
  form = document.getElementById('payf');
  noalert = (typeof noalert == 'undefined') ? true: noalert;
  return validateUserField(el,noalert,form);
}

function validateUserField(el,noalert,form){
  form = (typeof noalert == 'undefined') ? document.getElementById('register-form') : form;
  //form = document.getElementById('register-form');
  noalert = (typeof noalert == 'undefined') ? true: noalert;
  name = jQuery(el).attr('name');
  if(typeof name == 'undefined'){
    return true;
  }
  vicon = name;
  
  switch(name){
    case "land":
      return true;
      break;
    case "soortbedrijf":
      if(form[name].value == ''){
        devalidateFieldIcon(name);
        return false;
      }
      break;
    case "dag":
    case "maand":
    case "jaar":
      day = form['dag'].value;
      month = form['maand'].value;
      year = form['jaar'].value;
      vicon = 'bday';
      if( day == '' || month == '' || year == '' ){
        devalidateFieldIcon(vicon);
        return false;
      }else{
        source_date = new Date(year,month-1,day);
        if(year != source_date.getFullYear()){devalidateFieldIcon(vicon);return false;}
        if(month-1 != source_date.getMonth()){devalidateFieldIcon(vicon);return false;}
        if(day != source_date.getDate()){devalidateFieldIcon(vicon);return false;}
      }
      break;
    case "password":
      if (!newCheckText(form[name],'Vul a.u.b. alle verplichte velden in',noalert) ) {
        el.focus();
        devalidateFieldIcon(vicon);
        return false;
      }
      val = jQuery.trim(form[name].value);
      if(val.length < 4){
        devalidateFieldIcon(vicon);
        return false;
      }
      break;
    case "passwordb":
      if( form['passwordb'].value == '' || form['password'].value != form['passwordb'].value){
        devalidateFieldIcon(vicon);
        return false;
      }
      break;
    case "email":
      if (!newCheckText(form[name],'Vul a.u.b. alle verplichte velden in',noalert) ) {
        devalidateFieldIcon(vicon);
        return false;
      }
      valid = new RegExp("^[a-zA-Z0-9]+([.]?[a-zA-Z0-9_-]+)*[@]([a-zA-Z0-9_-]+[.])+([a-zA-Z]{2,4})$").exec(form[name].value);
      if (!valid) { 
        devalidateFieldIcon(vicon);
        return false;
      }
      break;
    case "postcode":
    case "huisnummer":
      var country_id = form['land'].value;
      var incorrect = [];
      if (!newCheckText(form[name],'Vul a.u.b. alle verplichte velden in',noalert) ) {
        devalidateFieldIcon(vicon);
        return false;
      }
      if(country_id == '1'){
        if(newCheckPC(form['postcode'],true,noalert)) {}
        else {incorrect.push('postcode');}
        if(!newCheckInt(form['huisnummer'],true,noalert)){incorrect.push('huisnummer');}
        if(incorrect.length>0){
          for(var i=0;i<incorrect.length;i++){
            devalidateFieldIcon(incorrect[i]);
          }
          return false;
        }else{
          return true;
        }
      }
      break;
    case "telefoon":
      if (!newCheckText(form[name],'Vul a.u.b. alle verplichte velden in',noalert) ) {
        devalidateFieldIcon(vicon);
        return false;
      }
      var country_id = form['land'].value;
      if(country_id == '1'){
        if(!newCheckNum(form[name],true,noalert)){
          devalidateFieldIcon(vicon);
          return false;
        }        
      }
      break;
    default:
      try{
      if (!newCheckText(form[name],'Vul a.u.b. alle verplichte velden in',noalert) ) {
        devalidateFieldIcon(vicon);
        return false;
      }
      }catch(e){
        alert(name);
      }
      break;
  }
  validateFieldIcon(vicon);
  return true;
}
function clearFieldIcon(name){
  jQuery('#'+name+'_vicon').attr('src','/empty_icon.png');
}
function validateFieldIcon(name){
  jQuery('#'+name+'_vicon').attr('src','/vink_good.png');
}
function devalidateFieldIcon(name){
  jQuery('#'+name+'_vicon').attr('src','/vink_bad.png');
}

