function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}


function addClass(obj, cName) { if (obj&&cName&&!hasClass(obj, cName)) { obj.className += " "+cName; } }
function removeClass(obj, cName) { if (obj&&cName) { if (obj.className==obj.className.replace(" ","-")) { obj.className=obj.className.replace(cName, ""); } else { obj.className=obj.className.replace(" "+cName, ""); } } }
function hasClass(obj, cName) { if (obj&&cName) { if (obj.className == obj.className.replace(cName,"")) { return false; } return true; } }
function addRemoveClass(obj, cName) { if (obj&&cName) { if (!hasClass(obj, cName)) { addClass(obj,cName); } else { removeClass(obj,cName); } } }
function CheckEmailAddress(x) { var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if (!filter.test(x)) { return false; } return true; }

function HM_WarnVisual(args) {
  var i,warnThis=args.split(",");
  for (i=0; i<(warnThis.length); i++) { obj=MM_findObj(warnThis[i]);
    obj=MM_findObj(warnThis[i]); if (obj) { addClass(obj,WarnClass);
    obj.onchange=function() { removeClass(this,WarnClass); } } } }

/* Met een translate functie ingebouwd: */

var translate = {};
  translate['form_naam']            = 'Naam';
  translate['form_voorletters']     = 'Voorletters';
  translate['form_straat']          = 'Straat';
  translate['form_huisnummer']      = 'Huisnummer';
  translate['form_postcode']        = 'Postcode';
  translate['form_woonplaats']      = 'Woonplaats';
  translate['form_telefoonnummer']  = 'Telefoonnummer';
  translate['form_huisnummer']      = 'Huisnummer';
  translate['form_geboortedatum']   = 'Geboortedatum';
  translate['form_email']           = 'E-mail';

function HM_validateFormNL() { //v4.0
  var i,nm,tr,check,p,errors='',visual='',args=HM_validateFormNL.arguments;
  for (i=0; i<(args.length); i++) { obj=MM_findObj(args[i]); check=args[++i]; if (obj) { nm=obj.name;
  if (window.translate&&translate[nm]) { tr=translate[nm]; } else { tr=nm; }
// Controle verplicht veld
    if (check=='R') { if (!obj.value) {
  errors += ' - '+tr+' is verplicht\n';
    if (visual) { visual += ","+nm; } else { visual = nm; } } }
// Controle isEmail
    else if (check=='isEmail'||check=='RisEmail') { if (!CheckEmailAddress(obj.value)) {
  errors+=' - '+tr+' moet een e-mail adres zijn.\n';
    if (visual) { visual += ","+nm; } else { visual = nm; } } }
// Controle isChecked
    else if (check.indexOf('isChecked')==0) { if (!obj.checked) {
  errors += ' - '+tr+' is verplicht\n';
    if (visual) { visual += ","+nm; } else { visual = nm; } } }

// Controle isChecked in Array
    else if (check.indexOf('isOneSelected')==0) {
      var oneChecked = false;
      if (obj.length>0) {
        for (j=0; j<(obj.length); j++) {
          if (obj[j].checked) { oneChecked = true; }
        }
      } else if (obj.checked) {
        oneChecked = true;
      }

      if (oneChecked!=true) {
        errors += ' - Er is geen bestand geselecteerd\n';
      }
    }

// Geef errors weer
  } } if (errors) { alert("De volgende fouten zijn opgetreden:\n"+errors); HM_WarnVisual(visual); }
  document.HM_returnValue = (errors == '');
}

function HM_validateFormDE() { //v4.0
  var i,nm,tr,check,p,errors='',visual='',args=HM_validateFormDE.arguments;
  for (i=0; i<(args.length); i++) { obj=MM_findObj(args[i]); check=args[++i]; if (obj) { nm=obj.name;
  if (window.translate&&translate[nm]) { tr=translate[nm]; } else { tr=nm; }
// Controle verplicht veld
    if (check=='R') { if (!obj.value) {
  errors += ' - '+tr+' ist verpflichtet\n';
    if (visual) { visual += ","+nm; } else { visual = nm; } } }
// Controle isEmail
    else if (check=='isEmail'||check=='RisEmail') { if (!CheckEmailAddress(obj.value)) {
  errors+=' - '+tr+' moet een e-mail adres zijn.\n';
    if (visual) { visual += ","+nm; } else { visual = nm; } } }
// Controle isChecked
    else if (check.indexOf('isChecked')==0) { if (!obj.checked) {
  errors += ' - '+tr+' ist verpflichtet\n';
    if (visual) { visual += ","+nm; } else { visual = nm; } } }

// Controle isChecked in Array
    else if (check.indexOf('isOneSelected')==0) {
      var oneChecked = false;
      if (obj.length>0) {
        for (j=0; j<(obj.length); j++) {
          if (obj[j].checked) { oneChecked = true; }
        }
      } else if (obj.checked) {
        oneChecked = true;
      }

      if (oneChecked!=true) {
        errors += ' - Er is geen bestand geselecteerd\n';
      }
    }

// Geef errors weer
  } } if (errors) { alert("Die nächste Fehler sind entdeckt worden:\n"+errors); HM_WarnVisual(visual); }
  document.HM_returnValue = (errors == '');
}



