Ero sivun ”Järjestelmäviesti:Common.js” versioiden välillä

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
Ei muokkausyhteenvetoa
(argument params updated)
 
(18 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
/* Tämän sivun koodi liitetään jokaiseen sivulataukseen */
/**
 
* Collapsible tables
/* Any JavaScript here will be loaded for all users on every page load. */
*
 
* Allows tables to be collapsed, showing only the header. See [[Wikipedia:NavFrame]].
 
* @maintainer [[User:R. Koot]] (on Wikipedia)
function addLoadEvent(func)  
*/
{
  if (window.addEventListener)  
var autoCollapse = 2;
    window.addEventListener("load", func, false);
var collapseCaption = 'hide';
  else if (window.attachEvent)  
var expandCaption = 'show';
    window.attachEvent("onload", func);
function hasClass( element, className ) {
var Classes = element.className.split( " " );
for ( var i = 0; i < Classes.length; i++ ) {
if ( Classes[i] == className ) {
return true;
}
}
return false;
}
function rndm() {
var random = Math.floor(Math.random() * 10000) + 1;
if (random < 10) return "000" + random;
else if (random < 100) return "00" + random;
else if (random < 1000) return "0" + random;
else return "" + random;
}
}


// ============================================================
function collapseTable( tableIndex ) {
// BEGIN Dynamic Navigation Bars (experimantal)
var i;
var Button = document.getElementById( 'collapseButton' + tableIndex );
var Table = document.getElementById( 'collapsibleTable' + tableIndex );
   
   
// set up the words in your language
if ( !Table || !Button ) {
var NavigationBarHide = '[ Hide ]';
return false;
var NavigationBarShow = '[ Show ]';
}
   
   
// set up max count of Navigation Bars on page,
var Rows = Table.getElementsByTagName( 'tr' );
// 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;
   
   
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;
}
}
   
   
// shows and hides content and picture (if available) of navigation bars
function createCollapseButtons() {
// Parameters:
var i;
//    indexNavigationBar: the index of navigation bar to be toggled
var tableIndex = 0;
function toggleNavigationBar(indexNavigationBar)
var NavigationBoxes = {};
{
var Tables = document.getElementsByTagName( 'table' );
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
    var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
   
   
    if (!NavFrame || !NavToggle) {
for ( i = 0; i < Tables.length; i++ ) {
        return false;
if ( hasClass( Tables[i], 'collapsible' ) ) {
    }
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( 'id', 'collapsibleTable' + tableIndex );
   
   
    // if shown now
var Button = document.createElement( 'span' );
    if (NavToggle.firstChild.data == NavigationBarHide) {
var ButtonLink = document.createElement( 'a' );
        for (
var ButtonText = document.createTextNode( collapseCaption );
                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
Button.style.styleFloat = 'right';
    } else if (NavToggle.firstChild.data == NavigationBarShow) {
Button.style.cssFloat = 'right';
        for (
Button.style.fontWeight = 'normal';
                var NavChild = NavFrame.firstChild;
Button.style.textAlign = 'right';
                NavChild != null;
Button.style.width = '6em';
                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
ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );
function createNavigationBarToggleButton()
ButtonLink.setAttribute( 'href', 'javascript:collapseTable(' + tableIndex + ');' );
{
ButtonLink.appendChild( ButtonText );
    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++;
Button.appendChild( document.createTextNode( '[' ) );
            var NavToggle = document.createElement("a");
Button.appendChild( ButtonLink );
            NavToggle.className = 'NavToggle';
Button.appendChild( document.createTextNode( ']' ) );
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
           
            var NavToggleText = document.createTextNode(NavigationBarShow); //This has been changed from 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);
        }
    }
   
   
}
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++;
}
}
}
   
   
addLoadEvent(createNavigationBarToggleButton);
for ( i = 0; i < tableIndex; i++ ) {
if ( hasClass( NavigationBoxes[i], 'collapsed' ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], 'autocollapse' ) ) ) {
collapseTable( i );
}
}
}
   
   
// END Dynamic Navigation Bars
$( createCollapseButtons );
// ============================================================
 
var customizeToolbar = function () {


$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"strikethrough": {
label: 'Yliviivaus',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/3/30/Btn_toolbar_rayer.png',
action: {
type: 'encapsulate',
options: {
pre: "<s>",
post: "</s>"
}
}
}
}
});


/**
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
*
section: 'advanced',
* Generate an array using Mediawiki syntax
group: 'format',
*
tools: {
* @author: fr:user:dake
"hline": {
* Editor: juha villman
label: 'Poikkiviiva',
* @version: 0.1
type: 'button',
*/
icon: '//bits.wikimedia.org/skins-1.5/common/images/button_hr.png',
action: {
function generateTableau(nbCol, nbRow, border, styleHeader)
type: 'encapsulate',  
{
options: {
var code = "\n";
pre: "----",
if (styleHeader==1) {
ownline: true
code += '{|'+'{'+'{prettytable}}\n';
}
} else {
}
code += '{| border="' + border + '"\n';
}
code += '|+ Table topic\n';
}
}
});
 
for (var i=0; i<nbCol; i++) code += '! Column title ' + i + '\n';
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
section: 'advanced',
for (var j=0; j<nbRow; j++) {
group: 'format',
if ((j+1)%2==0) {
tools: {
code += '|-----\n';
"underline": {
} else {
label: 'Lisää ratkaisulinkki keskusteluun',
code += '|-----\n';
type: 'button',
icon: '//en.opasnet.org/en-opwiki/images/7/76/Reslink.png',
action: {
type: 'encapsulate',
options: {
pre: "{{reslink|",
peri: "Lisää keskustelun tunniste",
post: "}}"
}
}
}
}
});
 
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"center": {
label: 'Lisää keskustelu',
type: 'button',
icon: '//en.opasnet.org/en-opwiki/images/8/82/Discussion.png',
action: {
type: 'encapsulate',
options: {
pre: "{{discussion|id=disc" + rndm() + "|type=|Statements=",
peri: "Lisää väitteet tähän ja sen jälkeen muut parametrit",
post: "|Resolution=|title=|Resolved=|Argumentation= }}"
}
}
}
}
});
 
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
section: 'advanced',
group: 'format',
tools: {
"attack": {
label: 'Hyökkää',
type: 'button',
icon: '//en.opasnet.org/en-opwiki/images/0/00/Attack.png',
action: {
type: 'encapsulate',
options: {
pre: "{{argument|relat1=attack|id=arg" + rndm() + "|type=|content=",
peri: "Lisää hyökkäävä argumenttisi tähän",
post: "|sign=--~~"+"~~}}"
}
}
}
}
}
});
for (var i=0; i<nbCol; i++) code += '| element\n';
}
code += '|}';
insertTags('','', code);
}


/**
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
*
section: 'advanced',  
* Open a popup with parameters to generate an array.
group: 'format',  
* The number of rows/columns can be modified.
tools: {
*
"defend": {
* @author: fr:user:dake
label: 'Puolusta',
* editor: juha villman
type: 'button',  
* @version: 0.1
icon: '//en.opasnet.org/en-opwiki/images/0/0a/Defend.png',  
*/
action: {
type: 'encapsulate',
function popupTableau()
options: {
{
pre: "{{argument|relat1=defense|id=arg" + rndm() + "|type=|content=",
  var popup = window.open('','name','height=270,width=250');
peri: "Lisää puolustava argumenttisi tähän",
 
post: "|sign=--~~"+"~~}}"  
  javaCode =  '<script type="text\/javascript">function insertCode(){';
}
  javaCode += 'var row = parseInt(document.paramForm.inputRow.value); ';
}
  javaCode += 'var col = parseInt(document.paramForm.inputCol.value); ';
}
  javaCode += 'var bord = parseInt(document.paramForm.inputBorder.value); ';
}
  javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; ';
});
  javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader); ';
  javaCode += '}<\/script>';
 
  popup.document.write('<html><head><title>Table generator</title>');
  popup.document.write('<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>');
  popup.document.write('<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>');
  popup.document.write(javaCode);
  popup.document.write('</head><body background="http://heande.pyrkilo.fi/heande/skins/monobook/headbg.jpg">');
  popup.document.write('<p><B><center>Table parameters</center> </B> </p>');
  popup.document.write('<form name="paramForm">');
  popup.document.write('<table><tr><td>Number of rows : <td><input type="text" name="inputRow" value="3" size="4"><p>');
  popup.document.write('</tr><tr><td>Number of columns : <td><input type="text" name="inputCol" value="3" size="4"><p>');
  popup.document.write('</tr><tr><td>Size of border : <td><input type="text" name="inputBorder" value="1" size="4"><p>');
  popup.document.write('</tr><tr><td>Use PrettyTable-style : <td><input type="checkbox" name="inputHeader" checked="1" size="4"><p>');
  popup.document.write('</tr></table></form">');
  popup.document.write('<p><a href="javascript:insertCode()"> Insert table code!</a></p>');
  popup.document.write('<p><a href="javascript:self.close()"> Close</a></p>');
  popup.document.write('</body></html>');
  popup.document.close();
}


//============================================================
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
// Additional button for edit-toolbar
section: 'advanced',
//============================================================
group: 'format',
tools: {
"comment": {
label: 'Kommentti',
type: 'button',
icon: '//en.opasnet.org/en-opwiki/images/d/db/Comment.png',
action: {
type: 'encapsulate',
options: {
pre: "{{argument|relat1=comment|id=arg" + rndm() + "|type=|content=",
peri: "Lisää kommenttisi tähän",
post: "|sign=--~~"+"~~}}"
}
}
}
}
});


//Remplit la variable mwCustomEditButtons (voir /skins-1.5/commons/wikibits.js) pour ajouter des boutons à la barre d'outils
function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText)
{
mwCustomEditButtons[mwCustomEditButtons.length] =
{"imageFile": imageFile,
  "speedTip": speedTip,
  "tagOpen": tagOpen,
  "tagClose": tagClose,
  "sampleText": sampleText};
}
}
addCustomButton('http://www.pyrkilo.fi/pictures/keskustelu.png','Lisää uusi keskustelu',"{{keskustelu\n|Kiista=","\n|Lopputulos= keskustelun alla (muokataan lopputuloksen löytyessä)\n|Väittely =\nLisää tähän väittelyyn liittyvää argumentaatiota käyttäen yläreunasta löytyviä vastusta-, puolusta- ja kommentti -kuvakkeita\n}"+"}",'Kirjoita tähän kiistan aihe');
addCustomButton('http://www.pyrkilo.fi/pictures/attack.png','Vastusta väitettä',"{{vastusta|#: |","|--~~"+"~~}"+"}",'Kirjoita tähän vastustava kommenttisi');
addCustomButton('http://www.pyrkilo.fi/pictures/defend.png','Puolusta väitettä',"{{puolusta|#: |","|--~~"+"~~}"+"}",'Kirjoita tähän puolustava kommenttisi');
addCustomButton('http://www.pyrkilo.fi/pictures/comment.png','Lisää kommentti',"{{kommentti|#:|","|--~~"+"~~}"+"}",'Kirjoita kommenttisi tähän');
addCustomButton('http://www.pyrkilo.fi/pictures/muuttuja.png','Muuttuja',"","{{muuttuja"+"}}\n== Rajaus ==\n\n Tähän kuuluu sanallinen kuvaus muuttujan spatiaalisista, ajallisista ja muista mahdollisista\n rajauksista. Rajaus määritellään sen arvioinnin tarkoituksen mukaan johon muuttuja kuuluu.\n\n== Määritelmä ==\n\n=== Data ===\n\n Tähän kuuluu muuttujan arvon laskennassa käytettävän datan kuvailu\n (esim. mittausdata, matemaattiset menetelmät).\n Käytä mahdollisuuksien mukaan viitteitä ja linkkejä alkuperäisdataan\n (mielellään käyttäen ''<nowiki><ref></ref></nowiki>'' -tagia)\n\n=== Causality ===\n\n List of upstream variables.\n The variables can be listed used descriptive (free-format) names or unambiguous identifiers\n (e.g. [[Analytica]] IDs).\n\n=== Unit ===\n\n Unit in which the result is expressed.\n\n=== Formula ===\n\n Algebra or other explicit methods if possible\n (e.g. [[Analytica]] code between the <nowiki>''<anacode></anacode>''</nowiki> delimiters).\n\n== Result ==\n\n If possible, a numerical expression or distribution.\n\n==See also==\n\n Links to relevant information that does not belong to ''Definition''.\n\n==References==\n Will appear here automatically, if cited above using the ''<nowiki><ref></ref></nowiki>'' tags.\n Additional references can also be listed here.\n\n<references/>","");
addCustomButton('http://www.pyrkilo.fi/pictures/underline.png','Alleviivaus',"<u>","</u>",'Alleviivattua tekstiä');
addCustomButton('http://www.pyrkilo.fi/pictures/centerbut.png','Keskitä',"<center>","</center>",'Keskitettyä tekstiä');
addCustomButton('http://www.pyrkilo.fi/pictures/super.png','Yläindeksi',"<sup>","</sup>",'Tekstiä yläindeksiin');
addCustomButton('http://www.pyrkilo.fi/pictures/sub.png','Alaindeksi',"<sub>","</sub>",'Tekstiä alaindeksiin');


//Ressemble à la fonction de /skins-1.5/commons/wikibits.js pour insérer un autre lien que insertTags
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */
function marque_tab()
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
{
mw.loader.using( 'user.options' ).then( function () {
var toolbar = document.getElementById('toolbar');
// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])
if (!toolbar) return false;
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {
$.when(
var textbox = document.getElementById('wpTextbox1');
mw.loader.using( 'ext.wikiEditor.toolbar' ), $.ready
if (!textbox) return false;
).then( customizeToolbar );
}
if (!document.selection && textbox.selectionStart == null)
} );
return false;
var image = document.createElement("img");
image.width = 23;
image.height = 22;
image.src = 'http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png';
image.border = 0;
image.alt = 'Table';
image.title = 'Table';
image.style.cursor = "pointer";
image.onclick = function() {
  popupTableau();
  return false;
}
toolbar.appendChild(image);
}
}
addOnloadHook(marque_tab);

Nykyinen versio 1. helmikuuta 2019 kello 14.08

/**
 * Collapsible tables
 *
 * Allows tables to be collapsed, showing only the header. See [[Wikipedia:NavFrame]].
 * @maintainer [[User:R. Koot]] (on Wikipedia)
 */
 
var autoCollapse = 2;
var collapseCaption = 'hide';
var expandCaption = 'show';
 
function hasClass( element, className ) {
	var Classes = element.className.split( " " );
	for ( var i = 0; i < Classes.length; i++ ) {
		if ( Classes[i] == className ) {
			return true;
		}
	}
	return false;
}
 
function rndm() {
	var random = Math.floor(Math.random() * 10000) + 1;
	if (random < 10) return "000" + random;
	else if (random < 100) return "00" + random;
	else if (random < 1000) return "0" + random;
	else return "" + random;
}

function collapseTable( tableIndex ) {
	var i;
	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 ( 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 i;
	var tableIndex = 0;
	var NavigationBoxes = {};
	var Tables = document.getElementsByTagName( 'table' );
 
	for ( 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 ( i = 0; i < tableIndex; i++ ) {
		if ( hasClass( NavigationBoxes[i], 'collapsed' ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], 'autocollapse' ) ) ) {
			collapseTable( i );
		}
	}
}
 
$( createCollapseButtons );

var customizeToolbar = function () {

	$('#wpTextbox1').wikiEditor('addToToolbar', {
		section: 'advanced', 
		group: 'format', 
		tools: {
			"strikethrough": {
				label: 'Yliviivaus', 
				type: 'button', 
				icon: '//upload.wikimedia.org/wikipedia/commons/3/30/Btn_toolbar_rayer.png', 
				action: {
					type: 'encapsulate', 
					options: {
						pre: "<s>", 
						post: "</s>" 
					}
				}
			}
		}
	});

	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		section: 'advanced', 
		group: 'format', 
		tools: {
			"hline": {
				label: 'Poikkiviiva', 
				type: 'button', 
				icon: '//bits.wikimedia.org/skins-1.5/common/images/button_hr.png', 
				action: {
					type: 'encapsulate', 
					options: {
						pre: "----", 
						ownline: true 
					}
				}
			}
		}
	});

	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		section: 'advanced', 
		group: 'format', 
		tools: {
			"underline": {
				label: 'Lisää ratkaisulinkki keskusteluun', 
				type: 'button', 
				icon: '//en.opasnet.org/en-opwiki/images/7/76/Reslink.png', 
				action: {
					type: 'encapsulate', 
					options: {
						pre: "{{reslink|",
						peri: "Lisää keskustelun tunniste",
						post: "}}" 
					}
				}
			} 
		}
	});

	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		section: 'advanced', 
		group: 'format', 
		tools: {
			"center": {
				label: 'Lisää keskustelu', 
				type: 'button', 
				icon: '//en.opasnet.org/en-opwiki/images/8/82/Discussion.png', 
				action: {
					type: 'encapsulate', 
					options: {
						pre: "{{discussion|id=disc" + rndm() + "|type=|Statements=",
						peri: "Lisää väitteet tähän ja sen jälkeen muut parametrit",
						post: "|Resolution=|title=|Resolved=|Argumentation= }}" 
					}
				}
			}
		}
	});

	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		section: 'advanced', 
		group: 'format', 
		tools: {
			"attack": {
				label: 'Hyökkää', 
				type: 'button', 
				icon: '//en.opasnet.org/en-opwiki/images/0/00/Attack.png', 
				action: {
					type: 'encapsulate', 
					options: {
						pre: "{{argument|relat1=attack|id=arg" + rndm() + "|type=|content=",
						peri: "Lisää hyökkäävä argumenttisi tähän",
						post: "|sign=--~~"+"~~}}" 
					}
				}
			}
		}
	});

	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		section: 'advanced', 
		group: 'format', 
		tools: {
			"defend": {
				label: 'Puolusta', 
				type: 'button', 
				icon: '//en.opasnet.org/en-opwiki/images/0/0a/Defend.png', 
				action: {
					type: 'encapsulate', 
					options: {
						pre: "{{argument|relat1=defense|id=arg" + rndm() + "|type=|content=",
						peri: "Lisää puolustava argumenttisi tähän",
						post: "|sign=--~~"+"~~}}" 
					}
				}
			}
		}
	});

	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		section: 'advanced', 
		group: 'format', 
		tools: {
			"comment": {
				label: 'Kommentti', 
				type: 'button', 
				icon: '//en.opasnet.org/en-opwiki/images/d/db/Comment.png', 
				action: {
					type: 'encapsulate', 
					options: {
						pre: "{{argument|relat1=comment|id=arg" + rndm() + "|type=|content=",
						peri: "Lisää kommenttisi tähän",
						post: "|sign=--~~"+"~~}}" 
					}
				}
			}
		}
	});

}

/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
	mw.loader.using( 'user.options' ).then( function () {
		// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])
		if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {
			$.when(
				mw.loader.using( 'ext.wikiEditor.toolbar' ), $.ready
			).then( customizeToolbar );
		}
	} );
}