<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ntbigroup.com/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.ntbigroup.com/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.ntbigroup.com/index.php?title=MediaWiki:Common.js&amp;action=history"/>
	<updated>2026-04-28T21:02:00Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.ntbigroup.com/index.php?title=MediaWiki:Common.js&amp;diff=1002&amp;oldid=prev</id>
		<title>imported&gt;NelsonJenkins at 21:49, 3 March 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.ntbigroup.com/index.php?title=MediaWiki:Common.js&amp;diff=1002&amp;oldid=prev"/>
		<updated>2012-03-03T21:49:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.ntbigroup.com/index.php?title=MediaWiki:Common.js&amp;amp;diff=1002&amp;amp;oldid=1001&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>imported&gt;NelsonJenkins</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.ntbigroup.com/index.php?title=MediaWiki:Common.js&amp;diff=1001&amp;oldid=prev</id>
		<title>imported&gt;NelsonJenkins at 18:57, 3 March 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.ntbigroup.com/index.php?title=MediaWiki:Common.js&amp;diff=1001&amp;oldid=prev"/>
		<updated>2012-03-03T18:57:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.ntbigroup.com/index.php?title=MediaWiki:Common.js&amp;amp;diff=1001&amp;amp;oldid=1000&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>imported&gt;NelsonJenkins</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.ntbigroup.com/index.php?title=MediaWiki:Common.js&amp;diff=1000&amp;oldid=prev</id>
		<title>imported&gt;NelsonJenkins: Created page with &quot;/**  * Keep code in MediaWiki:Common.js to a minimum as it is unconditionally  * loaded for all users on every wiki page. If possible create a gadget that is  * enabled by def...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.ntbigroup.com/index.php?title=MediaWiki:Common.js&amp;diff=1000&amp;oldid=prev"/>
		<updated>2012-03-03T18:04:11Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;/**  * Keep code in MediaWiki:Common.js to a minimum as it is unconditionally  * loaded for all users on every wiki page. If possible create a gadget that is  * enabled by def...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/**&lt;br /&gt;
 * Keep code in MediaWiki:Common.js to a minimum as it is unconditionally&lt;br /&gt;
 * loaded for all users on every wiki page. If possible create a gadget that is&lt;br /&gt;
 * enabled by default instead of adding it here (since gadgets are fully&lt;br /&gt;
 * optimized ResourceLoader modules with possibility to add dependencies etc.)&lt;br /&gt;
 *&lt;br /&gt;
 * Since common.js isn't a gadget, there is no place to declare its&lt;br /&gt;
 * dependencies, so we have to lazy load them with mw.loader.using on demand and&lt;br /&gt;
 * then execute the rest in the callback. In most cases these dependencies will&lt;br /&gt;
 * be loaded (or loading) already and the callback will not be delayed. In case a&lt;br /&gt;
 * dependency hasn't arrived yet it'll make sure those are loaded before this.&lt;br /&gt;
 */&lt;br /&gt;
mw.loader.using( 'mediawiki.util', function() {&lt;br /&gt;
/* Begin of mw.loader.using callback */&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * Redirect User:Name/skin.js and skin.css to the current skin's pages&lt;br /&gt;
 * (unless the 'skin' page really exists)&lt;br /&gt;
 * @source: http://www.mediawiki.org/wiki/Snippets/Redirect_skin.js&lt;br /&gt;
 * @rev: 2&lt;br /&gt;
 */&lt;br /&gt;
if ( mw.config.get( 'wgArticleId' ) === 0 &amp;amp;&amp;amp; mw.config.get( 'wgNamespaceNumber' ) == 2 ) {&lt;br /&gt;
	var titleParts = mw.config.get( 'wgPageName' ).split( '/' );&lt;br /&gt;
	// Make sure there was a part before and after the slash&lt;br /&gt;
	// And that the latter is 'skin.js' or 'skin.css'&lt;br /&gt;
	if ( titleParts.length == 2 ) {&lt;br /&gt;
		var userSkinPage = titleParts.shift() + '/' + mw.config.get( 'skin' );&lt;br /&gt;
		if ( titleParts.slice(-1) == 'skin.js' ) {&lt;br /&gt;
			window.location.href = mw.util.wikiGetlink( userSkinPage + '.js' );&lt;br /&gt;
		} else if ( titleParts.slice(-1) == 'skin.css' ) {&lt;br /&gt;
			window.location.href = mw.util.wikiGetlink( userSkinPage + '.css' );&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/** Map addPortletLink to mw.util &lt;br /&gt;
 */&lt;br /&gt;
window.addPortletLink = function() {&lt;br /&gt;
    return mw.util.addPortletLink.apply( mw.util, arguments );&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
/** extract a URL parameter from the current URL **********&lt;br /&gt;
 *&lt;br /&gt;
 * @deprecated: Use mw.util.getParamValue with proper escaping&lt;br /&gt;
 */&lt;br /&gt;
window.getURLParamValue = function() {&lt;br /&gt;
    return mw.util.getParamValue.apply( mw.util, arguments );&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
/** &amp;amp;withCSS= and &amp;amp;withJS= URL parameters *******&lt;br /&gt;
 * Allow to try custom scripts from MediaWiki space &lt;br /&gt;
 * without editing personal .css or .js files&lt;br /&gt;
 */&lt;br /&gt;
var extraCSS = mw.util.getParamValue(&amp;quot;withCSS&amp;quot;);&lt;br /&gt;
if ( extraCSS &amp;amp;&amp;amp; extraCSS.match(/^MediaWiki:[^&amp;amp;&amp;lt;&amp;gt;=%]*\.css$/) ) {&lt;br /&gt;
    importStylesheet(extraCSS);&lt;br /&gt;
}&lt;br /&gt;
var extraJS = mw.util.getParamValue(&amp;quot;withJS&amp;quot;);&lt;br /&gt;
if ( extraJS &amp;amp;&amp;amp; extraJS.match(/^MediaWiki:[^&amp;amp;&amp;lt;&amp;gt;=%]*\.js$/) ) {&lt;br /&gt;
    importScript(extraJS);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
/* Import more specific scripts if necessary */&lt;br /&gt;
if (wgAction == 'edit' || wgAction == 'submit' || wgPageName == 'Special:Upload') { //scripts specific to editing pages&lt;br /&gt;
    importScript('MediaWiki:Common.js/edit.js');&lt;br /&gt;
}&lt;br /&gt;
else if (mw.config.get('wgPageName') == 'Special:Watchlist') { //watchlist scripts&lt;br /&gt;
    mw.loader.load(mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=MediaWiki:Common.js/watchlist.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;amp;smaxage=21600&amp;amp;maxage=86400');&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
if ( wgNamespaceNumber == 6 ) {&lt;br /&gt;
    importScript('MediaWiki:Common.js/file.js');&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/** For sysops *****************************************&lt;br /&gt;
 *&lt;br /&gt;
 *  Description: Allows for sysop-specific Javascript at [[MediaWiki:Sysop.js]],&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
if ( $.inArray( 'sysop', wgUserGroups) &amp;gt; -1 ) {&lt;br /&gt;
 if ( !window.disableSysopJS ) {&lt;br /&gt;
  $(function(){&lt;br /&gt;
   importScript('MediaWiki:Sysop.js');&lt;br /&gt;
  });&lt;br /&gt;
 }&lt;br /&gt;
}&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;
mw.loader.load('//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;amp;smaxage=21600&amp;amp;maxage=86400');&lt;br /&gt;
 &lt;br /&gt;
/* Scripts specific to Internet Explorer */&lt;br /&gt;
if ($.client.profile().name == 'msie') {&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;
    var fixIEScroll = function() {&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;
 &lt;br /&gt;
        oldWidth = docEl.clientWidth;&lt;br /&gt;
    };&lt;br /&gt;
 &lt;br /&gt;
    var doFixIEScroll = function () {&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;
    // In print IE (7?) does not like line-height&lt;br /&gt;
    mw.util.addCSS('@media print { sup, sub, p, .documentDescription { line-height: normal; } }');&lt;br /&gt;
 &lt;br /&gt;
    // IE overflow bug&lt;br /&gt;
    mw.util.addCSS('div.overflowbugx { overflow-x: scroll !important; overflow-y: hidden !important; } '&lt;br /&gt;
      + 'div.overflowbugy { overflow-y: scroll !important; overflow-x: hidden !important; }');&lt;br /&gt;
 &lt;br /&gt;
    // IE zoomfix&lt;br /&gt;
    // Use to fix right floating div/table inside tables&lt;br /&gt;
    mw.util.addCSS('.iezoomfix div, .iezoomfix table { zoom: 1; }');&lt;br /&gt;
 &lt;br /&gt;
    // Import scripts specific to Internet Explorer 6&lt;br /&gt;
    if ($.client.profile().versionBase == '6') {&lt;br /&gt;
        importScript('MediaWiki:Common.js/IE60Fixes.js');&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Fixes for Windows font rendering */&lt;br /&gt;
if ($.client.profile().platform == 'win') {&lt;br /&gt;
    mw.util.addCSS('.IPA, .Unicode { font-family: &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; }');&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Helper script for .hlist class in common.css&lt;br /&gt;
 * Maintainer: [[User:Edokter]]&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
if ( $.client.profile().name == 'msie' ) {&lt;br /&gt;
  /* remove interpunct from last list items in IE 8 */&lt;br /&gt;
  if ( $.client.profile().versionBase == '8' ) {&lt;br /&gt;
    $( '.hlist' ).find( 'dd:last-child, dt:last-child, li:last-child' )&lt;br /&gt;
      .addClass( 'nopunct' );&lt;br /&gt;
  }&lt;br /&gt;
  /* Generate interpuncts and parens for IE &amp;lt; 8 */&lt;br /&gt;
  if ( $.client.profile().versionBase &amp;lt; '8' ) {&lt;br /&gt;
    $( '.hlist' ).find( 'dt + dd, dt + dt' ).prev()&lt;br /&gt;
      .append( '&amp;lt;b&amp;gt;:&amp;lt;/b&amp;gt; ' );&lt;br /&gt;
    $( '.hlist' ).find( 'dd + dd, dd + dt, li + li' ).prev()&lt;br /&gt;
      .append( '&amp;lt;b&amp;gt;·&amp;lt;/b&amp;gt; ' );&lt;br /&gt;
    $( '.hlist' ).find( 'dl dl, ol ol, ul ul' )&lt;br /&gt;
      .prepend( '( ' ).append( ') ' );&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/* Test if an element has a certain class&lt;br /&gt;
 * Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]]&lt;br /&gt;
 *&lt;br /&gt;
 * @deprecated:  Use $(element).hasClass() instead.&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
window.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;
    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;
            } else if ( document.getElementById( InterwikiLinks[i].className + &amp;quot;-ga&amp;quot; ) ) {&lt;br /&gt;
                InterwikiLinks[i].className += &amp;quot; GA&amp;quot;;&lt;br /&gt;
                InterwikiLinks[i].title = &amp;quot;This is a good article in another language.&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
$( 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;
window.collapseTable = function( tableIndex ){&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;
    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.className = &amp;quot;collapseButton&amp;quot;;  //Styles are declared in Common.css&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;#&amp;quot; );&lt;br /&gt;
            addHandler( ButtonLink,  &amp;quot;click&amp;quot;, new Function( &amp;quot;evt&amp;quot;, &amp;quot;collapseTable(&amp;quot; + tableIndex + &amp;quot; ); return killEvt( evt );&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.firstChild );&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;
            var element = NavigationBoxes[i];&lt;br /&gt;
            while (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;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
$( 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;
window.toggleNavigationBar = function(indexNavigationBar){&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, 'NavContent') || hasClass(NavChild, 'NavPic')) {&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, 'NavContent') || hasClass(NavChild, 'NavPic')) {&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;
    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;
                    NavToggle.style.color = NavFrame.childNodes[j].style.color;&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;
$( 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;
if (wgPageName == 'Main_Page' || wgPageName == 'Talk:Main_Page') {&lt;br /&gt;
    $(function () {&lt;br /&gt;
        mw.util.addPortletLink('p-lang', '//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;
 &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;
ts_alternate_row_colors = false;&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;
$(uploadwizard_newusers);&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
/** IPv6 AAAA connectivity testing &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;
    importScript(&amp;quot;MediaWiki:Common.js/IPv6.js&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
**/&lt;br /&gt;
 &lt;br /&gt;
/** Magic editintros ****************************************************&lt;br /&gt;
 *&lt;br /&gt;
 *  Description: Adds editintros on disambiguation pages and BLP pages.&lt;br /&gt;
 *  Maintainers: [[User:RockMFR]]&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
function addEditIntro( name ) {&lt;br /&gt;
  $( '.editsection, #ca-edit' ).find( 'a' ).each( function( i, el ) {&lt;br /&gt;
    el.href = $(this).attr(&amp;quot;href&amp;quot;) + '&amp;amp;editintro=' + name;&lt;br /&gt;
  });&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
if (wgNamespaceNumber === 0) {&lt;br /&gt;
  $(function(){&lt;br /&gt;
    if (document.getElementById('disambigbox')) {&lt;br /&gt;
      addEditIntro('Template:Disambig_editintro');&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
 &lt;br /&gt;
  $(function(){&lt;br /&gt;
    var cats = document.getElementById('mw-normal-catlinks');&lt;br /&gt;
    if (!cats) {&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
    cats = cats.getElementsByTagName('a');&lt;br /&gt;
    for (var i = 0; i &amp;lt; cats.length; i++) {&lt;br /&gt;
      if (cats[i].title == 'Category:Living people' || cats[i].title == 'Category:Possibly living people') {&lt;br /&gt;
        addEditIntro('Template:BLP_editintro');&lt;br /&gt;
        break;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * Description: Stay on the secure server as much as possible&lt;br /&gt;
 * Maintainers: [[User:TheDJ]]&lt;br /&gt;
 */&lt;br /&gt;
if ( mw.config.get('wgServer') == 'https://secure.wikimedia.org' ) {&lt;br /&gt;
    /* Old secure server */&lt;br /&gt;
    importScript( 'MediaWiki:Common.js/secure.js');&lt;br /&gt;
} else if( document.location &amp;amp;&amp;amp; document.location.protocol  &amp;amp;&amp;amp; document.location.protocol == &amp;quot;https:&amp;quot; ) {&lt;br /&gt;
  /* New secure servers */&lt;br /&gt;
  importScript('MediaWiki:Common.js/secure new.js');&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
/** Text area function for the account creation process */&lt;br /&gt;
jQuery(function(){&lt;br /&gt;
   if (!(document.getElementById('signupuserpagefillmagic'))) return;&lt;br /&gt;
  /*&lt;br /&gt;
   * Puts an userpage edit-box inside a div with the ID 'signupuserpagefillmagic'&lt;br /&gt;
   * Created for [[:outreach:Account Creation Improvement Project]] by&lt;br /&gt;
   * [[:sv:User:Sertion]] on the behalf of [[:outreach:User:Hannibal]]&lt;br /&gt;
   * &lt;br /&gt;
   * Below are variables for internationalization. Please use \n for linebreaks&lt;br /&gt;
   * and escape all single quotation marks (') with \'&lt;br /&gt;
   */&lt;br /&gt;
   var preComment = '&amp;lt;!-- BELOW IS THE TEXT ABOUT YOU. YOU CAN CHANGE IT COMPLETELY OR IN PARTS AND THEN COME BACK TO IT. AFTER YOU ARE DONE, SCROLL DOWN A BIT FURTHER AND CLICK &amp;quot;SAVE PAGE&amp;quot;.--\&amp;gt;{'+'{New user bar}}\n',&lt;br /&gt;
       postComment = '\n\n&amp;lt;!-- NOW, CLICK THE &amp;quot;SAVE PAGE&amp;quot; BUTTON. CONGRATULATIONS, YOU\'VE JUST MADE YOUR FIRST EDIT TO WIKIPEDIA. --\&amp;gt;',&lt;br /&gt;
       preSubmitButton ='Do not forget to click SAVE PAGE when you get to the next page!',&lt;br /&gt;
       submitText = 'Create my user page for me now!',&lt;br /&gt;
       SUPeditSummary = 'New user page through [[:outreach:Account Creation Improvement Project|Outreach:ACIP]]',&lt;br /&gt;
       preFilltemplate = 'Replace this example text with information about you. \n\n';&lt;br /&gt;
   /*&lt;br /&gt;
    * The actual magic:&lt;br /&gt;
    * Inserts a form with a single visible field that simulates the normal&lt;br /&gt;
    * edit-field. It uses the variables from above to set a text example (pre&lt;br /&gt;
    * filled), an automated edit summary and the label of the submit button.&lt;br /&gt;
    * 'fakewpTextbox1' is used to hide the assembling of the final output that&lt;br /&gt;
    * is made below.&lt;br /&gt;
    */&lt;br /&gt;
   jQuery('#signupuserpagefillmagic').html('&amp;lt;form action=&amp;quot;'+wgServer+wgScript+'?title='+wgFormattedNamespaces[2]+':'+wgUserName+'&amp;amp;action=submit&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&amp;lt;textarea id=&amp;quot;fakewpTextbox1&amp;quot; style=&amp;quot;width:46em;height:20em;&amp;quot;&amp;gt;'+preFilltemplate+'&amp;lt;/textarea&amp;gt;&amp;lt;textarea name=&amp;quot;wpTextbox1&amp;quot; id=&amp;quot;wpTextbox1&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;wpSummary&amp;quot; id=&amp;quot;wpSummary&amp;quot; value=&amp;quot;'+SUPeditSummary+'&amp;quot; /&amp;gt;&amp;lt;br/&amp;gt;'+preSubmitButton+'&amp;lt;br/&amp;gt;&amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;'+submitText+'&amp;quot;/&amp;gt;&amp;lt;/form&amp;gt;');&lt;br /&gt;
   // Waits for the form to be submitted.&lt;br /&gt;
   jQuery('#signupuserpagefillmagic form').live('submit',function(r){&lt;br /&gt;
     // Stops the form from submitting&lt;br /&gt;
     r.preventDefault();&lt;br /&gt;
     /*&lt;br /&gt;
      * Uses the previously defined variables preComment and postComment&lt;br /&gt;
      * to assemble the final output in the hidden textarea.&lt;br /&gt;
      */&lt;br /&gt;
     $('#wpTextbox1').text( preComment + jQuery('#fakewpTextbox1').text() + postComment );&lt;br /&gt;
     /*&lt;br /&gt;
      * Submits the form.&lt;br /&gt;
      * For unknown reasons jQuery('#signupuserpagefillmagic form').submit() crashes&lt;br /&gt;
      * Firefox (only tested in version 4.0). This method seam to work cross browser.&lt;br /&gt;
      */&lt;br /&gt;
     document.getElementById('signupuserpagefillmagic').getElementsByTagName('form')[0].submit();&lt;br /&gt;
   });&lt;br /&gt;
});&lt;br /&gt;
 &lt;br /&gt;
/* End of mw.loader.using callback */&lt;br /&gt;
} );&lt;br /&gt;
/* DO NOT ADD CODE BELOW THIS LINE */&lt;/div&gt;</summary>
		<author><name>imported&gt;NelsonJenkins</name></author>
		
	</entry>
</feed>