$(function() {

		// Sniff out IE below 7, we serve them a universal stylesheet so ajax forms arent appropriate
	if ($.browser.msie && ($.browser.version < 7)) return false;
	
		// Panel slide-in's
	$("#slidein-panels .panel h4, #slidein-panels .panel .panel-close").bind("click", function() {
		var $panel = $(this).closest('.panel');
		if ($panel.hasClass('panel-collapsed')) {
			$panel.stop().switchClass('panel-collapsed', 'panel-expanded', 500);
		}
		else {
			$panel.stop().switchClass('panel-expanded', 'panel-collapsed', 500);
		}
		return false;
	});
	
		// Ajax contact form
	$("#frm-ajax-contact").bind('submit', function() {
			// Clean up the form display
		$("#frm-ajax-contact .ajax-messages").empty();
		$("#frm-ajax-contact").find('div.error').removeClass('error').find('span.error-msg').remove();
		
			// Disable the send button and show a spinner to show we are working
		$("#frm-ajax-contact :submit").attr('disabled', 'disabled');
		$("#frm-ajax-contact .ajax-messages").append('<span class="msg msg-working">Working</span>');
		
		$.ajax({
			url: $(this).attr('action'),
			type: $(this).attr('method'),
			data: $(this).serialize() + '&submitForm=Send+my+query',
			dataType: 'json',
			cache: false,
			error: function(XMLHttpRequest, textStatus, errorThrown) {
					// Parse the response
				var data = $.parseJSON(XMLHttpRequest.responseText);

					// Remove the working messages & Display error msg
				$("#frm-ajax-contact .ajax-messages .msg-working").remove();
				$("#frm-ajax-contact .ajax-messages").append('<span class="msg msg-error">Unable to send</span>');

					// Add the error messages to the form fields
				$.each(data.error, function(k, d) {
					$("#frm-ajax-contact #" + k).parent().addClass('error').append('<span class="error-msg" title="'+ d +'">'+ d +'</span>');
				});
			},
			success: function(data, textStatus, XMLHttpRequest) {
				$("#frm-ajax-contact .ajax-messages .msg-working").remove();
				$("#frm-ajax-contact .ajax-messages").append('<span class="msg msg-success">Enquiry sent. Thank you!</span>');
			},
			complete: function() {
				$("#frm-ajax-contact :submit").removeAttr('disabled');
			}
		});

		return false;
	});
	
		// Attach keyboard navigation
	$(document.documentElement).keyup(function(e) {
		switch(e.keyCode) {
			case 27: // Escape
				$("#slidein-panels .panel-expanded h4").click();
				break;
		}
	});
});
