/* 
	This Function Controls jQuery form validate 	
*/

$(document).ready(function() {
	
	// validate signup form on keyup and submit
	$("#service_form,#mini").validate({
		rules: {
			firstname: "required",
			lastname: "required",
			fullname: "required",
			email: {
				required: true,
				email: true
			},
			confirm_email: {
				required: true,
				equalTo: "#email"
			},
			phone_number: {
				minlength:10,
				number:true
			},
			verif_box: {
				required: true
			},
			zip_code: {
				minlength:5,
				number:true
			}
		},
		messages: {
			firstname: "Please enter your firstname",
			lastname: "Please enter your lastname",
			fullname: "Please enter your first and last name",
			phone_number: "Please provide a valid phone number no spaces include area code",
			confirm_email: {
				required: "Please provide the same valid email address",
				equalTo: "Please enter the same email address as above"
			},
			email: "Please provide a valid email address",
			agree: "Please accept our policy",
			verif_box: "Please enter the 4 digit code you see"
		}
	});
	
	// 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);
	});
});
