function ValidateContactForm(form) {
	var errormessage = '';
	var fullname = form.fullname.value;
	var email = form.email.value;
	var username = form.username.value;
	var comment = form.comment.value;
	
	if (fullname == '') {
		errormessage = 'Error: Please enter your Full Name.';
	}
	else if (fullname.length > 128) {
		errormessage = 'Error: Please keep your Full Name below 128 characters.';
	}
	else if (!ValidateEmail(email)) {
		errormessage = 'Error: Please enter a valid Email Address.';
	}
	else if (email.length > 128) {
		errormessage = 'Error: Please keep your Email Address below 128 characters.';
	}
	else if (username.length > 128) {
		errormessage = 'Error: Please keep your Username below 128 characters.';
	}
	else if (comment == '') {
		errormessage = 'Error: Please enter a Question or Comment.';
	}
	else if (comment.length > 2000) {
		errormessage = 'Error: Please keep your Comment below 2,000 characters.';
	}

	if (errormessage == '') {
		return true;
	} else {
		document.getElementById('errorMessage').innerHTML = errormessage;
		document.getElementById('errorMessage').style.display = 'block';
		return false;
	}
}

function ValidateEmail(str) {
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1){ return false; }
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){ return false; }
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){ return false; }
	if (str.indexOf(at,(lat+1))!=-1){ return false; }
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){ return false; }
	if (str.indexOf(dot,(lat+2))==-1){ return false; }
	//if (str.indexOf(" ")!=-1){ return false; }
	return true;			
}