function decodeRot13Emails() {
  var rot13map = new Array();
  var s   = "abcdefghijklmnopqrstuvwxyz";
  var i;
  
  for (i=0; i<s.length; i++)
    rot13map[s.charAt(i)] = s.charAt((i+13)%26);
  for (i=0; i<s.length; i++)
    rot13map[s.charAt(i).toUpperCase()] = s.charAt((i+13)%26).toUpperCase();

  function rot13(a) {
    var s = "";
    for (var 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;
  }

  var elements = document.getElementsByTagName("a");
  for (i = 0; i < elements.length; i++) {
    var href = elements[i].getAttribute("href");
    if (href.substr(0,6) == "rot13:") {
      href = "mailto:" + rot13(href.substr(6));
      elements[i].setAttribute("href",href);
    }
  }
}

if (window.addEventListener) {
  window.addEventListener('load', decodeRot13Emails, false);
  document.addEventListener('DOMContentLoaded', decodeRot13Emails, false);
} else if (document.attachEvent) {
  window.attachEvent('onload', decodeRot13Emails);
}
