$(document).ready(function() {

	// when submit button is pressed
	$("#form_name").submit(function() {

		// is set to false if a test is failed
		var valid = true;

		// clear error messages
		$(".error").removeClass();
		$(".error-message").remove();

		// check required fields
		$(".required").each(function() {
			var value = $(this).val();

			if (value.length === 0) {
				$(this).parent().addClass("error").prepend("<span class=\"label warning\">This field is required</span> ");
				valid = false;
			}
		});

		// check for valid email
		$(".email").each(function() {
			var value = $(this).val();
			var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

			if (reg.test(value) === false) {
				$(this).parent().addClass("error").prepend("<span class=\"label warning\">Enter a valid email address</span> ");
				valid = false;
			}
		});

		// an integer without spaces, dots or commas
		$(".numeric").each(function() {
			var value = $(this).val();

			if (value.length !== 0) {
				// true if a number
				if (!((parseFloat(value) === parseInt(value, 10)) && !isNaN(value))) {
					$(this).parent().addClass("error").prepend("<span class=\"label warning\">Enter a number without spaces, dots or commas</span> ");
					valid = false;
				}
			}
		});

		// input should only contain letters with spaces
		$(".alpha").each(function() {
			var value = $(this).val();
			var reg = /^[a-zA-Z ]+$/;

			if (reg.test(value) === false) {
				$(this).parent().addClass("error").prepend("<span class=\"label warning\">Only letters allowed with spaces</span> ");
				valid = false;
			}
		});
		
		return valid;
	});

});
