User:Minesweeper.007/extraeditbuttons.js

//

document.write('');

//fills the variable mwCustomEditButtons (s. function in /wikibits.js), with buttons for the Toolbar

function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText){

mwCustomEditButtons.push({

"imageFile": imageFile,

"speedTip": speedTip,

"tagOpen": tagOpen,

"tagClose": tagClose,

"sampleText": sampleText});

}

var Isrc='http://upload.wikimedia.org/wikipedia/commons/';

// English Wikipedia creates 11 extra buttons which are stored in mwCustomEditButtons

// rather than mwEditButtons. However, there is no guarantee it will always be 11

// so we count them here.

var enExtraButtons=mwCustomEditButtons.length;

var BDict={

'A':['f/f0/Bouton_Vandale0.png','Vandal Warning 01','{{subst:uw-vandal1|','}} ~~~~','Article'],

'B':['1/1d/Bouton_Vandale1.png','Vandal Warning 02','{{subst:uw-vandal2|','}} ~~~~','Article'],

'C':['c/cc/Bouton_Vandale2.png','Vandal Warning 03','{{subst:uw-vandal3|','}} ~~~~','Article'],

'D':['e/e4/Bouton_Vandale3.png','Vandal Warning 04','{{subst:uw-vandal4|','}} ~~~~','Article'],

'E':['7/7e/Bouton_Vandale4.png','Only Warning','{{subst:uw-vandalism4im|','}} ~~~~','Article'],

'F':['b/bf/WP-icon.png','Welcome a New User to Wikipedia','{{subst:w-link','}}','|heading=true'],

};

var XEBOrder2=[];

if (typeof XEBOrder!='string') // can be modified

XEBOrder2="A,B,C,D,E,F".split(",");

else if (XEBOrder.toLowerCase()=='all')

for (b in BDict) XEBOrder2.push(b);

else XEBOrder2=XEBOrder.toUpperCase().split(",");

addOnloadHook(initButtons);

if(!wgIsArticle)// only if edit

{

if(XEBPopups)hookEvent("load", extendButtons);

}

function initButtons(){

var bc,d;

for (b in BDict) BDict[b][0] = Isrc+BDict[b][0]; // // Add the start of the URL (Isrc) to the XEB buttons

// If the user has defined any buttons then add them into the available button lists

if (typeof myButtons=='object')

for (b in myButtons) BDict[b] = myButtons[b]; // custom user buttons

// Add the media wiki standard buttons into the available buttons

for (b in mwEditButtons) { // add standard buttons for full XEB order changing

// BDict[b]=[];

BDict[b]=[mwEditButtons[b].imageFile,mwEditButtons[b].speedTip,mwEditButtons[b].tagOpen,mwEditButtons[b].tagClose,mwEditButtons[b].sampleText];

// for (d in mwEditButtons[b]) BDict[b].push(mwEditButtons[b][d]);

}

// Build the new buttons

for (i=0;i

bc = BDict[XEBOrder2[i]];

//Check if bc is an object

// - protects if user specified a non-existant buttons

// - IE causes a javascript error when viewing a page

if(typeof bc=='object')

{

//Call addCustomButton in wikibits

addCustomButton(bc[0],bc[1],bc[2],bc[3],bc[4]);

}

}

// Remove the default buttons (if requested by the user)

eraseButtons();

}

/** en: Removes arbitrary standard buttons from the toolbar

function eraseButtons(){

//Remove the buttons the user doesn't want

if(typeof rmEditButtons!='object') return;

if (typeof rmEditButtons[0] == 'string' && rmEditButtons[0].toLowerCase() == 'all')

{

mwEditButtons=[];

for(i=0;i

}

//Sort the user's requests so we remove the button with the highest index first

//- This ensures we remove the buttons the user expects whatever order he requested the buttons in

rmEditButtons.sort(sortit);

//Remove individual buttons the user doesn't want

for(i=0;i

var n=rmEditButtons[i];

//Standard Wikimedia buttons

if(n>=0 && n

if(n

var x = -1;

while((++x)

if(x>=n)

mwEditButtons[x] = mwEditButtons[x+1];

}

mwEditButtons.pop();

}

//Extra buttons in English Wikipedia

n=n-mwEditButtons.length;

if(n>0 && n

if(n

var x = -1;

while((++x)

if(x>=n)

mwCustomEditButtons[x] = mwCustomEditButtons[x+1];

}

mwCustomEditButtons.pop();

}

}

};

//Function:

// sortit

//Purpose:

// Used to sort the rmEditButtons array into descending order

function sortit(a,b){

return(b-a)

}

// Adds extended onclick-function to some buttons

function extendButtons(){

if(!(allEditButtons = document.getElementById('toolbar'))) return false;

if(typeof editform != 'undefined')

if(!(window.editform = document.forms['editform'])) return false;

// table

extendAButton(Isrc+"0/04/Button_array.png",XEBPopupTable)

extendAButton(Isrc+"7/79/Button_reflink.png",XEBPopupRef)

extendAButton(Isrc+"b/b8/Button_Globe.png",XEBPopupGeoLink)

extendAButton(Isrc+"4/49/Button_talk.png",XEBPopupTalk)

extendAButton(Isrc+"1/1c/Button_advanced_image.png",XEBPopupImage)

//extendAButton(Isrc+"6/6a/Button_sup_letter.png",XEBPopupFormattedText)

// redirect

c=XEBOrder2.getIndex('V');

if(c != -1)

allEditButtons[bu_len+c].onclick=function(){

var a='#REDIRECT \[\['+prompt("Which page do you want to redirect to\?")+'\]\]';

document.editform.elements['wpTextbox1'].value=a;

document.editform.elements['wpSummary'].value=a;

document.editform.elements['wpWatchthis'].checked=false

};

};

//