Maak jij deze zomer 2025 Het Perfecte WikiKids-kiekje? Iedereen kan meedoen!

MediaWiki:Common.js: verschil tussen versies

Uit Wikikids
Naar navigatie springen Naar zoeken springen
(proberen een crash in IE7 op te lossen, maar geen idee of het hier aan ligt)
 
(83 tussenliggende versies door 5 gebruikers niet weergegeven)
Regel 1: Regel 1:
/* JavaScript die hier wordt geplaatst heeft invloed op alle pagina's voor alle gebruikers
+
/*
 +
* Standaard samenvatting bij Speciaal: Uploaden
 +
*/
 +
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload' ) {
 +
jQuery(function($) {
 +
alert("Deze uploadpagina werkt niet meer, ga naar de pagina Wikikids:Uploaden, om je plaatje te uploaden. ");
 +
uploadDescription = document.getElementById('wpUploadDescription');
 +
var doubleBracket = '{' + '{';
  
<pre>*/
+
uploadDescription.value = 'Je kunt geen plaatje uploaden via deze methode. Ga naar WikiKids:Uploaden, om een plaatje te uploaden!';
 
+
} );
//Als het goed is wordt de scrollbalk nu niet weergegeven, maar word het suggestievakje wat groter...
+
}
os_max_lines_per_suggest = 10;
 
 
 
/**********************************/
 
/* Pas op: Dit is een woordenboek */
 
/*                        script */
 
/* Sumurai8; contact: OP          */
 
/* Maakt 'tooltips' mogelijk      */
 
/* Zie Sjabloon:Wbwoord          */
 
/*    Sjabloon:Wbbetekenis      */
 
/**********************************/
 
  
var Wbq = ""
+
/*
var Wbx = ""
+
* Het script voor de woordenboek sjablonen (Sjabloon:Wbwoord en Sjabloon: Wbbetekenis)
var Wby = ""
+
*/
var Wbz = ""
+
var Wbq = "";
var WbK = "x" //keep it?
+
var Wbx = "";
 +
var Wby = "";
 +
var Wbz = "";
 +
var WbK = "x"; //keep it?
  
 
function enableTips() {
 
function enableTips() {
  for(var counter=1;counter<99;counter++) {
+
for(var counter=1;counter<99;counter++) {
    Wbx = document.getElementById('woordenboek'+counter)
+
Wbx = document.getElementById('woordenboek'+counter);
    Wbq = document.getElementById('woordenboekX'+counter)
+
Wbq = document.getElementById('woordenboekX'+counter);
    if(!Wbx) {
+
if(!Wbx) {
      break;
+
break;
    }
+
}
    Wbq.style.display = "none"
+
Wbq.style.display = "none";
    Wbx.style.display = ""
+
Wbx.style.display = "";
    Wbx.onmouseover = showWbTip
+
Wbx.onmouseover = showWbTip;
    Wbx.onmouseout = hideWbTip
+
Wbx.onmouseout = hideWbTip;
    Wbx.onclick = keepWbTip
+
Wbx.onclick = keepWbTip;
  }
+
}
 
}
 
}
  
addOnloadHook(enableTips)
+
$(enableTips);
  
 
function showWbTip() {
 
function showWbTip() {
  if (WbK == "x") {
+
if (WbK == "x") {
    Wbz = this.id
+
Wbz = this.id;
    Wbz = Wbz.substring(11,Wbz.length)
+
Wbz = Wbz.substring(11,Wbz.length);
    Wby = document.getElementById('wbcontent'+Wbz)
+
Wby = document.getElementById('wbcontent'+Wbz);
    Wby.style.display = ""
+
Wby.style.display = "";
  }
+
}
 
}
 
}
  
 
function hideWbTip() {
 
function hideWbTip() {
  if (WbK == "x") {
+
if (WbK == "x") {
    Wby.style.display = "none"
+
Wby.style.display = "none";
  }
+
}
 
}
 
}
  
 
function keepWbTip() {
 
function keepWbTip() {
  if (WbK == "x") {
+
if (WbK == "x") {
    WbK = "v"
+
WbK = "v";
  }
+
}
  else {
+
else {
    WbK = "x"
+
WbK = "x";
  }
+
}
 
}
 
}
  
// <source lang='javascript'>
+
/*
 +
* Automatisch een icoon weergeven rechtsboven de pagina wanneer deze beveiligd is
 +
*/
 +
jQuery(function($) {
 +
if (mw.config.get('wgPageName') == mw.config.get('wgMainPageTitle')
 +
|| mw.config.get('wgCanonicalNamespace') == "Special"
 +
|| typeof(mw.config.get('wgRestrictionEdit')) == "undefined"
 +
) {
 +
// Hoofdpagina, speciale pagina of niet beschermbaar
 +
return false;
 +
}
 +
if ($('#bodyContent').length === 0) {
 +
// Kan geen tekst vinden
 +
return false;
 +
}
 +
 
 +
// Juiste beveligingssjabloon uitzoeken.
 +
if (mw.config.get('wgRestrictionEdit')[0] != null && mw.config.get('wgRestrictionEdit')[0] == 'sysop') {
 +
// Alleen moderatoren kunnen bewerken
 +
var templateTitle = 'Beveiligd';
 +
var nodeId = 'templ_Beveiligd';
 +
} else if (mw.config.get('wgRestrictionEdit')[0] != null && mw.config.get('wgRestrictionEdit') == 'autoconfirmed') {
 +
// Alleen automatisch bevestigde gebruikers kunnen bewerken.
 +
var templateTitle = 'SemiBeveiligd';
 +
var nodeId = 'templ_SemiBeveiligd';
 +
} else if (mw.config.get('wgRestrictionMove')[0] != null) {
 +
// Het verplaatsen van de pagina is beveiligd.
 +
var templateTitle = 'TitelBeveiligd';
 +
var nodeId = 'templ_TitelBeveiligd';
 +
} else {
 +
// De pagina is niet beveiligd.
 +
return false;
 +
}
 +
 
 +
// Get template from API.
 +
$.getJSON(
 +
mw.util.wikiScript('api'),
 +
{
 +
format: 'json',
 +
action: 'parse',
 +
text: '{{' + encodeURIComponent(templateTitle) + '}}',
 +
contentmodel: 'wikitext'
 +
},
 +
function(obj) {
 +
$('.mw-indicators').before(obj['parse']['text']['*']);
 +
}
 +
);
 +
});
 +
 
 +
/*
 +
* Inklapbare div
 +
*/
 +
var UitklapDivHide = 'Inklappen';
 +
var UitklapDivShow = 'Uitklappen';
 +
 +
// shows and hides content of Uitklap divs
 +
// Parameters:
 +
// indexUitklapDiv: the index of Uitklap div to be toggled
 +
var toggleUitklapDiv = window.toggleUitklapDiv = function(indexUitklapDiv) {
 +
var UitklapToggle = document.getElementById('UitklapToggle' + indexUitklapDiv);
 +
var UitklapFrame = document.getElementById('UitklapFrame' + indexUitklapDiv);
 +
var UitklapChild;
 +
 
 +
if (!UitklapFrame || !UitklapToggle) {
 +
return false;
 +
}
 +
 +
// if shown now
 +
if (UitklapToggle.firstChild.data === UitklapDivHide) {
 +
for (
 +
UitklapChild = UitklapFrame.firstChild;
 +
UitklapChild !== null;
 +
UitklapChild = UitklapChild.nextSibling
 +
) {
 +
if (UitklapChild.className === 'UitklapContent') {
 +
UitklapChild.style.display = 'none';
 +
}
 +
if (UitklapChild.className === 'UitklapToggle') {
 +
UitklapChild.firstChild.data = UitklapDivShow;
 +
}
 +
}
  
function protectionTemplates() {
+
// if hidden now
  if (wgPageName == wgMainPageTitle || wgCanonicalNamespace == "Special" || wgCanonicalNamespace == "File" || typeof(wgRestrictionEdit) == "undefined") {
+
} else if (UitklapToggle.firstChild.data === UitklapDivShow) {
    // The current page is the main page, a special page or new. Nothing to do there!
+
for (
    return false;
+
UitklapChild = UitklapFrame.firstChild;
  }
+
UitklapChild !== null;
 +
UitklapChild = UitklapChild.nextSibling
 +
) {
 +
if (UitklapChild.className === 'UitklapContent') {
 +
UitklapChild.style.display = 'block';
 +
}
 +
if (UitklapChild.className === 'UitklapToggle') {
 +
UitklapChild.firstChild.data = UitklapDivHide;
 +
}
 +
}
 +
}
 +
};
  
  var content = document.getElementById('content');  
+
// adds show/hide-button to navigation bars
  if (content == null || document.getElementsByTagName('h1')[0] == null) {
+
function createUitklapDivToggleButton() {
    // There is no 'content' element and/or no h1 element. So quit.
+
var indexUitklapDiv = 0;
    return false;
+
var i, u, UitklapFrame;
  }
+
// iterate over all < div >-elements
 +
for (i = 0; (UitklapFrame = document.getElementsByTagName('div')[i]); i++) {
 +
// if found a navigation bar
 +
if (UitklapFrame.className === 'UitklapFrame' || UitklapFrame.className === 'UitklapFrameNoClear') {
  
  // Determine template.
+
indexUitklapDiv++;
  if (wgRestrictionEdit[0] != null && wgRestrictionEdit[0] == 'sysop') {
+
var UitklapToggle = document.createElement('a');
    // Editing is limited to sysops.
+
UitklapToggle.className = 'UitklapToggle';
    var templateTitle = 'Beveiligd';
+
UitklapToggle.setAttribute('id', 'UitklapToggle' + indexUitklapDiv);
    var nodeId = 'templ_Beveiligd';
+
$(UitklapToggle).data('mwUitklapFrameIndex', indexUitklapDiv).click(function (e) {
  } else if (wgRestrictionEdit[0] != null && wgRestrictionEdit[0] == 'autoconfirmed') {
+
toggleUitklapDiv($(this).data('mwUitklapFrameIndex'));
    // Editing is limited to autoconfirmed users. Effectief nutteloos op deze wiki, dus geen sjabloon
+
e.preventDefault();
    return false;
+
});
  } else if (wgRestrictionMove[0] != null) {
 
    // Moving the page is limited.
 
    var templateTitle = 'TitelBeveiligd';
 
    var nodeId = 'templ_TitelBeveiligd';
 
  } else {
 
    // The page is not protected.
 
    return false;
 
  }
 
  
  // Get template from API.
+
var UitklapToggleText = document.createTextNode(UitklapDivHide);
  var request = sajax_init_object();
+
UitklapToggle.appendChild(UitklapToggleText);
  request.open('GET', wgServer + wgScriptPath + '/api.php?format=json&action=parse&text={{' + encodeURIComponent(templateTitle) + '}}&title=' + encodeURIComponent(wgPageName), true);
 
  request.onreadystatechange =
 
    function () {
 
      if (request.readyState != 4) return;
 
      if (request.status == 200 && request.responseText && request.responseText.charAt(0) == '{') {
 
        var json = eval ('(' + request.responseText + ')');
 
        if (json.parse.text['*']) {
 
          var divContent = json.parse.text['*'];
 
        }
 
      }
 
  
      if (divContent != null) {
+
// add NavToggle-Button as first div-element
        // We retrieved the template. Add it to the page.
+
// in < div class="UitklapFrame" >
        var divNode = document.createElement('div');
+
UitklapFrame.insertBefore(UitklapToggle, UitklapFrame.firstChild);
        divNode.id = nodeId;
+
UitklapFrame.setAttribute('id', 'UitklapFrame' + indexUitklapDiv);
        divNode.className = 'Titel_item3';
+
}
        divNode.innerHTML = divContent;
+
}
        content.insertBefore(divNode, document.getElementsByTagName('h1')[0]);
+
for (u = 1; u <= indexUitklapDiv; u++) {
      }
+
toggleUitklapDiv(u);
      if( $('#awardtemplate').length ) { $('#protectedtext').hide() }
+
}
    };
 
  request.setRequestHeader ('Pragma', 'cache=yes');
 
  request.setRequestHeader ('Cache-Control', 'no-transform');
 
  request.send (null);
 
 
}
 
}
 
addOnloadHook(protectionTemplates);
 
  
 +
$(createUitklapDivToggleButton);
 +
 +
jQuery(function(){$('#sidebar').append($('#p-tb'))});
 +
 +
/**
 +
  * Collapsible tables
 +
  * Allows tables to be collapsed, showing only the header. See [[:en:Wikipedia:NavFrame]].
 +
  * Maintainers: [[:en:User:R. Koot]]
 +
  */
 +
var autoCollapse = 2;
 +
var collapseCaption = 'verbergen';
 +
var expandCaption = 'weergeven';
 +
 +
function collapseTable(tableIndex) {
 +
var Button = document.getElementById('collapseButton' + tableIndex);
 +
var Table = document.getElementById('collapsibleTable' + tableIndex);
 +
var i;
 +
 +
if (!Table || !Button) {
 +
return false;
 +
}
 +
 +
var Rows = Table.getElementsByTagName('tr');
 +
 +
if (Button.firstChild.data === collapseCaption) {
 +
for (i = 1; i < Rows.length; i++) {
 +
Rows[i].style.display = 'none';
 +
}
 +
Button.firstChild.data = expandCaption;
 +
} else {
 +
for (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 = {};
 +
var Tables = document.getElementsByTagName('table');
 +
var i;
 +
 +
for (i = 0; i < Tables.length; i++) {
 +
if ($(Tables[i]).hasClass('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).data('mwCollapsibleTableIndex', tableIndex).click(function (e) {
 +
collapseTable($(this).data('mwCollapsibleTableIndex'));
 +
e.preventDefault();
 +
});
 +
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 (i = 0;  i < tableIndex; i++) {
 +
if ($(NavigationBoxes[i]).hasClass('collapsed') || (tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( 'autocollapse'))) {
 +
collapseTable(i);
 +
}
 +
}
 +
}
 +
 +
$(createCollapseButtons);
 +
 +
/*
 +
* Automatisch legen van de samenvatting op Speciaal:Verwijderen
 +
*/
 +
function legen_verwijdersamenvatting() {
 +
document.getElementById('wpReason').value = '';
 +
document.getElementById('wpReason').focus();
 +
}
 +
if (mw.config.get('wgAction') === 'delete') {
 +
$(legen_verwijdersamenvatting);
 +
}
 +
 +
/*
 +
* Vervangt de link onderin de pagina naar Speciaal:Categorieën naar PIM-systeem.
 +
*/
 +
 +
function categorieToPIMLink () {
 +
if (document.getElementById('mw-normal-catlinks')) {
 +
var linkscat = document.getElementById('mw-normal-catlinks').getElementsByTagName("a");
 +
linkscat[0].href = '/PIM-systeem';
 +
}
 +
}
 +
 +
$(categorieToPIMLink);
 +
 +
/*
 +
* Vervangt de tekst bij de interwiki voor Wikipedia van 'Nederlands' door 'Wikipedia'
 +
*/
 +
function veranderInterwikiNederlandstaligeWikipedia() {
 +
if (document.querySelector('a[lang="nl"][hreflang="nl"].interlanguage-link-target')) {
 +
document.querySelector('a[lang="nl"][hreflang="nl"].interlanguage-link-target').innerText = "Wikipedia";
 +
}
 +
}
  
//Voeg automatisch beschrijvingsjabloon in op [[Speciaal:Upload]]
+
$(veranderInterwikiNederlandstaligeWikipedia);
addOnloadHook( function() {
 
  $('.uploadTemplate').addClass('opvallend');
 
  if($('#wpDestFile').val() == "") {
 
    $('#wpUploadDescription').val('{{Afbeelding|\n|Wat staat er precies op de afbeelding?=\n|Waar heb je de afbeelding vandaan?=\n|Schrijf de complete link van de vindplaats op=\n|Wie heeft de afbeelding gemaakt?=\n|Heb je toestemming om de afbeelding te uploaden?=\n|Welke licentie?=\n}}');
 
    $('.uploadTemplate').hide();
 
  }
 
  else {
 
    $('div.uploadTemplate>div>div').html('Ga alleen door als je een <b>NIEUWE, ANDERE</b> afbeelding over deze afbeelding heen wil zetten! Als je de beschrijving wil aanpassen <b>GA DAN NIET DOOR</b>, maar <b><a href="$url">BEWERK DAN IN PLAATS DAARVAN DEZE PAGINA</a></b>'.replace("$url", wgScriptPath + "index.php?action=edit&title=" + escape("Bestand:" + $('#wpDestFile').val())));
 
  }
 
} );
 
  
 +
/*
 +
* Zorgt ervoor dat de sitenotice zichtbaar is voor bezoekers, moet elke keer opnieuw aangepast worden als de sitenotice veranderd. (Kan ook geautomatiseerd worden.)
 +
*/
  
//Automatische suggestie voor een al bestaand artikel over dit onderwerp in het enkelvoud
+
function checkSiteNotice() {
addOnloadHook( function() {
+
    var siteNoticeE = document.getElementById('siteNotice');  
  if( $('.mw-newarticletext').length ) {
+
     if (!siteNoticeE.innerText.includes('kiekje')) {
    var titles = [];
+
        siteNoticeE.innerHTML += '<p>Maak jij deze zomer 2025 <b><a href="/Gebruiker:Hanssain/Het_Perfecte_WikiKids-kiekje" title="Gebruiker:Hanssain/Het Perfecte WikiKids-kiekje">Het Perfecte WikiKids-kiekje</a></b>? Iedereen kan meedoen!</p>';
     if( wgTitle.split(" ").length > 1 ) {
 
      return false;
 
 
     }
 
     }
    //Werken -> Werk
+
}
    if( wgTitle.substring( wgTitle.length - 2 ) == "en" ) {
+
 
      titles.push( wgTitle.substring( 0, wgTitle.length - 2 ) );
+
$(checkSiteNotice);
    }
+
 
    //Musicals -> Musical
+
 
    if( wgTitle.substring( wgTitle.length - 1 ) == "s" ) {
+
/*
      titles.push( wgTitle.substring( 0, wgTitle.length - 1 ) );
+
* Gemodificeerd editcount script op Gebruiker:Apoo/Editcount
    }
+
*/
    //Fora -> Forum
+
mw.loader.load('https://wikikids.nl/index.php?title=User:Apoo/EditCount.js&action=raw&ctype=text/javascript');
    if( wgTitle.substring( wgTitle.length - 1 ) == "a" ) {
 
      titles.push( wgTitle.substring( 0, wgTitle.length - 1 ) + "um" );
 
    }
 
    //Technici -> Technicus
 
    if( wgTitle.substring( wgTitle.length - 1 ) == "i" ) {
 
      titles.push( wgTitle.substring( 0, wgTitle.length - 1 ) + "us" );
 
    }
 
    if( titles.length ) {
 
      $('.mw-newarticletext').append( $('<div></div>').addClass("mw-articleAlert") );
 
      $.get("http://wikikids.wiki.kennisnet.nl/api.php?action=query&prop=info&inprop=url&format=json&titles="+titles.join("|"), function( data ) {
 
        for(page in data['query']['pages']) {
 
          if( data['query']['pages'][page]['missing'] != "" && data['query']['pages'][page]['redirect'] != "" ) {
 
            $('.mw-articleAlert').html('<b>Let op:</b> Er bestaat mogelijk al een artikel over dit onderwerp onder de naam <i><a href="'+data['query']['pages'][page]['fullurl']+'">'+data['query']['pages'][page]['title']+'</a></i>. Door dit te controleren doe je geen werk voor niets!').addClass("errorbox");
 
          }
 
        }
 
      } );
 
    }
 
  }
 
} );
 
  
 +
/*
 +
* Langere toevoegingen die beter op een andere pagina kunnen staan; zoals TVB en de handtekening in de boomhut.
 +
*/
 +
mw.loader.load('https://wikikids.nl/index.php?title=Gebruiker:Rots61/JS-TVB.js&action=raw&ctype=text/javascript');
 +
mw.loader.load('https://wikikids.nl/index.php?title=Gebruiker:Rots61/JS-HandtekeninginBoomhut.js&action=raw&ctype=text/javascript');
  
//[Bugfix] Prepend de volledige url als de titel begint met een / en de relatieve url dus faalt
+
/*
addOnloadHook( function() {
+
* Script waardoor de bezoekers gelogd worden; [[Gebruiker:Rots61/JS-Statistieken.js]].
  if( wgPageName[0] == "/" ) {
+
*
    $('#editform').attr('action', '?action=submit');
+
* Voegt een speciale pagina toe waardoor de statistieken inzichtelijk worden gemaakt. [[Gebruiker:Rots61/JS-WikiStats.js]].
    $('a[href^="/' + wgPageName + '"]').attr('href', function(i, oldval) { return '//wikikids.wiki.kennisnet.nl' + oldval } );
+
*/
  }
 
} );
 
  
/*</pre>*/
+
if (mw.config.get('wgUserEditCount') >= 5 || mw.storage.get('disableLoggingWS')) {//Alleen voor gebruikers met bijdragen
 +
mw.loader.load('//wikikids.nl/index.php?title=Gebruiker:Rots61/JS-WikiStats.js&action=raw&ctype=text/javascript');
 +
} else {
 +
mw.loader.load('//wikikids.nl/index.php?title=Gebruiker:Rots61/JS-Statistieken.js&action=raw&ctype=text/javascript');
 +
}

Huidige versie van 7 jul 2025 om 19:56

/*
 * Standaard samenvatting bij Speciaal: Uploaden
 */
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload' ) {
	jQuery(function($) {
		alert("Deze uploadpagina werkt niet meer, ga naar de pagina Wikikids:Uploaden, om je plaatje te uploaden. ");
		uploadDescription = document.getElementById('wpUploadDescription');
		var doubleBracket = '{' + '{';

		uploadDescription.value = 'Je kunt geen plaatje uploaden via deze methode. Ga naar WikiKids:Uploaden, om een plaatje te uploaden!';
	} );
}

/*
 * Het script voor de woordenboek sjablonen (Sjabloon:Wbwoord en Sjabloon: Wbbetekenis)
 */
var Wbq = "";
var Wbx = "";
var Wby = "";
var Wbz = "";
var WbK = "x"; //keep it?

function enableTips() {
	for(var counter=1;counter<99;counter++) {
		Wbx = document.getElementById('woordenboek'+counter);
		Wbq = document.getElementById('woordenboekX'+counter);
	if(!Wbx) {
		break;
	}
	Wbq.style.display = "none";
	Wbx.style.display = "";
	Wbx.onmouseover = showWbTip;
	Wbx.onmouseout = hideWbTip;
	Wbx.onclick = keepWbTip;
	}
}

$(enableTips);

function showWbTip() {
	if (WbK == "x") {
		Wbz = this.id;
		Wbz = Wbz.substring(11,Wbz.length);
		Wby = document.getElementById('wbcontent'+Wbz);
		Wby.style.display = "";
	}
}

function hideWbTip() {
	if (WbK == "x") {
		Wby.style.display = "none";
	}
}

function keepWbTip() {
	if (WbK == "x") {
		WbK = "v";
	}
	else {
		WbK = "x";
	}
}

/*
 * Automatisch een icoon weergeven rechtsboven de pagina wanneer deze beveiligd is
 */
jQuery(function($) {
	if (mw.config.get('wgPageName') == mw.config.get('wgMainPageTitle') 
		|| mw.config.get('wgCanonicalNamespace') == "Special" 
		|| typeof(mw.config.get('wgRestrictionEdit')) == "undefined"
	) {
		// Hoofdpagina, speciale pagina of niet beschermbaar
		return false;
	}
	if ($('#bodyContent').length === 0) {
		// Kan geen tekst vinden
		return false;
	}

	// Juiste beveligingssjabloon uitzoeken.
	if (mw.config.get('wgRestrictionEdit')[0] != null && mw.config.get('wgRestrictionEdit')[0] == 'sysop') {
		// Alleen moderatoren kunnen bewerken
		var templateTitle = 'Beveiligd';
		var nodeId = 'templ_Beveiligd';
	} else if (mw.config.get('wgRestrictionEdit')[0] != null && mw.config.get('wgRestrictionEdit') == 'autoconfirmed') {
		// Alleen automatisch bevestigde gebruikers kunnen bewerken.
		var templateTitle = 'SemiBeveiligd';
		var nodeId = 'templ_SemiBeveiligd';
	} else if (mw.config.get('wgRestrictionMove')[0] != null) {
		// Het verplaatsen van de pagina is beveiligd.
		var templateTitle = 'TitelBeveiligd';
		var nodeId = 'templ_TitelBeveiligd';
	} else {
		// De pagina is niet beveiligd.
		return false;
	}

	// Get template from API.
	$.getJSON(
	mw.util.wikiScript('api'), 
	{
		format: 'json',
		action: 'parse',
		text: '{{' + encodeURIComponent(templateTitle) + '}}',
		contentmodel: 'wikitext'
	},
	function(obj) {
		$('.mw-indicators').before(obj['parse']['text']['*']);
	}
	);
});

/*
 * Inklapbare div
 */
var UitklapDivHide = 'Inklappen';
var UitklapDivShow = 'Uitklappen';
 
// shows and hides content of Uitklap divs
// Parameters:
// indexUitklapDiv: the index of Uitklap div to be toggled
var toggleUitklapDiv = window.toggleUitklapDiv = function(indexUitklapDiv) {
	var UitklapToggle = document.getElementById('UitklapToggle' + indexUitklapDiv);
	var UitklapFrame = document.getElementById('UitklapFrame' + indexUitklapDiv);
	var UitklapChild;

	if (!UitklapFrame || !UitklapToggle) {
		return false;
	}
 
	// if shown now
	if (UitklapToggle.firstChild.data === UitklapDivHide) {
		for (
			UitklapChild = UitklapFrame.firstChild;
			UitklapChild !== null;
			UitklapChild = UitklapChild.nextSibling
		) {
			if (UitklapChild.className === 'UitklapContent') {
				UitklapChild.style.display = 'none';
			}
			if (UitklapChild.className === 'UitklapToggle') {
				UitklapChild.firstChild.data = UitklapDivShow;
			}
		}

	// if hidden now
	} else if (UitklapToggle.firstChild.data === UitklapDivShow) {
		for (
			UitklapChild = UitklapFrame.firstChild;
			UitklapChild !== null;
			UitklapChild = UitklapChild.nextSibling
		) {
			if (UitklapChild.className === 'UitklapContent') {
				UitklapChild.style.display = 'block';
			}
			if (UitklapChild.className === 'UitklapToggle') {
				UitklapChild.firstChild.data = UitklapDivHide;
			}
		}
	}
};

// adds show/hide-button to navigation bars
function createUitklapDivToggleButton() {
	var indexUitklapDiv = 0;
	var i, u, UitklapFrame;
	// iterate over all < div >-elements
	for (i = 0; (UitklapFrame = document.getElementsByTagName('div')[i]); i++) {
		// if found a navigation bar
		if (UitklapFrame.className === 'UitklapFrame' || UitklapFrame.className === 'UitklapFrameNoClear') {

			indexUitklapDiv++;
			var UitklapToggle = document.createElement('a');
			UitklapToggle.className = 'UitklapToggle';
			UitklapToggle.setAttribute('id', 'UitklapToggle' + indexUitklapDiv);
			$(UitklapToggle).data('mwUitklapFrameIndex', indexUitklapDiv).click(function (e) {
				toggleUitklapDiv($(this).data('mwUitklapFrameIndex'));
				e.preventDefault();
			});

			var UitklapToggleText = document.createTextNode(UitklapDivHide);
			UitklapToggle.appendChild(UitklapToggleText);

			// add NavToggle-Button as first div-element
			// in < div class="UitklapFrame" >
			UitklapFrame.insertBefore(UitklapToggle, UitklapFrame.firstChild);
			UitklapFrame.setAttribute('id', 'UitklapFrame' + indexUitklapDiv);
		}
	}
	for (u = 1; u <= indexUitklapDiv; u++) {
		toggleUitklapDiv(u);
	}
}

$(createUitklapDivToggleButton);
	
jQuery(function(){$('#sidebar').append($('#p-tb'))});

/**
  * Collapsible tables
  * Allows tables to be collapsed, showing only the header. See [[:en:Wikipedia:NavFrame]].
  * Maintainers: [[:en:User:R. Koot]]
  */
var autoCollapse = 2;
var collapseCaption = 'verbergen';
var expandCaption = 'weergeven';

function collapseTable(tableIndex) {
	var Button = document.getElementById('collapseButton' + tableIndex);
	var Table = document.getElementById('collapsibleTable' + tableIndex);
	var i;

	if (!Table || !Button) {
		return false;
	}

	var Rows = Table.getElementsByTagName('tr');

	if (Button.firstChild.data === collapseCaption) {
		for (i = 1; i < Rows.length; i++) {
			Rows[i].style.display = 'none';
		}
		Button.firstChild.data = expandCaption;
	} else {
		for (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 = {};
	var Tables = document.getElementsByTagName('table');
	var i;

	for (i = 0; i < Tables.length; i++) {
		if ($(Tables[i]).hasClass('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).data('mwCollapsibleTableIndex', tableIndex).click(function (e) {
				collapseTable($(this).data('mwCollapsibleTableIndex'));
					e.preventDefault();
			});
			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 (i = 0;  i < tableIndex; i++) {
		if ($(NavigationBoxes[i]).hasClass('collapsed') || (tableIndex >= autoCollapse && $(NavigationBoxes[i]).hasClass( 'autocollapse'))) {
			collapseTable(i);
		}
	}
}

$(createCollapseButtons);

/*
 * Automatisch legen van de samenvatting op Speciaal:Verwijderen
 */
function legen_verwijdersamenvatting() {
	document.getElementById('wpReason').value = '';
	document.getElementById('wpReason').focus();
} 
if (mw.config.get('wgAction') === 'delete') {
	$(legen_verwijdersamenvatting);
}

/* 
 * Vervangt de link onderin de pagina naar Speciaal:Categorieën naar PIM-systeem. 
 */

function categorieToPIMLink () {
	if (document.getElementById('mw-normal-catlinks')) {
		var linkscat = document.getElementById('mw-normal-catlinks').getElementsByTagName("a");
		linkscat[0].href = '/PIM-systeem';
	}
}

$(categorieToPIMLink);

/*
 * Vervangt de tekst bij de interwiki voor Wikipedia van 'Nederlands' door 'Wikipedia' 
 */
function veranderInterwikiNederlandstaligeWikipedia() {
	if (document.querySelector('a[lang="nl"][hreflang="nl"].interlanguage-link-target')) {
		document.querySelector('a[lang="nl"][hreflang="nl"].interlanguage-link-target').innerText = "Wikipedia";
	}
}

$(veranderInterwikiNederlandstaligeWikipedia);

/*
 * Zorgt ervoor dat de sitenotice zichtbaar is voor bezoekers, moet elke keer opnieuw aangepast worden als de sitenotice veranderd. (Kan ook geautomatiseerd worden.)
 */

function checkSiteNotice() {
    var siteNoticeE = document.getElementById('siteNotice'); 
    if (!siteNoticeE.innerText.includes('kiekje')) {
        siteNoticeE.innerHTML += '<p>Maak jij deze zomer 2025 <b><a href="/Gebruiker:Hanssain/Het_Perfecte_WikiKids-kiekje" title="Gebruiker:Hanssain/Het Perfecte WikiKids-kiekje">Het Perfecte WikiKids-kiekje</a></b>? Iedereen kan meedoen!</p>';
    }
}

$(checkSiteNotice);


/*
 * Gemodificeerd editcount script op Gebruiker:Apoo/Editcount
 */
mw.loader.load('https://wikikids.nl/index.php?title=User:Apoo/EditCount.js&action=raw&ctype=text/javascript');

/*
 * Langere toevoegingen die beter op een andere pagina kunnen staan; zoals TVB en de handtekening in de boomhut. 
 */
mw.loader.load('https://wikikids.nl/index.php?title=Gebruiker:Rots61/JS-TVB.js&action=raw&ctype=text/javascript');
mw.loader.load('https://wikikids.nl/index.php?title=Gebruiker:Rots61/JS-HandtekeninginBoomhut.js&action=raw&ctype=text/javascript');

/*
 * Script waardoor de bezoekers gelogd worden; [[Gebruiker:Rots61/JS-Statistieken.js]].
 *
 * Voegt een speciale pagina toe waardoor de statistieken inzichtelijk worden gemaakt. [[Gebruiker:Rots61/JS-WikiStats.js]].
 */

if (mw.config.get('wgUserEditCount') >= 5 || mw.storage.get('disableLoggingWS')) {//Alleen voor gebruikers met bijdragen
	mw.loader.load('//wikikids.nl/index.php?title=Gebruiker:Rots61/JS-WikiStats.js&action=raw&ctype=text/javascript');
} else {
	mw.loader.load('//wikikids.nl/index.php?title=Gebruiker:Rots61/JS-Statistieken.js&action=raw&ctype=text/javascript');
}
Afkomstig van Wikikids , de interactieve Nederlandstalige Internet-encyclopedie voor en door kinderen. "https://wikikids.nl/index.php?title=MediaWiki:Common.js&oldid=952502"