// Eerst letter hoofd letter
// use:  <input type="text" id="id" name="name" onClick="upperCaseFirst('id')" onKeyUp="upperCaseFirst('id')" />
function upperCaseFirst(id){
   currField = document.getElementById(id)
   currVal = currField.value;
   if(currVal){
      chars = currVal.split("");
      
      var x = 0;
      while(x<chars.length){
          chars[0] = chars[0].toUpperCase(); 
        chars[x] = chars[x].toLowerCase(); 
        x++; 
     }
      newVal = chars.join("")
      currField.value = newVal;
   }
   currField.value = currField.value;
   validatieC('',id,'2');
}
//  char controlle numeriek
// use:  <input type="text" id="id" name="name" onClick="validatieN(this,'id')" onKeyUp="validatieC(this,'id')" />
function validatieN(which, id){
   var check = /^([0-9])+$/;
   var veld = document.getElementById(id).value;
   var len = veld.length;
   if(veld.search(check)==-1){
      count = len-1;
      veld = veld.substring(0,count);
      document.getElementById(id).value = veld;
      
      return false;
   }
}
// char controlle met bepaalde tekens
// use:  <input type="text" id="id" name="name" onClick="validatieC(this,'id')" onKeyUp="validatieC(this,'id')" />
function validatieC(which, id, level){
   var check = /^([a-zA-Z]|[.]|[ ]|[']|[`]|[-])+$/;
	if(level!=2){
		var veld = document.getElementById(id).value;
	   var len = veld.length;
	   if(veld.search(check)==-1){
		  count = len-1;
		  veld = veld.substring(0,count);
		  document.getElementById(id).value = veld;
		  
		  return false;
	   }
	}
	else{
	   currField = document.getElementById(id)
	   currVal = currField.value;
	   if(currVal){
		  chars = currVal.split("");
		  
		  var x = 0;
		  while(x<chars.length){
			  if(chars[x].search(check)==-1){
			  	chars[x] = ''; 
			  }
			x++; 
		 }
		  newVal = chars.join("")
		  currField.value = newVal;
	   }
	   currField.value = currField.value;
	}	
}
// Email char controlle
// use: <input type="text" id="id" name="name" onKeyDown="ev(this , 'id')" onKeyUp="ev(this , 'id')"/>
function ev(which, id) {
   var veld = document.getElementById(id).value;
   if(veld) {
      var check = /^([a-zA-Z]|[0-9]|[@]|[.]|[-]|[_])+$/;
      var len = veld.length;
      if(veld.search(check)==-1){
         count = len-1;
         veld = veld.substring(0,count);
         document.getElementById(id).value = veld;
      }
   }   
}

function echeck(str) {

      var at="@"
      var dot="."
      var lat=str.indexOf(at)
      var lstr=str.length
      var ldot=str.indexOf(dot)
      if (str.indexOf(at)==-1){
         return false
      }

      if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
         return false
      }

      if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
          return false
      }

       if (str.indexOf(at,(lat+1))!=-1){
          return false
       }

       if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
          return false
       }

       if (str.indexOf(dot,(lat+2))==-1){
          return false
       }
      
       if (str.indexOf(" ")!=-1){
          return false
       }

        return true               
   }
// good = goede mail, bad is een foute mail	
function ValidateForm(id, good, bad){
   var emailID = document.getElementById(id);
   if(good==""){
	   good = '#8e8271';
   }
   if(bad==""){
	   bad = '#c31313';
   }
   if ((emailID.value==null)||(emailID.value=="")){
      return false
   }
   if (echeck(emailID.value)==false){
      emailID.style.color = bad;
      return false
   }
   emailID.style.color = good;
   return true
 }
// voorletters controlle op chars
// use: <input type="text" name="name" id="id" onkeydown="limiter('id')" onblur="this.value = this.value.toUpperCase('id')" onKeyDown="keycheck('id', event.which, event.keyCode)" />
function limiter(id){
   var check = /^([a-zA-Z]|[.])+$/;
   var veld = document.getElementById(id).value;
   var len = veld.length;
   if(veld.search(check)==-1){
      count = len-1;
      veld = veld.substring(0,count);
      document.getElementById(id).value = veld;
      
      return false;
   }
}

// Key blocker (backspace wel toegestaan) + punt na letter
// use: <input type="text" name="name" id="id" onKeyDown="keycheck('id', event.which, event.keyCode)" />
function keycheck(id, $mozChar, $char, level){
   currField = document.getElementById(id)
   currVal = currField.value;
   if($mozChar != null) {
      if($mozChar != 8 && $mozChar != 46) {
         if(currVal){
            var le = currVal.length;
            var totaal = le-1;
            if(currVal.lastIndexOf('.') == totaal) {
            }
            else{
               chars = currVal;
               chars = chars.toUpperCase()+'.';
               newVal = chars;
               currField.value = newVal;
            }
         }      
      }
   }
   else{
      if($char != 8 && $char != 46) {
            if(currVal){
            var le = currVal.length;
            var totaal = le-1;
            if(currVal.lastIndexOf('.') == totaal) {
            }
            else{
               chars = currVal;
               chars = chars.toUpperCase()+'.';
               newVal = chars;
               currField.value = newVal;
            }
         }      
      }
   }
   if(level==2) {
      document.getElementById(id).value = document.getElementById(id).value.replace('..', '.');
   }
}
