Jump to content

User:Gary Queen/layout.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Gary Queen (talk | contribs) at 04:49, 14 August 2010 (t). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/*
	GARY KING'S LAYOUT

	FIXME When action=purge, icons are moved up higher.
	
	TODO Change wikEd icon to text.
	TODO Add a link to disable all (or also some) of the functions here.
	TODO Separate page into functions.
	TODO Consider templates (Template:) short pages? (In monobook.js)
	TODO Automatically enlarge lead images to 300px when a size has not been set?
*/

/*
	hook
*/
addOnloadHook(function()
{
	pagesLayout();
});

/*
	useful functions
*/
function $(element)
{
	return document.getElementById(element);
}

Object.prototype.addClass = function(newClass)
{
	element = this;
	
	if (element.className)
	{
		classes = element.className.split(' ');
		classes.push(newClass);
		return element.className = classes.join(' ');
	}
	else return element.className = newClass;	
}

Object.prototype.hasClass = function(classToCheck)
{
	element = this;
	
	if (!element.className) return false;
	
	classes = element.className.split(' ');
	for (var i = 0; i < classes.length; i++)
	{
		if (classes[i] == classToCheck)
			return true;
	}
	
	return false;	
}

Object.prototype.removeClass = function(oldClass)
{
	element = this;
	
	if (!element.className) return false;
	classes = element.className.split(' ');
	newClasses = [];
	for (var i = 0; i < classes.length; i++)
	{
		if (classes[i] != oldClass)
			newClasses.push(classes[i]);
	}
	
	return element.className = newClasses;	
}

String.prototype.trim = function()
{
	return this.replace(/^[\s|\n]+|[\s|\n]+$/g, '');	
}

String.prototype.ltrim = function()
{
	return this.replace(/^[\s|\n]+/, '');
}

String.prototype.rtrim = function()
{
	return this.replace(/[\s|\n]+$/, '');
}

/*
	do page layout
*/
function pagesLayout()
{
	/*
		variables
	*/
	var content = $('content');
	var jumpToNav = $('jump-to-nav');
	var pPersonal = $('p-personal');
	
	var afterJumpToNav = jumpToNav.nextSibling.nextSibling.nextSibling.nextSibling;
	var bodyContent = $('bodyContent');
	var cactions = $('p-cactions');
	var caEdit = $('ca-edit');
	var caMain = $('ca-nstab-main');
	var contentSub = $('contentSub');
	var firstDiffElement = content.getElementsByClassName('diff')[0];
	var globalWrapper = $('globalWrapper');
	var h2 = content.getElementsByTagName('h2');
	var paragraphs = content.getElementsByTagName('p');
	var pBody = pPersonal.getElementsByClassName('pBody')[0];
	var pendingChanges = $('mw-fr-revisiontag');
	var relLinks = content.getElementsByClassName('rellink');
	var section0 = $('section-0');
	var siteSub = $('siteSub');
	var toc = $('toc');
	var tPrint = $('t-print');
	var userMessages = content.getElementsByClassName('usermessage');
	var wikiPreview = $('wikiPreview');
	var wikitables = content.getElementsByClassName('wikitable');
}