function checkForm(theForm) {

	var blnValid = true;
	var arrFocus = [];
	var strFocus = '';
	var strMsg = 'There was a problem with the information you have provided in this form:\n\n';
	
	var patternHTML;
	patternHTML = /[<|\[](.|\n)+?[>|\]]/ig;
	
	var patternLink;
	patternLink = /href|http:\/\/|https:\/\/|ftp:\/\/|file:\/\/|mailto:|www\./ig;
	
	var patternAlphaNumeric;
	patternAlphaNumeric = /^([0-9a-zA-Z\-' ]+)$/;
	
	var patternEmail;
	patternEmail = /^\w+(['\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,6})+$/;
	
	
	if (theForm.firstname.value == '') {
		blnValid = false;
		arrFocus.push('firstname');
		strMsg += '- You did not provide your first name.\n';
	} else if (!patternAlphaNumeric.test(theForm.firstname.value)) {
		blnValid = false;
		arrFocus.push('firstname');
		strMsg += '- Your first name contains invalid characters. Please use alphabetic characters only.\n';
	}
	
	if (theForm.firstname.value.length > 50) {
		blnValid = false;
		arrFocus.push('firstname');
		strMsg += '- Your first name contains more than 50 characters. Please do not exceed 50 characters.\n';
	}
	
	if (theForm.lastname.value == '') {
		blnValid = false;
		arrFocus.push('lastname');
		strMsg += '- You did not provide your last name.\n';
	} else if (!patternAlphaNumeric.test(theForm.lastname.value)) {
		blnValid = false;
		arrFocus.push('lastname');
		strMsg += '- Your last name contains invalid characters. Please use alphabetic characters only.\n';
	}
	
	if (theForm.lastname.value.length > 50) {
		blnValid = false;
		arrFocus.push('lastname');
		strMsg += '- Your last name contains more than 50 characters. Please do not exceed 50 characters.\n';
	}	
	
	
	if (theForm.email.value != '' && (!patternEmail.test(theForm.email.value) || theForm.email.value.length > 320)) {
		blnValid = false;
		arrFocus.push('email');
		strMsg += '- Your email address does not look correct. Please provide a valid email address\n   (e.g. your.name@somewhere.net).\n';
	} else if (theForm.email.value == '') {
		blnValid = false;
		arrFocus.push('email');
		strMsg += '- You did not provide your email address.\n';
	}
	
	strMsg += '\nPlease correct the above issues before submitting this form.\n\nThank-you.';
	
	if (!blnValid) {
		alert(strMsg);
		strFocus = 'theForm.' + arrFocus[0] + '.focus()';
		eval(strFocus);
	}
	
	return blnValid;

}

