$(document).ready(function() {
	// close contact panel first
	$.contact.toggleViewState(false);
	
	$("form#contactform").submit(function(e) {
		$.contact.handleContactForm(e);
	});
	$("#contactlink").click(function() {
		$.contact.toggleViewState(true);
	});
	$("#contactfooterlink").click(function() {
		$.scrollTo("#contact", 500, {
			queue: true,
			onAfter: function() {
				$.contact.toggleViewState(true);
			}
		});
	});
	if ($("#promocontactlink")) {
		$("#promocontactlink").click(function() {
			$.scrollTo("#contact", 500, {
				queue: true,
				onAfter: function() {
					$.contact.toggleViewState(true);
				}
			});
		});
	}
});

;(function($) {	
	$.contact = $.contact || {};
	$.extend($.contact, {
		focusContactForm: function() {
			if ($("#contact").css("display") == 'block') {
				$("#name").focus();
			}
		},		
		toggleViewState: function(toggleHandle) {
			$('#ZoomImage').click();
			$("#contact").toggle("blind", {
				direction: "vertical"
			}, "normal", $.contact.focusContactForm);
			if(toggleHandle) {
				setTimeout($.contact.toggleContactHandle, 500);
			}
		},
		toggleContactHandle: function() {
			if ($("#contactlink").css("background-image").match('contact-on')) {
				$("#contactlink").css('background-image', 'url(/images/contact.png)');
			}
			else {
				$("#contactlink").css('background-image', 'url(/images/contact-on.png)');
			}
		},	
		handleContactForm: function(evt) {
			$.post("/contact", { 
		             name: $("#name").val(), 
		             email: $("#email").val(), 
		             phone: $("#phone").val(), 
		             message: $("#message").val()
		           }, function(data) { 
		         		$("#contact").replaceWith(data);
						$("form#contactform").submit(function(e) { $.contact.handleContactForm(e) });
				   });
			if (evt && evt.preventDefault) {
			    evt.preventDefault();
			}
			return false;
		}
	})
})(jQuery);
