/*
ACHTUNG: 
zusätzliche Parameter (z.B. Einschränkung von Zahlenbereichen) müssen,
wenn im Kontaktformular selbst nochmal validiert wird (z.B. vor dem  Eintrag in die Datenbank),
dort nochmal übergeben werden.
*/
$().ready(function(){

	jQuery.validator.messages.required = "";
    
    // Eigene Funktion für das Feld   anrede   hinzugefügt
    $.validator.addMethod("checkRegex", function(value, element) {
        return this.optional(element) || /^[a-z]+$/i.test(value);
    });


	$("#kontaktformular").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: {
            kundennummer: {
                digits: true
            },
            anrede: {
                required: "#kundennummer:blank",
                checkRegex: true
            },
			vorname: {
				required: "#kundennummer:blank",
				minlength: 2,
				maxlength: 30
			},
			nachname: {
				required: true,
				minlength: 2,
				maxlength: 30
			},
			strasse: {
				required: "#kundennummer:blank",
				minlength: 2,
				maxlength: 30
			},
			hausnummer: {
				required: "#kundennummer:blank",
				maxlength: 6
			},
			plz: {
				required: "#kundennummer:blank",
				digits: true,
				minlength: 5,
				maxlength: 5
			},
			ort: {
				required: "#kundennummer:blank",
				minlength: 2,
				maxlength: 30
			},
			email: {
				required: "#kundennummer:blank",
				maxlength: 40,
				remote: "formular/check_validate.php?field=email"
			},
			telefon: {
                required: function() {
                            $output = false;
                            if($("#kundennummer").val().replace(/ /g,"") == '' && $("#handy").val().replace(/ /g,"") == '') {
                                $output = true;
                            };                            
							return $output;
						  },
				maxlength: 40,
				remote: "formular/check_validate.php?field=telefon"
			},
			handy: {
                required: function() {
                            $output = false;
                            if($("#kundennummer").val().replace(/ /g,"") == '' && $("#telefon").val().replace(/ /g,"") == '') {
                                $output = true;
                            };                            
                            return $output;
                          },
				maxlength: 40,
				remote: "formular/check_validate.php?field=handy"
			},
			nachricht: {
				required: true,
				minlength: 2,
				maxlength: 400
			},
			werbung: {
				required: "#kundennummer:blank"
			}
		},
		
		messages: {
            anrede: "&Delta; Bitte wählen Sie eine Anrede",
            kundennummer: "&Delta; Bitte geben Sie eine g&uuml;ltige Kundennummer ein",
			kundennummer_anrede_validate: "&Delta; Bitte w&auml;hlen Sie eine Anrede",
			vorname: "&Delta; Bitte geben Sie einen g&uuml;ltigen Vornamen ein",
			nachname: "&Delta; Bitte geben Sie einen g&uuml;ltigen Nachnamen ein",
			strasse: "&Delta; Bitte geben Sie eine Strasse ein",
			hausnummer: "&Delta; Bitte geben Sie eine Hausnummer ein",
			plz: {
				required: "&Delta; Bitte geben Sie eine g&uuml;ltige Postleitzahl ein",
				digits: "&Delta; Die Postleitzahl darf nur Zahlen enthalten",
				minlength: jQuery.format("&Delta; Die Postleitzahl muss mindestens 5-stellig sein")
				},
			ort: "&Delta; Bitte geben Sie einen Ort ein",
			email: {
				required: "&Delta; Dieses Feld darf nicht leer bleiben",
				maxlength: jQuery.format("&Delta; Die E-Mail-Adresse darf h&ouml;chsten 40-stellig ein"),
				remote: "&Delta; Bitte geben Sie eine g&uuml;ltige E-Mail-Adresse ein"
				},	
			telefon: {
				required: "&Delta; Bitte geben Sie eine Telefonnummer ein",
				maxlength: jQuery.format("&Delta; Die Telefonnummer darf h&ouml;chsten 40-stellig sein"),
				remote: "&Delta; 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: "&Delta; Bitte geben Sie eine Handynummer ein",
				maxlength: jQuery.format("&Delta; Die Handynummer darf h&ouml;chsten 40-stellig sein"),
				remote: "&Delta; Bitte geben Sie eine g&uuml;ltige Handynummer ein<br />&nbsp;&nbsp;&nbsp;<u>keine</u> Sonderzeichen au&szlig;er - (z.B. 0160-12345)"
				},
			nachricht: {
				required: "&Delta; Bitte geben Sie eine Nachricht ein",
				minlength: jQuery.format("&Delta; Bitte geben Sie eine Nachricht ein"),
				maxlength: jQuery.format("&Delta; Ihre Nachricht darf h&ouml;chsten 400 Zeichen lang<br />&nbsp;&nbsp;&nbsp;sein")
				},
			werbung: "&Delta; Bitte best&auml;tigen Sie das Feld: Werbung"
		}
	});	
}); 