// Email validation
function MM_checkEmail(MM_thisEmail) {
	var emailString = MM_thisEmail;

	var has_at = (0 < emailString.indexOf('@') && emailString.indexOf('@') < emailString.length-2);
	var has_dot = (0 < emailString.indexOf('.') && emailString.indexOf('.') < emailString.length-1);
	var has_last_dot = (1 < emailString.lastIndexOf('.') && emailString.lastIndexOf('.') < emailString.length-1);

	var has_error1  = (emailString.indexOf('?') != -1);
	var has_error2  = (emailString.indexOf(',') != -1);
	var has_error3  = (emailString.indexOf('|') != -1);
	var has_error4  = (emailString.indexOf('"') != -1);
	var has_error5  = (emailString.indexOf("'") != -1);
	var has_error6  = (emailString.indexOf('&') != -1);
	var has_error7  = (emailString.indexOf('*') != -1);
	var has_error8  = (emailString.indexOf('%') != -1);
	var has_error9  = (emailString.indexOf('!') != -1);
	var has_error10 = (emailString.indexOf('+') != -1);
	var has_error12 = (emailString.indexOf('=') != -1);
	var has_error13 = (emailString.indexOf('(') != -1);
	var has_error14 = (emailString.indexOf(')') != -1);
	var has_error15 = (emailString.indexOf('[') != -1);
	var has_error16 = (emailString.indexOf(']') != -1);
	var has_error17 = (emailString.indexOf('{') != -1);
	var has_error18 = (emailString.indexOf('}') != -1);
	var has_error19 = (emailString.indexOf(':') != -1);
	var has_error20 = (emailString.indexOf(';') != -1);
	var has_error21 = (emailString.indexOf('#') != -1);
	var has_error22 = (emailString.indexOf('<') != -1);
	var has_error23 = (emailString.indexOf('>') != -1);
	var has_error24 = (emailString.indexOf('`') != -1);
	var has_error25 = (emailString.indexOf('~') != -1);
	var has_error26 = (emailString.indexOf('/') != -1);
	var has_error27 = (emailString.indexOf('\\') != -1);

	var has_error = has_error1||has_error2||has_error3||has_error4||has_error5||has_error6||has_error7||has_error8||has_error9||has_error10||has_error12||has_error13||has_error14||has_error15||has_error16||has_error17||has_error18||has_error19||has_error20||has_error21||has_error22||has_error23||has_error24||has_error25||has_error26||has_error27

	if(!(has_at && has_dot && has_last_dot)||has_error) {
		return false;
	}
	else {
		return true;
	}
}
