    function DonneNombreHasard(Minimum, Maximum) 
    {
	    return (Math.floor(Math.random() * (Maximum - Minimum)) + Minimum);
    }

    function DonneCaractereHasard(Nombres, Minuscules, Majuscules, Autres) 
    {
	    var LesChiffres 			= "0123456789";
	    var LesMinuscules 		= "abcdefghijklmnopqrstuvwxyz";
	    var LesMajuscules 		= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	    var LesAutres 				= "`~!@#$%^&*()-_=+[{]}\\|;:'\",<.>/? ";
	    var ChaineCaracteres 	= ""
    	
	    if (Nombres == true)	  	ChaineCaracteres += LesChiffres;
	    if (Minuscules == true) 	ChaineCaracteres += LesMinuscules;
	    if (Majuscules == true) 	ChaineCaracteres += LesMajuscules;
	    if (Autres == true)     	ChaineCaracteres += LesAutres;
    	
	    return ChaineCaracteres.charAt(DonneNombreHasard(0, ChaineCaracteres.length));
    }

    function ComposerMotPasse(Longueur,NombreEnPremier,MinusculeEnPremier,MajusculeEnPremier,AutreEnPremier,NombreEnsuite,MinusculeEnsuite,MajusculeEnsuite, AutreEnsuite) 
    {
	    var Resultat = "";
	    if (Longueur > 0) Resultat = Resultat + DonneCaractereHasard(NombreEnPremier,MinusculeEnPremier,MajusculeEnPremier,AutreEnPremier);
	    for (var i = 1; i < Longueur; ++i) 
	    {
		    Resultat = Resultat + DonneCaractereHasard(NombreEnsuite,MinusculeEnsuite,MajusculeEnsuite,AutreEnsuite);
	    }
	    document.FormPage.xxl.value = Resultat;
    }
