function init() {
  spanElems = document.getElementsByTagName("span");
  for (i=0; i<spanElems.length ; i++) {
    if (spanElems[i].className == "email"){
          spanElems[i].addEventListener("mousemove", unmaskEmail(spanElems[i]), false);
          }
        }
     }

window.onload=init;

var _unmasked = false;
function unmaskEmail(spanElem) {
  if (!_unmasked) {
         
         recipient = spanElem.firstChild.nodeValue;
         emailAddress = recipient.substring(0,recipient.indexOf("{"))+"@"+recipient.substring(recipient.indexOf("}")+1);
        
         // create the email a element
         emailLinkElem = document.createElement("a");
         emailLinkElem.appendChild( document.createTextNode( emailAddress));
         linkAttr = document.createAttribute("href");
         linkAttr.nodeValue = "mailto:" + emailAddress;
         emailLinkElem.setAttributeNode( linkAttr);
        
         // replace the span element with the a element
         spanElem.parentNode.replaceChild( emailLinkElem, spanElem);
        }
   _unmasked = true;
}
