function Valide() 
{ 
var strEmail;
var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var erreur1 = "false";
var erreur2 = "false";
var erreur3= "false";
var erreur4 = "false";
var erreur5 = "false";
var erreur6 = "false";
var erreur7 = "false";
var erreur8 = "false";
var day;
var mnth;
var yr;
var ladate;
ladate = window.document.FEnregistre.IMois.options[window.document.FEnregistre.IMois.selectedIndex].value + "/" + window.document.FEnregistre.IJour.options[window.document.FEnregistre.IJour.selectedIndex].value + "/" + window.document.FEnregistre.IAnnee.options[window.document.FEnregistre.IAnnee.selectedIndex].value;
var Datejour = new Date();

if (ladate.indexOf('NULL',0)==-1)
	{
	day = eval(ladate.charAt(3)+ladate.charAt(4));
	day = parseInt(day);
	mnth = eval(ladate.charAt(0)+ladate.charAt(1));
	mnth = parseInt(mnth);
	
	// mnthArray[0] is january, mnthArray[11] is december
	mnthArray = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
	// netscape/IE number months starting with january = 0
	mnth = mnth-1;	
	
		if(day > parseInt(mnthArray[parseInt(mnth)]))
		{
		erreur8 = "true"
		}	
	}




strEmail=window.document.FEnregistre.IEmail.value;
	if (strEmail!="")
		{

		{
	var matchArray=strEmail.match(emailPat);

	if (matchArray==null)
		 {
		alert("Votre email entré ne semble pas valide ( verifier @ ou . )"); 
		erreur1 = "true";
				}
	if (matchArray!=null)	
		{
		var user=matchArray[1];
		var domain=matchArray[2];

		for (i=0; i<user.length; i++)
			{
			if (user.charCodeAt(i)>127)
				{
				alert("Le nom d'usager contient des caractères invalides.");
				erreur1 = "true";
		    	}
			}
		for (i=0; i<domain.length; i++)
			{
			if (domain.charCodeAt(i)>127) 
				{
				alert("Le nom de domaine contient des  caractères invalides.");
				erreur1 = "true";
		    	}
			}
		if (user.match(userPat)==null)
			{
			alert("Le nom d'usager ne semble pas être valide.");
			erreur1 = "true";
			}

		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null)
			{
			for (var i=1;i<=4;i++)
				{
				if (IPArray[i]>255)
			   		{
					alert("L'adresse ip de destination est invalide!");
					erreur1 = "true";
   					}
				}
			}

		var atomPat=new RegExp("^" + atom + "$");
		var domArr=domain.split(".");
		var len=domArr.length;
		for (i=0;i<len;i++)
			{
			if (domArr[i].search(atomPat)==-1)
				{
				alert("Le nom de domaine ne semble pas être valide.");
				erreur1 = "true";
   				}
			}

		if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1)
			{
			alert("L'adresse doit finir par un nom de domain connu (.com, .net, etc...) ou 2 lettres du pays (.ca, .fr, etc...)");
			erreur1 = "true";
			}

		if (len<2) 
			{
			alert("Cette adresse n'a pas de hostname!");
			erreur1 = "true";
			}
		}	
	}

}

	if (strEmail=="")
		{
		erreur2 = "true";
		}

	if (window.document.FEnregistre.INoSigne.options[window.document.FEnregistre.INoSigne.selectedIndex].value == "NULL")
   		{ 
		erreur3 = "true";
   		}		
		
	if (window.document.FEnregistre.INoPays.options[window.document.FEnregistre.INoPays.selectedIndex].value == "NULL")
   		{ 
		erreur4 = "true";
   		}	
		
if (window.document.FEnregistre.IAnnee.options[window.document.FEnregistre.IAnnee.selectedIndex].value=="NULL")
	{
	erreur5 = "true";
	}
	
if (window.document.FEnregistre.IMois.options[window.document.FEnregistre.IMois.selectedIndex].value=="NULL")
	{
	erreur6 = "true";
	}	
	
if (window.document.FEnregistre.IJour.options[window.document.FEnregistre.IJour.selectedIndex].value=="NULL")
	{
	erreur7 = "true";
	}			
		
		
					  


if (erreur1 == "true")
	{
	window.document.FEnregistre.IEmail.focus()
	}

else if (erreur2 == "true")
	{
	alert("Vous devez entrer votre email!");	
	window.document.FEnregistre.IEmail.focus()
	}

	
else if (erreur3 == "true")
	{
	alert("Vous devez entrer votre signe astrologique!")
	window.document.FEnregistre.INoSigne.focus()	
	}	
	
else if (erreur4 == "true")
	{
	alert("Vous devez entrer votre pays!")
	window.document.FEnregistre.INoPays.focus()	
	}	
else if (erreur5 == "true")
	{
	alert("Vous devez choisir l'année de votre naissance");
	window.document.FEnregistre.IAnnee.focus();		
	}
else if (erreur6 == "true")
	{
	alert("Vous devez choisir le mois");
	window.document.FEnregistre.IMois.focus();		
	}
else if (erreur7 == "true")
	{
	alert("Vous devez choisir le jour");
	window.document.FEnregistre.IJour.focus();	
	}			
	
else if (erreur8 == "true")
	{
	alert("Le jour entré est invalide pour ce mois.")
	window.document.FEnregistre.IJour.focus()		
	}	

else
	{
	window.document.FEnregistre.submit();		
	}
}
