// *** THE CLASS *** //
var ObscureMailto=new Class({Implements:Options,options:{selector:'a[href=mailto:]',at:'{at}',dot:'{dot}'},initialize:function(options){this.setOptions(options);this.links=$$(this.options.selector);this.links.each(function(link,index){var oldText=link.get('text');var newText=oldText.replace(this.options.at,'@').replace(this.options.dot,'.');link.set('text',newText).set('href','mailto:'+newText);}.bind(this));}});
// *** USAGE ****/
/*
usually just instantiate it and you're done like so:
new ObscureMailto();
But for the demo ...
*/
$('go').addEvent('click',function(){
new ObscureMailto();
});
<h3><a href="mailto:">rpflorence{at}gmail{dot}com</a></h3>
<p>
<button id="go">decode</button>
</p>