/*
 * ADDPLUS JS Framework
 * Copyright 2007 ADDPLUS
 * Original code by Yuri D'Elia [wavexx@thregr.org]
 */

// browser language
function browserLang()
{
  return (navigator.language? navigator.language: navigator.userLanguage);
}

function browserLangId()
{
  var lang = browserLang();
  var dash = lang.indexOf('-');
  lang.toLowerCase();
  if(dash >= 0) return lang.substr(0, dash);
  return lang;
}

// native language support

function getCat(cat, id)
{
  return cat[id];
}

function NLS()
{
  this.deflt = "de";
  this.lang = this.deflt;
  var objs = [];

  this.getCat = function(cat)
  {
    var buf = getCat(cat, this.lang);
    if(!buf) buf = getCat(cat, this.deflt);
    return buf;
  };

  this.regCat = function(obj, cat)
  {
  objs.push({'obj':obj, 'cat':cat});
  obj.innerHTML = this.getCat(cat);
  };

  this.regCatId = function(id, cat)
  {
    this.regCat(dojo.byId(id), cat);
  };

  this.setLang = function(lang)
  {
    if(lang == this.lang) return;
    this.lang = lang;

    for(var i in objs)
    objs[i]['obj'].innerHTML = this.getCat(objs[i]['cat']);
  };

  return this;
}

var nls = new NLS();
