User:Nathanm mn/monobook.js

From Wikipedia, the free encyclopedia

If a message on your talk page led you here, please be wary of who left it. The code below could contain malicious content capable of compromising your account; if your account appears to be compromised, it will be blocked. If you are unsure whether the code is safe, you can ask at the appropriate village pump.
Note: After saving, you have to bypass your browser's cache to see the changes. In Internet Explorer and Firefox, hold down the Ctrl key and click the Refresh or Reload button. Opera users have to clear their caches through Tools→Preferences, see the instructions for Opera. Konqueror and Safari users can just click the Reload button.
//
// From User:Lunchboxhero/monobook.js
//
 
var magicURL = "http://www.amazon.com/gp/search?ie=UTF8&field-isbn=MAGICNUMBER&tag=wikipedia08-20";
importScript('User:Lunchboxhero/externISBN.js');
 
 
//
//Interiot's javascript edit counter
//
 
if (document.title.indexOf('User:Interiot/Tool2/code.js') != -1) {
  document.write('<script type="text/javascript" src="' 
    + 'http://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js' 
    + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); }
 
function KateLink()
  {
    // use the "edit this page" tab to get user name
    var user = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
    // cut everything up to "title=" from the start and everything past "&action=edit" from the end
    user = user.substring(user.indexOf('title=') + 6, user.lastIndexOf('&action=edit'));
    user = user.substring(user.indexOf(':') + 1);
 
    var li = document.createElement( 'li' );
    li.id = 'pt-kate';
 
    var a = document.createElement( 'a' );
    a.appendChild( document.createTextNode( 'count' ) ); // eh, the css makes the text lowercase
    a.href = 'http://en.wikipedia.org/wiki/User:Interiot/Tool2/code.js?username=' + user;
 
    li.appendChild( a );
 
    if ( ! gsKateInsertBefore ) // append to end (right) of list
    {
       document.getElementById( 'pt-logout' ).parentNode.appendChild( li );
    }
    else
    {
        var before = document.getElementById( gsKateInsertBefore );
        before.appendChild( li, before );
    }
  }
 
//add this if to Main() or load function
  if (document.title.indexOf("User") != -1)
    KateLink(); //count menu option on user pages
 
//
// add navigation popups
// [[User:Lupin/popups.js]]
//
 
document.write('<script type="text/javascript" src="' 
             + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
 
//
// Wikipedia:WikiProject User scripts/Scripts/Show last diff
//
 
addOnloadHook( function () {
  if (wgCanonicalNamespace != "Special") {
    addPortletLink('p-cactions', wgServer + '/w/index.php?title=' + wgPageName + '&diff=cur&oldid=prev', 'last', 'ca-last', 'Show most recent diff');
  }
});
 
//
// Wikipedia:WikiProject User scripts/Scripts/Changes since I last edited
//
 
function addSinceTab() {
    if (window.location.href.indexOf("&action=history&gotosince=true")!=-1) {
       do_since_I_last_edited()
    }
    else if (wgCanonicalNamespace != "Special") {
       addPortletLink("p-cactions", "/w/index.php?title="+wgPageName+"&action=history&gotosince=true", 'Changes since I last edited', '', "Changes since I last edited");
    }
}
function do_since_I_last_edited() {
        var csub=document.getElementById("contentSub");
        var msg=document.createElement("p");
        msg.appendChild(document.createTextNode
                        ("Parsing history... please wait..."));
        msg.className="error";
        csub.insertBefore(msg, csub.firstChild)
 
        var username=document.getElementById("pt-userpage").textContent;
        var hists=document.getElementById("pagehistory").getElementsByTagName('li');
        for (n=0;n<hists.length;n++) {
            if (hists[n].getElementsByTagName("span")[0].getElementsByTagName('a')[0].textContent==username) {
                document.location=hists[n].childNodes[1].href; 
                return;
            }
        }
 
        msg.replaceChild(document.createTextNode
                         ("You have not edited this page! (recently)"),
                         msg.firstChild);
}
 
addOnloadHook(addSinceTab);
 
//
// Wikipedia:WikiProject User scripts/Scripts/Duplicate tabs at bottom
// depends on CSS in [[User:Nathanm mn/monobook.css]]
//
 
addOnloadHook(function () {
    var tabs = document.getElementById('p-cactions').cloneNode(true);
    tabs.id = 'mytabs';
    var listitems = tabs.getElementsByTagName('LI');
    for (i=0;i<listitems.length;i++) {
        if(listitems[i].id) listitems[i].id = 'mytabs-' + listitems[i].id;
    }
 
    content = document.getElementById("content");    // Find the content div
    content.parentNode.insertBefore(tabs, content.nextSibling);    // Place tab list right after content div
});