$(function(){

	$("#submission_form").submit(function(){
		var good = true;
		$(".required").remove();
		
		if (good) {
			$(".vol_required").each(function(){
				if (!$(this).val()) {
					$(this).after('<span class="required"> Required<\/span>');
					this.focus();
					good = false;
					return false;
				}
			});
		}
		if (good) {
			var filter = /^[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|AERO|ARPA|ASIA|BIZ|CAT|COM|COOP|EDU|GOV|INFO|INT|JOBS|MIL|MOBI|MUSEUM|NAME|NET|ORG|PRO|TEL|TRAVEL)$/i;
			$(".val_email").each(function(){
				if (!filter.test($(this).val())) {
					$(this).after('<span class="required"> Email is not valid</span>');
					false_check = 1;
					this.focus();
					good = false;
					return false;
				}
			});
		}
		if (good) {
			var filter = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/;
			$(".val_phone").each(function(){
				if ($(this).val().length > 0 && !filter.test($(this).val())) {
					$(this).after('<span class="required"> Phone number is not valid</span>');
					false_check = 1;
					this.focus();
					good = false;
					return false;
				}
			});
		}
		if (good) {
			$(".val_number").each(function(){
				var number = parseInt($(this).val(), 10);
				if (isNaN(number) || number <= 0) {
					$(this).after('<span class="required"> Must be a number greater than 0</span>');
					false_check = 1;
					this.focus();
					good = false;
					return false;
				}
			});
		}
		if (good) {
			if ($("#email").val() != $("#email_confirm").val()) {
				$("#email_confirm").after('<span class="required">&nbsp;Emails do not match</span>');
				false_check = 1;
				$("#email").focus();
				good = false;
				return false;
			}
		}
		return good;
	});	
});
