// Email error message
var emailErrorFrench = "Votre adresse de courriel est erronée";
var emailErrorItalian = "Il vostro indirizzo e-mail non è valido";
var emailErrorGerman = "Ihre e-mail-adresse ist ungültig";
var emailErrorSpanish = "Su dirección de correo electrónico no es válida";
var emailErrorPortuguese = "O seu endereço de e-mail é inválido";
var emailErrorDutch = "Uw e-mailadres is niet geldig";
var emailErrorEnglish = "Your e-mail address is invalid";
var emailError = "Your e-mail address is invalid";

// Email lenght error message
var emailLenghtErrorFrench = "L\'adresse de courrier électronique doit comporter 5 caractères minimum.";
var emailLenghtErrorItalian = "L’indirizzo e-mail deve contenere almeno 5 caratteri.";
var emailLenghtErrorGerman = "Die E-Mail-Adresse muss mindestens aus 5 Zeichen bestehen.";
var emailLenghtErrorSpanish = "La dirección de correo electrónico deberá tener un mínimo de 5 caracteres.";
var emailLenghtErrorPortuguese = "O endereço de correio eletrônico deve ter pelo menos 5 caracteres.";
var emailLenghtErrorDutch = "E-mailadres moet bestaan uit tenminste 5 tekens.";
var emailLenghtErrorEnglish = "Your e-mail address must be at least 5 characters.";
var emailLenghtError = "Your e-mail address must be at least 5 characters.";

// Email format error message
var emailFormatErrorFrench = "Le format de l\'adresse de courrier électronique doit suivre le modèle nom@fournisseur.com.";
var emailFormatErrorItalian = "L\'indirizzo e-mail dev\'essere nel formato seguente: nome@fornitore.it.";
var emailFormatErrorGerman = "Das E-Mail-Format muss folgendermaßen aussehen: name@provider.com.";
var emailFormatErrorSpanish = "El formato de la dirección de correo electrónico debe ser del tipo nombre@proveedor.com.";
var emailFormatErrorPortuguese = "O formato de correio eletrônico deve ser como nome@provedor.com.";
var emailFormatErrorDutch = "E-mailadres opmaak moet zijn als naam@provider.com.";
var emailFormatErrorEnglish = "The format of your e-mail must be like name@provider.com.";
var emailFormatError = "The format of your e-mail must be like name@provider.com.";

// Email space error message
var emailSpaceErrorFrench = "L\'adresse de courrier électronique ne peut pas contenir d\'espaces.";
var emailSpaceErrorItalian = "L’indirizzo e-mail non può contenere spazi.";
var emailSpaceErrorGerman = "Die E-Mail-Adresse darf keine Leerstellen enthalten.";
var emailSpaceErrorSpanish = "La dirección de correo electrónico no deberá contener espacios.";
var emailSpaceErrorPortuguese = "O endereço de correio eletrônico não pode conter espaços.";
var emailSpaceErrorDutch = "E-mailadres mag geen spaties bevatten.";
var emailSpaceErrorEnglish = "Your e-mail address cannot contain spaces.";
var emailSpaceError = "Your e-mail address cannot contain spaces.";

// Email invalid character start error message
var emailSymbolBeginErrorFrench = "L\'adresse de courrier électronique ne peut pas contenir le caractère ";
var emailSymbolBeginErrorItalian = "L’indirizzo e-mail non può contenere il carattere: ";
var emailSymbolBeginErrorGerman = "Die E-Mail-Adresse darf kein ";
var emailSymbolBeginErrorSpanish = "La dirección de correo electrónico no podrá contener el carácter ";
var emailSymbolBeginErrorPortuguese = "O endereço de correio eletrônico não pode conter o caractere ";
var emailSymbolBeginErrorDutch = "E-mailadres kan niet het teken ";
var emailSymbolBeginErrorEnglish = "Your e-mail address cannot contain the ";
var emailSymbolBeginError = "Your e-mail address cannot contain the ";

// Email invalid character end error message
var emailSymbolEndErrorFrench = ".";
var emailSymbolEndErrorItalian = ".";
var emailSymbolEndErrorGerman = "-Zeichen enthalten.";
var emailSymbolEndErrorSpanish = ".";
var emailSymbolEndErrorPortuguese = ".";
var emailSymbolEndErrorDutch = " bevatten.";
var emailSymbolEndErrorEnglish = " character.";
var emailSymbolEndError = " character.";


function ValidateEmail( EMail, Language ) {
	var EMailAt = EMail.indexOf("@");
	var TwoEMailAt = EMail.indexOf("@@");
	var InvalidChar = "\\/`~!#$%^*()+=|]}[{:;?";
	var LenInvalidChar = (InvalidChar.length - 1);
	var EMailDot = EMail.lastIndexOf(".");
	var Counter = 0;
	var WhichChar = "";
 
    var beforeDot = EMail.lastIndexOf(".") + 1;
    var afterDot  = EMail.length;
    var	endOfDomain =  afterDot-beforeDot;
    
    
	if ( EMail.length < 5 ) {
		return eval( "emailLenghtError" + Language );
	} else if ((TwoEMailAt != - 1) || ( EMailAt == -1 ) || ( EMailAt > EMailDot ) || 
		( EMailAt == EMailDot -1 ) || (( EMailAt + 3) > EMail.length ) || 
		( EMailDot == -1 ) || (endOfDomain < 2) ) {
		return eval( "emailFormatError" + Language );
	} else if ( EMail.indexOf(" ") != -1 ) {
		return eval( "emailSpaceError" + Language );
	}
 
	while (Counter <= LenInvalidChar) {
		WhichChar = InvalidChar.substring(Counter,Counter+1);
		if (EMail.indexOf(WhichChar) != -1) {
			return eval( "emailSymbolBeginError" + Language ) + WhichChar + eval( "emailSymbolEndError" + Language );
		}
		Counter = Counter + 1;
	}
 
	return "";
}