/* 

  Voorbeeld:
  ----------

  function checkBestelForm(f) {
	  
	  if (!checkField("VERPLICHT", f.achternaam)) {
	    alert("Voert u s.v.p. uw achternaam in.");
	    return false;
	  }
	  
	  if (!checkField("TELEFOON", f.telefoonnummer)) {
	    alert("Voert u s.v.p. uw telefoonnummer in.");
	    return false;
	  }
	  
	  if (!checkField("VERPLICHT", f.adres) || !checkField("VERPLICHT", f.postcode) || !checkField("VERPLICHT", f.plaatsnaam)) {
	    alert("Voert u s.v.p. een volledig afleveradres (straatnaam met huisnummer, postcode en plaatsnaam) in.");
	    return false;
	  }
	  
	  if (!checkField("EMAIL", f.email)) {
	    alert("Voert u s.v.p. een geldig e-mail adres in.");
	    return false;
	  }
	
	  if (!checkField("BANKREKENING", f.bankrekening)) {
	    alert("Voert u s.v.p. een geldig rekeningnummer in. Zet de letter P voor het nummer van een postbankrekening.");
	    return false;
	  }
	  
	  if (!checkField("CHECKED", f.incassoakkoord)) {
	    alert("U dient akkoord te gaan met de automatische incasso.");
	    return false;
	  }
	  
	  
	  return true;
	  
  }
	
 <form method="post" action="process.php" onsubmit="return checkBestelForm(this)">
   <!-- Let op: geef een ID met de waarde 'label_[de naam van het bijbehorende veld]' aan elk veldlabel waarvan je het veld controleer! -->
   <span id="label_naam">uw naam:</span>
   <input type="text" name="naam" />
   
   ...

*/

function checkField(strCheckType, fld) {
  var fldname = fld.name;
  switch(strCheckType) {
    case "VERPLICHT":
      if(fld.value.length>0) {
        document.getElementById("label_"+fldname).style.color = "";
        return (true);
      } else {
        document.getElementById("label_"+fldname).style.color = "red"; 
        return (false);
      }
      break;
    case "CHECKED":
      if(fld.checked) {
        document.getElementById("label_"+fldname).style.color = "";
        return (true);
      } else {
        document.getElementById("label_"+fldname).style.color = "red"; 
        return (false);
      }
      break;
    case "JAARTAL":
      strval = fld.value;
      intval = Math.floor(strval);
      if (intval == strval && intval>1900 && intval<2500) {
        document.getElementById("label_"+fldname).style.color = "";
        return (true);
      } else {
        document.getElementById("label_"+fldname).style.color = "red"; 
        return (false);
      }
      break;
    case "TELEFOON":
      return checkField('VERPLICHT', fld);
      break;
    case "EMAIL":
      lenAddr = fld.value.length
      atIndx = fld.value.indexOf("@")
      if (fld.value.indexOf("@") < 1 || 
          fld.value.lastIndexOf(".") < atIndx + 3 || 
          fld.value.lastIndexOf(".") > lenAddr - 3)    {
        document.getElementById("label_"+fldname).style.color = "red"; 
        return (false);
      } else {
        document.getElementById("label_"+fldname).style.color = "";
        return (true);
      }
      break;
    case "BANKREKENING":
      strval = fld.value;
      if(strval.charAt(0)=='P') {
        document.getElementById("label_"+fldname).style.color = ""; 
        return true;
      } else {
        if (isNaN(strval) || strval.length<9) {
          document.getElementById("label_"+fldname).style.color = "red"; 
          return false;
        } else {
          intOptel = strval.charAt(0)*9
                      + strval.charAt(1)*8
                      + strval.charAt(2)*7
                      + strval.charAt(3)*6
                      + strval.charAt(4)*5
                      + strval.charAt(5)*4
                      + strval.charAt(6)*3
                      + strval.charAt(7)*2
                      + strval.charAt(8)*1;
           if ((intOptel % 11) == 0) {
             document.getElementById("label_"+fldname).style.color = ""; 
             return true;
           } else {
             document.getElementById("label_"+fldname).style.color = "red"; 
             return false;
           }
        }
      }
      break;
    default:
      return true;
  }
}
