User:Astronouth7303/My monobook script

From Wikipedia, the free encyclopedia

If it weren't for special formatting:

<pre>
<nowiki>
/*
</nowiki>
</pre>
== Default MW stuff ==
<pre>
<nowiki>
*/
/* tooltips and access keys */
ta = new Object();


this page would look awful:

/* tooltips and access keys */ ta = new Object(); ta['pt-userpage'] = new Array('.','My user page'); ta['pt-anonuserpage'] = new Array('.','The user page for the ip you\'re editing as'); ta['pt-mytalk'] = new Array('n','My talk page'); ta['pt-anontalk'] = new Array('n','Discussion about edits from this ip address'); ta['pt-preferences'] = new Array(,'My preferences'); ta['pt-watchlist'] = new Array('l','The list of pages you\'re monitoring for changes.'); ta['pt-mycontris'] = new Array('y','List of my contributions'); ta['pt-login'] = new Array('o','You are encouraged to log in, it is not mandatory however.'); ta['pt-anonlogin'] = new Array('o','You are encouraged to log in, it is not mandatory however.');


Contents



/*

[edit] Default MW stuff


*/

/* tooltips and access keys */
ta = new Object();
ta['pt-userpage'] = new Array('.','My user page');
ta['pt-anonuserpage'] = new Array('.','The user page for the ip you\'re editing as');
ta['pt-mytalk'] = new Array('n','My talk page');
ta['pt-anontalk'] = new Array('n','Discussion about edits from this ip address');
ta['pt-preferences'] = new Array('','My preferences');
ta['pt-watchlist'] = new Array('l','The list of pages you\'re monitoring for changes.');
ta['pt-mycontris'] = new Array('y','List of my contributions');
ta['pt-login'] = new Array('o','You are encouraged to log in, it is not mandatory however.');
ta['pt-anonlogin'] = new Array('o','You are encouraged to log in, it is not mandatory however.');
ta['pt-logout'] = new Array('o','Log out');
ta['ca-talk'] = new Array('t','Discussion about the content page');
ta['ca-edit'] = new Array('e','You can edit this page. Please use the preview button before saving.');
ta['ca-addsection'] = new Array('+','Add a comment to this discussion.');
ta['ca-viewsource'] = new Array('e','This page is protected. You can view its source.');
ta['ca-history'] = new Array('h','Past versions of this page.');
ta['ca-protect'] = new Array('=','Protect this page');
ta['ca-delete'] = new Array('d','Delete this page');
ta['ca-undelete'] = new Array('d','Restore the edits done to this page before it was deleted');
ta['ca-move'] = new Array('m','Move this page');
ta['ca-nomove'] = new Array('','You don\'t have the permissions to move this page');
ta['ca-watch'] = new Array('w','Add this page to your watchlist');
ta['ca-unwatch'] = new Array('w','Remove this page from your watchlist');
ta['search'] = new Array('f','Search this wiki');
ta['p-logo'] = new Array('','Main Page');
ta['n-mainpage'] = new Array('z','Visit the Main Page');
ta['n-portal'] = new Array('','About the project, what you can do, where to find things');
ta['n-currentevents'] = new Array('','Find background information on current events');
ta['n-recentchanges'] = new Array('r','The list of recent changes in the wiki.');
ta['n-randompage'] = new Array('x','Load a random page');
ta['n-help'] = new Array('','The place to find out.');
ta['n-sitesupport'] = new Array('','Support us');
ta['t-whatlinkshere'] = new Array('j','List of all wiki pages that link here');
ta['t-recentchangeslinked'] = new Array('k','Recent changes in pages linked from this page');
ta['feed-rss'] = new Array('','RSS feed for this page');
ta['feed-atom'] = new Array('','Atom feed for this page');
ta['t-contributions'] = new Array('','View the list of contributions of this user');
ta['t-emailuser'] = new Array('','Send a mail to this user');
ta['t-upload'] = new Array('u','Upload images or media files');
ta['t-specialpages'] = new Array('q','List of all special pages');
ta['ca-nstab-main'] = new Array('c','View the content page');
ta['ca-nstab-user'] = new Array('c','View the user page');
ta['ca-nstab-media'] = new Array('c','View the media page');
ta['ca-nstab-special'] = new Array('','This is a special page, you can\'t edit the page itself.');
ta['ca-nstab-wp'] = new Array('a','View the project page');
ta['ca-nstab-image'] = new Array('c','View the image page');
ta['ca-nstab-mediawiki'] = new Array('c','View the system message');
ta['ca-nstab-template'] = new Array('c','View the template');
ta['ca-nstab-help'] = new Array('c','View the help page');
ta['ca-nstab-category'] = new Array('c','View the category page');

/*

[edit] Login enhancements


*/

/*

[edit] Hook assistant


*/
function setHookByObj(element, event, hook) {
alert("Hooking "+event);
//    if (element) {
      if (element.addEventListener) element.addEventListener("event",hook,false);
      else if (element.attachEvent) element.attachEvent("on"+event,hook);
//    }
}

/*

[edit] hooker


*/
function initLoginHooks() {
alert("Hook!");
if (o) {
  setHookByObj(o, "submit", checkFormSubmit);
  setHookByObj(o.wpName, "change", updateloginform);
  setHookByObj(o.wpPassword, "change", updateloginform);
  setHookByObj(o.wpRetype, "change", updateloginform);
  setHookByObj(o.wpEmail, "change", updateloginform);
  setHookByObj(o.wpRealName, "change", updateloginform);
}
}

/*

[edit] Submit callback


*/
function checkFormSubmit() {
  return checkpasswordmatch();
}

/*

[edit] Real work


*/
/*

[edit] Init


*/
var o=document.getElementById("userlogin"); 
var datacreate = true;
var datauserealname = true;
var datauseemail = true;

function initLogin() {
alert("Init");
o=document.getElementById("userlogin"); 
if (!o) {
  o = document.userlogin;
}
if (!o) {
  o = document.forms.item(0);
}
 datacreate = document.getElementById('wpRetype') ? true : false;
 datauserealname = document.getElementById('wpRealName') ? true : false;
 datauseemail = document.getElementById('wpEmail') ? true : false;
initLoginHooks();
updateloginform();

if (!o) {
  alert("(Init) Form not found!");
}
}

setHookByObj(window, "load", initLogin);

/*

[edit] update


*/
function updateloginform() {
        window.status = "Updating..."
        o=document.getElementById("userlogin");
        if (!o) {
                alert("(update) Form not found!");
        } else {
                if( datacreate ) {
                        o.wpCreateaccount.disabled=(o.wpRetype.value=="");
                }
                o.wpLoginattempt.disabled = (
                                      (
                                            // New user entries
                                        (
                                          datacreate && datauserealname && (
                                            o.wpRealName.value!=""
                                          )
                                        ) ||
                                            (
                                          datacreate && datauseemail && (
                                            o.wpEmail.value !=""
                                          )
                                        ) ||
                                        (
                                          o.wpRetype.value!=""
                                        )
                                      ) ||
                                      // Logins
                                          (
                                        o.wpPassword.value==""
                                      ) ||
                                          (
                                        o.wpName.value==""
                                      )
                                    );
        }
        window.status = "Updating...Done"
}
function checkpasswordmatch() {
        if(o.wpRetype.value!=""&&(o.wpPassword.value!=o.wpRetype.value)){
        alert("{{INT:badretype}}");
                o.wpPassword.value=o.wpRetype.value="";
                o.wpPassword.focus();
                return false;
        }
}