// ************************************************************************
// Autor: Thomas Bauer                                                    *
// erstellt am: 28.02.2010                                                *
//                                                                        *
// 07.08.10: Telefonnummer, Name hinzugefuegt                             *
// 10.08.10: Name in Eigenname geaendert                                  *
// 17.08.10: Gruppenname hinzugefuegt                                     *
// 29.08.10: Selection hinzugefuegt (bei Selektionslisten Werte sperren)  *
// 02.09.10: Gruppennamen angepasst, Hilfetexte ueberarbeitet             *
// 24.02.11: PLZ hinzugefuegt, Telefon offener gestaltet                  *
// ************************************************************************

// Methoden definieren
jQuery.extend(jQuery.validator.methods, {
   // Buchstaben incl. dt. Umlaute, Ziffern, Bindestrich, Leerzeichen
   shortText: function(value, element) {
      return this.optional(element) || /^[a-zA-Z0-9-\u00E4\u00F6\u00FC\u00C4\u00D6\u00DC\u00DF\s]+$/.test(value);
   },
   // Buchstaben incl. dt. Umlaute, Bindestrich, Punkt, Leerzeichen
   Eigenname: function(value, element) {
      return this.optional(element) || /^[a-zA-Z-\.\u00E4\u00F6\u00FC\u00C4\u00D6\u00DC\u00DF\s]+$/.test(value);
   },
   // alphanumerische Zeichen ohne. dt. Umlaute, Bindestrich, Punkt, Unterstrich
   Asciiname: function(value, element) {
      return this.optional(element) || /^[a-zA-Z0-9-_\.]+$/.test(value);
   },
   // alphanumerische Zeichen incl. dt. Umlaute, Bindestrich, Schraegstrich, Punkt, Plus, Kaufmanns-Und, Leerzeichen, Anfuehrungszeichen (einfach, doppelt)
   Gruppenname: function(value, element) {
      return this.optional(element) || /^[a-zA-Z0-9-+\.\"()\'\/\u0026\u00E4\u00F6\u00FC\u00C4\u00D6\u00DC\u00DF\s]+$/.test(value);
   },
   // alphanumerische Zeichen incl. dt. Umlaute, Ziffern, Satzzeichen
   Satz: function(value, element) {
      return this.optional(element) || /^[a-zA-Z0-9\.,;:\-!?%()\"\'\+\/\u00BB\u00AB\u2018\u2019\u201A\u201B\u201C\u201D\u201E\u201F\u0026\u00E4\u00F6\u00FC\u00C4\u00D6\u00DC\u00DF\s]+$/.test(value);
   },
   // Emailadressen
   Email: function(value, element) {
      return this.optional(element) || /^[a-zA-Z][a-zA-Z0-9\.\-_]+@[a-zA-Z0-9\.\-_]+\.[a-zA-Z]{2,4}$/.test(value);
   },
   // Telefonnummern mit '/' als Trenner
   Telefon: function(value, element) {
      return this.optional(element) || /^\+?[0-9\s-\/]+$/.test(value);
   },
   // Postleitzahl
   PLZ: function(value, element) {
      return this.optional(element) || /^\d{5}$/.test(value);
   },
   Selection: function(value, element, param) {
      return this.optional(element) || value!=param;
   },
   Multiple: function() {
      return true;
   }
});

// Hilfetexte definieren
jQuery.extend(jQuery.validator.messages, {
   shortText:   "Alphanumerische Zeichen inkl. deutscher Umlaute, Leerzeichen und '-' sind erlaubt",
   Satz:        "Alphanumerische Zeichen und die allgemeinen Satzzeichen sind erlaubt",
   Email:       "Geben Sie bitte eine gültige E-Mail Adresse ein.",
   Eigenname:   "Buchstaben inkl. deutscher Umlaute, '-' und '.' sind erlaubt",
   Asciiname:   "Alphanumerische Zeichen OHNE. deutsche Umlaute, '-', '_' und '.' sind erlaubt",
   Gruppenname: "Alphanumerische Zeichen inkl. deutscher Umlaute, Leerzeichen und die folgenden Zeichen: . - + / ( ) \" ' &",
   Telefon:     "Telefonnummer immer im Format &lt;Vorwahl&gt; (3-5 Ziffern)/&lt;Rufnummer&gt; (min. 3 Ziffern) eingeben.",
   Selection:   "Bitte eine andere Auswahl als die Auswahlaufforderung auswählen.",
   Container:   "Es muss mindestens ein Eintrag definiertv werden.",
   Multiple:    "Auswahl mehrere Gruppen durch Drücken der Taste STRG und Klick mit der Maus auf einzelne Elemente."
});
