User:Sir Pikmin/monobook.css: Difference between revisions

From Pikmin Fanon
(Blanked the page)
mNo edit summary
 
Line 1: Line 1:
/*OGG player*/
.ogg-player-options {
    border: 2px outset #00bb00;
    -moz-border-radius-topleft: 50px;
    -moz-border-radius-bottom right: 100px;
}


/*Watchlist edit message*/
.usermessage {
    background: #CCFF00;
    font-weight: bold;
    margin: 20px 0px 10px 0px;
    padding: 5px 10px;
    vertical-align: middle;
    border: 2px outset #00bb00;
    -moz-border-radius-bottomright: 15px;
    -moz-border-radius-topleft: 15px;
}
/* Mark redirects in Special:Allpages and Special:Watchlist */
.allpagesredirect {
  font-style: italic;
}
.allpagesredirect:after {
  color: #808080; content: " (redirect)"
}
.watchlistredir {
  font-style: italic;
}
/* Giving headers and TOC a little extra space */
h2 {
  margin-top: 20px;
}
.toc {
  margin-top: 20px;
}
/* Infobox template style */
.infobox {
  border: 1px solid #aaaaaa;
  background-color: #f9f9f9;
  color: black;
  margin-bottom: 0.5em;
  margin-left: 1em;
  padding: 0.2em;
  float: right;
  clear: right;
}
.infobox td,
.infobox th {
  vertical-align: top;
}
.infobox caption {
  font-size: larger;
  margin-left: inherit;
}
.infobox.bordered {
  border-collapse: collapse;
}
.infobox.bordered td,
.infobox.bordered th {
  border: 1px solid #aaaaaa;
}
.infobox.bordered .borderless td,
.infobox.bordered .borderless th {
  border: 0;
}
/* Forum formatting (by -Algorithm & -Splaka) */
.forumheader {
  border: 1px solid #aaa;
  margin-top: 1em;
  padding: 12px;
}
.forumlist td.forum_edited a {
  color: black;
  text-decoration: none;
}
.forumlist td.forum_title a {
  padding-left: 20px;
}
.forumlist td.forum_title a.forum_new {
  font-weight: bold;
  background: url(/images/4/4e/Forum_new.gif) center left no-repeat;
  padding-left: 20px;
}
.forumlist td.forum_title a.forum_new:visited {
  font-weight: normal;
  background: none;
  padding-left: 20px;
}
.forumlist th.forum_title {
  padding-left: 20px;
}
/* Recent changes byte indicators */
.mw-plusminus-pos {
  color: #006500;
}
.mw-plusminus-neg {
  color: #8B0000;
}
/* Image frame fix */
div.tright, div.tleft {
  border: 1px solid silver;
}
div.thumbinner {
  background: inherit;
  border: none;
  color: inherit;
}
#article div.thumb {
  color:inherit;
}
/* === Babel === */
div.babelbox {
  float: right;
  margin-left: 1em;
  margin-bottom: 0.5em;
  width: 246px;
  border: 1px solid #99B3FF;
  padding: 2px 0 2px 0;
}
.lang-blockN, .lang-block0, .lang-block1, .lang-block2, .lang-block3 {
  margin: 2px 4px 2px 4px; /* t, l, b, r */
  width:238px;
  border-collapse: collapse;
}
td.lang-codeN, td.lang-code0, td.lang-code1, td.lang-code2, td.lang-code3 {
  text-align:center;
  font-size:14pt;
  width:45px;
  height:45px;
}
td.lang-descriptionN, td.lang-description0, td.lang-description1,
td.lang-description2, td.lang-description3 {
  font-size:8pt;
  padding:4pt;
  line-height:1.25em;
}
.lang-block0 {
  border:1px solid #FFB3B3;
}
td.lang-code0 {
  background-color: #FFB3B3;
  color: black;
}
td.lang-description0 {
  background-color: #FFE0E8;
  color: black;
}
.lang-block1,  .lang-block2, .lang-block3  {
  border:1px solid #99B3FF;
}
td.lang-code1, td.lang-code2, td.lang-code3 {
  background-color: #99B3FF;
  color: black;
}
td.lang-description1,  td.lang-description2, td.lang-description3 {
  background-color: #E0E8FF;
  color: black;
}
.lang-blockN {
  border:1px solid #6EF7A7;
}
td.lang-codeN {
  background-color: #6EF7A7;
  color: black;
}
td.lang-descriptionN {
  background-color: #C5FCDC;
  color: black;
}
/* Standard Navigationsleisten, aka box hiding thingy from .de.  Documentation at [[Wikipedia:NavFrame]]. */
div.Boxmerge,
div.NavFrame {
    margin: 0px;
    padding: 4px;
    border: 1px solid #aaa;
    text-align: center;
    border-collapse: collapse;
    font-size: 95%;
}
div.Boxmerge div.NavFrame {
    border-style: none;
    border-style: hidden;
}
div.NavFrame + div.NavFrame {
    border-top-style: none;
    border-top-style: hidden;
}
div.NavPic {
    background-color: #fff;
    margin: 0px;
    padding: 2px;
    float: left;
}
div.NavFrame div.NavHead {
    height: 1.6em;
    font-weight: bold;
    background-color: #ccf;
    position:relative;
}
div.NavFrame p {
    font-size: 100%;
}
div.NavFrame div.NavContent {
    font-size: 100%;
}
div.NavFrame div.NavContent p {
    font-size: 100%;
}
div.NavEnd {
    margin: 0px;
    padding: 0px;
    line-height: 1px;
    clear: both;
}
a.NavToggle {
    position:absolute;
    top:0px;
    right:3px;
    font-weight:normal;
    font-size:smaller;
}
/* Fix padding for table in "MediaWiki:SiteNotice" */
#siteNotice { /* For both Monobook and Monaco */
    padding:0 !important;
    text-align: left !important;
}
#article #siteNotice { /* Specific for Monaco */
    margin:-11px !important;
    margin-bottom:-1px !important;
}
#article #siteNotice table { /* Specific for Monaco */
    margin:0 !important;
}
#content #collapsibleTable0, #content #wikiSiteNotice { /* Specific for Monobook */
    margin-bottom:0;
}
/* Make the siteNotice load smoother */
#mw-dismissable-notice td[align="right"] {
    display:none;
}
#article #siteNotice #collapsibleTable0 th > span {
    float:none;
    position:absolute;
    right:5px;
}
/* Center the [hide][dismiss] on siteNotice */
#mw-dismissable-notice td span {
    vertical-align: bottom;
}
/* Fix siteNotice background in Monobook */
#mw-dismissable-notice {
    background-color: transparent;
}
/* Recent Changes Selector */
.rcnsthidden {text-align: right; font-size: 0.8em; color: #aaa;}
.rcnsthidden a {color: #777 !important;}
// Change this to true to make the list below an include list rather than an
// exclude list.
include = false;
// Here, default namespaces (or log types) can be set; put them in '' or ""
// separated by commas, inside the [].  By default, this is the excluded list.
RCNSTList = [];
// Here, you can set specific pages to include or exclude, overriding the
//setting for their respective namespaces; put them in '' or "" separated by
//commas, inside the [].
RCNSTPageListInclude = [];
RCNSTPageListExclude = [];
// Change these if it'll make styling easier - e.g., use ul/li and create a
// hover menu.
RCNSTbeforecheckboxes = '<span id="rcnst"><hr />\n';
RCNSTaftercheckboxes = '</span>';
RCNSTbeforecheckbox = '';
RCNSTaftercheckbox = '\n';
window.onload = function () {
    if (!"".indexOf || !"".substring || ![].push) return;
    if (document.body.className.indexOf("page-Special_RecentChanges") == -1 && document.body.className.indexOf("page-Special_Recentchanges") == -1) return;
    choice = document.getElementById("namespace").childNodes;
    nslist = [];
    for (i in choice) if (choice[i].tagName == "OPTION" && choice[i].value != "") nslist[choice[i].value] = choice[i].innerHTML;
    loglist = [];
    enhanced = true;
    if (document.getElementById("bodyContent").innerHTML.indexOf('<a href="/index.php?title=Special:RecentChanges&hideenhanced=1" title="Special:RecentChanges">Hide</a> grouped recent changes') == -1) enhanced = false;
    if (enhanced) {
        h4s = document.getElementsByTagName("h4");
        days = [];
        for (i = 0; i < h4s.length; i++) {
            days[i] = h4s[i].nextSibling;
            while (days[i].tagName != "DIV") days[i] = days[i].nextSibling;
        }
        for (i in days) {
            if (days[i].tagName != "DIV") continue;
            items = days[i].childNodes;
            for (j = 0; j < items.length; j++) {
                if (items[j].tagName != "TABLE") continue;
                logname = items[j].getElementsByTagName("a");
                if (logname[0].getAttribute("href") == "#") logname = logname[2];
                else logname = logname[0];
                if (logname.nextSibling) if(logname.nextSibling.nodeValue.substring(0, 1) == ")" && loglist.indexOf(logname.innerHTML) == -1) loglist.push(logname.innerHTML);
            }
        }
    } else {
        days = document.getElementsByClassName("special");
        for (i in days) {
            if (days[i].tagName != "UL") continue;
            items = days[i].childNodes;
            for (j = 0; j < items.length; j++) {
                if (items[j].tagName != "LI") continue;
                logname = items[j].getElementsByTagName("a")[0].innerHTML;
                if (logname != "diff" && logname != "hist" && loglist.indexOf(logname) == -1) loglist.push(logname);
            }
        }
    }
    temp = RCNSTList;
    RCNSTList = [];
    for (i in nslist) {
        if (!include && (temp.indexOf(nslist[i]) != -1)) RCNSTList[i] = false;
        else if (include && (temp.indexOf(nslist[i])) == -1) RCNSTList[i] = false;
    }
    for (i in loglist) {
        if (!include && (temp.indexOf(loglist[i]) != -1)) RCNSTList[loglist[i]] = false;
        else if (include && (temp.indexOf(loglist[i])) == -1) RCNSTList[loglist[i]] = false;
    }
    s = RCNSTbeforecheckboxes;
    for (i in nslist) {
        if (RCNSTList[i] == false) insert = '';
        else insert = 'checked="checked"';
        s += RCNSTbeforecheckbox + '<input type="checkbox" ' + insert + 'name="RCNST' + i + '" onclick="RCNSTupdate()" /><label for="RCNST' + i + '">' + nslist[i] + '</label>' + RCNSTaftercheckbox;
    }
    for (i in loglist) {
        if (RCNSTList[loglist[i]] == false) insert = '';
        else insert = 'checked="checked"';
        s += RCNSTbeforecheckbox + '<input type="checkbox" ' + insert + 'name="RCNSTl' + i + '" onclick="RCNSTupdate()" /><label for="RCNSTl' + i + '">' + loglist[i] + '</label>' + RCNSTaftercheckbox;
    }
    s += RCNSTbeforecheckbox + '<input type="button" onclick="RCNSTall()" value="toggle all" />' + RCNSTaftercheckbox;
    s += RCNSTbeforecheckbox + '<input type="button" onclick="RCNSTinvert()" value="invert selection" />' + RCNSTaftercheckbox;
    s += RCNSTbeforecheckbox + '<input type="button" onclick="RCNSTrestore()" value="restore default" />' + RCNSTaftercheckbox;
    document.getElementsByClassName("rcoptions")[0].innerHTML += s;
    RCNSTupdate();
    RCNSTListStore = [];
    for (i in RCNSTList) RCNSTListStore[i] = RCNSTList[i];
}
function RCNSTupdate () {
    for (i in nslist) {
        if (document.getElementsByName("RCNST" + i)[0].checked) RCNSTList[i] = true;
        else RCNSTList[i] = false;
    }
    for (i in loglist) {
        if (document.getElementsByName("RCNSTl" + i)[0].checked) RCNSTList[loglist[i]] = true;
        else RCNSTList[loglist[i]] = false;
    }
    if (enhanced) {
        h4s = document.getElementsByTagName("h4");
        days = [];
        for (i = 0; i < h4s.length; i++) {
            days[i] = h4s[i].nextSibling;
            while (days[i].tagName != "DIV") days[i] = days[i].nextSibling;;
        }
        for (i in days) {
            needh4 = false;
            if (days[i].tagName != "DIV") continue;
            items = days[i].childNodes;
            for (j = 0; j < items.length; j++) {
                if (items[j].tagName != "TABLE") continue;
                page = items[j].getElementsByTagName("a");
                if (page[0].getAttribute("href") == "#") page = page[2];
                else page = page[0];
                if (page.nextSibling) if(page.nextSibling.nodeValue.substring(0, 1) == ")") visible = RCNSTList[page.innerHTML];
                else {
                    if (RCNSTPageListInclude.indexOf(page.innerHTML) != -1) visible = true;
                    else if (RCNSTPageListExclude.indexOf(page.innerHTML) != -1) visible = false;
                    else {
                        page = page.innerHTML;
                        page = page.substring(0, page.indexOf(":")).replace("_", " ").replace("_", " ");
                        page = nslist.indexOf(page);
                        if (page == -1) page = 0;
                        visible = RCNSTList[page];
                    }
                }
                div = items[j].nextSibling;
                if (!div.tagName) div = div.nextSibling;
                if (visible) {
                    if (items[j].className.indexOf(" rcnsthidden") != -1) items[j].className = items[j].className.substring(0, items[j].className.indexOf(" rcnsthidden"));
                    if (div) if (div.tagName == "DIV") if (div.className.indexOf(" rcnsthidden") != -1) div.className = div.className.substring(0, div.className.indexOf(" rcnsthidden"));
                    needh4 = true;
                } else {
                    if (items[j].className.indexOf(" rcnsthidden") == -1) items[j].className += " rcnsthidden";
                    if (div) if (div.tagName == "DIV") if (div.className.indexOf(" rcnsthidden") == -1) div.className += " rcnsthidden";
                }
            }
            h4 = days[i].previousSibling;
            while (h4.tagName != "H4") h4 = h4.previousSibling;
            if (needh4) h4.removeAttribute("class");
            else h4.className = "rcnsthidden";
        }
    } else {
        days = document.getElementsByClassName("special");
        for (i in days) {
            needh4 = false;
            if (days[i].tagName != "UL") continue;
            items = days[i].childNodes;
            for (j = 0; j < items.length; j++) {
                if (items[j].tagName != "LI") continue;
                page = items[j].getElementsByTagName("a");
                if (page[0].innerHTML == "diff") n = 2;
                else if (page[0].innerHTML == "hist") n = 1;
                if (page[0].innerHTML == "diff" || page[0].innerHTML == "hist") {
                    if (RCNSTPageListInclude.indexOf(page[n].innerHTML) != -1) visible = true;
                    else if (RCNSTPageListExclude.indexOf(page[n].innerHTML) != -1) visible = false;
                    else {
                        page = page[0].href;
                        page = page.substring(page.indexOf("?title=") + 7);
                        page = page.substring(0, page.indexOf("&curid="));
                        page = page.substring(0, page.indexOf(":")).replace("_", " ").replace("_", " ");
                        page = nslist.indexOf(page);
                        if (page == -1) page = 0;
                        visible = RCNSTList[page];
                    }
                } else visible = RCNSTList[page[0].innerHTML];
                if (visible) {
                    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";
            }
            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;
    for (i in loglist) RCNSTList[loglist[i]] = on;
    RCNSTsetboxes();
    RCNSTupdate();
}
function RCNSTinvert () {
    for (i in RCNSTList) {
        if (RCNSTList[i]) RCNSTList[i] = false;
        else RCNSTList[i] = true;
    }
    RCNSTsetboxes();
    RCNSTupdate();
}
function RCNSTrestore () {
    for (i in RCNSTListStore) RCNSTList[i] = RCNSTListStore[i];
    RCNSTsetboxes();
    RCNSTupdate();
}
function RCNSTsetboxes () {
    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]];
}

Latest revision as of 20:04, 1 September 2012

/*OGG player*/
.ogg-player-options {
    border: 2px outset #00bb00;
    -moz-border-radius-topleft: 50px;
    -moz-border-radius-bottom right: 100px;
}

/*Watchlist edit message*/
.usermessage {
    background: #CCFF00;
    font-weight: bold;
    margin: 20px 0px 10px 0px;
    padding: 5px 10px;
    vertical-align: middle;
    border: 2px outset #00bb00;
    -moz-border-radius-bottomright: 15px;
    -moz-border-radius-topleft: 15px;
}

/* Mark redirects in Special:Allpages and Special:Watchlist */
.allpagesredirect {
   font-style: italic;
}
.allpagesredirect:after {
   color: #808080; content: " (redirect)"
}
.watchlistredir {
   font-style: italic;
}

/* Giving headers and TOC a little extra space */
h2 {
   margin-top: 20px;
}
.toc {
   margin-top: 20px;
}

/* Infobox template style */
.infobox {
   border: 1px solid #aaaaaa;
   background-color: #f9f9f9;
   color: black;
   margin-bottom: 0.5em;
   margin-left: 1em;
   padding: 0.2em;
   float: right;
   clear: right;
}
.infobox td,
.infobox th {
   vertical-align: top;
}
.infobox caption {
   font-size: larger;
   margin-left: inherit;
}
.infobox.bordered {
   border-collapse: collapse;
}
.infobox.bordered td,
.infobox.bordered th {
   border: 1px solid #aaaaaa;
}
.infobox.bordered .borderless td,
.infobox.bordered .borderless th {
   border: 0;
}

/* Forum formatting (by -Algorithm & -Splaka) */
.forumheader {
   border: 1px solid #aaa;
   margin-top: 1em;
   padding: 12px;
}
.forumlist td.forum_edited a {
   color: black;
   text-decoration: none;
}
.forumlist td.forum_title a {
   padding-left: 20px;
}
.forumlist td.forum_title a.forum_new {
   font-weight: bold;
   background: url(/images/4/4e/Forum_new.gif) center left no-repeat;
   padding-left: 20px;
}
.forumlist td.forum_title a.forum_new:visited {
   font-weight: normal;
   background: none;
   padding-left: 20px;
}
.forumlist th.forum_title {
   padding-left: 20px;
}

/* Recent changes byte indicators */
.mw-plusminus-pos {
   color: #006500;
}
.mw-plusminus-neg {
   color: #8B0000;
}

/* Image frame fix */
div.tright, div.tleft {
   border: 1px solid silver;
}

div.thumbinner {
   background: inherit;
   border: none;
   color: inherit;
}
#article div.thumb {
   color:inherit;
}

/* === Babel === */

div.babelbox {
   float: right;
   margin-left: 1em;
   margin-bottom: 0.5em;
   width: 246px;
   border: 1px solid #99B3FF;
   padding: 2px 0 2px 0;
}
.lang-blockN, .lang-block0, .lang-block1, .lang-block2, .lang-block3 {
   margin: 2px 4px 2px 4px; /* t, l, b, r */
   width:238px;
   border-collapse: collapse;
}
td.lang-codeN, td.lang-code0, td.lang-code1, td.lang-code2, td.lang-code3 {
   text-align:center;
   font-size:14pt;
   width:45px;
   height:45px;
}
td.lang-descriptionN, td.lang-description0, td.lang-description1,
td.lang-description2, td.lang-description3 {
  font-size:8pt;
  padding:4pt;
  line-height:1.25em;
}

.lang-block0 {
   border:1px solid #FFB3B3;
}
td.lang-code0 {
  background-color: #FFB3B3;
  color: black;
}
td.lang-description0 {
  background-color: #FFE0E8;
  color: black;
}

.lang-block1,  .lang-block2, .lang-block3  {
   border:1px solid #99B3FF;
}
td.lang-code1, td.lang-code2, td.lang-code3 {
  background-color: #99B3FF;
  color: black;
}
td.lang-description1,  td.lang-description2, td.lang-description3 {
  background-color: #E0E8FF;
  color: black;
}

.lang-blockN {
   border:1px solid #6EF7A7;
}
td.lang-codeN {
  background-color: #6EF7A7;
  color: black;
}
td.lang-descriptionN {
  background-color: #C5FCDC;
  color: black;
}

/* Standard Navigationsleisten, aka box hiding thingy from .de.  Documentation at [[Wikipedia:NavFrame]]. */
 
div.Boxmerge,
div.NavFrame {
    margin: 0px;
    padding: 4px;
    border: 1px solid #aaa;
    text-align: center;
    border-collapse: collapse;
    font-size: 95%;
}
div.Boxmerge div.NavFrame {
    border-style: none;
    border-style: hidden;
}
div.NavFrame + div.NavFrame {
    border-top-style: none;
    border-top-style: hidden;
}
div.NavPic {
    background-color: #fff;
    margin: 0px;
    padding: 2px;
    float: left;
}
div.NavFrame div.NavHead {
    height: 1.6em;
    font-weight: bold;
    background-color: #ccf;
    position:relative;
}
div.NavFrame p {
    font-size: 100%;
}
div.NavFrame div.NavContent {
    font-size: 100%;
}
div.NavFrame div.NavContent p {
    font-size: 100%;
}
div.NavEnd {
    margin: 0px;
    padding: 0px;
    line-height: 1px;
    clear: both;
}
a.NavToggle {
    position:absolute;
    top:0px;
    right:3px;
    font-weight:normal;
    font-size:smaller;
}

/* Fix padding for table in "MediaWiki:SiteNotice" */
#siteNotice { /* For both Monobook and Monaco */
    padding:0 !important;
    text-align: left !important;
}
#article #siteNotice { /* Specific for Monaco */
    margin:-11px !important;
    margin-bottom:-1px !important;
}
#article #siteNotice table { /* Specific for Monaco */
    margin:0 !important;
}
#content #collapsibleTable0, #content #wikiSiteNotice { /* Specific for Monobook */
    margin-bottom:0;
}

/* Make the siteNotice load smoother */
#mw-dismissable-notice td[align="right"] {
    display:none;
}
#article #siteNotice #collapsibleTable0 th > span {
    float:none;
    position:absolute;
    right:5px;
}

/* Center the [hide][dismiss] on siteNotice */
#mw-dismissable-notice td span {
    vertical-align: bottom;
}

/* Fix siteNotice background in Monobook */
#mw-dismissable-notice {
    background-color: transparent;
}

/* Recent Changes Selector */
.rcnsthidden {text-align: right; font-size: 0.8em; color: #aaa;}
.rcnsthidden a {color: #777 !important;}
// Change this to true to make the list below an include list rather than an
// exclude list.
include = false;

// Here, default namespaces (or log types) can be set; put them in '' or ""
// separated by commas, inside the [].  By default, this is the excluded list.
RCNSTList = [];

// Here, you can set specific pages to include or exclude, overriding the
//setting for their respective namespaces; put them in '' or "" separated by
//commas, inside the [].
RCNSTPageListInclude = [];
RCNSTPageListExclude = [];

// Change these if it'll make styling easier - e.g., use ul/li and create a
// hover menu.
RCNSTbeforecheckboxes = '<span id="rcnst"><hr />\n';
RCNSTaftercheckboxes = '</span>';
RCNSTbeforecheckbox = '';
RCNSTaftercheckbox = '\n';

window.onload = function () {
    if (!"".indexOf || !"".substring || ![].push) return;
    if (document.body.className.indexOf("page-Special_RecentChanges") == -1 && document.body.className.indexOf("page-Special_Recentchanges") == -1) return;
    choice = document.getElementById("namespace").childNodes;
    nslist = [];
    for (i in choice) if (choice[i].tagName == "OPTION" && choice[i].value != "") nslist[choice[i].value] = choice[i].innerHTML;
    loglist = [];
    enhanced = true;
    if (document.getElementById("bodyContent").innerHTML.indexOf('<a href="/index.php?title=Special:RecentChanges&hideenhanced=1" title="Special:RecentChanges">Hide</a> grouped recent changes') == -1) enhanced = false;
    if (enhanced) {
        h4s = document.getElementsByTagName("h4");
        days = [];
        for (i = 0; i < h4s.length; i++) {
            days[i] = h4s[i].nextSibling;
            while (days[i].tagName != "DIV") days[i] = days[i].nextSibling;
        }
        for (i in days) {
            if (days[i].tagName != "DIV") continue;
            items = days[i].childNodes;
            for (j = 0; j < items.length; j++) {
                if (items[j].tagName != "TABLE") continue;
                logname = items[j].getElementsByTagName("a");
                if (logname[0].getAttribute("href") == "#") logname = logname[2];
                else logname = logname[0];
                if (logname.nextSibling) if(logname.nextSibling.nodeValue.substring(0, 1) == ")" && loglist.indexOf(logname.innerHTML) == -1) loglist.push(logname.innerHTML);
            }
        }
    } else {
        days = document.getElementsByClassName("special");
        for (i in days) {
            if (days[i].tagName != "UL") continue;
            items = days[i].childNodes;
            for (j = 0; j < items.length; j++) {
                if (items[j].tagName != "LI") continue;
                logname = items[j].getElementsByTagName("a")[0].innerHTML;
                if (logname != "diff" && logname != "hist" && loglist.indexOf(logname) == -1) loglist.push(logname);
            }
        }
    }
    temp = RCNSTList;
    RCNSTList = [];
    for (i in nslist) {
        if (!include && (temp.indexOf(nslist[i]) != -1)) RCNSTList[i] = false;
        else if (include && (temp.indexOf(nslist[i])) == -1) RCNSTList[i] = false;
    }
    for (i in loglist) {
        if (!include && (temp.indexOf(loglist[i]) != -1)) RCNSTList[loglist[i]] = false;
        else if (include && (temp.indexOf(loglist[i])) == -1) RCNSTList[loglist[i]] = false;
    }
    s = RCNSTbeforecheckboxes;
    for (i in nslist) {
        if (RCNSTList[i] == false) insert = '';
        else insert = 'checked="checked"';
        s += RCNSTbeforecheckbox + '<input type="checkbox" ' + insert + 'name="RCNST' + i + '" onclick="RCNSTupdate()" /><label for="RCNST' + i + '">' + nslist[i] + '</label>' + RCNSTaftercheckbox;
    }
    for (i in loglist) {
        if (RCNSTList[loglist[i]] == false) insert = '';
        else insert = 'checked="checked"';
        s += RCNSTbeforecheckbox + '<input type="checkbox" ' + insert + 'name="RCNSTl' + i + '" onclick="RCNSTupdate()" /><label for="RCNSTl' + i + '">' + loglist[i] + '</label>' + RCNSTaftercheckbox;
    }
    s += RCNSTbeforecheckbox + '<input type="button" onclick="RCNSTall()" value="toggle all" />' + RCNSTaftercheckbox;
    s += RCNSTbeforecheckbox + '<input type="button" onclick="RCNSTinvert()" value="invert selection" />' + RCNSTaftercheckbox;
    s += RCNSTbeforecheckbox + '<input type="button" onclick="RCNSTrestore()" value="restore default" />' + RCNSTaftercheckbox;
    document.getElementsByClassName("rcoptions")[0].innerHTML += s;
    RCNSTupdate();
    RCNSTListStore = [];
    for (i in RCNSTList) RCNSTListStore[i] = RCNSTList[i];
}
function RCNSTupdate () {
    for (i in nslist) {
        if (document.getElementsByName("RCNST" + i)[0].checked) RCNSTList[i] = true;
        else RCNSTList[i] = false;
    }
    for (i in loglist) {
        if (document.getElementsByName("RCNSTl" + i)[0].checked) RCNSTList[loglist[i]] = true;
        else RCNSTList[loglist[i]] = false;
    }
    if (enhanced) {
        h4s = document.getElementsByTagName("h4");
        days = [];
        for (i = 0; i < h4s.length; i++) {
            days[i] = h4s[i].nextSibling;
            while (days[i].tagName != "DIV") days[i] = days[i].nextSibling;;
        }
        for (i in days) {
            needh4 = false;
            if (days[i].tagName != "DIV") continue;
            items = days[i].childNodes;
            for (j = 0; j < items.length; j++) {
                if (items[j].tagName != "TABLE") continue;
                page = items[j].getElementsByTagName("a");
                if (page[0].getAttribute("href") == "#") page = page[2];
                else page = page[0];
                if (page.nextSibling) if(page.nextSibling.nodeValue.substring(0, 1) == ")") visible = RCNSTList[page.innerHTML];
                else {
                    if (RCNSTPageListInclude.indexOf(page.innerHTML) != -1) visible = true;
                    else if (RCNSTPageListExclude.indexOf(page.innerHTML) != -1) visible = false;
                    else {
                        page = page.innerHTML;
                        page = page.substring(0, page.indexOf(":")).replace("_", " ").replace("_", " ");
                        page = nslist.indexOf(page);
                        if (page == -1) page = 0;
                        visible = RCNSTList[page];
                    }
                }
                div = items[j].nextSibling;
                if (!div.tagName) div = div.nextSibling;
                if (visible) {
                    if (items[j].className.indexOf(" rcnsthidden") != -1) items[j].className = items[j].className.substring(0, items[j].className.indexOf(" rcnsthidden"));
                    if (div) if (div.tagName == "DIV") if (div.className.indexOf(" rcnsthidden") != -1) div.className = div.className.substring(0, div.className.indexOf(" rcnsthidden"));
                    needh4 = true;
                } else {
                    if (items[j].className.indexOf(" rcnsthidden") == -1) items[j].className += " rcnsthidden";
                    if (div) if (div.tagName == "DIV") if (div.className.indexOf(" rcnsthidden") == -1) div.className += " rcnsthidden";
                }
            }
            h4 = days[i].previousSibling;
            while (h4.tagName != "H4") h4 = h4.previousSibling;
            if (needh4) h4.removeAttribute("class");
            else h4.className = "rcnsthidden";
        }
    } else {
        days = document.getElementsByClassName("special");
        for (i in days) {
            needh4 = false;
            if (days[i].tagName != "UL") continue;
            items = days[i].childNodes;
            for (j = 0; j < items.length; j++) {
                if (items[j].tagName != "LI") continue;
                page = items[j].getElementsByTagName("a");
                if (page[0].innerHTML == "diff") n = 2;
                else if (page[0].innerHTML == "hist") n = 1;
                if (page[0].innerHTML == "diff" || page[0].innerHTML == "hist") {
                    if (RCNSTPageListInclude.indexOf(page[n].innerHTML) != -1) visible = true;
                    else if (RCNSTPageListExclude.indexOf(page[n].innerHTML) != -1) visible = false;
                    else {
                        page = page[0].href;
                        page = page.substring(page.indexOf("?title=") + 7);
                        page = page.substring(0, page.indexOf("&curid="));
                        page = page.substring(0, page.indexOf(":")).replace("_", " ").replace("_", " ");
                        page = nslist.indexOf(page);
                        if (page == -1) page = 0;
                        visible = RCNSTList[page];
                    }
                } else visible = RCNSTList[page[0].innerHTML];
                if (visible) {
                    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";
            }
            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;
    for (i in loglist) RCNSTList[loglist[i]] = on;
    RCNSTsetboxes();
    RCNSTupdate();
}
function RCNSTinvert () {
    for (i in RCNSTList) {
        if (RCNSTList[i]) RCNSTList[i] = false;
        else RCNSTList[i] = true;
    }
    RCNSTsetboxes();
    RCNSTupdate();
}
function RCNSTrestore () {
    for (i in RCNSTListStore) RCNSTList[i] = RCNSTListStore[i];
    RCNSTsetboxes();
    RCNSTupdate();
}
function RCNSTsetboxes () {
    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]];
}