User:Korath/monobook.js

// // NO GUARANTEE THAT THIS WORKS // NO GUARANTEE THAT THIS DOESN'T CAUSE HARM // // Based directly on User:Korath/autovfd.js on English Wikipedia // by User:msh210 on English Wikipedia // This needs to be changed depending on the skin used. // Current version is for the monobook skin, with the links at the top. function add_link(url, name) { var li=document.createElement('li');

var na = document.createElement('a'); na.setAttribute('href', url);

var txt = document.createTextNode(name);

li.appendChild(na); na.appendChild(txt);

var ul = document.getElementById('p-cactions').getElementsByTagName('ul')[0];

if (ul.hasChildNodes) ul.appendChild(li); }

function strip_namespace(target) { var colon = target.indexOf(':'); if (colon != -1) {     var spaces = new Array('User', 'Wikipedia', 'Image', 'MediaWiki', 'Template', 'Help', 'Category'); var ns = target.substring(0, colon); if (ns == '' || ns == 'Talk') return target.substring(colon + 1); else for (var i = 0; i < spaces.length; ++i) {           if (ns == spaces[i]                || ns == spaces[i] + '_talk') return target.substring(colon + 1); }   }

return target; }

function vfd { document.editform.wpTextbox1.value = '\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value = 'vfd';

var target = document.editform.action; target = target.substring(target.indexOf('title=') + 6,   target.lastIndexOf('&action=submit'));

var months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); var date = new Date; date = date.getUTCFullYear + '_' + months[date.getUTCMonth] + '_' + date.getUTCDate;

var pagename = strip_namespace(target);

window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:Votes_for_deletion/' + pagename + '&action=edit&fakeaction=vfdsub&faketarget=' + target,     'Vfd_' + unescape(target),      'status,toolbar,location,menubar,directories,resizeable,scrollbars'); window.open('http://en.wikipedia.org/w/index.php?title=Wikipedia:Votes_for_deletion/Log/' + date + '&action=edit&fakeaction=vfdlist&faketarget=' + pagename,     'VfdLog_' + unescape(target),      'status,toolbar,location,menubar,directories,resizeable,scrollbars'); }

function autovfd { if (document.title.indexOf('Editing ') == 0) {     var action = ''; var target = ''; if (location.search) {         var l = location.search.substring(1).split('&'); for (var i = 0; i < l.length; ++i) {             var eq = l[i].indexOf('='); var name = l[i].substring(0, eq); if (name == 'fakeaction') action = l[i].substring(eq + 1); else if (name == 'faketarget') target = unescape(l[i].substring(eq + 1)).replace(/_/g, ' '); }       }

if (action == 'vfdlist') {         document.editform.wpTextbox1.value += '\n'; document.editform.wpSummary.value = 'Votes for deletion/' + target + ''; }     else if (action == 'vfdsub') {         if (document.editform.wpTextbox1.value.length > 0) {             target = document.editform.action; target = unescape(target.substring(target.indexOf('title=') + 6, target.lastIndexOf('&action=submit'))).replace(/_/g, ' '); window.alert("There's an old vfd at the default location already.\n\n" +                          'Please either move it out of the way (and update existing links to it), or file the Vfd by hand in another location (such as ' + target + ' (2)).'); }         else document.editform.wpTextbox1.value += '===' + target + '===\n' + 'Reason for nomination. ~' +'~' +'~' +'~\n*\n*\n*\n'; }     else add_link('javascript:vfd', 'VFD'); } }

if (window.addEventListener) window.addEventListener('load', autovfd, false); else if (window.attachEvent) window.attachEvent('onload', autovfd); //