function rot13 (string) {
  var aCode = 'a'.charCodeAt();
  var zCode = 'z'.charCodeAt();
  var ACode = 'A'.charCodeAt();
  var ZCode = 'Z'.charCodeAt();
  var slashCode = '/'.charCodeAt();
  var colonCode = ':'.charCodeAt();
  var atCode    = '@'.charCodeAt();
  var dotCode   = '.'.charCodeAt();
  var result = '';
  for (var i = 0; i < string.length; i++) {
    var charCode = string.charCodeAt(i);
    if (charCode >= aCode && charCode <= zCode)
      charCode = aCode + (charCode - aCode + 13) % 26;
    else if (charCode >= ACode && charCode <= ZCode)
      charCode = ACode + (charCode - ACode + 13) % 26;
    else if (charCode == slashCode)
      charCode = atCode;
    else if (charCode == colonCode)
      charCode = dotCode;
    result += String.fromCharCode(charCode);
  }
  return result;
}
