function validateForm()
{
  $('tel').update('');
  $('tel').addClassName('valid');
  $('tel').show();
  bSubmit = 'Ja';

  // aanhef
  element = 'aanhef';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  if ($('geslacht1_form').checked == false && $('geslacht2_form').checked == false)
  {
    bSubmit = 'Nee';
    $(element).addClassName('invalid');
  }
  
  // voorletters
  element = 'voorletter';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert(element + ': ' + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).addClassName('invalid');
  }

  // achternaam
  element = 'achternaam';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert(element + ': ' + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).addClassName('invalid');
  }

  // straat
  element = 'straat';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert(element + ': ' + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).addClassName('invalid');
  }

  // huisnummer (niet leeg en nummer)
  element = 'huisnummer';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert(element + ': ' + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).addClassName('invalid');
  } else
  {
    if (!IsNumber(value))
    {
      bSubmit = 'Nee';
      $(element).addClassName('invalid');
    }
  }

  // postcode
  element = 'postcode';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert("postcode: " + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).addClassName('invalid');
  } else
  {
    //alert(sPostcode);
    sPostcodeNew = value.replace(/[\s]+/g,""); 
    //alert(sPostcodeNew.length);
    if (sPostcodeNew.length !== 6)
    {
      bSubmit = 'Nee';
      $(element).addClassName('invalid');
    }
  }
    
  // plaats
  element = 'plaats';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert(element + ': ' + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).addClassName('invalid');
  }

  // telefoon overdag
  element = 'teldag';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert(element + ': ' + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).addClassName('invalid');
  }


  // email
  element = 'email';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert(element + ': ' + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).addClassName('invalid');
  } else
  {
    if (! ValiderEmail(value) )
    {
      bSubmit = 'Nee';
      $(element).addClassName('invalid');
    }
  }

  // bank_giro
  element = 'bank_giro';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert(element + ': ' + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).addClassName('invalid');
  } else
  {
  //if (!Isnumber(document.betaalgegevens.giro.value) && document.betaalgegevens.giro.value.length > 1)
    if (!IsNumber(value))
    {
      bSubmit = 'Nee';
      $(element).addClassName('invalid');
    }
    if (value.length > 9)
    {
      bSubmit = 'Nee';
      $(element).addClassName('invalid');
    }
    else
    {
      // assume bankrekening
      if (value.length > 7 && (!checkBank(value)))
      {
        bSubmit = 'Nee';
        $(element).addClassName('invalid');
      }
    }
  }

  // niet ok:
  if ( bSubmit == 'Nee')
  {
    html = "Het klantgegevens formulier is niet juist ingevuld, verbeter de rode velden om naar de bestel pagina te gaan.<br />";
    $('tel').update(html);
    $('tel').addClassName('invalid');
    $('tel').show();
    //document.getElementById('tel').style.color = 'red'; 
    //document.getElementById('tel').innerHTML = "Het klantgegevens formulier is nog onvolledig of incorrect ingevuld, verbeter de rode velden om naar de bestel pagina te gaan.<br />"; 
    //document.getElementById('tel').style.display = "block"; 

  } else
  {
    element = 'machtiging'
    if ( $(element+'_form').checked == false) 
    {
      alert("U moet akkoord gaan met het verlenen van een eenmalige machtiging en de algemene voorwaarden.");
    } else {
      $('actKlant').submit();
      //document.form.actKlant.submit();
      //submit();
      //return true;
    }
  }
}

function valAanvraag()
{

  //alert('We gaan valideren');
  //$('tel').update('');
  //$('tel').addClassName('valid');
  //$('tel').show();
  bSubmit = 'Ja';

  // aanhef
/*
  element = 'aanhef';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  if ($('geslacht1_form').checked == false && $('geslacht2_form').checked == false)
  {
    bSubmit = 'Nee';
    $(element).addClassName('invalid');
  }
*/
  // voorletters
  element = 'voorletters';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert(element + ': ' + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).removeClassName('valid');
    $(element).addClassName('invalid');
  }

  // achternaam
  element = 'achternaam';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert(element + ': ' + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).removeClassName('valid');
    $(element).addClassName('invalid');
  }

  // straat
  element = 'straatnaam';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert(element + ': ' + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).removeClassName('valid');
    $(element).addClassName('invalid');
  }

  // huisnummer (niet leeg en nummer)
  element = 'huisnummer';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert(element + ': ' + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).removeClassName('valid');
    $(element).addClassName('invalid');
  } else
  {
    if (!IsNumber(value))
    {
      bSubmit = 'Nee';
      $(element).removeClassName('valid');
      $(element).addClassName('invalid');
    }
  }
  
  // postcode
  element = 'postcode';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert("postcode: " + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).removeClassName('valid');
    $(element).addClassName('invalid');
  } else
  {
    //alert(sPostcode);
    sPostcodeNew = value.replace(/[\s]+/g,""); 
    //alert(sPostcodeNew.length);
    if (sPostcodeNew.length !== 6)
    {
      bSubmit = 'Nee';
      $(element).removeClassName('valid');
      $(element).addClassName('invalid');
    }
  }
  
  // plaats
  element = 'plaats';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert(element + ': ' + value);
  if ( trim(value).length < 1 )
  {
    bSubmit = 'Nee';
    $(element).removeClassName('valid');
    $(element).addClassName('invalid');
  }

  // email
  element = 'email';
  $(element).removeClassName('invalid');
  $(element).addClassName('valid');
  value = $F(element+'_form');
  //alert(element + ': ' + value);
  if (trim(value).length == 0)
  {
    bSubmit = 'Nee';
    $(element).removeClassName('valid');
    $(element).addClassName('invalid');
  }
  if (trim(value).length > 0 && ! ValiderEmail(value) )
  {
    bSubmit = 'Nee';
    $(element).removeClassName('valid');
    $(element).addClassName('invalid');
  }

  // niet ok:
  if ( bSubmit == 'Nee')
  {
    html = "Sommige velden (rood aangegeven) zijn verplicht. Vul deze svp in.<br />";
    $('tel').update(html);
    $('tel').addClassName('invalid');
    $('tel').show();
    //document.getElementById('tel').style.color = 'red'; 
    //document.getElementById('tel').innerHTML = "Het klantgegevens formulier is nog onvolledig of incorrect ingevuld, verbeter de rode velden om naar de bestel pagina te gaan.<br />"; 
    //document.getElementById('tel').style.display = "block"; 

  } else
  {
    //if ( $('gids1').checked == false && $('gids2').checked == false ) 
    //{
    //  alert("Kies Uitgids1 en/of Uitgids2");
    //} else 
    //{
      //alert("We gaan versturen");
      $('aanvraaguitgids').submit();
      return false;
      //document.form.aanvraaguitgids.submit();
      //document.aanvraaguitgids.submit();
    //}
  }
}
  
// helpfuncties validatie
function trim(inputString) 
{
  if (typeof inputString != "string") { return inputString; }
  var retValue = inputString;
  // Check for spaces at the beginning of the string
  var ch = retValue.substring(0, 1);
  while (ch == " ") { 
    retValue = retValue.substring(1, retValue.length);
    ch = retValue.substring(0, 1);
  }
  // Check for spaces at the end of the string
  ch = retValue.substring(retValue.length-1, retValue.length);
  while (ch == " ") {
    retValue = retValue.substring(0, retValue.length-1);
    ch = retValue.substring(retValue.length-1, retValue.length);
  }
  // Note that there are two spaces in the string - look for multiple spaces within the string
  while (retValue.indexOf("  ") != -1) { 
    retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
  }
  // Return the trimmed string back to the user
  return retValue; 
}

function IsNumber(str)
{
  var validChars = '0123456789';
  for(var i = 0; i < str.length; i++)
  {
    if(validChars.indexOf(str.charAt(i)) < 0)
    return false;
  }
  return true;
}

function ValiderEmail(email)
{
  var pos=email.indexOf("@");
	var pos2=email.indexOf(".");
  var error=0;

  if (email.length == 0) return true;

  if (pos < 1) error++;
  else  
  if (email.indexOf(".",pos) < pos+2) error++;

  if (pos2==email.length-1) error++;

  if (email.indexOf(" ") > 0)
  {
    return false;
  }

  if (error)
  {
    return false;
  }
  return true;
}

function trim(inputString) 
{
  if (typeof inputString != "string") { return inputString; }
  var retValue = inputString;
  // Check for spaces at the beginning of the string
  var ch = retValue.substring(0, 1);
  while (ch == " ") { 
    retValue = retValue.substring(1, retValue.length);
    ch = retValue.substring(0, 1);
  }
  // Check for spaces at the end of the string
  ch = retValue.substring(retValue.length-1, retValue.length);
  while (ch == " ") {
    retValue = retValue.substring(0, retValue.length-1);
    ch = retValue.substring(retValue.length-1, retValue.length);
  }
  // Note that there are two spaces in the string - look for multiple spaces within the string
  while (retValue.indexOf("  ") != -1) { 
    retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
  }
  // Return the trimmed string back to the user
  return retValue; 
}


// klopt het bank nummer (modulus 11 check)?
function checkBank(s)
{
  //alert("check the bank");
  var tot = 0;
  var tel = 1;
  var nummer;
  for (i=s.length-1; i>=0; i--)
  {
    //alert(i);
    nummer = s.charAt(i);
    //alert(nummer);
    tot += nummer*tel;
    //alert(tot);
    tel++;
    //alert(tel);
  }
  if (tot != 0 && tot % 11 == 0)
    return true;
  else
    return false;
}
