//--------------------------------------------------------------//
// Vérification de la validité de l'adresse email - Version 1.2 //
//--------------------------------------------------------------//

function CheckEmail(Param_Email,Param_Langue)
{
var Email = Param_Email;
var Email_Char;
var Email_Nb_Arobase = 0;
var Email_Nb_Point = 0;
var Email_Erreur = 0;
var Email_Special = false; //Permet de détecter deux caractères ('-', '.', '@','_') consécutif
var Email_Message = "";

if (Email.length == 0)
{ 
	Email_Erreur = 1;
}
else
{
	for(i = 0 ; i < Email.length ; i++)
	{
		Email_Char = Email.charCodeAt(i);
		//autorise les caractéres 'A..Z', 'a..z', '0..9','-', '.', '@','_','&'
		if (((Email_Char >= 65) && (Email_Char <= 90)) || ((Email_Char >= 97) && (Email_Char <= 122)) || ((Email_Char >= 48) && (Email_Char <= 57)) || (Email_Char == 45) || (Email_Char == 46) || (Email_Char == 64) || (Email_Char == 95) || (Email_Char == 38))
		{
			if (Email_Char == 64)
			{
				Email_Nb_Arobase = Email_Nb_Arobase + 1;
			}
			if ((Email_Char == 46) && (Email_Nb_Arobase > 0))
			{
				Email_Nb_Point = Email_Nb_Point + 1;
			}
			//caractéres spéciaux '-', '.', '@'
			if ((Email_Char == 45) || (Email_Char == 46) || (Email_Char == 64))
			{
				if (Email_Special)
				{
					Email_Erreur = 2;
				}
				else
				{
					Email_Special = true;
				}
			}
			else
			{
				Email_Special = false;
			}
		}
		else
		{
			Email_Special = false;
			Email_Erreur = 3;
		}
	}
	// Vérifie qu'il y a au moins un point
	if ((Email_Nb_Point <= 0))
	{	
		Email_Erreur = 4;
	}
	// Vérifie que le premier caractère n'est pas '-','.','@' ou '_'
	Email_Char = Email.charCodeAt(0);
	if ((Email_Char == 45 ) || (Email_Char == 46 ) || (Email_Char == 64 ) || (Email_Char == 95))
	{	
		Email_Erreur = 5;
	}
	// Vérifie que le dernier caractère n'est pas '-', '.','@' ou '_'
	Email_Char = Email.charCodeAt(Email.length - 1);
			
	if ((Email_Char == 45 ) || (Email_Char == 46 ) || (Email_Char == 64 ) || (Email_Char == 95))
	{	
		Email_Erreur = 6;
	}
	// Vérifie qu'il y a un seul '@'
	if ((Email_Nb_Arobase == 0) || (Email_Nb_Arobase > 1))
	{	
		Email_Erreur = 7;
	}
}

if (Email_Erreur > 0)
{
	switch (Param_Langue)
	{
		case "GB":
					Email_Message = "You have not entered a valid e-mail address.\n";
					break;
		case "SP":
					Email_Message = "¡ Su dirección de correo electrónico es incorrecta !\n";
					break;
		case "NL":
					Email_Message = "Uw e-mail adres is niet correct !\n";
					break;
		default:
					Email_Message = "L'adresse email n'est pas correcte !\n";
					break;
	}
}

return Email_Message;

}

