$(function contactForma () {
  	$('.error').livequery(function(){
		$(this).hide();
 	});
  	$(".button").livequery(function(){
	  $(this).click(function() {
		// validate and process form
		// first hide any error messages
		$('.error').hide();
			
		var name = $("input#name").val();
			if (name == "" || name == "your name..") {
				$("#nameError").fadeIn('slow');
				$("input#name").focus();
				$("input#name").addClass('errorField');
				return false;
			}
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
		var email = $("input#email").val();
			if (email == "" || email == "your e-mail..") {
				$("#emailError").fadeIn('slow');
				$("input#email").focus();
				$("input#email").addClass('errorField');
				return false;
			}
			else if (!emailReg.test(email)) {
				$("#emailWrong").fadeIn('slow');
				$("input#email").focus();
				$("input#email").addClass('errorField');
				return false;
			}
		var message = $("textarea#message").val();
			if (message == "") {
				$("#messageError").fadeIn('slow');
				$("textarea#message").focus();
				$("textarea#message").addClass('errorField');
				return false;
			}
			
		var dataString = 'name='+ name + '&email=' + email + '&message=' + message;
			
		$.ajax({
		  type: "POST",
          url: "post.php",
          data: 'section=contactform&' + dataString,
		  success: function() {
			$('#rightColum').livequery(function(){
				$(this).html("<div id='feedback'></div>");
				$('#feedback').html("<h3>Contact Form Submitted!</h3>")
				.append("<p>We will be in touch soon.</p>")
				.hide()
				.fadeIn(500, function() {
				  $('#feedback').append("<img id='checkmark' src='images/mailbox.png' alt='' />");
				});
			});
		  }
		 });
		return false;
		});
	});
});

jQuery.fn.clearFields = function(focusClass) {
	this.each(function() {
		$(this).focus(function() {
			// clear value if current value is the default
			if($(this).val() == this.defaultValue) { $(this).val(""); }
			
			// if focusClass is set, add the class
			if(focusClass) { $(this).addClass(focusClass); }
		}).blur(function() {
			// restore to the default value if current value is empty
			if($(this).val() == "") { $(this).val(this.defaultValue); }
			
			// if focusClass is set, remove class
			if(focusClass) { $(this).removeClass(focusClass); }
		});
	});
}
$(document).ready(function() {
	$("#name, #email, #message").livequery(function(){
		$("#name, #email, #message").clearFields("activeField");
	});
	$("input#name").livequery(function(){
		$(this).keypress(function (e){
			$("#nameError").fadeOut('slow');
			$(this).removeClass('errorField');
		});
	});
	$("input#email").livequery(function(){
		$(this).keypress(function (e){
			$("#emailError").fadeOut('slow');						  
			$("#emailWrong").fadeOut('slow');	
			$(this).removeClass('errorField');
		});
	});
	$("textarea#message").livequery(function(){
		$(this).keypress(function (e){
			$("#messageError").fadeOut('slow');
			$(this).removeClass('errorField');
		});
	});		
});
