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));
   }
}