$(document).ready(function(){

	$('input.star').rating(); 

	// Highlighting Current Inputs/Labels
	$("#form-request input,#form-request textarea,#form-request select")
		.focus(function(){
			$(this).parents(".field").addClass('hover');
		})
		.blur(function(){
			$(this).parents(".field").removeClass('hover');
				// Validate Single Form Element
				$(this).valid();
		});

	// Main Form Validation/Submit
	$("#form-request").validate({
		highlight: function(element, errorClass) {
			$(element).parents(".field").addClass(errorClass);
		},
		unhighlight: function(element, errorClass) {
			$(element).parents(".field").removeClass(errorClass);
		},
		errorElement: "span",
		errorPlacement: function(error, element) {
			//error.appendTo("#main_content");
		},
		submitHandler: function(form) {
			
			// Clear Unentered Prompts
			$("input[value^='Enter']").each(function(){
				$(this).attr("value",$(this).val().replace("Enter...",""));
			});
			// Convert Selects to Input and set the value to the Text value (instead of id)
			
			$(".optgroup option").each(function(){
				if ($(this).attr("value") == $(this).parents("select").val()) {
					$(this).parent().parent().parent().html('<input type="text" name="' + $(this).parent().parent().attr("name") + '" id="' + $(this).parent().parent().attr("id") + '" value="' + $(this).text() + '" tabindex="' + $(this).parent().parent().attr("tabindex") + '" />');
				}
			});	
			
			$(".option option").each(function(){
				if ($(this).attr("value") == $(this).parents().val()) {
					$(this).parent().parent().html('<input type="text" name="' + $(this).parent().attr("name") + '" id="' + $(this).parent().attr("id") + '" value="' + $(this).text() + '" tabindex="' + $(this).parent().attr("tabindex") + '" />');
				}
			});
			
			// Disable Elements (To prevent double submission)
			$("#status").html("Please Wait...");
			$("#form-request input, #form-request textarea, #form-request select").attr("readonly","readonly");
			$("#form-request legend a, #form-request input[type='submit']").hide();			
			
			// Post Form (set value to indicate response should be returned as JSON)
			$("#form").val("json");
			$.post("index.php",$("#form-request").serialize(),function(data){
				// Clear "Please Wait" Status
				$("#status").html("");
				// Process Response
				if (typeof data.Response[0].Message == 'undefined') {
					alert("Error: Unexpected Response");
				} else {
					// Response Message(s)
					var v_msg = "";
					$.each(data.Response,function(i,item) {
						v_msg += ((typeof item.Message != "undefined") ? item.Message + '\r\n' : '');
					});
					alert(v_msg);
					window.location = "../"
					if (typeof data.Response[0].Error != 'undefined') {
						// Re-Enable Elements if error (To prevent double submission)
						$("#form-request input, #form-request textarea, #form-request select").removeAttr("readonly");
						$("#form-request legend a, #form-request input[type='submit']").show();	
					}
				}
			},"json");
		}
	});

});
