$(document).ready(function(){
	$("form:has(.required)").submit(function(){
		var textFieldError = false;
		var selectError = false;
		var radioError = false;
		var radioNames = Array();
		
		$("input[type=text].required").each(function(){
			if ($(this).val() == "" && !textFieldError) {
				if ($(this).attr("rel") == undefined) textFieldError = "Please enter the " + $(this).attr("name") + ".";
					else textFieldError = $(this).attr("rel");
			}
		});
		
		$("select.required").each(function(){
			if ($(this).val() == "" && !selectError) {
				if ($(this).attr("rel") == undefined) selectError = "Please select a " + $(this).attr("name") + ".";
				 else selectError = $(this).attr("rel");
			}
		});
		
		$("input[type=radio].required").each(function(){
			var name = $(this).attr("name");
			if ($.inArray(name, radioNames) == -1) radioNames.push(name);
		});
		$.each(radioNames, function(key, value){
			var checked = 0;
			$("input[type=radio][name=" + value + "]").each(function(){
				if ($(this).is(":checked")) checked++;
			});
			if (checked == 0 && !radioError) {
				if ($("input[type=radio][name=" + value + "]").attr("rel") == undefined) radioError = "Please select a " + value + ".";
				else radioError = $("input[type=radio][name=" + value + "]").attr("rel");
			}
		});
					
		if (textFieldError) {
			alert(textFieldError);
			return false;
		}
		
		if (selectError) {
			alert(selectError);
			return false;
		}
		
		if (radioError) {
			alert(radioError);
			return false;
		}
	});
});
