<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.socr.umich.edu/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://wiki.socr.umich.edu/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.socr.umich.edu/index.php?title=MediaWiki:Common.js&amp;action=history"/>
	<updated>2026-06-28T21:06:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.6</generator>
	<entry>
		<id>https://wiki.socr.umich.edu/index.php?title=MediaWiki:Common.js&amp;diff=8210&amp;oldid=prev</id>
		<title>Jenny at 16:31, 30 October 2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.socr.umich.edu/index.php?title=MediaWiki:Common.js&amp;diff=8210&amp;oldid=prev"/>
		<updated>2008-10-30T16:31:32Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 16:31, 30 October 2008&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-l455&quot; &gt;Line 455:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 455:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;&amp;#160;&amp;#160; */&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;&amp;#160;&amp;#160; */&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; 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;if(wgUserName == null &amp;amp;&amp;amp; skin == 'monobook') addOnloadHook((function (){&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/*&lt;/ins&gt;if(wgUserName == null &amp;amp;&amp;amp; skin == 'monobook') addOnloadHook((function (){&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;&amp;#160;&amp;#160; &amp;#160; var message=new Array();&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;&amp;#160;&amp;#160; &amp;#160; var message=new Array();&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; message[0]='Your &amp;lt;a href=&amp;quot;http://wikimediafoundation.org/wiki/Fundraising?source=enwiki_00&amp;quot; class=&amp;quot;extiw&amp;quot; title=&amp;quot;wikimedia:Fundraising&amp;quot;&amp;gt;&amp;lt;b&amp;gt;continued donations&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt; keep Wikipedia running!';&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; message[0]='Your &amp;lt;a href=&amp;quot;http://wikimediafoundation.org/wiki/Fundraising?source=enwiki_00&amp;quot; class=&amp;quot;extiw&amp;quot; title=&amp;quot;wikimedia:Fundraising&amp;quot;&amp;gt;&amp;lt;b&amp;gt;continued donations&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt; keep Wikipedia running!';&lt;/div&gt;&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-l484&quot; &gt;Line 484:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 484:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; wrapper.insertBefore(div, wrapper.firstChild);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; wrapper.insertBefore(div, wrapper.firstChild);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;&amp;#160;&amp;#160; &amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;&amp;#160;&amp;#160; &amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; 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;}));&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;}));&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;*/&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jenny</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.socr.umich.edu/index.php?title=MediaWiki:Common.js&amp;diff=8208&amp;oldid=prev</id>
		<title>Jenny: New page: //&lt;source lang=&quot;javascript&quot;&gt;  /* Import more specific scripts if necessary */  if (wgAction == &quot;edit&quot; || wgAction == &quot;submit&quot; || wgPageName == &quot;Special:Upload&quot;) //scripts specific to editi...</title>
		<link rel="alternate" type="text/html" href="https://wiki.socr.umich.edu/index.php?title=MediaWiki:Common.js&amp;diff=8208&amp;oldid=prev"/>
		<updated>2008-10-30T15:54:21Z</updated>

		<summary type="html">&lt;p&gt;New page: //&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;  ‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Import more specific scripts if necessary: &lt;/span&gt;  if (wgAction == &amp;quot;edit&amp;quot; || wgAction == &amp;quot;submit&amp;quot; || wgPageName == &amp;quot;Special:Upload&amp;quot;) //scripts specific to editi...&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;//&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/* Import more specific scripts if necessary */&lt;br /&gt;
&lt;br /&gt;
if (wgAction == &amp;quot;edit&amp;quot; || wgAction == &amp;quot;submit&amp;quot; || wgPageName == &amp;quot;Special:Upload&amp;quot;) //scripts specific to editing pages&lt;br /&gt;
{&lt;br /&gt;
    importScript(&amp;quot;MediaWiki:Common.js/edit.js&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
else if (wgPageName == &amp;quot;Special:Watchlist&amp;quot;) //watchlist scripts&lt;br /&gt;
{&lt;br /&gt;
    importScript(&amp;quot;MediaWiki:Common.js/watchlist.js&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
else if (wgPageName == &amp;quot;Special:Search&amp;quot;) //scripts specific to Special:Search&lt;br /&gt;
{&lt;br /&gt;
    importScript(&amp;quot;MediaWiki:Common.js/search.js&amp;quot;)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Sysop Javascript *******************************************************&lt;br /&gt;
  *&lt;br /&gt;
  *  Description: Allows for sysop-specific Javascript at [[MediaWiki:Sysop.js]].&lt;br /&gt;
  */&lt;br /&gt;
function sysopFunctions() {&lt;br /&gt;
    if ( wgUserGroups &amp;amp;&amp;amp; !window.disableSysopJS ) {&lt;br /&gt;
        for ( var g = 0; g &amp;lt; wgUserGroups.length; ++g ) {&lt;br /&gt;
            if ( wgUserGroups[g] == &amp;quot;sysop&amp;quot; ) {&lt;br /&gt;
                importScript( &amp;quot;MediaWiki:Sysop.js&amp;quot; );&lt;br /&gt;
                break;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( sysopFunctions );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** WikiMiniAtlas *******************************************************&lt;br /&gt;
  *&lt;br /&gt;
  *  Description: WikiMiniAtlas is a popup click and drag world map.&lt;br /&gt;
  *               This script causes all of our coordinate links to display the WikiMiniAtlas popup button.&lt;br /&gt;
  *               The script itself is located on meta because it is used by many projects.&lt;br /&gt;
  *               See [[Meta:WikiMiniAtlas]] for more information. &lt;br /&gt;
  *  Maintainers: [[User:Dschwen]]&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
if (wgServer == &amp;quot;https://secure.wikimedia.org&amp;quot;) {&lt;br /&gt;
  var metaBase = &amp;quot;https://secure.wikimedia.org/wikipedia/meta&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
  var metaBase = &amp;quot;http://meta.wikimedia.org&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
importScriptURI(metaBase+&amp;quot;/w/index.php?title=MediaWiki:Wikiminiatlas.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;amp;smaxage=21600&amp;amp;maxage=86400&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Scripts specific to Internet Explorer */&lt;br /&gt;
&lt;br /&gt;
if (navigator.appName == &amp;quot;Microsoft Internet Explorer&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
    /** Internet Explorer bug fix **************************************************&lt;br /&gt;
     *&lt;br /&gt;
     *  Description: Fixes IE horizontal scrollbar bug&lt;br /&gt;
     *  Maintainers: [[User:Tom-]]?&lt;br /&gt;
     */&lt;br /&gt;
    &lt;br /&gt;
    var oldWidth;&lt;br /&gt;
    var docEl = document.documentElement;&lt;br /&gt;
    &lt;br /&gt;
    function fixIEScroll()&lt;br /&gt;
    {&lt;br /&gt;
        if (!oldWidth || docEl.clientWidth &amp;gt; oldWidth)&lt;br /&gt;
            doFixIEScroll();&lt;br /&gt;
        else&lt;br /&gt;
            setTimeout(doFixIEScroll, 1);&lt;br /&gt;
        &lt;br /&gt;
        oldWidth = docEl.clientWidth;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    function doFixIEScroll() {&lt;br /&gt;
        docEl.style.overflowX = (docEl.scrollWidth - docEl.clientWidth &amp;lt; 4) ? &amp;quot;hidden&amp;quot; : &amp;quot;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    document.attachEvent(&amp;quot;onreadystatechange&amp;quot;, fixIEScroll);&lt;br /&gt;
    document.attachEvent(&amp;quot;onresize&amp;quot;, fixIEScroll);&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    /**&lt;br /&gt;
     * Remove need for CSS hacks regarding MSIE and IPA.&lt;br /&gt;
     */&lt;br /&gt;
    &lt;br /&gt;
    if (document.createStyleSheet) {&lt;br /&gt;
        document.createStyleSheet().addRule('.IPA', 'font-family: &amp;quot;Doulos SIL&amp;quot;, &amp;quot;Charis SIL&amp;quot;, Gentium, &amp;quot;DejaVu Sans&amp;quot;, Code2000, &amp;quot;TITUS Cyberbit Basic&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Chrysanthi Unicode&amp;quot;;');&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    //Import scripts specific to Internet Explorer 6&lt;br /&gt;
    if (navigator.appVersion.substr(22, 1) == &amp;quot;6&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
        importScript(&amp;quot;MediaWiki:Common.js/IE60Fixes.js&amp;quot;)&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Test if an element has a certain class **************************************&lt;br /&gt;
 *&lt;br /&gt;
 * Description: Uses regular expressions and caching for better performance.&lt;br /&gt;
 * Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]]&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
var hasClass = (function () {&lt;br /&gt;
    var reCache = {};&lt;br /&gt;
    return function (element, className) {&lt;br /&gt;
        return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp(&amp;quot;(?:\\s|^)&amp;quot; + className + &amp;quot;(?:\\s|$)&amp;quot;))).test(element.className);&lt;br /&gt;
    };&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Interwiki links to featured articles ***************************************&lt;br /&gt;
 *&lt;br /&gt;
 *  Description: Highlights interwiki links to featured articles (or&lt;br /&gt;
 *               equivalents) by changing the bullet before the interwiki link&lt;br /&gt;
 *               into a star.&lt;br /&gt;
 *  Maintainers: [[User:R. Koot]]&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
function LinkFA() &lt;br /&gt;
{&lt;br /&gt;
    if ( document.getElementById( &amp;quot;p-lang&amp;quot; ) ) {&lt;br /&gt;
        var InterwikiLinks = document.getElementById( &amp;quot;p-lang&amp;quot; ).getElementsByTagName( &amp;quot;li&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
        for ( var i = 0; i &amp;lt; InterwikiLinks.length; i++ ) {&lt;br /&gt;
            if ( document.getElementById( InterwikiLinks[i].className + &amp;quot;-fa&amp;quot; ) ) {&lt;br /&gt;
                InterwikiLinks[i].className += &amp;quot; FA&amp;quot;&lt;br /&gt;
                InterwikiLinks[i].title = &amp;quot;This is a featured article in another language.&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( LinkFA );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Collapsible tables *********************************************************&lt;br /&gt;
 *&lt;br /&gt;
 *  Description: Allows tables to be collapsed, showing only the header. See&lt;br /&gt;
 *               [[Wikipedia:NavFrame]].&lt;br /&gt;
 *  Maintainers: [[User:R. Koot]]&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
var autoCollapse = 2;&lt;br /&gt;
var collapseCaption = &amp;quot;hide&amp;quot;;&lt;br /&gt;
var expandCaption = &amp;quot;show&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
function collapseTable( tableIndex )&lt;br /&gt;
{&lt;br /&gt;
    var Button = document.getElementById( &amp;quot;collapseButton&amp;quot; + tableIndex );&lt;br /&gt;
    var Table = document.getElementById( &amp;quot;collapsibleTable&amp;quot; + tableIndex );&lt;br /&gt;
&lt;br /&gt;
    if ( !Table || !Button ) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var Rows = Table.rows;&lt;br /&gt;
&lt;br /&gt;
    if ( Button.firstChild.data == collapseCaption ) {&lt;br /&gt;
        for ( var i = 1; i &amp;lt; Rows.length; i++ ) {&lt;br /&gt;
            Rows[i].style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        Button.firstChild.data = expandCaption;&lt;br /&gt;
    } else {&lt;br /&gt;
        for ( var i = 1; i &amp;lt; Rows.length; i++ ) {&lt;br /&gt;
            Rows[i].style.display = Rows[0].style.display;&lt;br /&gt;
        }&lt;br /&gt;
        Button.firstChild.data = collapseCaption;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function createCollapseButtons()&lt;br /&gt;
{&lt;br /&gt;
    var tableIndex = 0;&lt;br /&gt;
    var NavigationBoxes = new Object();&lt;br /&gt;
    var Tables = document.getElementsByTagName( &amp;quot;table&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
    for ( var i = 0; i &amp;lt; Tables.length; i++ ) {&lt;br /&gt;
        if ( hasClass( Tables[i], &amp;quot;collapsible&amp;quot; ) ) {&lt;br /&gt;
&lt;br /&gt;
            /* only add button and increment count if there is a header row to work with */&lt;br /&gt;
            var HeaderRow = Tables[i].getElementsByTagName( &amp;quot;tr&amp;quot; )[0];&lt;br /&gt;
            if (!HeaderRow) continue;&lt;br /&gt;
            var Header = HeaderRow.getElementsByTagName( &amp;quot;th&amp;quot; )[0];&lt;br /&gt;
            if (!Header) continue;&lt;br /&gt;
&lt;br /&gt;
            NavigationBoxes[ tableIndex ] = Tables[i];&lt;br /&gt;
            Tables[i].setAttribute( &amp;quot;id&amp;quot;, &amp;quot;collapsibleTable&amp;quot; + tableIndex );&lt;br /&gt;
&lt;br /&gt;
            var Button     = document.createElement( &amp;quot;span&amp;quot; );&lt;br /&gt;
            var ButtonLink = document.createElement( &amp;quot;a&amp;quot; );&lt;br /&gt;
            var ButtonText = document.createTextNode( collapseCaption );&lt;br /&gt;
&lt;br /&gt;
            Button.style.styleFloat = &amp;quot;right&amp;quot;;&lt;br /&gt;
            Button.style.cssFloat = &amp;quot;right&amp;quot;;&lt;br /&gt;
            Button.style.fontWeight = &amp;quot;normal&amp;quot;;&lt;br /&gt;
            Button.style.textAlign = &amp;quot;right&amp;quot;;&lt;br /&gt;
            Button.style.width = &amp;quot;6em&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            ButtonLink.style.color = Header.style.color;&lt;br /&gt;
            ButtonLink.setAttribute( &amp;quot;id&amp;quot;, &amp;quot;collapseButton&amp;quot; + tableIndex );&lt;br /&gt;
            ButtonLink.setAttribute( &amp;quot;href&amp;quot;, &amp;quot;javascript:collapseTable(&amp;quot; + tableIndex + &amp;quot;);&amp;quot; );&lt;br /&gt;
            ButtonLink.appendChild( ButtonText );&lt;br /&gt;
&lt;br /&gt;
            Button.appendChild( document.createTextNode( &amp;quot;[&amp;quot; ) );&lt;br /&gt;
            Button.appendChild( ButtonLink );&lt;br /&gt;
            Button.appendChild( document.createTextNode( &amp;quot;]&amp;quot; ) );&lt;br /&gt;
&lt;br /&gt;
            Header.insertBefore( Button, Header.childNodes[0] );&lt;br /&gt;
            tableIndex++;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    for ( var i = 0;  i &amp;lt; tableIndex; i++ ) {&lt;br /&gt;
        if ( hasClass( NavigationBoxes[i], &amp;quot;collapsed&amp;quot; ) || ( tableIndex &amp;gt;= autoCollapse &amp;amp;&amp;amp; hasClass( NavigationBoxes[i], &amp;quot;autocollapse&amp;quot; ) ) ) {&lt;br /&gt;
            collapseTable( i );&lt;br /&gt;
        } &lt;br /&gt;
        else if ( hasClass( NavigationBoxes[i], &amp;quot;innercollapse&amp;quot; ) ) {&lt;br /&gt;
            element = NavigationBoxes[i];&lt;br /&gt;
            while (element.parentNode) {&lt;br /&gt;
                var element = element.parentNode;&lt;br /&gt;
                if ( hasClass( element, &amp;quot;outercollapse&amp;quot; ) ) {&lt;br /&gt;
                    collapseTable ( i );&lt;br /&gt;
                    break;&lt;br /&gt;
                } else if (element.getAttribute(&amp;quot;id&amp;quot;) == &amp;quot;bodyContent&amp;quot; ) break;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( createCollapseButtons );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Dynamic Navigation Bars (experimental) *************************************&lt;br /&gt;
 *&lt;br /&gt;
 *  Description: See [[Wikipedia:NavFrame]].&lt;br /&gt;
 *  Maintainers: UNMAINTAINED&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// set up the words in your language&lt;br /&gt;
var NavigationBarHide = '[' + collapseCaption + ']';&lt;br /&gt;
var NavigationBarShow = '[' + expandCaption + ']';&lt;br /&gt;
&lt;br /&gt;
// shows and hides content and picture (if available) of navigation bars&lt;br /&gt;
// Parameters:&lt;br /&gt;
//     indexNavigationBar: the index of navigation bar to be toggled&lt;br /&gt;
function toggleNavigationBar(indexNavigationBar)&lt;br /&gt;
{&lt;br /&gt;
    var NavToggle = document.getElementById(&amp;quot;NavToggle&amp;quot; + indexNavigationBar);&lt;br /&gt;
    var NavFrame = document.getElementById(&amp;quot;NavFrame&amp;quot; + indexNavigationBar);&lt;br /&gt;
&lt;br /&gt;
    if (!NavFrame || !NavToggle) {&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // if shown now&lt;br /&gt;
    if (NavToggle.firstChild.data == NavigationBarHide) {&lt;br /&gt;
        for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {&lt;br /&gt;
            if ( hasClass( NavChild, 'NavPic' ) ) {&lt;br /&gt;
                NavChild.style.display = 'none';&lt;br /&gt;
            }&lt;br /&gt;
            if ( hasClass( NavChild, 'NavContent') ) {&lt;br /&gt;
                NavChild.style.display = 'none';&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    NavToggle.firstChild.data = NavigationBarShow;&lt;br /&gt;
&lt;br /&gt;
    // if hidden now&lt;br /&gt;
    } else if (NavToggle.firstChild.data == NavigationBarShow) {&lt;br /&gt;
        for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {&lt;br /&gt;
            if (hasClass(NavChild, 'NavPic')) {&lt;br /&gt;
                NavChild.style.display = 'block';&lt;br /&gt;
            }&lt;br /&gt;
            if (hasClass(NavChild, 'NavContent')) {&lt;br /&gt;
                NavChild.style.display = 'block';&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        NavToggle.firstChild.data = NavigationBarHide;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// adds show/hide-button to navigation bars&lt;br /&gt;
function createNavigationBarToggleButton()&lt;br /&gt;
{&lt;br /&gt;
    var indexNavigationBar = 0;&lt;br /&gt;
    // iterate over all &amp;lt; div &amp;gt;-elements &lt;br /&gt;
    var divs = document.getElementsByTagName(&amp;quot;div&amp;quot;);&lt;br /&gt;
    for (var i = 0; NavFrame = divs[i]; i++) {&lt;br /&gt;
        // if found a navigation bar&lt;br /&gt;
        if (hasClass(NavFrame, &amp;quot;NavFrame&amp;quot;)) {&lt;br /&gt;
&lt;br /&gt;
            indexNavigationBar++;&lt;br /&gt;
            var NavToggle = document.createElement(&amp;quot;a&amp;quot;);&lt;br /&gt;
            NavToggle.className = 'NavToggle';&lt;br /&gt;
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);&lt;br /&gt;
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');&lt;br /&gt;
&lt;br /&gt;
            var isCollapsed = hasClass( NavFrame, &amp;quot;collapsed&amp;quot; );&lt;br /&gt;
            /*&lt;br /&gt;
             * Check if any children are already hidden.  This loop is here for backwards compatibility:&lt;br /&gt;
             * the old way of making NavFrames start out collapsed was to manually add style=&amp;quot;display:none&amp;quot;&lt;br /&gt;
             * to all the NavPic/NavContent elements.  Since this was bad for accessibility (no way to make&lt;br /&gt;
             * the content visible without JavaScript support), the new recommended way is to add the class&lt;br /&gt;
             * &amp;quot;collapsed&amp;quot; to the NavFrame itself, just like with collapsible tables.&lt;br /&gt;
             */&lt;br /&gt;
            for (var NavChild = NavFrame.firstChild; NavChild != null &amp;amp;&amp;amp; !isCollapsed; NavChild = NavChild.nextSibling) {&lt;br /&gt;
                if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {&lt;br /&gt;
                    if ( NavChild.style.display == 'none' ) {&lt;br /&gt;
                        isCollapsed = true;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            if (isCollapsed) {&lt;br /&gt;
                for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {&lt;br /&gt;
                    if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {&lt;br /&gt;
                        NavChild.style.display = 'none';&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            var NavToggleText = document.createTextNode(isCollapsed ? NavigationBarShow : NavigationBarHide);&lt;br /&gt;
            NavToggle.appendChild(NavToggleText);&lt;br /&gt;
&lt;br /&gt;
            // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)&lt;br /&gt;
            for(var j=0; j &amp;lt; NavFrame.childNodes.length; j++) {&lt;br /&gt;
                if (hasClass(NavFrame.childNodes[j], &amp;quot;NavHead&amp;quot;)) {&lt;br /&gt;
                    NavFrame.childNodes[j].appendChild(NavToggle);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
addOnloadHook( createNavigationBarToggleButton );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Main Page layout fixes *********************************************************&lt;br /&gt;
 *&lt;br /&gt;
 *  Description: Adds an additional link to the complete list of languages available.&lt;br /&gt;
 *  Maintainers: [[User:AzaToth]], [[User:R. Koot]], [[User:Alex Smotrov]]&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
function mainPageAppendCompleteListLink() {&lt;br /&gt;
    addPortletLink('p-lang', 'http://meta.wikimedia.org/wiki/List_of_Wikipedias',&lt;br /&gt;
                   'Complete list', 'interwiki-completelist', 'Complete list of Wikipedias')&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ((wgTitle == 'Main Page' &amp;amp;&amp;amp; wgNamespaceNumber == 0) || (wgTitle == 'Wikipedia' &amp;amp;&amp;amp; wgNamespaceNumber == 100)) {&lt;br /&gt;
    addOnloadHook(mainPageAppendCompleteListLink);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** &amp;quot;Technical restrictions&amp;quot; title fix *****************************************&lt;br /&gt;
 *&lt;br /&gt;
 *  Description: For pages that have something like Template:Wrongtitle, replace&lt;br /&gt;
 *               the title, but only if it is cut-and-pasteable as a valid&lt;br /&gt;
 *               wikilink. For instance, &amp;quot;NZR WB class&amp;quot; can be changed to&lt;br /&gt;
 *               &amp;quot;NZR W&amp;lt;sup&amp;gt;B&amp;lt;/sup&amp;gt; class&amp;quot;, but [[C#]] is not an equivalent wikilink,&lt;br /&gt;
 *               so [[C Sharp]] doesn't have its main title changed.&lt;br /&gt;
 *&lt;br /&gt;
 *               The function looks for a banner like this: &lt;br /&gt;
 *               &amp;lt;div id=&amp;quot;RealTitleBanner&amp;quot;&amp;gt; ... &amp;lt;span id=&amp;quot;RealTitle&amp;quot;&amp;gt;title&amp;lt;/span&amp;gt; ... &amp;lt;/div&amp;gt;&lt;br /&gt;
 *               An element with id=DisableRealTitle disables the function.&lt;br /&gt;
 *  Maintainers: Remember_the_dot&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
if (wgIsArticle) //prevents the &amp;quot;Editing &amp;quot; prefix from disappearing during preview&lt;br /&gt;
{&lt;br /&gt;
    addOnloadHook(function()&lt;br /&gt;
    {&lt;br /&gt;
        var realTitle = document.getElementById(&amp;quot;RealTitle&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        if (realTitle)&lt;br /&gt;
        {&lt;br /&gt;
            //normalizes a title or a namespace name (but not both)&lt;br /&gt;
            //trims leading and trailing underscores and converts (possibly multiple) spaces and underscores to single underscores&lt;br /&gt;
            function normalizeTitle(title)&lt;br /&gt;
            {&lt;br /&gt;
                return title.replace(/^_+/, &amp;quot;&amp;quot;).replace(/_+$/, &amp;quot;&amp;quot;).replace(/[\s_]+/g, &amp;quot;_&amp;quot;)&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if (realTitle.textContent) //everyone but IE&lt;br /&gt;
            {&lt;br /&gt;
                var realTitleText = realTitle.textContent&lt;br /&gt;
            }&lt;br /&gt;
            else //IE&lt;br /&gt;
            {&lt;br /&gt;
                var realTitleText = realTitle.innerText&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            var normalizedRealTitle&lt;br /&gt;
            var normalizedPageTitle&lt;br /&gt;
            var indexOfColon = realTitleText.indexOf(&amp;quot;:&amp;quot;)&lt;br /&gt;
            var normalizedNamespaceName = normalizeTitle(realTitleText.substring(0, indexOfColon)).toLowerCase()&lt;br /&gt;
            &lt;br /&gt;
            //make namespace prefix lowercase and uppercase the first letter of the title&lt;br /&gt;
            if (indexOfColon == -1 || wgCanonicalNamespace.toLowerCase() != normalizedNamespaceName) //no namespace prefix - either no colon or a nonsensical namespace prefix (for example, &amp;quot;Foo&amp;quot; in &amp;quot;Foo: The Story of My Life&amp;quot;)&lt;br /&gt;
            {&lt;br /&gt;
                normalizedRealTitle = normalizeTitle(realTitleText)&lt;br /&gt;
                normalizedRealTitle = normalizedRealTitle.charAt(0).toUpperCase() + normalizedRealTitle.substring(1)&lt;br /&gt;
                normalizedPageTitle = wgPageName.charAt(0).toUpperCase() + wgPageName.substring(1)&lt;br /&gt;
            }&lt;br /&gt;
            else //using a namespace prefix&lt;br /&gt;
            {&lt;br /&gt;
                var normalizedRealPageTitle = normalizeTitle(realTitleText.substring(indexOfColon + 1))&lt;br /&gt;
                &lt;br /&gt;
                normalizedRealTitle = normalizedNamespaceName&lt;br /&gt;
                if (normalizedNamespaceName != &amp;quot;&amp;quot;) //namespace 0 is a special case where the leading colon should never be shown&lt;br /&gt;
                {&lt;br /&gt;
                    normalizedRealTitle += &amp;quot;:&amp;quot;&lt;br /&gt;
                }&lt;br /&gt;
                normalizedRealTitle += normalizedRealPageTitle.charAt(0).toUpperCase() + normalizedRealPageTitle.substring(1)&lt;br /&gt;
                normalizedPageTitle = wgPageName.substring(0, wgPageName.indexOf(&amp;quot;:&amp;quot;) + 1).toLowerCase() + wgPageName.substring(wgPageName.indexOf(&amp;quot;:&amp;quot;) + 1)&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if (normalizedRealTitle == normalizedPageTitle) //normalized titles match, so we can do full replacement&lt;br /&gt;
            {&lt;br /&gt;
                var h1 = document.getElementsByTagName(&amp;quot;h1&amp;quot;)[0]&lt;br /&gt;
                &lt;br /&gt;
                //remove all child nodes, including text&lt;br /&gt;
                while (h1.firstChild) &lt;br /&gt;
                {&lt;br /&gt;
                    h1.removeChild(h1.firstChild)&lt;br /&gt;
                }&lt;br /&gt;
                &lt;br /&gt;
                //populate with nodes of real title&lt;br /&gt;
                while (realTitle.firstChild) //the children are moved to a new parent element&lt;br /&gt;
                {&lt;br /&gt;
                    h1.appendChild(realTitle.firstChild)&lt;br /&gt;
                }&lt;br /&gt;
                &lt;br /&gt;
                //delete the real title banner since the problem is solved&lt;br /&gt;
                var realTitleBanner = document.getElementById(&amp;quot;RealTitleBanner&amp;quot;)&lt;br /&gt;
                realTitleBanner.parentNode.removeChild(realTitleBanner)&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            //no matter what, correct the page title&lt;br /&gt;
            document.title = realTitleText + &amp;quot; - Wikipedia, the free encyclopedia&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    })&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Anon tips and donation banner **************************&lt;br /&gt;
  *&lt;br /&gt;
  *  Description: This implements an anon tips / donation banner. It includes a workaround for&lt;br /&gt;
  *               the Z-index bug found in Internet Explorer. It correctly places the anon notice&lt;br /&gt;
  *               on the page, even under IE6. See this Google search for more information about the bug:&lt;br /&gt;
  *               http://www.google.com/search?q=z-index+ie6+bug&lt;br /&gt;
  *  Maintainers: [[User:Gmaxwell]], [[User:MZMcBride]]&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
if(wgUserName == null &amp;amp;&amp;amp; skin == 'monobook') addOnloadHook((function (){&lt;br /&gt;
    var message=new Array();&lt;br /&gt;
        message[0]='Your &amp;lt;a href=&amp;quot;http://wikimediafoundation.org/wiki/Fundraising?source=enwiki_00&amp;quot; class=&amp;quot;extiw&amp;quot; title=&amp;quot;wikimedia:Fundraising&amp;quot;&amp;gt;&amp;lt;b&amp;gt;continued donations&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt; keep Wikipedia running!';&lt;br /&gt;
        message[1]='&amp;lt;a href=&amp;quot;http://wikimediafoundation.org/wiki/Fundraising?source=enwiki_01&amp;quot; class=&amp;quot;extiw&amp;quot; title=&amp;quot;foundation:Fundraising&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Make a donation&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt; to Wikipedia and give the gift of knowledge!';&lt;br /&gt;
        message[2]='Wikipedia is sustained by people like you. Please &amp;lt;a href=&amp;quot;http://wikimediafoundation.org/wiki/Fundraising?source=enwiki_02&amp;quot; class=&amp;quot;extiw&amp;quot; title=&amp;quot;foundation:fundraising&amp;quot;&amp;gt;&amp;lt;b&amp;gt;donate&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt; today.';&lt;br /&gt;
        message[3]='Help us improve Wikipedia by &amp;lt;a href=&amp;quot;http://wikimediafoundation.org/wiki/Fundraising?source=enwiki_03&amp;quot; class=&amp;quot;extiw&amp;quot; title=&amp;quot;foundation:Fundraising&amp;quot;&amp;gt;&amp;lt;b&amp;gt;supporting it financially&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;.';&lt;br /&gt;
        message[4]='You can &amp;lt;a href=&amp;quot;http://wikimediafoundation.org/wiki/Fundraising?source=enwiki_04&amp;quot; class=&amp;quot;extiw&amp;quot; title=&amp;quot;wikimedia:Fundraising&amp;quot;&amp;gt;&amp;lt;b&amp;gt;support Wikipedia&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt; by making a tax-deductible donation.'&lt;br /&gt;
        message[5]='Help us provide free content to the world by &amp;lt;a href=&amp;quot;http://wikimediafoundation.org/wiki/Fundraising?source=enwiki_05&amp;quot; class=&amp;quot;extiw&amp;quot; title=&amp;quot;foundation:Fundraising&amp;quot;&amp;gt;&amp;lt;b&amp;gt;donating today&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;!';&lt;br /&gt;
        message[6]='&amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Wikipedia:Researching_with_Wikipedia&amp;quot; title=&amp;quot;Wikipedia:Researching with Wikipedia&amp;quot;&amp;gt;Learn more about using Wikipedia for research.&amp;lt;/a&amp;gt;';&lt;br /&gt;
        message[7]='&amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Wikipedia:Ten_things_you_may_not_know_about_Wikipedia&amp;quot; title=&amp;quot;Wikipedia:Ten things you may not know about Wikipedia&amp;quot;&amp;gt;Ten things you may not know about Wikipedia.&amp;lt;/a&amp;gt;';&lt;br /&gt;
        message[8]='&amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Wikipedia:Ten_things_you_may_not_know_about_images_on_Wikipedia&amp;quot; title=&amp;quot;Wikipedia:Ten things you may not know about images on Wikipedia&amp;quot;&amp;gt;Ten things you may not know about images on Wikipedia.&amp;lt;/a&amp;gt;';&lt;br /&gt;
        message[9]='&amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Wikipedia:Citing_Wikipedia&amp;quot; title=&amp;quot;Wikipedia:Citing Wikipedia&amp;quot;&amp;gt;Learn more about citing Wikipedia.&amp;lt;/a&amp;gt;';&lt;br /&gt;
        message[10]='Have questions? &amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Wikipedia:Questions&amp;quot; title=&amp;quot;Wikipedia:Questions&amp;quot;&amp;gt;Find out how to ask questions and get answers.&amp;lt;/a&amp;gt;';&lt;br /&gt;
        message[11]='&amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Wikipedia:Basic_navigation&amp;quot; title=&amp;quot;Wikipedia:Basic navigation&amp;quot;&amp;gt;Find out more about navigating Wikipedia and finding information.&amp;lt;/a&amp;gt;';&lt;br /&gt;
        message[12]='&amp;lt;a href=&amp;quot;http://en.wikipedia.org/wiki/Wikipedia:Contributing_to_Wikipedia&amp;quot; title=&amp;quot;Wikipedia:Contributing to Wikipedia&amp;quot;&amp;gt;Interested in contributing to Wikipedia?&amp;lt;/a&amp;gt;';&lt;br /&gt;
    var weightLimit = 6;&lt;br /&gt;
    var biasPercent = 0.815;&lt;br /&gt;
    var whichMessage = (Math.random() &amp;lt; biasPercent) ? weightLimit : message.length;&lt;br /&gt;
 &lt;br /&gt;
    whichMessage = Math.floor(Math.random() * whichMessage);&lt;br /&gt;
 &lt;br /&gt;
    var wrapper = document.getElementById(&amp;quot;globalWrapper&amp;quot;);&lt;br /&gt;
    if (wrapper) {&lt;br /&gt;
        var div = document.createElement('div');&lt;br /&gt;
        div.id = &amp;quot;anon-banner&amp;quot;;&lt;br /&gt;
        div.style.cssText = &amp;quot;position:absolute; z-index:40; left:155px; top:1px; clear:both; float:left; font-size:90%; font-style:italic; white-space:nowrap&amp;quot;;&lt;br /&gt;
        div.innerHTML = message[whichMessage];&lt;br /&gt;
        wrapper.insertBefore(div, wrapper.firstChild);&lt;br /&gt;
    }&lt;br /&gt;
}));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Table sorting fixes ************************************************&lt;br /&gt;
  *&lt;br /&gt;
  *  Description: Disables code in table sorting routine to set classes on even/odd rows&lt;br /&gt;
  *  Maintainers: [[User:Random832]]&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
ts_alternate_row_colors = false;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Modernista referrer ************************************************&lt;br /&gt;
  *&lt;br /&gt;
  *  Description: Adds a notice to pages viewed through modernista.com&lt;br /&gt;
  *  Maintainers: [[User:Random832]]&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
addOnloadHook(function(){&lt;br /&gt;
  if(/modernista\.com/.test(document.referrer)) {&lt;br /&gt;
	 jsMsg('&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;img src=&amp;quot;http://upload.wikimedia.org/'&lt;br /&gt;
	 +'wikipedia/commons/thumb/d/dc/Nuvola_apps_important_yellow.svg/'&lt;br /&gt;
	 +'48px-Nuvola_apps_important_yellow.svg.png&amp;quot; /&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;You '&lt;br /&gt;
	 +'appear to have come here from the Modernista website. They '&lt;br /&gt;
	 +'enclose Wikipedia’s content with a frame and overlay their '&lt;br /&gt;
	 +'own navigation banner on top. Wikipedia does not endorse '&lt;br /&gt;
	 +'Modernista and its appearance here should not be taken to '&lt;br /&gt;
	 +'imply this.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;');&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/***** uploadwizard_newusers ********&lt;br /&gt;
 * Switches in a message for non-autoconfirmed users at [[Wikipedia:Upload]]&lt;br /&gt;
 *&lt;br /&gt;
 *  Maintainers: [[User:Krimpet]]&lt;br /&gt;
 ****/&lt;br /&gt;
function uploadwizard_newusers() {&lt;br /&gt;
  if (wgNamespaceNumber == 4 &amp;amp;&amp;amp; wgTitle == &amp;quot;Upload&amp;quot; &amp;amp;&amp;amp; wgAction == &amp;quot;view&amp;quot;) {&lt;br /&gt;
    var oldDiv = document.getElementById(&amp;quot;autoconfirmedusers&amp;quot;),&lt;br /&gt;
        newDiv = document.getElementById(&amp;quot;newusers&amp;quot;);&lt;br /&gt;
    if (oldDiv &amp;amp;&amp;amp; newDiv) {&lt;br /&gt;
      if (typeof wgUserGroups == &amp;quot;object&amp;quot; &amp;amp;&amp;amp; wgUserGroups) {&lt;br /&gt;
        for (i = 0; i &amp;lt; wgUserGroups.length; i++) {&lt;br /&gt;
          if (wgUserGroups[i] == &amp;quot;autoconfirmed&amp;quot;) {&lt;br /&gt;
            oldDiv.style.display = &amp;quot;block&amp;quot;;&lt;br /&gt;
            newDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
            return;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      oldDiv.style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
      newDiv.style.display = &amp;quot;block&amp;quot;;&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(uploadwizard_newusers);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** IPv6 AAAA connectivity testing *******************************************************&lt;br /&gt;
  *&lt;br /&gt;
  *  Description: Uses hidden images to measure the possible negative impact of IPv6&lt;br /&gt;
  *  enabling the Wikimedia sites.&lt;br /&gt;
  *  This works by adding a hidden div to the footer with several image tags. &lt;br /&gt;
  *  The source addresses of the image tags are set to domainnames which have v4, v6 and&lt;br /&gt;
  *  both address types set.  The script times how long objects take to load.&lt;br /&gt;
  *  Results are sent back to the server. http://ipv6and4.labs.wikimedia.org/stats.html&lt;br /&gt;
  *  Based on http://www.braintrust.co.nz/ipv6wwwtest/&lt;br /&gt;
  *  Contact: [[User:Gmaxwell]], [[User:Mark Bergsma]], [[User:Mindspillage]]&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
var __ipv6wwwtest_factor = 100;&lt;br /&gt;
var __ipv6wwwtest_done = 0;&lt;br /&gt;
if ((wgServer != &amp;quot;https://secure.wikimedia.org&amp;quot;) &amp;amp;&amp;amp; (Math.floor(Math.random()*__ipv6wwwtest_factor)==42)) {&lt;br /&gt;
        var __ipv6wwwtest_timeoutMsec = 10000; // Timeout for 'final' result message in milliseconds&lt;br /&gt;
        var __ipv6wwwtest_hostSuffix = &amp;quot;.labs.wikimedia.org&amp;quot;; // Suffix to go on the IMG hostnames&lt;br /&gt;
        var __ipv6wwwtest_stopAtTimeout = true; // Whether to stop when the timeout is reached or not&lt;br /&gt;
&lt;br /&gt;
        var __ipv6wwwtest_pageLoadTime;&lt;br /&gt;
        var __ipv6wwwtest_timeout = false;&lt;br /&gt;
        var __ipv6wwwtest_ipv4LoadTime = false;&lt;br /&gt;
        var __ipv6wwwtest_ipv4relLoadTime = false;&lt;br /&gt;
        var __ipv6wwwtest_ipv6LoadTime = false;&lt;br /&gt;
        var __ipv6wwwtest_ipv6bigLoadTime = false;&lt;br /&gt;
        var __ipv6wwwtest_ipv6and4LoadTime = false;&lt;br /&gt;
        var __ipv6wwwtest_id = Math.floor(Math.random()*Math.pow(2,31));&lt;br /&gt;
&lt;br /&gt;
        function __ipv6wwwtest_startTest() {&lt;br /&gt;
                __ipv6wwwtest_pageLoadTime = new Date();&lt;br /&gt;
                document.getElementById(&amp;quot;__ipv6wwwtest_ipv4Img&amp;quot;).src = &amp;quot;http://ipv4&amp;quot; + __ipv6wwwtest_hostSuffix +&amp;quot;/ipv4.gif?id=&amp;quot; + __ipv6wwwtest_id;&lt;br /&gt;
                document.getElementById(&amp;quot;__ipv6wwwtest_ipv4relImg&amp;quot;).src = &amp;quot;//ipv4&amp;quot; + __ipv6wwwtest_hostSuffix +&amp;quot;/ipv4.gif?rel=1&amp;amp;id=&amp;quot; + __ipv6wwwtest_id;&lt;br /&gt;
                document.getElementById(&amp;quot;__ipv6wwwtest_ipv6Img&amp;quot;).src = &amp;quot;http://ipv6&amp;quot; + __ipv6wwwtest_hostSuffix +&amp;quot;/ipv6.gif?id=&amp;quot; + __ipv6wwwtest_id;&lt;br /&gt;
                document.getElementById(&amp;quot;__ipv6wwwtest_ipv6and4Img&amp;quot;).src = &amp;quot;http://ipv6and4&amp;quot; + __ipv6wwwtest_hostSuffix +&amp;quot;/ipv6and4.gif?id=&amp;quot; + __ipv6wwwtest_id;&lt;br /&gt;
                document.getElementById(&amp;quot;__ipv6wwwtest_ipv6bigImg&amp;quot;).src = &amp;quot;http://ipv6&amp;quot; + __ipv6wwwtest_hostSuffix +&amp;quot;/ipv6big.gif?id=&amp;quot; + __ipv6wwwtest_id;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function __ipv6wwwtest_sendResults(stage) {&lt;br /&gt;
                document.getElementById(&amp;quot;__ipv6wwwtest_resultsImg&amp;quot;).src = &amp;quot;http://results&amp;quot; + __ipv6wwwtest_hostSuffix +&amp;quot;/results.gif?id=&amp;quot; + __ipv6wwwtest_id + &amp;quot;&amp;amp;stage=&amp;quot; + stage + &amp;quot;&amp;amp;timeout=&amp;quot; + __ipv6wwwtest_timeoutMsec + &amp;quot;&amp;amp;stop_at_timeout=&amp;quot; + __ipv6wwwtest_stopAtTimeout + &amp;quot;&amp;amp;ipv4=&amp;quot; + __ipv6wwwtest_getLoadTime(__ipv6wwwtest_ipv4LoadTime) + &amp;quot;&amp;amp;ipv6=&amp;quot; + __ipv6wwwtest_getLoadTime(__ipv6wwwtest_ipv6LoadTime) + &amp;quot;&amp;amp;ipv6and4=&amp;quot; + __ipv6wwwtest_getLoadTime(__ipv6wwwtest_ipv6and4LoadTime) + &amp;quot;&amp;amp;ipv6big=&amp;quot; + __ipv6wwwtest_getLoadTime(__ipv6wwwtest_ipv6bigLoadTime) +&amp;quot;&amp;amp;ipv4rel=&amp;quot;+ __ipv6wwwtest_getLoadTime(__ipv6wwwtest_ipv4relLoadTime) + &amp;quot;&amp;amp;rate=&amp;quot; + __ipv6wwwtest_factor;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        function __ipv6wwwtest_getLoadTime(item) {&lt;br /&gt;
                if (item == false) {&lt;br /&gt;
                        return &amp;quot;NaN&amp;quot;;&lt;br /&gt;
                } else {&lt;br /&gt;
                        return (item.getTime() - __ipv6wwwtest_pageLoadTime.getTime());&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function __ipv6wwwtest_checkFinished() {&lt;br /&gt;
                if ( (! __ipv6wwwtest_ipv6LoadTime) || (! __ipv6wwwtest_ipv4LoadTime) || (! __ipv6wwwtest_ipv6and4LoadTime) || (! __ipv6wwwtest_ipv6bigLoadTime) || (! __ipv6wwwtest_getLoadTime)) {&lt;br /&gt;
                        if (!__ipv6wwwtest_timeout) {&lt;br /&gt;
                                __ipv6wwwtest_timeout = window.setTimeout('__ipv6wwwtest_sendFinalResults()',__ipv6wwwtest_timeoutMsec);&lt;br /&gt;
                        }&lt;br /&gt;
                        __ipv6wwwtest_sendResults('partial');&lt;br /&gt;
                } else {&lt;br /&gt;
                        __ipv6wwwtest_sendFinalResults();&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function __ipv6wwwtest_sendFinalResults() {&lt;br /&gt;
                if (__ipv6wwwtest_done==0) {&lt;br /&gt;
                  if (__ipv6wwwtest_timeout) {&lt;br /&gt;
                          window.clearTimeout(__ipv6wwwtest_timeout);&lt;br /&gt;
                  }&lt;br /&gt;
                  __ipv6wwwtest_sendResults('final');&lt;br /&gt;
&lt;br /&gt;
                  if (__ipv6wwwtest_stopAtTimeout) {&lt;br /&gt;
                          document.getElementById(&amp;quot;__ipv6wwwtest_ipv4Img&amp;quot;).src = &amp;quot;&amp;quot;;&lt;br /&gt;
                          document.getElementById(&amp;quot;__ipv6wwwtest_ipv4relImg&amp;quot;).src = &amp;quot;&amp;quot;;&lt;br /&gt;
                          document.getElementById(&amp;quot;__ipv6wwwtest_ipv6Img&amp;quot;).src = &amp;quot;&amp;quot;;&lt;br /&gt;
                          document.getElementById(&amp;quot;__ipv6wwwtest_ipv6and4Img&amp;quot;).src = &amp;quot;&amp;quot;;&lt;br /&gt;
                          document.getElementById(&amp;quot;__ipv6wwwtest_ipv6bigImg&amp;quot;).src = &amp;quot;&amp;quot;;&lt;br /&gt;
                  }&lt;br /&gt;
                }&lt;br /&gt;
                __ipv6wwwtest_done=1;&lt;br /&gt;
        }&lt;br /&gt;
  addOnloadHook(function() {&lt;br /&gt;
        v6sub=document.getElementById(&amp;quot;footer&amp;quot;);&lt;br /&gt;
        v6sub.innerHTML=v6sub.innerHTML+'&amp;lt;div style=&amp;quot;visibility: hidden;&amp;quot;&amp;gt; &amp;lt;img height=&amp;quot;1&amp;quot; width=&amp;quot;1&amp;quot; src=&amp;quot;&amp;quot; id=&amp;quot;__ipv6wwwtest_ipv4Img&amp;quot; onload=&amp;quot;__ipv6wwwtest_ipv4LoadTime = new Date(); __ipv6wwwtest_checkFinished();&amp;quot; /&amp;gt; &amp;lt;img height=&amp;quot;1&amp;quot; width=&amp;quot;1&amp;quot; src=&amp;quot;&amp;quot; id=&amp;quot;__ipv6wwwtest_ipv4relImg&amp;quot; onload=&amp;quot;__ipv6wwwtest_ipv4relLoadTime = new Date(); __ipv6wwwtest_checkFinished();&amp;quot; /&amp;gt; &amp;lt;img height=&amp;quot;1&amp;quot; width=&amp;quot;1&amp;quot; src=&amp;quot;&amp;quot; id=&amp;quot;__ipv6wwwtest_ipv6and4Img&amp;quot; onload=&amp;quot;__ipv6wwwtest_ipv6and4LoadTime = new Date(); __ipv6wwwtest_checkFinished();&amp;quot; /&amp;gt; &amp;lt;img height=&amp;quot;1&amp;quot; width=&amp;quot;1&amp;quot; src=&amp;quot;&amp;quot; id=&amp;quot;__ipv6wwwtest_ipv6Img&amp;quot; onload=&amp;quot;__ipv6wwwtest_ipv6LoadTime = new Date(); __ipv6wwwtest_checkFinished();&amp;quot; /&amp;gt; &amp;lt;img height=&amp;quot;1&amp;quot; width=&amp;quot;1&amp;quot; src=&amp;quot;&amp;quot; id=&amp;quot;__ipv6wwwtest_ipv6bigImg&amp;quot; onload=&amp;quot;__ipv6wwwtest_ipv6bigLoadTime = new Date(); __ipv6wwwtest_checkFinished();&amp;quot; /&amp;gt; &amp;lt;img height=&amp;quot;1&amp;quot; width=&amp;quot;1&amp;quot; src=&amp;quot;&amp;quot; id=&amp;quot;__ipv6wwwtest_resultsImg&amp;quot; /&amp;gt; &amp;lt;/div&amp;gt;';&lt;br /&gt;
       if (document.getElementById(&amp;quot;__ipv6wwwtest_ipv4Img&amp;quot;) &amp;amp;&amp;amp; document.getElementById(&amp;quot;__ipv6wwwtest_ipv6Img&amp;quot;) &amp;amp;&amp;amp; document.getElementById(&amp;quot;__ipv6wwwtest_ipv6and4Img&amp;quot;) &amp;amp;&amp;amp; document.getElementById(&amp;quot;__ipv6wwwtest_ipv6bigImg&amp;quot;)) {&lt;br /&gt;
         __ipv6wwwtest_startTest();&lt;br /&gt;
       }&lt;br /&gt;
   });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/** Disambig editintro ********************************************************&lt;br /&gt;
 *&lt;br /&gt;
 *  Description: Adds an editintro on disambiguation pages. Original code&lt;br /&gt;
 *  located at [[User:RockMFR/disambigeditintro.js]].&lt;br /&gt;
 *&lt;br /&gt;
 *  Maintainers: [[User:RockMFR]], [[User:Quiddity]]&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
if (wgNamespaceNumber == 0) addOnloadHook(function(){&lt;br /&gt;
 if (!document.getElementById('disambig')) return&lt;br /&gt;
 var el = document.getElementById('ca-edit')&lt;br /&gt;
 if (el) el = el.getElementsByTagName('a')[0]&lt;br /&gt;
 if (el) el.href += '&amp;amp;editintro=Template:Disambig_editintro'&lt;br /&gt;
})&lt;br /&gt;
&lt;br /&gt;
//&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jenny</name></author>
		
	</entry>
</feed>