function buildmessagebody(form)
{

	var messagebody;
	var fromname;
	var fromaddress;

	if (form.fromname.value.length > 0)
	{
		fromname='Name: ' + form.fromname.value;
		messagebody=fromname + '\n';
	}
	else
	{
		alert('Name is a required field. Please complete the form and submit again.');
		form.fromname.focus();
		return false;
	}

	if (form.fromaddress.value.length > 0)
	{
		messagebody=messagebody + 'Email Address: ' + form.fromaddress.value + '\n';
		var emailStr=form.fromaddress.value;
		var emailPat=/^(.+)@(.+)$/
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
		var validChars="\[^\\s" + specialChars + "\]"
		var quotedUser="(\"[^\"]*\")"
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
		var atom=validChars + '+'
		var word="(" + atom + "|" + quotedUser + ")"
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
		var matchArray=emailStr.match(emailPat)
		if (matchArray==null)
		{
			alert("Your email address appears invalid.\n\nPlease try again.\n\nie: user@domain.com");
			form.fromaddress.focus();
			return false
		}
		var user=matchArray[1]
		var domain=matchArray[2]
		if (user.match(userPat)==null)
		{
			alert("The username doesn't appear to be valid in your email address.\n\nPlease try again.\n\nie: user@domain.com");
			form.fromaddress.focus();
			return false
		}
		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null)
		{
			for (var i=1;i<=4;i++)
			{
				if (IPArray[i]>255)
				{
					alert("Destination IP address is invalid.");
					form.fromaddress.focus();
					return false
				}
			}
			return true
		}
		var domainArray=domain.match(domainPat)
		if (domainArray==null)
		{
			alert("The domain name doesn't seem to be valid.\n\nPlease try again.\n\nie:user@domain.com");
			form.fromaddress.focus();
			return false
		}
		var atomPat=new RegExp(atom,"g")
		var domArr=domain.match(atomPat)
		var len=domArr.length
		if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3)
		{
			alert("The address must end in a three-letter domain, or two letter country.\n\nPlease try again.\n\nie:user@domain.com or user@domain.cc");
			form.fromaddress.focus();
			return false
		}
		if (len<2)
		{
			var errStr="This address is missing a hostname.\n\nPlease try again.\n\nie:user@domain.com"
			alert(errStr);
			form.fromaddress.focus();
			return false
		}
	}
	else
	{	
		alert('Your email is a required field. Please complete the form and submit again.');
		form.fromaddress.focus();
		return false;	
	}

	messagebody=messagebody + 'Comments:\n' + form.comments.value + '\n';
	form.sender.value = form.fromaddress.value;

	form.bodytext.value=messagebody;
	return true;	
}
