$().ready(function() {		
		// validate form on keyup and submit
		// submit function sends via ajax
		$("#survey-form").validate({
			rules: {
				q1: { required: true },
				q1dresponse: { required: "#q1d:checked" },
				q2: { required: true },
				q2dresponse: { required: "#q2d:checked" },
				q3: { required: true },
				q4: { required: true },
				q4gresponse: { required: "#q4g:checked" },
				q5: { required: true },
				q7: { required: true },
				q8: { required: true },
				q9: { required: true },
				q10: { required: true }
			},
			messages: {
				q1: "Please respond.",
				q1dresponse: "Please explain.",
				q2: "Please respond.",
				q2dresponse: "Please explain.",
				q3: "Please respond.",
				q4: "Please respond.",
				q4gresponse: "Please explain.",
				q5: "Please respond.",
				q7: "Please respond.",
				q8: "Please respond.",
				q9: "Please respond.",
				q10: "Please respond."
			},
			submitHandler: function(form) {
				// grab all input, textarea, etc values that exist in this form and put them in an Object
				// grab all checked radio or checkbox fields and put them in the Object too
				var field_values = {};
				$(':input', form).not(":radio, :checkbox").each(function() {
					field_values[$(this).attr('name')] = $(this).val();
				});
				$(':radio, :checkbox', form).filter(':checked').each(function() {
					field_values[$(this).attr('name')] = $(this).val();
				});
				
				// change submit button, display loading div
				$("#survey-form button[@name='submit']").attr({disabled:'disabled',value:'Submit'}).addClass("disabled").css("display","none");
				$("#survey-form .form-load-area").addClass("form-loading").append("Sending data...");

				// send via ajax
				$.ajax({
					type: "POST",
					cache: false,
				  url: $("#survey-form").attr("action"),
					data: field_values,
					dataType: "html",
					success: finishedSendingFormData
				});
				return false;
			}
		});
		
		// function to execute on successful load of new content
		function finishedSendingFormData(data) {
			// add new content
			$("#survey-message").html(data);
			// update submit button
			$("#survey-form button[@name='submit']").removeAttr('disabled').attr({value:'Submit'}).removeClass("disabled").css("display","block");
			$("#survey-form .form-load-area").removeClass("form-loading").empty();
		};
		
		// add form classes for ie (to mimic our css selectors)
		if ($.browser.msie) {
			$("input:checkbox").addClass("type-checkbox");
			$("input:radio").addClass("type-radio");
		};
});
