User:Mulad/monobook.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
The accompanying .css page for this skin is at User:Mulad/monobook.css. |
/* stolen from [[User:Lupo/monobook.js]] */
function languageAtTop () {
/* Take the #p-lang (if there is one) out of the .portlet sidebar and put it
physically into the main column. */
var contents = document.getElementById('column-content');
var langlinks = document.getElementById('p-lang');
if (langlinks != null) {
langlinks.parentNode.removeChild (langlinks);
contents.insertBefore(langlinks, contents.firstChild);
}
}
function bottomTabs() {
/* Duplicate the top "tabs" at the end of the content area. */
var tabs = document.getElementById('p-cactions').cloneNode(true);
/* Give all the named items new ids to avoid id clashes with the existing top "tabs". */
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;
}
document.getElementById('column-content').appendChild(tabs);
}
function topTabsToRightPlace() {
/* Remove the top "tabs" from the .portlet side column (why were they ever put there?) and
put them at the top of the content area, where they belong! (This allows me to use simple
relative positioning to get a proper layout. I don't have to mess around with absolute
positioning. This is necessary for my language links at the top to work properly, but it
is cleaner anyway. */
var contents = document.getElementById('column-content');
var tabs = document.getElementById('p-cactions');
tabs.parentNode.removeChild (tabs);
contents.insertBefore(tabs, contents.firstChild);
}
function categoryToTop() {
var thebody = document.getElementById('top');
var categories = document.getElementById('catlinks');
if ((categories != null) && (thebody != null)) {
categories.parentNode.removeChild (categories);
thebody.parentNode.insertBefore(categories, thebody);
}
}
/* February 17, 2005: delete fundraising div, since I have no money and it's getting annoying */
function delFundraising() {
var fundblob = document.getElementById('fundraising');
if (fundblob != null) {
fundblob.parentNode.removeChild (fundblob);
}
}
function reformatMyPage() {
bottomTabs();
topTabsToRightPlace(); /* First the top "tabs"... */
languageAtTop(); /* ... and then the language links */
categoryToTop(); /* move category stuff up near the article title */
/* The order is important here: first move the tabs, then the language links, otherwise they
will end up in the wrong order (tabs above language links). */
delFundraising();
}
if (window.addEventListener) window.addEventListener("load",reformatMyPage,false);
else if (window.attachEvent) window.attachEvent("onload",reformatMyPage);