// check.js
// Funktionen f�r die Plausibilit�tspr�fung von Formularen
// (c) 12.03.2007 Thomas Freese
// T.Freese@bremtec.de
///////////////////////////////////////////////////////////


/*
 *  IsPLZ  -  Pr�fung einer Postleitzahl
 *  Die Funktion liefert true als Ergebnis wenn sich
 *  bei der �bergebenen plz um eine Zahl handelt und
 *  zwischen 1000 und 99999 liegt.
 *  Anderenfalls wird false zur�ckgegeben.
 */
function isPLZ(plz) {
   return plz>=1000 && plz<=99999 && !isNaN(plz);
}
/*
 *  IsEmail  -  Pr�fung einer Email-Adresse
 *  Die Funktion liefert true als Ergebnis wenn die
 *  �bergebene email das @-Zeichen enth�lt und
 *  nach dem @-Zeichen einen Punkt enth�lt
 *  Anderenfalls wird false zur�ckgegeben.
 */
function isEmail(email) {
   var idxAt = email.indexOf('@');
   return (idxAt>0 && email.indexOf(".", idxAt)>0)
}
/*
 *  chkZeichen  -  auf erlaubte Zeichen pr�fen
 *  Die Funktion liefert true als Ergebnis wenn in
 *  teststr nur Zeichen enthalten sind, welche auch
 *  in zchen enthalten sind.
 *  (Gro�- und Kleinschreibung spielt dabei keine Rolle)
 *  Anderenfalls wird false zur�ckgegeben.
 *  Beispiele:
 *    chkZeichen("Otto", "ot") -> true
 *    chkZeichen("Otti", "ot") -> false
 *    chkZeichen("(040)1234-567", "0123456789 ()/-") -> true
 *    chkZeichen("(040)1234q567", "0123456789 ()/-") -> false
 */
function chkZeichen(teststr, zchn) {
   var i=0;
   zchn = zchn.toUpperCase();
   teststr = teststr.toUpperCase();
   var res = teststr.length>0;
   while(i<teststr.length && res)
      res = !(zchn.indexOf(teststr.charAt(i++))==-1);
   return res;
}

/*
 *  isTelNr  -  Pr�fung einer Telefonnummer
 *  Die Funktion liefert true als Ergebnis wenn in
 *  telNr nur folgende Zeichen enthalten sind:
 *  0123456789 ()/-
 *  Anderenfalls wird false zur�ckgegeben.
 */
function isTelNr(telNr) {
   return chkZeichen(telNr, '0123456789 ()/-+');
}