MediaWiki:Common.js bak

Scoutpedia.nl, dé Scouting wiki
Versie door Egel (overleg | bijdragen) op 8 apr 2009 om 21:36
Ga naar:navigatie, zoeken

Opmerking: nadat u de wijzigingen hebt gepubliceerd is het wellicht nodig uw browsercache te legen.

  • Firefox / Safari: houd Shift ingedrukt terwijl u op Vernieuwen klikt of druk op Ctrl-F5 of Ctrl-R (⌘-Shift-R op een Mac)
  • Google Chrome: druk op Ctrl-Shift-R (⌘-Shift-R op een Mac)
  • Internet Explorer / Edge: houd Ctrl ingedrukt terwijl u op Vernieuwen klikt of druk op Ctrl-F5
  • Opera: druk op Ctrl-F5.
/* JavaScript hier zal invloed hebben op elke pagina voor elke gebruiker. */

/*
== Extra knopje in de toolbar ==
<pre>
*/
 
 if (mwCustomEditButtons) { 
   mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png",
     "speedTip": "Voeg tabel in",
     "tagOpen": '{| class="prettytable"\n|-\n',
     "tagClose": "\n|}",
     "sampleText": "! kop 1\n! kop 2\n! kop 3\n|-\n| rij 1, cel 1\n| rij 1, cel 2\n| rij 1, cel 3\n|-\n| rij 2, cel 1\n| rij 2, cel 2\n| rij 2, cel 3"};
 }
 
/*
</pre>
== NavFrame ==
Van [[:en:MediaWiki:Common.js]]
Test if an element has a certain class
Description: Uses regular expressions and caching for better performance.
Maintainers: [[:en:User:Mike Dillon]], [[:en:User:R. Koot]], [[:en:User:SG]]
<pre>
*/
 
 var hasClass = (function () {
     var reCache = {};
     return function (element, className) {
         return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
     };
 })();

/* </pre>
Collapsible tables
Description: Allows tables to be collapsed, showing only the header. See [[:en:Wikipedia:NavFrame]].
Maintainers: [[:en:User:R. Koot]]
<pre>
*/
 var autoCollapse = 2;
 var collapseCaption = "verberg";
 var expandCaption = "toon";
 
 function collapseTable( tableIndex )
 {
     var Button = document.getElementById( "collapseButton" + tableIndex );
     var Table = document.getElementById( "collapsibleTable" + tableIndex );
 
     if ( !Table || !Button ) {
         return false;
     }
 
     var Rows = Table.getElementsByTagName( "tr" ); 
 
     if ( Button.firstChild.data == collapseCaption ) {
         for ( var i = 1; i < Rows.length; i++ ) {
             Rows[i].style.display = "none";
         }
         Button.firstChild.data = expandCaption;
     } else {
         for ( var i = 1; i < Rows.length; i++ ) {
             Rows[i].style.display = Rows[0].style.display;
         }
         Button.firstChild.data = collapseCaption;
     }
 }
 
 function createCollapseButtons()
 {
     var tableIndex = 0;
     var NavigationBoxes = new Object();
     var Tables = document.getElementsByTagName( "table" );
 
     for ( var i = 0; i < Tables.length; i++ ) {
         if ( hasClass( Tables[i], "collapsible" ) ) {
             NavigationBoxes[ tableIndex ] = Tables[i];
             Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
 
             var Button     = document.createElement( "span" );
             var ButtonLink = document.createElement( "a" );
             var ButtonText = document.createTextNode( collapseCaption );
 
             Button.style.styleFloat = "right";
             Button.style.cssFloat = "right";
             Button.style.fontWeight = "normal";
             Button.style.textAlign = "right";
             Button.style.width = "6em";
 
             ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
             ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
             ButtonLink.appendChild( ButtonText );
 
             Button.appendChild( document.createTextNode( "[" ) );
             Button.appendChild( ButtonLink );
             Button.appendChild( document.createTextNode( "]" ) );
 
             var Header = Tables[i].getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0];
             /* only add button and increment count if there is a header row to work with */
             if (Header) {
                 Header.insertBefore( Button, Header.childNodes[0] );
                 tableIndex++;
             }
         }
     }
 
     for ( var i = 0;  i < tableIndex; i++ ) {
         if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
             collapseTable( i );
         }
     }
 }
 
 addOnloadHook( createCollapseButtons );

/*
</pre>
==Numerieke sortering in sortable-tabellen==
Aangepaste functie voor het parseren van getallen in numerieke kolommen van tabellen met
class="sortable". Deze zorgt ervoor dat getallen in de Nederlandse notatie (punten voor de
duizendtallen, komma's voor de decimalen) juist worden gesorteerd.

<pre>
*/

function ts_parseFloat(num) {
	if (!num) return 0;
	num = parseFloat(num.replace(/\./g, "").replace(/,/, "."));
	return (isNaN(num) ? 0 : num);
}
/* </pre> */

/*
</pre>
== begin SpecialSearchEnhanced ==
Dit voegt twee externe zoekmachines toe aan Speciaal:Search
Het is een bewerking van fr:MediaWiki:Monobook.js
en en:MediaWiki:Common.js
wat gemaakt is door fr:User:Dake en de auteurs van
en:MediaWiki:Common.js onder de licentie GFDL
Deze functie is aangepast aan MWSearch.
<pre>
*/
if (wgCanonicalSpecialPageName == "Search") {
        addOnloadHook(SpecialSearchEnhanced);
}
 
function SpecialSearchEnhanced() 
{
    if (document.forms['powersearch'])
    var searchForm = document.forms['powersearch'];
    if (document.forms['search'])
    var searchForm = document.forms['search'];
    if (searchForm.lsearchbox) {
        var searchBox = searchForm.lsearchbox;
    } else {
        var searchBox = searchForm.search;
    }
 
    var searchValue = searchBox.value
    var safeSearchValue = searchValue.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
 
    var node = document.createElement('div');
 
    var SearchEnhancedText = '<p/><br/>Je kunt ook met onderstaande externe zoekmachines zoeken in Scoutpedia.nl. Deze kunnen resultaten opleveren die met de interne zoekmachine niet gevonden worden. Bij Google kunt je ook ScoutWiki's in andere talen selecteren.';
 
    var googleSearch =  '<p/><table width=100%><tr valign=top><td align=left>';
        googleSearch += '<form method=get action="http://www.google.nl/search">';
        googleSearch += '<input type=text name=q value="' + safeSearchValue + '">';
        googleSearch += '<input type=hidden name=hl value=nl>';
        googleSearch += '&#32;<select name=sitesearch>';
        googleSearch += '<option value="nl.scoutwiki.org"> Nederlands </option>';
        googleSearch += '<option value="en.scoutwiki.org"> Engels </option>';
        googleSearch += '<option value="de.scoutwiki.org"> Duits </option>';
        googleSearch += '<option value="fr.scoutwiki.org"> Frans </option>';
        googleSearch += '<option value="es.scoutwiki.org"> Spaans </option>';
        googleSearch += '<option value="pt.scoutwiki.org"> Portugees </option>';
        googleSearch += '<option value="it.scoutwiki.org"> Italiaans </option>';
        googleSearch += '<option value="sv.scoutwiki.org"> Zweeds </option>';
        googleSearch += '<option value="da.scoutwiki.org"> Deens </option>';
        googleSearch += '<option value="fi.scoutwiki.org"> Fins </option>';
        googleSearch += '<option value="eo.scoutwiki.org"> Esperanto </option>';
        googleSearch += '</select>&#32;<input type=submit value="Zoek met Google">';
        googleSearch += '</form></td>';
 
    var wikiwixSearch =  '<td>&nbsp;</td><td align=right></td>';
 
    var yahooSearch =  '<td>&nbsp;</td><td align=right>';
        yahooSearch += '<form method=get action="http://nl.search.yahoo.com/search">';
        yahooSearch += '<input type=text name=p value="' + safeSearchValue + '">';
        yahooSearch += '<input type=hidden name=vs value=nl.scoutwiki.org>';
        yahooSearch += '&#32;<input type=submit value="Zoek met Yahoo">';
        yahooSearch += '</form></td></tr></table><br/>';
 
    node.innerHTML = node.innerHTML + SearchEnhancedText + googleSearch + wikiwixSearch + yahooSearch;
 
    var nonefound = document.getElementById("nonefound")
    if (nonefound) {      
        nonefound.innerHTML = nonefound.innerHTML + '<div>' + node.innerHTML + '</div>';
 
    } else {     
        searchForm.parentNode.insertBefore(node, searchForm.nextSibling);
    }
}
 
/*
 *   10 regels in plaats van 7 bij suggestiefunctie bij zoekvak.
 *   Dit voorkomt het tonen van een scrollbalk.
 */
os_max_lines_per_suggest = 10;
Cookies helpen ons onze services aan te bieden. Door onze services te gebruiken stemt u in met het gebruik van onze cookies.