$().ready(function(){

    jQuery.validator.messages.required = "";
    
$("#partnerprogramm_registrieren_formular").validate({

        invalidHandler: function(e, validator){

                var errors = validator.numberOfInvalids();

                if (errors) {
                        var message = errors == 1 ? 'Sie haben 1 Feld nicht richtig ausgef&uuml;llt. Es wurde markiert' : 'Sie haben ' + errors + ' Felder nicht richtig ausgef&uuml;llt. Sie wurden markiert';
                        $("div.error span").html(message);
                        $("div.error").show();
                }
                else {
                        $("div.error").hide();
                }
        },

        rules: {
                firma: {
                    required: true,
                    minlength: 2,
                    maxlength: 30
                },
                vorname: {
                        required: true,
                        minlength: 2,
                        maxlength: 30
                },
                nachname: {
                        required: true,
                        minlength: 2,
                        maxlength: 30
                },
                strasse: {
                        required: true,
                        minlength: 2,
                        maxlength: 30
                },
                plz: {
                        required: true,
                        digits: true,
                        minlength: 5,
                        maxlength: 5
                },
                ort: {
                        required: true,
                        minlength: 2,
                        maxlength: 30
                },
                telefon: {
                        required: "#handy:blank",
                        maxlength: 40,
                        remote: "check_validate.php?field=telefon"
			},
                handy: {
                        required: "#telefon:blank",
                        maxlength: 40,
                        remote: "check_validate.php?field=handy"
			},
                fax: {
                        maxlength: 40,
                        remote: "check_validate.php?field=fax"
			},
                email: {
                       required: true,
                        maxlength: 40,
                        remote: "check_validate.php?field=email"
                },
                homepage: {
                        required: true,
                        minlength: 4,
                        maxlength: 100,
                        remote: "check_validate.php?field=homepage"
                },
                subdomain: {
                    required: true,
                    minlength: 3,
                    maxlength: 30,
                    remote: "check_validate.php?field=subdomain"
                },
                bank: {
                    required: true,
                    minlength: 2,
                    maxlength: 30
                },
                blz: {
                    required: true,
                    digits: true,
                    minlength: 8,
                    maxlength: 8,
                    remote: "check_validate.php?field=blz"
                },
                konto: {
                    required: true,
                    digits: true,
                    minlength: 3,
                    maxlength: 10,
                    remote: "check_validate.php?field=konto"
                },
                kontoinhaber: {
                    minlength: 2,
                    maxlength: 30
                },
                gewerbe: {
                    required: true
		},
                steuernummer: {
                    required: function() {
                                  return $("input[@name='gewerbe']:checked").val()=="1" && $("input[@name='umsatzsteuernummer']").val().length==0;
                              },
                    remote: "check_validate.php?field=steuernummer"
                },
                umsatzsteuernummer: {
                    required: function() {
                                  return $("input[@name='gewerbe']:checked").val()=="1" && $("input[@name='steuernummer']").val().length==0;
                              },
                    remote: "check_validate.php?field=umsatzsteuernummer"
                },
                datenschutz: {
                    required: true
		}
        },

        messages: {
                firma: "&lang;&lang;&lang; Bitte geben Sie eine Firma an",
                vorname: "&lang;&lang;&lang; Bitte geben Sie einen g&uuml;ltigen Vornamen ein",
                nachname: "&lang;&lang;&lang; Bitte geben Sie einen g&uuml;ltigen Nachnamen ein",
                strasse: "&lang;&lang;&lang; Bitte geben Sie Strasse und Hausnummer ein",
                plz: {
                        required: "&lang;&lang;&lang; Bitte geben Sie eine g&uuml;ltige Postleitzahl ein",
                        digits: "&lang;&lang;&lang; Die Postleitzahl darf nur Zahlen enthalten",
                        minlength: jQuery.format("&lang;&lang;&lang; Die Postleitzahl muss 5-stellig sein"),
                        maxlength: jQuery.format("&lang;&lang;&lang; Die Postleitzahl muss 5-stellig sein")
                     },
                ort: "&lang;&lang;&lang; Bitte geben Sie einen Ort ein",
                telefon: {
                        required: "&lang;&lang;&lang; Bitte geben Sie eine Telefonnummer ein",
                        maxlength: jQuery.format("&lang;&lang;&lang; Die Telefonnummer darf h&ouml;chsten 40-stellig sein"),
                        remote: "&lang;&lang;&lang; Bitte geben Sie eine g&uuml;ltige Telefonnummer ein<br />&nbsp;&nbsp;&nbsp;<u>keine</u> Sonderzeichen au&szlig;er - (z.B. 030-123456)"
                        },
                handy: {
                        required: "&lang;&lang;&lang; Bitte geben Sie eine Handynummer ein",
                        maxlength: jQuery.format("&lang;&lang;&lang; Die Handynummer darf h&ouml;chsten 40-stellig sein"),
                        remote: "&lang;&lang;&lang; Bitte geben Sie eine g&uuml;ltige Handynummer ein<br />&nbsp;&nbsp;&nbsp;<u>keine</u> Sonderzeichen au&szlig;er - (z.B. 0160-123456)"
                        },
                fax: {
                        maxlength: jQuery.format("&lang;&lang;&lang; Die Faxnummer darf h&ouml;chsten 40-stellig sein"),
                        remote: "&lang;&lang;&lang; Bitte geben Sie eine g&uuml;ltige Faxnummer ein<br />&nbsp;&nbsp;&nbsp;<u>keine</u> Sonderzeichen au&szlig;er - (z.B. 030-123456)"
                        },
                email: {
                           required: "&lang;&lang;&lang; Dieses Feld darf nicht leer bleiben",
                           maxlength: jQuery.format("&lang;&lang;&lang; Die E-Mail-Adresse darf h&ouml;chsten 40-stellig ein"),
                           remote: "&lang;&lang;&lang; Bitte geben Sie eine g&uuml;ltige E-Mail-Adresse ein"
                       },
               homepage: {
                   required: "&lang;&lang;&lang; Dieses Feld darf nicht leer bleiben",
                   minlength: jQuery.format("&lang;&lang;&lang; Die Homepage muss mindestens 4-stellig ein"),
                   maxlength: jQuery.format("&lang;&lang;&lang; Die Homepage darf h&ouml;chsten 100-stellig ein"),
                   remote: "&lang;&lang;&lang; Bitte geben Sie eine g&uuml;ltige Homepage ein"
               },
               subdomain: {
                    // individuelle Fehlerausgaben
                    required:  "&lang;&lang;&lang; Bitte wählen Sie einen Wunschnamen",
                    minlength: jQuery.format("&lang;&lang;&lang; Der Wunschname muss mindestens<br />&nbsp;&nbsp;&nbsp;3-stellig sein"),
                    maxlength: jQuery.format("&lang;&lang;&lang; Der Wunschname darf h&ouml;chsten 30-stellig sein"),
                    remote: "&lang;&lang;&lang; Bitte tragen Sie einen Wunschnamen ein<br />&nbsp;&nbsp;&nbsp;<u>keine</u> Sonderzeichen au&szlig;er Minus (-)"
                },
               bank: "&lang;&lang;&lang; Bitte wählen Sie eine Bankverbindung",
                blz: {
                    // individuelle Fehlerausgaben
                    required: "&lang;&lang;&lang; Dieses Feld darf nicht leer bleiben",
                    digits: "&lang;&lang;&lang; Die Bankleitzahl darf nur Zahlen enthalten<br />&nbsp;&nbsp;&nbsp;(<u>keine</u> Leerzeichen)",
                    minlength: jQuery.format("&lang;&lang;&lang; Die Bankleitzahl muss 8-stellig sein"),
                    maxlength: jQuery.format("&lang;&lang;&lang; Die Bankleitzahl muss 8-stellig sein"),
                    remote: "&lang;&lang;&lang; Bitte geben Sie nur Zahlen ein<br />&nbsp;&nbsp;&nbsp;(<u>ohne</u> Buchstaben/Sonderzeichen)"
                },
               konto: {
                    // individuelle Fehlerausgaben
                    required: "&lang;&lang;&lang; Dieses Feld darf nicht leer bleiben",
                    digits: "&lang;&lang;&lang; Die Kontonummer darf nur Zahlen enthalten<br />&nbsp;&nbsp;&nbsp;(<u>keine</u> Leerzeichen)",
                    minlength: jQuery.format("&lang;&lang;&lang; Die Kontonummer muss mindestens<br />&nbsp;&nbsp;&nbsp;3-stellig sein"),
                    maxlength: jQuery.format("&lang;&lang;&lang; Die Kontonummer darf h&ouml;chsten 10-stellig sein"),
                    remote: "&lang;&lang;&lang; Bitte geben Sie nur Zahlen ein<br />&nbsp;&nbsp;&nbsp;(<u>ohne</u> Buchstaben/Sonderzeichen)"
                },
                kontoinhaber: {
                    // individuelle Fehlerausgaben
                    minlength: jQuery.format("&lang;&lang;&lang; Der Kontoinhaber muss mindestens<br />&nbsp;&nbsp;&nbsp;3-stellig sein"),
                    maxlength: jQuery.format("&lang;&lang;&lang; Der Kontoinhaber darf h&ouml;chsten 30-stellig sein")
                },
                gewerbe: "&lang;&lang;&lang; Bitte w&auml;hlen Sie Gewerblich: Ja/Nein",
                steuernummer: {
                    // individuelle Fehlerausgaben
                    required: "&lang;&lang;&lang; Dieses Feld darf nicht leer bleiben",
                    remote: "&lang;&lang;&lang; Diese Steuernummer gibt es nicht"
                },
                umsatzsteuernummer: {
                    // individuelle Fehlerausgaben
                    required: "&lang;&lang;&lang; Dieses Feld darf nicht leer bleiben",
                    remote: "&lang;&lang;&lang; Diese Umsatzsteuernummer gibt es nicht"
                },
                datenschutz: "&lang;&lang;&lang; Bitte best&auml;tigen Sie die Teilnahmebedingungen"
        }
    });
}); 
