// JavaScript Document

function checkContact() { // called onblur of field
	var f = document.contactForm;
	if (f.contact.value == 'email' && f.email.value == '') {
		alert('Please provide your email address.');
		f.email.focus();
		return false;
	}
	else if (f.contact.value == 'phone' && f.phone.value == '') {
		alert('Please provide your phone number.');
		f.phone.focus();
		return false;
	}
	else if (f.contact.value == '') {
		alert('Please provide a contact method.');
		return false;
	}
	return true;
}

function validatePhone() { // called onblur of field
	var f = document.contactForm.phone;
	var stripped = f.value.replace(/\D/g,''); // strips out non-digits from value of form field
	if (f.value !='') { // ignore an empty field
		if (stripped.length != 10) {
			alert('Please enter your phone number with area code.');
			f.focus();
			return false;
		}
		else {
			f.value = '(' + stripped.substring(0,3) + ') ' + stripped.substring(3,6) + '-' + stripped.substring(6,10); // formats number as (xxx) xxx-xxxx and writes to field
		}
	}
}

function validateForm() {
	var f = document.contactForm;
	var stripped = f.phone.value.replace(/\D/g,''); // strips out non-digits from value of form field
	if (f.firstName.value == '') {
		alert('Please provide your first name.');
		f.firstName.focus();
		return false;
	}
	else if (f.lastName.value == '') {
		alert('Please provide your last name.');
		f.lastName.focus();
		return false;
	}
	else if (f.contact.value =='') {
		alert('Please provide a preferred contact method');
		return false;
	}
	else if (f.contact.value == 'email' && f.email.value == '') {
		alert('Please provide your email address.');
		f.email.focus();
		return false;
	}
	else if (f.contact.value == 'phone' && stripped.length != 10) {
		alert('Please provide your phone number with area code.');
		f.phone.focus();
		return false;
	}
	else if (f.comments.value.length > 2000) {
		var cl = f.comments.value.length;
		var diff = (cl - 2000);
		alert('You are ' + diff + ' characters over the 2000-character limit. Please decrease the length of your comments.');
		return false;
	}
	else if (f.comments.value == '') {
		var msg = 'Do you really want to send without a message? Click "OK" to send, or "Cancel" to return to the contact form.';
		if (confirm(msg)===true) {
			return true;
		}
		else {
			f.comments.focus();
			return false;
		}
	}
}

function resetAll() {
	var f = document.contactForm;
	f.firstName.value = '';
	f.lastName.value = '';
	f.email.value = '';
	f.phone.value = '';
	f.contact.selectedIndex = 0;
	f.comments.value = '';
	return false;
}