|
|
(One intermediate revision by the same user not shown) |
Line 1: |
Line 1: |
− | /* Any JavaScript here will be loaded for all users on every page load. */ | + | // |
− | | |
− | | |
− | /* Test if an element has a certain class **************************************
| |
− | * Note: this is straight out of Wikipedia's Common.js (http://en.wikipedia.org/wiki/MediaWiki:Common.js)
| |
− | */
| |
− | | |
− | var hasClass = (function () {
| |
− | var reCache = {};
| |
− | return function (element, className) {
| |
− | return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
| |
− | };
| |
− | })();
| |
− | | |
− | | |
− | /** Hideable notes *********************************************************
| |
− | * This is based off of code from Wikipedia's Common.js (http://en.wikipedia.org/wiki/MediaWiki:Common.js)
| |
− | */
| |
− | | |
− | function showNotes( spanIndex )
| |
− | {
| |
− | var Button = document.getElementById( "showNoteLink" + spanIndex );
| |
− | var Span = document.getElementById( "showNotes" + spanIndex );
| |
− | | |
− | if (!Span || !Button)
| |
− | {
| |
− | return false;
| |
− | }
| |
− | | |
− | if (Button.firstChild.data == "[show]")
| |
− | {
| |
− | Span.style.display = "inline";
| |
− | Button.firstChild.data = " [hide]";
| |
− | }
| |
− | else
| |
− | {
| |
− | Span.style.display = "none";
| |
− | Button.firstChild.data = "[show]";
| |
− | }
| |
− | }
| |
− | | |
− | function createShowNotesLinks()
| |
− | {
| |
− | var spanIndex = 0;
| |
− | var Spans = document.getElementsByTagName( "span" );
| |
− | var CurrentSpan = new Object();
| |
− | | |
− | for ( var i = 0; i < Spans.length; i++ )
| |
− | {
| |
− | if ( hasClass( Spans[i], "hiddenNotes" ) )
| |
− | {
| |
− | CurrentSpan = Spans[i];
| |
− | CurrentSpan.setAttribute( "id", "showNotes" + spanIndex );
| |
− | | |
− | var Button = document.createElement( "span" );
| |
− | var ButtonLink = document.createElement( "a" );
| |
− | var ButtonText = document.createTextNode( "[show]" );
| |
− | | |
− | ButtonLink.setAttribute( "id", "showNoteLink" + spanIndex );
| |
− | ButtonLink.setAttribute( "href", "#" );
| |
− | addHandler( ButtonLink, "click", new Function( "evt", "showNotes(" + spanIndex + " ); return killEvt( evt );") );
| |
− | ButtonLink.appendChild( ButtonText );
| |
− | | |
− | Button.appendChild(document.createTextNode( " " ));
| |
− | Button.appendChild(ButtonLink);
| |
− | | |
− | CurrentSpan.parentNode.insertBefore( Button, CurrentSpan.nextSibling );
| |
− | CurrentSpan.style.display="none";
| |
− | | |
− | spanIndex++;
| |
− | }
| |
− | }
| |
− | }
| |
− | | |
− | addonloadHook( createShowNotesLinks );
| |