// prepare the form when the DOM is ready
$(document).ready(function() {
	
	jQuery.validator.addMethod(
		"dateITA",
		function(value, element) {
			var check = false;
			var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/
			if( re.test(value)){
				var adata = value.split('/');
				var gg = parseInt(adata[0],10);
				var mm = parseInt(adata[1],10);
				var aaaa = parseInt(adata[2],10);
				var xdata = new Date(aaaa,mm-1,gg);
				if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == gg ) )
					check = true;
				else
					check = false;
			} else
				check = false;
			return this.optional(element) || check;
		}, 
		"Please enter a correct date"
	);
	
	var question_form_options = {
		target:        	'#question_form_output',
		beforeSubmit: 	validateForm,
		success: 				flashResponse,
		clearForm: 			true,
		resetForm: 			true
	}

	var brochure_form_options = {
		target:        	'#brochure_form_output',
		beforeSubmit: 	validateForm,
		success: 				flashResponse,
		clearForm: 			true,
		resetForm: 			true
	}

	var insurance_form_options = {
		target:        	'#insurance_form_output',
		beforeSubmit: 	validateForm,
		success: 				flashResponse,
		clearForm: 			true,
		resetForm: 			true
	}

	// bind to the question_form's submit event 
	$('#question_form').submit(function() {
		$(this).ajaxSubmit(question_form_options);
		pageTracker._trackPageview("/question_form" );
		return false; 
 	});

	// bind to the brochure_form's submit event 
	$('#brochure_form').submit(function() {
		$(this).ajaxSubmit(brochure_form_options);
		pageTracker._trackPageview("/brochure_form" );
		return false; 
 	});

	// bind to the insurance_form's submit event 
	$('#insurance_form').submit(function() {
		$(this).ajaxSubmit(insurance_form_options);
		pageTracker._trackPageview("/insurance_form" );
		return false; 
 	});

});

// pre-submit callback 
function validateForm(formData, jqForm, options) {
	var form = jqForm[0].id;
	var form_id = "#" + form;
	
	if ($(form_id).valid()) {
		return true;
	}
	else {
		$(form_id).validate();
		return false;
	}
}

// post-submit callback
function flashResponse() {
	$("#question_form_output, #brochure_form_output, #insurance_form_output").show();
	$("#question_form_output, #brochure_form_output, #insurance_form_output").css({'background-color' : 'yellow', 'font-weight' : 'bolder'});
	setTimeout("$('#question_form_output, #brochure_form_output, #insurance_form_output').fadeOut(1000);", 3000);
}