User:Spacebirdy/monobook.js

mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Spacebirdy/altækt.js&action=raw&ctype=text/javascript');

var NavigationBarHide = 'hide ▲'; var NavigationBarShow = 'show ▼';

function NavToggleCategory(navFrame) {   var table = navFrame.getElementsByTagName('table')[0]; if (table && table.className == "translations") return "translations"; var heading = navFrame.previousSibling; while (heading) { if (/[hH][4-6]/.test(heading.nodeName)) { if (heading.getElementsByTagName('span')[1]) { return heading.getElementsByTagName('span')[1].innerHTML.toLowerCase; }           else { return heading.getElementsByTagName('span')[0].innerHTML.toLowerCase; }           }        else if (/[hH][1-3]/.test(heading.nodeName)) break; heading = heading.previousSibling; }   return "other boxes"; }; function createNavToggle(navFrame) {   var navHead, navToggle, navContent; for (var j=0; j < navFrame.childNodes.length; j++) { var div = navFrame.childNodes[j]; switch (div.className) { case 'NavHead': navHead = div; break; case 'NavContent': navContent = div; break; }   }    if (!navHead || !navContent) return; // Step 1, don't react when a subitem is clicked. for (var i=0; i<navHead.childNodes.length; i++) { var child = navHead.childNodes[i]; if (child.nodeType == 1) { child.onclick = function (e) {               if (e && e.stopPropagation) e.stopPropagation; else window.event.cancelBubble = true; }       }    }    // Step 2, toggle visibility when bar is clicked. // NOTE This function was chosen due to some funny behaviour in Safari. navToggle = newNode('a', {href: 'javascript:(function{})'}, ''); navHead.insertBefore(newNode('span', {'class': 'NavToggle'}, '[', navToggle, ']'), navHead.firstChild); navHead.style.cursor = "pointer"; navHead.onclick = VisibilityToggles.register(NavToggleCategory(navFrame),       function show {            navToggle.innerHTML = NavigationBarHide;            if (navContent)                navContent.style.display = "block";        },        function hide {

}); }; $( function {   var divs; if (document.getElementsByClassName) divs = document.getElementsByClassName('NavFrame'); else divs = document.getElementsByTagName('div'); for (var i=0; i<divs.length; i++) { // NOTE: some templates use a class of NavFrame for the style, but for legacy reasons, are not NavFrames if (divs[i].className == "NavFrame") { createNavToggle(divs[i]); }   } });