Jump to content

User:Normxxx/monobook.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// ************************* Initialise 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();
    }
  }
}

// ************************* Load the page-load functions *************************

function myLoadFuncs()
{
  addForceSummary();
  addEditSection0();
  addBottomTabs();
}

// ************************* Force edit summary *************************

function addForceSummary()
{
  if(!/&action=edit/.test(window.location.href) && !/&action=submit/.test(window.location.href)) return;
  if(/&section=new/.test(window.location.href)) return;
  if(!document.forms.editform) return;
  document.forms.editform.wpSave.onclick = forceSummary;
  document.forms.editform.wpSave.onfocus = forceSummary;
}

function forceSummary()
{
  if(!document.forms.editform.wpSummary.value.replace(/^(?:\/\\*.*\\*\/)? *(.*) *$/,'$1'))
  {
    var r = prompt('Are you sure you want to submit without adding a summary?\nTo add a summary, type it in the box below:',document.forms.editform.wpSummary.value);
    if(r == null) { return false; }
    document.forms.editform.wpSummary.value = r;
  }
  return true;
}

// ************************* Add "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);
  }
}


// ************************* Replication of the tabs at the bottom *************************

function   addBottomTabs()
{
  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;
  }
  document.getElementById('column-content').appendChild(tabs);
}

// [[User:Lupin/popups.js]]

mw.loader.load(
             'https://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js'
             + '&action=raw&ctype=text/javascript&dontcountme=s');
popupActionsMenu=True;