User:Barry Canton/monobook.js

/* */

/* Based on http://commons.wikimedia.org/w/index.php?title=User:Alphax/monobook.js&action=edit */

/** * Initialises function loading on page load */

if (window.addEventListener) window.addEventListener("load",myLoadFuncs,false); else if (window.attachEvent) window.attachEvent("onload",myLoadFuncs); else {   window.oldonload = window.onload; window.onload = function {       window.oldonload; myLoadFuncs; } }

// based on addButton in wikibits.js function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText) {	mwCustomEditButtons[mwCustomEditButtons.length] = {"imageFile": imageFile, "speedTip": speedTip, "tagOpen": tagOpen, "tagClose": tagClose, "sampleText": sampleText}; }

function addMyEditButtons {   addCustomButton('/skins/common/images/button_sig.png','Comment format',"*~: ",,); addCustomButton('/skins/common/images/button_headline.png','Test css'," \n ",,); }

// add button to the edit toolbar, this cannot be called in our load function as that appears to be too late // the function that generates the toolbar is also called in a page load hook and it gets called first // this only works in MW 1.7+ //addMyEditButtons;

/** * Loads functions */

function myLoadFuncs {   addEditSection0; changeTopLinks; }

/** * Adds tabs */

function addlilink(tabs, url, name, id) {   var na = document.createElement('a'); na.href = url; na.appendChild(document.createTextNode(name)); var li = document.createElement('li'); li.id = id; li.appendChild(na); tabs.appendChild(li); return li; }

/** * Adds an "edit section 0" tab */

function addEditSection0 {   ta['ca-edit-0'] = ['', 'Edit the zeroth section of this page']; if(!document.getElementById) return; var x = document.getElementById('ca-edit'); if(!x) return; var y = document.createElement('LI'); y.id = 'ca-edit-0'; if(x.className == 'selected'){ if(/&action=edit&section=0$/.test(window.location.href)){ x.className = 'istalk'; y.className = 'selected'; } else { x.className = 'selected istalk'; }   } else if(x.className == 'selected istalk'){ if(/&action=edit&section=0$/.test(window.location.href)){ x.className = 'istalk'; y.className = 'selected istalk'; } else { y.className = 'istalk'; }   } else { y.className = x.className; x.className = 'istalk'; }   var z = document.createElement('A'); if(x.children){ z.href = x.children[0].href + '&section=0'; z.appendChild(document.createTextNode('0')); y.appendChild(z); document.getElementById('p-cactions').children[1].insertBefore(y,x.nextSibling); }else{ z.href = x.childNodes[0].href + '&section=0'; z.appendChild(document.createTextNode('0')); y.appendChild(z); document.getElementById('p-cactions').childNodes[3].insertBefore(y,x.nextSibling); } }

/** * Changes the top links */

function changeTopLinks {   if(!document.getElementById) return; // remove the "my" bits document.getElementById('pt-mytalk').firstChild.innerHTML = 'talk'; document.getElementById('pt-watchlist').firstChild.innerHTML = 'watchlist'; document.getElementById('pt-mycontris').firstChild.innerHTML = 'contributions';

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

addlilink(toplinks, '/index.php?title=User:Bcanton/monobook.js&action=edit', 'monobook.js', '');

/*   // add a clock addlilink(toplinks, , , 'utcdate'); showtime; }

/** * Makes the clock work */

function showtime {   var timerID; var now = new Date; // var timeValue = now.toUTCString.replace(/GMT/, "UTC"); var timeValue = now; document.getElementById('utcdate').firstChild.innerHTML = timeValue; timerID = setTimeout('showtime', 100); }

/* */