function genm(what) {
  function obf(s) {
    var i = s.length;
    var result = new String;
    
    while (--i >= 0) {
      var ch = s.charAt(i);
      if (ch == "!") ch = "@" // pling used as code for at-sign
      result += ch;
    }
    return result;
  }
  var dest = what.href;
  var startpos;
  if ((startpos = dest.indexOf(":")) > 0)
    dest = dest.substr(startpos + 1);
  if ((startpos = dest.lastIndexOf("/")) >= 0)
    dest = dest.substr(startpos + 1);
  dest = obf(dest);
  if (dest.indexOf("@") < 0) dest += "@smithies.org";
  if (!what.firstChild) what.appendChild(document.createTextNode(dest));
  what.href = "mailto:" + dest;
}

function munge() {
  var as = document.getElementsByTagName("a");
  for (var i = 0; i < as.length; ++i) {
    if (as[i].className == "obf") genm(as[i]);
  }
}
//setup onload function
if (typeof window.addEventListener != 'undefined') {
	//.. gecko, safari, konqueror, opera and standard
	window.addEventListener('load', munge, false);
}
else if (typeof window.attachEvent != 'undefined') { //.. win/ie
	window.attachEvent('onload', munge);
}
