// classe message
//
// methodes : 
// - compte()
// - valide()

function champ_message(longueurMax,option){

 this.formulaire = "";
 this.compteur = "";
 this.erreur = "";
 this.compte = compte_message;
 this.valide = valide_message;
 this.liste = lire_liste;
 this.longueurMax = longueurMax;
 this.option = option;
}

function valide_message(){
 with(document.forms[this.formulaire]){
  if(this.option == 1 && message.value == ""){
   this.erreur = "Le champ message doit être rempli pour que l\'envoi soit effectif.";
   return false;
  }

  if(this.option == 1 &&  !/[^\s]/i.test(message.value)){
   this.erreur = "Le champ message doit être rempli pour que l\'envoi soit effectif.";
   return false;  
  }  

  if(this.option == 2 && message.value == "" && signature.value == ""){
   this.erreur = "Vous devez envoyer au moins un message ou une signature.";
   return false;
  }  
  if(message.value.length > this.longueurMax){
   this.erreur = "Ce message doit comporter moins de " + this.longueurMax + "caractères";
   return false;  
  } 
 }
 return true;
}

function compte_message() {
 with(document.forms[this.formulaire]){
// le format du message est du type : 
// <message> <signature> < 160 caractères (smstexte)
//                       < 140 caractères (smscarte)

  longueur_message = message.value.length;
  longueur_signature = signature.value.length;
// S'il y a un message et une signature, il faut rajouter un espace
  if((longueur_signature > 0) && (longueur_message > 0)){
   longueur = longueur_message + longueur_signature + 1 ;
  } else {
   longueur = longueur_message + longueur_signature;
  }

  if(longueur > this.longueurMax){
// On abrege le message plutot que la signature
// S'il y a une signature, il y a un espace

   if(longueur_signature > 0){
    message.value = message.value.substring(0,(this.longueurMax - longueur_signature - 1 ));
   } else {
    message.value = message.value.substring(0,this.longueurMax);
   }
   cmpt = this.longueurMax;
  } else {
   cmpt = longueur;
  }
 elements[this.compteur].value = cmpt;
 } // fin de with()
} // fin de la fonction compte_message

function lire_liste(){ // Pour afficher dans le champ message le message prédéfini choisi
 with(document.forms[this.formulaire]){ 
  choix = message_predefini.selectedIndex;
  message.value = message_predefini.options[choix].value;
 }// fin de with()
}
