function traduzione(lang_id)
{
  // alert('function traduzione in lingua ' + lang_id);
  
  lang_id = setDizionario(lang_id);
  traduzioneGenerica(lang_id);
  
  var html = document.getElementsByTagName("HTML"); 
  html[0].getAttribute('lang').value = lang_id;
  
  var body = document.getElementsByTagName("BODY"); 
  body_id_attribute = body[0].getAttribute('id');
  // alert('id body =' +  body_id_attribute );

  
  if (document.getElementById('aAiuto')) {
    document.getElementById('aAiuto').innerHTML = dizionario[11];
//    if (body_id_attribute != null) 
//    {
//    document.getElementById('aAiuto').href = "aiuto/" + body_id_attribute + "?lang=" + lang_id;
//    }
  }
   
  if (document.getElementById('aChiudi')) {
    document.getElementById('aChiudi').innerHTML = dizionario[501];
  }
  if (document.getElementById('aClic')) {
    document.getElementById('aClic').innerHTML = dizionario[60];
  }
  if (document.getElementById('aAnnullaDati')) {
    document.getElementById('aAnnullaDati').innerHTML = dizionario[446];
  }
  
  if (document.getElementById('aRitorno')) {
    document.getElementById('aRitorno').innerHTML = dizionario[24];
  }
  
  if (document.getElementById('legendRicercaCollo')) {
    document.getElementById('legendRicercaCollo').innerHTML = dizionario[317];
  }
  
  if (document.getElementById('aNuovaRicerca')) {
    document.getElementById('aNuovaRicerca').innerHTML = dizionario[417];
  }
  
  if (document.getElementById('aNuovoRitiro')) {
    document.getElementById('aNuovoRitiro').innerHTML = dizionario[21];
  }
  
  if (document.getElementById('aTempiConsegna')) {
    document.getElementById('aTempiConsegna').innerHTML = dizionario[476];
  }
  
  if (document.getElementById('aCliccare')) {
    document.getElementById('aCliccare').innerHTML = dizionario[61];
  }
   
  if (document.getElementById('oAltraLocalita')) {
    document.getElementById('oAltraLocalita').innerHTML = dizionario[34];
  }
    
  if (document.getElementById('inputPulire')) {
    document.getElementById('inputPulire').setAttribute("value",dizionario[304]);
  }
    
  if (document.getElementById('inputAccetto')) {
    document.getElementById('inputAccetto').setAttribute("value",dizionario[31]);
  }
    
  if (document.getElementById('inputInvia')) {
    document.getElementById('inputInvia').setAttribute("value",dizionario[71]);
  }
  
  if (document.getElementById('inputAggiorna')) {
    document.getElementById('inputAggiorna').setAttribute("value",dizionario[451]);
  }
  
  if (document.getElementById('inputPrev')) {
    document.getElementById('inputPrev').setAttribute("value",dizionario[452]);
  }
  
  if (document.getElementById('inputNext')) {
    document.getElementById('inputNext').setAttribute("value",dizionario[453]);
  }
     
  if (document.getElementById('inputStampa')) {
    document.getElementById('inputStampa').setAttribute("value",dizionario[383]);
  }
     
  if (document.getElementById('inputConferma')) {
    document.getElementById('inputConferma').setAttribute("value",dizionario[71]);
  }
     
  if (document.getElementById('inputConfermaOrdine')) {
    document.getElementById('inputConfermaOrdine').setAttribute("value",dizionario[71]);
  }
    
  if (document.getElementById('inputElencoSpedizioni')) {
    document.getElementById('inputElencoSpedizioni').setAttribute("value",dizionario[132]);
  }
    
  if (document.getElementById('inputStampaStatistica')) {
    document.getElementById('inputStampaStatistica').setAttribute("value",dizionario[384]);
  }
   
  if (document.getElementById('inputRicerca1')) {
    document.getElementById('inputRicerca1').setAttribute("value",dizionario[314]);
  }
  
  if (document.getElementById('inputRicerca2')) {
    document.getElementById('inputRicerca2').setAttribute("value",dizionario[314]);
  }
  
  if (document.getElementById('inputRicerca3')) {
    document.getElementById('inputRicerca3').setAttribute("value",dizionario[314]);
  }
  
  if (document.getElementById('inputRicerca4')) {
    document.getElementById('inputRicerca4').setAttribute("value",dizionario[314]);
  }

  if (document.getElementById('inputChgPsw')) {
    document.getElementById('inputChgPsw').innerHTML = dizionario[57];
  }
     
  if (document.getElementById('inputRichiestaRitiro')) {
    document.getElementById('inputRichiestaRitiro').setAttribute("value",dizionario[331]);
  }
  
      
  if (document.getElementById('bSIvisualizza')) {
    document.getElementById('bSIvisualizza').innerHTML = dizionario[371];
  }
     
  if (document.getElementById('bNOtorna')) {
    document.getElementById('bNOtorna').innerHTML = dizionario[255];
  }
  
  if (document.getElementById('aCRitiro')) {
    document.getElementById('aCRitiro').innerHTML = dizionario[13];
    if (body_id_attribute != null) 
    {
    document.getElementById('aCRitiro').href = "info/info.hsm?urlinfo=orm_condizioni_ritiro.htm&lang=" + lang_id;
    }    
  }
  
  if (document.getElementById('aCGenerali')) {
    document.getElementById('aCGenerali').innerHTML = dizionario[14];
    if (body_id_attribute != null) 
    {
    document.getElementById('aCGenerali').href = "info/"+ lang_id + "/" + "CONDIZIONI GENERALI CONTRATTO TARIFFARIO.pdf";
    }    
  }
  
  if (document.getElementById('inputAvanti')) {
    document.getElementById('inputAvanti').setAttribute("value",dizionario[43]);
  }
  
  if (document.getElementById('inputPulire')) {
    document.getElementById('inputPulire').setAttribute("value",dizionario[304]);
  }

  if (document.getElementById('aStati')) {
    document.getElementById('aStati').innerHTML = dizionario[26];
  }

  if (document.getElementById('aColli')) {
    document.getElementById('aColli').innerHTML = dizionario[12];
  }

  if (document.getElementById('aContrassegno')) {
    document.getElementById('aContrassegno').innerHTML = dizionario[15];
  }
  
  if (document.getElementById('aGiacenza')) {
    document.getElementById('aGiacenza').innerHTML = dizionario[16];
  }
    
  if (document.getElementById('inputInvioDisposizioni')) {
    document.getElementById('inputInvioDisposizioni').setAttribute("value",dizionario[212]);
  }
  
  if (document.getElementById('aSpedizione')) {
    document.getElementById('aSpedizione').innerHTML = dizionario[378];
  }
  
  if (document.getElementById('aSpedizioni')) {
    document.getElementById('aSpedizioni').innerHTML = dizionario[379];
  }
  
  if (document.getElementById('aSpedizione1')) {
    document.getElementById('aSpedizione1').innerHTML = dizionario[25];
  }
  
  if (document.getElementById('aRitiri')) {
    document.getElementById('aRitiri').innerHTML = dizionario[347];
  }
  if (document.getElementById('aEsitiConsegne')) {
    document.getElementById('aEsitiConsegne').innerHTML = dizionario[140];
  }
  if (document.getElementById('aGiacenze')) {
    document.getElementById('aGiacenze').innerHTML = dizionario[152];
  }
  if (document.getElementById('aRichiestaRitiro')) {
    document.getElementById('aRichiestaRitiro').innerHTML = dizionario[331];
  }
  if (document.getElementById('aRitiriMultipli')) {
    document.getElementById('aRitiriMultipli').innerHTML = dizionario[348];
  }
  if (document.getElementById('aABartolini')) {
    document.getElementById('aABartolini').innerHTML = dizionario[28];
  }
  if (document.getElementById('aDaBartolini')) {
    document.getElementById('aDaBartolini').innerHTML = dizionario[82];
  }
  if (document.getElementById('aCambioPassword')) {
    document.getElementById('aCambioPassword').innerHTML = dizionario[57];
  }
  
  if (document.getElementById('aHome')) {
     document.getElementById('aHome').innerHTML = dizionario[156];
  }
  
  if (document.getElementById('atHome')) {
     document.getElementById('atHome').innerHTML = dizionario[17];
  }
  
  if (document.getElementById('aPrecedente')) {
     document.getElementById('aPrecedente').innerHTML = dizionario[23];
  }
  
  if (document.getElementById('aSuccessiva')) {
     document.getElementById('aSuccessiva').innerHTML = dizionario[27];
  }
  
  if (document.getElementById('optionDisponibile')) {
     document.getElementById('optionDisponibile').innerHTML = dizionario[455];
  }
  
  if (document.getElementById('optionPrelevato')) {
     document.getElementById('optionPrelevato').innerHTML = dizionario[456];
  }
  
  if (document.getElementById('optionTutti')) {
     document.getElementById('optionTutti').innerHTML = dizionario[462];
  }
  
  if (document.getElementById('aPrivacy')) {
    document.getElementById('aPrivacy').innerHTML = dizionario[299];
    if (body_id_attribute != null) 
    {
    document.getElementById('aPrivacy').href = "privacy_" + lang_id + ".htm";
    }    
  }
  
  if (document.getElementById('aLogout')) {
    document.getElementById('aLogout').innerHTML = dizionario[228];
  }

}

//******************************************************************************
//
// Funzione di impostazione del dizionario.
//
//******************************************************************************
function setDizionario(lang_id)
{
  // alert('function setDizionario lingua ' + lang_id);
  lang_id = getBrowserLang(lang_id); // Reperisco la lingua del browser.
  if(lang_id != dizionario[0])
  {
  document.getElementById('sltLang').setAttribute("style","visibility:hidden"); // Nascondo scelta lingua.
  switch(lang_id)
  {
  case 'it':
    setDizionario_it();
    break;    
  case 'de':
    setDizionario_de();
    break;
  case 'en':
    setDizionario_en();
    break;
  case 'fr':
    setDizionario_fr();
    break;
  default:
    lang_id = 'it';
    setDizionario_it();
  }
  }
  setCookieLang(lang_id);  // Imposto la lingua nel cookie.
  document.getElementById('sltLang').setAttribute("style","visibility:visible"); // Visualizzo scelta lingua.
  return lang_id;
}

//******************************************************************************
//
// Funzione di reperimento della lingua se non ricevuta come parametro.
//
//******************************************************************************
function getBrowserLang(lang_id)
{
  // alert('Funzione getBrowserLang.')
  if(lang_id == '')
  {
    lang_id = getCookie('lang');
    // alert('Reperita lingua ' + lang_id + ' da cookie.');
  }
  if(lang_id == '')
  {
    navigator.appName == "Microsoft Internet Explorer" ? lang_id = navigator.browserLanguage.substring(0,2) : lang_id = navigator.language.substring(0,2);
    // alert('Reperita lingua ' + lang_id + ' da browser.');
  }
return lang_id;
}

//******************************************************************************
//
// Funzione di impostazione del cookie lingua.
//
//******************************************************************************
function setCookieLang(lang_id)
{
  // alert('Funzione setCookieLang ' + lang_id);
  document.cookie = "lang=" + lang_id + ";path=/";
}

//******************************************************************************
//
// Funzione di reperimento della lingua dal cookie.
//
//******************************************************************************
function getCookie(NameOfCookie)
{
  // Prima controlliamo se c'è un cookie memorizzato.
  // Altrimenti la lunghezza del document.cookie sarebbe zero.
  if (document.cookie.length > 0)
  {
    // Poi controlliamo se il nome del cookie è conservato nell'oggetto
    // "document.cookie"della pagina
    // Siccome è possibile inserire più di un cookie su una
    // singola pagina, è possibile che il nostro cookie
    // non sia presente, anche se l'oggetto "document.cookie"
    // non è solo un testo vuoto.
    // Se il nome del nostro cookie non è presente, verrà memorizzato il valore -1
    // nella variabile chiamata "begin".
    begin = document.cookie.indexOf(NameOfCookie+"=");
    if (begin != -1)
    {
      // Il nostro cookie era presente.
      // Il valore memorizzato nel cookie viene rimandato dalla funzione.
      begin += NameOfCookie.length+1;
      end = document.cookie.indexOf(";", begin);
      if (end == -1) end = document.cookie.length;
      // alert('Funzione getCookie ha restituito ' + unescape(document.cookie.substring(begin, end)));
      return unescape(document.cookie.substring(begin, end));
    }
  }
  // Il nostro cookie non era presente.
  // Il valore "" viene rimandato dalla funzione.
  return '';
}
// Questa funzione JavaScript ...
// - cerca nella pagina i tag <label> e li memorizza in una schiera;
// - in ogni tag <label> reperisce dall' attributo 'id' l' indice della schiera dizionario;
// - sostituisce il testo con quello reperito dalla achiera dizionario.

//******************************************************************************
//
// Funzione di traduzione generica valida per tutte le pagine.
//
//******************************************************************************
function traduzioneGenerica(lang_id)
{
  // alert('Funzione traduzioneGenerica lingua ' + lang_id)
  if(lang_id != '')
  {
    var lang_ll = document.getElementsByTagName('label');
    for (lang_i = 0; lang_i < lang_ll.length; lang_i++)
    {
      lang_id_attribute = lang_ll[lang_i].getAttribute('id');
      if (lang_ll[lang_i].getAttribute('id').toLowerCase().substring(0,4) == 'diz_')
      {
        lang_index = lang_ll[lang_i].getAttribute('id').substring(4);
        if ((!((lang_index > dizionario.length) || (dizionario[lang_index] == ''))))
        {
        lang_ll[lang_i].innerHTML = dizionario[lang_index];
        }
      }
    }
  }
}

