<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://theportalwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=User%3APilk%2Fvector.js</id>
	<title>User:Pilk/vector.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://theportalwiki.com/w/index.php?action=history&amp;feed=atom&amp;title=User%3APilk%2Fvector.js"/>
	<link rel="alternate" type="text/html" href="https://theportalwiki.com/w/index.php?title=User:Pilk/vector.js&amp;action=history"/>
	<updated>2026-09-15T19:09:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://theportalwiki.com/w/index.php?title=User:Pilk/vector.js&amp;diff=397&amp;oldid=prev</id>
		<title>Pilk: Created page with &quot;/* 	COMMENTS IN LOCAL TIME 	Description: Changes UTC-based times and dates, such as those used in signatures, to be relative to local time. 	Docume...&quot;</title>
		<link rel="alternate" type="text/html" href="https://theportalwiki.com/w/index.php?title=User:Pilk/vector.js&amp;diff=397&amp;oldid=prev"/>
		<updated>2011-04-22T08:25:31Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;/* 	COMMENTS IN LOCAL TIME 	Description: Changes &lt;a href=&quot;/w/index.php?title=Coordinated_Universal_Time&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Coordinated Universal Time (page does not exist)&quot;&gt;UTC&lt;/a&gt;-based times and dates, such as those used in signatures, to be relative to local time. 	Docume...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/*&lt;br /&gt;
	COMMENTS IN LOCAL TIME&lt;br /&gt;
	Description: Changes [[Coordinated Universal Time|UTC]]-based times and dates, such as those used in signatures, to be relative to local time.&lt;br /&gt;
	Documentation: [[Wikipedia:Comments in Local Time]]&lt;br /&gt;
	Link: [[User:Gary King/comments in local time.js]]	&lt;br /&gt;
&lt;br /&gt;
	TODO Make lines with more than one timestamp format all timestamps on the line.	&lt;br /&gt;
	TODO All instances of &amp;quot;new Date(today.getYear()&amp;quot; should be changed to &amp;quot;new Date(today.getFullYear()&amp;quot;&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
addOnloadHook(function()&lt;br /&gt;
{&lt;br /&gt;
	// wgCanonicalNamespace = unsafeWindow.wgCanonicalNamespace&lt;br /&gt;
	&lt;br /&gt;
	/*&lt;br /&gt;
		Language&lt;br /&gt;
		&lt;br /&gt;
		LOCALIZING THIS SCRIPT&lt;br /&gt;
		To localize this script, change the terms below, to the RIGHT of the colons,&lt;br /&gt;
		to the correct term used in that language.&lt;br /&gt;
		&lt;br /&gt;
		For example, in the French language,&lt;br /&gt;
		&lt;br /&gt;
		&amp;#039;Today&amp;#039;		: 	&amp;#039;Today&amp;#039;,&lt;br /&gt;
		&lt;br /&gt;
		would be&lt;br /&gt;
		&lt;br /&gt;
		&amp;#039;Today&amp;#039;		: 	&amp;#039;Aujourd’hui&amp;#039;,&lt;br /&gt;
	*/&lt;br /&gt;
	var language = &lt;br /&gt;
	{&lt;br /&gt;
		// relative terms&lt;br /&gt;
		&amp;#039;Today&amp;#039;		: 	&amp;#039;Today&amp;#039;,&lt;br /&gt;
		&amp;#039;Yesterday&amp;#039;	: 	&amp;#039;Yesterday&amp;#039;,&lt;br /&gt;
		&amp;#039;Tomorrow&amp;#039;	: 	&amp;#039;Tomorrow&amp;#039;,&lt;br /&gt;
		&lt;br /&gt;
		&amp;#039;last&amp;#039;		: 	&amp;#039;last&amp;#039;,&lt;br /&gt;
		&amp;#039;this&amp;#039;		: 	&amp;#039;this&amp;#039;,&lt;br /&gt;
		&lt;br /&gt;
		// days of the week&lt;br /&gt;
		&amp;#039;Sunday&amp;#039;	: 	&amp;#039;Sunday&amp;#039;,&lt;br /&gt;
		&amp;#039;Monday&amp;#039;	: 	&amp;#039;Monday&amp;#039;,&lt;br /&gt;
		&amp;#039;Tuesday&amp;#039;	: 	&amp;#039;Tuesday&amp;#039;,&lt;br /&gt;
		&amp;#039;Wednesday&amp;#039;	: 	&amp;#039;Wednesday&amp;#039;,&lt;br /&gt;
		&amp;#039;Thursday&amp;#039;	: 	&amp;#039;Thursday&amp;#039;,&lt;br /&gt;
		&amp;#039;Friday&amp;#039;	: 	&amp;#039;Friday&amp;#039;,&lt;br /&gt;
		&amp;#039;Saturday&amp;#039;	: 	&amp;#039;Saturday&amp;#039;,&lt;br /&gt;
		&lt;br /&gt;
		// months of the year&lt;br /&gt;
		&amp;#039;January&amp;#039;	: 	&amp;#039;January&amp;#039;,&lt;br /&gt;
		&amp;#039;February&amp;#039;	: 	&amp;#039;February&amp;#039;,&lt;br /&gt;
		&amp;#039;March&amp;#039;		: 	&amp;#039;March&amp;#039;,&lt;br /&gt;
		&amp;#039;April&amp;#039;		: 	&amp;#039;April&amp;#039;,&lt;br /&gt;
		&amp;#039;May&amp;#039;		: 	&amp;#039;May&amp;#039;,&lt;br /&gt;
		&amp;#039;June&amp;#039;		: 	&amp;#039;June&amp;#039;,&lt;br /&gt;
		&amp;#039;July&amp;#039;		: 	&amp;#039;July&amp;#039;,&lt;br /&gt;
		&amp;#039;August&amp;#039;	: 	&amp;#039;August&amp;#039;,&lt;br /&gt;
		&amp;#039;September&amp;#039;	: 	&amp;#039;September&amp;#039;,&lt;br /&gt;
		&amp;#039;October&amp;#039;	: 	&amp;#039;October&amp;#039;,&lt;br /&gt;
		&amp;#039;November&amp;#039;	: 	&amp;#039;November&amp;#039;,&lt;br /&gt;
		&amp;#039;December&amp;#039;	: 	&amp;#039;December&amp;#039;,&lt;br /&gt;
		&lt;br /&gt;
		// difference words&lt;br /&gt;
		&amp;#039;ago&amp;#039;		: 	&amp;#039;ago&amp;#039;,&lt;br /&gt;
		&amp;#039;from now&amp;#039;	: 	&amp;#039;from now&amp;#039;,&lt;br /&gt;
		&lt;br /&gt;
		// date phrases&lt;br /&gt;
		&amp;#039;year&amp;#039;		: 	&amp;#039;year&amp;#039;,&lt;br /&gt;
		&amp;#039;years&amp;#039;		: 	&amp;#039;years&amp;#039;,&lt;br /&gt;
		&amp;#039;month&amp;#039;		: 	&amp;#039;month&amp;#039;,&lt;br /&gt;
		&amp;#039;months&amp;#039;	: 	&amp;#039;months&amp;#039;,&lt;br /&gt;
		&amp;#039;day&amp;#039;		: 	&amp;#039;day&amp;#039;,&lt;br /&gt;
		&amp;#039;days&amp;#039;		: 	&amp;#039;days&amp;#039;&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
	/*&lt;br /&gt;
		Settings&lt;br /&gt;
	*/&lt;br /&gt;
	if (typeof(LocalComments) == &amp;#039;undefined&amp;#039;)&lt;br /&gt;
		LocalComments = {};&lt;br /&gt;
&lt;br /&gt;
	if (typeof(LocalComments.dateDifference) == &amp;#039;undefined&amp;#039;)&lt;br /&gt;
		LocalComments.dateDifference = true;&lt;br /&gt;
 &lt;br /&gt;
	if (typeof(LocalComments.dateFormat) == &amp;#039;undefined&amp;#039;)&lt;br /&gt;
	{&lt;br /&gt;
		// Deprecated: LocalizeConfig&lt;br /&gt;
		if (typeof(LocalizeConfig) != &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; typeof(LocalizeConfig.dateFormat) != &amp;#039;undefined&amp;#039; &amp;amp;&amp;amp; LocalizeConfig.dateFormat != &amp;#039;&amp;#039;)&lt;br /&gt;
			LocalComments.dateFormat = LocalizeConfig.dateFormat;&lt;br /&gt;
		else&lt;br /&gt;
			LocalComments.dateFormat = &amp;#039;dmy&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
 &lt;br /&gt;
	if (typeof(LocalComments.timeFirst) == &amp;#039;undefined&amp;#039;)&lt;br /&gt;
		LocalComments.timeFirst = true;&lt;br /&gt;
	&lt;br /&gt;
	if (typeof(LocalComments.twentyFourHours) == &amp;#039;undefined&amp;#039;)&lt;br /&gt;
		LocalComments.twentyFourHours = false;&lt;br /&gt;
	/*&lt;br /&gt;
		End Settings&lt;br /&gt;
	*/&lt;br /&gt;
 &lt;br /&gt;
	if (wgCanonicalNamespace == &amp;#039;&amp;#039; || wgCanonicalNamespace == &amp;#039;MediaWiki&amp;#039; || wgCanonicalNamespace == &amp;#039;Special&amp;#039;)&lt;br /&gt;
		return;&lt;br /&gt;
 &lt;br /&gt;
	var disabled_urls = new Array(&amp;#039;action=history&amp;#039;), unique_url = false, wikiPreview = new Array(&amp;#039;action=edit&amp;#039;, &amp;#039;action=submit&amp;#039;);&lt;br /&gt;
	for (var i = 0; i &amp;lt; disabled_urls.length; i++)&lt;br /&gt;
	{&lt;br /&gt;
		if (document.location.href.indexOf(disabled_urls[i]) != -1)&lt;br /&gt;
			return;&lt;br /&gt;
	}&lt;br /&gt;
 &lt;br /&gt;
	for (var i = 0; i &amp;lt; wikiPreview.length; i++)&lt;br /&gt;
	{&lt;br /&gt;
		if (document.location.href.indexOf(wikiPreview[i]) != -1)&lt;br /&gt;
			unique_url = &amp;#039;wikiPreview&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
 &lt;br /&gt;
	var element_id = unique_url ? unique_url : &amp;#039;bodyContent&amp;#039;;&lt;br /&gt;
	replace_text(document.getElementById(element_id), /(\d\d):(\d\d), (\d{1,2}) ([A-Z][a-z]+) (\d{4}) \(UTC\)/g, adjust_time);&lt;br /&gt;
&lt;br /&gt;
function add_leading_zero(number)&lt;br /&gt;
{&lt;br /&gt;
	if (number &amp;lt; 10)&lt;br /&gt;
		number = &amp;#039;0&amp;#039; + number;&lt;br /&gt;
	return number;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function adjust_time(original_timestamp, old_hour, old_minute, old_day, old_month, old_year, offset)&lt;br /&gt;
{&lt;br /&gt;
	var today = new Date(), yesterday = new Date(), tomorrow = new Date();&lt;br /&gt;
	yesterday.setDate(yesterday.getDate() - 1);&lt;br /&gt;
	tomorrow.setDate(tomorrow.getDate() + 1);&lt;br /&gt;
	&lt;br /&gt;
	// set the date entered&lt;br /&gt;
	var time = new Date();&lt;br /&gt;
	time.setUTCFullYear(old_year, convert_month_to_number(old_month), old_day);&lt;br /&gt;
	time.setUTCHours(old_hour);&lt;br /&gt;
	time.setUTCMinutes(old_minute);&lt;br /&gt;
	&lt;br /&gt;
	// determine the time offset&lt;br /&gt;
	var utc_offset = -1 * time.getTimezoneOffset() / 60;&lt;br /&gt;
	if (utc_offset &amp;gt;= 0)&lt;br /&gt;
		utc_offset = &amp;#039;+&amp;#039; + utc_offset;&lt;br /&gt;
	else&lt;br /&gt;
		utc_offset = &amp;#039;−&amp;#039; + Math.abs(utc_offset);&lt;br /&gt;
	&lt;br /&gt;
	// set the date bits to output&lt;br /&gt;
	var year = time.getFullYear(), month = add_leading_zero(time.getMonth() + 1);&lt;br /&gt;
	var day = time.getDate();&lt;br /&gt;
	var hour = parseInt(time.getHours()), minute = add_leading_zero(time.getMinutes());&lt;br /&gt;
&lt;br /&gt;
	// output am or pm depending on the date&lt;br /&gt;
	var ampm = &amp;#039;&amp;#039;;&lt;br /&gt;
	if (!LocalComments.twentyFourHours)&lt;br /&gt;
	{&lt;br /&gt;
		ampm = &amp;#039; am&amp;#039;;&lt;br /&gt;
		if (hour &amp;gt; 11) ampm = &amp;#039; pm&amp;#039;;&lt;br /&gt;
		if (hour &amp;gt; 12) hour -= 12;&lt;br /&gt;
		if (hour == &amp;#039;00&amp;#039;) hour = 12;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// return &amp;#039;today&amp;#039; or &amp;#039;yesterday&amp;#039; if that is the case&lt;br /&gt;
	if (year == today.getFullYear() &amp;amp;&amp;amp; month == add_leading_zero(today.getMonth() + 1) &amp;amp;&amp;amp; day == today.getDate())&lt;br /&gt;
		var date = language[&amp;#039;Today&amp;#039;];&lt;br /&gt;
	else if (year == yesterday.getFullYear() &amp;amp;&amp;amp; month == add_leading_zero(yesterday.getMonth() + 1) &amp;amp;&amp;amp; day == yesterday.getDate())&lt;br /&gt;
		var date = language[&amp;#039;Yesterday&amp;#039;];&lt;br /&gt;
	else if (year == tomorrow.getFullYear() &amp;amp;&amp;amp; month == add_leading_zero(tomorrow.getMonth() + 1) &amp;amp;&amp;amp; day == tomorrow.getDate())&lt;br /&gt;
		var date = language[&amp;#039;Tomorrow&amp;#039;];&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		// calculate day of week&lt;br /&gt;
		var day_names = new Array(language[&amp;#039;Sunday&amp;#039;], language[&amp;#039;Monday&amp;#039;], language[&amp;#039;Tuesday&amp;#039;], language[&amp;#039;Wednesday&amp;#039;], language[&amp;#039;Thursday&amp;#039;], language[&amp;#039;Friday&amp;#039;], language[&amp;#039;Saturday&amp;#039;]);&lt;br /&gt;
		var day_of_the_week = day_names[time.getDay()];&lt;br /&gt;
		&lt;br /&gt;
		if (LocalComments.dateDifference)&lt;br /&gt;
		{&lt;br /&gt;
			// calculate time difference from today and the timestamp&lt;br /&gt;
			today = new Date(today.getYear(), today.getMonth(), today.getDate());&lt;br /&gt;
			time = new Date(time.getYear(), time.getMonth(), time.getDate());&lt;br /&gt;
		&lt;br /&gt;
			var milliseconds_ago = today.getTime() - time.getTime();&lt;br /&gt;
			var days_ago = Math.round(milliseconds_ago / 1000 / 60 / 60 / 24);&lt;br /&gt;
&lt;br /&gt;
			var difference, difference_word = &amp;#039;&amp;#039;, last = &amp;#039;&amp;#039;;&lt;br /&gt;
			if (today.valueOf() &amp;gt;= time.valueOf())&lt;br /&gt;
			{&lt;br /&gt;
				difference = new Date(today.valueOf() - time.valueOf());&lt;br /&gt;
				difference_word = language[&amp;#039;ago&amp;#039;];&lt;br /&gt;
				if (days_ago &amp;lt;= 7)&lt;br /&gt;
					last = language[&amp;#039;last&amp;#039;] + &amp;#039; &amp;#039;;&lt;br /&gt;
			}&lt;br /&gt;
			else&lt;br /&gt;
			{&lt;br /&gt;
				difference = new Date(time.valueOf() - today.valueOf());&lt;br /&gt;
				difference_word = language[&amp;#039;from now&amp;#039;];&lt;br /&gt;
				if (days_ago &amp;gt;= -7)&lt;br /&gt;
					last = language[&amp;#039;this&amp;#039;] + &amp;#039; &amp;#039;;&lt;br /&gt;
			}&lt;br /&gt;
			var descriptive_difference = [];&lt;br /&gt;
&lt;br /&gt;
			if (difference.getYear() - 70 &amp;gt; 0)&lt;br /&gt;
			{&lt;br /&gt;
				var years_ago = (difference.getYear() - 70) + &amp;#039; &amp;#039; + pluralize(language[&amp;#039;year&amp;#039;], difference.getYear() - 70, language[&amp;#039;years&amp;#039;]);&lt;br /&gt;
				descriptive_difference.push(years_ago);&lt;br /&gt;
			}&lt;br /&gt;
			if (difference.getMonth() &amp;gt; 0)&lt;br /&gt;
			{&lt;br /&gt;
				var months_ago = difference.getMonth() + &amp;#039; &amp;#039; + pluralize(language[&amp;#039;month&amp;#039;], difference.getMonth(), language[&amp;#039;months&amp;#039;]);&lt;br /&gt;
				descriptive_difference.push(months_ago);&lt;br /&gt;
			}&lt;br /&gt;
			if (difference.getDate() &amp;gt; 0)&lt;br /&gt;
			{&lt;br /&gt;
				var new_days_ago = difference.getDate() + &amp;#039; &amp;#039; + pluralize(language[&amp;#039;day&amp;#039;], difference.getDate(), language[&amp;#039;days&amp;#039;]);&lt;br /&gt;
				descriptive_difference.push(new_days_ago);&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
			descriptive_difference = &amp;#039; (&amp;#039; + descriptive_difference.join(&amp;#039;, &amp;#039;) + &amp;#039; &amp;#039; + difference_word + &amp;#039;)&amp;#039;;&lt;br /&gt;
		}&lt;br /&gt;
		else&lt;br /&gt;
		{&lt;br /&gt;
			descriptive_difference = &amp;#039;&amp;#039;;&lt;br /&gt;
			last = &amp;#039;&amp;#039;;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// format the date according to user preferences&lt;br /&gt;
		var formatted_date = &amp;#039;&amp;#039;, month_name = convert_number_to_month(time.getMonth());&lt;br /&gt;
		&lt;br /&gt;
		switch (LocalComments.dateFormat.toLowerCase())&lt;br /&gt;
		{&lt;br /&gt;
			case &amp;#039;dmy&amp;#039;:&lt;br /&gt;
				formatted_date = day + &amp;#039; &amp;#039; + month_name + &amp;#039; &amp;#039; + year;&lt;br /&gt;
				break;&lt;br /&gt;
			case &amp;#039;mdy&amp;#039;:&lt;br /&gt;
				formatted_date = month_name + &amp;#039; &amp;#039; + day + &amp;#039;, &amp;#039; + year;&lt;br /&gt;
				break;&lt;br /&gt;
			default:&lt;br /&gt;
				formatted_date = year + &amp;#039;-&amp;#039; + month + &amp;#039;-&amp;#039; + add_leading_zero(day);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		var date = formatted_date + &amp;#039;, &amp;#039; + last + day_of_the_week + descriptive_difference;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	var time = hour + &amp;#039;:&amp;#039; + minute + ampm;&lt;br /&gt;
	&lt;br /&gt;
	if (LocalComments.timeFirst)&lt;br /&gt;
		var return_date = time + &amp;#039;, &amp;#039; + date + &amp;#039; (UTC&amp;#039; + utc_offset + &amp;#039;)&amp;#039;;&lt;br /&gt;
	else&lt;br /&gt;
		var return_date = date + &amp;#039;, &amp;#039; + time + &amp;#039; (UTC&amp;#039; + utc_offset + &amp;#039;)&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	return return_date;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function convert_month_to_number(month)&lt;br /&gt;
{&lt;br /&gt;
   var output = new Date(month + &amp;#039; 1, 2001&amp;#039;);&lt;br /&gt;
   return output.getMonth();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function convert_number_to_month(number)&lt;br /&gt;
{&lt;br /&gt;
	var month = new Array(language[&amp;#039;January&amp;#039;], language[&amp;#039;February&amp;#039;], language[&amp;#039;March&amp;#039;], language[&amp;#039;April&amp;#039;], language[&amp;#039;May&amp;#039;], language[&amp;#039;June&amp;#039;], language[&amp;#039;July&amp;#039;], language[&amp;#039;August&amp;#039;], language[&amp;#039;September&amp;#039;], language[&amp;#039;October&amp;#039;], language[&amp;#039;November&amp;#039;], language[&amp;#039;December&amp;#039;]);&lt;br /&gt;
	return month[number];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function pluralize(term, count, plural)&lt;br /&gt;
{&lt;br /&gt;
  if (plural == null)&lt;br /&gt;
    plural = term + &amp;#039;s&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
  return (count == 1 ? term : plural)	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function replace_text(node, search, replace)&lt;br /&gt;
{&lt;br /&gt;
	if (node != null &amp;amp;&amp;amp; node.nodeType == 3)&lt;br /&gt;
	{&lt;br /&gt;
		var value = node.nodeValue;&lt;br /&gt;
		var matches = value.match(search);&lt;br /&gt;
		&lt;br /&gt;
		if (matches != null)&lt;br /&gt;
		{&lt;br /&gt;
			var node_parent_node = node.parentNode;&lt;br /&gt;
			var old_node = node;&lt;br /&gt;
			// old_node_list = node.parentNode.childNodes;&lt;br /&gt;
			&lt;br /&gt;
			for (match = 0; match &amp;lt; matches.length; match++)&lt;br /&gt;
			{&lt;br /&gt;
				// Create &amp;lt;span class=&amp;quot;localcomments&amp;quot; style=&amp;quot;font-size: 95%; white-space: nowrap;&amp;quot; title=&amp;quot;MATCHES[MATCH]&amp;quot;&amp;gt;MATCHES[MATCH]&amp;lt;/span&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
				var position;&lt;br /&gt;
				&lt;br /&gt;
				if (after_match != null &amp;amp;&amp;amp; length != null)&lt;br /&gt;
					position = after_match.search(search) + before_match.length + length;&lt;br /&gt;
				else&lt;br /&gt;
					position = value.search(search);&lt;br /&gt;
				&lt;br /&gt;
				var length = matches[match].toString().length;&lt;br /&gt;
				var before_match = value.substring(0, position);&lt;br /&gt;
				var after_match = value.substring(position + length);&lt;br /&gt;
				&lt;br /&gt;
				var span = document.createElement(&amp;#039;span&amp;#039;);			&lt;br /&gt;
				span.setAttribute(&amp;#039;class&amp;#039;, &amp;#039;localcomments&amp;#039;);&lt;br /&gt;
				span.style.fontSize = &amp;#039;95%&amp;#039;;&lt;br /&gt;
				span.style.whiteSpace = &amp;#039;nowrap&amp;#039;;&lt;br /&gt;
				span.setAttribute(&amp;#039;title&amp;#039;, matches[match]);&lt;br /&gt;
				span.appendChild(document.createTextNode(matches[match].toString().replace(search, replace)));&lt;br /&gt;
				&lt;br /&gt;
				var new_node = document.createDocumentFragment();&lt;br /&gt;
				new_node.appendChild(document.createTextNode(before_match));&lt;br /&gt;
				new_node.appendChild(span);&lt;br /&gt;
				new_node.appendChild(document.createTextNode(after_match));&lt;br /&gt;
&lt;br /&gt;
				node_parent_node.replaceChild(new_node, old_node);&lt;br /&gt;
				&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	else if (node != null)&lt;br /&gt;
	{&lt;br /&gt;
		var children = [], child = node.firstChild;&lt;br /&gt;
		while (child)&lt;br /&gt;
		{&lt;br /&gt;
			children[children.length] = child;&lt;br /&gt;
			child = child.nextSibling;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		for (var child = 0; child &amp;lt; children.length; child++)&lt;br /&gt;
			replace_text(children[child], search, replace);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Recent changes shows bots by default&lt;br /&gt;
function gid(i) {&lt;br /&gt;
    return document.getElementById(i);&lt;br /&gt;
}&lt;br /&gt;
function replaceRecentChangesLink(){&lt;br /&gt;
    if(gid(&amp;#039;n-recentchanges&amp;#039;)) {&lt;br /&gt;
        var a = gid(&amp;#039;n-recentchanges&amp;#039;).getElementsByTagName(&amp;#039;a&amp;#039;);&lt;br /&gt;
        for(i in a) {&lt;br /&gt;
            a[i].href = &amp;#039;/w/index.php?title=Special:RecentChanges&amp;amp;hidebots=0&amp;#039;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(replaceRecentChangesLink);&lt;br /&gt;
&lt;br /&gt;
// Adds a &amp;quot;Replace&amp;quot; tab which pops up two prompt boxes; one for a regexp and one for a replacement&lt;br /&gt;
function wpTextboxReplace()&lt;br /&gt;
{&lt;br /&gt;
    var s = prompt(&amp;quot;Search regexp:&amp;quot;);&lt;br /&gt;
    if(s){&lt;br /&gt;
        var r = prompt(&amp;quot;Replace /&amp;quot;+s+&amp;quot;/ with:&amp;quot;);&lt;br /&gt;
        if(!r &amp;amp;&amp;amp; r != &amp;#039;&amp;#039;) return;&lt;br /&gt;
        var txt = document.editform.wpTextbox1;&lt;br /&gt;
        txt.value = txt.value.replace(new RegExp(s, &amp;quot;mg&amp;quot;), r);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(function () {&lt;br /&gt;
    if (document.forms.editform) {&lt;br /&gt;
        addPortletLink(&amp;#039;p-cactions&amp;#039;, &amp;#039;javascript:wpTextboxReplace()&amp;#039;, &amp;#039;Replace&amp;#039;, &amp;#039;ca-replace&amp;#039;,&lt;br /&gt;
                       &amp;#039;Regexp replace for the edit window&amp;#039;, &amp;#039;R&amp;#039;, document.getElementById(&amp;#039;ca-history&amp;#039;));&lt;br /&gt;
    }&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Pilk</name></author>
	</entry>
</feed>