function ValidEmail(elm,label) {
   elm.value = Trim(elm.value);
   if (elm.value != "") {
      var arrMatch=new RegExp("^[A-Za-z0-9_-]+([.][A-Za-z0-9_-]+){0,5}[@][A-Za-z0-9_-]+([.][A-Za-z0-9_-]+){1,3}$").exec(elm.value)
      if(!arrMatch) {
         if (label != "")
           alert ("'"+label+"' is ongeldig.");
        return false; 
      }
   }
   return true
}

function ValidInteger(elm,label) {
   elm.value = Trim(elm.value);
   if (elm.value != "") {
      var arrMatch=new RegExp("^[0-9]+$").exec(elm.value)
      if(!arrMatch) {
         if (label != "")
           alert ("'"+label+"' is ongeldig getal.");
        return false; 
      }
   }
   return true
}

function ValidSignedInteger(elm,label) {
   elm.value = Trim(elm.value);
   if (elm.value != "") {
      var arrMatch=new RegExp("^[-]{0,1}[0-9]+$").exec(elm.value)
      if(!arrMatch) {
         if (label != "")
           alert ("'"+label+"' is ongeldig getal.");
        return false; 
      }
   }
   return true
}

function ValidPassword (elm1,elm2,label)
{
   elm1.value = Trim(elm1.value);
   elm2.value = Trim(elm2.value);
   var result = true;
   if (elm1.value != elm2.value) {
      alert ("De twee opgegeven wachtwoorden komen niet overeen.");
      elm1.value="";
      elm2.value="";
      elm1.focus();
      result = false;
   }
   return result;

}

function ValidDate (elm,label,required) {

   var result = true;

   elm.value = Trim(elm.value);
   if ((elm.value.replace(/^ */,"") == "" || elm.value.replace(/^ */,"") == "DD-MM-YYYY") && required) {
      alert ("U hebt geen '" + label + "' ingevoerd.\nGebruik het formaat DD-MM-YYYY.")
      result = false;
   }
   else {
      if (elm.value.replace(/^ */,"") != "" && elm.value.replace(/^ */,"") != "DD-MM-YYYY") {
         parts = elm.value.split("-");
         if (!(parts[0] > 0 && parts[0] <= 31 && parts[1] > 0 && parts[1] <= 12 && parts[2] >= 1900 && parts[2] <= 2050)) {
            alert ("U hebt een ongeldige '" + label + "' ingevoerd.\nGebruik het formaat DD-MM-YYYY.");
            result = false;
         }
      }
   }
   return result;
}


function ValidTime (elm,label) {

   var result = true;

   elm.value = Trim(elm.value);
   if (elm.value.replace(/^ */,"") != "" && elm.value.replace(/^ */,"") != "HH:MM") {
      parts = elm.value.split("-");
      if (!(parts[0] > 0 && parts[0] <= 23 && parts[1] > 0 && parts[1] <= 59)) {
         alert ("U hebt een ongeldige " + label + " ingevoerd.\nGebruik het formaat HH:MM.");
         result = false;
      }
   }
   return result;
}

function ValidDateTime (elm,label) {

   var result = true;

   elm.value = Trim(elm.value);
   if (elm.value.replace(/^ */,"") != "" && elm.value.replace(/^ */,"") != "DD-MM-YYYY HH:MM:SS") {
      parts = elm.value.split(/[- :]/);
      if (!(parts[0] > 0 && parts[0] <= 31 &&
            parts[1] > 0 && parts[1] <= 12 &&
            parts[2] >= 1900 && parts[2] <= 2999 &&
            parts[3] >= 0 && parts[3] <= 23&&
            parts[4] >= 0 && parts[4] <= 59&&
            parts[5] >= 0 && parts[5] <= 59)) {
         alert ("U hebt een ongeldige " + label + " ingevoerd.\nHoud het volgende formaat aan: DD-MM-YYYY HH:MM:SS.");
         result = false;
      }
   }
   return result;
}

function RadiobuttonChecked (elm,label) { 
   var result = false;
   if (elm.length == null) {
  
      result = elm.checked;
   } 
   else 
   { 
      i=0;
      while (i<elm.length && !result) {
      
//       alert (" " + i + ": " + elm[i].checked); 
         result = elm[i].checked;
         i++; 
      }
      if (!result) 
         elm[0].focus();
   }
   if (!result)  
      if (label != "")
         alert ("U bent vergeten een waarde voor '"+label+"' te kiezen.");
   return result; 
} 

function OptionSelected (elm,label,min) {
   var result = true;
   if (elm.options.selectedIndex < min) {
      elm.focus();
      if (label != "") 
         alert ("U bent vergeten een '"+label+"' te kiezen.");
      result = false;
   }
   return result;
}

function isEmpty (elm,label) {
   var result = false;
   if (elm.value.replace(/^ */,"") == "") {
      result = true;
      elm.focus();
      if (label != "") 
         alert ("U bent vergeten een '"+label+"' in te voeren.");
   }
   return result;
}

function Trim(str) {
   str = str.replace(/^\s*/,"");
   str = str.replace(/\s*$/,"");
   return str; 
} 



function FormatVoorletters(elm) {
      
   elm.value = elm.value.replace(/^ */,"");
   var parts = elm.value.split(".");

   elm.value = "";
   for (i=0;i<parts.length;i++) {
      if (parts[i].length > 0) {
         part = parts[i].toLowerCase();
         if (part.length == 1)
            part = part.toUpperCase();
         else 
            part = part.substring(1,0).toUpperCase() + part.substring(2,1);
         elm.value += part + "."; 
      }
   }        
}

