// This code is for email decryption for ROT13 encryption
// See also related code in NewsroomRenderUtil.java for ROT13 encryption

var last = "";
var rot13map;

// The problem is that JavaScript 1.0
// does not provide a Char to Numeric value conversion
// Thus we define a map.
// Because there are 64K UniCode characters, this map does not cover all characters.
function rot13init()
{
  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();
  return map;
}
function getRot13(a)
{
  if (!rot13map)
    rot13map = rot13init();
  s = "";
  for (i = 0; i < a.length; i++)
  {
    var b = a.charAt(i);

    s += (b >= 'A' && b <= 'Z' || b >= 'a' && b <= 'z' ? rot13map[b] : b);
  }
  return s;
}
function getEncryptedMail(encryptedAddress) {
  return "mailto:" + getRot13(encryptedAddress);
}
