User:Astronouth7303/My monobook script

If it weren't for special formatting: &lt;pre> &lt;nowiki> /* &lt;/nowiki> &lt;/pre> == Default MW stuff == &lt;pre> &lt;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.');

/*

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');

/*

Login enhancements


/*

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

/*

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); } }

/*

Submit callback
function checkFormSubmit { return checkpasswordmatch; }

/*

Real work
/*

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);

/*

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(""); o.wpPassword.value=o.wpRetype.value=""; o.wpPassword.focus; return false; } }