summaryrefslogtreecommitdiffstats
path: root/htdocs/page.js
blob: 2d566f5b8add6e898f6cdc01531e7ec69d55be80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
(function() {
  var blocked = typeof localStorage["blocked"] != "undefined" && localStorage["blocked"].length > 0 ? localStorage["blocked"].split(",") : [];
  for(var i=0; i<blocked.length; i++) {
    var e = document.querySelector("div[data-strip-name='" + blocked[i] + "']");
    if(e != null) {
        e.parentNode.removeChild(e);
    }
  }
  function blockList() {
    blocked = typeof localStorage["blocked"] != "undefined" && localStorage["blocked"].length > 0 ? localStorage["blocked"].split(",") : [];
    var blockDiv = document.getElementById("blockDiv");
    if(typeof blockDiv != "undefined" && blockDiv != null) {
        blockDiv.parentNode.removeChild(blockDiv);
    }
    if(blocked.length > 0) {
        var blockDiv = document.createElement("div");
        blockDiv.id = "blockDiv";
        blockDiv.innerHTML = "Ausgeblendete Inhalte: ";
        blockDiv.style.fontSize = "10px";
        blockDiv.style.marginTop = "50px";
        for(var i=0; i<blocked.length; i++) {
            (function(_i) {
            var a = document.createElement("a");
            a.innerHTML = blocked[_i];
            a.href = "#";
            if(_i > 0) {
                blockDiv.appendChild(document.createTextNode(", "));
            }
            a.onclick = function(e) {
                blocked = blocked.slice(0, _i).concat(blocked.slice(_i + 1));
                localStorage["blocked"] = blocked.join(",");
                document.location.reload();
                e.preventDefault();
                return false;
            }
            blockDiv.appendChild(a);
            })(i);
        }
        document.getElementById("content").appendChild(blockDiv);
    }
  }
  window.addEventListener("load", blockList, false);
  var strips = document.getElementsByClassName("strip");
  var drop = document.createElement("div");
  drop.style.background = "#888";
  drop.style.fontSize = "5px";
  drop.innerHTML = "&nbsp;";
  for(var i=0; i<strips.length; i++) {
    strips[strips[i].dataset.stripName] = strips[i];
    strips[i].setAttribute("draggable", "true");
    strips[i].ondragstart = function(e) {
      e.dataTransfer.setData("Text", this.dataset.stripName);
    }
    strips[i].ondragover = function(e) {
      this.parentNode.insertBefore(drop, this.nextSibling);
      e.preventDefault();
      return false;
    }
    strips[i].ondragleave = function(e) {
      try { drop.parentNode.removeChild(drop); } catch(e) {}
      return false;
    }
    strips[i].ondrop = function(e) {
      try { drop.parentNode.removeChild(drop); } catch(e) {}
      var which = e.dataTransfer.getData("Text");
      if(which == this.dataset.stripName) {
        e.preventDefault();
        return;
      }
      if(typeof strips[which] != "undefined") {
        this.parentNode.insertBefore(strips[which], this.nextSibling);
        var newOrder = document.getElementsByClassName("strip");
        var newOrderString = "";
        for(var i=0; i<newOrder.length; i++) {
          var name = newOrder[i].dataset.stripName;
          newOrderString += (newOrderString.length > 0 ? "," : "") + name;
        }
        localStorage["stripsOrder"] = newOrderString;
        e.preventDefault();
      }
    }
    var deleter = document.createElement("sup");
    deleter.innerHTML = "[x]";
    deleter.style.fontWeight = "normal";
    deleter.style.color = "#900";
    deleter.style.fontSize = "10px";
    deleter.style.position = "absolute";
    deleter.style.display = "none";
    deleter.style.cursor = "pointer";
    var h2 = strips[i].getElementsByTagName("h2")[0];
    h2.appendChild(deleter);
    h2.deleter = deleter;
    h2.onmouseover = function() { this.deleter.style.display = "inline"; }
    h2.onmouseout = function() { this.deleter.style.display = "none"; }
    deleter.onclick = function() {
        blocked.push(this.parentNode.parentNode.dataset.stripName);
        localStorage["blocked"] = blocked.join(",");
        blockList();
        this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
    }
  }
  var h1 = document.getElementsByTagName("h1")[1];
  h1.ondrop = strips[0].ondrop;
  h1.ondragover = strips[0].ondragover;
  if(typeof localStorage["stripsOrder"] != "undefined") {
    var order = localStorage["stripsOrder"].split(/,/);
    for(var i=order.length-1; i>=0; i--) {
      if(document.getElementsByClassName("strip")[0].dataset.stripName != order[i] && typeof strips[order[i]] != "undefined") {
        document.getElementsByClassName("strip")[0].parentNode.insertBefore(strips[order[i]], document.getElementsByClassName("strip")[0]);
      }
    }
  }
})();