// JavaScript Document

$(function() {
		   
	var emailIsValid = false;
	$('input:not(#submit)').focus(function(){
		$(this).css({backgroundColor:"#FFFFCC"});
		//$(this).parent().css({"background": "transparent url(public/images/introduction_background.png) repeat left top"});
	});
	$('input:not(#submit)').blur(function(){
		$(this).css({backgroundColor:"#FFFFFF"});
	});
	$('textarea').focus(function(){
		$(this).css({backgroundColor:"#FFFFCC"});
	});
	$('textarea').blur(function(){
		$(this).css({backgroundColor:"#FFFFFF"});
	}); 
		   	  
	$("#contact_form").submit(function() {
		var name = $("input#name").val();
		var message = $("textarea#message").val();
		var email = $("input#email").val();
		var userID = $("input#userID").val();
		var submit = $("input#submit").val();
		
		$("span.error").hide();
		
		if(email != 0){
			if(isValidEmailAddress(email)){
				$("input#email").css({"color": "#2a2829"});
				emailIsValid = true;
			} else {
				$("span#emailError").show();
				$("input#email").css({"color": "red"});
				emailIsValid = false;
			}
		} else {
			$("span#emailError").show();
			$("input#email").css({"color": "#2a2829"});
			emailIsValid = false;
		}
		if(name == 0){
			$("span#nameError").show();
		}
		if(message == 0){
			$("span#messageError").show();
		}
		if (emailIsValid == true && name != 0 && message != 0 && userID == "") {
			$("#feedback").html('<p class="save">Please wait, saving your data...</p>');		
			$("#contact_form button[name=submit]").hide();
			$("#submit").attr("disabled", "disabled");
			var formdata = 'name='+ name + '&email=' + email + '&message=' + message + '&userID=' + userID + '&submit=' + submit;
			$.ajax({
				url: "contactProcess.php",
				type: "POST",
				data: formdata,
				timeout: 5000,
				error: function(XMLHttpRequest, textStatus, errorThrown) {
					//alert(XMLHttpRequest.responseText);
					ajaxSubmitError(XMLHttpRequest, textStatus, errorThrown);
				},
				success: function(data) {
					ajaxSubmitSuccess(data);
				}
			});
		}

		
	return false;
	});
  
});

function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
return pattern.test(emailAddress);
}

function ajaxSubmitError(XMLHttpRequest, textStatus, errorThrown) {
	$("#feedback").html("<p>There appears to have been an error. Please try submitting again.</p>");
	
	// Send error details in a support email
	
	$("#submit").removeAttr("disabled");
	
	$("#contact_form button[name=submit]").show();
	
}

function ajaxSubmitSuccess(data) {
	$("#feedback").html("<p>Thank you for your time and comments. We shall be in touch.</p>");
	$("#contact_form").remove();
}