
// Controla el numero de linies i de caracters d'un textarea
// Roger Fontcuberta (C) 2001 Argus Serveis Telemàtics


// limit de caracters del textarea.
var limit=250;
// maxim numero de linies del textarea, per defecte
var maxlinies= 3;



// carrega el programa. fixa un nombre de linies  i de caracters maxims
function fesload(maxlin,maxchars)
{
 if (maxlin!=null)   { maxlinies=maxlin; }
 if (maxchars!=null) { limit=maxchars;}
 tick()
}


function tick() {
 comprobatxtarea(document.form1)
 var timerID = setTimeout("tick()",1200);
}


function comprobatxtarea(f)
{

 var q= f.elements.length;

 for (var i=0;i<q; i++)
  {
   var unel= f.elements[i];

   if (unel.type =="textarea")
   {

     var carest= unel.value.length;

     //f.elements[i-1].focus();

     //status= carest;
     if (carest > limit )
      {

       unel.value = unel.value.substring(0,limit)
       alert("la longitud maxima d'aquest camp és de :"+limit+"\n"+ "El text ha estat truncat a la llargada màxima permesa");

      }
     var linies=1;
     for (var j=0;j< unel.value.length ;j++) {
	          if (unel.value.charAt(j)=="\n")  { linies++ ;}
              // status=linies;
             }

     var ultimapos=0;
     var nouval=0;

    if(linies > maxlinies)
    {
       for (var kk=linies;kk>maxlinies;kk--)
       {
       ultimapos= unel.value.lastIndexOf("\n");
       nouval= unel.value.substring(0,ultimapos-1);
       nouval= nouval+" "+unel.value.substring(ultimapos+1,carest);
       unel.value=nouval;
       }
       //alert("S'ha excedit el numero màxim de linies per aquest camp. \n El nombre màxim de linies  és de: "+maxlinies+"\n"+ "S'han ajustat les linies automaticament al màxim permés");
    }

   }
  }

}


