function checkTextfield(objTextField, txtFieldName, tfAllowEmpty, intMaxLength){
   objTextField.value = Trim(objTextField.value);
   if(!(tfAllowEmpty)){
      if(objTextField.value == ""){
         alert("Bitte geben Sie im folgenden Feld etwas ein: \"" + txtFieldName + "\"");
         objTextField.focus();
         return false;
      }
   }
   if(intMaxLength > 0){
      if(objTextField.value.length > intMaxLength){
         alert("Das Feld \"" + txtFieldName + "\" darf nicht länger als " + intMaxLength + " Zeichen sein!");
         objTextField.value = objTextField.value.substring(0, intMaxLength);
         objTextField.focus();
         return false;
      }
   }
   return true;
}

function checkNumfield(objTextField, txtFieldName, tfAllowEmpty, tfInteger, intMinimum, intMaximum){
var nTest;

   objTextField.value = Trim(objTextField.value);
   if(!(tfAllowEmpty)){
      if(objTextField.value == ""){
         alert("Bitte geben Sie im folgenden Feld etwas ein: \"" + txtFieldName + "\"");
         objTextField.focus();
         return false;
      }
      if(objTextField.value < intMinimum){
         alert("Die Zahl im Feld \"" + txtFieldName + "\" muss größer gleich " + intMinimum + " sein!");
         objTextField.focus();
         return false;
      }
      if(objTextField.value > intMaximum){
         alert("Die Zahl im Feld \"" + txtFieldName + "\" muss kleiner gleich " + intMaximum + " sein!");
         objTextField.focus();
         return false;
      }
      if(isNaN(objTextField.value)){
         alert("Bitte geben Sie im folgenden Feld eine Zahl ein: \"" + txtFieldName + "\"");
         objTextField.focus();
         return false;
      }
      if(tfInteger){
         nTest = objTextField.value;
         while(nTest.substring(0, 1) == "0"){
            nTest = nTest.substring(1);
         }
         if(nTest == "") nTest = "0";
         if(nTest != parseInt(nTest)){
            alert("Bitte geben Sie im folgenden Feld eine ganze Zahl ein: \"" + txtFieldName + "\"");
            objTextField.value = parseInt(objTextField.value);
            objTextField.focus();
            return false;
         }
      }
   } else {
      if(objTextField.value != ""){
         if(objTextField.value < intMinimum){
            alert("Die Zahl im Feld \"" + txtFieldName + "\" muss größer gleich " + intMinimum + " sein!");
            objTextField.focus();
            return false;
         }
         if(objTextField.value > intMaximum){
            alert("Die Zahl im Feld \"" + txtFieldName + "\" muss kleiner gleich " + intMaximum + " sein!");
            objTextField.focus();
            return false;
         }
         if(isNaN(objTextField.value)){
            alert("Bitte geben Sie im folgenden Feld eine Zahl ein: \"" + txtFieldName + "\"");
            objTextField.focus();
            return false;
         }
         if(tfInteger){
            nTest = objTextField.value;
            while(nTest.substring(0, 1) == "0"){
               nTest = nTest.substring(1);
            }
            if(nTest == "") nTest = "0";
            if(nTest != parseInt(nTest)){
               alert("Bitte geben Sie im folgenden Feld eine ganze Zahl ein: \"" + txtFieldName + "\"");
               objTextField.value = parseInt(objTextField.value);
               objTextField.focus();
               return false;
            }
         }
      }
   }
   return true;
}

function checkAllowedChars(checkString, checkOK){
   var allValid;
   var i;
   var ch;
   var j;

   allValid = true;
   for(i = 0;  i < checkString.length;  i++){
      ch = checkString.charAt(i);
      for(j = 0;  j < checkOK.length;  j++){
         if(ch == checkOK.charAt(j)){
            break;
         }
      }
      if (j == checkOK.length){
         allValid = false;
         break;
      }
   }
   return allValid;
}

function Trim(str){
   while((str.length > 0) && (str.substring(0,1) == " ")){
      str = str.substring(1);
   }
   while((str.length > 0) && (str.substring(str.length - 1) == " ")){
      str = str.substring(0, str.length - 1);
   }
   return(str)
}

function checkEMail(o_email, tf_allowempty){
   var re_email = /^([_a-zA-Z0-9-\.]+)*@([a-zA-Z0-9-]{2,}\.)*([a-zA-Z]{2,4})$/;
   var email = o_email.value;
   var tf_checked;

   tf_checked = true;
   if (email.length == 0){
      if (!(tf_allowempty)){
         alert("Bitte geben Sie eine E-Mail-Adresse an!");
      }
      tf_checked = tf_allowempty;
   } else {
      if(!(re_email.test(email))){
         tf_checked = confirm("Die angegebene E-Mail-Adresse scheint ungültig zu sein? Wollen Sie diese Adresse:\"" + email + "\" wirklich verwenden?");
      }
   }
   if(!(tf_checked)) o_email.focus();
   return tf_checked;
}
