<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://secrets.warcraftwatch.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js</id>
	<title>MediaWiki:Common.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://secrets.warcraftwatch.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js"/>
	<link rel="alternate" type="text/html" href="https://secrets.warcraftwatch.com/w/index.php?title=MediaWiki:Common.js&amp;action=history"/>
	<updated>2026-05-06T15:38:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://secrets.warcraftwatch.com/w/index.php?title=MediaWiki:Common.js&amp;diff=7368&amp;oldid=prev</id>
		<title>Elnian: Created page with &quot;$(function(){ 	$root = $(&#039;:root&#039;); 	$panel = $(&#039;#mw-panel&#039;); 	$portals = $(&quot;#mw-panel .portal&quot;); 	var s = function(){ 		$portals.each(function(index, el){ 			var $el = $(el); 			var $id = $el.attr(&quot;id&quot;); 			if(!$id){ 				return; 			} 			// for &lt; 1366px 			$el.removeClass(&#039;expanded&#039;); 			// for &gt;= 1366px 			if(localStorage.getItem(&#039;sidebar_c_&#039;+$id) === &quot;y&quot;){ 				$el.addClass(&#039;collapsed&#039;).find(&#039;.body&#039;).slideUp(0); 			} 		}); 	} 	s(); 	$(window).on(&#039;resize&#039;, s); 	$portals.o...&quot;</title>
		<link rel="alternate" type="text/html" href="https://secrets.warcraftwatch.com/w/index.php?title=MediaWiki:Common.js&amp;diff=7368&amp;oldid=prev"/>
		<updated>2025-08-02T18:33:25Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;$(function(){ 	$root = $(&amp;#039;:root&amp;#039;); 	$panel = $(&amp;#039;#mw-panel&amp;#039;); 	$portals = $(&amp;quot;#mw-panel .portal&amp;quot;); 	var s = function(){ 		$portals.each(function(index, el){ 			var $el = $(el); 			var $id = $el.attr(&amp;quot;id&amp;quot;); 			if(!$id){ 				return; 			} 			// for &amp;lt; 1366px 			$el.removeClass(&amp;#039;expanded&amp;#039;); 			// for &amp;gt;= 1366px 			if(localStorage.getItem(&amp;#039;sidebar_c_&amp;#039;+$id) === &amp;quot;y&amp;quot;){ 				$el.addClass(&amp;#039;collapsed&amp;#039;).find(&amp;#039;.body&amp;#039;).slideUp(0); 			} 		}); 	} 	s(); 	$(window).on(&amp;#039;resize&amp;#039;, s); 	$portals.o...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;$(function(){&lt;br /&gt;
	$root = $(&amp;#039;:root&amp;#039;);&lt;br /&gt;
	$panel = $(&amp;#039;#mw-panel&amp;#039;);&lt;br /&gt;
	$portals = $(&amp;quot;#mw-panel .portal&amp;quot;);&lt;br /&gt;
	var s = function(){&lt;br /&gt;
		$portals.each(function(index, el){&lt;br /&gt;
			var $el = $(el);&lt;br /&gt;
			var $id = $el.attr(&amp;quot;id&amp;quot;);&lt;br /&gt;
			if(!$id){&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			// for &amp;lt; 1366px&lt;br /&gt;
			$el.removeClass(&amp;#039;expanded&amp;#039;);&lt;br /&gt;
			// for &amp;gt;= 1366px&lt;br /&gt;
			if(localStorage.getItem(&amp;#039;sidebar_c_&amp;#039;+$id) === &amp;quot;y&amp;quot;){&lt;br /&gt;
				$el.addClass(&amp;#039;collapsed&amp;#039;).find(&amp;#039;.body&amp;#039;).slideUp(0);&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
	s();&lt;br /&gt;
	$(window).on(&amp;#039;resize&amp;#039;, s);&lt;br /&gt;
	$portals.on(&amp;quot;click&amp;quot;, &amp;quot;h3&amp;quot;, function(event){&lt;br /&gt;
		var $el = $(this).parent();&lt;br /&gt;
		var $id = $el.attr(&amp;quot;id&amp;quot;);&lt;br /&gt;
		if(!$id){&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		event.stopPropagation();&lt;br /&gt;
		var styles = getComputedStyle($root[0]);&lt;br /&gt;
		//Note: jQuery&amp;#039;s .css() can not handle inexistent custom property properly.&lt;br /&gt;
		var sidebarWidth = parseInt(styles.getPropertyValue(&amp;#039;--layout-sidebar-width&amp;#039;)||styles.getPropertyValue(&amp;#039;--main-layout-sidebar-width&amp;#039;)) || 250;&lt;br /&gt;
		if($panel.width() &amp;lt;= sidebarWidth){&lt;br /&gt;
			$el.toggleClass(&amp;#039;collapsed&amp;#039;);&lt;br /&gt;
			if($el.hasClass(&amp;#039;collapsed&amp;#039;)){ // more consistent between class and slide status.&lt;br /&gt;
				localStorage.setItem(&amp;#039;sidebar_c_&amp;#039;+$id, &amp;quot;y&amp;quot;);&lt;br /&gt;
				$el.find(&amp;#039;.body&amp;#039;).slideUp(&amp;#039;fast&amp;#039;);&lt;br /&gt;
			}&lt;br /&gt;
			else{&lt;br /&gt;
				localStorage.setItem(&amp;#039;sidebar_c_&amp;#039;+$id, &amp;quot;n&amp;quot;);&lt;br /&gt;
				$el.find(&amp;#039;.body&amp;#039;).slideDown(&amp;#039;fast&amp;#039;);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		else{&lt;br /&gt;
			$(&amp;quot;#mw-panel .portal&amp;quot;).not($el).removeClass(&amp;#039;expanded&amp;#039;);&lt;br /&gt;
			$el.toggleClass(&amp;#039;expanded&amp;#039;);&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$(&amp;#039;&amp;lt;div class=&amp;quot;menu-toggle&amp;quot;/&amp;gt;&amp;#039;).insertAfter($(&amp;#039;#p-logo&amp;#039;)).on(&amp;quot;click&amp;quot;, function(event){&lt;br /&gt;
	event.stopPropagation();&lt;br /&gt;
	$(this).toggleClass(&amp;#039;expanded&amp;#039;);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function setStoredValue(key, value, expiredays) {&lt;br /&gt;
	if (typeof(localStorage) == &amp;quot;undefined&amp;quot;) {&lt;br /&gt;
		var exdate = new Date();&lt;br /&gt;
		exdate.setDate(exdate.getDate() + (expiredays ? expiredays : 30));&lt;br /&gt;
		document.cookie = key + &amp;quot;=&amp;quot; + escape(value) + &amp;quot;;expires=&amp;quot; + exdate.toGMTString();&lt;br /&gt;
	} else {&lt;br /&gt;
		try {&lt;br /&gt;
			localStorage[key] = value;&lt;br /&gt;
		} catch (e) {&lt;br /&gt;
			// Usually QUOTA_EXCEEDED_ERR&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
function getStoredValue(key, defaultValue) {&lt;br /&gt;
	if (typeof(localStorage) == &amp;quot;undefined&amp;quot;) {&lt;br /&gt;
		if (document.cookie &amp;amp;&amp;amp; document.cookie.length) {&lt;br /&gt;
			var varr = document.cookie.match(&amp;quot;(?:^|;)\\s*&amp;quot; + key + &amp;quot;=([^;]*)&amp;quot;);&lt;br /&gt;
			if (varr.length == 2) return varr[1];&lt;br /&gt;
		}&lt;br /&gt;
		return defaultValue;&lt;br /&gt;
	}&lt;br /&gt;
	return localStorage[key] == null ? defaultValue : localStorage[key];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function quoteSelectorName(name) {&lt;br /&gt;
	return name.replace(/[:.&amp;#039;&amp;quot;]/g, function(s) { return &amp;#039;\\&amp;#039; + s; });&lt;br /&gt;
}&lt;br /&gt;
function tocLinkToSelector(link) {&lt;br /&gt;
	return quoteSelectorName(link.href.match(/#.+$/)[0]);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
var article = &amp;quot;#bodyContent&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// See [[Help:Tooltips]]&lt;br /&gt;
var Tooltips = {hideClasses:[], cache:{}, activeHover: false, enabled: true, activeVersion: &amp;#039;&amp;#039;};&lt;br /&gt;
var $tfb, $ttfb, $htt;&lt;br /&gt;
&lt;br /&gt;
function hideTip() {&lt;br /&gt;
	$tfb.removeClass(&amp;quot;tooltip-ready&amp;quot;).addClass(&amp;quot;hidden&amp;quot;).css(&amp;quot;visibility&amp;quot;,&amp;quot;hidden&amp;quot;); &lt;br /&gt;
	$tfb.children().remove();&lt;br /&gt;
	if ($(this).data(&amp;#039;ahl-id&amp;#039;) == Tooltips.activeHover) Tooltips.activeHover = null;&lt;br /&gt;
}&lt;br /&gt;
function displayTip(e) {&lt;br /&gt;
	$htt.not(&amp;quot;:empty&amp;quot;).removeClass(&amp;quot;hidden&amp;quot;).addClass(&amp;quot;tooltip-ready&amp;quot;);&lt;br /&gt;
	moveTip(e);&lt;br /&gt;
	$htt.not(&amp;quot;:empty&amp;quot;).css(&amp;quot;visibility&amp;quot;,&amp;quot;visible&amp;quot;);&lt;br /&gt;
	moveTip(e);&lt;br /&gt;
}&lt;br /&gt;
function moveTip(e) {&lt;br /&gt;
	var $ct = $htt.not(&amp;quot;:empty&amp;quot;);&lt;br /&gt;
	var eh = $ct.innerHeight() + 20, wh = $(window).height();&lt;br /&gt;
	var newTop = e.clientY + ((e.clientY &amp;gt; (wh/2)) ? -eh : 20);&lt;br /&gt;
	var newLeft = e.clientX + ((e.clientX &amp;gt; ($(window).width()/2)) ? -($ct.innerWidth()+20):20);&lt;br /&gt;
	newTop = Math.max(105, Math.min(wh - eh, newTop));&lt;br /&gt;
	$ct.css({&amp;quot;position&amp;quot;:&amp;quot;fixed&amp;quot;,&amp;quot;top&amp;quot;:newTop + &amp;quot;px&amp;quot;,&amp;quot;left&amp;quot;:newLeft + &amp;quot;px&amp;quot;});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// AJAX tooltips&lt;br /&gt;
function showTipFromCacheEntry(e, url, tag) {&lt;br /&gt;
	var h = Tooltips.cache[url + &amp;quot; &amp;quot; + tag];&lt;br /&gt;
	if (!h) {&lt;br /&gt;
		h = Tooltips.cache[url].find(tag);&lt;br /&gt;
		if (h.length) Tooltips.cache[url + &amp;quot; &amp;quot; + tag] = h;&lt;br /&gt;
	}&lt;br /&gt;
	if (!h.length) {&lt;br /&gt;
		$tfb.html(&amp;#039;&amp;lt;div class=&amp;quot;tooltip-content&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Error&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;This target either has no tooltip&amp;lt;br /&amp;gt;or was not intended to have one.&amp;lt;/div&amp;gt;&amp;#039;);&lt;br /&gt;
	} else {&lt;br /&gt;
		h.css(&amp;quot;display&amp;quot;, &amp;quot;&amp;quot;).addClass(&amp;quot;tooltip-content&amp;quot;);&lt;br /&gt;
		$tfb.html(h);&lt;br /&gt;
	}&lt;br /&gt;
	displayTip(e);&lt;br /&gt;
}&lt;br /&gt;
function showTip(e) {&lt;br /&gt;
	if (!Tooltips.enabled) return;&lt;br /&gt;
	var $t = $(this), ks = Tooltips.hideClasses, $p = $t.parent();&lt;br /&gt;
	if ($p.hasClass(&amp;quot;selflink&amp;quot;) == false) {&lt;br /&gt;
		for (var j = 0; j &amp;lt; ks.length; j++) {&lt;br /&gt;
			if ($t.hasClass(ks[j])) return;&lt;br /&gt;
		}&lt;br /&gt;
		var tooltipIdentifier = &amp;quot;div.tooltip-content&amp;quot;, tooltipTag = $t.attr(&amp;quot;class&amp;quot;).match(/taggedttlink(-[^\s]+)/);&lt;br /&gt;
		if ($t.hasClass(&amp;quot;versionsttlink&amp;quot;)) tooltipIdentifier += Tooltips.activeVersion;&lt;br /&gt;
		else if (tooltipTag) tooltipIdentifier += tooltipTag[1];&lt;br /&gt;
		var url = &amp;quot;/index.php?title=&amp;quot; + encodeURIComponent(decodeURIComponent($t.data(&amp;quot;tt&amp;quot;))) + &amp;quot;&amp;amp;action=render &amp;quot; + &amp;#039;div[class*=&amp;quot;tooltip-content&amp;quot;]&amp;#039;;&lt;br /&gt;
		var tipId = url + &amp;quot; &amp;quot; + tooltipIdentifier;&lt;br /&gt;
		Tooltips.activeHover = tipId;&lt;br /&gt;
		$t.data(&amp;#039;ahl-id&amp;#039;, tipId);&lt;br /&gt;
		if (Tooltips.cache[url] != null) return showTipFromCacheEntry(e, url, tooltipIdentifier);&lt;br /&gt;
		$(&amp;#039;&amp;lt;div style=&amp;quot;display: none&amp;quot;/&amp;gt;&amp;#039;).load(url, function(text) {&lt;br /&gt;
			if (!text) return; // Occurs when navigating away from the page cancels the XHR&lt;br /&gt;
			Tooltips.cache[url] = $(this);&lt;br /&gt;
			if (tipId != Tooltips.activeHover) return;&lt;br /&gt;
			showTipFromCacheEntry(e, url, tooltipIdentifier);&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Tooltips.toggleTooltipClassDisplay = function(className, setTo) {&lt;br /&gt;
	var ci = this.hideClasses.indexOf(className);&lt;br /&gt;
	if (setTo === undefined) setTo = ci &amp;lt; 0;&lt;br /&gt;
	if (ci &amp;lt; 0 &amp;amp;&amp;amp; setTo === false) {&lt;br /&gt;
		this.hideClasses.push(className);&lt;br /&gt;
	} else if (ci &amp;gt;= 0 &amp;amp;&amp;amp; setTo === true) {&lt;br /&gt;
		this.hideClasses.splice(ci, 1);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
Tooltips.setActivePageVersion = function(versionName) {&lt;br /&gt;
	this.activeVersion = versionName;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// quick tooltips&lt;br /&gt;
function hideTemplateTip() {&lt;br /&gt;
	$ttfb.html(&amp;quot;&amp;quot;).removeClass(&amp;quot;tooltip-ready&amp;quot;).addClass(&amp;quot;hidden&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
function showTemplateTip(e) {&lt;br /&gt;
	$ttfb.html(&amp;#039;&amp;lt;div class=&amp;quot;tooltip-content&amp;quot;&amp;gt;&amp;#039; + $(this).next().html() + &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;);&lt;br /&gt;
	displayTip(e);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function eLink(db,nm) {&lt;br /&gt;
	dbs = new Array(&amp;quot;http://www.wowhead.com/?search=&amp;quot;,&amp;quot;http://www.wowdb.com/search?search=&amp;quot;);&lt;br /&gt;
	dbTs = new Array(&amp;quot;Wowhead&amp;quot;,&amp;quot;Wowdb&amp;quot;);&lt;br /&gt;
	dbHs = new Array(&amp;quot;&amp;amp;omega; &amp;quot;,&amp;quot;&amp;amp;thorn; &amp;quot;);&lt;br /&gt;
	return &amp;#039;&amp;lt;a href=&amp;quot;&amp;#039;+ dbs[db]+nm + &amp;#039;&amp;quot; target=&amp;quot;_blank&amp;quot; title=&amp;quot;&amp;#039;+ dbTs[db] +&amp;#039;&amp;quot;&amp;gt;&amp;#039;+ dbHs[db] + &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
function bindTT() {&lt;br /&gt;
	var $t=$(this);&lt;br /&gt;
    var $p=$t.parent();&lt;br /&gt;
	if ($p.hasClass(&amp;quot;selflink&amp;quot;) == false &amp;amp;&amp;amp; $p.attr(&amp;#039;title&amp;#039;) != undefined) {&lt;br /&gt;
		$t.data(&amp;quot;tt&amp;quot;, $p.attr(&amp;quot;title&amp;quot;).replace(&amp;quot; (page does not exist)&amp;quot;,&amp;quot;&amp;quot;).replace(&amp;quot;?&amp;quot;,&amp;quot;%3F&amp;quot;)).on(&amp;quot;mouseenter&amp;quot;,showTip).on(&amp;quot;mouseleave&amp;quot;,hideTip).mousemove(moveTip);&lt;br /&gt;
		if ($p.hasClass(&amp;quot;new&amp;quot;)) {&lt;br /&gt;
			els = &amp;#039;&amp;lt;sup&amp;gt;&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
			for (x=0;x&amp;lt;2;x++) els += eLink(x,$t.data(&amp;quot;tt&amp;quot;).replace(&amp;quot;Quest:&amp;quot;,&amp;quot;&amp;quot;));&lt;br /&gt;
			$p.after(els+&amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;&amp;#039;);&lt;br /&gt;
		} else {&lt;br /&gt;
			$t.removeAttr(&amp;quot;title&amp;quot;);&lt;br /&gt;
			$p.removeAttr(&amp;quot;title&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
function tooltipsInit(root) {&lt;br /&gt;
	if ($tfb == null) {&lt;br /&gt;
		$(article).append(&amp;#039;&amp;lt;div id=&amp;quot;tfb&amp;quot; class=&amp;quot;htt&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div id=&amp;quot;templatetfb&amp;quot; class=&amp;quot;htt&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;);&lt;br /&gt;
		$tfb = $(&amp;quot;#tfb&amp;quot;);&lt;br /&gt;
		$ttfb = $(&amp;quot;#templatetfb&amp;quot;);&lt;br /&gt;
		$htt = $(&amp;quot;#tfb,#templatetfb&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
	root.find(&amp;quot;.ajaxoutertt &amp;gt; a&amp;quot;).wrapInner(&amp;#039;&amp;lt;span class=&amp;quot;ajaxttlink&amp;quot; /&amp;gt;&amp;#039;);&lt;br /&gt;
	root.find(&amp;quot;.ajaxoutertt, .ajaxoutertt-soft&amp;quot;).each(function() {&lt;br /&gt;
		var cn = this.className.replace(/(?:^|\s)ajaxoutertt[^\s]*/, &amp;quot;&amp;quot;).replace(/^\s+|\s+$/g, &amp;quot;&amp;quot;);&lt;br /&gt;
		if (cn) $(this).find(&amp;quot;span.ajaxttlink&amp;quot;).addClass(cn);&lt;br /&gt;
	});&lt;br /&gt;
	root.find(&amp;quot;span.ajaxttlink&amp;quot;).each(bindTT);&lt;br /&gt;
	root.find(&amp;quot;span.tttemplatelink&amp;quot;).on(&amp;quot;mouseenter&amp;quot;,showTemplateTip).on(&amp;quot;mouseleave&amp;quot;,hideTemplateTip).mousemove(moveTip).children(&amp;quot;a&amp;quot;).removeAttr(&amp;quot;title&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function requireImageLicense() {&lt;br /&gt;
	if (mw.config.get(&amp;quot;wgPageName&amp;quot;) == &amp;quot;Special:Upload&amp;quot; &amp;amp;&amp;amp; mw.util.getParamValue(&amp;quot;wpDestFile&amp;quot;) == null) {&lt;br /&gt;
		var $wpu = $(&amp;quot;#mw-upload-form&amp;quot;).find(&amp;quot;[name=wpUpload]&amp;quot;).not(&amp;quot;#wpUpload&amp;quot;);&lt;br /&gt;
		$wpu.attr(&amp;quot;disabled&amp;quot;,&amp;quot;true&amp;quot;);&lt;br /&gt;
		$(&amp;quot;#wpLicense&amp;quot;).change(function () {&lt;br /&gt;
			if ($(&amp;quot;#wpLicense&amp;quot;).val()) {&lt;br /&gt;
				$wpu.removeAttr(&amp;quot;disabled&amp;quot;);&lt;br /&gt;
			} else {&lt;br /&gt;
				$wpu.attr(&amp;quot;disabled&amp;quot;,&amp;quot;true&amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function handleAutocollapse(root) {&lt;br /&gt;
	var $ct = root.find(&amp;quot;.mw-collapsible&amp;quot;);&lt;br /&gt;
	var $es = $ct.filter(&amp;quot;.mw-autocollapse&amp;quot;).not($ct.first()).not(&amp;quot;.mw-collapsed, .mw-uncollapsed, .mw-expanded&amp;quot;);&lt;br /&gt;
	$es.filter(function() {&lt;br /&gt;
		var link = $(this).find(&amp;quot;.mw-collapsible-toggle a&amp;quot;);&lt;br /&gt;
		if (link.length) link.first().click();&lt;br /&gt;
		return !link.length;&lt;br /&gt;
	}).toggleClass(&amp;quot;mw-collapsed mw-autocollapse&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// [[Portal:*]] tab switch.&lt;br /&gt;
function doPortalTabs() {&lt;br /&gt;
	var cTab = $(&amp;quot;#ptabs .activetab&amp;quot;).parent().prevAll().length + 1;&lt;br /&gt;
	var ptabs = $(&amp;quot;#ptabs&amp;gt;*&amp;quot;);&lt;br /&gt;
	ptabs.css(&amp;quot;cursor&amp;quot;,&amp;quot;pointer&amp;quot;);&lt;br /&gt;
	$(&amp;quot;#ptab-extra&amp;quot;).attr(&amp;quot;id&amp;quot;, &amp;quot;ptab&amp;quot; + ptabs.length);&lt;br /&gt;
	ptabs.click(function (e) {&lt;br /&gt;
		var $pt = $(e.target);&lt;br /&gt;
		if ($pt.hasClass(&amp;quot;inactivetab&amp;quot;)) e.preventDefault();&lt;br /&gt;
		if ($pt.parent().not(&amp;quot;#ptabs&amp;quot;).html()) $pt = $pt.parent();&lt;br /&gt;
		var sp = $pt.prevAll().length;&lt;br /&gt;
		ptabs.eq(cTab-1).children(&amp;quot;*&amp;quot;).removeClass(&amp;quot;activetab&amp;quot;).addClass(&amp;quot;inactivetab&amp;quot;);&lt;br /&gt;
		$(&amp;quot;#ptab&amp;quot;+cTab).hide();&lt;br /&gt;
		cTab = sp+1;&lt;br /&gt;
		ptabs.eq(sp).children(&amp;quot;*&amp;quot;).removeClass(&amp;quot;inactivetab&amp;quot;).addClass(&amp;quot;activetab&amp;quot;);&lt;br /&gt;
		$(&amp;quot;#ptab&amp;quot;+cTab).show();&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// [[Template:classnav]]&lt;br /&gt;
var cls = &amp;quot;&amp;quot;;&lt;br /&gt;
function classNavShowAll() {&lt;br /&gt;
	$(&amp;quot;table.classnav .long&amp;quot;).hide();&lt;br /&gt;
	$(&amp;quot;table.classnav tr&amp;gt;*:not(:first-child):not(:has(&amp;#039;.cc-&amp;quot;+cls+&amp;quot;&amp;#039;))&amp;quot;).show();&lt;br /&gt;
	$(&amp;quot;table.classnav .classNavShow&amp;quot;).html(&amp;quot;&amp;amp;nbsp;&amp;amp;lt;&amp;amp;lt;&amp;quot;).click(classNav);&lt;br /&gt;
}&lt;br /&gt;
function classNav() {&lt;br /&gt;
	var c = [&amp;quot;death knight&amp;quot;,&amp;quot;demon hunter&amp;quot;,&amp;quot;druid&amp;quot;,&amp;quot;evoker&amp;quot;,&amp;quot;hunter&amp;quot;,&amp;quot;mage&amp;quot;,&amp;quot;monk&amp;quot;,&amp;quot;paladin&amp;quot;,&amp;quot;priest&amp;quot;,&amp;quot;rogue&amp;quot;,&amp;quot;shaman&amp;quot;,&amp;quot;warlock&amp;quot;,&amp;quot;warrior&amp;quot;];&lt;br /&gt;
	var wgTitle = mw.config.get(&amp;quot;wgTitle&amp;quot;);&lt;br /&gt;
	for (var x=0;x&amp;lt;c.length;x++) {&lt;br /&gt;
		if (wgTitle.toLowerCase().indexOf(c[x]) != -1) {&lt;br /&gt;
			cls = c[x].replace(&amp;quot; &amp;quot;,&amp;quot;&amp;quot;);&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	if (cls) {&lt;br /&gt;
		$(&amp;quot;table.classnav tr&amp;gt;*:not(:first-child):not(:has(&amp;#039;.cc-&amp;quot;+cls+&amp;quot;&amp;#039;))&amp;quot;).hide();&lt;br /&gt;
		$(&amp;quot;table.classnav .cc-&amp;quot;+cls+&amp;quot; .long&amp;quot;).show();&lt;br /&gt;
		if (!$(&amp;quot;table.classnav .classNavShow&amp;quot;).length) $(&amp;quot;table.classnav th:has(&amp;#039;.cc-&amp;quot;+cls+&amp;quot;&amp;#039;)&amp;quot;).append(&amp;#039;&amp;lt;span class=&amp;quot;classNavShow&amp;quot; style=&amp;quot;cursor:pointer;&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;);&lt;br /&gt;
		$(&amp;quot;table.classnav .classNavShow&amp;quot;).html(&amp;quot;&amp;amp;nbsp;&amp;amp;gt;&amp;amp;gt;&amp;quot;).click(classNavShowAll);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// [[Template:Faction disambiguation]], [[Template:Versions]] and [[Template:cv]]&lt;br /&gt;
function versionsInit() {&lt;br /&gt;
	var iv = $(&amp;quot;#item-versions&amp;quot;);&lt;br /&gt;
	if (iv.length == 0) return;&lt;br /&gt;
	var sec = iv.prevAll(&amp;quot;h2&amp;quot;).first().nextUntil(&amp;quot;h2&amp;quot;).addBack();&lt;br /&gt;
	sec.wrapAll(&amp;#039;&amp;lt;div id=&amp;quot;versions-section&amp;quot; style=&amp;quot;display: none&amp;quot;/&amp;gt;&amp;#039;);&lt;br /&gt;
	var tocentry = $(&amp;#039;#toc a[href=&amp;quot;#&amp;#039;+ sec.first().find(&amp;quot;.mw-headline&amp;quot;).attr(&amp;quot;id&amp;quot;) +&amp;#039;&amp;quot;]&amp;#039;).parent();&lt;br /&gt;
	tocentry.nextAll().find(&amp;quot;.tocnumber&amp;quot;).each(function(i) {&lt;br /&gt;
		var t = $(this).text();&lt;br /&gt;
		$(this).text(t.replace(/^\d+/, parseInt(t.match(/^\d+/))-1));&lt;br /&gt;
	});&lt;br /&gt;
	tocentry.remove();&lt;br /&gt;
&lt;br /&gt;
	var baseEditLink = $(&amp;quot;#content .versions-compatible&amp;quot;).first().parentsUntil(&amp;quot;#content&amp;quot;).addBack().prev(&amp;quot;h2, h3&amp;quot;).first().find(&amp;quot;.editsection a&amp;quot;).attr(&amp;quot;href&amp;quot;);&lt;br /&gt;
	baseEditLink = baseEditLink ? baseEditLink : (mw.config.get(&amp;quot;wgScript&amp;quot;) + &amp;quot;?action=edit&amp;amp;title=&amp;quot; + mw.util.wikiUrlencode(mw.config.get(&amp;quot;wgTitle&amp;quot;)) + &amp;quot;&amp;amp;section=0&amp;quot;);&lt;br /&gt;
	var ttstore = {&amp;#039;#&amp;#039;: $(&amp;quot;#content .versions-compatible&amp;quot;).first()}, editlinks = {}, conditionals = {&amp;#039;#&amp;#039;: &amp;#039;default&amp;#039;};&lt;br /&gt;
	var tips = $(&amp;quot;#item-versions .versions-compatible&amp;quot;).not(&amp;quot;.versions-compatible .versions-compatible&amp;quot;), headers = tips.prev(&amp;quot;h3&amp;quot;).find(&amp;quot;.mw-headline&amp;quot;);&lt;br /&gt;
	var tabs = &amp;#039;&amp;lt;span id=&amp;quot;versions-header-tabs&amp;quot; class=&amp;quot;item-versions&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
	for (var i = 0; i &amp;lt; headers.length; i++) {&lt;br /&gt;
		ttstore[&amp;#039;#&amp;#039; + headers[i].id] = tips.eq(i);&lt;br /&gt;
		editlinks[&amp;#039;#&amp;#039; + headers[i].id] = headers.eq(i).prev().find(&amp;quot;a&amp;quot;).attr(&amp;quot;href&amp;quot;);&lt;br /&gt;
		conditionals[&amp;#039;#&amp;#039; + headers[i].id] = headers[i].id.toLowerCase().replace(/\.27/g, &amp;quot;&amp;#039;&amp;quot;).replace(/[ _]/g, &amp;#039;-&amp;#039;);&lt;br /&gt;
		tabs += &amp;#039; &amp;lt;a href=&amp;quot;#&amp;#039; + headers[i].id + &amp;#039;&amp;quot; class=&amp;quot;inactivetab&amp;quot;&amp;gt;&amp;#039; + $.trim(headers.eq(i).text()) +&amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
	tabs = $(tabs + &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	var baseName = iv.data(&amp;quot;base-name&amp;quot;) || &amp;quot;Base&amp;quot;, basePos = iv.data(&amp;quot;base-pos&amp;quot;) || 0;&lt;br /&gt;
	var defaultTab = &amp;#039; &amp;lt;a href=&amp;quot;#&amp;quot; class=&amp;quot;inactivetab&amp;quot;&amp;gt;&amp;#039; + baseName + &amp;#039;&amp;lt;/a&amp;gt; &amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	if (basePos &amp;gt;= headers.length) {&lt;br /&gt;
		tabs.append(defaultTab);&lt;br /&gt;
	} else {&lt;br /&gt;
		tabs.children().eq(basePos).before(defaultTab);&lt;br /&gt;
	}&lt;br /&gt;
	tabs.children(&amp;quot;a&amp;quot;).click(function(e) {&lt;br /&gt;
		var target = $(this).attr(&amp;quot;href&amp;quot;);&lt;br /&gt;
		e.preventDefault();&lt;br /&gt;
		if ($(this).hasClass(&amp;quot;activetab&amp;quot;)) {&lt;br /&gt;
			window.location = editlinks[target] ? editlinks[target] : baseEditLink;&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		if (history &amp;amp;&amp;amp; history.replaceState) {&lt;br /&gt;
			history.replaceState(null, $(&amp;quot;title&amp;quot;).text(), target);&lt;br /&gt;
		} else {&lt;br /&gt;
			window.location.hash = target;&lt;br /&gt;
		}&lt;br /&gt;
		versionsShow(target);&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	if ((mw.config.get(&amp;#039;wgAction&amp;#039;) != &amp;quot;edit&amp;quot; &amp;amp;&amp;amp; mw.config.get(&amp;#039;wgAction&amp;#039;) != &amp;quot;submit&amp;quot;)) {&lt;br /&gt;
		tabs.appendTo(&amp;quot;#firstHeading&amp;quot;);&lt;br /&gt;
	} else {&lt;br /&gt;
		tabs.appendTo(&amp;#039;#firstHeadingTitle&amp;#039;);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if ((window.location.hash &amp;amp;&amp;amp; ttstore[window.location.hash])) {&lt;br /&gt;
		versionsShow(window.location.hash);&lt;br /&gt;
		$(&amp;quot;html, body&amp;quot;).scrollTop(0);&lt;br /&gt;
	} else {&lt;br /&gt;
		versionsShow(&amp;#039;#&amp;#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$(&amp;quot;body&amp;quot;).addClass(&amp;quot;versions-active&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	function versionsShow(key) {&lt;br /&gt;
		$(&amp;quot;.versions-cv&amp;quot;).hide();&lt;br /&gt;
		$(&amp;quot;.versions-cv-&amp;quot; + quoteSelectorName(conditionals[key])).show();&lt;br /&gt;
		if ($(&amp;quot;#content .versions-compatible&amp;quot;).first()[0] != ttstore[key][0])&lt;br /&gt;
			$(&amp;quot;#content .versions-compatible&amp;quot;).first().replaceWith(ttstore[key]);&lt;br /&gt;
&lt;br /&gt;
		$(&amp;quot;#versions-header-tabs .activetab&amp;quot;).toggleClass(&amp;quot;activetab inactivetab&amp;quot;);&lt;br /&gt;
		$(&amp;#039;#versions-header-tabs a[href=&amp;quot;&amp;#039;+key+&amp;#039;&amp;quot;]&amp;#039;).toggleClass(&amp;quot;activetab inactivetab&amp;quot;);&lt;br /&gt;
		if (Tooltips &amp;amp;&amp;amp; Tooltips.setActivePageVersion)&lt;br /&gt;
			Tooltips.setActivePageVersion(key == &amp;#039;#&amp;#039; ? &amp;#039;&amp;#039; : conditionals[key]);&lt;br /&gt;
		$(&amp;quot;.versionsttlink&amp;quot;).parent(&amp;quot;a&amp;quot;).each(function() {&lt;br /&gt;
			$(this).attr(&amp;quot;href&amp;quot;, $(this).attr(&amp;quot;href&amp;quot;).replace(/(?:#.*)|$/, key));&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
function inlineVersionsInit() {&lt;br /&gt;
	var iv = $(&amp;quot;#versions-inline&amp;quot;);&lt;br /&gt;
	if (iv.length == 0) return;&lt;br /&gt;
	$(&amp;quot;.versions-inline-wrap&amp;quot;).each(function() {&lt;br /&gt;
		var $t = $(this);&lt;br /&gt;
		$t.parentsUntil(iv).addBack().nextUntil(&amp;quot;.versions-inline-wrap&amp;quot;).appendTo($t);&lt;br /&gt;
	}).not(iv.children()).appendTo(iv);&lt;br /&gt;
&lt;br /&gt;
	var i, ofs, ch, name, chld = iv.children(), toc = $(&amp;quot;#toc&amp;quot;),&lt;br /&gt;
	    cls = (iv.data(&amp;#039;switch-classes&amp;#039;) || &amp;#039;&amp;#039;).split(&amp;#039; &amp;#039;),&lt;br /&gt;
	    tabs = $(&amp;#039;&amp;lt;span&amp;gt;&amp;#039;).attr(&amp;#039;id&amp;#039;, &amp;#039;versions-header-tabs&amp;#039;).addClass(cls[0] || &amp;#039;&amp;#039;),&lt;br /&gt;
	    aid = 0, lhash = ((window.location &amp;amp;&amp;amp; window.location.hash) || &amp;#039;&amp;#039;).substring(1),&lt;br /&gt;
	    pref = iv.data(&amp;#039;switch-pref&amp;#039;);&lt;br /&gt;
	if (!lhash &amp;amp;&amp;amp; pref) lhash = getStoredValue(&amp;#039;vsp-&amp;#039; + pref) || &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	for (i = 0; i &amp;lt; chld.length; i++) {&lt;br /&gt;
		ch = chld.eq(i); name = ch.data(&amp;#039;version-name&amp;#039;);&lt;br /&gt;
		if (i) tabs.append(&amp;#039;&amp;amp;#32;&amp;#039;);&lt;br /&gt;
		if (name == lhash || (!!lhash &amp;amp;&amp;amp; ch.find(&amp;#039;#&amp;#039; + quoteSelectorName(lhash)).length)) aid = i;&lt;br /&gt;
		$(&amp;#039;&amp;lt;a&amp;gt;&amp;#039;).attr(&amp;#039;href&amp;#039;, &amp;#039;#&amp;#039; + name).text(ch.data(&amp;#039;version-name&amp;#039;)).addClass(&amp;#039;inactivetab &amp;#039; + (cls[1+i] || &amp;#039;&amp;#039;)).data(&amp;#039;version-content&amp;#039;, ch).appendTo(tabs);&lt;br /&gt;
	}&lt;br /&gt;
	i = ofs = 0; ch = chld.eq(0);&lt;br /&gt;
	toc.find(&amp;#039;li a&amp;#039;).each(function() {&lt;br /&gt;
		var n = $(this).find(&amp;#039;.tocnumber&amp;#039;), nt = n.text(), v = nt.match(/\d+/);&lt;br /&gt;
		var h = tocLinkToSelector(this);&lt;br /&gt;
		while (!ch.find(h).length &amp;amp;&amp;amp; ch.length) {&lt;br /&gt;
			ch = chld.eq(++i); ofs = v - 1;&lt;br /&gt;
		}&lt;br /&gt;
		if (ofs) n.text(nt.replace(/\d+/, v - ofs));&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	if ((mw.config.get(&amp;#039;wgAction&amp;#039;) != &amp;quot;edit&amp;quot; &amp;amp;&amp;amp; mw.config.get(&amp;#039;wgAction&amp;#039;) != &amp;quot;submit&amp;quot;)) {&lt;br /&gt;
		tabs.appendTo(&amp;#039;#firstHeading&amp;#039;);&lt;br /&gt;
	} else {&lt;br /&gt;
		tabs.appendTo(&amp;#039;#firstHeadingTitle&amp;#039;);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	tabs.children(&amp;#039;a&amp;#039;).click(function(e) {&lt;br /&gt;
		var $t = $(this), target = $t.attr(&amp;quot;href&amp;quot;), $cnt = $t.data(&amp;#039;version-content&amp;#039;);&lt;br /&gt;
		e.preventDefault();&lt;br /&gt;
		if ($t.hasClass(&amp;quot;activetab&amp;quot;)) {&lt;br /&gt;
			if ($cnt.data(&amp;#039;version-source&amp;#039;))&lt;br /&gt;
				window.location = mw.util.wikiGetlink($cnt.data(&amp;#039;version-source&amp;#039;));&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		if (history &amp;amp;&amp;amp; history.replaceState) {&lt;br /&gt;
			history.replaceState(null, $(&amp;quot;title&amp;quot;).text(), target);&lt;br /&gt;
		} else {&lt;br /&gt;
			window.location.hash = target;&lt;br /&gt;
		}&lt;br /&gt;
		if (pref) setStoredValue(&amp;#039;vsp-&amp;#039; + pref, target.substring(1));&lt;br /&gt;
		$t.siblings(&amp;#039;a.activetab&amp;#039;).toggleClass(&amp;#039;inactivetab activetab&amp;#039;);&lt;br /&gt;
		$t.removeClass(&amp;#039;inactivetab&amp;#039;).addClass(&amp;#039;activetab&amp;#039;);&lt;br /&gt;
		showInlineVersion($cnt);&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var cur = tabs.children(&amp;#039;a&amp;#039;).eq(aid);&lt;br /&gt;
	cur.toggleClass(&amp;#039;activetab inactivetab&amp;#039;);&lt;br /&gt;
	showInlineVersion(cur.data(&amp;#039;version-content&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
	$(&amp;quot;body&amp;quot;).addClass(&amp;quot;versions-active-inline&amp;quot;);&lt;br /&gt;
	function showInlineVersion(ch) {&lt;br /&gt;
		var toc = $(&amp;quot;#toc&amp;quot;), h1 = ch.find(&amp;quot;:header&amp;quot;), sock = ch.find(&amp;quot;.toc-socket&amp;quot;);&lt;br /&gt;
		if ((toc.length &amp;amp;&amp;amp; h1.length)) {&lt;br /&gt;
			toc.find(&amp;#039;li a&amp;#039;).filter(function() {&lt;br /&gt;
				var show = ch.find(tocLinkToSelector(this)).length, $t = $(this);&lt;br /&gt;
				$t.closest(&amp;#039;li&amp;#039;).toggle(!!show);&lt;br /&gt;
			});&lt;br /&gt;
			if (!ch.find(&amp;quot;#toc&amp;quot;).length) {&lt;br /&gt;
				if (sock.length) { toc.appendTo(sock.first()); } else { toc.insertBefore(h1.first()); }&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		chld.hide();&lt;br /&gt;
		ch.show();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// [[Template:Time]], [[Template:Countdown]]&lt;br /&gt;
function timeInit() {&lt;br /&gt;
	function getDate(s) {&lt;br /&gt;
		s = s &amp;amp;&amp;amp; s.match(/(\d{4})-(\d{2})-(\d{2}) (\d{1,2}):(\d{2})/);&lt;br /&gt;
		return s &amp;amp;&amp;amp; Date.UTC(parseInt(s[1]), parseInt(s[2])-1, parseInt(s[3]), parseInt(s[4]), parseInt(s[5]));&lt;br /&gt;
	}&lt;br /&gt;
	function updateCountdown() {&lt;br /&gt;
		var $this = $(this), t = getDate($this.data(&amp;quot;jst-time&amp;quot;)), now = new Date();&lt;br /&gt;
		if (t &amp;amp;&amp;amp; (t &amp;gt; now)) {&lt;br /&gt;
			var $d = $this.find(&amp;quot;.jst-days&amp;quot;), $h = $this.find(&amp;quot;.jst-hours&amp;quot;), $m = $this.find(&amp;quot;.jst-minutes&amp;quot;), $s = $this.find(&amp;quot;.jst-seconds&amp;quot;);&lt;br /&gt;
			var ofs = (t - now)/1000 | 0 + ($s.length ? 0 : 60), d = (ofs / 86400) | 0, h = (ofs / 3600) | 0, m = (ofs / 60) | 0, s = ofs % 60;&lt;br /&gt;
			if ($d.length) h %= 24;&lt;br /&gt;
			if ($h.length) m %= 60;&lt;br /&gt;
			$d.toggleClass(&amp;quot;jst-active&amp;quot;, d).find(&amp;quot;.jst-value&amp;quot;).text(d);&lt;br /&gt;
			$h.toggleClass(&amp;quot;jst-active&amp;quot;, d || h).find(&amp;quot;.jst-value&amp;quot;).text(h);&lt;br /&gt;
			$m.toggleClass(&amp;quot;jst-active&amp;quot;, d || h || m).find(&amp;quot;.jst-value&amp;quot;).text(m);&lt;br /&gt;
			$s.toggleClass(&amp;quot;jst-active&amp;quot;, true).find(&amp;quot;.jst-value&amp;quot;).text(s);&lt;br /&gt;
			$this.addClass(&amp;quot;jst-active&amp;quot;);&lt;br /&gt;
		} else {&lt;br /&gt;
			$this.removeClass(&amp;quot;jst-active&amp;quot;);&lt;br /&gt;
			$this.text($this.data(&amp;#039;jst-text-over&amp;#039;) || &amp;quot;&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	function updateCountdowns() {&lt;br /&gt;
		$(&amp;quot;.jst-countdown.jst-active&amp;quot;).each(updateCountdown);&lt;br /&gt;
		if ($(&amp;quot;.jst-countdown.jst-active&amp;quot;).length) setTimeout(updateCountdowns, 1001);&lt;br /&gt;
	}&lt;br /&gt;
	$(&amp;quot;.jst-countdown&amp;quot;).addClass(&amp;quot;jst-active&amp;quot;);&lt;br /&gt;
	$(&amp;quot;.jst-countdown .jst-alternative&amp;quot;).remove();&lt;br /&gt;
	$(&amp;quot;.jst-days &amp;gt; .jst-label&amp;quot;).text(&amp;quot;days&amp;quot;);&lt;br /&gt;
	$(&amp;quot;.jst-hours &amp;gt; .jst-label&amp;quot;).text(&amp;quot;hours&amp;quot;);&lt;br /&gt;
	$(&amp;quot;.jst-minutes &amp;gt; .jst-label&amp;quot;).text(&amp;quot;minutes&amp;quot;);&lt;br /&gt;
	$(&amp;quot;.jst-seconds &amp;gt; .jst-label&amp;quot;).text(&amp;quot;seconds&amp;quot;);&lt;br /&gt;
	updateCountdowns();&lt;br /&gt;
&lt;br /&gt;
	$(&amp;quot;.jst-abstime&amp;quot;).each(function() {&lt;br /&gt;
		var $this = $(this), t1 = getDate($this.data(&amp;quot;jst-time&amp;quot;)), t2 = getDate($this.data(&amp;quot;jst-time2&amp;quot;)), ta = getDate($this.data(&amp;quot;jst-anchor&amp;quot;));&lt;br /&gt;
		if (!t1) return;&lt;br /&gt;
		var t1d = new Date(t1), nowDate = ta ? (new Date(ta)).toDateString() : (new Date()).toDateString();&lt;br /&gt;
		$this.text((t1d.toDateString() == nowDate ? t1d.toLocaleTimeString() : (t1d.toLocaleDateString() + &amp;quot;, &amp;quot; + t1d.toLocaleTimeString())) + (t2 ? &amp;quot; – &amp;quot; + (new Date(t2)).toLocaleTimeString() : &amp;quot;&amp;quot;));&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$(function() {&lt;br /&gt;
	if ($(&amp;quot;table.classnav&amp;quot;).length) classNav();&lt;br /&gt;
	if ($(&amp;quot;#ptabs&amp;quot;).length) doPortalTabs();&lt;br /&gt;
&lt;br /&gt;
	tooltipsInit($(article));&lt;br /&gt;
	timeInit();&lt;br /&gt;
&lt;br /&gt;
	handleAutocollapse($(article));&lt;br /&gt;
	$(&amp;quot;td.collapse-next-row&amp;quot;).each(function() {if ($(this).parent().next().height()&amp;gt;300) $(this).append(&amp;quot;&amp;lt;span style=&amp;#039;float:right;&amp;#039;&amp;gt;[&amp;lt;a&amp;gt;show&amp;lt;/a&amp;gt;]&amp;lt;/span&amp;gt;&amp;quot;).children(&amp;quot;span&amp;quot;).children(&amp;quot;a&amp;quot;).click(function(){$(this).text($(this).text()==&amp;quot;hide&amp;quot;?&amp;quot;show&amp;quot;:&amp;quot;hide&amp;quot;).parent().parent().parent().next().slideToggle();}).parent().parent().parent().next().hide();});&lt;br /&gt;
	requireImageLicense();&lt;br /&gt;
	if (mw.config.get(&amp;quot;wgUserName&amp;quot;) != null) $(&amp;quot;span.insertusername&amp;quot;).html(mw.config.get(&amp;quot;wgUserName&amp;quot;));&lt;br /&gt;
	$(article+&amp;quot; .quote&amp;quot;).prepend(&amp;quot;&amp;lt;span class=&amp;#039;quotemark&amp;#039; style=&amp;#039;float:right;&amp;#039;&amp;gt;&amp;amp;#8221;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;#039;quotemark&amp;#039; style=&amp;#039;float:left;&amp;#039;&amp;gt;&amp;amp;#8220;&amp;lt;/span&amp;gt;&amp;quot;).css(&amp;quot;max-width&amp;quot;,&amp;quot;75%&amp;quot;).after(&amp;quot;&amp;lt;br clear=&amp;#039;left&amp;#039; /&amp;gt;&amp;quot;);&lt;br /&gt;
	$(&amp;quot;.mw-mpt-link&amp;quot;).html(&amp;quot;&amp;lt;a href=&amp;#039;/Special:WhatLinksHere/&amp;quot;+$(&amp;quot;#firstHeading&amp;quot;).text().replace(&amp;quot;Move &amp;quot;,&amp;quot;&amp;quot;).replace(/&amp;#039;/g,&amp;quot;%27&amp;quot;)+&amp;quot;&amp;#039;&amp;gt;Links to the old page title&amp;lt;/a&amp;gt;&amp;quot;);&lt;br /&gt;
	$(&amp;quot;.coords-link&amp;quot;).each(function() {&lt;br /&gt;
		if ($(this).next().find(&amp;quot;a.new&amp;quot;).length)&lt;br /&gt;
			$(this).addClass(&amp;#039;broken&amp;#039;);&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	if (!(window.location.hash &amp;amp;&amp;amp; window.location.hash.match(/!noversions/))) {&lt;br /&gt;
		versionsInit();&lt;br /&gt;
		inlineVersionsInit();&lt;br /&gt;
	}&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Elnian</name></author>
	</entry>
</feed>