Difference between revisions of "MediaWiki:Common.js"
From Ogame Wiki - Preview (mw1.22)
Francolino (Talk | contribs) |
Francolino (Talk | contribs) |
||
Line 2: | Line 2: | ||
//*** Dynamic Navigation Bars | //*** Dynamic Navigation Bars | ||
− | + | ||
// set up the words in your language | // set up the words in your language | ||
var NavigationBarHide = 'Hide'; | var NavigationBarHide = 'Hide'; |
Latest revision as of 02:13, 3 December 2010
/* Any JavaScript here will be loaded for all users on every page load. */ //*** 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 = 0; } // 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(NavToggle, NavFrame) { 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 == 'NavContent') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarShow; } } setCookie("NavFrame", "false"); // if hidden now } else if (NavToggle.firstChild.data == NavigationBarShow) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavContent') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarHide; } } setCookie("NavFrame", "true"); } } function toggleNavigationBarFunction(NavToggle, NavFrame) { return function() { toggleNavigationBar(NavToggle, NavFrame); return false; }; } // iterate over all NavFrames var content = document.getElementById("content") || document.getElementById("mw_content"); var NavFrames = getElementsByClassName(content, "div", "NavFrame"); // if more Navigation Bars found and not template namespace than Default: hide all var initiallyToggle = NavigationBarShowDefault < NavFrames.length && wgNamespaceNumber != 10; for (var i=0; i<NavFrames.length; i++) { var NavFrame = NavFrames[i]; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('href', '#'); var NavToggleText = document.createTextNode(NavigationBarHide); NavToggle.appendChild(NavToggleText); // add NavToggle-Button as first div-element // in < div class="NavFrame" > NavFrame.insertBefore(NavToggle, NavFrame.firstChild); NavToggle.onclick = toggleNavigationBarFunction(NavToggle, NavFrame); var NavHead = getElementsByClassName(NavFrame, "div", "NavHead"); NavHead[0].onclick = NavToggle.onclick; if ((initiallyToggle) && (getCookie("NavFrame")!="true")) { toggleNavigationBar(NavToggle, NavFrame); } } }); function getCookie(name) { var value = null; if(document.cookie) { var arr = document.cookie.split((escape(name) + '=')); if(2 <= arr.length) { var arr2 = arr[1].split(';'); value = unescape(arr2[0]); } } return value; } function setCookie(name, value) { var cookieText = escape(name) + '=' + escape(value); document.cookie = cookieText; }