function validateContactForm(form){

	var alertstr='';
	var invalid=0;

	var contact_name=form.elements['contact_name'].value;
	
	if(! contact_name){
		alertstr += '<li>Please fill out your name.</li>';
		invalid++;
	}
	
	var email=form.elements['email'].value;
    if (! email || ! email.match(/^[a-z0-9'\-\+\._]+\@[a-z0-9'\-\+\._]+\.[a-z]{2,8}$/i)) {
			if(! email){
					alertstr += '<li>You must enter an email address.</li>';
			} else {
					alertstr += '<li>"' + email + '" does not look like a valid email address.</li>';			
			}
			invalid++;
	}

	var contact_who=form.elements['contact_who'].value;
	if(! contact_who || ! contact_who.match(/^ken|don|keith|general$/i)){
		alertstr += '<li>Please select the staffperson you want to get your message.</li>';
		invalid++;
	}

	var message=form.elements['message'].value;
	if(! message || message.length > 500){
		if(!message){
			alertstr += '<li>Please type a message of up to 500 characters in length.</li>';
		} else {
			alertstr += '<li>Your message is ' + message.length + ' characters in length.\nPlease shorten to 500 characters or less.<li>';
		}
		invalid++;
	}

	if (invalid > 0 || alertstr != '') {
		var errmsg = '<p>' + invalid + ' error(s) were encountered with your submission:</p>';
		errmsg += '<ul>' + alertstr + '</ul>';
		errmsg += '<p>Please correct these errors and try again.</p>';
		var errordiv=document.getElementById('errmsg');
		errordiv.style.display='block';
		errordiv.innerHTML=errmsg;
        // reset counters
        alertstr = '';
        invalid  = 0;
        return false;
    }
    return true;  // all checked ok
}
