User:Agradman/vector.js

/**
 * HAPPI gadget
 * This gadget is part of a research study being conducted by the
 * GroupLens Research lab at the University of Minnesota. Please see
 * the consent form at http://wikipedia.grouplens.org/HAPPI/consent.
 * If you have questions/comments/suggestions, please direct them to
 * User:EpochFail.
 * importScript("User:EpochFail/HAPPI.js")
 * importScript("User:Csewiki/vector.js");
 * importStylesheet('User:Csewiki/vector.css');
 * importScript("User:Csewiki/vector.js");
 * importStylesheet('User:Csewiki/vector.css');
 * importStylesheet('User:Csewiki/vector.css');

$(function { elems = document.getElementsByClassName('editsection'); for (i = 0; i <  elems.length; i++) elems[i].innerHTML = '[Back to top] ' + elems[i].innerHTML; });

var wlUnwatch = new function{ var unWatchLinks = []; var watchMsg = window.wgAjaxWatch ? mw.config.get('wgAjaxWatch').watchMsg : 'Watch'; var unwatchMsg = window.wgAjaxWatch ? mw.config.get('wgAjaxWatch').unwatchMsg : 'Unwatch'; var wlForm; var inProgress = null; var timeoutID = null; this.onLoad = function { //public method if (!(wlForm = document.forms[0]) || !wlForm.namespace) return; var content = document.getElementById('content') || document.getElementById('mw_content') var links = content.getElementsByTagName('a'); for (var i = 0; i < links.length; i++){ //append (x) links after history links if (!links[i].href.match(/[?&]action=history([&#]|$)/)) continue; var unwatch = document.createElement('a'); unwatch.href = mw.config.get('wgServer')+mw.config.get('wgScript')+'?action=unwatch&title='+encodeURIComponent(links[i].title); unwatch.onclick = onClick; unWatchLinks.push(unwatch); var nextEl = links[i].nextSibling.nextSibling; //item after )		nextEl.parentNode.insertBefore(document.createTextNode(' ('), nextEl); nextEl.parentNode.insertBefore(unwatch, nextEl); nextEl.parentNode.insertBefore(document.createTextNode(') '), nextEl);		setUnwatchLink(unwatch, false);	} } function setUnwatchLink (unwatchLink, state) {	unwatchLink.innerHTML = state ? '+' : 'x';	unwatchLink.title = state ? watchMsg : unwatchMsg; } function getPgName (unwatchLink){	return decodeURIComponent(unwatchLink.href.match(/&title=(.+)/)[1]); } function onClick(e) {	if (inProgress) return false;	if (!e) var e = window.event;	if (e.target) var targ = e.target; else if (e.srcElement) var targ = e.srcElement;	inProgress = getPgName(targ);	timeoutID = window.setTimeout(	function {inProgress = null},	10000	);	//call server	var action = (targ.innerHTML == 'x') ? 'u' : 'w';	sajax_do_call('wfAjaxWatch', [inProgress, action], showResult);	return false; } function showResult (request) {	if (timeoutID) window.clearTimeout(timeoutID);	var response = request.responseText;	if (window.wlUnwatchShowMsg) jsMsg (response.substr(4), 'watch'); var name = inProgress, name2 = name, state, prefix, idx, ns = 0, pg, i, el; inProgress = null; if (response.match(/^/)) state = true else if (response.match(/^/)) state = false else return; //unrecognized response //find the name of "other page" if ((idx = name.indexOf(':')) != -1){ //not main namespace prefix = name.substring(0,idx); name2 = name.substring(idx + 1) for (i=2; i < wlForm.namespace.options.length; i++) if (wlForm.namespace.options[i].text == prefix) ns = i - 1; if (ns == 0) name2 = name; // guess : was a part of the page name }	if (ns % 2)	ns--; else ns++; //switch to "other" namespace if (ns > 0) name2 = wlForm.namespace.options[ns+1].text + ':' + name2; //now mark all pages that are either name or name2 for (i=0; i<unWatchLinks.length; i++) if ((pg = getPgName(unWatchLinks[i])) && (pg==name || pg==name2)) { setUnwatchLink (unWatchLinks[i], state); el = unWatchLinks[i]; //now mark the whole line while ((el=el.previousSibling) && (el.nodeName!='DIV') && (el.nodeName!='BR')) if (el.style) el.style.textDecoration = state ? 'line-through' : ''; } } }//obj if (mw.config.get('wgCanonicalSpecialPageName') && mw.config.get('wgCanonicalSpecialPageName')=='Watchlist' && mw.config.get('wgAction')=='view') { if (doneOnloadHook) wlUnwatch.onLoad; //if imported dynamically else addOnloadHook (wlUnwatch.onLoad) }

/*** BEGIN WIKIBREAK ENFORCER ***/ $(function {

/*** Start editing here ***/

// When you want to end your break? // no leading zeroes. (example: 7 - correct, 07 - incorrect)

var date = { year: 2011, month: 2, day: 26}; var time = { hours: 20, minutes: 22, seconds: 0 };

/*** Stop editing here ***/

var currentDate = new Date; var enforcedBreakEnd = new Date(		date.year,date.month-1,date.day,time.hours,time.minutes,time.seconds); if (currentDate <= enforcedBreakEnd) { alert("Enforced wikibreak until "+enforcedBreakEnd.toLocaleString			+ "\n(now is "+currentDate.toLocaleString+")\n\nBye!"); location = "http://"+location.host+"/w/index.php?title=" + "Special:Userlogout&returnto=Main_Page"; } }); /*** END WIKIBREAK ENFORCER ***/