// JavaScript Document
function verif_textarea_length(e)
{
var target = e.target || e.srcElement; // récupération de la cible
var is_something_wrong = false; // initialisation variable

 if ((target.attributes) && (target.attributes['control_length']) && (target.attributes['control_length'].value = '1')) // 'control_length'?
 {
 max = target.attributes['maxlength'].value; //récupération de la valeur maxlength de la cible
 id_textarea = target.attributes['id'].value; //récupération de la valeur id de la cible
 id_control_cell = target.attributes['id_control_cell'].value; //récupération de la valeur id de la div pour le compteur

 textarea = document.getElementById(id_textarea); //assignation du textarea dans un objet plus accessible
 if (textarea.value.length > max) //est-ce que la taille du texte est trop grande?
 {
 //oui, on affiche un message et on découpe ce qui traine après la limite
 alert('Vous ne pouvez rentrer que '+ max +' caracteres maximum pour ce champs');
 textarea.value=textarea.value.substring(0,max);
 is_something_wrong = true; // on prévient à la sortie que qque chose ne s'est pas bien passé
 }
 show_counter_value(id_control_cell,textarea.value.length); //on affiche la taille du texte
 }
 return (!is_something_wrong); //retour à l'envoyeur
 }

 // affiche le nombre de caractères du textarea
 //rien de bien compliqué
 function show_counter_value(id_control_cell,counter_value)
 {
 control_cell_div = document.getElementById(id_control_cell);
 control_cell_div.innerHTML = counter_value ; // on met à jour le champs de contrôle.
 return true;
 }

 //mise en place des gachettes (triggers en anglais)
 function set_callback_events()
 {
 if (document.addEventListener){
 // alert('FF');
 document.addEventListener('keypress', verif_textarea_length, false);
 document.addEventListener('keyup', verif_textarea_length, false);
 document.addEventListener('blur', verif_textarea_length, false);
 } else if (document.attachEvent){
 // alert('IE');
 document.attachEvent('onkeypress', verif_textarea_length);
 document.attachEvent('onkeyup', verif_textarea_length);
 document.attachEvent('onblur', verif_textarea_length);
 }
 } 
