$().ready(function() {
	// validate the comment form when it is submitted
	$("#commentForm").validate();
	$("#createForm").validate();
	// validate signup form on keyup and submit
	$("#signupForm").validate({
		rules: {
			pass: {
				required: true,
				minlength: 5
			},
			confirm_pass: {
				required: true,
				minlength: 5,
				equalTo: "#pass"
			},
			email: {
				required: true,
				email: true
			},

			name: "required",
			surname: "required"
		},
		messages: {

			password: {
				required: "Pole jest wymagane",
				minlength: "Hasło musi zawierać przynajmniej 5 znaków"
			},
			confirm_password: {
				required: "Pole jest wymagane",
				minlength: "Hasło musi zawierać przynajmniej 5 znaków",
				equalTo: "Pole hasło i powtórz hasło muszą być takie same"
			},
			email: {
				required: "Pole jest wymagane"
			},
			name: {
				required: "Pole jest wymagane"
			},	
			surname: {
				required: "Pole jest wymagane"
			},				
		}
	});


	$("#loginForm").validate({
		rules: {
			pass: {
				required: true,
				minlength: 5
			},

			email: {
				required: true,
				email: true
			},
		},
		messages: {

			password: {
				required: "Pole jest wymagane",
				minlength: "Hasło musi zawierać przynajmniej 5 znaków"
			},
			email: {
				required: "Pole jest wymagane"
			}			
		}
	});


	$("#generateForm").validate({
		rules: {
			name: {
				required: true
			},

			body_description: {
				required: true
			},
		},
		messages: {

			password: {
				required: "Pole jest wymagane",
				minlength: "Hasło musi zawierać przynajmniej 5 znaków"
			},
			email: {
				required: "Pole jest wymagane"
			}			
		}
	});

	// 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);
	});
});

