WP Plus Logo

By Johnny Bravo Last update May 6, 2008 — Installed 79 times. Daily Installs: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
// ==UserScript==
// @name        WPPlusLogo
// @namespace   bravo/monkey
// @description Adds plus logo v2.2
// @include     http://*.whirlpool.net.au/*
// @include     http://www.whirlpool.net.au/*
// @include     http://whirlpool.net.au/*
// ==/UserScript==

function $i(id) { // getById
	return document.getElementById(id);
}
function $x(p, c) { // xpath unordered nodes
	var i, r = [], x = document.evaluate(p, c || document, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null);
	while(i=x.iterateNext()) r.push(i);
	return r;
}
function $xo(p, c) { // xpath ordered nodes
	var i, r = [], x = document.evaluate(p, c || document, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
	while(i=x.iterateNext()) r.push(i);
	return r;
}
function $xf(p, c) { // xpath single first node
	return document.evaluate(p, c || document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}
function $xa(p, c) { // xpath single any node
	return document.evaluate(p, c || document, null, XPathResult.ANY_UNORDERED_NODE_TYPE, null).singleNodeValue;
}
function $t(s) { // text node
	return document.createTextNode(s);
}
function $e(type, attributes) { // create Element
	var node = document.createElement(type);
	for (var attr in attributes) if (attributes.hasOwnProperty(attr)){
		node.setAttribute(attr, attributes[attr]);
	}
	return node;
}
function $ed(element) { // delete Element
	element.parentNode.removeChild(element);
}
function $ea(newNode, node) { // insert element after
	return node.parentNode.insertBefore(newNode, node.nextSibling);
}
function $eb(newNode, node) { // insert element before
	return node.parentNode.insertBefore(newNode, node);
}
function $ef(newNode, par) { // make element first child of par
	return par.insertBefore(newNode, par.firstChild);
}
function $el(newNode, par) { // make element last child of par
	return par.appendChild(newNode);
}
var $ev= {
	_registry: null,
	Initialise: function() {
		if (this._registry == null) {
			this._registry = [];
			$ev.Add(window, "_unload", this.CleanUp);
		}
	},
	Add: function(obj, type, fn, useCapture) {
		this.Initialise();
		var realType=(type=="_unload"?"unload":type);
		if (typeof obj == "string") obj = document.getElementById(obj);
		if (obj == null || fn == null) return false;
		if(obj.addEventListener) obj.addEventListener(realType, fn, useCapture);
		this._registry.push({obj:obj, type:type, fn:fn, useCapture:useCapture});
		return true;
	},
	CleanUp: function() {
		for (var i = 0; i < $ev._registry.length; i++) {
			with($ev._registry[i]) {
				if(type=="unload") fn();
				if(obj.removeEventListener) obj.removeEventListener(type,fn,useCapture);
			}
		}
		$ev._registry = null;
	}
};
// -- start common config --
function __config() {
	var xx=$i('__back__');
	var yy=$i('__config_back__');
	xx.style.display=xx.style.display == 'block' ? 'none' : 'block';
	yy.style.display=xx.style.display;
}
if(! $i('__config__') ) {
	$el($e('DIV', { 
		'id'		: '__back__',
		'style'		: 'position: fixed; top: 0; left: 0; z-index: 9998; width:100%; height:100%; background: black; opacity: 0.7; display:none;'
	}),document.body);
	$el($e('DIV', { 
		'id'		: '__config_back__',
		'style'		: 'position: fixed; top: 0; left: 0; z-index: 9999; width:100%; height:100%;'+
					  'background: transparent;font-size:16px; display:none;'
	}),document.body);
	$el($e('DIV', { 
		'id'		: '__config_header__',
		'style'		: 'width: 100%; text-align:center; font-size:2.6em; font-weight:bold;color: white;'
	}),$i('__config_back__'));
	$el($e('DIV', { 
		'id'		: '__config__',
		'style'		: 'width: 100%; position:fixed; z-index:10000; background: transparent;top:3em;bottom:0;'
	}), $i('__config_back__'));
	$el($e('DIV', { 'style' : 'clear:both;' }), $i('__config__'));
	$el($e('DIV', { 
		'style' : 'font-size: 0.6em; position:fixed; z-index:10000; top:5px; right: 5px; color:white: font-weight:bold; background:red;'+
				  '-moz-border-radius:8px; padding: 0 6px; cursor:pointer;',
		'id' : '__config_close__'
	}),$i('__config_header__'));
	$el($t('Greasemonkey Scripts Setup'), $i('__config_header__'));
	$el($t('X'), $i('__config_close__'));
	$ev.Add($i('__config_close__'), 'click', __config, false);
}
function _config_addBlock(s) {
	var r = $eb($e('DIV', { 
		'style' : 'width:22%; margin:0 0 10px 10px; padding: 10px 8px; border: inset 2px yellow;background:#8888dd;-moz-border-radius:9px;' +
		'float:left;'
	}),$i('__config__').lastChild);
	$el($t(s), $el($e('H2', { 'style' : 'text-align:center; margin:0 0 0.4em;' }), r));
	return r;
}
// -- end common config --
// -- start WP config common --
if(! $i('__GMWP__')) {
	var tDL=$xa('//div[@id="footer"]/DL[@class="wikilist"]');
	if(tDL) {
		var tDT=$i('gm_config');
		if(! tDT ) {
			tDT=$el($e('DT', { 'id' : 'gm_config'} ),tDL);
			$el($t('Greasemonkey'), tDT);
		}
		var tDD = $el($e('DD', { 'style': 'cursor: pointer;', id: '__GMWP__'}),tDL);
		$el($t('Configuration'),tDD);
		$ev.Add(tDD, "click", __config, false);
	}
}
// -- end WP config common --

var $$plus='data:image/png;base64,'+
	'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';
$el($e('STYLE', { 'type' : 'text/css', 'id':'__wpplus' }), document.getElementsByTagName('HEAD')[0]);
$el($t([
	'#logo H1 A {background:transparent url(',
		$$plus,
		') no-repeat bottom right;}',
	'#footer DL.copyright DT.whirlpool A:before {position:absolute;display:block;height:150px;content:url(',
		$$plus,
		');padding:115px 0 0 128px;}'
	].join('')), $i('__wpplus'));
if(GM_getValue('showLogo', 'yes') != 'yes') $i('__wpplus').disabled = 'disabled';
var tDL=$xa('//div[@id="footer"]/DL[@class="wikilist"]');
if(tDL) {
	var tDT=$i('gm_config');
	var tDD=tDL.insertBefore($e('DD'), tDT);
	tDD = tDD.appendChild($e('A', { 'href' : '//whirlpool.net.au/wiki/?tag=whirlpool_plus' }));
	tDD.appendChild(document.createTextNode('Whirlpool Plus'));
}
{
	var cfg=_config_addBlock('Plus Logo');
	var tEl=cfg.appendChild($e('LABEL', { 'for' : '__plusLogo__' }));
	tEl.appendChild(document.createTextNode('Show Logo'));
	tEl=cfg.appendChild($e('INPUT', { 
		'style':'text-align:right;', 
		'type':'checkbox', 
		'id':'__plusLogo__'}));
	if (GM_getValue('showLogo', 'yes') == 'yes') tEl.checked = 'checked';
	$ev.Add(tEl, 'click', function() {
		GM_setValue('showLogo', $i('__plusLogo__').checked ? 'yes' : 'no');
		$i('__wpplus').disabled = $i('__plusLogo__').checked ? '' : 'disabled';
	}, false);
}