Rot13 = {
  map: null,

  convert: function(a) {
    Rot13.init();

    var s = "";
    for (i=0; i < a.length; i++) {
      var b = a.charAt(i);
      s += ((b>='A' && b<='Z') || (b>='a' && b<='z') ? Rot13.map[b] : b);
    }
    return s;
  },

  init: function() {
    if (Rot13.map != null)
      return;
              
    var map = new Array();
    var s   = "abcdefghijklmnopqrstuvwxyz";

    for (i=0; i<s.length; i++)
      map[s.charAt(i)] = s.charAt((i+13)%26);
    for (i=0; i<s.length; i++)
      map[s.charAt(i).toUpperCase()] = s.charAt((i+13)%26).toUpperCase();

    Rot13.map = map;
  },

  write: function(a) {
    document.write(Rot13.convert(a));
  }
}