/* 
	This is, at best, a perfunctory test of email address 
    entry validity.  Is there an "@" sign and sufficient
    letters prefixing it. Alert user if questioned.
*/
/*------------------------------------------------------
'
'Nom du fichier		: emailCheck.js
'
'Auteur(s)		: Jean-Francois Mathieu
'Date de création	: 14 mai 2001
'Date de révision	: 
'
'Description	: fichier qui contient la fonction de 
'				de validation de email
' 
'APPEL : <script language="JavaScript" src="../../dynamic/lib/lib/nomFicher.js"></script>
-------------------------------------------------------*/

/*'**************EN TETE DE FONCTION******************
'
'Nom de la fonction : emailCheck()
'
'Auteur(s)          : Jean-François Mathieu
'Date de création   : Jean-François Mathieu
'Date de révision   : 14 mai 2001 - J.F. Mathieu
'
'Entrée         : FormToCheck (this.form) : Le formulaire
'				  CtrlName :'' = Le nom du control en string
'				  Langue (Fr/En) : '' = Francais
'Sortie         : true/false
'
'Description : Fonction qui vérifie si le email à un @
'			 dans le champs et fait un alert.
'
'	NOTE: Bien définir les trois paramètre meme si la
'		date est laissé vide.
'
'****************************************************/
function emailCheck(FormToCheck, CtrlName, Langue) {
	
	email = FormToCheck.elements[CtrlName].value;
  	invalidChars = "/:,;";
	
	//Message
	var InvalidFr = "Invalid Characters are not permited";
	var InvalidEn = "Invalid Characters are not permited";
	var MustAFr = "Il doit avoir un @";
	var MustAEn = "Must have @ in the email address";
	var JustAFr = "Il est permis d'avoir seulement un @";
	var JustAEn = "Only one @ is allowed";
	var PointReqFr = "Un point est requis apres le @";
	var PointReqEn = "A point must follow @";
	var Must2Fr	= "Il doit avoir au moins 2 caracteres apres le point.";
	var Must2En = "Must have at least 2 characters after the point.";
	var Least1Fr = "Must have at least 1 characters before the point";
	var Least1En = "Must have at least 1 characters before the point";
	var Invalid, MustA, JustA, PointReq, Must2, Least1;

	if (Langue == 'Fr')
	{
		Invalid = InvalidFr;
		MustA = MustAFr;
		JustA = JustAFr;
		PointReq = PointReqFr;
		Must2 = Must2Fr; 
		Least1 = Least1Fr; 
	}
	else
	{
		Invalid = InvalidEn;
		MustA = MustAEn;
		JustA = JustAEn;
		PointReq = PointReqEn;
		Must2 = Must2En;
		Least1 = Least1En;
	}

	if (email == "")
	{
		return true;
	}
	
	for(i=0; i<invalidChars.length; i++)
	{
		badChar = invalidChars.charAt(i);
		if (email.indexOf(badChar,0) > -1)
		{
			alert(Invalid);
			return false;
		}
	}

	atPos = email.indexOf("@",1)
	if (atPos == -1){
		alert(MustA);
		return false;
	}
	
	if (email.indexOf("@",atPos+1) != -1){
		alert(JustA);
		return false;
	}
	
	periodPos = email.indexOf(".",atPos)
	if (atPos + 1 == periodPos){
		alert(Least1);
		return false;
	}
	
	if (periodPos == -1){
		alert(PointReq);
		return false;
	}
	
		
	if (periodPos+3 > email.length){
		alert(Must2);
		return false;
	}
		
	return true; 
}


