if (document.getElementById && document.createTextNode && {}.hasOwnProperty) {

    (function(tagName, regExp) {
    
    
            function init() {
                    if (document.body && !init.done) {
                            init.done = true;
                            initEls(getEls(tagName));
                    }
            }
            function getEls(tagName) {
                    var elsTn = $(tagName), els = [];
                    for (var i = 0, el; (el = elsTn[ i]); ++i) {
                            els[els.length] = el;
                    }
                    return els;
            }
    
    
    
            function initEls(els) {
                    for (var i = 0, el; (el = els[ i]); ++i) {
                            initEl(el);
                    }
    
            }
    
    
    
            function initEl(el) {
                    var str = el.firstChild && el.firstChild.nodeValue, m, email;
                    if (str && (m = regExp.exec(str))) {
                            email = m[1] + "@" + m[2] + "." + m[3];
                            el.parentNode.replaceChild(createEl("a", {href: "mailto:" + email}, email), el);
                    }
            }
            // DOM
            function createEl(n) {
                    var a, i = 0, e = document.createElementNS ? document.createElementNS("http://www.w3.org/1999/xhtml", n) : document.createElement(n);
                    while ((a = arguments[++i])) {
                            if (typeof a === "string") {
                                    e.appendChild(document.createTextNode(a));
                            } else {
                                    for (var p in a) {
                                            if (a.hasOwnProperty(p)) {
                                                    e[p] = a[p];
                                            }
                                    }
                            }
                    }
                    return e;
            }
            // Events
            function addLoadEvent(func) {
                
                if (window.addEventListener) {
                    window.addEventListener("load", func, false);
                } else if (document.addEventListener) {
                    document.addEventListener("load", func, false);
                } else if (window.attachEvent) {
                    window.attachEvent("onload", func);
                } else if (typeof window.onload != "function") {
                    window.onload = func;
                } else {
                    var oldonload = window.onload;
                    window.onload = function() {
                        oldonload();
                        func();
                    };
                }
            }
            addLoadEvent(init);
    
    })(
            ".protect", /([^+]+)\+protec\+([^+]+)\+pdot\+([^\s]+)/
    );

}
