

function LimiterTextArea(nom_controletexte, nbcar, nom_controledecompte)
{
    var moncontroletexte = document.getElementById(nom_controletexte);
    //alert (moncontroletexte);
    var moncontroledecompte = document.getElementById(nom_controledecompte);
    //alert(moncontroledecompte);
    if (moncontroletexte && moncontroledecompte)
    {
        moncontroletexte.onclick = function(){
            TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)
        };
        moncontroletexte.onblur = function(){
            TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)
        };
        moncontroletexte.onkeyup = function(){
            TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)
        };
        moncontroletexte.onkeypress = function(){
            TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)
        };
        // *** Affichage du nombre de caract�res restant
        if(moncontroledecompte.type)
            moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar);			// Pour un input de formulaire
        else
            moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);	// Pour un �l�ment HTML
    }
}

// TextAreaEstRempli
// args : textarea moncontroletexte, int nbcar, element_HTML moncontroledecompte
// return : bool
// Renvoie vrai si le nombre de caract�res maximum du textarea n'est pas atteint
function TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)
{
    if (moncontroletexte)
    {
        if (moncontroletexte.value.length <= nbcar)
        {
            //alert("pas rempli");
           // *** Affichage du nombre de caract�res restant
            if(moncontroledecompte.type)
                moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar);
            else
                moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);
            return true;
        }
        else
        {
            //alert("rempli");
            // Affichage du nombre de caract�res restant
            moncontroletexte.value = moncontroletexte.value.substr(0, nbcar);
            // *** Affichage du nombre de caract�res restant
            if(moncontroledecompte.type)
                moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar);
            else
                moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);

            return false;
        }
    }
}

// NbCarRestant
// args : textarea moncontroletexte, int nbcar
// return : int
// Renvoie le nombre de caract�re � saisir
function NbCarRestant(moncontroletexte, nbcar)
{
    if (moncontroletexte.value.length)
        return new Number(nbcar - moncontroletexte.value.length);
    else
        return new Number(nbcar);
}

