//call fuction
addListener(checkContact);
//phone number validation script, courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
var digits = "0123456789";
var phoneNumberDelimiters = "()-. ";
var validWorldPhoneChars = phoneNumberDelimiters + "+";
var minDigitsInIPhoneNumber = 10;
function isInteger(s) {
	var i;
	for (i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if (((c < "0") || (c > "9"))) return false;
	}
	return true;
}
function stripCharsInBag(s, bag){
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}
function checkInternationalPhone(strPhone){
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}
//end phone number validation script
function checkContact() {
	document.forms["contactform"].onsubmit = validateContact;
	return true;
}
//validate form
function validateContact() {
	var contactMsg = document.getElementById('contactmsg');
	var emailPattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;
	var elements = document.forms["contactform"].elements;
	for (var i = 0; i < elements.length; i++) {
		if (/(^| )required( |$)/.test(elements[i].className) && elements[i].value == "") {
			elements[i].focus();
			contactMsg.innerHTML = "Please fill out your "+elements[i].name;
			return false;
		}
		if (/(^| )validemail( |$)/.test(elements[i].className) && !emailPattern.test(elements[i].value)) {
			elements[i].focus();
			contactMsg.innerHTML = "Please fill in a valid email address.";
			return false;
		}
		if (/(^| )validphone( |$)/.test(elements[i].className) && checkInternationalPhone(elements[i].value)==false) {
			elements[i].focus();
			contactMsg.innerHTML = "Please fill in a valid phone number.";
			return false;
		}
	}
	return true;
}
//on page load
function addListener(fn) {
	if (typeof window.addEventListener != 'undefined') {
		window.addEventListener('load', fn, false);
	} else if (typeof document.addEventListener != 'undefined') {
		document.addEventListener('load', fn, false);
	} else if (typeof window.attachEvent != 'undefined') {
		window.attachEvent('onload', fn);
	} else {
		var oldfn = window.onload;
		if (typeof window.onload != 'function') {
			window.onload = fn;
		} else {
			window.onload = function() {
				oldfn();
				fn();
			};
		}
	}
}