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); } } }
*/
}

function HM_validateFormFieldsNL() { //v2.0
  var obj,i,nm,check,p,errors='',visual='',args=HM_validateFormFieldsNL.arguments;
  for (i=0; i<(args.length); i++) { obj=args[i]; check=args[++i]; nm=args[++i]; if (obj) {
// Controle verplicht veld
    if (check=='R') { if (!obj.value) {
  errors += ' - '+nm+' is verplicht\n';
    if (visual) { visual += ","+obj.name; } else { visual = obj.name; } } }
// Controle isEmail
    else if (check=='isEmail'||check=='RisEmail') { if (!CheckEmailAddress(obj.value)) {
  errors+=' - '+nm+' moet een e-mail adres zijn.\n';
    if (visual) { visual += ","+obj.name; } else { visual = obj.name; } } }
// Controle isChecked
    else if (check.indexOf('isChecked')==0) { if (!obj.checked) {
  errors += ' - '+nm+' is verplicht\n';
    if (visual) { visual += ","+obj.name; } else { visual = obj.name; } } }
// Geef errors weer
  } } if (errors) { alert("De volgende fouten zijn opgetreden:\n"+errors); HM_WarnVisual(visual); }
  document.HM_returnValue = (errors == '');
}

function validateForm(lng,frm) {
  if (lng=="nl") {
    if (frm.id=="frmRegister") {
      HM_validateFormFieldsNL(frm.name,'R','Naam',frm.email,'RisEmail','E-mail',frm.password,'R','Wachtwoord',frm.password2,'R','Herhaal wachtwoord',frm.voorwaarden,'isChecked','Algemene voorwaarden');
    } else if (frm.id=="frmActivate") {
      HM_validateFormFieldsNL(frm.email,'R','E-mail',frm.code,'R','Persoonlijke code');
    } else if (frm.id=="frmPostAd") {
      HM_validateFormFieldsNL(frm.frm_postLooptijdAdvert,'R','Looptijd advertentie',frm.frm_postObjectsoort,'R','Soort',frm.frm_postTitel,'R','Korte omschrijving',frm.frm_postContent,'R','Uitgebreide omschrijving',frm.frm_postLandRegio,'R','Provincie');
    } else if (frm.id=="frmExtendAd") {
      HM_validateFormFieldsNL(frm.frm_postLooptijdAdvert,'R','Looptijd advertentie');
    } else if (frm.id=="frmChangePass") {
      HM_validateFormFieldsNL(frm.email,'RisEmail','E-mail adres',frm.code,'R','Verificatie code',frm.ww1,'R','Nieuw wachtwoord',frm.ww2,'R','Herhaal wachtwoord');
    } else { alert('No valid form defined'); return; }
    if (document.HM_returnValue) { frm.submit(); }
  } else { alert('No valid language defined'); return; }
}

function checkPassword(frm) {
  if (frm.password&&frm.password2) {
    if (frm.password.value&&frm.password2.value&&frm.password.value!=frm.password2.value) {
      frm.password.value = ''; frm.password2.value = '';
} } }
