/*
	lovell.info/lovell.js
*/
$(document).ready(function() {
	/* Contact */
	$("#contact").dialog({
		autoOpen: false,
		modal: true,
		resizable: false,
		buttons: {
			"Cancel": function() {
				$(this).dialog("close");
			},
			"Send Message": function() {
				var isValid = true;
				var name = $("#name");
				if ($.trim(name.val()).length > 0) {
					name.removeClass("ui-state-error");
				} else {
					name.addClass("ui-state-error");
					isValid = false;
				}
				var email = $("#email");
				if (email.val().match(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i)) {
					email.removeClass("ui-state-error");
				} else {
					email.addClass("ui-state-error");
					isValid = false;
				}
				var message = $("#message");
				if ($.trim(message.val()).length > 0) {
					message.removeClass("ui-state-error");
				} else {
					message.addClass("ui-state-error");
					isValid = false;
				}
				if (isValid) {
					$.post($("#contact-form").attr("action"), {
						"name": name.val(),
						"email": email.val(),
						"message": message.val()
					}, function(data) {
						if (data["error"]) {
							$("#contact-error").dialog("open");
						} else {
							$("#contact-first-name").text(data["name"]);
							$("#contact-thanks").dialog("open");
						}
					});
					$(this).dialog("close");
				}
			}
		}
	});
	$("#contact-thanks").dialog({
		autoOpen: false,
		modal: true,
		resizable: false,
		buttons: {
			"OK": function() {
				$(this).dialog("close");
			},
		}
	});
	$("#contact-error").dialog({
		autoOpen: false,
		modal: true,
		resizable: false,
		buttons: {
			"OK": function() {
				$(this).dialog("close");
			},
		}
	});
	$("a.contact-link").click(function() {
		$("#contact").dialog("open");
	});
	/* Dock */
	$("#dock").jqDock({"align": "middle"});
});

