// $.validator.setDefaults({
// 	submitHandler: function() { alert("submitted!"); }
// });

$(document).ready(function() {
	
	// validate signup form on keyup and submit
	$("#user_form").validate({
		rules: {
			first_name: "required",
			last_name: "required",
			email: {
				required: true,
				email: true
			},
			email_confirmation: {
				required: true,
				equalTo: "#email"
			},
			address_one: "required",
			city: "required",
			state: "required",
			zip_code: {
				required: true,
				minlength: 5,
				digits: true
				},
			tel_num: {
				required: true,
				digits: true,
				minlength: 12
				},
			login: {
				required: true,
				minlength: 4
				},
			password: {
				required: true,
				minlength: 5
			},
			password_confirmation: {
				required: true,
				minlength: 5,
				equalTo: "#password"
			},
			sponsor_code: {
				required: true,
				digits: true
			},
			agree_to_terms: "required"
			
		},
		messages: {
			first_name: "Please enter your First Name",
			last_name: "Please enter your Last Name",
			email: "Please enter a valid email address",
			email_confirm: "This email address does not match",
			address_one: "Please enter your Address",
			city: "Please enter your City",
			zip_code: "Please enter your Zip Code",
			tel_num: "Please provide your Telephone number",
			username: {
				required: "Please enter a username",
				minlength: "Your username must consist of at least 4 characters"
			},
			password: {
				required: "Please provide a password",
				minlength: "Your password must be at least 5 characters long"
			},
			password_confirmation: {
				required: "Please provide a password",
				equalTo: "Please enter the same password as above"
			},
			sponsor_code: "Please enter a valid Promotional Code",
			agree_to_terms: "You must accept the Terms &amp; Conditions"
		}
	});
	
	// propose username by combining first- and lastname
	$("#user_username").focus(function() {
		var first_name = $("#first_name").val();
		var last_name = $("#last_name").val();
		if(first_name && last_name && !this.value) {
			this.value = first_name + "." + last_name;
		}
	});
	
	// check if confirm password is still valid after password changed
	$("#password").blur(function() {
		$("#password_confirmation").valid();
	});
	
	//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);
	});
});