//QAD for realz

$(document).ready(function() {
	var form     = $("#contact-form"),
		required = $("input[rel='required'], textarea[rel='required']");
	
	var mark = function(field) {
		if ( !field.hasClass("error-field") ) {
			field.addClass("error-field");
		}
	};
	
	var unmark = function(field) {
		field.removeClass("error-field");
	};
	
	var validators = {
		name: function(field) {
			return field.value.length > 0;
		},
		email: function(field) {
			return field.value.match(/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum)\b$/);
		},
		message: function(field) {
			return field.value.length > 0;
		}
	};
	
	form.bind("submit", function(event) {
		var valid = true;
		
		$.each(required, function(i, field) {
			field = $(field);
			
			// Empty
			if ( !field.val().length ) {
				valid = false;

				mark(field);
			}
			// Has a value, validate format
			else if ( validators[field[0].name](field[0]) ) {
				unmark(field);
			} else {
				valid = false;
				mark(field);
			}
		});
	
		return valid;
	});
});