MediaWiki:Common.js

Uit Wikikids
Naar navigatie springen Naar zoeken springen

Let op! Nadat je de veranderingen hebt opgeslagen, moet je de cache van je browser nog legen om ze daadwerkelijk te zien.

Mozilla (incl. Firefox) ctrl-shift-r
IE ctrl-f5
Opera f5
Safari cmd-r
Konqueror f5
/*
 * 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);
}


/* 
 * Maakt portaalbanners even groot als de pagina zelf is. Wordt gebruikt met het sjabloon Portaalafbeelding. 
 */
function fixWidthPortaalAfbeelding () {
	if (document.getElementsByClassName('portaalafbeelding').length) {
		var bodyContentWidth = document.getElementById('bodyContent').offsetWidth;
		for (var x = 0; x < document.getElementsByClassName('portaalafbeelding').length; x++) {
			var portaalafbeelding = document.getElementsByClassName('portaalafbeelding')[x].getElementsByTagName('img')[0];
			portaalafbeelding.height = bodyContentWidth/portaalafbeelding.width*portaalafbeelding.height;
			portaalafbeelding.width = bodyContentWidth; 
		}
	}
}

$(fixWidthPortaalAfbeelding);

/* 
 * 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);

/*
 * 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');

/*
 * Switch waardoor scripts niet uitgevoerd worden, dit voor de veiligheid. - [[User:Rots61]] 
 */
if (mw.util.getParamValue('NIETLADEN') ) {
	alert("De scripts worden niet geladen, debuggen is nu mogelijk.");
} else { 
	
	/*
	 * 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('disableLoggingLC') || 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=793397"