User:Usp/monobook.js

// Script from User:MarkS/extraeditbuttons.js document.write(''); //End

// install User:Cacycle/wikEd in-browser text editor document.write(''); //End

//Quick preview qPreviewAtBottom = true; importScript('User:Alex_Smotrov/qpreview.js');

//Search Box // User:Zocky/SearchBox.js document.write(' ');

//Tarkkailulistalta poisto suoraan muutoksetlistalta -alku 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 links = document.getElementById('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) } //loppu

//Gadget-UTCLiveClock.js -alku // UTC Live Clock // Created by w:User:AzaToth // // Adds a clock in the personal toolbar that shows the current time in UTC, and provides a purge link. // Copy-paste from http://commons.wikimedia.org/wiki/MediaWiki:Gadget-UTCLiveClock.js  // Seconds are removed by Usp function liveClock {	liveClock.node = mw.util.addPortletLink( 'p-personal', mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php?title=' + mw.config.get('wgPageName') + '&action=purge', '', 'utcdate' ); liveClock.node.style.fontSize = 'larger'; liveClock.node.style.fontWeight = 'bolder'; showTime; } addOnloadHook(liveClock) function showTime {	var dateNode = liveClock.node; if( !dateNode ) { return; }   var now = new Date; var hh = now.getUTCHours; var mm = now.getUTCMinutes; var time = ( hh < 10 ? '0' + hh : hh ) + ':' + ( mm < 10 ? '0' + mm : mm ); dateNode.firstChild.replaceChild( document.createTextNode( time ), dateNode.firstChild.firstChild ); window.setTimeout(showTime, 10000); } //Gadget-UTCLiveClock.js -loppu