MediaWiki:Common.js

Aus besserwiki.de

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
/**
 * Anil2
 */

var random = Math.floor(Math.random() * $('.itemlink').length);
$('.itemlink').hide().eq(random).show();


/**
 * Anil
 */
    var todaysdate = new Date();
    var dd = todaysdate.getDate();
    var mm = todaysdate.getMonth()+1; //January is 0!

    var yyyy = todaysdate.getFullYear();
    if(dd<10){
        dd='0'+dd;
    } 
    if(mm<10){
        mm='0'+mm;
    } 
    var todaysdate = dd+'/'+mm+'/'+yyyy;

    var weekadates =  //Woche47
    ["21/11/2022", "22/11/2022", "23/11/2022", "24/11/2022", "25/11/2022", "26/11/2022", "27/11/2022",];

    var weekbdates =  //Woche48
    ["28/11/2022", "29/11/2022", "30/11/2022", "01/12/2022", "02/12/2022", "03/12/2022", "04/12/2022",];
    
    var weekcdates =  //Woche49
    ["05/12/2022", "06/12/2022", "07/12/2022", "08/12/2022", "09/12/2022", "10/12/2022", "11/12/2022",];

    var a = weekadates.indexOf(todaysdate);
    var b = weekbdates.indexOf(todaysdate);
    var c = weekcdates.indexOf(todaysdate);


    if (a > -1) 
    {
        document.getElementById("changeText").innerHTML = "<a href='https://besserwiki.de/wiki/Angst'><img class='weeklyimg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Los_Angeles%2C_California._Lockheed_Employment._A_worried_applicant_waiting_to_be_interviewed_-_NARA_-_532210.tif/lossy-page1-440px-Los_Angeles%2C_California._Lockheed_Employment._A_worried_applicant_waiting_to_be_interviewed_-_NARA_-_532210.tif.jpg'></a>" 
        +"<h3 class='weeklyhead'><a class='weeklyheada' href='https://besserwiki.de/wiki/Angst'>Angst</a></h3>"
        +"<p>Angst ist eine Emotion, die durch einen unangenehmen Zustand innerer Unruhe gekennzeichnet ist und subjektiv unangenehme Gefühle der Furcht vor erwarteten Ereignissen einschließt. Sie wird oft von nervösem Verhalten wie Auf- und Abgehen, somatischen Beschwerden und Grübeln begleitet.</p>"
		+"<p>Angst ist ein Gefühl des Unbehagens und der Besorgnis, das in der Regel generalisiert und unkonzentriert ist und eine Überreaktion auf eine Situation darstellt, die nur subjektiv als bedrohlich empfunden wird. Sie geht häufig mit Muskelverspannungen, Unruhe, Müdigkeit, Atemnot, Engegefühl in der Bauchgegend, Übelkeit und Konzentrationsschwierigkeiten einher. Angst steht in engem Zusammenhang mit Furcht, die eine Reaktion auf eine tatsächliche oder wahrgenommene unmittelbare Bedrohung ist (Kampf- oder Fluchtreaktion); Angst beinhaltet die Erwartung einer zukünftigen Bedrohung, einschließlich Furcht. Menschen, die mit Angst konfrontiert sind, ziehen sich möglicherweise aus Situationen zurück, die in der Vergangenheit Angst ausgelöst haben.</p>"
		+"<a class='weeklylink' href='https://besserwiki.de/wiki/Angst'>Zum Artikel</a>"
		+"<div style='clear:both;'></div>"; 
    } 
    else if (b > -1) 
    {
        document.getElementById("changeText").innerHTML = "<a href='https://besserwiki.de/wiki/Angst'><img class='weeklyimg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Los_Angeles%2C_California._Lockheed_Employment._A_worried_applicant_waiting_to_be_interviewed_-_NARA_-_532210.tif/lossy-page1-440px-Los_Angeles%2C_California._Lockheed_Employment._A_worried_applicant_waiting_to_be_interviewed_-_NARA_-_532210.tif.jpg'></a>" 
        +"<h3 class='weeklyhead'><a class='weeklyheada' href='https://besserwiki.de/wiki/Angst'>Angst</a></h3>"
        +"<p>Angst ist eine Emotion, die durch einen unangenehmen Zustand innerer Unruhe gekennzeichnet ist und subjektiv unangenehme Gefühle der Furcht vor erwarteten Ereignissen einschließt. Sie wird oft von nervösem Verhalten wie Auf- und Abgehen, somatischen Beschwerden und Grübeln begleitet.</p>"
		+"<p>Angst ist ein Gefühl des Unbehagens und der Besorgnis, das in der Regel generalisiert und unkonzentriert ist und eine Überreaktion auf eine Situation darstellt, die nur subjektiv als bedrohlich empfunden wird. Sie geht häufig mit Muskelverspannungen, Unruhe, Müdigkeit, Atemnot, Engegefühl in der Bauchgegend, Übelkeit und Konzentrationsschwierigkeiten einher. Angst steht in engem Zusammenhang mit Furcht, die eine Reaktion auf eine tatsächliche oder wahrgenommene unmittelbare Bedrohung ist (Kampf- oder Fluchtreaktion); Angst beinhaltet die Erwartung einer zukünftigen Bedrohung, einschließlich Furcht. Menschen, die mit Angst konfrontiert sind, ziehen sich möglicherweise aus Situationen zurück, die in der Vergangenheit Angst ausgelöst haben.</p>"
		+"<a class='weeklylink' href='https://besserwiki.de/wiki/Angst'>Zum Artikel</a>"
		+"<div style='clear:both;'></div>"; 
    } 
    else if (c > -1) 
    {
        document.getElementById("changeText").innerHTML = "<a href='https://besserwiki.de/wiki/Angst'><img class='weeklyimg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Los_Angeles%2C_California._Lockheed_Employment._A_worried_applicant_waiting_to_be_interviewed_-_NARA_-_532210.tif/lossy-page1-440px-Los_Angeles%2C_California._Lockheed_Employment._A_worried_applicant_waiting_to_be_interviewed_-_NARA_-_532210.tif.jpg'></a>" 
        +"<h3 class='weeklyhead'><a class='weeklyheada' href='https://besserwiki.de/wiki/Angst'>Angst</a></h3>"
        +"<p>Angst ist eine Emotion, die durch einen unangenehmen Zustand innerer Unruhe gekennzeichnet ist und subjektiv unangenehme Gefühle der Furcht vor erwarteten Ereignissen einschließt. Sie wird oft von nervösem Verhalten wie Auf- und Abgehen, somatischen Beschwerden und Grübeln begleitet.</p>"
		+"<p>Angst ist ein Gefühl des Unbehagens und der Besorgnis, das in der Regel generalisiert und unkonzentriert ist und eine Überreaktion auf eine Situation darstellt, die nur subjektiv als bedrohlich empfunden wird. Sie geht häufig mit Muskelverspannungen, Unruhe, Müdigkeit, Atemnot, Engegefühl in der Bauchgegend, Übelkeit und Konzentrationsschwierigkeiten einher. Angst steht in engem Zusammenhang mit Furcht, die eine Reaktion auf eine tatsächliche oder wahrgenommene unmittelbare Bedrohung ist (Kampf- oder Fluchtreaktion); Angst beinhaltet die Erwartung einer zukünftigen Bedrohung, einschließlich Furcht. Menschen, die mit Angst konfrontiert sind, ziehen sich möglicherweise aus Situationen zurück, die in der Vergangenheit Angst ausgelöst haben.</p>"
		+"<a class='weeklylink' href='https://besserwiki.de/wiki/Angst'>Zum Artikel</a>"
		+"<div style='clear:both;'></div>"; 
    } else
    {
    	document.getElementById("changeText").innerHTML = "Hier bekommen Sie demnächst die nächsten Artikel der Woche.";
    }










 


/**
 * 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 default instead of adding it here (since gadgets are fully
 * optimized ResourceLoader modules with possibility to add dependencies etc.)
 *
 * Since Common.js isn't a gadget, there is no place to declare its
 * dependencies, so we have to lazy load them with mw.loader.using on demand and
 * then execute the rest in the callback. In most cases these dependencies will
 * be loaded (or loading) already and the callback will not be delayed. In case a
 * dependency hasn't arrived yet it'll make sure those are loaded before this.
 */

/* global mw, $ */
/* jshint strict:false, browser:true */

mw.loader.using( [ 'mediawiki.util' ] ).done( function () {
	/* Begin of mw.loader.using callback */

	/**
	 * Map addPortletLink to mw.util
	 * @deprecated: Use mw.util.addPortletLink instead.
	 */
	mw.log.deprecate( window, 'addPortletLink', mw.util.addPortletLink, 'Use mw.util.addPortletLink instead' );

	/**
	 * Test if an element has a certain class
	 * @deprecated:  Use $(element).hasClass() instead.
	 */
	mw.log.deprecate( window, 'hasClass', function ( element, className ) {
		return $( element ).hasClass( className );
	}, 'Use jQuery.hasClass() instead' );

	/**
	 * @source www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL
	 * @rev 6
	 */
	var extraCSS = mw.util.getParamValue( 'withCSS' ),
		extraJS = mw.util.getParamValue( 'withJS' );

	if ( extraCSS ) {
		if ( extraCSS.match( /^MediaWiki:[^&<>=%#]*\.css$/ ) ) {
			mw.loader.load( '/w/index.php?title=' + extraCSS + '&action=raw&ctype=text/css', 'text/css' );
		} else {
			mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withCSS value' } );
		}
	}

	if ( extraJS ) {
		if ( extraJS.match( /^MediaWiki:[^&<>=%#]*\.js$/ ) ) {
			mw.loader.load( '/w/index.php?title=' + extraJS + '&action=raw&ctype=text/javascript' );
		} else {
			mw.notify( 'Only pages from the MediaWiki namespace are allowed.', { title: 'Invalid withJS value' } );
		}
	}

	/**
	 * WikiMiniAtlas
	 *
	 * Description: WikiMiniAtlas is a popup click and drag world map.
	 *              This script causes all of our coordinate links to display the WikiMiniAtlas popup button.
	 *              The script itself is located on the Meta-Wiki because it is used by many projects.
	 *              See [[Meta:WikiMiniAtlas]] for more information.
	 * Note - use of this service is recommended to be replaced with mw:Help:Extension:Kartographer
	 */
	$( function () {
		var requireWikiminiatlas = $( 'a.external.text[href*="geohack"]' ).length || $( 'div.kmldata' ).length;
		if ( requireWikiminiatlas ) {
			mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' );
		}
	} );

	/**
	 * Collapsible tables; reimplemented with mw-collapsible
	 * Styling is also in place to avoid FOUC
	 *
	 * Allows tables to be collapsed, showing only the header. See [[Help:Collapsing]].
	 * @version 3.0.0 (2018-05-20)
	 * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js
	 * @author [[User:R. Koot]]
	 * @author [[User:Krinkle]]
	 * @author [[User:TheDJ]]
	 * @deprecated Since MediaWiki 1.20: Use class="mw-collapsible" instead which
	 * is supported in MediaWiki core. Shimmable since MediaWiki 1.32
	 *
	 * @param {jQuery} $content
	 */
	function makeCollapsibleMwCollapsible( $content ) {
		var $tables = $content
			.find( 'table.collapsible:not(.mw-collapsible)' )
			.addClass( 'mw-collapsible' );

		$.each( $tables, function ( index, table ) {
			// mw.log.warn( 'This page is using the deprecated class collapsible. Please replace it with mw-collapsible.');
			if ( $( table ).hasClass( 'collapsed' ) ) {
				$( table ).addClass( 'mw-collapsed' );
				// mw.log.warn( 'This page is using the deprecated class collapsed. Please replace it with mw-collapsed.');
			}
		} );
		if ( $tables.length > 0 ) {
			mw.loader.using( 'jquery.makeCollapsible' ).then( function () {
				$tables.makeCollapsible();
			} );
		}
	}
	mw.hook( 'wikipage.content' ).add( makeCollapsibleMwCollapsible );

	/**
	 * Add support to mw-collapsible for autocollapse, innercollapse and outercollapse
	 *
	 * Maintainers: TheDJ
	 */
	function mwCollapsibleSetup( $collapsibleContent ) {
		var $element,
			$toggle,
			autoCollapseThreshold = 2;
		$.each( $collapsibleContent, function ( index, element ) {
			$element = $( element );
			if ( $element.hasClass( 'collapsible' ) ) {
				$element.find( 'tr:first > th:first' ).prepend( $element.find( 'tr:first > * > .mw-collapsible-toggle' ) );
			}
			if ( $collapsibleContent.length >= autoCollapseThreshold && $element.hasClass( 'autocollapse' ) ) {
				$element.data( 'mw-collapsible' ).collapse();
			} else if ( $element.hasClass( 'innercollapse' ) ) {
				if ( $element.parents( '.outercollapse' ).length > 0 ) {
					$element.data( 'mw-collapsible' ).collapse();
				}
			}
			// because of colored backgrounds, style the link in the text color
			// to ensure accessible contrast
			$toggle = $element.find( '.mw-collapsible-toggle' );
			if ( $toggle.length ) {
				// Make the toggle inherit text color
				if ( $toggle.parent()[ 0 ].style.color ) {
					$toggle.find( 'a' ).css( 'color', 'inherit' );
				}
			}
		} );
	}

	mw.hook( 'wikipage.collapsibleContent' ).add( mwCollapsibleSetup );

	/**
	 * Magic editintros ****************************************************
	 *
	 * Description: Adds editintros on disambiguation pages and BLP pages.
	 * Maintainers: [[User:RockMFR]]
	 *
	 * @param {string} name
	 */
	function addEditIntro( name ) {
		$( '.mw-editsection, #ca-edit, #ca-ve-edit' ).find( 'a' ).each( function ( i, el ) {
			el.href = $( this ).attr( 'href' ) + '&editintro=' + name;
		} );
	}

	if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {
		$( function () {
			if ( document.getElementById( 'disambigbox' ) ) {
				addEditIntro( 'Template:Disambig_editintro' );
			}
		} );

		$( function () {
			var cats = mw.config.get( 'wgCategories' );
			if ( !cats ) {
				return;
			}
			if ( $.inArray( 'Living people', cats ) !== -1 || $.inArray( 'Possibly living people', cats ) !== -1 ) {
				addEditIntro( 'Template:BLP_editintro' );
			}
		} );
	}

	/* Actions specific to the edit page */
	if ( mw.config.get( 'wgAction' ) === 'edit' || mw.config.get( 'wgAction' ) === 'submit' ) {
		/**
		 * Fix edit summary prompt for undo
		 *
		 *  Fixes the fact that the undo function combined with the "no edit summary prompter"
		 *  complains about missing editsummary, if leaving the edit summary unchanged.
		 *  Added by [[User:Deskana]], code by [[User:Tra]].
		 *  See also [[phab:T10912]].
		 */
		$( function () {
			if ( document.location.search.indexOf( 'undo=' ) !== -1 && document.getElementsByName( 'wpAutoSummary' )[ 0 ] ) {
				document.getElementsByName( 'wpAutoSummary' )[ 0 ].value = '1';
			}
		} );
	}

	/* End of mw.loader.using callback */
} );
/* DO NOT ADD CODE BELOW THIS LINE */

/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */

/**
 * Sortierung von Umlauten und ß auch ohne [[Vorlage:SortKey]] ermöglichen
 * For jquery.tablesorter.js
 */
mw.config.set( 'tableSorterCollation', {'Ä':'A', 'Ö':'O', 'Ü':'U', 'ä':'a', 'ö':'o', 'ü':'u', 'ß':'ss'} );

/**
 * load the Edittools on [[Special:Upload]] and prefill the summary textarea
 * Load pages: [[MediaWiki:Gadget-uploadtools.js]]
 */
if (mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload') {
 mw.loader.load('ext.gadget.uploadtools');
}

/**
 * Nachrichten aus [[MediaWiki:watchlist-summary]] auf der Beobachtungliste ausblenden
 * Load page: [[MediaWiki:Common.js/watchlist.js]]
 */
if (mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Watchlist') {
 mw.loader.load('//de.wikipedia.org/w/index.php?title=MediaWiki:Common.js/watchlist.js&action=raw&ctype=text/javascript');
}

/**
 * force the loading of another JavaScript file
 * Deprecated function, function alias kept for backward compatibility
 * mw.log.deprecate since 08.11.2013
 */
mw.log.deprecate( window, 'includePage', importScript, 'includePage ist veraltet, verwende stattdessen importScript' );

//================================================================================
//*** Dynamic Navigation Bars

// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// mw.user.options.set( 'NavigationBarShowDefault', 0 ); // all bars will be hidden
// mw.user.options.set( 'NavigationBarShowDefault', 1 ); // on pages with more than 1 bar all bars will be hidden

// adds show/hide-button to navigation bars
// using 'jquery.makeCollapsible': for messages
// using 'user', 'mediawiki.user', 'user.options': wait for overrides in user.js
mw.loader.using( [ 'jquery.makeCollapsible', 'user', 'mediawiki.user', 'user.options' ], function() { mw.hook( 'wikipage.content' ).add( function( $content ) {
	// allow setting NavigationBarShowDefault
	var showDefaultCount = mw.user.options.get( 'NavigationBarShowDefault',
		typeof NavigationBarShowDefault !== 'undefined' ? NavigationBarShowDefault : 1 );
	// allow user overrides for b/c
	var textHide = typeof NavigationBarHide === 'string' ? NavigationBarHide : mw.msg( 'collapsible-collapse' );
	var textShow = typeof NavigationBarShow === 'string' ? NavigationBarShow : mw.msg( 'collapsible-expand' );

	// shows and hides content and picture (if available) of navigation bars
	// Parameters:
	//     indexNavigationBar: the index of navigation bar to be toggled
	function toggleNavigationBar(NavToggle, NavFrame)
	{
		if (!NavFrame || !NavToggle) {
			return false;
		}

		// if shown now
		if (NavToggle.firstChild.data === textHide) {
			for (
					var NavChild = NavFrame.firstChild;
					NavChild !== null;
					NavChild = NavChild.nextSibling
				) {
				if (NavChild.className === 'NavPic' || NavChild.className === 'NavContent') {
					NavChild.style.display = 'none';
				}
			}
			NavToggle.firstChild.data = textShow;

		// if hidden now
		} else if (NavToggle.firstChild.data === textShow) {
			for (
					var NavChild = NavFrame.firstChild;
					NavChild !== null;
					NavChild = NavChild.nextSibling
				) {
				if (NavChild.className === 'NavPic' || NavChild.className === 'NavContent') {
					NavChild.style.display = 'block';
				}
			}
			NavToggle.firstChild.data = textHide;
		}
	}

	function toggleNavigationBarFunction(NavToggle, NavFrame) {
		return function() {
			toggleNavigationBar(NavToggle, NavFrame);
			return false;
		};
	}
	// iterate over all NavFrames
	var NavFrames = $content.find( 'div.NavFrame' );

	// if more Navigation Bars found and not template namespace than Default: hide all
	var initiallyToggle	= showDefaultCount < NavFrames.length && mw.config.get( 'wgNamespaceNumber' ) !== 10;
	for (var i=0; i<NavFrames.length; i++) {
		var NavFrame = NavFrames[i];
		var NavToggle = document.createElement("a");
		NavToggle.className = 'NavToggle';
		NavToggle.setAttribute('href', '#');

		var NavToggleText = document.createTextNode(textHide);
		NavToggle.appendChild(NavToggleText);

		// add NavToggle-Button as first div-element
		// in < div class="NavFrame" >
		NavFrame.insertBefore(NavToggle, NavFrame.firstChild);

		NavToggle.onclick = toggleNavigationBarFunction(NavToggle, NavFrame);
		if (initiallyToggle) {
			toggleNavigationBar(NavToggle, NavFrame);
		} else { // make sure that 'display' is always set for every NavFrame
			for (
					var NavChild = NavFrame.firstChild;
					NavChild !== null;
					NavChild = NavChild.nextSibling
				) {
				if (NavChild.className === 'NavPic' || NavChild.className === 'NavContent') {
					NavChild.style.display = 'block';
				}
			}
		}
	}
})});

//================================================================================

/** Skript für [[Vorlage:Galerie]] */
$( function() {
  if (document.URL.match(/printable/g)) return;

  function toggleImageFunction(group,  remindex, shwindex) {
    return function() {
      document.getElementById("ImageGroupsGr" + group + "Im" + remindex).style["display"] = "none";
      document.getElementById("ImageGroupsGr" + group + "Im" + shwindex).style["display"] = "block";
      return false;
    };
  }

  var divs = document.getElementsByTagName("div");
  var i = 0, j = 0;
  var units, search;
  var currentimage;
  var UnitNode;
  for (i = 0; i < divs.length; i++) {
    if (divs[i].className !== "ImageGroup") { continue; }
    UnitNode = undefined;
    search = divs[i].getElementsByTagName("div");
    for (j = 0; j < search.length; j++) {
      if (search[j].className !== "ImageGroupUnits") { continue; }
      UnitNode=search[j];
      break;
    }
    if (UnitNode === undefined) { continue; }
    units = [];
    for (j = 0 ; j < UnitNode.childNodes.length ; j++ ) {
      var temp = UnitNode.childNodes[j];
      if (temp.className === "center") { units.push(temp); }
    }
    var rightlink = undefined;
    var commentText = undefined;
    for (j = 0; j < units.length; j++) {
      currentimage = units[j];
      currentimage.id = "ImageGroupsGr" + i + "Im" + j;
      var leftlink = document.createElement("a");
      if (commentText !== undefined) {
        leftlink.setAttribute("title", commentText);
      }
      var comment;
      if (typeof(currentimage.getAttribute("title")) !== "string") {
        commentText = (j+1) + "/" + units.length;
        comment = document.createElement("tt").appendChild(document.createTextNode("("+ commentText + ")"));
      } else {
        commentText = currentimage.getAttribute("title");
        comment = document.createElement("span").appendChild(document.createTextNode(commentText));
        currentimage.removeAttribute("title");
      }
      if(rightlink !== undefined) {
        rightlink.setAttribute("title", commentText);
      }
      var imghead = document.createElement("div");
      rightlink = document.createElement("a");
      if (j !== 0) {
        leftlink.href = "#";
        leftlink.onclick = toggleImageFunction(i, j, j-1);
        leftlink.appendChild(document.createTextNode("◀"));
      }
      if (j !== units.length - 1) {
        rightlink.href = "#";
        rightlink.onclick = toggleImageFunction(i, j, j+1);
        rightlink.appendChild(document.createTextNode("▶"));
      }
      imghead.style["fontSize"] = "110%";
      imghead.style["fontweight"] = "bold";
      imghead.appendChild(leftlink);
      imghead.appendChild(document.createTextNode("\xA0"));
      imghead.appendChild(comment);
      imghead.appendChild(document.createTextNode("\xA0"));
      imghead.appendChild(rightlink);
      if (units.length > 1) {
        currentimage.insertBefore(imghead,currentimage.childNodes[0]);
      }
      if (j !== 0) {
        currentimage.style["display"] = "none";
      }
    }
  }
});

/**
 * Fügt eine Betreffzeile auf leeren Artikel-Diskussionsseiten ein
 */
if( mw.config.get( 'wgNamespaceNumber' ) === 0 || mw.config.get( 'wgNamespaceNumber' ) === 1 ) {
 $(function() {
  $( '#ca-talk.new a' ).attr( 'href', function( index, attr ) {
   return attr + '&section=new';
  });
 });
}

/**
 * Fügt bei SVG-Grafiken Links zu gerenderten PNGs in verschiedenen Breiten hinzu
 */
if (mw.config.get( 'wgNamespaceNumber' ) === 6) {
 $( function() {
  var file = $( '#file' ); // might fail if MediaWiki can't render the SVG
  if( file.length && mw.config.get( 'wgIsArticle' ) && mw.config.get( 'wgTitle' ).match( /\.svg$/i ) ) {
   var thumbsrc = file.find( 'img' ).attr( 'src' );
   if( !thumbsrc ) {
    return;
   }

   var svgAltSize = function( w, title ) {
    var path = thumbsrc.replace( /\/\d+(px-[^\/]+$)/, "/" + w + "$1" );
    var a = $( document.createElement("a") );
    a.attr( 'href', path );
    a.text( title );
    return a;
   };

   var p = $( document.createElement("p") );
   p.addClass( "SVGThumbs" );
   p.append( document.createTextNode( "Aus SVG automatisch erzeugte PNG-Grafiken in verschiedenen Auflösungen"+": " ) );
   var l = [ 200, 500, 1000, 2000 ];
   for( var i = 0; i < l.length; i++ ) {
    if( i !== 0 ) {
     p.append( document.createTextNode( ", " ) );
    }
    p.append( svgAltSize( l[i], l[i] + "px" ) );
   }
   p.append( document.createTextNode( "." ) );
   $( file.parent() ).find( 'div.fullMedia' ).append( p );
  }
 });
}

/**
 * Ändere den Spenden-Link im Sidebar für Besucher aus Deutschland
 */
$( function() {
 if ( typeof window.Geo === "object" && window.Geo && window.Geo.country === 'DE' ) {
  var baseUrl = 'https://spenden.wikimedia.de/';
  var queryString = $.param({
      'piwik_campaign': 'de.wikipedia.org',
      'piwik_kwd': 'sidebar'
  });
  $("#n-sitesupport a").attr("href", baseUrl + '?' + queryString);
 }
});

/**
 * erzeuge einen "Neuen Abschnitt"-Link an der letzten Überschrift
 */
mw.loader.using( [ 'mediawiki.util' ], function() { $( function() {
 var newSectionLink = $( '#ca-addsection a' );
 if( newSectionLink.length ) {
  var link = newSectionLink.clone(); //create a copy
  //avoid duplicate accesskey
  link.removeAttr( 'accesskey' ).updateTooltipAccessKeys();
  //add it within the brackets
  var lastEditsectionLink = $( 'span.mw-editsection:last a:last' );
  lastEditsectionLink.after( link );
  lastEditsectionLink.after( ' | ' ); //see [[MediaWiki:Pipe-separator]]
 }
})});