$(document).ready(function() {
	$(".mailer-form").submit(function(){
		var form = document.forms[0];
		
	    if (($("input:checked").val() == "") || ($("input:checked").val() == null)) {
			alert("Please select a reason for contacting us.");
			return false;
		}
		
		if ($(form.elements['mailer[name]']).hasClass("emptyField")) {
			alert("Please enter your name.");
			$(form.elements['mailer[name]']).focus();
			return false;
		}
		
		if ($(form.elements['mailer[email]']).hasClass("emptyField")) {
			alert("Please enter your e-mail address.");
			$(form.elements['mailer[email]']).focus();
			return false;
		} else {
			var emailFilter=/^.+@.+\..{2,3}$/;
			if (!(emailFilter.test($(form.elements['mailer[email]']).val()))) {
				alert("Please enter a valid e-mail address.");
				$(form.elements['mailer[email]']).focus();
				return false;
			} else {
				var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/;
				if ($(form.elements['mailer[email]']).val().match(illegalChars)) {
					alert("The e-mail address contains illegal characters.");
					$(form.elements['mailer[email]']).focus();
					return false;
				}
			}
		}
		
		if ($(form.elements['mailer[message]']).hasClass("emptyField")) {
			alert("Please enter a message.");
			$(form.elements['mailer[message]']).focus();
			return false;
		}
		
		if ($(form.elements['mailer[heard_where]']).val() == "") {
			alert("Please select where you heard about us from the drop-down menu.");
			return false;
		}
		return true;
	})
	
	function emptyField(v) {
		if (this.defaultValue == $(this).val() && $(this).hasClass("emptyField")) {
			$(this).val("");
			$(this).removeClass("emptyField");
		}
	}

	function onFieldLeave(v) {
		if (($(this).val() == null) || ($(this).val().length == 0)) {
			$(this).addClass("emptyField")
			$(this).val(this.defaultValue);
		}
	}

	$(document).ready(function () {
		$("input:not(:submit, :radio, :checkbox), textarea").focus(emptyField);
		$("input:not(:submit, :radio, :checkbox), textarea").blur(onFieldLeave);
	});
});
