/*function isValidEmail(address) {
	if (address.indexOf('@')==-1 || address.indexOf(' ')>=0 || address.length<8) {
		alert("Please enter a valid email address");
		return false;
	}
	return true;
}*/

function isValidEmail(address) {
	//trim whitespace from start of email
	while (address.substring(0,1) == ' ') {
		address = address.substring(1, address.length);
	}
	//trim whitespace from end of email
	while (address.substring(address.length-1, address.length) == ' ') {
		address = address.substring(0,address.length-1);
	}
	if (address.indexOf('@')==-1 || address.indexOf(' ')>=0 || address.length<8) {
		alert("Please enter a valid email address");
		return false;
	}
	
	//check for illegal characters
	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/
	if (address.match(illegalChars)) {
	   alert("The email address contains illegal characters.");
		return false;
	}
	
	//check for duplicate @ characters
	var oneAtSymbol = address.match(/@/g);
	if (oneAtSymbol.length > 1) {
		alert("Your email address can only contain one \"@\" character.");
		return false;
	}
	
	// check for invalid addresses
	var illegalStrings = /(@\.com)|(\.\.com)|(^@)|(test@test.com)/i;
	if (address.match(illegalStrings)) {
		alert("Your email address is invalid. Please enter a valid email address.");
		return false;
	}
	
	return true;
}
