// ==================================================================
// Ueberpruefung, ob ein vorgegebener Strug ausschliesslich aus
// Blanks besteht, bzw. ein Leerstring ist.
// ------------------------------------------------------------------

function isBlank(s)
{ for (var i = 0; i < s.length; i++)
  { var c = s.charAt(i);
    if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
  }
  return true;
}

// ==================================================================
// Validierung des uebergebenen Kontaktformulares
// ------------------------------------------------------------------

function checkKontaktForm(f, a)
{ var fNachname = f.Nachname.value;
  var fStrasse  = f.Strasse.value;
  var fPlzOrt   = f.PlzOrt.value;
  var fTelefon  = f.Telefon.value;
  var fMobilNr  = f.Mobil.value;
  var fEmailAdr = f.EMail.value;
  
  // Set Form-Action
  f.action="/WSoftware.de/cgi-bin/kontakt.pl";
  if (a == 1) f.action="/cgi-lib/kontakt.pl";
  if (a == 2) f.action="http://www.wsoftware.de/cgi-lib/kontakt.pl";
  if (false)
  { alert("New action: " + f.action);
    return false;
  }
  
  // 1. Ist das E-Mail Feld gesetzt?
  //    Wenn ja, ist ein @ Zeichen vorhanden?
  if (!isBlank(fEmailAdr))
  { var numAts = 0;
    for (var i = 0; i < fEmailAdr.length; i++)
    { var c = fEmailAdr.charAt(i);
      if (c == '@') numAts++;
    }
    if (numAts == 1)
    { var msg = "Gueltige E-Mail Adresse: " + fEmailAdr;
      return true;
    }
    else
    { return alertMessage(1);
    }
  }
  
  // 2. Wird ein Kontakt per E-Mail gewuenscht?
  // Dann Meldung, dass E-Mail nicht gesetzt ist!
  if (f.KontaktPerMail.checked)
  { return alertMessage(2);
  }
  
  // 3. Ist eine Telefon-Nr. hinterlegt worden?
  if (isBlank(fTelefon) && isBlank(fMobilNr))
  { if (f.KontaktPerTelefon.checked)
    { return alertMessage(3);
    }
  }
  else
  { return true;
  }
  
  // 4. Sind Nachname, Strasse und Ort erfasst
  if (!isBlank(fNachname) && !isBlank(fStrasse) && !isBlank(fPlzOrt))
  { return true;
  }
  
  return alertMessage(4);
}

// ==================================================================
// Aufbereiten einer Fehlermeldung und Ausgabe derselben
// ------------------------------------------------------------------

function alertMessage(fehlerNummer)
{ var msg;
  msg  = "----------------------------------------------------------------------\n";
  msg += "Das Formular wurde nicht abgeschickt, da uns noch einige \n",
  msg += "zu Bearbeitung notwendige Informationen fehlen.          \n",
  msg += "Wir bitten Sie deshalb um eine entsprechende Korrektur.  \n",
  msg += "----------------------------------------------------------------------\n\n";
  if (fehlerNummer == 1) // keine gueltige E-Mail mit @-Zeichen
  { msg += "Die erfasste E-Mail Adresse kann nicht interpretiert werden!";
  }
  if (fehlerNummer == 2) // E-Mail gewuenscht, aber nicht erfasst
  { msg += "Sie möchten per E-Mail benachrichtigt werden,\n";
    msg += "haben aber keine E-Mail Adresse erfasst!\n";
  }
  if (fehlerNummer == 3) // Telefonkontakt gewuenscht, aber nicht erfasst
  { msg += "Sie möchten per Telefon benachrichtigt werden,\n";
    msg += "haben aber keine Telefon-Nr erfasst!\n";
  }
  if (fehlerNummer == 4) // Keinerlei Adressinformationen gefunden
  { msg += "Es wurden keine bzw. nur unvollständige Informationen\n";
    msg += "vorgefunden, über die wir Sie kontaktieren könnten!\n";
  }
  if (fehlerNummer == 5) // Spam gefunden
  { msg += "Bitte keine Links in Datenfelder einstellen\n";
  }
  msg += "\n\n\n";
  alert(msg);
  return false;
}

