// ==UserScript==
// @include *
// @name decode
// @author Torsten Keil
// @namespace http://www.torsten-keil.net/ 
// @version 1.0.0
// @description decode text on site - simply reverse
// ==/UserScript==

document.addEventListener(
    'load',
    function (e) {
      addButton();
      // collectElements();
    },
    false
);

function addButton() {
// Create DIV for the Button
  bodyElem = document.getElementsByTagName("body")[0];
  if (bodyElem == null) return;
  newDiv2 = document.createElement("div");
  newDiv2.style.position = "fixed";
  newDiv2.style.zIndex = "999";
  newDiv2.style.top = "10px";
  newDiv2.style.left = "10px";
  newDiv2.style.padding = "3px";
  newDiv2.style.border = "1px solid black";
  newDiv2.style.background = "#DDDDFF";
  newDiv2.id = 'decodeButtonDiv';
  newA2 = document.createElement("a");
  newA2.href = "";
  newA2.onclick = 'javascript:collectElements();return false;';
  newA2.id = "DecodeButton";
  newA2.style.fontSize = "smaller";
  var newText2 = document.createTextNode("[+]");
  newA2.appendChild(newText2);
  newDiv2.appendChild(newA2);
  newDiv2.appendChild(document.createElement("br"));
  bodyElem.appendChild(newDiv2);
}

function collectElements() {
  coll = document.getElementsByTagName("*");
  for (i = 0; i < coll.length; i++) {
    elem = coll[i];
    nodes = elem.childNodes;
    for (n = 0; n < nodes.length; n++) {
      node = nodes[n];
      if (node.nodeType == 3) {
        decode(node);
      }
    }
  }
}

function decode(elem) {
  text = node.nodeValue;
  newText = "";
  for (s = 0; s < text.length; s++) {
    newText = text.charAt(s) + newText;
  }
  node.nodeValue = newText;
  
}