Gebruiker:Catienpetji/common.js

Uit Wikibooks

Hulp bij het instellen van uw voorkeurenLet op! Nadat u de veranderingen heeft opgeslagen, moet u de cache van uw browser nog legen om ze daadwerkelijk te zien. In onderstaande tabel staat aangegeven hoe u dit doet.

Mozilla reload (of ctrl-r)
IE ctrl-f5
Opera f5
Safari cmd-r
Konqueror ctrl-r
/*
<pre>
*/

if (window.showModalDialog && document.compatMode && document.compatMode == "CSS1Compat")
{
  var oldWidth;
  var docEl = document.documentElement;

  function fixIEScroll()
  {
    if (!oldWidth || docEl.clientWidth > oldWidth)
      doFixIEScroll();
    else
      setTimeout(doFixIEScroll, 1);
  
    oldWidth = docEl.clientWidth;
  }

  function doFixIEScroll() {
    docEl.style.overflowX = (docEl.scrollWidth - docEl.clientWidth < 4) ? "hidden" : "";
  }

  document.attachEvent("onreadystatechange", fixIEScroll);
  attachEvent("onresize", fixIEScroll);
}

function addLoadEvent(func) 
{
  if (window.addEventListener) 
    window.addEventListener("load", func, false);
  else if (window.attachEvent) 
    window.attachEvent("onload", func);
}

function LinkFA() 
{
   // iterate over all <span>-elements
   for(var i=0; a = document.getElementsByTagName("span")[i]; i++) {
      // if found a FA span
      if(a.className == "FA") {
         // iterate over all <li>-elements
         for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
            // if found a FA link
            if(b.className == "interwiki-" + a.id) {
               b.style.padding = "0 0 0 16px";
               b.style.backgroundImage = "url('http://upload.wikimedia.org/wikipedia/en/6/60/LinkFA-star.png')";
               b.style.backgroundRepeat = "no-repeat";
               b.title = "This article has gained featured status";
            }
         }
      }
   }
}

addLoadEvent(LinkFA);

 // ============================================================
 // BEGIN Dynamic Navigation Bars (experimantal)
 
 // 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;
 
 
 // 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';
            }
        }
        NavToggle.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';
            }
        }
        NavToggle.firstChild.data = NavigationBarHide;
    }
 }
 
 // adds show/hide-button to navigation bars
 function createNavigationBarToggleButton()
 {
    var indexNavigationBar = 0;
    // iterate over all < div >-elements
    for (var i=0; NavFrame = document.getElementsByTagName("div")[i]; i++) {
        // if found a navigation bar
        if (NavFrame.className == "NavFrame") {
 
            indexNavigationBar++;
            var NavToggle = document.createElement("a");
            NavToggle.className = 'NavToggle';
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
            
            var NavToggleText = document.createTextNode(NavigationBarHide);
            NavToggle.appendChild(NavToggleText);
            // 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[j].className == "NavHead") {
                NavFrame.childNodes[j].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);
        }
    }
 }
 
 addLoadEvent(createNavigationBarToggleButton);
 
if ((wgNamespaceNumber == 0 || wgNamespaceNumber == 1) && (wgTitle == "Main Page" || wgTitle.indexOf("Main Page ") == 0))
{
  document.write('<style type="text/css">/*<![CDATA[*/ #siteSub, #contentSub, h1.firstHeading { display: none !important; } /*]]>*/</style>');
  
  function mainPageRenameNamespaceTab()
  {
    try {
      var Node = document.getElementById( 'ca-nstab-main' ).firstChild;
      if (Node.textContent ) {      // Per DOM Level 3
        Node.textContent = 'Main Page';
      } else if (Node.innerText) { // IE doesn't handle .textContent
        Node.innerText = 'Main Page';
      } else if (Node.innerHTML) { // Fallbacks
        Node.innerHTML = 'Main Page';
      } else {
        Node.replaceChild(Node.firstChild, document.createTextNode('Main Page')); 
      }
    } catch(e) {
      // bailing out!
    }
  }

  //Main page tab no longer says article
  addOnloadHook(mainPageRenameNamespaceTab);
}

/* add a redirect button to the edit page toolbar */
if (mwCustomEditButtons) {
  mwCustomEditButtons[mwCustomEditButtons.length] = {
    "imageFile": "http://upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png",
    "speedTip": "Redirect",
    "tagOpen": "#REDIRECT [[",
    "tagClose": "]]",
    "sampleText": "Insert text"};
};

// ==================================================
// Book-wide search using Google
// from pl.wikibooks, maintainer [[b:pl:User:Piotr]]
// ==================================================

function getBookName() {
   var start = 0;
   var PSEUDONAMESPACE = "Programming:";
   if ( wgPageName.slice(0, PSEUDONAMESPACE.length) == PSEUDONAMESPACE ) start = PSEUDONAMESPACE.length;
   var i = wgPageName.indexOf(':', start);
   var k = wgPageName.indexOf('/', start);
   if ( (i != -1 && k < i) || i == -1 ) {
      if ( k != -1 ) i = k;
   }

   var book = wgPageName;
   if ( i != -1 ) {
     book = wgPageName.slice(0, i);
   }
   return book;
}

function insertGoogleSearch() {
   if ( wgNamespaceNumber != 0 && wgNamespaceNumber != 102) { // 102 - Cookbook namespace
      return;
   }
   var google = "http://www.google.com/custom?sa=Google+Search&domains=en.wikibooks.org/wiki/PAGE&sitesearch=en.wikibooks.org/wiki/PAGE";
   var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
   var link = document.createElement('a');

   var book = getBookName();

   link.href = google.replace(/PAGE/g, book);
   link.appendChild(document.createTextNode("Search this book"));

   var li = document.createElement('li');
   li.id = "google-trick-search";

   li.appendChild(link);
   tb.insertBefore(li, tb.firstChild);
}

$(insertGoogleSearch);

/** Add dismiss button to watchlist-message *************************************
  *
  *  Description: Hide the watchlist message for one week.
  *  Maintainers: [[w:User:Ruud Koot|Ruud Koot]]
  */
 
 function addDismissButton() {
    var watchlistMessage = document.getElementById("watchlist-message");
    if ( watchlistMessage == null ) return;
 
    if ( document.cookie.indexOf( "hidewatchlistmessage=yes" ) != -1 ) {
        watchlistMessage.style.display = "none";
    }
 
    var Button     = document.createElement( "span" );
    var ButtonLink = document.createElement( "a" );
    var ButtonText = document.createTextNode( "dismiss" );
 
    ButtonLink.setAttribute( "id", "dismissButton" );
    ButtonLink.setAttribute( "href", "javascript:dismissWatchlistMessage();" );
    ButtonLink.setAttribute( "title", "Hide this message for one week" );
    ButtonLink.appendChild( ButtonText );
 
    Button.appendChild( document.createTextNode( "[" ) );
    Button.appendChild( ButtonLink );
    Button.appendChild( document.createTextNode( "]" ) );
 
    watchlistMessage.appendChild( Button );
 }
 
 function dismissWatchlistMessage() {
     var e = new Date();
     e.setTime( e.getTime() + (7*24*60*60*1000) );
     document.cookie = "hidewatchlistmessage=yes; expires=" + e.toGMTString() + "; path=/";
     var watchlistMessage = document.getElementById("watchlist-message");
     watchlistMessage.style.display = "none";
 }
 
 addOnloadHook( addDismissButton );


/*
</pre>
*/
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.