function addEvent(obj, type, fn) {
  if (obj.addEventListener) {
    obj.addEventListener(type, fn, true);
    return(true);
  }
  if (obj.attachEvent) {
    var r = obj.attachEvent("on"+type, fn);
    return(r);
  }
  return(false);
}

/* Hide email addresses from spam robots.
 *
 * This function will change:
 *   <span class="eaddr">user at example dot com</span>
 * to 
 *   <a href="mailto:user@example.com">user@example.com</a>
 *
 */

function hideEmailAddresses() {
  var reClass  = /\be(mail)?addr(ess)?\b/i;
  var reAt     = /[\s\W]+at[\s\W]+/i;
  var reDot    = /[\s\W]+(dot|point)[\s\W]+/ig;
  var spans    = document.getElementsByTagName('span');
  for (var i = 0; i < spans.length; i++) {
    var s = spans[i];
    if (reClass.test(s.className)) {
      var text = s.firstChild;
      var address = text.data.replace(reAt, '@').replace(reDot, '.');
      address = address.replace(/\s*/g, ''); /* remove extra spaces */
      var anchor = document.createElement('a');
      anchor.appendChild(document.createTextNode(address));
      anchor.setAttribute('href', 'mailto:' + address);
      s.removeChild(text);
      s.appendChild(anchor);
    }
  }
}

addEvent(window, "load", hideEmailAddresses);

