$(document).ready(function(){

	$('.textfield').focus(function(){
		$(this).addClass('focus-field');
	}).blur(function(){
		$(this).removeClass('focus-field');
	});

	$("#submit").click(function(){					   				   
		$(".error").hide();
		var hasError = false;
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
		
		var nameVal = $("#fmName").val();
		if(nameVal == '') {
			$("#fmName").parents('.row').addClass('required');
			$("#fmName").before('<span class="error">Please tell us your name.</span>');
			hasError = true;
		} else {
			$("#fmName").parents('.row').removeClass('required');
		}
		
		var emailVal = $("#fmEmail").val();
		if(emailVal == '') {
			$("#fmEmail").parents('.row').addClass('required');
			$("#fmEmail").before('<span class="error">Please enter your email address.</span>');
			hasError = true;
		} else if(!emailReg.test(emailVal)) {	
			$("#fmEmail").parents('.row').addClass('required');
			$("#fmEmail").before('<span class="error">Sorry, that email address is not valid.</span>');
			hasError = true;
		} else {
			$("#fmEmail").parents('.row').removeClass('required');
		}
		
		var confirmEmailVal = $("#fmConfirmEmail").val();
		if(confirmEmailVal == '') {
			$("#fmConfirmEmail").parents('.row').addClass('required');
			$("#fmConfirmEmail").before('<span class="error">Please confirm your email address.</span>');
			hasError = true;
		} else {
			if (confirmEmailVal == emailVal) {
				$("#fmConfirmEmail").parents('.row').removeClass('required');
			} else {
				$("#fmConfirmEmail").parents('.row').addClass('required');
				$("#fmConfirmEmail").before('<span class="error">Your email addresses don&rsquo;t match, please check.</span>');
				hasError = true;
			}
		}
		
		var telVal = $("#fmTel").val();
		if(telVal == '') {
			$("#fmTel").parents('.row').addClass('required');
			$("#fmTel").before('<span class="error">Please enter your telephone number.</span>');
			hasError = true;
		} else {
			$("#fmTel").parents('.row').removeClass('required');
		}
		
		var subjectVal = $("#fmSubject").val();
		if(subjectVal == '') {
			$("#fmSubject").parents('.row').addClass('required');
			$("#fmSubject").before('<span class="error">Please enter your subject.</span>');
			hasError = true;
		} else {
			$("#fmSubject").parents('.row').removeClass('required');
		}
		
		var messageVal = $("#fmMessage").val();
		if(messageVal == '') {
			$("#fmMessage").parents('.row').addClass('required');
			$("#fmMessage").before('<span class="error">Please enter your message.</span>');
			hasError = true;
		} else {
			$("#fmMessage").parents('.row').removeClass('required');
		}
		
		
		if(hasError == false) {
			$(this).hide();
			$("#sendEmail .buttons").append('<img src="/contact/loading.gif" alt="Loading" id="loading" />');
			
			$.post("/contact/sendemail.php", { fmName: nameVal, fmEmail: emailVal, fmTel: telVal, fmSubject: subjectVal, fmMessage: messageVal }, function(data){
				$("#sendEmail").fadeOut(500, function() {
					$("#sendEmail").before('<h2>Email Sent</h2><p>Thanks for contacting us, we will be in touch shortly.<br />We have emailed you a copy of your enquiry for reference.</p>');
					pageTracker._trackPageview('/contact/thankyou');
				});
			});
		}
		
		return false;
	});
	
	// From: http://roshanbh.com.np/2008/04/textbox-accept-only-numbers-digits.html
	$(".digits-only").after('<span id="telError"></span>').keypress(function(e) { 
	  //if the letter is not digit then display error and don't type anything
	  if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57)){
		$("#telError").html("Digits Only").show().fadeOut("slow");
	    return false;
      }	
	});
					   
});
