User:DESiegel/monobook.js

citeUserDateFormat ='  '; importScript('User:Apoc2400/refToolbar.js');

// if(document.title.indexOf("My watchlist") == 0) unwatchlinks; //commented out 25 apr 07

// - // Ãœbergodmode Monobook skin // (c) 2005 Sam Hocevar  // $Id: ubergodmode.js 886 2005-05-14 23:56:48Z sam $ // -

var blocklink = 'Block this user';

// - // Our nice Block functions // - function PerformBlock { var l, target = ''; // Look for '&faketarget=XXX' in URL url = location.pathname; l = location.search.substring(1).split('&'); for (i = 0; i < l.length; i++) { var n = l[i].indexOf('='); if (l[i].substring(0, n) == 'faketarget') { target = l[i].substring(n + 1); } }  if (!target) return; form = document.getElementById('blockip'); if (!form) return; input = form.getElementsByTagName('input')[0]; input.value = target; }

// - // Add block buttons to the page // - function AddBlockButtons { var l, article = '', vandal; // Add 'block' links to a diff page l = document.getElementById('t-emailuser'); if (l) { clone = l.cloneNode(true); l.id = 't-blockuser'; a = clone.getElementsByTagName('a')[0]; a.href = a.href.replace(/Special:Emailuser/, 'Special:Blockip'); a.href = a.href.replace(/target=/, 'faketarget='); a.innerHTML = blocklink; l.parentNode.insertBefore(clone, l.nextSibling); } }

// - // Modify the page once it is loaded // - if (window.addEventListener) { window.addEventListener("load", PerformBlock, false); window.addEventListener("load", AddBlockButtons, false); } else if (window.attachEvent) { window.attachEvent("onload", PerformBlock); window.attachEvent("onload", AddBlockButtons); }

// This will add an [edit top] link at the top of all pages except preview pages // by

setTimeout("editTopLink", 0) // this is equivalent of onload function editTopLink {

// if this is preview page or generated page, stop if(document.getElementById("wikiPreview") || window.location.href.indexOf("w/index.php?title=Special:") != -1) return;

// get the page title var pageTitle = document.title.split(" - ")[0].replace(" ", "_");

// create div and set innerHTML to link var divContainer = document.createElement("div"); divContainer.innerHTML = ' [edit top] ';

// insert divContainer into the DOM before the h1 document.getElementById("content").insertBefore(divContainer, document.getElementsByTagName("h1")[0]);

}

// //Add purge to tabs function addPurge{

ta['ca-purge'] = ['g', 'Purge the internal cache for this page']; var x = document.getElementById('ca-history'); if(!x) return; if(x.children) x = x.children[0].href; else x = x.childNodes[0].href; addTab(x.replace(/=history/, "=purge"), 'purge', 'ca-purge'); akeytt; }

if (window.addEventListener) window.addEventListener("load", addPurge, false); else if (window.attachEvent) window.attachEvent("onload", addPurge);

//

//From http://en.wikipedia.org/w/index.php?title=User:JesseW/monobook.js&oldid=20755510 // ** function removed 25 apr 07

// **** Functions called by Modules ****

function addlilink(tabs, url, name, id, title, key){

var na = document.createElement('a'); na.href = url; na.appendChild(document.createTextNode(name)); var li = document.createElement('li'); if(id) li.id = id; li.appendChild(na); tabs.appendChild(li); if(id) {      if(key && title) {          ta[id] = [key, title]; }      else if(key) {          ta[id] = [key, ]; }      else if(title) {          ta[id] = [, title]; }  }   // re-render the title and accesskeys from existing code in wikibits.js   akeytt; return li; }

//

function addTab(url, name, id, title, key){

var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; addlilink(tabs, url, name, id, title, key); } //

// ================================================================ // Adds an unwatch link after each entry on the regular watchlist // (instead of requiring you to navigate to a separate page) // by User:Omegatron // Workaround for Bug 424 http://bugzilla.wikipedia.org/show_bug.cgi?id=424 //

// function unwatchlinks{ // if(document.title.indexOf("My watchlist") == 0) { //    var x,i; //    x=document.links;                                           // Gets all the links on the page //        for(i=0;i<x.length;++i) { //            if (/action=history/.test(x[i].href)) {             // Find all the ones that link to history pages //                newUnwatchLink = document.createElement('a'); //                newSeparator = document.createTextNode("; "); //                newUnwatchLink.href = x[i].href.match(/\/w\/.+?&/) + "action=unwatch";    // Replace the action=history with action=unwatch //                newUnwatchLink.innerHTML = "un"; //                x[i].parentNode.insertBefore(newUnwatchLink, x[i].nextSibling); //                x[i].parentNode.insertBefore(newSeparator, x[i].nextSibling);             // Insert after the hist link with a semicolon //            } //         } //     } // }

// Delete reason helper // /* */

if ((document.title.indexOf("Confirm deletion") != -1) || (document.title.indexOf("Confirm delete") != -1)) { var csdDeleteForm = { FillSelect:function(sel, arr){ if(arr && arr.length>0){ if(arr.length>1){ var FirstOpt = new Option("CSD Reasons", ""); // catches stupid IE error if(FirstOpt.innerHTML != "CSD Reasons"){ FirstOpt.innerHTML = "CSD Reasons"; }							sel.appendChild(FirstOpt); sel.options[0].style.color = "gray" }						sel.disabled = false; for(var i=0;i<arr.length;i++){ var opt = new Option(arr[i].display, arr[i].value); // catches stupid IE error if(opt.innerHTML != arr[i].display){ opt.innerHTML = arr[i].display; }							sel.appendChild(opt); }					}else{ sel.options[0] = new Option("No Options Available", ""); // catches stupid IE error if(sel.options[0].innerHTML != "No Options Available"){ sel.options[0].innerHTML = "No Options Available"; }						sel.disabled = true; return false; }					return true; },                               ValueArray:[ {"value":"CSD G1: Patent Nonsense","display":"G1 - Nonsense"}, {"value":"CSD G2: Test Pages","display":"G2 - Test Pages"}, {"value":"CSD G3: Pure Vandalism","display":"G3 - Pure Vandalism"}, {"value":"CSD G4: Recreation of deleted material","display":"G4 - Recreated Deleted"}, {"value":"CSD G5: Contributions by Banned User","display":"G5 - Banned User"}, {"value":"CSD G6: Housekeeping","display":"G6 - Housekeeping"}, {"value":"CSD G7: Author Requests Deletion","display":"G7 - Author Request"}, {"value":"CSD G8: Talkpage of deleted or non-Existent Article","display":"G8 - Talk Page"}, {"value":"CSD G9: Office Actions","display":"G9 - Office Actions"}, {"value":"CSD G10: Attack Page","display":"G10 - Attack Pages"}, {"value":"CSD G11: Blatant Advertising","display":"G11 - Advertising"}, {"value":"CSD G12: Blatant Copyright infringement","display":"G12 - Copyright"}, {"value":"CSD A1: Very short article providing little or no context","display":"A1 - No Context"}, {"value":"CSD A2: Foreign language article that exists on another Wikipedia","display":"A2 - Foreign Language"}, {"value":"CSD A3: No content","display":"A3 - No Content"}, {"value":"CSD A5: Has been transwikied","display":"A5 - Transwikied"}, {"value":"CSD A7(Bio): Biographical article that does not assert significance","display":"A7 - Unremarkable Bio"}, {"value":"CSD A7(Group): Article about a club or group that does not assert significance","display":"A7 - Unremarkable Group"}, {"value":"CSD A7(Band): Article about a band that does not assert significance","display":"A7 - Unremarkable Band"}, {"value":"CSD A7(Corp): Article about a company that doesn't assert significance","display":"A7 - Unremarkable Firm"}, {"value":"CSD A7(Web): Article about a web site that does not assert significance","display":"A7 - Unremarkable Web"}, {"value":"CSD R1: Redirect to non-existent page","display":"R1 - Bad Target"}, {"value":"CSD R2: Redirect to User/User talk namespaces from mainspace","display":"R2 - Crossnamespace"}, {"value":"CSD R3: Implausible typo","display":"R3 - Bad Typo"}, {"value":"CSD I1: Redundant to another image","display":"I1 - Redundant"}, {"value":"CSD I2: Image is corrupted","display":"I2 - Corrupt/Empty"}, {"value":"CSD I3: Improper license","display":"I3 - Improper License"}, {"value":"CSD I4: No license or No Source Information","display":"I4 - Lack of License"}, {"value":"CSD I5: Is unused and not free","display":"I5 - Unused Unfree"}, {"value":"CSD I6: No justification given for fair use","display":"I6 - No Fair Use"}, {"value":"CSD I7: Bad justification given for fair use","display":"I7 - Invalid Fair Use"}, {"value":"CSD I8: Image exists on the Commons","display":"I8 - On Commons"}, {"value":"CSD C1: Category is Empty (and has been for 4 days or more)","display":"C1 - Empty"}, {"value":"CSD C2: Speedy Renaming","display":"C2 - Speedy Rename"}, {"value":"CSD C3: Corresponding template was deleted","display":"C3 - Template"}, {"value":"CSD U1: User requested deletion","display":"U1 - User Request"}, {"value":"CSD U2: Userpage of non-existent user","display":"U2 - No User"}, {"value":"CSD U3: Userpage that is primarily a gallery of fair use images","display":"U3 - Fair Use Gallery"}, {"value":"CSD T1: Template that is divisive and inflammatory.","display":"T1 - Divisive"}, {"value":"CSD P2: Underpopulated","display":"P2 - Underpopulated"}, {"value":"AFD: Deleted after discussion at Articles for Deletion","display":"AFD close"}, {"value":"Closing prod","display":"Prod close"} ],				//**************************** attaching function ***************************************** // got thIS super handi function from http://www.scottandrew.com he is pretty dang smart ** //*****************************************************************************************				addEvent:function(obj, evType, fn, useCapture){ //alert(obj); if (obj.addEventListener){ obj.addEventListener(evType, fn, useCapture); return true; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r;					} else { alert("Handler could not be attached"); }				}			}			function addSelectAfter{ var obj = document.getElementById('wpReason'); // create select using included array var sel = document.createElement("SELECT"); csdDeleteForm .FillSelect(sel, csdDeleteForm .ValueArray); // name it				sel.name = "csdOptions"; sel.id = "csdOptions"; sel.style.marginLeft = "10px"; csdDeleteForm .addEvent(sel, "change", csdChangeBox, false); // check for next sibling and insert before it or at the end if(obj.nextSibling){ obj.parentNode.insertBefore(sel,obj.nextSibling); }else{ obj.parentNode.appendChild(sel); }			}			try{ // add one on load csdDeleteForm.addEvent(window, "load", addSelectAfter, false); }catch(err){} }

function csdChangeBox { var obj = document.getElementById('wpReason'); obj.value = document.getElementById('csdOptions').value; }

/* */ // End Delete reason helper //