summaryrefslogtreecommitdiffstats
path: root/org/madore/damlengine/included.js
diff options
context:
space:
mode:
Diffstat (limited to 'org/madore/damlengine/included.js')
-rw-r--r--org/madore/damlengine/included.js109
1 files changed, 0 insertions, 109 deletions
diff --git a/org/madore/damlengine/included.js b/org/madore/damlengine/included.js
deleted file mode 100644
index 1bf6db7..0000000
--- a/org/madore/damlengine/included.js
+++ /dev/null
@@ -1,109 +0,0 @@
-"use strict";
-
-var textNodeType;
-
-function textContent(n) {
- if ( n.nodeType == textNodeType ) {
- return n.data;
- } else {
- var children = n.childNodes;
- var t = "";
- for ( var i=0 ; i<children.length ; i++ ) {
- t = t.concat(textContent(children.item(i)));
- }
- return t;
- }
-}
-
-function despam() {
- // MSIE seems to barf... Deactivate for now
- if ( (/MSIE *[1-6]\./).test(navigator.userAgent) )
- return;
- // Now replace as appropriate.
- var elts = document.getElementsByTagName("span");
- for ( var i=0 ; i<elts.length ; i++ ) {
- var elt = elts.item(i);
- if ( elt.className == "replace-commercial-at" ) {
- elt.parentNode.replaceChild(document.createTextNode("@"),elt);
- i--; // Semi-bugware
- } else if ( elt.className == "replace-full-stop" ) {
- elt.parentNode.replaceChild(document.createTextNode("."),elt);
- i--; // Semi-bugware
- }
- }
- // Merge adjacent text nodes.
- try {
- document.normalize(); // Your DOM is BROKEN!
- } catch (exn) {
- document.documentElement.normalize();
- }
- // Next, process all <a> elements having class="despammed-address".
- elts = document.getElementsByTagName("a");
- for ( var i=0 ; i<elts.length ; i++ ) {
- var elt = elts.item(i);
- if ( elt.className == "despammed-address" ) {
- var addr = "mailto:".concat(textContent(elt));
- elt.setAttribute("href",addr); // (abstract)
- elt.href = addr; // (semantic)
- }
- }
-}
-
-function permuteWord(s) {
- if ( s.length <= 3 )
- return s;
- var tab = s.split("");
- var n = tab.length - 1;
- for ( var i=1 ; i<n ; i++ ) {
- var j = i + Math.floor(Math.random()*(n-i));
- if ( j == i )
- continue;
- var tmp = tab[j];
- tab[j] = tab[i];
- tab[i] = tmp;
- }
- return tab.join("");
-}
-
-function permuteString(s) {
- return s.replace(/[A-Za-zÀ-ÿ]+/g, permuteWord);
-}
-
-function permuteDoc(doc) {
- var body = doc.body;
- var walker = doc.createTreeWalker(body, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT, null, false);
- var node = walker.nextNode();
- while ( node ) {
- if ( node.nodeType == Node.TEXT_NODE ) {
- var thisnode = node;
- node = walker.nextNode();
- var str = permuteString(thisnode.nodeValue);
- thisnode.parentNode.replaceChild(doc.createTextNode(str), thisnode);
- } else if ( node.nodeType == Node.ELEMENT_NODE
- && ( node.localName == "pre"
- || node.localName == "code"
- || node.localName == "script"
- || node.localName == "style" ) ) {
- do {
- node = walker.nextSibling();
- if ( node )
- break;
- node = walker.parentNode();
- if ( ! node )
- break;
- } while ( true );
- } else
- node = walker.nextNode();
- }
-}
-
-function onLoad() {
- // Start with some bugware...
- try {
- textNodeType = Node.TEXT_NODE;
- } catch (exn) { // Your DOM is BROKEN!
- textNodeType = 3;
- }
- // Now despam email adresses.
- despam();
-}