<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://minewiki.pl/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-refTooltip.js</id>
	<title>MediaWiki:Gadget-refTooltip.js - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://minewiki.pl/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-refTooltip.js"/>
	<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=MediaWiki:Gadget-refTooltip.js&amp;action=history"/>
	<updated>2026-05-06T15:18:47Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>https://minewiki.pl/index.php?title=MediaWiki:Gadget-refTooltip.js&amp;diff=96781&amp;oldid=prev</id>
		<title>Frisk: tłumaczenie</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=MediaWiki:Gadget-refTooltip.js&amp;diff=96781&amp;oldid=prev"/>
		<updated>2016-09-27T22:17:41Z</updated>

		<summary type="html">&lt;p&gt;tłumaczenie&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Wersja z 00:17, 28 wrz 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;Linia 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	var i18n = {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	var i18n = {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		cancelButton: &#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Cancel&lt;/del&gt;&#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		cancelButton: &#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Anuluj&lt;/ins&gt;&#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		doneButton: &#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Done&lt;/del&gt;&#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		doneButton: &#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Zapisz&lt;/ins&gt;&#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		enableLabel: &#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Enable reference tooltips&lt;/del&gt;&#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		enableLabel: &#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Włącz pokazywanie przypisów&lt;/ins&gt;&#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		optionsButtonTitle: &#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Change reference tooltip options&lt;/del&gt;&#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		optionsButtonTitle: &#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Zmień opcje pokazywania przypisów&lt;/ins&gt;&#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		referencesSectionName: &#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;References&lt;/del&gt;&#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		referencesSectionName: &#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Przypisy&lt;/ins&gt;&#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		saveFailedStorageFull: &quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Is your browser&#039;s localStorage full&lt;/del&gt;?&quot;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		saveFailedStorageFull: &quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Czy pamięć podręczna Twojej przeglądarki jest pełna&lt;/ins&gt;?&quot;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		saveFailedTitle: &#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Saving options failed&lt;/del&gt;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		saveFailedTitle: &#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Zapisywanie opcji zakończone niepowodzeniem&lt;/ins&gt;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	};&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	};&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Frisk</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=MediaWiki:Gadget-refTooltip.js&amp;diff=96780&amp;oldid=prev</id>
		<title>Frisk: 1 wersja: Import gadżetu</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=MediaWiki:Gadget-refTooltip.js&amp;diff=96780&amp;oldid=prev"/>
		<updated>2016-09-27T22:01:11Z</updated>

		<summary type="html">&lt;p&gt;1 wersja: Import gadżetu&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Wersja z 00:01, 28 wrz 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;pl&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Brak różnic)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key minewiki-minewiki_:diff:1.41:old-96779:rev-96780 --&gt;
&lt;/table&gt;</summary>
		<author><name>Frisk</name></author>
	</entry>
	<entry>
		<id>https://minewiki.pl/index.php?title=MediaWiki:Gadget-refTooltip.js&amp;diff=96779&amp;oldid=prev</id>
		<title>Majr: Allow specifying references section name so options button works on other languages</title>
		<link rel="alternate" type="text/html" href="https://minewiki.pl/index.php?title=MediaWiki:Gadget-refTooltip.js&amp;diff=96779&amp;oldid=prev"/>
		<updated>2016-06-07T08:21:08Z</updated>

		<summary type="html">&lt;p&gt;Allow specifying references section name so options button works on other languages&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;$( function() {&lt;br /&gt;
	&amp;#039;use strict&amp;#039;;&lt;br /&gt;
	&lt;br /&gt;
	var i18n = {&lt;br /&gt;
		cancelButton: &amp;#039;Cancel&amp;#039;,&lt;br /&gt;
		doneButton: &amp;#039;Done&amp;#039;,&lt;br /&gt;
		enableLabel: &amp;#039;Enable reference tooltips&amp;#039;,&lt;br /&gt;
		optionsButtonTitle: &amp;#039;Change reference tooltip options&amp;#039;,&lt;br /&gt;
		referencesSectionName: &amp;#039;References&amp;#039;,&lt;br /&gt;
		saveFailedStorageFull: &amp;quot;Is your browser&amp;#039;s localStorage full?&amp;quot;,&lt;br /&gt;
		saveFailedTitle: &amp;#039;Saving options failed&amp;#039;&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
	var $win = $( window );&lt;br /&gt;
	var $body = $( &amp;#039;.mw-body&amp;#039; );&lt;br /&gt;
	var $content = $( &amp;#039;#mw-content-text&amp;#039; );&lt;br /&gt;
	var $tooltip = $();&lt;br /&gt;
	var $tooltipText = $();&lt;br /&gt;
	var tooltipRect, tooltipInnerWidth, tooltipOffset, $anchor, anchorRect;&lt;br /&gt;
	var showTimer, hideTimer;&lt;br /&gt;
	var loggedIn = !!mw.config.get( &amp;#039;wgUserId&amp;#039; );&lt;br /&gt;
	var options = {&lt;br /&gt;
		enabled: true&lt;br /&gt;
	};&lt;br /&gt;
	if ( !loggedIn ) {&lt;br /&gt;
		try {&lt;br /&gt;
			options = JSON.parse( localStorage.refTooltip );&lt;br /&gt;
		} catch ( e ) {}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	var createTooltip = function( $anchor, content, showOptions ) {&lt;br /&gt;
		// Get rid of any existing tooltip&lt;br /&gt;
		$tooltip.remove();&lt;br /&gt;
		&lt;br /&gt;
		// Create the tooltip&lt;br /&gt;
		$tooltip = $( &amp;#039;&amp;lt;div&amp;gt;&amp;#039; ).addClass( &amp;#039;ref-tooltip&amp;#039; ).data( {&lt;br /&gt;
			anchor: $anchor,&lt;br /&gt;
			fresh: true,&lt;br /&gt;
		} ).hover( function() {&lt;br /&gt;
		// Callback to the ref&amp;#039;s hover functions when the tooltip is hovered over&lt;br /&gt;
			$anchor.mouseenter();&lt;br /&gt;
		}, function() {&lt;br /&gt;
			$anchor.mouseleave();&lt;br /&gt;
		} );&lt;br /&gt;
		&lt;br /&gt;
		$tooltipText = $( &amp;#039;&amp;lt;div&amp;gt;&amp;#039; ).addClass( &amp;#039;ref-tooltip-text&amp;#039; )&lt;br /&gt;
			.append( content ).appendTo( $tooltip );&lt;br /&gt;
		if ( showOptions ) {&lt;br /&gt;
			$tooltipText.prepend(&lt;br /&gt;
				$( &amp;#039;&amp;lt;button&amp;gt;&amp;#039; ).addClass( &amp;#039;pixel-image ref-tooltip-options-button&amp;#039; )&lt;br /&gt;
					.attr( &amp;#039;title&amp;#039;, i18n.optionsButtonTitle )&lt;br /&gt;
			);&lt;br /&gt;
		}&lt;br /&gt;
		$( &amp;#039;&amp;lt;div&amp;gt;&amp;#039; ).addClass( &amp;#039;ref-tooltip-arrow&amp;#039; ).appendTo( $tooltip );&lt;br /&gt;
		$tooltip.appendTo( &amp;#039;body&amp;#039; );&lt;br /&gt;
		// Set width to content size&lt;br /&gt;
		$tooltipText.width( $tooltipText.width() + 1 );&lt;br /&gt;
		&lt;br /&gt;
		setPos( true );&lt;br /&gt;
		&lt;br /&gt;
		// Data prevents tooltips being immediately closed if opened via a click&lt;br /&gt;
		setTimeout( function() {&lt;br /&gt;
			$tooltip.removeData( &amp;#039;fresh&amp;#039; );&lt;br /&gt;
		}, 0 );&lt;br /&gt;
	};&lt;br /&gt;
	var removeTooltip = function() {&lt;br /&gt;
		$tooltip.trigger( &amp;#039;refTooltip-close&amp;#039; );&lt;br /&gt;
		&lt;br /&gt;
		$tooltip.remove();&lt;br /&gt;
		$tooltip = $();&lt;br /&gt;
	};&lt;br /&gt;
	var getRefText = function( $ref ) {&lt;br /&gt;
		var refId = $ref.find( &amp;#039;a&amp;#039; ).attr( &amp;#039;href&amp;#039; ).split( &amp;#039;#&amp;#039; )[1];&lt;br /&gt;
		var $refText = $( document.getElementById( refId ) ).clone();&lt;br /&gt;
		$refText.find( &amp;#039;.mw-cite-backlink&amp;#039; ).remove();&lt;br /&gt;
		&lt;br /&gt;
		return $refText.html();&lt;br /&gt;
	};&lt;br /&gt;
	var setPos = function( initial ) {&lt;br /&gt;
		if ( !$tooltip.length ) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		if ( initial ) {&lt;br /&gt;
			tooltipRect = $tooltipText[0].getBoundingClientRect();&lt;br /&gt;
			tooltipInnerWidth = $tooltipText.width();&lt;br /&gt;
			tooltipOffset = {&lt;br /&gt;
				top: parseFloat( $tooltipText.css( &amp;#039;margin-top&amp;#039; ) ),&lt;br /&gt;
				left: parseFloat( $tooltipText.css( &amp;#039;margin-left&amp;#039; ) )&lt;br /&gt;
			};&lt;br /&gt;
			$anchor = $tooltip.data( &amp;#039;anchor&amp;#039; );&lt;br /&gt;
			anchorRect = $anchor[0].getBoundingClientRect();&lt;br /&gt;
		} else {&lt;br /&gt;
			$tooltip.removeClass( &amp;#039;ref-tooltip-flipped&amp;#039; );&lt;br /&gt;
			$tooltipText.css( &amp;#039;margin-left&amp;#039;, &amp;#039;&amp;#039; );&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// Position the tooltip&lt;br /&gt;
		var tooltipPos = {&lt;br /&gt;
			top: $win.scrollTop(),&lt;br /&gt;
			left: $win.scrollLeft()&lt;br /&gt;
		};&lt;br /&gt;
		if ( anchorRect.top + tooltipOffset.top &amp;lt; tooltipRect.height ) {&lt;br /&gt;
			$tooltip.addClass( &amp;#039;ref-tooltip-flipped&amp;#039; );&lt;br /&gt;
			tooltipPos.top += anchorRect.bottom;&lt;br /&gt;
		} else {&lt;br /&gt;
			tooltipPos.top += anchorRect.top - tooltipRect.height;&lt;br /&gt;
		}&lt;br /&gt;
		tooltipPos.left += anchorRect.left + anchorRect.width / 2;&lt;br /&gt;
		&lt;br /&gt;
		// Stop it going off the side of the page&lt;br /&gt;
		var contentPadding = parseFloat( $body.css( &amp;#039;padding-right&amp;#039; ) );&lt;br /&gt;
		var contentBoundary = $body[0].getBoundingClientRect().right - contentPadding / 2;&lt;br /&gt;
		var overlap = anchorRect.left + tooltipOffset.left + tooltipRect.width - contentBoundary;&lt;br /&gt;
		if ( overlap &amp;gt; 0 ) {&lt;br /&gt;
			$tooltipText.css(&lt;br /&gt;
				&amp;#039;margin-left&amp;#039;,&lt;br /&gt;
				Math.max( tooltipOffset.left - overlap, -tooltipInnerWidth )&lt;br /&gt;
			);&lt;br /&gt;
		}&lt;br /&gt;
		$tooltip.css( tooltipPos );&lt;br /&gt;
	};&lt;br /&gt;
	var bindRefHandlers = function() {&lt;br /&gt;
		$content.on( {&lt;br /&gt;
			&amp;#039;mouseenter.refTooltip&amp;#039;: function() {&lt;br /&gt;
				var $this = $( this );&lt;br /&gt;
				&lt;br /&gt;
				clearTimeout( hideTimer );&lt;br /&gt;
				&lt;br /&gt;
				// Current tooltip, do nothing&lt;br /&gt;
				if ( $tooltip.length &amp;amp;&amp;amp; (&lt;br /&gt;
					$this.is( $tooltip.data( &amp;#039;anchor&amp;#039; ) ) || $.contains( $tooltip[0], this )&lt;br /&gt;
				) ) {&lt;br /&gt;
					return;&lt;br /&gt;
				}&lt;br /&gt;
				&lt;br /&gt;
				// Create the tooltip if timeout succeeds&lt;br /&gt;
				showTimer = setTimeout( function() {&lt;br /&gt;
					createTooltip( $this, getRefText( $this ), true );&lt;br /&gt;
				}, 200 );&lt;br /&gt;
			},&lt;br /&gt;
			&amp;#039;mouseleave.refTooltip&amp;#039;: function() {&lt;br /&gt;
				clearTimeout( showTimer );&lt;br /&gt;
				&lt;br /&gt;
				// Remove the tooltip if timeout succeeds&lt;br /&gt;
				hideTimer = setTimeout( function() {&lt;br /&gt;
					removeTooltip();&lt;br /&gt;
				}, 300 );&lt;br /&gt;
			}&lt;br /&gt;
		}, &amp;#039;.reference&amp;#039; );&lt;br /&gt;
	};&lt;br /&gt;
	&lt;br /&gt;
	// When anywhere but the tooltip or anchor is clicked, remove it immediately&lt;br /&gt;
	$( window ).on( &amp;#039;click.refTooltip&amp;#039;, function( e ) {&lt;br /&gt;
		if ( $tooltip.length &amp;amp;&amp;amp; !$tooltip.data( &amp;#039;fresh&amp;#039; ) &amp;amp;&amp;amp; !$.contains( $tooltip[0], e.target ) ) {&lt;br /&gt;
			clearTimeout( showTimer );&lt;br /&gt;
			removeTooltip();&lt;br /&gt;
		}&lt;br /&gt;
	} );&lt;br /&gt;
	&lt;br /&gt;
	// TODO: Replace with mw.util.escapeId on MW 1.27&lt;br /&gt;
	var escapeId = function( id ) {&lt;br /&gt;
		return mw.util.rawurlencode( String( id ).replace( / /g, &amp;#039;_&amp;#039; ) )&lt;br /&gt;
	        .replace( /%3A/g, &amp;#039;:&amp;#039; )&lt;br /&gt;
	        .replace( /%/g, &amp;#039;.&amp;#039; );&lt;br /&gt;
	};&lt;br /&gt;
	$( document.getElementById( escapeId( i18n.referencesSectionName ) ) ).before(&lt;br /&gt;
		$( &amp;#039;&amp;lt;button&amp;gt;&amp;#039; ).addClass( &amp;#039;pixel-image ref-tooltip-options-button&amp;#039; )&lt;br /&gt;
			.attr( &amp;#039;title&amp;#039;, i18n.optionsButtonTitle )&lt;br /&gt;
	);&lt;br /&gt;
	$( &amp;#039;body&amp;#039; ).on( &amp;#039;click.refTooltip&amp;#039;, &amp;#039;.ref-tooltip-options-button&amp;#039;, function( e ) {&lt;br /&gt;
		// Just close the tooltip if it is already open&lt;br /&gt;
		if ( $tooltip.length &amp;amp;&amp;amp; $tooltip.data( &amp;#039;anchor&amp;#039; ).is( e.target ) ) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// Disable ref handlers while options are open&lt;br /&gt;
		$content.off( &amp;#039;mouseenter.refTooltip mouseleave.refTooltip&amp;#039; );&lt;br /&gt;
		$tooltip.on( &amp;#039;refTooltip-close&amp;#039;, function() {&lt;br /&gt;
			if ( options.enabled ) {&lt;br /&gt;
				bindRefHandlers();&lt;br /&gt;
			}&lt;br /&gt;
		} );&lt;br /&gt;
		&lt;br /&gt;
		var $anchor = $( this );&lt;br /&gt;
		&lt;br /&gt;
		$anchor.addClass( &amp;#039;ref-tooltip-loading&amp;#039; );&lt;br /&gt;
		&lt;br /&gt;
		// Replace current tooltip if clicking the options button within a tooltip&lt;br /&gt;
		if ( $tooltip.length &amp;amp;&amp;amp; $.contains( $tooltip[0], $anchor[0] ) ) {&lt;br /&gt;
			$anchor = $tooltip.data( &amp;#039;anchor&amp;#039; );&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		mw.loader.using( [ &amp;#039;mediawiki.api&amp;#039;, &amp;#039;mediawiki.ui.button&amp;#039;, &amp;#039;mediawiki.ui.checkbox&amp;#039; ], function() {&lt;br /&gt;
			$anchor.removeClass( &amp;#039;ref-tooltip-loading&amp;#039; );&lt;br /&gt;
			&lt;br /&gt;
			var $optionsText = $( &amp;#039;&amp;lt;div&amp;gt;&amp;#039; ).addClass( &amp;#039;ref-tooltip-options&amp;#039; ).append(&lt;br /&gt;
				$( &amp;#039;&amp;lt;div&amp;gt;&amp;#039; ).addClass( &amp;#039;mw-ui-checkbox&amp;#039; ).append(&lt;br /&gt;
					$( &amp;#039;&amp;lt;input&amp;gt;&amp;#039; ).attr( {&lt;br /&gt;
						type: &amp;#039;checkbox&amp;#039;,&lt;br /&gt;
						id: &amp;#039;ref-tooltip-options-enabled&amp;#039;,&lt;br /&gt;
						checked: options.enabled&lt;br /&gt;
					} ),&lt;br /&gt;
					$( &amp;#039;&amp;lt;label&amp;gt;&amp;#039; ).attr( &amp;#039;for&amp;#039;, &amp;#039;ref-tooltip-options-enabled&amp;#039; ).text( i18n.enableLabel )&lt;br /&gt;
				),&lt;br /&gt;
				$( &amp;#039;&amp;lt;div&amp;gt;&amp;#039; ).addClass( &amp;#039;ref-tooltip-actions&amp;#039; ).append(&lt;br /&gt;
					$( &amp;#039;&amp;lt;button&amp;gt;&amp;#039; ).addClass( &amp;#039;mw-ui-button mw-ui-quiet&amp;#039; ).text( i18n.cancelButton )&lt;br /&gt;
						.on( &amp;#039;click.refTooltip&amp;#039;, function() {&lt;br /&gt;
							removeTooltip();&lt;br /&gt;
						} ),&lt;br /&gt;
					$( &amp;#039;&amp;lt;button&amp;gt;&amp;#039; ).addClass( &amp;#039;mw-ui-button mw-ui-progressive&amp;#039; ).text( i18n.doneButton )&lt;br /&gt;
						.on( &amp;#039;click.refTooltip&amp;#039;, function() {&lt;br /&gt;
							options.enabled = $( &amp;#039;#ref-tooltip-options-enabled&amp;#039; ).prop( &amp;#039;checked&amp;#039; );&lt;br /&gt;
							var saveOptions = $.Deferred();&lt;br /&gt;
							if ( loggedIn ) {&lt;br /&gt;
								saveOptions = new mw.Api().postWithToken( &amp;#039;edit&amp;#039;, {&lt;br /&gt;
									action: &amp;#039;options&amp;#039;,&lt;br /&gt;
									optionname: &amp;#039;gadget-refTooltip&amp;#039;,&lt;br /&gt;
									optionvalue: options.enabled ? undefined : 0&lt;br /&gt;
								} );&lt;br /&gt;
							} else {&lt;br /&gt;
								try {&lt;br /&gt;
									localStorage.refTooltip = JSON.stringify( options );&lt;br /&gt;
									saveOptions.resolve();&lt;br /&gt;
								} catch ( e ) {&lt;br /&gt;
									saveOptions.reject( &amp;#039;storage&amp;#039; );&lt;br /&gt;
								}&lt;br /&gt;
							}&lt;br /&gt;
							&lt;br /&gt;
							saveOptions.then( function() {&lt;br /&gt;
								removeTooltip();&lt;br /&gt;
							}, function( code, error ) {&lt;br /&gt;
								mw.notify(&lt;br /&gt;
									code === &amp;#039;storage&amp;#039; ? i18n.saveFailedStorageFull : error,&lt;br /&gt;
									{ title: i18n.saveFailedTitle }&lt;br /&gt;
								);&lt;br /&gt;
							} );&lt;br /&gt;
						} )&lt;br /&gt;
				)&lt;br /&gt;
			);&lt;br /&gt;
			&lt;br /&gt;
			createTooltip( $anchor, $optionsText, false );&lt;br /&gt;
			$tooltip.on( &amp;#039;refTooltip-close&amp;#039;, function() {&lt;br /&gt;
				if ( options.enabled ) {&lt;br /&gt;
					bindRefHandlers();&lt;br /&gt;
				}&lt;br /&gt;
			} );&lt;br /&gt;
		} );&lt;br /&gt;
	} );&lt;br /&gt;
	&lt;br /&gt;
	// Finally, enable tooltips&lt;br /&gt;
	if ( options.enabled ) {&lt;br /&gt;
		bindRefHandlers();&lt;br /&gt;
	}&lt;br /&gt;
} );&lt;br /&gt;
&lt;br /&gt;
// Add width and height to Element.getBoundingClientRect() in IE8&lt;br /&gt;
// TODO: Remove on 1.27&lt;br /&gt;
if ( window.TextRectangle &amp;amp;&amp;amp; !TextRectangle.prototype.width ) {&lt;br /&gt;
	Object.defineProperty( TextRectangle.prototype, &amp;#039;width&amp;#039;, {&lt;br /&gt;
		get: function() { return this.right - this.left; }&lt;br /&gt;
	} );&lt;br /&gt;
	Object.defineProperty( TextRectangle.prototype, &amp;#039;height&amp;#039;, {&lt;br /&gt;
		get: function() { return this.bottom - this.top; }&lt;br /&gt;
	} );&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Majr</name></author>
	</entry>
</feed>