// JavaScript source code

function formatPhoneNumber(strPhoneNumber)
{
	var tmpphone = strPhoneNumber;
	var phoneNumbersOnly = tmpphone.replace(/\D/g,"");
	
	if (phoneNumbersOnly.length != 10)
		return phoneNumbersOnly;
	else
	{
		return phoneNumbersOnly.substring(0, 3) + '-' + phoneNumbersOnly.substring(3, 6) + '-' + phoneNumbersOnly.substring(6, 10);
	}
}

function isValidPhone(strPhoneNumber)
{
	var tmpphone = strPhoneNumber;
	var phoneNumbersOnly = tmpphone.replace(/\D/g,"");
	
	if (phoneNumbersOnly.length != 10)
		return false;
	
	return true;
}

function isValidEmail(strEmailAddress)
{
	var tmpemail = strEmailAddress;
	var at = "@";
	var dot = ".";
	var lat = tmpemail.indexOf(at);
	var lstr = tmpemail.length;
	var ldot = tmpemail.indexOf(dot);
	
	if (tmpemail.indexOf(at) == -1)
		return false;
	
	if (tmpemail.indexOf(at) == -1 || tmpemail.indexOf(at) == 0 || tmpemail.indexOf(at) == lstr)
		return false;
	
	if (tmpemail.indexOf(dot) == -1 || tmpemail.indexOf(dot) == 0 || tmpemail.indexOf(dot) == lstr)
		return false;
	
	if (tmpemail.indexOf(at, (lat+1)) != -1)
		return false;
	
	if (tmpemail.substring(lat-1, lat) == dot || tmpemail.substring(lat+1, lat+2) == dot)
		return false;
	
	if (tmpemail.indexOf(dot, (lat+2)) == -1)
		return false;
	
	if (tmpemail.indexOf(" ") != -1)
		return false;
	
	return true;
}

function contactName_Focus()
{
	if (document.all.txtContactName.value == 'enter your name here')
		document.all.txtContactName.value = '';
}

function contactName_Blur()
{
	if (document.all.txtContactName.value == '')
		document.all.txtContactName.value = 'enter your name here';
}

function contactEmail_Focus()
{
	if (document.all.txtContactEmail.value == 'enter your email address here')
		document.all.txtContactEmail.value = '';
}

function contactEmail_Blur()
{
	if (document.all.txtContactEmail.value == '')
		document.all.txtContactEmail.value = 'enter your email address here';
}

function contactEmailConfirm_Focus()
{
	if (document.all.txtContactEmailConfirm.value == 'confirm your email address here')
		document.all.txtContactEmailConfirm.value = '';
}

function contactEmailConfirm_Blur()
{
	if (document.all.txtContactEmailConfirm.value == '')
		document.all.txtContactEmailConfirm.value = 'confirm your email address here';
}

function contactPhone_Focus()
{
	if (document.all.txtContactPhone.value == 'enter your phone number here (xxx-xxx-xxxx)')
		document.all.txtContactPhone.value = '';
}

function contactPhone_Blur()
{
	document.all.txtContactPhone.value = formatPhoneNumber(document.all.txtContactPhone.value);
	
	if (!isValidPhone(document.all.txtContactPhone.value))
		document.all.txtContactPhone.value = '';
}

function contactMessage_Focus()
{
	if (document.all.txtContactMessage.value == 'enter your message here')
		document.all.txtContactMessage.value = '';
}

function contactMessage_Blur()
{
	if (document.all.txtContactMessage.value == '')
		document.all.txtContactMessage.value = 'enter your message here';
}

function doValidation()
{
	if ((document.all.txtContactName.value == '') || (document.all.txtContactName.value == 'enter your name here'))
	{
		alert("You must enter your name in order to send a message");
		document.all.txtContactName.focus();
		return false;
	}

	if ((document.all.txtContactEmail.value == '') || (document.all.txtContactEmail.value == 'enter your email address here'))
	{
		alert("You must enter your email address in order to send a message");
		document.all.txtContactEmail.focus();
		return false;
	}

	if ((document.all.txtContactEmailConfirm.value == '') || (document.all.txtContactEmailConfirm.value == 'confirm email address'))
	{
		alert("You must confirm your email address in order to send a message");
		document.all.txtContactEmailConfirm.focus();
		return false;
	}

	if ((document.all.txtContactEmail.value != '') && (document.all.txtContactEmail.value != 'enter your email address here') && (document.all.txtContactEmail.value != document.all.txtContactEmailConfirm.value))
	{
		alert("The email addresses do not match");
		document.all.txtContactEmailConfirm.focus();
		return false;
	}

	if (!isValidEmail(document.all.txtContactEmail.value))
	{
		alert("The email address you specified is not a valid email address");
		document.all.txtContactEmail.focus();
		return false;
	}
	
	if ((document.all.txtContactPhone.value == '') || ((document.all.txtContactPhone.value != '') && !isValidPhone(document.all.txtContactPhone.value)))
	{
		alert("You must enter your phone number in xxx-xxx-xxxx format");
		document.all.txtContactPhone.focus();
		return false;
	}

	if ((document.all.txtContactMessage.value == '') || (document.all.txtContactMessage.value == 'enter your message here'))
	{
		alert("Please enter the message you wish to send");
		document.all.txtContactMessage.focus();
		return false;
	}

	if (!document.all.chkContactConsent.checked)
	{
		alert("You must check the 'I consent to receive...' box in order to send a message");
		document.all.chkContactConsent.focus();
		return false;
	}
	
	return true;
}