$(function() {
	// Force user to enter details!
	var nameError = true, emailError = true, msgError = true, captchaError = true;
	var errorCheck = setTimeout(timeCheck, 2000);

	$("input[name=myName]").bind("keyup", function() {
		if(!isValidText($(this).val())) {
			$("#nameCheck").html('Invalid name');
			nameError = true;
		}else{
			$("#nameCheck").html('');
			nameError = false;
		}
	});
	
	$("input[name=myEmail]").bind("keyup", function() {
		if(!isValidEmail($(this).val())) {
			$("#emailCheck").html('Enter a valid email');
			emailError = true;
		}else{
			$("#emailCheck").html('');
			emailError = false;
		}
	});
	
	$("input[name=myCode]").bind("keyup", function() {
		var curCode = $(this).val();
		$.post("/assets/php_captcha.php", "req_ses=1&curKey=" + curCode, function(keyPut) {
			if(keyPut == "0") {
				$("#codeCheck").html('Enter valid antispam code');
				captchaError = true;
			}else{
				$("#codeCheck").html('');
				captchaError = false;
			}
		});
	});
	
	$("input[name=submit]").click(function() {
		var nameVal = $("input[name=myName]").val();
		var emailVal = $("input[name=myEmail]").val();
		var messageVal = $("textarea[name=myMessage]").val();
		var codeVal = $("input[name=myCode]").val();
		
		$.post("/assets/php_captcha.php", "req_mail=1&name=" + nameVal + "&email=" + emailVal + "&message=" + messageVal + "&serial=" + codeVal, function(didSend) {
			if(didSend == "1") {
				$("span#didSend").removeClass("error");
				$("span#didSend").addClass("good");	
				$("span#didSend").html("Thank you for your email!");
			}else{
				$("span#didSend").removeClass("good");
				$("span#didSend").addClass("error");
				$("span#didSend").html("Your email was not sent!");
			}
		});
	});
	
	function timeCheck() {
		if(!$("textarea[name=myMessage]").val() == "") {
			msgError = false;
		}else{
			msgError = true;
		}
		if(nameError == false && emailError == false && msgError == false && captchaError == false) {
			$("input[name=submit]").removeAttr("disabled");
			errorCheck = clearTimeout(errorCheck);
		}else{
			$("input[name=submit]").attr("disabled", "disabled");
			errorCheck = setTimeout(timeCheck, 1000);
		}
	}
});

function isValidText(stringText) {
	var alphaExp = new RegExp(/^[a-zA-Z (\')(\-)]+$/);		
	return alphaExp.test(stringText);
}

function isValidEmail(emailAddress) {
	var pattern = new RegExp(/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.([a-z]){2,4})$/i);
	return pattern.test(emailAddress);
}

