//<!--
//************* note per l'uso delle funzioni ******************
//
//************************** TABBING ****************************
//il campo di input che contiene la data (ma puo' essere utilizzato per qualunque campo) deve contenere 
//la variabile maxLength inizializzata e il seguente codice:
//   onKeyup="autotab(this, 1)"
//oppure
//   onKeyup="autotab(this, 0)"
//   
//il valore 1 è indicato se deve effettuare il tab al campo successivo, mentre 0 se non si vuole effettuare
//il tab
//
//esempio:
//<input class ="AWAInputText" size='2' name='nascitaData_day' tabindex='5' maxlength='2' type='text' onKeyup="autotab(this, 1)"> 
//
//
//
//************************** COUNTER ****************************
//la riga TR deve avere 3 TD, il primo di label, il secondo di input e la terza per il counter
//nella cella di input deve esistere il seguente codice, parametrizzato secondo la variabile "MAXLENGTH":
//
//maxLength=" <%MAXLENGTH%> " onpaste="countChar(this);" onkeyup="countChar(this);"
//
//nella terza cella deve esserci l'id scritto come nome del campo di input + "Len" (se il "name" del campo
//di input è "partita", l'id della td che contiene il counter è "partitaLen") e deve essere
//inizializzato con MAXLENGTH:
//
//<td class="InputCounter" width="10" id="<%INPUT NAME%>Len"> <%MAXLENGTH%> </td>
//
//IMPORTANTE: i nomi dei campi devono essere univoci all'interno dello stesso form
//
//esempio:
//
//<td  class="AWACellInputLabelReq">
//  Cognome*
//</td>  
//<td  class="AWAInputCell">
//  <input class = "AWAInputText" 
//         maxLength="15" onpaste="countChar(this);" onkeyup="countChar(this);"
//         type =   "text"
//         name =   "cognome"
//         value =   ""
//         tabindex =   "2"
//         size =   "15">
//</td>
//<td class="InputCounter" width="10" id="cognomeLen">[15]</td>
//
//in fondo alla pagina deve essere chiamata la funzione "setCharCounter()" che inizializza tutti i counter
//presenti
//
//-->

/* funzione per contare i caratteri che mancano dato un maxlength */
function countChar(ths) {
    if(ths.maxLength && ths.maxLength>0 && ths.maxLength<1000)
       var max=ths.maxLength;
    else
       return false;
       
    var inputName = ths.name;
    var charId = inputName+"Len";
    if (document.getElementById(charId)) // controllo se esiste il TD con quell'ID per poter scrivere i counter
       {
       var len=ths.value.length;
       var diff=(max-len);
 
       if(diff<=0) //non posso scrivere oppure ho un valore più lungo del massimo consentito
          {
           eval(charId+'.innerText="[0]"');
           ths.value=ths.value.substring(0,max);
          }
       else //posso scrivere
          {
           eval(charId+'.innerText="['+(diff)+']"');
          }
       }
}

/* funzione di auto tabbin da un campo a quello successivo al termine del completamento
   del campo, definito su un numero massimo di caratteri digitabili:
   - nell' input type HTML deve essere definita la variabile "maxlength"
   - next_last è un parametro che vale 0 se non deve effettuare il tab
     e vale 1 se deve effettuare il tab al campo successivo
*/
function autotab(ths,next_last){
var fieldName = ths.name;
var formLen = ths.form.elements.length;
var fieldElem = 0;
for (var i=0;i < formLen;i++)
    {
    if (ths.form.elements[i].name == fieldName)
       fieldElem=i;
    }
if (ths.getAttribute("maxlength") && ths.value.length==ths.getAttribute("maxlength"))
   {
   if(next_last==1)
      ths.form.elements[fieldElem+1].focus();
   else
      return false;
   }
else
   return false;
}

/* funzione che inizializza i counter di tutti i form contenuti nella pagina e chiama la countChar() */
function setCharCounter () {
if (document.getElementsByTagName("form"))
   {
   var myForms= document.getElementsByTagName("form").length;
   for (j=0;j<myForms;j++)
      {
      myForm=document.forms[j];
      var lenForms=myForm.length;

      for (i=0;i<lenForms;i++)
         {
         var myElem= myForm.elements[i];
         countChar(myElem);
         }
      }
   }
}