User:Ciovala/monobook.js

function getElementUrl(id) { if (id) { return id.firstChild.getAttribute('href', 2); } } function getElementUrlText(id) { if (id) { return id.firstChild.innerHTML; } } if (wgNamespaceNumber >= 0) addOnloadHook(function {   var pCactions = document.getElementById('p-cactions');    var tabs = pCactions.getElementsByTagName('ul')[0];    var caMain = pCactions.getElementsByTagName('li')[0];    var caTalk = pCactions.getElementsByTagName('li')[1];    var caEdit = document.getElementById('ca-edit');    var caView = document.getElementById('ca-viewsource');    var caHistory = document.getElementById('ca-history');    var caMove = document.getElementById('ca-move');    var caWatch = document.getElementById('ca-watch');    var caUnwatch = document.getElementById('ca-unwatch');    var caProtect = document.getElementById('ca-protect');    var caDelete = document.getElementById('ca-delete');    // Hide tabs    if (caMain) caMain.style.display = 'none';    if (caEdit) caEdit.style.display = 'none';    if (caTalk) caTalk.style.display = 'none';    if (caHistory) caHistory.style.display = 'none'; if (caMove) caMove.style.display = 'none'; if (caProtect) caProtect.style.display = 'none'; if (caDelete) caDelete.style.display = 'none'; // Create new tabs var newPage = addlimenu(tabs, getElementUrlText(caMain), 'new-page', getElementUrl(caMain), caTalk); newPage.className = caMain.className; var newTalk = addlimenu(tabs, getElementUrlText(caTalk), 'new-talk', getElementUrl(caTalk), caTalk); newTalk.className = caTalk.className; var newLog = addlimenu(tabs, 'actions', 'new-actions', getElementUrl(caHistory), caMove); // Check if page is editable if ( caEdit ) { edittxt = 'edit'; } else { edittxt = 'view source'; }   // Actions menu items addPortletLink('new-actions', 'javascript:;', ''); addPortletLink('new-actions', getElementUrl(caEdit), edittxt); if (caHistory) addPortletLink('new-actions', getElementUrl(caHistory), 'history'); addPortletLink('new-actions', wgServer + wgScript + '?title=Special:Log&page=' + wgPageName, 'page log'); if (caMove) addPortletLink('new-actions', getElementUrl(caMove), 'move'); if (caProtect) addPortletLink('new-actions', getElementUrl(caProtect), 'protect'); if (caDelete) addPortletLink('new-actions', getElementUrl(caDelete), 'delete'); // Add menu items for main page if( caMain.className.search('new') == 0 ) { addPortletLink('new-page', 'javascript:;', ''); addPortletLink('new-page', getElementUrl(caMain), 'create'); } else { addPortletLink('new-page', 'javascript:;', ''); addPortletLink('new-page', getElementUrl(caMain) + '?action=edit', 'edit'); addPortletLink('new-page', getElementUrl(caMain) + '?action=edit&section=0', edittxt + ' lead'); addPortletLink('new-page', getElementUrl(caMain) + '?action=history', 'history'); addPortletLink('new-page', getElementUrl(caMain) + '?diff=cur&oldid=prev', 'last'); }   addPortletLink('new-page', wgServer + wgScript + '?title=Special:Log&page=' + wgPageName, 'page log'); // If we're in Userspace then add additional items to show info // for this user if (wgNamespaceNumber == 2 || wgNamespaceNumber == 3) { if ( wgTitle.indexOf("/") == -1 ) { uname = wgTitle; } else { uname = wgTitle.substring(0, wgTitle.indexOf("/")); }       addPortletLink('new-page', wgServer + "/wiki" + '/Special:Contributions/' + uname, 'contribs'); if (caDelete) addPortletLink('new-page', wgServer + wgScript + '?title=Special:DeletedContributions&target=' + uname, 'deleted contribs'); addPortletLink('new-page', wgServer + wgScript + '?title=Special:Log&user=' + uname, 'user log'); addPortletLink('new-page', wgServer + wgScript + '?title=Special:Log&type=block&page=User:' + uname, 'block log'); if (caDelete) addPortletLink('new-page', wgServer + "/wiki" + '/Special:Blockip/' + uname, 'block'); }   // Add menu items for talk page if( caTalk.className.search('new') == 0 ) { addPortletLink('new-talk', 'javascript:;', ''); addPortletLink('new-talk', getElementUrl(caTalk), 'create'); } else { addPortletLink('new-talk', 'javascript:;', ''); addPortletLink('new-talk', getElementUrl(caTalk) + '?action=edit', 'edit'); addPortletLink('new-talk', getElementUrl(caTalk) + '?action=edit&section=0', 'edit lead'); addPortletLink('new-talk', getElementUrl(caTalk) + '?action=edit&section=new', 'new section'); addPortletLink('new-talk', getElementUrl(caTalk) + '?action=history', 'history'); addPortletLink('new-talk', getElementUrl(caTalk) + '?diff=cur&oldid=prev', 'last'); }   addPortletLink('new-talk', wgServer + wgScript + '?title=Special:Log&page=' + wgPageName, 'page log'); });