User:Chrism/monobook.js

importScript('User:Cameltrader/Advisor.js');

importScript('User:Smith609/reftool.js');

// Edd edit tabs for other page

if (mw.config.get('wgNamespaceNumber') >= 0)

$(function(){

var pCactions = document.getElementById('p-cactions');

if (!pCactions) return;

var caMain = pCactions.getElementsByTagName('li')[0];

var caTalk = document.getElementById('ca-talk');

var caEdit = document.getElementById('ca-edit');

if (!caEdit) caEdit = document.getElementById('ca-viewsource');

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

if (!caMain || !caTalk || !caEdit || !caHistory) return;

var el_move, el_create, id2;

if (mw.config.get('wgNamespaceNumber') % 2) { //talk space

el_move = caTalk; el_create = caMain; id2 = '';

} else {

el_move = caMain; el_create = caTalk; id2 = 'discussion';

}

caEdit.firstChild.innerHTML = 'edit';

caHistory.firstChild.innerHTML = 'hist';

el_move.parentNode.insertBefore(caHistory, el_move.nextSibling);

el_move.parentNode.insertBefore(caEdit, el_move.nextSibling);

var href = el_create.firstChild.getAttribute('href', 2);

if (el_create.className.indexOf('new') < 0){

mw.util.addPortletLink('p-cactions', href + '?action=history', 'Hist',

'ca-history-'+id2, id2+' history', '', el_create.nextSibling);

mw.util.addPortletLink('p-cactions', href + '?action=edit', 'Edit',

'ca-edit-'+id2, 'Edit '+id2, '', el_create.nextSibling);

}

caMain.style.marginRight = '0.3em';

caTalk.style.marginRight = '0.3em';

caTalk.style.marginLeft = '1.6em';

})

//

function morelinks() {

var tabs = document.getElementById('p-cactions').cloneNode(true);

// don't use the same ids twice- replace the p-cactions id and prepend 'mytabs-' to the li's

tabs.id = 'mytabs';

// needs this to be set from js, it ignores the css width for some reason

tabs.style.width = '100%';

var listitems = tabs.getElementsByTagName('LI');

for (i=0;i

if(listitems[i].id) listitems[i].id = 'mytabs-' + listitems[i].id;

}

// drop them at the bottom of the content area

document.getElementById('content').appendChild(tabs);

}

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

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

//Category tab at top

function categoryToTop() {

var thebody = document.getElementById('contentTop');

var categories = document.getElementById('catlinks');

if (categories != null) {

categories.parentNode.removeChild (categories);

thebody.parentNode.insertBefore(categories, thebody);

}

}

//Popup menus config

window.popupStructure = 'menus';

window.popupTocLinks = false;

window.popupRedlinkRemoval = true;

window.popupHistoricalLinks = true;

window.popupFixRedirs = true;

window.popupFixDabs = true;

window.popupShowGender = true;

window.popupSimplifyMainLink = true;

window.popupNewWindows = true;

// See changes since last edited

defaultdiffs = 1000; // or whatever number, see script for details

importScript('Wikipedia:WikiProject User scripts/Scripts/Changes since I last edited');

// Adds a "Changes since last load" link to your watchlist.

$(function () {

if (!mw.config.get('wgCanonicalSpecialPageName') || mw.config.get('wgCanonicalSpecialPageName') != "Watchlist") return;

if (!document.forms[0] || !document.forms[0].namespace) return;

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

link.id = 'listSince';

link.href = '#listSince'; // must have a href to show as link!

var then = +(new Date());

var fixLinkHref = function () {

var url = window.location.href.split('#')[0];

var days = (( +(new Date()) - then ) + (60 * 1000)) / (1000 * 3600 * 24);

if (url.match(/[?&]days=/))

this.href = url.replace(/([?&]days=)[^&]*/, '$1'+days);

else

this.href = url + (url.indexOf('?') < 0 ? '?':'&') + 'days=' + days;

return true;

};

link.onclick = fixLinkHref;

link.onmousedown = fixLinkHref; // react to middle clicks too

var frag = document.createDocumentFragment();

frag.appendChild(document.createTextNode(' | '));

frag.appendChild(link);

link.appendChild(document.createTextNode('Changes'));

frag.appendChild(document.createTextNode(' since last load.'));

// just one little ID attribute would be _so_ nice...

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

nsSelectForm.parentNode.insertBefore(frag, nsSelectForm);

});

//