User:Hippietrail/navbars.js

Hello, you have come here looking for the meaning of the word User:Hippietrail/navbars.js. In DICTIOUS you will not only get to know all the dictionary meanings for the word User:Hippietrail/navbars.js, but we will also tell you about its etymology, its characteristics and you will know how to say User:Hippietrail/navbars.js in singular and plural. Everything you need to know about the word User:Hippietrail/navbars.js you have here. The definition of the word User:Hippietrail/navbars.js will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofUser:Hippietrail/navbars.js, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.
/*</pre>
==Dynamic Navigation Bars (experimental)==
<pre>*/

 // ============================================================
 // BEGIN Dynamic Navigation Bars (experimental)
 // FIXME: currently only works for one nav bar on a page at a time
 
 // 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
 var NavigationBarShowDefault = 1;
 //Honor the User Preferences
 if ( getCookie('WiktionaryPreferencesShowNav') != 'true' ) {
         NavigationBarShowDefault = 0;
    } else {
      if ( wgNamespaceNumber == 0 ) NavigationBarShowDefault = 999 ;
    }
  
/*</pre>
===toggleNavigationBar===
<pre>*/

 // 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.isHidden == false) {
        for (
                var NavChild = NavFrame.firstChild;
                NavChild;
                NavChild = NavChild.nextSibling
            ) {
            if (NavChild.className == 'NavPic') {
                NavChild.style.display = 'none';
            }
            if (NavChild.className == 'NavContent') {
                NavChild.style.display = 'none';
            }
        }
    NavToggle.childNodes.firstChild.nodeValue = NavigationBarShow;
    NavToggle.isHidden = true;
 
    // if hidden now
    } else if (NavToggle.isHidden == true) {
        for (
                var NavChild = NavFrame.firstChild;
                NavChild;
                NavChild = NavChild.nextSibling
            ) {
            if (NavChild.className == 'NavPic') {
                NavChild.style.display = 'block';
            }
            if (NavChild.className == 'NavContent') {
                NavChild.style.display = 'block';
            }
        }
    NavToggle.childNodes.firstChild.nodeValue = NavigationBarHide;
    NavToggle.isHidden = false;
    }
 }
 
/*</pre>
===createNavigationBarToggleButton===
<pre>*/

 // adds show/hide-button to navigation bars
 function createNavigationBarToggleButton()
 {
    // Are we previewing an translation section?
    var preview = document.getElementById('wikiPreview');

    if (preview != null) {
      var p = preview.getElementsByTagName('p');
      if (p != null && p.length >= 2 && p.firstChild.id == 'Translations') {
        NavigationBarShowDefault = 999;
      }
    }

    var indexNavigationBar = 0;
    // iterate over all < div >-elements
    for(
            var i=0; 
            NavFrame = document.getElementsByTagName("div"); 
            i++
        ) {
        // if found a navigation bar
        if (NavFrame.className == "NavFrame") {
 
            indexNavigationBar++;
            var NavToggle = document.createElement("span");
            NavToggle.className = 'NavToggle editsection';
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            
            NavToggle.appendChild(document.createTextNode('['));
            NavToggle.appendChild(document.createElement("a"));
            var NavToggleText = document.createTextNode(NavigationBarHide);
            NavToggle.childNodes.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
            NavToggle.childNodes.appendChild(NavToggleText);
            NavToggle.appendChild(document.createTextNode(']'));
            NavToggle.isHidden = false;
            // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
            for(
              var j=0; 
              j < NavFrame.childNodes.length; 
              j++
            ) {
              if (NavFrame.childNodes.className == "NavHead") {
                NavFrame.childNodes.appendChild(NavToggle);
              }
            }
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
        }
    }
    // if more Navigation Bars found than Default: hide all
    if (NavigationBarShowDefault < indexNavigationBar) {
        for(
                var i=1; 
                i<=indexNavigationBar; 
                i++
        ) {
            toggleNavigationBar(i);
        }
    }
 
 }
 
 addOnloadHook(createNavigationBarToggleButton);
 
 // END Dynamic Navigation Bars
 // ============================================================