User:Alex 21/script-linecolour.js

On this occasion, we will delve into the fascinating world of User:Alex 21/script-linecolour.js, a topic that has been the subject of interest and research over the years. User:Alex 21/script-linecolour.js has captured the attention of academics, scientists, artists and enthusiasts alike, due to its impact on different areas of society. Throughout this article, we will explore various aspects related to User:Alex 21/script-linecolour.js, from its origin and evolution, to its relevance today. In addition, we will analyze the different perspectives and opinions that exist around this topic, with the aim of providing a comprehensive and enriching vision for our readers. Get ready to immerse yourself in the exciting universe of User:Alex 21/script-linecolour.js!
$(function($) {
	setTimeout(function() {
		$.when( mw.loader.using( ), $.ready ).then(function() {
			var portletlink = mw.util.addPortletLink('p-tv', '#', 'Line 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'); var i;
				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 textarea
					var colours = ;
					var topcolours = ;
					var s = wpTextbox1.value.split("\n");
					for (i = 0; i < s.length; i++) {
						if (s.indexOf('LineColor') > 0 || s.indexOf('TopColor') > 0 || s.indexOf('line_color') > 0) {
							// LineColor regex
							var reg = /\|\s*(LineColor|TopColor|line_color)*(*)/g;
							var t = reg.exec(s);
							if (!t) continue;
							// Add colour to saved colours if its not already added
							var fontColor = t;
							if (colours.indexOf(fontColor) >= 0) continue;
							colours = fontColor;
							if (s.indexOf('TopColor') > 0) topcolours = fontColor;
						}
					}
					
					for (i = 0; i < colours.length; i++) {
						// Gather colour, and individually adjust to AAA compliancy
						var thiscolour = colours;
						var fground = (topcolours.indexOf(thiscolour) >= 0 ? '0645AD' : false);
						var newcolour = colourCompliance(thiscolour,fground);
						
						// Update if the original colour has been changed to be compliant
						if (thiscolour != newcolour) {
							// 3-digits codes (e.g. #FF3344 = #F34)
							var _3code;
							if (thiscolour == thiscolour && thiscolour == thiscolour && thiscolour == thiscolour)
								_3code = thiscolour+thiscolour+thiscolour+'|';
							else _3code = '';
							
							// Replace colours, check for minus error
							var reg2 = new RegExp('\\b'+_3code+thiscolour+'\\b','gi');
							if (newcolour.indexOf("-") < 0) wpTextbox1.value = wpTextbox1.value.replace(reg2,newcolour);
							else alert("Error fixing colour code "+thiscolour+" - please fix manually.");
						}
					}
					
					// Done
					document.getElementById('wpSummary').value += "Adjusted color contrasts via ] per ] and ].";
				}
			});
		});
	},300);
});