// *** 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>