/**
 *
 * Copyright (c) 2002 CRS Unternehmensberatung GmbH
 *
 */
var Gb     = new String();
    Gb     = "ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜß ";  // Großbuchstaben  und SPACE
var Gb1    = new String();
    Gb1    = "ABCDEFGHIJKLMNOPQRSTUVWXYZß";      // Großbuchstaben ohne Umlaute/SPACE
var Kb     = new String();
    Kb     = "abcdefghijklmnopqrstuvwxyzäöüß ";  // Kleinbuchstaben und SPACE
var Kb1    = new String();
    Kb1    = "abcdefghijklmnopqrstuvwxyzß";      // Kleinbuchstaben ohne Umlaute/SPACE
var Zf     = new String();
    Zf     = "0123456789";                       // Ziffern
var Minus  = "-";
var Mailz  = new String();
    Mailz  = "-_.@";                             // Minus, Unterstrich, Punkt, at
var Prefix = "V";
var prefix = "v";
var Prefixm = "M";
var prefixm = "m";
var Titelz = new String();
    Titelz  = "-.";                             // Minus, Punkt
// nach dem at muß eine gültige Internet-Adresse stehen (Provider) www.alles-nach-at
// Eingeber muß dies zunächst manuell prüfen ? Nein : php erzeugt einen Button zur Überprüfung
// Göttinger Mietwohn-Zentrale versendet nach der Datenerfassung automatisch eine email mit
// der Begrüßung des Neukunden und einem Text, der auf Überprüfung hinweist, ob korrekt


function pruefen(eingabe, Zeichen)  // eingabe = Benutzereingabe, Zeichen = gültige Zeichen
{ var korrekt = true;
  for (var i = 0; i < eingabe.length; i++)
       { var zeichen = eingabe.charAt(i);
         if (Zeichen.indexOf(zeichen) == -1)     // Zeichen nicht zulässig
             korrekt = false;
       }
  return korrekt;
}

function zaehlen(eingabe, Zeichen)  // eingabe = Benutzereingabe, Zeichen = ein gültige Zeichen
{ var Anzahl = 0;
  for (var i = 0; i < eingabe.length; i++)
       { var zeichen = eingabe.charAt(i);
         if (Zeichen.indexOf(zeichen) == 0)     // Zeichen gefunden
             Anzahl += 1;
       }
  return Anzahl;
}

// Prüfung für der, die, das
function Festwerte(eingabe)            // prüfen nur Buchstaben
{ var Eingabe = eingabe.toLowerCase();
  if (Eingabe == "der" || Eingabe == "die" || Eingabe == "das")
      return true;
  else
      return false;
}   // end of function

// Prüfung für Objekt-Typ, Geschlecht, etc.
function Buchstaben(eingabe)            // prüfen nur Buchstaben
{ var Zeichen = new String();
      Zeichen = Gb1 + Kb1;   // Groß- und Kleinbuchstaben, ohne Space
  return(pruefen(eingabe, Zeichen));
}   // end of function

// Prüfung für Straße, Name, Vorname, etc.
function Alphabetic(eingabe)            // prüfen auf alphabetisch und minus
{ var Zeichen = new String();
      Zeichen = Gb + Kb + Minus + ".";   // Groß- und Kleinbuchstaben, Space, Minus,
  return(pruefen(eingabe, Zeichen));
}   // end of function

// Prüfung für Hausnummer,

function Alphanumeric(eingabe)   // Benutzereingabe alphabetisch, numerisch, Space, Minus
{ var Zeichen = new String();
      Zeichen = Gb + Kb + Zf + Minus;   // Groß- und Kleinbuchstaben, Ziffern, Space und Minus
  return(pruefen(eingabe, Zeichen));
}   // end of function

function Alphanumeric1(eingabe)   // Benutzereingabe alphabetisch, numerisch, Space, Minus
{ var Zeichen = new String();
      Zeichen = Gb + Kb + Zf + Minus + ",.:;_+";   // Groß- und Kleinbuchstaben, Ziffern, Space und Minus
  return(pruefen(eingabe, Zeichen));
}   // end of function

function Numeric(eingabe)       // Benutzereingabe rein numerisch
{
  return(pruefen(eingabe, Zf));
}   // end of function

function Numeric1(eingabe)       // Benutzereingabe numerisch mit Punkt und Komma
{ var Zeichen = new String();
      Zeichen = Zf + "." + ",";
  if (!pruefen(eingabe, Zeichen))
      return false;
  if (zaehlen(eingabe, ".") > 1)
      return false;
  if (zaehlen(eingabe, ",") > 1)
      return false;
  else
      return true;
}   // end of function

function Numeric2(eingabe)       // Benutzereingabe numerisch mit Punkt
{ var Zeichen = new String();
      Zeichen = Zf + "." + ",";
  if (!pruefen(eingabe, Zeichen))
      return false;
  if (zaehlen(eingabe, ".") > 1)
      return false;
  else
      return true;
}   // end of function

function Numeric3(eingabe)       // Benutzereingabe numerisch mit Punkt
{ var Zeichen = new String();
      Zeichen = Zf + "." + ",";
  if (!pruefen(eingabe, Zeichen))
      return false;
  else
      return true;
}   // end of function

function Numeric4(eingabe)       // Punkt und Komma vertauschen Eingabe 54,32 54.32
{ var i = eingabe.indexOf(".");
  var j = eingabe.indexOf(",");
  if (i != -1) eingabe = eingabe.substr(0,i) + "," + eingabe.substr(i + 1, 100);
  if (j != -1) eingabe = eingabe.substr(0,j) + "." + eingabe.substr(j + 1, 100);
  return eingabe;
}   // end of function

function Numericvb(eingabe)       // Benutzereingabe 3,5 - 4,5
{ var Zeichen = new String();
      Zeichen = Zf + "-" + "," + " ";
  if (!pruefen(eingabe, Zeichen))
      return false;
  else
      return true;
}   // end of function

function Datum(eingabe)       // Benutzereingabe Datum prüfen tt:mm:jhjj
{ var Zeichen = new String();
      Zeichen = Zf;
  var trenner = " ";
  if (eingabe.indexOf(".") != -1)                      { Zeichen += "."; trenner = "."; }
  else { if (eingabe.indexOf(",") != -1)               { Zeichen += ","; trenner = ","; }
         else { if (eingabe.indexOf("/") != -1)        { Zeichen += "/"; trenner = "/"; }
                else { if (eingabe.indexOf(":") != -1) { Zeichen += ":"; trenner = ":"; }}}}
  if (!pruefen(eingabe, Zeichen))
      return false;
  var datum = new Array();
  if (trenner == " ")
     { datum[0] = eingabe.substr(0,2);
       datum[1] = eingabe.substr(3,2);
       datum[2] = eingabe.substr(5,9); }
  else datum = eingabe.split(trenner);
  if ((datum[0] <= 0) || (datum[0] > 31))
      return false;
  if ((datum[1] <= 0) || (datum[1] >= 12))
      return false;
  var heute = new Date();
  var Jahr = heute.getYear();
  if ((datum[2] > Jahr) || (datum[2] < Jahr))
      return false;
  else
      return true;
}   // end of function

function Laenge(eingabe, laenge)       // Beträge prüfen : n.nnn.nnn,nn
{ if (eingabe.length > laenge)
      return false;
}   // end of function

function Betrag1(eingabe)       // Beträge prüfen : n.nnn.nnn,nn
{  if (eingabe.indexOf(",") != -1)      {  // start-if
       betrag1 = new Array();
       betrag1 = eingabe.split(",");
       if (betrag1.length > 2)
           return false;
       if (betrag1.length > 0)
          return(Numeric(betrag1[1]));   } // end-if
}   // end of function

function Betrag2(eingabe, laenge0, laenge1)       // Beträge prüfen : n.nnn.nnn,nn
{ if (eingabe.indexOf(",") != -1)      {  // start-if
      betrag2 = new Array();
      betrag2 = eingabe.split(",");
      if (betrag2[0].length > laenge0)
         return false;
      if (betrag2[1].length > laenge1)
         return false;                  } // end-if
}   // end of function

function pemail(eingabe)   // email-Adresse formal prüfen
{ var Zeichen = new String();
      Zeichen = Gb1 + Kb1 + Zf + Mailz;   // Groß- und Kleinbuchstaben, Mail-Zeichen, Ziffern
  return(pruefen(eingabe, Zeichen));
}   // end of function

function Title(eingabe)   // akademischen Titel prüfen
{ var Zeichen = new String();
      Zeichen = Gb + Kb + Titelz;   // Groß- und Kleinbuchstaben, Grad-Sonderzeichen
  return(pruefen(eingabe, Zeichen));
}   // end of function

function Mkey(eingabe)   // Mieter prüfen
{ var Zeichen = new String();
      Zeichen = Prefixm + prefixm + Zf + Minus;   // nur M-jj-nnnnn
   return(pruefen(eingabe, Zeichen));
}   // end of function

function Mkey2(eingabe)   // Mieter prüfen
{ if (eingabe.charAt(0) != Prefixm && eingabe.charAt(0) != prefixm)
      return false;
  if (eingabe.charAt(1) != Minus && eingabe.charAt(4) != Minus)   // nur M-jj-nnnnn
      return false;
  if (!Numeric(eingabe.substr(2,2)))
      return false;
  if (!Numeric(eingabe.substr(5,5)))
      return false;
}   // end of function

function Vkey(eingabe)   // Vermieter prüfen
{ var Zeichen = new String();
      Zeichen = Prefix + prefix + Zf + Minus;   // nur V-jj-nnnnn
   return(pruefen(eingabe, Zeichen));
}   // end of function

function Vkey2(eingabe)   // Vermieter prüfen
{ if (eingabe.charAt(0) != Prefix && eingabe.charAt(0) != prefix)
      return false;
  if (eingabe.charAt(1) != Minus && eingabe.charAt(4) != Minus)   // nur V-jj-nnnnn
      return false;
  if (!Numeric(eingabe.substr(2,2)))
      return false;
  if (!Numeric(eingabe.substr(5,5)))
      return false;
}   // end of function
