//
// Canvia idioma
//
// A la p…gina que es vulgui traduir, s'hi ha d'afegir:
// <script>
// var _=new Array;
// _["ca"]=new Array;
// _["ca"]["TITOL"]="Serveis HTTP Mercury";
// _["ca"]["...
// _["en"]=new Array;
// _["en"]["TITOL"]="Mercury HTTP Services";
// _["en"]["...
// _["...
// </script>
// <script src="http://el-vostre-seti/idioma.js" type="text/javascript"></script>
// 
// I cal identificar els literals a traduir amb l'atribut LANG:
//
// per exemple: <title lang="TITOL">
//              <span lang="HOLA">Hola, xato</span>
//
// Nota: el fitxer idioma.js no pot ser al propi servidor MLSS Mercury
//--------------------------------------------------------------------------- 
// Language change
//
// You have to add to the page to be translated:
// <script>
// var _=new Array;
// _["ca"]=new Array;
// _["ca"]["TITOL"]="Serveis HTTP Mercury";
// _["ca"]["...
// _["en"]=new Array;
// _["en"]["TITOL"]="Mercury HTTP Services";
// _["en"]["...
// _["...
// </script>
// <script src="http://your-site/idioma.js" type="text/javascript"></script>
// 
// And texts to translate have to be identified with LANG attrib:
//
// for example: <title lang="TITOL">
//              <span lang="HOLA">Hola, xato</span>
// 
// Note: the file idioma.js can't be in the Mercury MLSS server itself
// 
function CanviIdioma(IDIOMA) {
  if (!IDIOMA) {
    //
    // assigna idioma coqueta / set language cookie
    //
    var FAN=eval("/IDIOMA=([^;]*)/i").exec(document.cookie);
    if (FAN!=null) {
      IDIOMA=FAN[1];
    } else {
      //
      // assigna idioma usuari / set user's language
      //
      if (navigator.userLanguage) {
        IDIOMA=navigator.userLanguage;
      } else {
        IDIOMA=navigator.language.substr(0,2).toLowerCase();
      }
      if (!_[IDIOMA]) {
        IDIOMA="en";
      }
    }
    //
    // presenta idiomes disponibles / show available languages
    //
    var FAN="<p align=\"center\"><font face=\"Arial\" size=\"2\">";
    for (var I in _) {
      FAN+="<a href=\"\" onclick=\"CanviIdioma('"+I+"'); return false;\">";
      switch (I) {
      case "ca": FAN+="Catal…";          break;
      case "de": FAN+="Deutch";          break;
      case "en": FAN+="English";         break;
      case "eo": FAN+="Esperanto";       break;
      case "fr": FAN+="Fran‡aise";       break;
      case "gl": FAN+="Galego";          break;
      case "it": FAN+="Italiano";        break;
      case "oc": FAN+="Aran‚s";          break;
      case "pt": FAN+="Portuguˆs";       break;
      case "es": FAN+="Castellano";      break;
      default:   FAN+="["+I+"]";
      }
      FAN+="</a> ";
    }
    document.body.innerHTML+=FAN+"</font></p>";
    FAN="";
  }
  //
  // canvia idioma pantalla / change screen language
  //
  if (document.all) {
    var TAG=document.all;
  } else if (document.layers) {
    var TAG=document.layers;
  } else {
    var TAG=document.getElementsByTagName("*");
  }
  for (var I=0; I<TAG.length; I++) {
    if (TAG[I].lang && _[IDIOMA][TAG[I].lang]) {
      switch (TAG[I].tagName) {
      case "TITLE": document.title=_[IDIOMA][TAG[I].lang];   break;
      case "INPUT": TAG[I].value=_[IDIOMA][TAG[I].lang];     break;
      default:      TAG[I].innerHTML=_[IDIOMA][TAG[I].lang];
      }
    }
  }
  //
  // desa coqueta / save cookie
  //
  document.cookie="IDIOMA="+IDIOMA+"; expires=Tue, 31-Dec-69 23:59:59 GMT; path=/";
  return false;
}
window.onload=function(){CanviIdioma("")};

