function hilite(elem) {
	setTimeout(elem.focus(), 100);
	setTimeout(elem.select(), 100); //Does not seem to do anything
}

function validName(elem) {
	var stripped = elem.value.replace(/\s/g, ''); // strip out all spaces
	if (stripped.length == 0) { //If there is nothing left--
		alert ("Please provide your name");
		hilite (elem);
		return false;
	}
	return true;
}

function validEmail(elem) {
	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!(emailFilter.test(elem.value))) {
		alert ("We are sorry! We need to have a valid email address.");
		hilite (elem);
		return false;
	}
	var illegalChars=/[\(\)\<\>\,\;\:\\\/\"\[\]]/;
	if (elem.value.match(illegalChars)) {
		alert ("We are sorry! Your email address appears to contain illegal characters");
		hilite (elem);
		return false;
	}
	return true;
}


function validSubject(elem) {
	var stripped = elem.value.replace(/\s/g, ''); // strip out all spaces
	if (stripped.length == 0) { //If there is nothing left--
		alert ("Subject field is empty");
		hilite (elem);
		return false;
	}
	return true;
}

function validMessage(elem) {
	var stripped = elem.value.replace(/\s/g, ''); // strip out all spaces
	if (stripped.length == 0) { //If there is nothing left--
		alert ("Message field is empty");
		hilite (elem);
		return false;
	}
	return true;
}

function Trap() { //Trap premature form submission on 'return' key
	return false;
}


function SendMessage(f) { // Respond to 'Send This Message' button.
	if (validName(f.name)) {
		if (validEmail(f.email)) {
			if (validSubject(f.subject)) {
				if (validMessage(f.message)) {
					f.submit();
				}
			}
		}
	}
}
