// JScript source code


// Controleert een form element op juistheid. Geeft true indien ok.
//
// blnNumeric, als deze waarde op true is ingesteld, controleert de functie 
//      of het veld een numerieke waarde bevat
// blnRequired, als deze waarde op true is ingesteld, controleert de functie of
//      er een waarde is ingevoerd
// txtOptions, hieraan kunnen de volgende opties worden meegegeven:
//
//      isEmail, geeft aan dat het om een e-mailveld gaat
//      isDate, geeft aan dat het om een datumveld gaat
//      isBank, geeft aan dat het om een bankveld gaat
function validateInput(objObject, blnNumeric, blnRequired, txtOptions) {
	var blnRetVal = true;
    if (objObject){
		txtOptions = txtOptions.toLowerCase();
		
		if (blnNumeric) {
			blnRetVal = IsNumeric(objObject.value);
		}
		
		if ((blnRetVal) && (blnRequired)) {
			blnRetVal = !isBlank(objObject.value);
		}
		
		if ((blnRetVal) && (txtOptions.indexOf('isemail') > -1)) {
			blnRetVal = ((objObject.value.indexOf('@') > -1) && (objObject.value.indexOf('.') > -1))
		}
		
		if ((blnRetVal) && (txtOptions.indexOf('isdate') > -1)) {
		}
		
		if ((blnRetVal) && (txtOptions.indexOf('isbank') > -1)) {
			blnRetVal = validate_bankaccount(objObject.value);
		}
		
		if ((blnRetVal) && (txtOptions.indexOf('isnotnumeric') > -1)) {
			blnRetVal = !IsNumeric(objObject.value);
		}
		
		if (!blnRetVal) {
			objObject.focus();
		}
    }
	else{
		blnRetVal = true;		
	}
    return blnRetVal;
}

function IsNumeric(sText){
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1){
         IsNumber = false;
      }
   }
   return IsNumber;   
}

function isBlank(val) {
	if(val==null){
	    return true;
	}
	for(var i=0;i<val.length;i++) {
		if ((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){
		    return false;
		}
    }
	return true;
}

function validate_bankaccount(objNode){
 var intDeel, intRest;
 var strInput = objNode;
 var intTot=0;
 if (strInput.length!=9 && strInput.length!=10){
  return true;
 }else{
  for (i=0; i<strInput.length; i++) intTot += strInput.substr(i,1) * (strInput.length - i);
  intDeel = intTot/11;
  intRest = intTot%11;
  return (intRest==0);
 }
}