    var oml_n = "gustav".charCodeAt(0)-"caesar".charCodeAt(0), oml_cn = 3;
    function oml_encrypt(s, n) { var es = ""; for (var i = 0; i < s.length; i+=2) { es+= (i?",":""); if (i+1 < s.length) es+= (s.charAt(i+1).charCodeAt(0)-n)+","; es+= (s.charAt(i).charCodeAt(0)-n); } return es; }
    function oml_encode(s) { var i=0, n = oml_n; var a = s.split(String.fromCharCode(2*2*2*2*2*2)); for (i = 0; i < a.length; i++) { a[i] = oml_encrypt(a[i], n); } return n.toString()+";"+a.join(";"); }
    function oml_decrypt(a,n) { var s = ""; for(i = 0; i < a.length; i+=2) s+= (i+1 < a.length ? String.fromCharCode(parseInt(a[i+1])+parseInt(n)) : "")+String.fromCharCode(parseInt(a[i])+parseInt(n)); return s; }
    function oml_decode(a)  { return oml_decrypt(a[1],a[0])+String.fromCharCode(2*2*2*2*2*2)+oml_decrypt(a[2],a[0]); }
    function oml_string_decode(s) { var a = s.split(";"); for(j=0; j<a.length; j++) a[j] = a[j].split(","); return oml_decode(a); }
    function oml_stringCharCodes(s) { var m = ""; for(j = 0; j < s.length; j++) m+= s.charAt([j])+" : "+s.charAt([j]).charCodeAt(0)+"\n"; return m; }
    function oml_parseHtml() { 
        //alert("");
        var n = oml_n;
        var allTags = allSpan = allA = new Array();
        var allSpan = document.body.getElementsByTagName("span"); for(i = 0; i < allSpan.length; i++) allTags[allTags.length] = allSpan[i];
        var allA = document.body.getElementsByTagName("a"); for(i = 0; i < allA.length; i++) allTags[allTags.length] = allA[i];
        var mt = oml_decrypt([94,106,105,102,108,113,55],oml_cn) ;
        var mnode = oml_decrypt([62],oml_cn);
        var mattr = oml_decrypt([111,101,99,98],oml_cn);
        
        var a = new Array(), i=j=0, oml = ""; 
        for(var i = 0; i < allTags.length; i++) { 
            if (allTags[i].getAttribute("OML") || allTags[i].getAttribute("oml")) { 
                oml = (allTags[i].getAttribute("OML")) ? allTags[i].getAttribute("OML") : allTags[i].getAttribute("oml");
                a = oml.split(";"); for(j=0; j<a.length; j++) a[j] = a[j].split(","); 
                ml = oml_string_decode(oml); 
            } else if(allTags[i].className.indexOf("oml-rel")!=-1) {
                // Aus test.com/?max&muster wird max.muster@test.com
                a = allTags[i].getAttribute("rel").split("/?");
                ml = a[1].split("&").join(".")+String.fromCharCode(2*2*2*2*2*2)+a[0];
            } else continue;
            
            if (allTags[i].tagName.toUpperCase()==mnode) { 
                allTags[i].href=mt+ml; 
                allTags[i].innerHTML = ml;  }
            else allTags[i].innerHTML = "<"+mnode+" "+mattr+"=\""+mt+ml+"\">"+ml+"</"+mnode+">";
        } 
    }
    
    if (window.addEventListener) window.addEventListener("load", oml_parseHtml, false);
    else if (window.attachEvent) attachEvent("onload", oml_parseHtml);
