// Shamrock Form Validation for Booking Form, Request Brochure, Questionaire
$(document).ready(function(){

	// Highlighting current labels, Highlighting missing required fields, & removing tabindex (because of extra filtersets functionality)
	$(".validation input,.validation textarea,.validation select")
		.focus(function(){
			$("label[for='" + $(this).attr("id") + "']").parent().addClass('lbl_hover');
			$(this).parent().addClass('inp_hover');
		})
		.blur(function(){
			$("label[for='" + $(this).attr("id") + "']").parent().removeClass('lbl_hover');
			$(this).parent().removeClass('inp_hover');
			$("#" + $(this).attr("id") + ".required[value='']").each(function(){
				// Required is Empty
				$("label[for='" + $(this).attr("id") + "']").parent().addClass('lbl_warning');
				$(this).parent().addClass('inp_warning');
			});
			$("#" + $(this).attr("id") + ".required[value!='']").each(function(){
				// Required is not Empty
				$("label[for='" + $(this).attr("id") + "']").parent().removeClass('lbl_warning');
				$(this).parent().removeClass('inp_warning');
			});
		});

	$(".validation").submit(function(){
		var v_err = "";
		$(".validation .required").each(function(){
			if ($(this).val() == '') {
				// Required is Empty
				$("label[for='" + $(this).attr("id") + "']").parent().addClass('lbl_warning');
				$(this).parent().addClass('inp_warning');
				v_err += $("label[for='" + $(this).attr("id") + "']").text() + " is required.\n";
			}
		});
		if (v_err != "") {
			alert("Please complete the following...\n\n" + v_err);
		} else {
			// Disable Elements (To prevent double submission)
			$(".validation input,.validation textarea,.validation select").attr("readonly","readonly");
			$(".validation input[type='submit']").hide();
			// Post Data
			$.post("index.php",$(".validation").serialize(),function(data){
				// Response Message
				alert(data);
				$(".validation input,.validation textarea,.validation select").removeAttr("readonly");
				$(".validation input[type='submit']").show();
			});
		}
		return false;
	});

});
