From Wikipedia, the free encyclopedia
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.

$(function($) {

	setTimeout(function() {

		$.when( mw.loader.using( 'mediawiki.util']), $.ready ).then(function() {

		var portletlink = mw.util.addPortletLink('p-tv', '#', 'Table colours');

			$(portletlink).click( function(e) {

				e.preventDefault();

				// Default parameters and determine if we need to go to the editing page

				var loc = window.location.href; var wpTextbox1 = document.getElementById('wpTextbox1');

				if (loc.indexOf('action=edit') < 0 && loc.indexOf('action=submit') < 0) {

					alert("Go to the edit page to use this script.");

				} else {

					// Gather colours from text of tables

					var s = wpTextbox1.value.split("\n");

					for (var i = 0; i < s.length; i++) {

						// Regex for any number of parameters that use colours

						var reg = /\s*\|\s*(bgcolour|bgcolor|headercolour|headercolor|colour|color|fgcolour|fgcolor|background)[\s\=\#]*([0-9A-Za-z]*)/g;

						var t = reg.exec(si]);

						if (!t) continue;

						

						// Add colour to saved colours if its not already added

						var fontColor = t2];

						

						// Gather colour, and individually adjust to AAA compliancy

						var newcolour = colourCompliance(fontColor,false);

						var reg2 = new RegExp('('+fontColor+')','gi');

						

						// Update if the original colour has been changed to be compliant, check for minus error

						if (newcolour.indexOf("-") < 0) wpTextbox1.value = wpTextbox1.value.replace(reg2,newcolour);

						else alert("Error fixing colour code "+fontColor+" - please fix manually.");

					}

					

					// Done

					document.getElementById('wpSummary').value += "Adjusted color contrasts via [[User:Alex 21/script-tablecolour|script]] per [[WP:COLOR]] and [[Template talk:Infobox television season/Archive 3]].";

				}

			});

		});

	},700);

});