forked from BlowbackAgency/EmailObfuscation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathemo.min.js
1 lines (1 loc) · 1.07 KB
/
emo.min.js
1
var emo=emo||{};emo.init=function(){!0===emo.debug&&console.log("EMO inited!\nUsing key: "+emo.key),emo.replace(document)},emo.cache=new Array,emo.replace=function(element){for(var el=element.querySelectorAll("[data-emo]"),decrypted="",i=0;i<el.length;i++)el[i]&&(!0===emo.debug&&console.log(i+": "+el[i].outerHTML),el[i].firstChild&&el[i].removeChild(el[i].firstChild),decrypted=emo.decrypt(el[i].getAttribute("data-emo")),!0===emo.debug&&console.log(i+": "+decrypted),el[i].outerHTML=decrypted)},emo.decrypt=function(id){return emo.cache[id]||(emo.cache[id]=decodeURIComponent(escape(emo.decode(id)))),emo.cache[id]},emo.decode=function(data){for(var c1,c2,c3,e2,e3,e4,out="",i=0;i<data.length;)c1=(emo.key.indexOf(data.charAt(i++))<<2)+((e2=emo.key.indexOf(data.charAt(i++)))>>4),c2=((15&e2)<<4)+((e3=emo.key.indexOf(data.charAt(i++)))>>2),c3=((3&e3)<<6)+(e4=emo.key.indexOf(data.charAt(i++))),out+=String.fromCharCode(c1),64!=e3&&(out+=String.fromCharCode(c2)),64!=e4&&(out+=String.fromCharCode(c3));return out},void 0!==emo.key?emo.init():window.addEventListener("DOMContentLoaded",emo.init);