User:RadioKirk~metawiki/monobook.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
//<pre><nowiki>
function inc (file) {
var lt = String.fromCharCode(60);
var gt = String.fromCharCode(62);
document.writeln(lt+'script type="text/javascript" src="/w/index.php?title='+file+'&action=raw&ctype=text/javascript"'+gt+lt+'/script'+gt);
}
inc("User:Lightdarkness/aiv.js");
// Godmode-lite (breaks popups)
// document.write('<SCRIPT SRC="http://sam.zoy.org/wikipedia/godmode-light.js"><\/SCRIPT>');
document.write('<SCRIPT SRC="http://share.zopatista.com/WikiPedia/godmode-light.js"><\/SCRIPT>');
// Filter changes live
loadJS('[[User:RadioKirk/recent2.js]]');
// Show diffs on recent changes, history pages and so on
loadJS('[[User:RadioKirk/recentdiffs.js]]');
var isIE=((self.navigator.appName).indexOf("Microsoft")!=-1);
if (!isIE) loadJS('[[User:Zocky/PicturePopups.js]]');
//loadJS('[[User:Zocky/CategoryBrowser.js]]');
loadJS('[[User:RadioKirk/popupsdev.js]]');
popupAdminLinks=true; popupShortcutKeys=true; popupFixDabs=true;
popupPreviewKillTemplates=false; popupPreviewFirstParOnly=false;
popupOnlyArticleLinks=false;
popupEditCounterTool='interiot';
popupExtraUserMenu='<line><<monobook|shortcut=M>>|<<editMonobook|edit>></line>';
popupFixRedirs=true;
//popupLiveOptions=true;
// loadJS('[[User:RadioKirk/editblind.js]]');
loadJS('[[User:RadioKirk/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(document.referrer)) document.getElementsByTagName('h1')[0].innerHTML += ' - <a href="http://www.google.com/search?q=' + document.title.split(' - ')[0].split(' ').join('+') + '">FGI</a>';});
function addRefsLinks(btn) {
var pageTitle=document.getElementsByTagName('h1')[0].innerHTML;
var lks=document.links;
var refReq=refsContent(pageTitle);
for (var i=0; i<lks.length; ++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<refRequests.length; ++i) { promptText += '\n\n'+i+': '+ refRequests[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<t.length+u.length; ++i) {
var s=((i<t.length) ? t[i] : u[i-t.length]);
for (var j=0; j<keylist.length; ++j) if (s.accessKey==keylist[j]) s.accessKey='';
}
};
function removeAnnoyingKeys() {removeAccessKeys(['d','f']);}
addOnloadFunction(removeAnnoyingKeys);
function fixWatchlistLink () {
for (var i=0; i<document.links.length; ++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));
}
////////////////////////////////////////////////////////////////
// Evaluator
// Source: http://krolik.net/js-eval.shtml
var evaluatorHTML='<FORM ID="Tester" NAME="Tester" onsubmit="return TesterExecute();" >' +
'<TEXTAREA NAME="MyCommand" COLS=60 ROWS=25 WRAP="off"></TEXTAREA>' +
'<TEXTAREA NAME="MyResult" COLS=40 ROWS=25 WRAP="off"></TEXTAREA>' +
'<BR>' +
'<INPUT TYPE=BUTTON value="Show Object" onclick="ObjectDumpClicked();" >' +
'<INPUT TYPE=BUTTON value="Execute" onclick="TesterExecute();">' +
'</FORM>';
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:RadioKirk/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<inputs.length; ++i) {
if(inputs[i].type=='text' && inputs[i].name) {
var ignore=false;
for (var j=0; j<exclusions.length; ++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']);});
function loadJS(page){
page=page.replace(/^\[\[(.*)\]\]$/, '$1');
document.write('<script type="text/javascript" src="' +
'http://en.wikipedia.org/w/index.php?title=' + page +
'&action=raw&ctype=text/javascript"></script>');
}
/*
</nowiki></pre>
//<pre><nowiki>
// Filter changes live
loadJS('[[User:RadioKirk/recent2.js]]');
// Show diffs on recent changes, history pages and so on
loadJS('[[User:RadioKirk/recentdiffs.js]]');
var isIE=((self.navigator.appName).indexOf("Microsoft")!=-1);
if (!isIE) loadJS('[[User:Zocky/PicturePopups.js]]');
//loadJS('[[User:Zocky/CategoryBrowser.js]]');
loadJS('[[User:RadioKirk/popupsdev.js]]');
popupAdminLinks=true; popupShortcutKeys=true; popupFixDabs=true;
popupPreviewKillTemplates=false; popupPreviewFirstParOnly=false;
popupOnlyArticleLinks=false;
popupEditCounterTool='interiot';
popupExtraUserMenu='<line><<monobook|shortcut=M>>|<<editMonobook|edit>></line>';
popupFixRedirs=true;
//popupLiveOptions=true;
// loadJS('[[User:RadioKirk/editblind.js]]');
loadJS('[[User:RadioKirk/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(document.referrer)) document.getElementsByTagName('h1')[0].innerHTML += ' - <a href="http://www.google.com/search?q=' + document.title.split(' - ')[0].split(' ').join('+') + '">FGI</a>';});
function addRefsLinks(btn) {
var pageTitle=document.getElementsByTagName('h1')[0].innerHTML;
var lks=document.links;
var refReq=refsContent(pageTitle);
for (var i=0; i<lks.length; ++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<refRequests.length; ++i) { promptText += '\n\n'+i+': '+ refRequests[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<t.length+u.length; ++i) {
var s=((i<t.length) ? t[i] : u[i-t.length]);
for (var j=0; j<keylist.length; ++j) if (s.accessKey==keylist[j]) s.accessKey='';
}
};
function removeAnnoyingKeys() {removeAccessKeys(['d','f']);}
addOnloadFunction(removeAnnoyingKeys);
function fixWatchlistLink () {
for (var i=0; i<document.links.length; ++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(':RadioKirk') == -1 ) {
var btn = document.getElementById('wpSave');
btn.setAttribute('type', 'button');
btn.onclick = perhapsSave;
}
}
if(!isIE) addOnloadFunction(modifySaveButton);
////////////////////////////////////////////////////////////////
// Evaluator
// Source: http://krolik.net/js-eval.shtml
var evaluatorHTML='<FORM ID="Tester" NAME="Tester" onsubmit="return TesterExecute();" >' +
'<TEXTAREA NAME="MyCommand" COLS=60 ROWS=25 WRAP="off"></TEXTAREA>' +
'<TEXTAREA NAME="MyResult" COLS=40 ROWS=25 WRAP="off"></TEXTAREA>' +
'<BR>' +
'<INPUT TYPE=BUTTON value="Show Object" onclick="ObjectDumpClicked();" >' +
'<INPUT TYPE=BUTTON value="Execute" onclick="TesterExecute();">' +
'</FORM>';
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:RadioKirk/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<inputs.length; ++i) {
if(inputs[i].type=='text' && inputs[i].name) {
var ignore=false;
for (var j=0; j<exclusions.length; ++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']);});
function loadJS(page){
page=page.replace(/^\[\[(.*)\]\]$/, '$1');
document.write('<script type="text/javascript" src="' +
'http://en.wikipedia.org/w/index.php?title=' + page +
'&action=raw&ctype=text/javascript"></script>');
}
/*
</nowiki></pre>
*/