/***********************************************************************************
*
*  Name   : form_lib.js
*  Version: 1.01
*  Firma  : Andreas Luft (c) 2002
*  Autor  : Andreas Luft
*
*  letzte Änderung: 14. Jun. 2002
*
************************************************************************************/








//--- Global ------------------------------------------------------------------------









//===================================================================================
//
//  validateFieldArray();
//
//  arbeitet alle Objekte des Arrys ab und löscht es anschlißend
//  Ist ein Feld leer, dann wird abgebrochen und false zurückgeliefert
//
//-----------------------------------------------------------------------------------
function validateFieldArray( flds ) {

   for (var i = 0; i < flds.length; i ++) {

      if (!flds[i][0].length) {

         if (!validateSingle (flds[i])) return false;
      }
      else {
         if (!validateMulti (flds[i])) return false;
      }
   }
   PopArrayLength(flds);
   return true;
}
//-------------------------------------------------------- END validateFieldArray ---











//===================================================================================
//
//  validateSingle();
//
//  Prüft ob das einzellne Feld des Arrays ausgefüllt ist.
//  Eine Fehlerbehandlung wird durchgeführt.
//  Ist ein Feld leer, dann wird abgebrochen und false zurückgeliefert.
//
//-----------------------------------------------------------------------------------
function validateSingle( flds ) {

   if (flds[0].type == "text" || flds[0].type == "textarea") {
      if ( flds[0].value == "") {
         alert( "Sie müssen " + flds[1]  + " angeben!");
         flds[0].focus();
         return false;
      }
   }
   else {
      if ( flds[0].checked != true) {
         alert( "Sie müssen " + flds[1]  + " angeben!");
         flds[0].focus();
         return false;
      }
   }
   return true;
}
//------------------------------------------------------------ END validateSingle ---












//===================================================================================
//
//  CheckRadio();
//
//  Prüft ob eines von mehreren Feldern ausgewählt ist.
//  Sind alle Felder leer, dann wird abgebrochen und false zurückgeliefert.
//
//-----------------------------------------------------------------------------------
function CheckRadio( fradio ) {

   var s="",i;
   for( i=0; i<fradio.length; i++)if( fradio[i].checked==true) s=fradio[i].value;;
   return s;
}
//---------------------------------------------------------------- END CheckRadio ---











//===================================================================================
//
//  validateMulti();
//
//  Prüft ob eines von mehreren Feldern des Arrays ausgewählt ist.
//  Sind alle Felder leer, dann wird abgebrochen und false zurückgeliefert.
//  Eine Fehlerbehandlung wird durchgeführt.
//
//-----------------------------------------------------------------------------------
function validateMulti( flds ) {

   if ( CheckRadio(flds[0]) == "") {
      alert( "Sie müssen " + flds[1]  + " angeben!");
      flds[0][0].focus();
      return false;
   }
   return true;
}
//------------------------------------------------------------- END validateMulti ---












//===================================================================================
//
//  PopArrayLength();
//
//  Löscht alle Elemente des Arrays.
//
//-----------------------------------------------------------------------------------
function PopArrayLength(flds) {

   var l = flds.length;
   for (var i=0; i<l; i++) flds.pop();
}
//------------------------------------------------------------ END PopArrayLength ---











//===================================================================================
//
//  GetAllForms();
//
//  Gibt alle Elemente des Formulars im angegebenen Textfeld aus.
//
//-----------------------------------------------------------------------------------
function GetAllForms(TextFild) {

   var l = frm.length;
   for (var i=0; i<l; i++) {

      TextFild.value = frm.Kommentare.value + "\n" + frm[i].name;
   }
}
//--------------------------------------------------------------- END GetAllForms ---












//===================================================================================
//
//  CheckZahl();
//
//  Gibt alle Elemente des Formulars im angegebenen Textfeld aus.
//
//-----------------------------------------------------------------------------------
function CheckZahl( flds ) {

  var checkOK = "0123456789,.";
  var checkStr = flds[0].value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "", ch = "";

  for (var i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (var j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Bitte nur Ziffern im Feld '" + flds[1] + "' angeben !");
    flds[0].focus();
    return (false);
  }
  return (true);
}
//----------------------------------------------------------------- END CheckZahl ---












//===================================================================================
//
//  CheckZahlArray();
//
//  Arbeitet alle Objekte des Arrys ab und löscht es anschlißend
//  Ist im Feld keine Zahl, dann wird abgebrochen und false zurückgeliefert
//
//-----------------------------------------------------------------------------------
function CheckZahlArray( flds ) {

   for (var i = 0; i < flds.length; i ++) {

      if (!CheckZahl (flds[i])) return false;
   }
   PopArrayLength(flds);
   return true;
}
//------------------------------------------------------------ END CheckZahlArray ---













//===================================================================================
//
//  CheckMail();
//
//  Arbeitet alle Objekte des Arrys ab und löscht es anschlißend
//  Ist im Feld keine Email, dann wird abgebrochen und false zurückgeliefert
//
//-----------------------------------------------------------------------------------
function CheckMail( flds ) {

   var e = flds[0].value;
   var allValid = false;
   var ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";

   for(var i=0; i < e.length ;i++){

      if(ok.indexOf(e.charAt(i))<0) allValid = true;
   }
   re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
   re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
   if (!e.match(re) && e.match(re_two)) allValid = true;

   if (!allValid)
   {
      alert("Die EMail im Feld '" + flds[1] + "' ist ungültig !");
      flds[0].focus();
      return false;
   }
   return true;
}
//--------------------------------------------------------------- END CheckMail ---














//===================================================================================
//
//  CheckMailArray();
//
//  Arbeitet alle Objekte des Arrys ab und löscht es anschlißend
//  Ist im Feld keine Email, dann wird abgebrochen und false zurückgeliefert
//
//-----------------------------------------------------------------------------------
function CheckMailArray( flds ) {

   for (var i = 0; i < flds.length; i ++) {

      if (!CheckMail (flds[i])) return false;
   }
   PopArrayLength(flds);
   return true;
}
//----------------------------------------------------------- END CheckMailArray ---



