<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://ury.org.uk/mediawiki/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://ury.org.uk/mediawiki/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js"/>
	<link rel="alternate" type="text/html" href="https://ury.org.uk/mediawiki/index.php?title=MediaWiki:Common.js&amp;action=history"/>
	<updated>2026-04-05T20:21:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://ury.org.uk/mediawiki/index.php?title=MediaWiki:Common.js&amp;diff=312&amp;oldid=prev</id>
		<title>7449: 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://ury.org.uk/mediawiki/index.php?title=MediaWiki:Common.js&amp;diff=312&amp;oldid=prev"/>
		<updated>2013-12-19T16:54:07Z</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&amp;#039;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&amp;#039;t arrived yet it&amp;#039;ll make sure those are loaded before this.&lt;br /&gt;
 */&lt;br /&gt;
/*global mw, $, importStylesheet, importScript */&lt;br /&gt;
/*jshint curly:false eqnull:true, strict:false, browser:true, */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using( [&amp;#039;mediawiki.util&amp;#039;, &amp;#039;mediawiki.notify&amp;#039;, &amp;#039;jquery.client&amp;#039;], function () {&lt;br /&gt;
/* Begin of mw.loader.using callback */&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;
if ( mw.config.get( &amp;#039;wgPageName&amp;#039; ) === &amp;#039;Main_Page&amp;#039; || mw.config.get( &amp;#039;wgPageName&amp;#039; ) === &amp;#039;Talk:Main_Page&amp;#039; ) {&lt;br /&gt;
    $( document ).ready( function () {&lt;br /&gt;
        mw.util.addPortletLink( &amp;#039;p-lang&amp;#039;, &amp;#039;//meta.wikimedia.org/wiki/List_of_Wikipedias&amp;#039;,&lt;br /&gt;
            &amp;#039;Complete list&amp;#039;, &amp;#039;interwiki-completelist&amp;#039;, &amp;#039;Complete list of Wikipedias&amp;#039; );&lt;br /&gt;
    } );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Redirect User:Name/skin.js and skin.css to the current skin&amp;#039;s pages&lt;br /&gt;
 * (unless the &amp;#039;skin&amp;#039; 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( &amp;#039;wgArticleId&amp;#039; ) === 0 &amp;amp;&amp;amp; mw.config.get( &amp;#039;wgNamespaceNumber&amp;#039; ) === 2 ) {&lt;br /&gt;
    var titleParts = mw.config.get( &amp;#039;wgPageName&amp;#039; ).split( &amp;#039;/&amp;#039; );&lt;br /&gt;
    /* Make sure there was a part before and after the slash&lt;br /&gt;
       and that the latter is &amp;#039;skin.js&amp;#039; or &amp;#039;skin.css&amp;#039; */&lt;br /&gt;
    if ( titleParts.length == 2 ) {&lt;br /&gt;
        var userSkinPage = titleParts.shift() + &amp;#039;/&amp;#039; + mw.config.get( &amp;#039;skin&amp;#039; );&lt;br /&gt;
        if ( titleParts.slice( -1 ) == &amp;#039;skin.js&amp;#039; ) {&lt;br /&gt;
            window.location.href = mw.util.wikiGetlink( userSkinPage + &amp;#039;.js&amp;#039; );&lt;br /&gt;
        } else if ( titleParts.slice( -1 ) == &amp;#039;skin.css&amp;#039; ) {&lt;br /&gt;
            window.location.href = mw.util.wikiGetlink( userSkinPage + &amp;#039;.css&amp;#039; );&lt;br /&gt;
        }&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;
 * @deprecated: Use mw.util.addPortletLink instead.&lt;br /&gt;
 */&lt;br /&gt;
mw.log.deprecate( window, &amp;#039;addPortletLink&amp;#039;, function () {&lt;br /&gt;
    return mw.util.addPortletLink.apply( mw.util, arguments );&lt;br /&gt;
}, &amp;#039;Use mw.util.addPortletLink() instead&amp;#039; );&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;
mw.log.deprecate( window, &amp;#039;getURLParamValue&amp;#039;, function () {&lt;br /&gt;
    return mw.util.getParamValue.apply( mw.util, arguments );&lt;br /&gt;
}, &amp;#039;Use mw.util.getParamValue() instead&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
/** &lt;br /&gt;
 * Test if an element has a certain class&lt;br /&gt;
 *&lt;br /&gt;
 * @deprecated:  Use $(element).hasClass() instead.&lt;br /&gt;
 */&lt;br /&gt;
mw.log.deprecate( window, &amp;#039;hasClass&amp;#039;, function ( element, className ) {&lt;br /&gt;
    return $( element ).hasClass( className );&lt;br /&gt;
}, &amp;#039;Use jQuery.hasClass() instead&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * @source www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL&lt;br /&gt;
 * @rev 5&lt;br /&gt;
 */&lt;br /&gt;
// CSS&lt;br /&gt;
var extraCSS = mw.util.getParamValue( &amp;#039;withCSS&amp;#039; );&lt;br /&gt;
if ( extraCSS ) {&lt;br /&gt;
	if ( extraCSS.match( /^MediaWiki:[^&amp;amp;&amp;lt;&amp;gt;=%#]*\.css$/ ) ) {&lt;br /&gt;
		importStylesheet( extraCSS );&lt;br /&gt;
	} else {&lt;br /&gt;
		mw.notify( &amp;#039;Only pages from the MediaWiki namespace are allowed.&amp;#039;, { title: &amp;#039;Invalid withCSS value&amp;#039; } );&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// JS&lt;br /&gt;
var extraJS = mw.util.getParamValue( &amp;#039;withJS&amp;#039; );&lt;br /&gt;
if ( extraJS ) {&lt;br /&gt;
	if ( extraJS.match( /^MediaWiki:[^&amp;amp;&amp;lt;&amp;gt;=%#]*\.js$/ ) ) {&lt;br /&gt;
		importScript( extraJS );&lt;br /&gt;
	} else {&lt;br /&gt;
		mw.notify( &amp;#039;Only pages from the MediaWiki namespace are allowed.&amp;#039;, { title: &amp;#039;Invalid withJS value&amp;#039; } );&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Import more specific scripts if necessary&lt;br /&gt;
 */&lt;br /&gt;
if ( mw.config.get( &amp;#039;wgAction&amp;#039; ) === &amp;#039;edit&amp;#039; || mw.config.get( &amp;#039;wgAction&amp;#039; ) === &amp;#039;submit&amp;#039; || mw.config.get( &amp;#039;wgCanonicalSpecialPageName&amp;#039; ) === &amp;#039;Upload&amp;#039; ) {&lt;br /&gt;
    /* scripts specific to editing pages */&lt;br /&gt;
    importScript( &amp;#039;MediaWiki:Common.js/edit.js&amp;#039; );&lt;br /&gt;
} else if ( mw.config.get( &amp;#039;wgCanonicalSpecialPageName&amp;#039; ) === &amp;#039;Watchlist&amp;#039; ) {&lt;br /&gt;
    /* watchlist scripts */&lt;br /&gt;
    importScript( &amp;#039;MediaWiki:Common.js/watchlist.js&amp;#039; );&lt;br /&gt;
}&lt;br /&gt;
if ( mw.config.get( &amp;#039;wgNamespaceNumber&amp;#039; ) === 6 ) {&lt;br /&gt;
    /* file description page scripts */&lt;br /&gt;
    importScript( &amp;#039;MediaWiki:Common.js/file.js&amp;#039; );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Load scripts specific to Internet Explorer&lt;br /&gt;
 */&lt;br /&gt;
if ( $.client.profile().name === &amp;#039;msie&amp;#039; ) {&lt;br /&gt;
    importScript( &amp;#039;MediaWiki:Common.js/IEFixes.js&amp;#039; );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Fix for Windows XP Unicode font rendering&lt;br /&gt;
 */&lt;br /&gt;
if ( navigator.appVersion.search(/windows nt 5/i) !== -1 ) {&lt;br /&gt;
    mw.util.addCSS( &amp;#039;.IPA { font-family: &amp;quot;Lucida Sans Unicode&amp;quot;, &amp;quot;Arial Unicode MS&amp;quot;; } &amp;#039; + &lt;br /&gt;
                &amp;#039;.Unicode { font-family: &amp;quot;Arial Unicode MS&amp;quot;, &amp;quot;Lucida Sans Unicode&amp;quot;; } &amp;#039; );&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;
( function () {&lt;br /&gt;
    var require_wikiminiatlas = false;&lt;br /&gt;
    var coord_filter = /geohack/;&lt;br /&gt;
    $( document ).ready( function() {&lt;br /&gt;
        $( &amp;#039;a.external.text&amp;#039; ).each( function( key, link ) {&lt;br /&gt;
            if ( link.href &amp;amp;&amp;amp; coord_filter.exec( link.href ) ) {&lt;br /&gt;
                require_wikiminiatlas = true;&lt;br /&gt;
                // break from loop&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        } );&lt;br /&gt;
        if ( $( &amp;#039;div.kmldata&amp;#039; ).length ) {&lt;br /&gt;
            require_wikiminiatlas = true;&lt;br /&gt;
        }&lt;br /&gt;
        if ( require_wikiminiatlas ) {&lt;br /&gt;
            mw.loader.load( &amp;#039;//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;#039; );&lt;br /&gt;
        }&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;
function LinkFA() {&lt;br /&gt;
    if ( document.getElementById( &amp;#039;p-lang&amp;#039; ) ) {&lt;br /&gt;
        var InterwikiLinks = document.getElementById( &amp;#039;p-lang&amp;#039; ).getElementsByTagName( &amp;#039;li&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
        for ( var i = 0; i &amp;lt; InterwikiLinks.length; i++ ) {&lt;br /&gt;
            var className = InterwikiLinks[i].className.match(/interwiki-[-\w]+/);&lt;br /&gt;
            if ( document.getElementById( className + &amp;#039;-fa&amp;#039; ) ) {&lt;br /&gt;
                InterwikiLinks[i].className += &amp;#039; FA&amp;#039;;&lt;br /&gt;
                InterwikiLinks[i].title = &amp;#039;This is a featured article in this language.&amp;#039;;&lt;br /&gt;
            } else if ( document.getElementById( className + &amp;#039;-ga&amp;#039; ) ) {&lt;br /&gt;
                InterwikiLinks[i].className += &amp;#039; GA&amp;#039;;&lt;br /&gt;
                InterwikiLinks[i].title = &amp;#039;This is a good article in this language.&amp;#039;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mw.hook( &amp;#039;wikipage.content&amp;#039; ).add( 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;#039;hide&amp;#039;;&lt;br /&gt;
var expandCaption = &amp;#039;show&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
window.collapseTable = function ( tableIndex ) {&lt;br /&gt;
    var Button = document.getElementById( &amp;#039;collapseButton&amp;#039; + tableIndex );&lt;br /&gt;
    var Table = document.getElementById( &amp;#039;collapsibleTable&amp;#039; + 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;
    var i;&lt;br /&gt;
&lt;br /&gt;
    if ( Button.firstChild.data === collapseCaption ) {&lt;br /&gt;
        for ( i = 1; i &amp;lt; Rows.length; i++ ) {&lt;br /&gt;
            Rows[i].style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
        }&lt;br /&gt;
        Button.firstChild.data = expandCaption;&lt;br /&gt;
    } else {&lt;br /&gt;
        for ( 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 = {};&lt;br /&gt;
    var Tables = document.getElementsByTagName( &amp;#039;table&amp;#039; );&lt;br /&gt;
    var i;&lt;br /&gt;
&lt;br /&gt;
    function handleButtonLink( index, e ) {&lt;br /&gt;
        window.collapseTable( index );&lt;br /&gt;
        e.preventDefault();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    for ( i = 0; i &amp;lt; Tables.length; i++ ) {&lt;br /&gt;
        if ( $( Tables[i] ).hasClass( &amp;#039;collapsible&amp;#039; ) ) {&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;#039;tr&amp;#039; )[0];&lt;br /&gt;
            if ( !HeaderRow ) continue;&lt;br /&gt;
            var Header = HeaderRow.getElementsByTagName( &amp;#039;th&amp;#039; )[0];&lt;br /&gt;
            if ( !Header ) continue;&lt;br /&gt;
&lt;br /&gt;
            NavigationBoxes[ tableIndex ] = Tables[i];&lt;br /&gt;
            Tables[i].setAttribute( &amp;#039;id&amp;#039;, &amp;#039;collapsibleTable&amp;#039; + tableIndex );&lt;br /&gt;
&lt;br /&gt;
            var Button     = document.createElement( &amp;#039;span&amp;#039; );&lt;br /&gt;
            var ButtonLink = document.createElement( &amp;#039;a&amp;#039; );&lt;br /&gt;
            var ButtonText = document.createTextNode( collapseCaption );&lt;br /&gt;
&lt;br /&gt;
            Button.className = &amp;#039;collapseButton&amp;#039;;  /* Styles are declared in Common.css */&lt;br /&gt;
&lt;br /&gt;
            ButtonLink.style.color = Header.style.color;&lt;br /&gt;
            ButtonLink.setAttribute( &amp;#039;id&amp;#039;, &amp;#039;collapseButton&amp;#039; + tableIndex );&lt;br /&gt;
            ButtonLink.setAttribute( &amp;#039;href&amp;#039;, &amp;#039;#&amp;#039; );&lt;br /&gt;
            $( ButtonLink ).on( &amp;#039;click&amp;#039;, $.proxy( handleButtonLink, ButtonLink, tableIndex ) );&lt;br /&gt;
            ButtonLink.appendChild( ButtonText );&lt;br /&gt;
&lt;br /&gt;
            Button.appendChild( document.createTextNode( &amp;#039;[&amp;#039; ) );&lt;br /&gt;
            Button.appendChild( ButtonLink );&lt;br /&gt;
            Button.appendChild( document.createTextNode( &amp;#039;]&amp;#039; ) );&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 ( i = 0;  i &amp;lt; tableIndex; i++ ) {&lt;br /&gt;
        if ( $( NavigationBoxes[i] ).hasClass( &amp;#039;collapsed&amp;#039; ) || ( tableIndex &amp;gt;= autoCollapse &amp;amp;&amp;amp; $( NavigationBoxes[i] ).hasClass( &amp;#039;autocollapse&amp;#039; ) ) ) {&lt;br /&gt;
            window.collapseTable( i );&lt;br /&gt;
        } &lt;br /&gt;
        else if ( $( NavigationBoxes[i] ).hasClass ( &amp;#039;innercollapse&amp;#039; ) ) {&lt;br /&gt;
            var element = NavigationBoxes[i];&lt;br /&gt;
            while ((element = element.parentNode)) {&lt;br /&gt;
                if ( $( element ).hasClass( &amp;#039;outercollapse&amp;#039; ) ) {&lt;br /&gt;
                    window.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;
mw.hook( &amp;#039;wikipage.content&amp;#039; ).add( 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 = &amp;#039;[&amp;#039; + collapseCaption + &amp;#039;]&amp;#039;;&lt;br /&gt;
var NavigationBarShow = &amp;#039;[&amp;#039; + expandCaption + &amp;#039;]&amp;#039;;&lt;br /&gt;
&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;
 **/&lt;br /&gt;
window.toggleNavigationBar = function ( indexNavigationBar, event ) {&lt;br /&gt;
    var NavToggle = document.getElementById( &amp;#039;NavToggle&amp;#039; + indexNavigationBar );&lt;br /&gt;
    var NavFrame = document.getElementById( &amp;#039;NavFrame&amp;#039; + indexNavigationBar );&lt;br /&gt;
    var NavChild;&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 ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {&lt;br /&gt;
            if ( $( NavChild ).hasClass( &amp;#039;NavContent&amp;#039; ) || $( NavChild ).hasClass( &amp;#039;NavPic&amp;#039; ) ) {&lt;br /&gt;
                NavChild.style.display = &amp;#039;none&amp;#039;;&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 ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {&lt;br /&gt;
            if ( $( NavChild ).hasClass( &amp;#039;NavContent&amp;#039; ) || $( NavChild ).hasClass( &amp;#039;NavPic&amp;#039; ) ) {&lt;br /&gt;
                NavChild.style.display = &amp;#039;block&amp;#039;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        NavToggle.firstChild.data = NavigationBarHide;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    event.preventDefault();&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;
    var NavFrame;&lt;br /&gt;
    var NavChild;&lt;br /&gt;
    /* iterate over all &amp;lt; div &amp;gt;-elements */&lt;br /&gt;
    var divs = document.getElementsByTagName( &amp;#039;div&amp;#039; );&lt;br /&gt;
    for ( var i = 0; (NavFrame = divs[i]); i++ ) {&lt;br /&gt;
        /* if found a navigation bar */&lt;br /&gt;
        if ( $( NavFrame ).hasClass( &amp;#039;NavFrame&amp;#039; ) ) {&lt;br /&gt;
&lt;br /&gt;
            indexNavigationBar++;&lt;br /&gt;
            var NavToggle = document.createElement( &amp;#039;a&amp;#039; );&lt;br /&gt;
            NavToggle.className = &amp;#039;NavToggle&amp;#039;;&lt;br /&gt;
            NavToggle.setAttribute( &amp;#039;id&amp;#039;, &amp;#039;NavToggle&amp;#039; + indexNavigationBar );&lt;br /&gt;
            NavToggle.setAttribute( &amp;#039;href&amp;#039;, &amp;#039;#&amp;#039; );&lt;br /&gt;
            $( NavToggle ).on( &amp;#039;click&amp;#039;, $.proxy( window.toggleNavigationBar, window, indexNavigationBar ) );&lt;br /&gt;
&lt;br /&gt;
            var isCollapsed = $( NavFrame ).hasClass( &amp;#039;collapsed&amp;#039; );&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 ( NavChild = NavFrame.firstChild; NavChild != null &amp;amp;&amp;amp; !isCollapsed; NavChild = NavChild.nextSibling ) {&lt;br /&gt;
                if ( $( NavChild ).hasClass( &amp;#039;NavPic&amp;#039; ) || $( NavChild ).hasClass( &amp;#039;NavContent&amp;#039; ) ) {&lt;br /&gt;
                    if ( NavChild.style.display === &amp;#039;none&amp;#039; ) {&lt;br /&gt;
                        isCollapsed = true;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            if ( isCollapsed ) {&lt;br /&gt;
                for ( NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) {&lt;br /&gt;
                    if ( $( NavChild ).hasClass( &amp;#039;NavPic&amp;#039; ) || $( NavChild ).hasClass( &amp;#039;NavContent&amp;#039; ) ) {&lt;br /&gt;
                        NavChild.style.display = &amp;#039;none&amp;#039;;&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&amp;#039;s firstChild handling is borked) */&lt;br /&gt;
            for( var j = 0; j &amp;lt; NavFrame.childNodes.length; j++ ) {&lt;br /&gt;
                if ( $( NavFrame.childNodes[j] ).hasClass( &amp;#039;NavHead&amp;#039; ) ) {&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( &amp;#039;id&amp;#039;, &amp;#039;NavFrame&amp;#039; + indexNavigationBar );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
mw.hook( &amp;#039;wikipage.content&amp;#039; ).add( createNavigationBarToggleButton );&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 ( mw.config.get( &amp;#039;wgNamespaceNumber&amp;#039; ) === 4 &amp;amp;&amp;amp; mw.config.get( &amp;#039;wgTitle&amp;#039; ) === &amp;#039;Upload&amp;#039; &amp;amp;&amp;amp; mw.config.get( &amp;#039;wgAction&amp;#039; ) === &amp;#039;view&amp;#039; ) {&lt;br /&gt;
        var oldDiv = document.getElementById( &amp;#039;autoconfirmedusers&amp;#039; ),&lt;br /&gt;
            newDiv = document.getElementById( &amp;#039;newusers&amp;#039; );&lt;br /&gt;
        if ( oldDiv &amp;amp;&amp;amp; newDiv ) {&lt;br /&gt;
            var userGroups = mw.config.get( &amp;#039;wgUserGroups&amp;#039; );&lt;br /&gt;
            if ( userGroups ) {&lt;br /&gt;
                for ( var i = 0; i &amp;lt; userGroups.length; i++ ) {&lt;br /&gt;
                    if ( userGroups[i] === &amp;#039;autoconfirmed&amp;#039; ) {&lt;br /&gt;
                        oldDiv.style.display = &amp;#039;block&amp;#039;;&lt;br /&gt;
                        newDiv.style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
                        return;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            oldDiv.style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
            newDiv.style.display = &amp;#039;block&amp;#039;;&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$(uploadwizard_newusers);&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;
function addEditIntro( name ) {&lt;br /&gt;
    $( &amp;#039;.mw-editsection, #ca-edit&amp;#039; ).find( &amp;#039;a&amp;#039; ).each( function ( i, el ) {&lt;br /&gt;
        el.href = $( this ).attr( &amp;#039;href&amp;#039; ) + &amp;#039;&amp;amp;editintro=&amp;#039; + name;&lt;br /&gt;
    } );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ( mw.config.get( &amp;#039;wgNamespaceNumber&amp;#039; ) === 0 ) {&lt;br /&gt;
    $( function () {&lt;br /&gt;
        if ( document.getElementById( &amp;#039;disambigbox&amp;#039; ) ) {&lt;br /&gt;
            addEditIntro( &amp;#039;Template:Disambig_editintro&amp;#039; );&lt;br /&gt;
        }&lt;br /&gt;
    } );&lt;br /&gt;
&lt;br /&gt;
    $( function () {&lt;br /&gt;
        var cats = document.getElementById( &amp;#039;mw-normal-catlinks&amp;#039; );&lt;br /&gt;
        if ( !cats ) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
        cats = cats.getElementsByTagName( &amp;#039;a&amp;#039; );&lt;br /&gt;
        for ( var i = 0; i &amp;lt; cats.length; i++ ) {&lt;br /&gt;
            if ( cats[i].title === &amp;#039;Category:Living people&amp;#039; || cats[i].title === &amp;#039;Category:Possibly living people&amp;#039; ) {&lt;br /&gt;
                addEditIntro( &amp;#039;Template:BLP_editintro&amp;#039; );&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 ( document.location &amp;amp;&amp;amp; document.location.protocol  &amp;amp;&amp;amp; document.location.protocol === &amp;#039;https:&amp;#039; ) {&lt;br /&gt;
    /* New secure servers */&lt;br /&gt;
    importScript( &amp;#039;MediaWiki:Common.js/secure new.js&amp;#039; );&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>7449</name></author>
	</entry>
</feed>