jQuery(function($) {
	$.getJSON('enquiry', {ajax: true}, function(json) {
		$('#enquiryFooter')
			.after($.DIV({'id': 'enquiryForm'}, json.content).hide())
			.find('a').click(function() {
				$(this).toggleClass('toggled');
				$('#enquiryForm').slideToggle();
				return false;
			});

		$('#enquiryForm')
			.prepend($.DIV({'id': 'enquiryMessages'}).hide())
			.children('h1')
				.remove()
				.end()
			.children('form')
				.children('ul').attr({'id': 'enquiryBottom'}).end()
				.prepend($.UL({'id': 'enquiryRight'}))
				.prepend($.UL({'id': 'enquiryLeft'}))

				.find('#firstName').parent().appendTo('#enquiryLeft').end().end()
				.find('#lastName').parent().appendTo('#enquiryLeft').end().end()
				.find('#company').parent().appendTo('#enquiryLeft').end().end()
				.find('#email').parent().appendTo('#enquiryLeft').end().end()
				.find('#phone').parent().appendTo('#enquiryLeft').end().end()

				.find('#enquiry').parent().appendTo('#enquiryRight').end().end()
				.find('#budget').parent().appendTo('#enquiryRight').end().end()

				.submit(function() {
					$('#enquiryForm button')
						.attr({disabled: 'disabled'})
						.addClass('loading');

					$('#enquiryMessages')
						.empty()
						.hide();

					$('#enquiryForm *')
						.removeClass('error');

					$('#enquiryForm form').ajaxSubmit({
						url: 'enquiry?ajax',
						dataType: 'json',
						success: function(json) {
							$('#enquiryForm button')
								.removeAttr('disabled')
								.removeClass('loading');

							var opts = "";
							var hasErrors = false; 
							for (error in json.errors) {
								$('#' + error).parent().addClass('error');
								$('#enquiryMessages').prepend($.DIV({'class': 'error'}, json.errors[error]));
								if(error == 'aoi')
									$('#enquiryForm fieldset').parent().addClass('error');
								hasErrors = true;
							}
							if(!hasErrors && json.message)
								$('#enquiryMessages').prepend($.DIV({'class': 'message'}, json.message));
								

							$('#enquiryMessages').fadeIn();
						}
					});
					return false;
				});

	})
});
