// ==UserScript==
// @name autoSpurdo
// @description Convert text on every page into spurdo
// @namespace installgen2
// @include *
// @version 4
// @grant none
// @require http://code.jquery.com/jquery-latest.min.js
// ==/UserScript==
var allElements = $("*");
Object.keys(allElements).forEach(function (elementNumber) {
element = $(allElements[elementNumber]);
var text = element.text();
if (text.length && text == element.html()) {
var replacements = [
["wh", "w"],
["th", "d"],
["af", "ab"],
["ap", "ab"],
["ca", "ga"],
["ck", "gg"],
["co", "go"],
["ev", "eb"],
["ex", "egz"],
["et", "ed"],
["iv", "ib"],
["it", "id"],
["ke", "ge"],
["nt", "nd"],
["op", "ob"],
["ot", "od"],
["po", "bo"],
["pe", "be"],
["pi", "bi"],
["up", "ub"],
["va", "ba"],
["ck", "gg"],
["cr", "gr"],
["kn", "gn"],
["lt", "ld"],
["mm", "m"],
["nt", "dn"],
["pr", "br"],
["ts", "dz"],
["tr", "dr"],
["bs", "bz"],
["ds", "dz"],
["es", "es"],
["fs", "fz"],
["gs", "gz"],
[" is", " iz"],
["ls", "lz"],
["ms", "mz"],
["ns", "nz"],
["rs", "rz"],
["ss", "sz"],
["ts", "tz"],
["us", "uz"],
["ws", "wz"],
["ys", "yz"],
["alk", "olk"],
["ing", "ign"],
["ic", "ig"],
["ng", "nk"],
["kek", "geg"],
["epic", "ebin"],
["some", "sum"],
["meme", "maymay"],
];
var ebinFaces = [":D", ":DD", ":DDD", ":-D", "XD", "XXD", "XDD", "XXDD"];
function getEbinFace () {
return ebinFaces[Math.floor(Math.random() * ebinFaces.length)];
}
text = text.toLowerCase();
replacements.forEach(function(filter) {
var replaceFrom = new RegExp(filter[0], "gm"),
replaceTo = filter[1];
text = text.replace(replaceFrom, replaceTo);
});
while (text.match(/\.|,(?=\s|$)/m)) {
text = text.replace(/\.|,(?=\s|$)/m, " " + getEbinFace());
}
var ebinFaceFound = false;
ebinFaces.forEach(function (face) {
if (text.indexOf(face) != -1) {
ebinFaceFound = true;
}
});
if (!ebinFaceFound) {
text += " " + getEbinFace();
}
element.text(text);
}
});