MediaWiki:Common.js
(Difference between revisions)
Galak (Talk | contribs)
(Created page with "- →Any JavaScript here will be loaded for all users on every page load.: /* ================== The following Script is based on: http://de.wikipedia.org/wiki/MediaWiki:Common....")
Newer edit →
(Created page with "- →Any JavaScript here will be loaded for all users on every page load.: /* ================== The following Script is based on: http://de.wikipedia.org/wiki/MediaWiki:Common....")
Newer edit →
Revision as of 01:40, 5 August 2010
/* Any JavaScript here will be loaded for all users on every page load. */ /* ================== The following Script is based on: http://de.wikipedia.org/wiki/MediaWiki:Common.js ================== */ //*** Dynamic Navigation Bars // set up the words in your language var NavigationBarHide = 'Hide'; var NavigationBarShow = 'Show'; // set up max count of Navigation Bars on page, // if there are more, all will be hidden // NavigationBarShowDefault = 0; // all bars will be hidden // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden if (typeof NavigationBarShowDefault == 'undefined' ) { var NavigationBarShowDefault = 1; } // adds show/hide-button to navigation bars addOnloadHook(function() { // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled function toggleNavigationBar(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == NavigationBarHide) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarShow; } } // if hidden now } else if (NavToggle.firstChild.data == NavigationBarShow) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarHide; } } } } function toggleNavigationBarFunction(indexNavigationBar) { return function() { toggleNavigationBar(indexNavigationBar); return false; }; } // iterate over all NavFrames var NavFrames = getElementsByClassName((document.getElementById("content") || document.getElementById("mw_content")), "div", "NavFrame"); for (var i=0; i<NavFrames.length; i++) { var NavFrame = NavFrames[i]; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + i); NavToggle.setAttribute('href', '#'); NavToggle.onclick = toggleNavigationBarFunction(i); var NavToggleText = document.createTextNode(NavigationBarHide); NavToggle.appendChild(NavToggleText); // add NavToggle-Button as first div-element // in < div class="NavFrame" > NavFrame.insertBefore(NavToggle, NavFrame.firstChild); NavFrame.setAttribute('id', 'NavFrame' + i); } // if more Navigation Bars found and not template namespace than Default: hide all if (NavigationBarShowDefault < NavFrames.length && wgNamespaceNumber != 10) { for(var i=0; i<NavFrames.length; i++) { toggleNavigationBar(i); } } }); /* ================== The previous script is based on: http://de.wikipedia.org/wiki/MediaWiki:Common.js ================== */