window.onload = runOnLoad;

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g,'');};

function runOnLoad()
{
	var box = document.getElementById("senderPhone");
	box.onfocus = function () {document.getElementById("senderPhone").style.color = ""; };
	box.onblur = validatePhoneNumber;
	box = document.getElementById("senderEmail");
	box.onblur = validateEmail;
	box.onfocus = function(){
		document.getElementById("senderEmail").style.color = "";
	};
	document.getElementById("emailForm").onsubmit = validateForm;
	document.getElementById("senderName").focus();
	document.getElementById("btnReset").onclick = clearAll;
}

function clearAll()
{
	document.getElementById("senderEmail").value = "";
	document.getElementById("senderName").value = "";
	document.getElementById("senderPhone").value = "";
	document.getElementById("senderSubject").value = "";
	document.getElementById("senderMessage").value = "";
}

function validatePhoneNumber()
{
	var box = document.getElementById("senderPhone");
	var value = box.value.trim();
	if(value.length == 0)
		return true;
	RegExp.lastIndex = 0;
	var r = /\(?(\d{3})[\)\.\/\s-]*(\d{3})[-\s\.\/]*(\d{4})/;
	var a = r.exec(value);
	if(!a)
	{
		box.style.color = "#ad0000";
	} else {
		box.style.color = "";
		box.value = "(" + RegExp.$1 + ") " + RegExp.$2 + "-" + RegExp.$3;
	}
	return a;
}

function validateEmail()
{
	var box = document.getElementById("senderEmail");
	var value = box.value.trim();
	
	if(value.length == 0)
	{
		return false;
	}
	
	RegExp.lastIndex = 0;
	var r = /^(("[\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;
	var a = r.exec(value);
	
	if(a)
	{
		box.style.color = "";
	} else {
		box.style.color = "#ad0000";
	}
	return a;
}

function validateForm()
{
	var focus;
	var box = document.getElementById("senderName");
	var validator = document.getElementById("NameValidator");
	var value = box.value.trim();
	var success = true;
	if(value.length == 0)
	{
		validator.style.display = "inline";
		box.focus();
		success = false;
	} else {
		validator.style.display = "none";
	}
	
	box = document.getElementById("senderEmail");
	value = box.value.trim();
	validator = document.getElementById("EmailValidator");
	if(!validateEmail())
	{
		validator.style.display = "inline";
		if(success)
		{
			box.focus();
			success = false;
		}
	} else {
		validator.style.display = "none";
	}
	
	box = document.getElementById("senderPhone");
	value = box.value.trim();
	validator = document.getElementById("PhoneValidator");
	if(!validatePhoneNumber())
	{
		validator.style.display = "inline";
		if(success)
		{
			box.focus();
			success = false;
		}
	} else {
		validator.style.display = "none";
	}
	
	box = document.getElementById("senderSubject");
	value = box.value.trim();
	validator = document.getElementById("SubjectValidator");
	if(value.length == 0)
	{
		validator.style.display = "inline";
		if(success)
		{
			box.focus();
 			success = false;
		}
	}	else {
		validator.style.display = "none";
	}
	
	box = document.getElementById("senderMessage");
	value = box.value.trim();
	validator = document.getElementById("MessageValidator");
	if(value.length == 0)
	{
		validator.style.display = "inline";
		if(success)
		{
			box.focus();
		 	success = false;
		}
	}	else {
		validator.style.display = "none";
	}
	
	document.getElementById("recaptchaTryAgain").style.display = "none";
	box = document.getElementById("recaptcha_response_field");
	value = box.value.trim();
	validator = document.getElementById("RecaptchaValidator");
	if(value.length == 0)
	{
		validator.style.display = "block";
		if(success)
		{
			box.focus();
			success = false;
		}
	}	else {
			validator.style.display = "none";
	}
	
	return success;
}