// args : string moncontroletexte, int nbcar, string moncontroledecompte
// return : aucun
// Affecte à certains évènements d'un textarea, le contrôle de la longueur de son contenu
function LimiterTextArea(nom_controletexte, nbcar, nom_controledecompte)
{
var moncontroletexte = document.getElementById(nom_controletexte);

var moncontroledecompte = document.getElementById(nom_controledecompte);

if (moncontroletexte && moncontroledecompte)
{

moncontroletexte.onclick = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
moncontroletexte.onblur = function(){this.className='normal';TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
moncontroletexte.onkeyup = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
moncontroletexte.onkeypress = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};

var restant	=	NbCarRestant(moncontroletexte, nbcar);
if(restant == 0){
	restant	=	"<span style='color:red;font-weight:bold;'>"+restant+"</span>";
}
// *** Affichage du nombre de caractères restant
if(moncontroledecompte.type)
moncontroledecompte.value = restant; // Pour un input de formulaire
else
moncontroledecompte.innerHTML = restant; // 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");
// mes actions ...

// *** Affichage du nombre de caractères restant

var restant	=	NbCarRestant(moncontroletexte, nbcar);
if(restant == 0){
	restant	=	"<span style='color:red;font-weight:bold;'>"+restant+"</span>";
}
// *** Affichage du nombre de caractères restant
if(moncontroledecompte.type)
moncontroledecompte.value = restant;
else
moncontroledecompte.innerHTML = restant;

return true;
}
else
{
//alert("rempli");
// mes actions ...

// 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);
}
