$.validator.setDefaults({
	//submitHandler: function() { return true; }
});
$().ready(function() {
	$.validator.addMethod(
		"checkcaptcha",
		function(value, element) {
		var captchaSum = 0;
			$( "form#signupForm .eeb-num" ).each( function() {
				captchaSum +=  parseInt( $( "span#" + $( this ).attr( "id" ) ).html() );
			});
			return ( captchaSum === parseInt( $( "form#signupForm input#captcha" ).val() ) );
		}
	);
	// validate the comment form when it is submitted
	$("#commentForm").validate();
	// validate signup form on keyup and submit
	$("#signupForm").validate({
		rules: {
			firstname: "required",
			lastname: "required",
			email: {
							required: true,
							email: true
						},
			phone: {
							required: false,
							number: true
						},
			district: "required",
			captcha: {
				"required": ( $( "form#signupForm input#captcha" ).length > 0 ),
				"checkcaptcha": ( $( "form#signupForm input#captcha" ).length > 0 )
			},
			city: "required",
			agree: "required"
		},
		messages: {
			firstname: "obbligatorio",
			lastname: "obbligatorio",
			email: {
							required: "obbligatorio",
							email: "indirizzo non valido"
						},
			phone: {
							required: "",
							number: "solo numeri"
						},
			district: "Seleziona una provincia",
			captcha: {
				required: "obbligatorio",
				checkcaptcha: "Controllo Captcha non valido"
			},
			city: "Selezionare una città",
			agree: "obbligatorio"
		}
	});
	// validate signup form on keyup and submit
	$("#tab_1").validate({
		rules: {
			squaremeters_1: {
							required: true,
							number: true
						},
			quotation_1: "required",
			firstname_1: "required",
			lastname_1: "required",
			email_1: {
							required: true,
							email: true
						},
			agree_1: "required"
					},
		messages: {
			squaremeters_1: {
							required: "Compilare e premere Calcola preventivo",
							number: "Inserire un numero e premere Calcola preventivo"
							},
			quotation_1: "Calcolare un preventivo",
			firstname_1: "Il campo nome è obbligatorio",
			lastname_1: "Il campo cognome è obbligatorio",
			email_1: {
							required: "Il campo e-mail è obbligatorio",
							email: "Inserisci un indirizzo email valido"
						},
			agree_1: "  L'accettazione è necessaria"
						}
	});
	// validate signup form on keyup and submit
	$("#tab_2").validate({
		rules: {
			squaremeters_2: {
							required: true,
							number: true
						},
			quotation_2: "required",
			firstname_2: "required",
			lastname_2: "required",
			email_2: {
							required: true,
							email: true
						},
			agree_2: "required"
					},
		messages: {
			squaremeters_2: {
							required: "Compilare e premere Calcola preventivo",
							number: "Inserire un numero e premere Calcola preventivo"
							},
			quotation_2: "Calcolare un preventivo",
			firstname_2: "Il campo nome è obbligatorio",
			lastname_2: "Il campo cognome è obbligatorio",
			email_2: {
							required: "Il campo e-mail è obbligatorio",
							email: "Inserisci un indirizzo email valido"
						},
			agree_2: "  L'accettazione è necessaria"
						}
	});
	// validate signup form on keyup and submit
	$("#tab_3").validate({
		rules: {
			squaremeters_3: {
							required: true,
							number: true
						},
			quotation_3: "required",
			firstname_3: "required",
			lastname_3: "required",
			email_3: {
							required: true,
							email: true
						},
			agree_3: "required"
					},
		messages: {
			squaremeters_3: {
							required: "Compilare e premere Calcola preventivo",
							number: "Inserire un numero e premere Calcola preventivo"
							},
			quotation_3: "Calcolare un preventivo",
			firstname_3: "Il campo nome è obbligatorio",
			lastname_3: "Il campo cognome è obbligatorio",
			email_3: {
							required: "Il campo e-mail è obbligatorio",
							email: "Inserisci un indirizzo email valido"
						},
			agree_3: "  L'accettazione è necessaria"
						}
	});
	// validate signup form on keyup and submit
	$("#tab_4").validate({
		rules: {
			squaremeters_4: {
							required: true,
							number: true
						},
			quotation_4: "required",
			firstname_4: "required",
			lastname_4: "required",
			email_4: {
							required: true,
							email: true
						},
			agree_4: "required"
					},
		messages: {
			squaremeters_4: {
							required: "Compilare e premere Calcola preventivo",
							number: "Inserire un numero e premere Calcola preventivo"
							},
			quotation_4: "Calcolare un preventivo",
			firstname_4: "Il campo nome è obbligatorio",
			lastname_4: "Il campo cognome è obbligatorio",
			email_4: {
							required: "Il campo e-mail è obbligatorio",
							email: "Inserisci un indirizzo email valido"
						},
			agree_4: "  L'accettazione è necessaria"
						}
	});
// propose username by combining first- and lastname
	$("#username").focus(function() {
		var firstname = $("#firstname").val();
		var lastname = $("#lastname").val();
		if(firstname && lastname && !this.value) {
			this.value = firstname + "." + lastname;
		}
	});
	//code to hide topic selection, disable for demo
	var newsletter = $("#newsletter");
	// newsletter topics are optional, hide at first
	var inital = newsletter.is(":checked");
	var topics = $("#newsletter_topics")[inital ? "removeClass" : "addClass"]("gray");
	var topicInputs = topics.find("input").attr("disabled", !inital);
	// show when newsletter is checked
	newsletter.click(function() {
		topics[this.checked ? "removeClass" : "addClass"]("gray");
		topicInputs.attr("disabled", !this.checked);
	});
});