function publiccontact() {
    if (document.contactinfo.txtName.value == '') {
        alert('Please supply a contact name');
        return false;
    }
	if (document.contactinfo.message.value == '') {
        alert('Please write a short message');
        return false;
    }
		if (document.contactinfo.txtEmail.value == '') {
        alert('A contact email is required');
        return false;
    }
	if (document.contactinfo.txtEmail.value != '') {
		var invalidChars = " /:,;";
		
		for (var k=0; k<invalidChars.length;
			 k++) {
			var badChar = invalidChars.
			charAt(k);
			 if (document.contactinfo.txtEmail.value.indexOf(badChar) > -1) {
        alert('This is not a valid email address, you must supply a valid email address');
        return false;
	}
		}
		
	var atPos = document.contactinfo.txtEmail.value.indexOf("@",1);
	if (atPos == -1 ){
		 alert('This is not a valid email address, you must supply a valid email address');
        return false;
	}
	if (document.contactinfo.txtEmail.value.indexOf("@",atPos+1)
		!= -1){
		alert('This is not a valid email address, you must supply a valid email address');
        return false;
	}
	var periodPos = document.contactinfo.txtEmail.value.indexOf(".",atPos);
	if (periodPos == -1){
		alert('This is not a valid email address, you must supply a valid email address');
        return false;
	}
	if (periodPos+3 > document.contactinfo.txtEmail.value.length){
		alert('This is not a valid email address, you must supply a valid email address');
        return false;
	}
	}
	
    else {
        return true;
    }
}