$(function(){
	$(".wrong_msg").hide();
	$.validator.addMethod("othervalue",function(value,element,params){
		//var rel_value=$(this).attr("rel");
		if(value!="Vorname"&&value!="Nachname"&&value!="Ihre Frage")
		{
			return true;
		}
		else
			return false;
	},"input new value");
	$.validator.addMethod("clearvalue",function(value,element,params){
		if (value == "PLZ" || value == "Telefon" || value == "E-Mail" || value == "Fax") {
			element.value = "";
		}
		return true;
	});
	$("#kon").validate({
		rules: {
			firstname:{
				required: true,
				othervalue: true,
				minlength: 2
			},
			lastname:{
				required: true,
				othervalue: true,
				minlength: 2
			},
			message: {
				required: true,
				othervalue: true,
				rangelength: [5,250]
			},
			company:{

			},
			address:{

			},
			number: {
			},
			postcode: {
				clearvalue: true,
				number: true,
				rangelength: [5,5]
			},
			location: {
				minlength: 2
			},
			email: {
				clearvalue: true,
				required: function(element) {
					if($(element).val() == "E-Mail") {
						$(element).val('');
					}
					return $("#email_bitte:checked").length === 1;
				},
				email: true,
				othervalue: true
			},
			phone: {
				clearvalue: true,
				required: function(element) {
					if($(element).val() == "Telefon") {
						$(element).val('');
					}
					return $("#tel_bitte:checked").length === 1;
				},
				number: true,
				othervalue: true
			},
			fax: {
				clearvalue: true,
				required: function(element) {
					if($(element).val() == "Fax") {
						$(element).val('');
					}
					return $("#fax_bitte:checked").length === 1;
				},
				number: true,
				othervalue: true
			},
			contacttype: {
				required: true,
				range: [1, 3]
			}

		},
		invalidHandler: function(e, validator) {
			var errors = validator.numberOfInvalids();
			if (errors) {
				if ($('#plz').val() == "") {
					$('#plz').val("PLZ")
				}
				if ($('#telefon').val() == "") {
					$('#telefon').val("Telefon")
				}
				if ($('#email').val() == "") {
					$('#email').val("E-Mail")
				}
				if ($('#fax').val() == "") {
					$('#fax').val("Fax")
				}
				var message = errors == 1
				? 'You missed 1 field. It has been highlighted below'
				: 'You missed ' + errors + ' fields.  They have been highlighted below';
				$(".wrong_msg").css("display","block");
			//$("label[for='vorname']").html("Bitte geben Sie einen Vornamen an.");

			} else {
				$(".wrong_msg").hide();

			}
		},
		onkeyup: true,
		submitHandler:function(form){
			$.post(
				"/kontakt/submit",
				$("#kon").serializeArray(),
				function (data) {
					if(data.status == "ok") {
						$(".wrong_msg").text("Ihre Anfrage wurde erfolgreich gesendet.").css('color', '#009900').show();
						window.location.href = '/kontakt/erfolg';
					} else {
						$(".wrong_msg").text("Es ist ein Fehler aufgetreten: " + data.message).css('color', '#FE0000').show();
					}
				},
				"json")
			.error(function() {
				$(".wrong_msg").text("Es ist ein Fehler aufgetreten: Das Formular konnte nicht gesendet werden. Bitte versuchen Sie es sp&auml;ter erneut.").css('color', '#FE0000').show();
			});
		},
		debug:false,
		onclick:true,
		focusCleanup: true,
		errorPlacement: function(error, element) {
			element.parents().find("label").addClass("error1");
		}
	});
	$("input:text,textarea").blur(function(){
		if(!$(this).hasClass("error"))
		{
			$(this).parent().find(".error1").removeClass("error1");
			$("label[for='vorname']").html("* Pflichtfeld");
		}
		else
			$(this).parent().find(".error1").addClass("error1");
	});
	$("input:radio").click(function(){
		if(!$(this).hasClass("error"))
		{
			$(this).parents().find(".error1").removeClass("error1");
		}
	});
})
