User:Hargrimm/monobook.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
The accompanying .css page for this skin is at User:Hargrimm/monobook.css. |
/* <nowiki> */
document.write('<link rel="stylesheet" type="text/css" href="'
+ 'http://wiki.riteme.site/w/index.php?title=User:Zocky/PicturePopups.css'
+ '&action=raw&ctype=text/css&dontcountme=s">');
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, '[<a href="'+realurl+'"> > </a>] '+pictitle, '<blink><small><i>loading...</i></small></blink>');
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. <a>retry</a>");
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 '<nobr>[<a onclick="toggle_note(\''+n+'\')"> - </a>] '
+ '[<a onclick="close_note(\''+n+'\')"> x </a>]</nobr>';
}
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 = '<table><tr class="imagenotetitlebar">'
+ '<td class="imagenotetitle" id="'+note.id+'_title"><span>' + title + '</span></td>'
+ '<td class="imagenoteicons" id="'+note.id+'_icons" align="right">' + note_icons(note.id) + '</td></tr>'
+ '<tr><td class="imagenotecontent" id="'+note.id+'_content" colspan="2">'+content+'</td></tr></table>';
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 <sam@zoy.org>
// $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 SRC="http://sam.zoy.org/wikipedia/godmode-light.js"><\/SCRIPT>');
document.write('<SCRIPT SRC="http://share.zopatista.com/WikiPedia/godmode-light.js"><\/SCRIPT>');
// [[User:Lupin/popups.js]] - please include this line
mw.loader.load(
'https://wiki.riteme.site/w/index.php?title=User:Lupin/popups.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s');
simplePopups=true;
//////////////////////////////////////////
// Tabs by Korath
// returns <li><a href="url">name</a></li>
/////////////////////////////////////////
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("{{" + "subst:Test-n|}} -- ~" + "~" + "~" + "~", "{{" + "Test1}}", true, 1)',"T1"));
tabs.appendChild(addlilink('javascript:edit_summary_watch("{{" + "subst:Test2-n|}} -- ~" + "~" + "~" + "~", "{{" + "Test2}}", true, 1)',"T2"));
tabs.appendChild(addlilink('javascript:edit_summary_watch("{{" + "subst:Test2a-n|}} -- ~" + "~" + "~" + "~", "{{" + "Test2a}}", true, 1)',"T2a"));
tabs.appendChild(addlilink('javascript:edit_summary_watch("{{" + "subst:Test3-n|}} -- ~" + "~" + "~" + "~", "{{" + "Test3}}", true, 1)',"T3"));
tabs.appendChild(addlilink('javascript:edit_summary_watch("{{" + "subst:Test4}} -- ~" + "~" + "~" + "~", "{{" + "Test4}}", true, 1)',"T4"));
tabs.appendChild(addlilink('javascript:edit_summary_watch("{{" + "subst:Vanity|}} -- ~" + "~" + "~" + "~", "{{" + "Vanity}}", true, 1)',"Vnty"));
tabs.appendChild(addlilink('javascript:edit_summary_watch("{{" + "subst:spam1}} -- ~" + "~" + "~" + "~", "{{" + "spam1}}", true, 1)',"S1"));
tabs.appendChild(addlilink('javascript:edit_summary_watch("{{" + "subst:spam2}} -- ~" + "~" + "~" + "~", "{{" + "spam2}}", true, 1)',"S2"));
tabs.appendChild(addlilink('javascript:edit_summary_watch("{{" + "subst:rvfd|}} -- ~" + "~" + "~" + "~", "{{" + "rvfd}}", true, 1)',"rvfd"));
tabs.appendChild(addlilink('javascript:edit_summary_watch("{{" + "subst:blanking}} -- ~" + "~" + "~" + "~", "{{" + "blanking}}", true, 1)',"blnk"));
tabs.appendChild(addlilink('javascript:edit_summary_watch("{{" + "subst:nothanks|}} -- ~" + "~" + "~" + "~", "{{" + "nothanks}}", 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("{{" + "d}}", "{{" + "d}}", true, 1)',"d"));
tabs.appendChild(addlilink('javascript:add_del_tag("{{" + "db|}}", "{{" + "db}}", true, 1)',"db"));
tabs.appendChild(addlilink('javascript:add_del_tag("{{" + "nn-bio}}", "{{" + "nn-bio}}", true, 1)',"nn-bio"));
tabs.appendChild(addlilink('javascript:add_del_tag("{{" + "db|Very short article providing little or no context}}", "{{" + "db|Very short article providing little or no context}}", true, 1)',"nc"));
tabs.appendChild(addlilink('javascript:add_del_tag("{{" + "db|Short article that serve no purpose but to disparage their subject}}", "{{" + "db|Short article that serve no purpose but to disparage their subject}}", true, 1)',"attack"));
tabs.appendChild(addlilink('javascript:add_del_tag("{{" + "nonsense}}", "{{" + "nonsense}}", 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 = "{{subst:vt}} '''" + bold + "'''" + notbold + ". --~~~~\n" + txt.value + "\n{{subst:vb}}\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 += '{{' + 'subst:afd3|pg=' + target + '}}\n';
document.editform.wpSummary.value = '[[Wikipedia: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 + ']] <span class="plainlinks">([http://wiki.riteme.site/{{localurl:' + target + '|action=history}} history] · [http://wiki.riteme.site/{{localurl:' + target + '|diff=0}} last edit])</span>' + ' 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);
/* </nowiki> */