function FontSize(id, lang) {
  if (id == null) { alert('FontSize: missing arguments'); return; }
  lang = (lang == 'fr') ? lang : 'en';
  var container = (typeof(id) == "string") ? document.getElementById(id) : id;

  var cookies = new Cookies();
  var COOKIE_NAME = 'fontSize';
  var oneYear = new Date();
  oneYear.setFullYear(oneYear.getFullYear() + 1);
  
  var sizes = new Array('small', 'medium', 'big');
  var links = new Array();

  this.display = function() {
    if (lang == 'fr') {
      container.appendChild(document.createTextNode('Taille du Texte: '));
    } else {
      container.appendChild(document.createTextNode('Type Size: '));
    }
    for (var i = 0; i < sizes.length; i++) {
      var a = document.createElement('a');
      a.href = '';
      a.key = sizes[i];
      a.onclick = function() { set(this.key); return false; }
      a.appendChild(document.createTextNode('A'));
      links.push(a);
      container.appendChild(a);
      container.appendChild(document.createTextNode(' '));
    }
    set();
  }

  function set(size) {
    size = size || cookies.get(COOKIE_NAME);
    if (size == null) size = 'medium';
    for (var i = 0; i < links.length; i++) {
      if(links[i].key == size) {
        links[i].className = 'text' + links[i].key + 'On';
      } else {
        links[i].className = 'text' + links[i].key + 'Off';
      }
    }
    var elem;
    if (elem = document.body) elem.className = 'text' + size;
    cookies.set(COOKIE_NAME, size, oneYear);
  }
}
