//create onDomReady Event
window.onDomReady = DomReady;

//Setup the event
function DomReady(fn)
{
    //W3C
    if(document.addEventListener)
    {
        document.addEventListener("DOMContentLoaded", fn, false);
    }
    //IE
    else
    {
        document.onreadystatechange = function(){readyState(fn)}
    }
}

//IE execute function
function readyState(fn)
{
    //dom is ready for interaction
    if(document.readyState == "interactive")
    {
        fn();
    }
}

function mangle() {
    if (!document.getElementsByTagName && !document.createElement && !document.createTextNode) return;
    var nodes = document.getElementsByTagName("span");
    for(var i=nodes.length-1;i>=0;i--) {
        if (nodes[i].className=="change") {
            var at = / at /;
            var dot = / dot /g;
            var node = document.createElement("a");
            var address = nodes[i].firstChild.nodeValue;

            address = address.replace(at, "@");
            address = address.replace(dot, ".");

            node.setAttribute("href", "mailto:"+address);
            node.appendChild(document.createTextNode(address));

            var prnt = nodes[i].parentNode;
            for(var j=0;j<prnt.childNodes.length;j++)
                if (prnt.childNodes[j] == nodes[i]) {
                    if (!prnt.replaceChild) return;
                    prnt.replaceChild(node, prnt.childNodes[j]);
                    break;
                }
        }
    }
}

window.onDomReady(mangle);

