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