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

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
Ei muokkausyhteenvetoa
(argument params updated)
 
(9 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]].
$j(document).ready( function() {
* @maintainer [[User:R. Koot]] (on Wikipedia)
 
*/
 
$j('#wpTextbox1').live('keydown', function(e) {
  var keyCode = e.keyCode || e.which;
 
  if (keyCode == 9) {
    e.preventDefault();
    // call custom function here
    insertTags(' ','','');
  }
});
 
});
 
 
function addLoadEvent(func)
{
  if (window.addEventListener)
    window.addEventListener("load", func, false);
  else if (window.attachEvent)
    window.attachEvent("onload", func);
}
 
/** Collapsible tables *********************************************************
  *
  * Description: Allows tables to be collapsed, showing only the header. See
  *              [[Wikipedia:NavFrame]].
  * Maintainer on Wikipedia: [[User:R. Koot]]
  */
   
   
var autoCollapse = 2;
var autoCollapse = 2;
var collapseCaption = "piilota";
var collapseCaption = 'hide';
var expandCaption = "näytä";
var expandCaption = 'show';
   
   
function hasClass( element, className ) {
function hasClass( element, className ) {
  var Classes = element.className.split( " " );
var Classes = element.className.split( " " );
  for ( var i = 0; i < Classes.length; i++ ) {
for ( var i = 0; i < Classes.length; i++ ) {
    if ( Classes[i] == className ) {
if ( Classes[i] == className ) {
      return ( true );
return true;
    }
}
  }
}
  return ( false );
return false;
}
}
   
   
function collapseTable( tableIndex )
function rndm() {
{
var random = Math.floor(Math.random() * 10000) + 1;
    var Button = document.getElementById( "collapseButton" + tableIndex );
if (random < 10) return "000" + random;
    var Table = document.getElementById( "collapsibleTable" + tableIndex );
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 ) {
if ( !Table || !Button ) {
        return false;
return false;
    }
}
   
   
    var Rows = Table.getElementsByTagName( "tr" );  
var Rows = Table.getElementsByTagName( 'tr' );
   
   
    if ( Button.firstChild.data == collapseCaption ) {
if ( Button.firstChild.data == collapseCaption ) {
        for ( var i = 1; i < Rows.length; i++ ) {
for ( i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = "none";
Rows[i].style.display = 'none';
        }
}
        Button.firstChild.data = expandCaption;
Button.firstChild.data = expandCaption;
    } else {
} else {
        for ( var i = 1; i < Rows.length; i++ ) {
for ( i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = Rows[0].style.display;
Rows[i].style.display = Rows[0].style.display;
        }
}
        Button.firstChild.data = collapseCaption;
Button.firstChild.data = collapseCaption;
    }
}
}
}
   
   
function createCollapseButtons()
function createCollapseButtons() {
{
var i;
    var tableIndex = 0;
var tableIndex = 0;
    var NavigationBoxes = new Object();
var NavigationBoxes = {};
    var Tables = document.getElementsByTagName( "table" );
var Tables = document.getElementsByTagName( 'table' );
   
   
    for ( var i = 0; i < Tables.length; i++ ) {
for ( i = 0; i < Tables.length; i++ ) {
        if ( hasClass( Tables[i], "collapsible" ) ) {
if ( hasClass( Tables[i], 'collapsible' ) ) {
            NavigationBoxes[ tableIndex ] = Tables[i];
NavigationBoxes[ tableIndex ] = Tables[i];
            Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
Tables[i].setAttribute( 'id', 'collapsibleTable' + tableIndex );
   
   
            var Button     = document.createElement( "span" );
var Button = document.createElement( 'span' );
            var ButtonLink = document.createElement( "a" );
var ButtonLink = document.createElement( 'a' );
            var ButtonText = document.createTextNode( collapseCaption );
var ButtonText = document.createTextNode( collapseCaption );
   
   
            Button.style.styleFloat = "right";
Button.style.styleFloat = 'right';
            Button.style.cssFloat = "right";
Button.style.cssFloat = 'right';
            Button.style.fontWeight = "normal";
Button.style.fontWeight = 'normal';
            Button.style.textAlign = "right";
Button.style.textAlign = 'right';
            Button.style.width = "6em";
Button.style.width = '6em';
   
   
            ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );
            ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
ButtonLink.setAttribute( 'href', 'javascript:collapseTable(' + tableIndex + ');' );
            ButtonLink.appendChild( ButtonText );
ButtonLink.appendChild( ButtonText );
   
   
            Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( document.createTextNode( '[' ) );
            Button.appendChild( ButtonLink );
Button.appendChild( ButtonLink );
            Button.appendChild( document.createTextNode( "]" ) );
Button.appendChild( document.createTextNode( ']' ) );
   
   
            var Header = Tables[i].getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0];
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 */
/* only add button and increment count if there is a header row to work with */
            if (Header) {
if (Header) {
                Header.insertBefore( Button, Header.childNodes[0] );
Header.insertBefore( Button, Header.childNodes[0] );
                tableIndex++;
tableIndex++;
            }
}
        }
}
    }
}
   
   
    for ( var i = 0; i < tableIndex; i++ ) {
for ( i = 0; i < tableIndex; i++ ) {
        if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
if ( hasClass( NavigationBoxes[i], 'collapsed' ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], 'autocollapse' ) ) ) {
            collapseTable( i );
collapseTable( i );
        }
}
    }
}
}
}
   
   
addOnloadHook( createCollapseButtons );
$( createCollapseButtons );


// ============================================================
var customizeToolbar = function () {
// BEGIN Dynamic Navigation Bars (experimantal)
 
$('#wpTextbox1').wikiEditor('addToToolbar', {
// set up the words in your language
section: 'advanced',
var NavigationBarHide = '[ Hide ]';
group: 'format',
var NavigationBarShow = '[ Show ]';
tools: {
"strikethrough": {
// set up max count of Navigation Bars on page,
label: 'Yliviivaus',  
// if there are more, all will be hidden
type: 'button',  
// NavigationBarShowDefault = 0; // all bars will be hidden
icon: '//upload.wikimedia.org/wikipedia/commons/3/30/Btn_toolbar_rayer.png',
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
action: {
var NavigationBarShowDefault = 1;
type: 'encapsulate',
options: {
pre: "<s>",
// shows and hides content and picture (if available) of navigation bars
post: "</s>"  
// 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);
 
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
    if (!NavFrame || !NavToggle) {
section: 'advanced',
        return false;
group: 'format',
    }
tools: {
"hline": {
    // if shown now
label: 'Poikkiviiva',
    if (NavToggle.firstChild.data == NavigationBarHide) {
type: 'button',
        for (
icon: '//bits.wikimedia.org/skins-1.5/common/images/button_hr.png',
                var NavChild = NavFrame.firstChild;
action: {
                NavChild != null;
type: 'encapsulate',
                NavChild = NavChild.nextSibling
options: {
            ) {
pre: "----",
            if (NavChild.className == 'NavPic') {
ownline: true
                NavChild.style.display = 'none';
}
            }
}
            if (NavChild.className == 'NavContent') {
}
                NavChild.style.display = 'none';
}
            }
});
        }
 
    NavToggle.firstChild.data = NavigationBarShow;
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
section: 'advanced',
    // if hidden now
group: 'format',
    } else if (NavToggle.firstChild.data == NavigationBarShow) {
tools: {
        for (
"underline": {
                var NavChild = NavFrame.firstChild;
label: 'Lisää ratkaisulinkki keskusteluun',  
                NavChild != null;
type: 'button',
                NavChild = NavChild.nextSibling
icon: '//en.opasnet.org/en-opwiki/images/7/76/Reslink.png',
            ) {
action: {
            if (NavChild.className == 'NavPic') {
type: 'encapsulate',
                NavChild.style.display = 'block';
options: {
            }
pre: "{{reslink|",
            if (NavChild.className == 'NavContent') {
peri: "Lisää keskustelun tunniste",
                NavChild.style.display = 'block';
post: "}}"
            }
}
        }
}
    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(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);
        }
    }
}
addLoadEvent(createNavigationBarToggleButton);
// END Dynamic Navigation Bars
// ============================================================


$( '#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',
* Generate an array using Mediawiki syntax
group: 'format',
*
tools: {
* @author: fr:user:dake
"attack": {
* Editor: juha villman
label: 'Hyökkää',
* @version: 0.1
type: 'button',
*/
icon: '//en.opasnet.org/en-opwiki/images/0/00/Attack.png',
action: {
function generateTableau(nbCol, nbRow, border, styleHeader)
type: 'encapsulate',  
{
options: {
var code = "\n";
pre: "{{argument|relat1=attack|id=arg" + rndm() + "|type=|content=",
if (styleHeader==1) {
peri: "Lisää hyökkäävä argumenttisi tähän",
code += '{|'+'{'+'{prettytable}}\n';
post: "|sign=--~~"+"~~}}"
} else {
}
code += '{| border="' + border + '"\n';
}
code += '|+ Table topic\n';
}
}
for (var i=0; i<nbCol; i++) code += '! Column title ' + i + '\n';
for (var j=0; j<nbRow; j++) {
if ((j+1)%2==0) {
code += '|-----\n';
} else {
code += '|-----\n';
}
}
});
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.opasnet.org/pictures/keskustelu.png','Lisää uusi keskustelu',"{{keskustelu\n|Väittämät=","\n|Ratkaisu= keskustelun alla (muokataan lopputuloksen löytyessä)\n|Argumentaatio =\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.opasnet.org/pictures/attack.png','Vastusta väitettä',"{{vastusta|#: |","|--~~"+"~~}"+"}",'Kirjoita tähän vastustava kommenttisi');
addCustomButton('http://www.opasnet.org/pictures/defend.png','Puolusta väitettä',"{{puolusta|#: |","|--~~"+"~~}"+"}",'Kirjoita tähän puolustava kommenttisi');
addCustomButton('http://www.opasnet.org/pictures/comment.png','Lisää kommentti',"{{kommentti|#:|","|--~~"+"~~}"+"}",'Kirjoita kommenttisi tähän');
addCustomButton('http://www.opasnet.org/pictures/muuttuja.png','Muuttuja',"{{muuttuja|moderator=","}"+"}"+"\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=== Kausaliteetti ===\n\n Lista ylävirran muuttujista.\n Muuttujat voidaan listata käyttäen muuttujien nimiä tai id-tunnistetta\n (esimerkiksi [[:op_en:Analytica|Analytica]] id:tä).\n\n=== Yksikkö ===\n\n Yksikkö jossa muuttujan tulos on ilmaistu.\n\n=== Kaava ===\n\n Esitä kaava algebrallisesti tai jollakin muulla selkeällä metodilla\n (esim. [[:op_en:Analytica|Analytica]]-koodi tagien ''<nowiki><anacode></anacode></nowiki>'' väliin).\n\n== Tulokset ==\n\n Suositeltavin muoto tuloksille on numeerinen ilmaus tai jakauma.\n Myös sanallinen muoto käy.\n\n==Katso myös==\n\n Tänne kuuluvat linkit relevantteihin tietolähteisiin jotka eivät kuulu muuttujan ''määritelmään''.\n\n==Viitteet==\n\n Lähdeluettelo tulostuu tänne automaattisesti kun viittauksissa käytetään ''<nowiki><ref></ref></nowiki>'' -tagia.\n Lähteet voi myös lisätä halutessaan manuaalisesti.\n\n<references/>","Käyttäjätunnus tai jätä tyhjäksi");
addCustomButton('http://www.opasnet.org/pictures/underline.png','Alleviivaus',"<u>","</u>",'Alleviivattua tekstiä');
addCustomButton('http://www.opasnet.org/pictures/centerbut.png','Keskitä',"<center>","</center>",'Keskitettyä tekstiä');
addCustomButton('http://www.opasnet.org/pictures/super.png','Yläindeksi',"<sup>","</sup>",'Tekstiä yläindeksiin');
addCustomButton('http://www.opasnet.org/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 );
		}
	} );
}