
$().ready(function() {
	
	// validate signup form on keyup and submit
	$("#Volunteer").validate({
		rules: {
			name: "required",
			phone: "required",
			address1: "required",
			motivation: "required",
			availability: "required",
			email: {
				required: true,
				email: true
			},		
		},
		messages: {
			name: "Please enter your name",
			phone: "Please enter your phone number",
			address1: "Please enter your address",
			motivation: "Please enter your address",
			availability: "Please enter your preferred days/hours",
			email: "Please enter a valid email address",
		}
	});

	// validate signup form on keyup and submit
	$("#Canvas-Contact").validate({
		rules: {
			firstname: "required",
			lastname: "required",
			phone: "required",
			address1: "required",
			city: "required",
			state: "required",
			zip: "required",
			interests: "required",
			options: "required",
			individual: "required",
			senior: "required",
			family: "required",
			student: "required",
			donation: "required",
			payment: "required",
			email: {
				required: true,
				email: true
			},		
		},
		messages: {
			email: "Valid email only",
			interests: "Please select one",

		}
	});
	
	// 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;
		}
	});
	
	// check if confirm password is still valid after password changed
	$("#password").blur(function() {
		$("#confirm_password").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);
	});
});



