User:Normxxx/monobook.js

From Wikipedia, the free encyclopedia

If a message on your talk page led you here, please be wary of who left it. The code below could contain malicious content capable of compromising your account; if your account appears to be compromised, it will be blocked. If you are unsure whether the code is safe, you can ask at the appropriate village pump.
Note: After saving, you have to bypass your browser's cache to see the changes. In Internet Explorer and Firefox, hold down the Ctrl key and click the Refresh or Reload button. Opera users have to clear their caches through Tools→Preferences, see the instructions for Opera. Konqueror and Safari users can just click the Reload button.
// ************************* 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]]
 
document.write('<script type="text/javascript" src="' 
             + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
popupActionsMenu=True;