Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// [[User:Lupin/popups.js]] - please include this line 

mw.loader.load(
             'https://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js'
             + '&action=raw&ctype=text/javascript&dontcountme=s');

// Script from [[User:Haza-w/cactions.js]]
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Haza-w/cactions.js' 
             + '&action=raw&ctype=text/javascript');
 var ctIsAdmin = 1;

//Interiot's javascript edit counter
if (document.title.indexOf('User:Interiot/Tool2/code.js') != -1) {
  mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js&action=raw&ctype=text/javascript'); }

//Helper tools
mw.loader.load(
             'https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Addtabs/monobook.js'
             + '&action=raw&ctype=text/javascript&dontcountme=s');
//

// Helper tools
document.write('<script type="text/javascript" src="' 
             + 'http://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Dropdown/monobook.css' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//

//Replace txt
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/replacetxt.js' 
             + '&action=raw&ctype=text/javascript');
//[[Category:Wikipedians who use VoA script |{{PAGENAME}}]]

//AfD/PfD/Copyvio and tagging tabs
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Deletion/monobook.js' 
             + '&action=raw&ctype=text/javascript');
//[[Category:Wikipedians who use VoA script |{{PAGENAME}}]]

//History tools
mw.loader.load(
             'https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/History/monobook.js'
             + '&action=raw&ctype=text/javascript&dontcountme=s');

//[[Category:Wikipedians who use VoA script |{{PAGENAME}}]]

//Log tools
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Sleeper/monobook.js' 
             + '&action=raw&ctype=text/javascript');

//[[Category:Wikipedians who use VoA script |{{PAGENAME}}]]

//Google tools && Spelling
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Google/monobook.js' 
             + '&action=raw&ctype=text/javascript');
//[[Category:Wikipedians who use VoA script |{{PAGENAME}}]]

//Google tools
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/Revert/monobook.js' 
             + '&action=raw&ctype=text/javascript');
//[[Category:Wikipedians who use VoA script |{{PAGENAME}}]]

 //Admin tools
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Voice_of_All/admin/monobook.js' 
             + '&action=raw&ctype=text/javascript');

//[[Category:Wikipedia administrators who use VoA script|{{PAGENAME}}]]


//Conflicts with force edit summary script!

var scIndex = 0;
var scKeys = new Array();
var scValues = new Array();

function scFormSubmit() {
   var i=0
   var textArea = document.getElementById("wpTextbox1");
   var text = textArea.value;
   while (i<scIndex) {
      text = text.replace(scKeys[i], scValues[i]);
      ++i;
   }
   textArea.value = text;
}

$(function() {
   if (document.title.indexOf("Editing ") != 0) {return;}
   document.getElementById("wpSave").onclick = scFormSubmit;
   document.getElementById("wpPreview").onclick = scFormSubmit;
   document.getElementById("wpDiff").onclick = scFormSubmit;
   //TODO: make it work with previews too!
});


$(function() {
   if (document.title.indexOf("Editing ") != 0) {return;}
   var textArea = document.getElementById("wpTextbox1");
   var text = textArea.value;
   var re = /<!--\[\[User:Where\/sigContract\]\];(.*)-->.*<!--ESC:(.*)-->/g;
   var lastIndex = 0;
/*   while (1) {
      var textSubstr = text.substr(lastIndex);
      alert(lastIndex);
      alert(textSubstr); //TODO: remove
      var newIndex = textSubstr.search(re);
      alert("newindex:" + newIndex);
      if (newIndex == -1) {
	 break;
      }
      lastIndex += newIndex+1;*/
      text = text.replace(re,
	 function(str, p1, p2, offset, s) {
//	    alert("In replacement function");
	    if (p1 == p2) {
	       var newString = "-[[User:" + p1 + "|" + p1 + "]]";
	       scKeys[scIndex] = newString;
	       scValues[scIndex] = str;
	       ++scIndex;
	       return newString;
	    }
	    else {
	       return str;
	    }
	 });
   //}
   textArea.value = text;
});