User:Greenpickle/rcnst.js: Difference between revisions

Jump to navigation Jump to search
No edit summary
(yay, version 0.8)
Line 36: Line 36:
         s += RCNSTbeforecheckbox + '<input type="checkbox" ' + insert + 'name="RCNSTl' + i + '" onclick="RCNST()" /><label for="RCNSTl' + i + '">' + loglist[i] + '</label>' + RCNSTaftercheckbox;
         s += RCNSTbeforecheckbox + '<input type="checkbox" ' + insert + 'name="RCNSTl' + i + '" onclick="RCNST()" /><label for="RCNSTl' + i + '">' + loglist[i] + '</label>' + RCNSTaftercheckbox;
     }
     }
     s += RCNSTaftercheckboxes;
     s += RCNSTbeforecheckbox + '<input type="button" onclick="RCNSTall()" value="toggle all" />' + RCNSTaftercheckbox;
    s += RCNSTbeforecheckbox + '<input type="button" onclick="RCNSTinvert()" value="invert selection" />' + RCNSTaftercheckbox;
     document.getElementsByClassName("rcoptions")[0].innerHTML += s;
     document.getElementsByClassName("rcoptions")[0].innerHTML += s;
     RCNST();
     RCNST();
Line 51: Line 52:
     days = document.getElementsByClassName("special");
     days = document.getElementsByClassName("special");
     for (i in days) {
     for (i in days) {
        needh4 = false;
         if (days[i].tagName != "UL") continue;
         if (days[i].tagName != "UL") continue;
         items = days[i].childNodes;
         items = days[i].childNodes;
Line 66: Line 68:
             if (RCNSTList[page]) {
             if (RCNSTList[page]) {
                 if (items[j].className.indexOf(" rcnsthidden") != -1) items[j].className =  items[j].className.substring(0, items[j].className.indexOf(" rcnsthidden"));
                 if (items[j].className.indexOf(" rcnsthidden") != -1) items[j].className =  items[j].className.substring(0, items[j].className.indexOf(" rcnsthidden"));
                needh4 = true;
             } else if (items[j].className.indexOf(" rcnsthidden") == -1) items[j].className += " rcnsthidden";
             } else if (items[j].className.indexOf(" rcnsthidden") == -1) items[j].className += " rcnsthidden";
         }
         }
        h4 = days[i].previousSibling;
        while (h4.tagName != "H4") h4 = h4.previousSibling;
        if (needh4) h4.removeAttribute("class");
        else h4.className = "rcnsthidden";
     }
     }
}
function RCNSTall () {
    on = false;
    for (i in RCNSTList) if (!RCNSTList[i]) on = true;
    for (i in nslist) {
        RCNSTList[i] = on;
        document.getElementsByName("RCNST" + i)[0].checked = on;
    }
    for (i in loglist) {
        RCNSTList[loglist[i]] = on;
        document.getElementsByName("RCNSTl" + i)[0].checked = on;
    }
    RCNST()
}
function RCNSTinvert () {
    for (i in RCNSTList) {
        if (RCNSTList[i]) RCNSTList[i] = false;
        else RCNSTList[i] = true;
    }
    for (i in nslist) document.getElementsByName("RCNST" + i)[0].checked = RCNSTList[i];
    for (i in loglist) document.getElementsByName("RCNSTl" + i)[0].checked = RCNSTList[loglist[i]];
    RCNST()
}
}