var emailReplaceArray = [ ['na serwerze', '@'], ['po kropce', '.'], ['(ma³pa)', '@'], ['(kropka)', '.'] ]; ( function(elm, evnt, func) { if (elm.addEventListener) { elm.addEventListener(evnt, func, false); } else if (elm.attachEvent) { elm.attachEvent('on' + evnt, function() { func.call(elm, event); } ); } } ) (window, 'load', function(e) { var replTab = emailReplaceArray; for (var i = 0; i < replTab.length; i++) { var s = escape(replTab[i][0].replace(/\s/g, '')); replTab[i][0] = s.replace(/%u/g, '\\u').replace(/%/g, '\\x'); } var getEmail = function(s) { s = s.replace(/\s/g, ''); for (var i = 0; i < replTab.length; i++) { s = s.replace(new RegExp(replTab[i][0], 'ig'), replTab[i][1]); } return s; }; var as = document.getElementsByTagName('a'); var html = document.getElementsByTagName('html')[0]; var text = html.textContent != undefined ? 'textContent' : 'innerText'; for (var i = 0; i < as.length; i++) { if (! as[i].className.match(/(^|\s)email_address($|\s)/)) continue; var email = getEmail(as[i][text]); as[i].setAttribute('href', 'mailto:' + email); as[i][text] = email; } emailReplaceArray = undefined; } );