var rot13map;

function rot13init() {
   var map=new Array();
   var strac="abcdefghijklmnopqrstuvwxyz";

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

function rot13(a) {
   if (!rot13map)
      rot13map=rot13init();
   strac="";
   for (i=0; i<a.length; i++) {
      var b=a.charAt(i);
      strac+=(b>='A' && b<='Z' || b>='a' && b<='z' ? rot13map[b] : b);
   }
   return strac;
}
