Forms = {
	
	init: function() {
		Forms.consultationForm();
	},
	
	consultationForm: function() {
		$("#consultationForm").validator({position: 'center right',offset: [0, 0],message: '<div><em/></div>',messageClass: 'formError',inputEvent: 'keyup'}).submit(function(e) {
			
			var form = $(this);
			
			form.find("input[type=submit]").hide();
			form.find(".formSpinner").show();
			
			// client-side validation OK.
			if (!e.isDefaultPrevented()) {
		
				// submit with AJAX
				$.getJSON("/get-a-consultation/process.php?" + form.serialize(), function(json) {
		
					// everything is ok. (server returned true)
					if (json === true)  {
						$('html, body').animate({scrollTop:form.parents("#content").offset().top}, 'fast');
						
						form.load("/get-a-consultation/success.php?" + form.serialize());
		
					// server-side validation failed. use invalidate() to show errors
					} else {
						form.find("input[type=submit]").show();
						form.find(".formSpinner").hide();
						
						form.data("validator").invalidate(json);
						
						Recaptcha.reload();
						
						if( json.captcha === false ) {
							$(".recaptcha_only_if_image.recaptcha_only_if_no_incorrect_sol").attr('style','display: none !important');
							$(".recaptcha_only_if_audio.recaptcha_only_if_no_incorrect_sol").attr('style','display: none !important');
							$(".recaptcha_only_if_incorrect_sol").attr('style','display: inline !important');
						}
						else
						{
							$(".recaptcha_only_if_image.recaptcha_only_if_no_incorrect_sol").attr('style','display: inline !important');
							$(".recaptcha_only_if_audi.recaptcha_only_if_no_incorrect_solo").attr('style','display: inline !important');
							$(".recaptcha_only_if_incorrect_sol").attr('style','display: none !important');
						}
					}
				});
		
				// prevent default form submission logic
				e.preventDefault();
			}
		})
		.bind("onFail", function(e, errors)  {
				
			/*$.each(errors, function()  {
				var input = this.input;
				input.css({borderColor: "red"});
			});*/
	
		});
	}
}
