var timer;

$(document).ready(function(){
	$("#notifySignup").validate({
		onfocusout: false,
   		onclick: false,
		onkeyup: false,
		errorClass: 'failureContact',
		errorPlacement: function(error, element) {
			error.insertAfter(element);
		},
		errorElement: 'div',
		rules: {
			email: {
				required: true,
				email: true
			},
			firstname: {
				required: true
			},
			lastname: {
				required: true
			}
		},
		messages: {
			email: {
				required: "Enter an e-mail address",
				email: "Invalid address entered"
			},
			firstname: {
				required: "We need your first name."
			},
			lastname: {
				required: "We need your last name."
			}
		},
		highlight: null,
		submitHandler: function() {
			$('#notifyStatus').remove();
			$('#submit').attr("disabled","disabled");
			$.post('/updates/register', $('#notifySignup').serialize(),
				function (data, textStatus) {
					$('#submit').removeAttr("disabled");
					switch(textStatus) {
						case 'success':
							if (data.success) {
								$('#submit').after("<div id=\"notifyStatus\" class=\"successContact\">You have been added!</div>");
							} else {
								$('#submit').after("<div id=\"notifyStatus\" class=\"failureContact\">An error occured.</div>");
							}
							break;
						default:
							$('#submit').after("<div id=\"notifyStatus\" class=\"failureContact\">Unable to add information.</div>");
							break;
					}
					$(":input[type!='submit']", $('#notifySignup')).each(function() {
						this.value = "";
					});
					$('#firstname').focus();
					timer = setTimeout(function(){
						$('#notifyStatus').remove();
					}, 5000);
				},
			"json");
		}
	});
});