User:Grondin/monobook.js

//

function stopRedlinksEditing(){

var len=document.links.length;

for(var i=0; i

var l=document.links[i];

if (l.className=='new') {

l.href=l.href.replace('&action=edit','')

.replace('Special:Upload&wpDestFile=', 'Image:');

}

}

}

$(stopRedlinksEditing);

function listRedLinks() {

var len=document.links.length;

var output=document.createElement('div');

output.innerHTML='

Red links

';

var gotSome=false;

for (var i=0; i

if (document.links[i].className=='new') {

gotSome=true;

var l=document.links[i].cloneNode(true);

output.appendChild(l);

output.appendChild(document.createElement('br'));

}

}

if (gotSome){

output.appendChild(document.createElement('hr'));

var h1=document.getElementsByTagName('h1')[0];

h1.parentNode.insertBefore(output, h1.nextSibling);

}

}

$(function(){addToolboxLink('javascript:listRedLinks()', 'List red links');});

document.write('');

window.annoy={ freq: 1000*60*15, duration: 1000*60,

target: 'http://en.wikipedia.org/wiki/Wikipedia:Recovering_from_Wikipediholism' };

loadJS('User:Lupin/watchlistfilter.js');

//loadJS('User:Lupin/annoy.js');

loadJS('User:Lupin/listsince.js');

// Filter changes live

loadJS('User:Lupin/recent2.js');

// Show diffs on recent changes, history pages and so on

loadJS('User:Lupin/recentdiffs.js');

var isIE=((self.navigator.appName).indexOf("Microsoft")!=-1);

if (!isIE) loadJS('User:Zocky/PicturePopups.js');

//loadJS('User:Zocky/CategoryBrowser.js');

window.localCSS=true;

//loadJS('User:Lupin/popupsdev.js');

tmpJS('popupsdev.js');

popupAdminLinks=true; popupShortcutKeys=true; popupFixDabs=true;

popupPreviewKillTemplates=false; popupPreviewFirstParOnly=false;

popupOnlyArticleLinks=false;

popupEditCounterTool='interiot';

popupExtraUserMenu='<>|<>';

popupFixRedirs=true;

popupRedlinkRemoval=true;

popupStructure='menus';

//removeTitles=false;

extraPopupFilters=[

function(data) { if (/[{]{2}[Ff]eatured article[}]{2}/.test(data) )

return '';

else return ''; }

];

//popupLiveOptions=true;

// loadJS('User:Lupin/editblind.js');

loadJS('User:Lupin/sectionkeys.js');

$(function(){window.popupShortcutKeys=true;}); // for testing

if (location.href == "http://en.wikipedia.org/wiki/User:Jitse_Niesen/Client-side_preferences") loadJS('User:Jitse_Niesen/Client-side_preferences/Main.js');

/////////////////////////

// messy stuff

/////////////////////////

$(function(){if (/Special(%3[Aa]|:)(Newpages|Recentchanges)/.test("Not Your Business!")) document.getElementsByTagName('h1')[0].innerHTML += ' - FGI';});

function addRefsLinks(btn) {

var pageTitle=document.getElementsByTagName('h1')[0].innerHTML;

var lks=document.links;

var refReq=refsContent(pageTitle);

for (var i=0; i

var article=articleFromURL(lks[i].href);

if(!article) continue;

var talk=null;

if (!userName(article)) continue;

talk=talkPage(article);

if(!talk) continue;

var a=document.createElement('a');

a.href=titlebase + talk +

'&action=edit&autoedit=s#$#\n' + refReq + ' ~~~~#&autoclick=' +

btn +

'&autosummary=References for [['+

pageTitle+

']]';

var tt=document.createTextNode(' . . ');

a.innerHTML='request references';

lks[i].parentNode.appendChild(tt);

lks[i].parentNode.appendChild(a);

}

}

function refsContent(pageTitle) {

var refRequests=['\\n\\n{{subst:unref-talk|%s}}',

'\\n\\n==Missing refs==\\n\\nHi! I noticed that %s doesn\'t seem to have any refs, and you\'ve written a fair bit of it. Please could you add some when you get a chance? Thanks!',

'\\n\\n==Refs?==\\n\\nHello, any chance of adding refs to %s? Cheers,',

'\\n\\n==References for %s==\\n\\nHowdy. Do you remember the references you used when you wrote %s? If you could add them in, it\'d improve the article. Thanks in advance,',

'\\n\\n==References needed==\\n\\nHello, I\'d like to verify %s but have no references. Please could you add the sources you used to write the article? Cheers,',

'\\n\\n==References==\\n\\nHello! I noticed that %s doesn\'t have any references or sources. Although the contents of that article do seem like "common knowledge", it would still be helpful if you could mention your sources. Many thanks,',

'\\n\\n==%s==\\n\\n...is unsourced. Please fix. Thanks,',

'\\n\\n==References for %s==\\n\\nHi! I realise that it\'s been some time since you edited %s, but it would be great if you could remember the references you used and add them to the page. Thanks!'

];

var promptText='Select reference request:';

for (var i=0; i

var response=parseInt(prompt(promptText));

if(!response || isNaN(response) || response >= refRequests.length || response < 0) response=0;

return refRequests[response].split('%s').join(pageTitle);

}

var refs=addRefsLinks;

//ta['search'] = ['/','Search this wiki'];

//addOnloadFunction(function(){document.getElementById('searchInput').accessKey='/';});

function removeAccessKeys(keylist) {

var t=document.getElementsByTagName('A'), u=document.getElementsByTagName('input');

for (var i=0; i

var s=((i

for (var j=0; j

}

};

function removeAnnoyingKeys() {removeAccessKeys(['d','f']);}

addOnloadFunction(removeAnnoyingKeys);

function fixWatchlistLink () {

for (var i=0; i

if (document.links[i].href.indexOf('Special:Watchlist')>0) {

document.links[i].href+='?hideOwn=1';

break;

}

}

};

if (!isIE)

{

addOnloadFunction(fixWatchlistLink);

}

// summary nag

function perhapsSave(ev)

{

var sum = document.getElementsByName('wpSummary');

var submit = true;

if (sum.length > 0) {

sum = sum[0];

if (isBadSummary(sum.value)) {

if (!document.getElementById('jn-fillIn')) {

var div = document.createElement('p');

div.appendChild(document.createTextNode('Fill in the summary!'));

div.setAttribute('style', 'color: #f00; font-size: 150%;');

div.id = 'jn-fillIn';

sum.parentNode.insertBefore(div, sum.nextSibling);

}

sum.focus();

submit = false;

}

}

if (submit) {

var btn = document.getElementById('wpSave');

btn.onclick = null;

btn.setAttribute('type', 'submit');

btn.click();

}

}

function isBadSummary(str) {

var sumRe=RegExp('^ *$|^/[*].*?[*]/ *$');

return (sumRe.test(str));

}

function modifySaveButton()

{

// action=edit for edit pages, action=submit for previews

var loc=window.location.href;

if ((loc.indexOf('&action=edit') != -1 ||

loc.indexOf('&action=submit') != -1

) && loc.indexOf(':Lupin') == -1 ) {

var btn = document.getElementById('wpSave');

if (btn) {

btn.setAttribute('type', 'button');

btn.onclick = perhapsSave;

}

}

}

if(!isIE) addOnloadFunction(modifySaveButton);

////////////////////////////////////////////////////////////////

// Evaluator

// Source: http://krolik.net/js-eval.shtml

var evaluatorHTML='

' +

'' +

'' +

'
' +

'' +

'' +

'

';

function ObjectDump(strObject)

{

var strOutput;

var vTemp;

var vAnotherTemp;

var vElement;

vElement = eval(strObject);

strOutput = "typeof = " + typeof(vElement) + "\n\n";

AppendOutput(strOutput);

for (var x in vElement )

{

vTemp = strObject + "." + x.toString() ;

vAnotherTemp = strObject + "[" + x + "]" ;

strOutput = strOutput + vTemp + " = " + eval(vTemp) + "\n";

AppendOutput(vTemp + " = " + eval(vTemp) + "\n");

}

return strOutput ;

}

function AppendOutput(strText)

{

document.Tester.MyResult.value = document.Tester.MyResult.value + strText;

}

function Output(strText)

{

document.Tester.MyResult.value = strText;

}

function ObjectDumpClicked()

{

document.Tester.MyResult.value="";

ObjectDump(document.Tester.MyCommand.value);

return false;

}

function TesterExecute()

{

document.Tester.MyResult.value="";

document.Tester.MyResult.value=eval(document.Tester.MyCommand.value);

return false;

}

function addEvaluator() {

try {

var evalNode=document.createElement('div');

evalNode.id='evalNode';

evalNode.innerHTML=evaluatorHTML;

document.body.appendChild(evalNode);

document.Tester=document.getElementById('Tester');

}

catch(err){};

}

if(!isIE || true) addOnloadFunction(addEvaluator);

//

// end evaluator

////////////////////////////////////////////////////////////////

// testing

// Useful stuff from Wikipedia:WikiProject_User_scripts

function addToolboxLink(url, name, id){

var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];

addlilink(tb, url, name, id);

}

function addlilink(tabs, url, name, id, title, key){

var na = document.createElement('a');

na.href = url;

na.appendChild(document.createTextNode(name));

var li = document.createElement('li');

if(id) li.id = id;

li.appendChild(na);

tabs.appendChild(li);

if(id) {

if(key && title) ta[id] = [key, title];

else if(key) ta[id] = [key, ''];

else if(title) ta[id] = ['', title];

}

// re-render the title and accesskeys from existing code in wikibits.js

akeytt();

return li;

}

function addTab(url, name, id, title, key){

var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];

addlilink(tabs, url, name, id, title, key);

}

function addPurge(){

ta['ca-purge'] = ['g', 'Purge the internal cache for this page'];

var x = document.getElementById('ca-history');

if(!x) return;

if(x.children) x = x.children[0].href;

else x = x.childNodes[0].href;

addTab(x.replace(/=history/, "=purge"), 'purge', 'ca-purge');

akeytt();

}

// culled from User:Lupin/popups.js

function nichalp_articleFromURL(h) {

if (typeof h != 'String') h=String(h);

h=decodeURI(h);

var m=RegExp('[^:]*://en\\.wikipedia\\.org/(wiki/|w/index\\.php\\?title=)([^&?]*)').exec(h);

if(m===null) return null;

return m[2];

}

function nichalp_isIpUser(user) {

return RegExp('(User:)?' +

'((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}' +

'(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])')

.test(user);

}

function nichalp_removeAnchor(article) {

// is there a #? if not, we're done

var i=article.indexOf('#');

if (i == -1) return article;

return article.substring(0,i);

}

function nichalp_userName(article) {

var i=article.indexOf('User');

var j=article.indexOf(':');

if (i != 0 || j == -1) return null;

var k=article.indexOf('/');

if (k==-1) return article.substring(j+1);

else return article.substring(j+1,k);

}

// do it

function nichalp_customLinks() {

addPurge();

var article=nichalp_articleFromURL(document.location.href);

if (!article) return;

var user=nichalp_userName(article);

if(!user) return;

user=nichalp_removeAnchor(user);

if (!nichalp_isIpUser(user)) {

addToolboxLink('http://kohl.wikimedia.org/~kate/cgi-bin/count_edits?dbname=enwiki&user='+user, user+"'s edit count", 'toolbox_katestool');

}

var special='http://en.wikipedia.org/w/index.php?title=Special:';

addToolboxLink(special + 'Log&user='+user, user+"'s log", 'toolbox_userlog');

addToolboxLink(special + 'Blockip&ip='+user, 'Block '+user, 'toolbox_blockuser');

addToolboxLink(special + 'Special:Ipblocklist&action=unblock&ip='+user, 'Unblock '+user, 'toolbox_unblockuser');

}

// make it all happen on page load

if (window.addEventListener) window.addEventListener("load",nichalp_customLinks,false);

else if (window.attachEvent) window.attachEvent("onload",nichalp_customLinks);

else {

window._old_nichalp_onload = window.onload;

window.onload = function() { window._old_nichalp_onload(); nichalp_customLinks(); }

}

function addOnloadFunction (f) {

if (window.addEventListener) window.addEventListener("load",f,false);

else if (window.attachEvent) window.attachEvent("onload",f);

};

window.focusTextBox=function(exclusions) {

var editBox=document.getElementById('wpTextbox1');

if (editBox) { editBox.focus(); return; }

var inputs=document.getElementsByTagName('input');

if(!exclusions) exclusions=[];

for (var i=0; i

if(inputs[i].type=='text' && inputs[i].name) {

var ignore=false;

for (var j=0; j

if (inputs[i].name==exclusions[j]) {ignore=true; break;}

}

if(!ignore) {inputs[i].focus(); return;}

}

}

}

//addOnloadFunction(function() { if (document.title.indexOf('Preview') == -1) //focusTextBox(['wpSummary', 'search']);});

loadJS('User:Zocky/SearchBox.js');

function tmpJS(name) {

document.write('');

}

function loadJS(page){

page=page.replace(/^\[\[(.*)\]\]$/, '$1');

document.write('');

}

loadJS('User:Bigorneau.DeluxeBar.js')

function DeluxBar(name) {

function DeluxeBar(page){

page=page.replace(/^\[\[(.*)\]\]$/, '$1');

document.write('');

}

/*

  • /

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