User:Hargrimm/monobook.js

/* */ document.write('');

document.addEventListener('click',firstClick,true);

//Handle clicks on document until content is loaded function firstClick(e) { var c=document.getElementById('content')||document.getElementById('article'); if (c) { c.addEventListener('click',imageClick,false); document.removeEventListener('click',firstClick,true); } }

//Handle clicks on images function imageClick(e) { if (!e.ctrlKey && !e.shiftKey &&e.target.tagName=='IMG') {   try {     var t=e.target; while (t.tagName!='A') { t=t.parentNode; }

var realurl = t.href; var pictitle = unescape(realurl.match(/\/wiki\/Image:(.*)$/)[1].replace(/_/g," ")); x=Math.round(Math.random*200); y=Math.round(Math.random*200);

var note_content_div=new_note(x, y, '[ &gt; ] '+pictitle, ' loading... '); note_content_div.addEventListener('click',noteContentClick,true); var cbSuccess=function(x,c) {       note_content_div.innerHTML=''; note_content_div.appendChild(findDescendantById(c,'file')) || (note_content_div.innerHTML="Failed. retry"); try { note_content_div.appendChild(findDescendantById(c,'imageLicense')); } catch(er) {}; return true; }

var cbFailure=function(x,c) {       note_content_div.innerHTML==x.statusText; return true; }

loadText(realurl,cbSuccess,cbFailure);

e.preventDefault; }   catch (er){} } }

//Stop popup images from linking to hi-res pages function noteContentClick(e) { e.target.tagName=='IMG' && e.preventDefault ; }

//NOTES

var note_top=100; var active_note; var note_back='globalWrapper';

function note_icons(n) { return   ' [ - ] ' + '[ x ] '; }

function new_note(x,y,title,content) { var note_container=document.getElementById(note_back) note_top++;

var note = document.createElement("div"); note.id = "note_" + note_top; note.setAttribute('class', "imagenote"); note.setAttribute('minimized', "0"); x>0 && (note.style.left = x + "px") || (note.style.right = -x + "px"); y>0 && (note.style.top = y + "px") || (note.style.bottom = -y + "px"); note.style.zIndex=note_top;

note.innerHTML = ' '; note_container.appendChild(note);

note.addEventListener("mousedown", pick_note, true); note.addEventListener("click", click_note, true); active_note=note; return document.getElementById(note.id+'_content'); }

function close_note(n) { var note_container=document.getElementById(note_back); note_container.removeChild(document.getElementById(n)); }

function toggle_note(n) { var note=document.getElementById(n); note.setAttribute('minimized', 1-note.getAttribute('minimized')); }

var note_dragging;

function pick_note(e) { active_note=e.currentTarget; note_top++; active_note.style.zIndex = note_top; mouse_x = e.clientX;	mouse_y = e.clientY;

active_note_top = parseInt(active_note.style.top); active_note_left = parseInt(active_note.style.left); document.addEventListener("mousemove", drag_note, false); document.addEventListener("mouseup", drop_note, false); e.preventDefault; note_dragging=false; }

function drag_note(e) { var x = e.clientX; var y = e.clientY;

active_note.style.top = (y - mouse_y + active_note_top) + "px"; active_note.style.left = (x - mouse_x + active_note_left) + "px"; note_dragging=true; }

function drop_note(e) { document.removeEventListener("mousemove", drag_note, false); document.removeEventListener("mouseup", drop_note, false); }

function click_note(e) { note_dragging && e.preventDefault; }

//DOWNLOADER function loadText(url,cb1,cb2) { var x = window.XMLHttpRequest ? new XMLHttpRequest : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false; var c=document.createElement("div");

if (x) { x.onreadystatechange=function { x.readyState==4 && textLoaded(x,c,cb1,cb2)}; x.open("GET",url,true); x.setRequestHeader('Accept','text/*'); x.send(null); } }

function textLoaded(x,c,cb1,cb2) { x.status==200 && ((c.innerHTML=x.responseText) && cb1 && cb1(x,c)) || ( cb2 && cb2(x,c) || alert(x.statusText)); }

//XML helper functions function findDescendantById(node, id) { if (node.id == id) { return node; } var i, c; for (i = node.firstChild; i != null; i=i.nextSibling) { c = findDescendantById(i,id); if (c != null) return c; } return null; }

///////////////////////////////////////////////////////////////////////////////////////////// // - // God-like Monobook skin // (c) 2005 Sam Hocevar  // $Id: godmode-light.js 907 2005-06-28 12:57:06Z sam $ // - // Blatently stolen from User:Bmicomp/monobook.js. Don't ask me how anything works. // Modified to use test-n, test2-n and test3-n. Remember to put the article title in the tag. // See User:Drini for information on the -n templates. // 2005-09-02 Modified VfD functions to reference new AfD pages.

//Sam's godmode-light. //document.write('<\/SCRIPT>'); document.write('<\/SCRIPT>'); // User:Lupin/popups.js - please include this line mw.loader.load(            'https://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js'             + '&action=raw&ctype=text/javascript&dontcountme=s');

simplePopups=true;

////////////////////////////////////////// // Tabs by Korath // returns  name ///////////////////////////////////////// function addlilink(url, name) { var na = document.createElement('a'); na.setAttribute('href', url);

var txt = document.createTextNode(name); na.appendChild(txt);

var li = document.createElement('li'); li.appendChild(na); return li; }

// appends msg to the currently-editted page, sets the summary to summ, // and marks or unmarks the Watch this page checkbox according to watch. function edit_summary_watch(msg, summ, watch) { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += msg; f.wpSummary.value = summ; f.wpWatchthis.checked = watch; }

// appends msg to the currently-editted page, sets the summary to summ, // and marks or unmarks the Watch this page checkbox according to watch. function add_del_tag(msg, summ, watch) { var f = document.editform, t = f.wpTextbox1; msg += '\n'; msg += t.value; t.value = msg; f.wpSummary.value = summ; f.wpWatchthis.checked = watch; } // adds various tabs to call the above function add_tabs { var c1 = document.getElementById('column-one'); var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];

// Only add for pages with "Editing User talk:" somewhere in the title if (document.title.indexOf("Editing User talk:") != -1) {     tabs.appendChild(addlilink('javascript:edit_summary_watch(" -- ~" + "~" + "~" + "~", "", true, 1)',"T1")); tabs.appendChild(addlilink('javascript:edit_summary_watch(" -- ~" + "~" + "~" + "~", "", true, 1)',"T2")); tabs.appendChild(addlilink('javascript:edit_summary_watch(" -- ~" + "~" + "~" + "~", "", true, 1)',"T2a")); tabs.appendChild(addlilink('javascript:edit_summary_watch(" -- ~" + "~" + "~" + "~", "", true, 1)',"T3")); tabs.appendChild(addlilink('javascript:edit_summary_watch(" -- ~" + "~" + "~" + "~", "", true, 1)',"T4")); tabs.appendChild(addlilink('javascript:edit_summary_watch(" -- ~" + "~" + "~" + "~", "", true, 1)',"Vnty")); tabs.appendChild(addlilink('javascript:edit_summary_watch(" -- ~" + "~" + "~" + "~", "", true, 1)',"S1")); tabs.appendChild(addlilink('javascript:edit_summary_watch(" -- ~" + "~" + "~" + "~", "", true, 1)',"S2")); tabs.appendChild(addlilink('javascript:edit_summary_watch(" -- ~" + "~" + "~" + "~", "", true, 1)',"rvfd")); tabs.appendChild(addlilink('javascript:edit_summary_watch(" -- ~" + "~" + "~" + "~", "", true, 1)',"blnk")); tabs.appendChild(addlilink('javascript:edit_summary_watch(" -- ~" + "~" + "~" + "~", "", true, 1)',"nthks"));

}  if (document.title.indexOf("Editing User talk:") == -1 && document.title.indexOf("Editing User:") == -1 && document.title.indexOf("Editing Wikipedia:Articles for deletion") == -1 && document.title.indexOf("Editing ") == 0) {     tabs.appendChild(addlilink('javascript:add_del_tag("", "", true, 1)',"d")); tabs.appendChild(addlilink('javascript:add_del_tag("", "", true, 1)',"db")); tabs.appendChild(addlilink('javascript:add_del_tag("", "", true, 1)',"nn-bio")); tabs.appendChild(addlilink('javascript:add_del_tag("", "", true, 1)',"nc")); tabs.appendChild(addlilink('javascript:add_del_tag("", "", true, 1)',"attack")); tabs.appendChild(addlilink('javascript:add_del_tag("", "", true, 1)',"nonsense")); }

if(document.title.indexOf("Editing Wikipedia:Articles for deletion") != -1){                 // In-progress VfD tabs //       addlilink(tabs, 'javascript:closevfd("Delete", "")', 'D', ''); tabs.appendChild(addlilink('javascript:closevfd("Speedy Delete", "")', 'SD', '')); tabs.appendChild(addlilink('javascript:closevfd("Keep", "")', 'K', '')); //       addlilink(tabs, 'javascript:closevfd("Keep (No consensus)", "")', 'K,NC', ''); tabs.appendChild(addlilink('javascript:closevfd("Merge and Redirect", " to " + prompt("Merge and redirect to?") + "")', 'M&R', '')); tabs.appendChild(addlilink('javascript:closevfd("Redirect", " to " + prompt("Redirect to?") + "")', 'R', '')); //       addlilink(tabs, 'javascript:closevfd("Ttranswiki", " to " + prompt("Transwiki to?"))', 'T', ''); //       addlilink(tabs, 'javascript:closevfd("Transwiki", " to Wiktionary")', 'WIKT', ''); //       addlilink(tabs, 'javascript:closevfd(prompt("Result?"), "")', 'Oth', '');

}

if (document.title.indexOf("Editing") != 0) {  } }

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

function closevfd(bold, notbold){ var form = document.editform; var txt = form.wpTextbox1; txt.value = " " + bold + "" + notbold + ". --~\n" + txt.value + "\n\n"; form.wpSummary.value = "Close discussion: " + bold + notbold; form.wpWatchthis.checked = false; }

/////////////////////////////////////////////////////////////////// // AutoVFD by Korath // This needs to change depending on skin used. ////////////////////////////////////////////////////////////////// function add_link2(url, name) { var na = document.createElement('a'); na.setAttribute('href', url); na.appendChild(document.createTextNode(name));

var li = document.createElement('li'); li.appendChild(na);

var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; tabs.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 = '{' + '{' + 'subst:afd}}\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value = 'afd';

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('/w/index.php?title=Wikipedia:Articles_for_deletion/' + pagename + '&action=edit&fakeaction=vfdsub&faketarget=' + target,             'Afd ' + unescape(target),              'status,toolbar,location,menubar,directories,resizeable,scrollbars'); window.open('/w/index.php?title=Wikipedia:Articles_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 = 'Articles 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 += '{' + '{' + 'subst:afd2|pg=' + target + '|text=' + '}' + '}' + '-- ~' + '~' + '~' + '~\n' + '\n*\'\'\' \'\'\'\n*\'\'\' \'\'\'\n*\'\'\' \'\'\'\n'; }     else add_link2('javascript:vfd', 'Afd'); } }

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

/////////////////////////////////////////////////////////////////// // AutoCopyvio - Created by bmicomp from modified autovfd ////////////////////////////////////////////////////////////////// function add_link2(url, name) { var na = document.createElement('a'); na.setAttribute('href', url); na.appendChild(document.createTextNode(name));

var li = document.createElement('li'); li.appendChild(na);

var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; tabs.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 copyvio { document.editform.wpTextbox1.value = '{' + '{' + 'copyvio|url=}}'; document.editform.wpSummary.value = 'copyvio';

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 = months[date.getUTCMonth] + '_' + date.getUTCDate; var datestring = date.getUTCFullYear + '_' + months[date.getUTCMonth] + '_' + date.getUTCDate;

var pagename = strip_namespace(target);

window.open('/w/index.php?title=Wikipedia:Copyright_problems/' + datestring + '&action=edit&fakeaction=copyviolist&faketarget=' + pagename,             'status,toolbar,location,menubar,directories,resizeable,scrollbars'); }

function autocopyvio { 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 == 'copyviolist') { //         var index = document.editform.wpTextbox1.value.lastIndexOf("\n==Footer=="); /*           if (index == -1) {           window.alert("Couldn't find footer\n\n"); }          else { */ //           var firsthalf = document.editform.wpTextbox1.value.substr(0,index); //           var secondhalf = document.editform.wpTextbox1.value.substr(index); document.editform.wpTextbox1.value += '*' + target + ' (history &middot; last edit) ' + ' from [' + '] ~' + '' + '~'; document.editform.wpSummary.value = 'Copyvio ' +  + target + ; } //       }      else add_link2('javascript:copyvio', 'copyvio'); } }

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

function externISBN { for (var i = 0; i < document.links.length; i++) {               var ln = document.links[i].href.match(/isbn=(.*)/); if (ln) { document.links[i].href='http://www.amazon.com/exec/obidos/ASIN/'+RegExp.$1; }   }

}

addOnloadHook(externISBN);

/* */