<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://diablopedia.ru/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://diablopedia.ru/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js</id>
		<title>MediaWiki:Common.js - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://diablopedia.ru/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ACommon.js"/>
		<link rel="alternate" type="text/html" href="http://diablopedia.ru/index.php?title=MediaWiki:Common.js&amp;action=history"/>
		<updated>2026-04-04T12:26:18Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.21.2</generator>

	<entry>
		<id>http://diablopedia.ru/index.php?title=MediaWiki:Common.js&amp;diff=304&amp;oldid=prev</id>
		<title>SoVa в 20:40, 4 декабря 2013</title>
		<link rel="alternate" type="text/html" href="http://diablopedia.ru/index.php?title=MediaWiki:Common.js&amp;diff=304&amp;oldid=prev"/>
				<updated>2013-12-04T20:40:02Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 20:40, 4 декабря 2013&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 40:&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: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; 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: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; 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: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;var autoCollapse = 2;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;var autoCollapse = 2;&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:black; 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;var collapseCaption = '&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;hide&lt;/del&gt;';&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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;var collapseCaption = '&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;−&lt;/td&gt;&lt;td style=&quot;color:black; 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;var expandCaption = '&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;show&lt;/del&gt;';&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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;var expandCaption = '&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: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; 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: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; 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: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function hasClass( element, className ) {&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;function hasClass( element, className ) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>SoVa</name></author>	</entry>

	<entry>
		<id>http://diablopedia.ru/index.php?title=MediaWiki:Common.js&amp;diff=300&amp;oldid=prev</id>
		<title>SoVa: Новая страница: «/* Any JavaScript here will be loaded for all users on every page load. */ // Prevent wikisyntax from expanding on-save: &lt;nowiki&gt;  /**  * Add the signature button…»</title>
		<link rel="alternate" type="text/html" href="http://diablopedia.ru/index.php?title=MediaWiki:Common.js&amp;diff=300&amp;oldid=prev"/>
				<updated>2013-12-04T16:57:53Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «- ‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Any JavaScript here will be loaded for all users on every page load.: &lt;/span&gt; // Prevent wikisyntax from expanding on-save: &amp;lt;nowiki&amp;gt;  /**  * Add the signature button…»&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
// Prevent wikisyntax from expanding on-save: &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Add the signature button to namespace 0 (main/default namespace)&lt;br /&gt;
 * @author Roan (Catrope)&lt;br /&gt;
 */&lt;br /&gt;
jQuery( document ).ready( function ( $ ) {&lt;br /&gt;
	if ( !$.fn.wikiEditor ) {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {&lt;br /&gt;
		section: 'main',&lt;br /&gt;
		group: 'insert',&lt;br /&gt;
		tools: {&lt;br /&gt;
			'signature-ns0': {&lt;br /&gt;
				labelMsg: 'wikieditor-toolbar-tool-signature',&lt;br /&gt;
				filters: [ 'body.ns-0' ], // ONLY ns 0&lt;br /&gt;
				type: 'button',&lt;br /&gt;
				offset: [2, -1872],&lt;br /&gt;
				icon: 'insert-signature.png',&lt;br /&gt;
				action: {&lt;br /&gt;
					type: 'encapsulate',&lt;br /&gt;
					options: {&lt;br /&gt;
						pre: '--~~' + '~~'&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	});&lt;br /&gt;
} );&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Collapsible tables&lt;br /&gt;
 *&lt;br /&gt;
 * Allows tables to be collapsed, showing only the header. See [[Wikipedia:NavFrame]].&lt;br /&gt;
 * @maintainer [[User:R. Koot]] (on Wikipedia)&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
var autoCollapse = 2;&lt;br /&gt;
var collapseCaption = 'hide';&lt;br /&gt;
var expandCaption = 'show';&lt;br /&gt;
&lt;br /&gt;
function hasClass( element, className ) {&lt;br /&gt;
	var Classes = element.className.split( &amp;quot; &amp;quot; );&lt;br /&gt;
	for ( var i = 0; i &amp;lt; Classes.length; i++ ) {&lt;br /&gt;
		if ( Classes[i] == className ) {&lt;br /&gt;
			return true;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	return false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function collapseTable( tableIndex ) {&lt;br /&gt;
	var i;&lt;br /&gt;
	var Button = document.getElementById( 'collapseButton' + tableIndex );&lt;br /&gt;
	var Table = document.getElementById( 'collapsibleTable' + 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.getElementsByTagName( 'tr' );&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 = 'none';&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 i;&lt;br /&gt;
	var tableIndex = 0;&lt;br /&gt;
	var NavigationBoxes = {};&lt;br /&gt;
	var Tables = document.getElementsByTagName( 'table' );&lt;br /&gt;
&lt;br /&gt;
	for ( i = 0; i &amp;lt; Tables.length; i++ ) {&lt;br /&gt;
		if ( hasClass( Tables[i], 'collapsible' ) ) {&lt;br /&gt;
			NavigationBoxes[ tableIndex ] = Tables[i];&lt;br /&gt;
			Tables[i].setAttribute( 'id', 'collapsibleTable' + tableIndex );&lt;br /&gt;
&lt;br /&gt;
			var Button = document.createElement( 'span' );&lt;br /&gt;
			var ButtonLink = document.createElement( 'a' );&lt;br /&gt;
			var ButtonText = document.createTextNode( collapseCaption );&lt;br /&gt;
&lt;br /&gt;
			Button.style.styleFloat = 'right';&lt;br /&gt;
			Button.style.cssFloat = 'right';&lt;br /&gt;
			Button.style.fontWeight = 'normal';&lt;br /&gt;
			Button.style.textAlign = 'right';&lt;br /&gt;
			Button.style.width = '6em';&lt;br /&gt;
&lt;br /&gt;
			ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );&lt;br /&gt;
			ButtonLink.setAttribute( 'href', 'javascript:collapseTable(' + tableIndex + ');' );&lt;br /&gt;
			ButtonLink.appendChild( ButtonText );&lt;br /&gt;
&lt;br /&gt;
			Button.appendChild( document.createTextNode( '[' ) );&lt;br /&gt;
			Button.appendChild( ButtonLink );&lt;br /&gt;
			Button.appendChild( document.createTextNode( ']' ) );&lt;br /&gt;
&lt;br /&gt;
			var Header = Tables[i].getElementsByTagName( 'tr' )[0].getElementsByTagName( 'th' )[0];&lt;br /&gt;
			/* only add button and increment count if there is a header row to work with */&lt;br /&gt;
			if (Header) {&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;
&lt;br /&gt;
	for ( i = 0; i &amp;lt; tableIndex; i++ ) {&lt;br /&gt;
		if ( hasClass( NavigationBoxes[i], 'collapsed' ) || ( tableIndex &amp;gt;= autoCollapse &amp;amp;&amp;amp; hasClass( NavigationBoxes[i], 'autocollapse' ) ) ) {&lt;br /&gt;
			collapseTable( i );&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;
/**&lt;br /&gt;
 * Dynamic Navigation Bars (experimental)&lt;br /&gt;
 *&lt;br /&gt;
 *  See [[Wikipedia:NavFrame]].&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;
	var NavChild;&lt;br /&gt;
	var NavToggle = document.getElementById( 'NavToggle' + indexNavigationBar);&lt;br /&gt;
	var NavFrame = document.getElementById( 'NavFrame' + 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 ( 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 ( 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;
	var indexNavigationBar = 0;&lt;br /&gt;
	// iterate over all &amp;lt; div &amp;gt;-elements&lt;br /&gt;
	var divs = document.getElementsByTagName( 'div' );&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, 'NavFrame' )) {&lt;br /&gt;
&lt;br /&gt;
			indexNavigationBar++;&lt;br /&gt;
			var NavToggle = document.createElement('a');&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 NavToggleText = document.createTextNode(NavigationBarHide);&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;
					if (NavChild.style.display == 'none') {&lt;br /&gt;
						NavToggleText = document.createTextNode(NavigationBarShow);&lt;br /&gt;
						break;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			NavToggle.appendChild(NavToggleText);&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], 'NavHead')) {&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;
// Shuffle for election candidates&lt;br /&gt;
function dshuf() {&lt;br /&gt;
	var shufsets = {};&lt;br /&gt;
	var rx = new RegExp('dshuf' + '\\s+(dshufset\\d+)', 'i');&lt;br /&gt;
	var divs = document.getElementsByTagName('div');&lt;br /&gt;
	var i = divs.length;&lt;br /&gt;
	while (i--) {&lt;br /&gt;
		if (rx.test(divs[i].className)) {&lt;br /&gt;
			if (typeof shufsets[RegExp.$1] === 'undefined') {&lt;br /&gt;
				shufsets[RegExp.$1] = {};&lt;br /&gt;
				shufsets[RegExp.$1].inner = [];&lt;br /&gt;
				shufsets[RegExp.$1].member = [];&lt;br /&gt;
			}&lt;br /&gt;
			shufsets[RegExp.$1].inner.push({&lt;br /&gt;
				key: Math.random(),&lt;br /&gt;
				html: divs[i].innerHTML&lt;br /&gt;
			});&lt;br /&gt;
			shufsets[RegExp.$1].member.push(divs[i]);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	for (shufset in shufsets) {&lt;br /&gt;
		shufsets[shufset].inner.sort(function(a, b) {&lt;br /&gt;
			return a.key - b.key;&lt;br /&gt;
		});&lt;br /&gt;
		i = shufsets[shufset].member.length;&lt;br /&gt;
		while (i--) {&lt;br /&gt;
			shufsets[shufset].member[i].innerHTML = shufsets[shufset].inner[i].html;&lt;br /&gt;
			shufsets[shufset].member[i].style.display = 'block';&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
$(dshuf);&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * AJAX transclusion table [[m:User:Pathoschild/Scripts/AJAX_transclusion_table]]&lt;br /&gt;
 * @author [[m:User:Pathoschild]]&lt;br /&gt;
 */&lt;br /&gt;
function attLoader() {&lt;br /&gt;
	if ( getElementsByClassName( document.getElementsByTagName('body')[0], 'table', 'attable' ).length ) {&lt;br /&gt;
		importScript( 'User:Pathoschild/Scripts/AJAX_transclusion_table.js' );&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(attLoader);&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * JSconfig&lt;br /&gt;
 *&lt;br /&gt;
 * Global configuration options to enable/disable and configure&lt;br /&gt;
 * specific script features from [[MediaWiki:Common.js]] and&lt;br /&gt;
 * [[MediaWiki:Monobook.js]]&lt;br /&gt;
 * This framework adds config options (saved as cookies) to [[Special:Preferences]]&lt;br /&gt;
 * For a more permanent change you can override the default settings in your&lt;br /&gt;
 * [[Special:Mypage/monobook.js]]&lt;br /&gt;
 * for Example: JSconfig.keys[loadAutoInformationTemplate] = false;&lt;br /&gt;
 *&lt;br /&gt;
 * Maintainer: [[User:Dschwen]]&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
var JSconfig =&lt;br /&gt;
{&lt;br /&gt;
prefix : 'jsconfig_',&lt;br /&gt;
keys : {},&lt;br /&gt;
meta : {},&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Register a new configuration item&lt;br /&gt;
//  * name          : String, internal name&lt;br /&gt;
//  * default_value : String or Boolean (type determines configuration widget)&lt;br /&gt;
//  * description   : String, text appearing next to the widget in the preferences&lt;br /&gt;
//  * prefpage      : Integer (optional), section in the preferences to insert the widget:&lt;br /&gt;
//                     0 : User profile&lt;br /&gt;
//                     1 : Skin&lt;br /&gt;
//                     2 : Math&lt;br /&gt;
//                     3 : Files&lt;br /&gt;
//                     4 : Date and time&lt;br /&gt;
//                     5 : Editing&lt;br /&gt;
//                     6 : Recent changes&lt;br /&gt;
//                     7 : Watchlist&lt;br /&gt;
//                     8 : Search&lt;br /&gt;
//                     9 : Misc&lt;br /&gt;
//&lt;br /&gt;
// Access keys through JSconfig.keys[name]&lt;br /&gt;
//&lt;br /&gt;
registerKey : function( name, default_value, description, prefpage )&lt;br /&gt;
{&lt;br /&gt;
  if( typeof(JSconfig.keys[name]) === 'undefined' )&lt;br /&gt;
   JSconfig.keys[name] = default_value;&lt;br /&gt;
  else {&lt;br /&gt;
&lt;br /&gt;
   // all cookies are read as strings,&lt;br /&gt;
   // convert to the type of the default value&lt;br /&gt;
   switch( typeof(default_value) )&lt;br /&gt;
   {&lt;br /&gt;
    case 'boolean' : JSconfig.keys[name] = ( JSconfig.keys[name] == 'true' ); break;&lt;br /&gt;
    case 'number'  : JSconfig.keys[name] = JSconfig.keys[name]/1; break;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  JSconfig.meta[name] = { 'description' : description, 'page' : prefpage || 0, 'default_value' : default_value };&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
readCookies : function()&lt;br /&gt;
{&lt;br /&gt;
  var cookies = document.cookie.split(&amp;quot;; &amp;quot;);&lt;br /&gt;
  var p =JSconfig.prefix.length;&lt;br /&gt;
  var i;&lt;br /&gt;
&lt;br /&gt;
  for( var key in cookies )&lt;br /&gt;
  {&lt;br /&gt;
   if( cookies[key].substring(0,p) == JSconfig.prefix )&lt;br /&gt;
   {&lt;br /&gt;
    i = cookies[key].indexOf('=');&lt;br /&gt;
    //alert( cookies[key] + ',' + key + ',' + cookies[key].substring(p,i) );&lt;br /&gt;
    JSconfig.keys[cookies[key].substring(p,i)] = cookies[key].substring(i+1);&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
writeCookies : function()&lt;br /&gt;
{&lt;br /&gt;
  for( var key in JSconfig.keys )&lt;br /&gt;
   document.cookie = JSconfig.prefix + key + '=' + JSconfig.keys[key] + '; path=/; expires=Thu, 2 Aug 2009 10:10:10 UTC';&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
evaluateForm : function()&lt;br /&gt;
{&lt;br /&gt;
  var w_ctrl,wt;&lt;br /&gt;
  //alert('about to save JSconfig');&lt;br /&gt;
  for( var key in JSconfig.meta ) {&lt;br /&gt;
   w_ctrl = document.getElementById( JSconfig.prefix + key );&lt;br /&gt;
   if( w_ctrl )&lt;br /&gt;
   {&lt;br /&gt;
    wt = typeof( JSconfig.meta[key].default_value );&lt;br /&gt;
    switch( wt ) {&lt;br /&gt;
     case 'boolean' : JSconfig.keys[key] = w_ctrl.checked; break;&lt;br /&gt;
     case 'string' : JSconfig.keys[key] = w_ctrl.value; break;&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  JSconfig.writeCookies();&lt;br /&gt;
  return true;&lt;br /&gt;
},&lt;br /&gt;
&lt;br /&gt;
setUpForm : function()&lt;br /&gt;
{&lt;br /&gt;
  var key;&lt;br /&gt;
  var prefChild = document.getElementById('preferences');&lt;br /&gt;
  if( !prefChild ) return;&lt;br /&gt;
  prefChild = prefChild.childNodes;&lt;br /&gt;
&lt;br /&gt;
  //&lt;br /&gt;
  // make a list of all preferences sections&lt;br /&gt;
  //&lt;br /&gt;
  var tabs = [];&lt;br /&gt;
  var len = prefChild.length;&lt;br /&gt;
  for( key = 0; key &amp;lt; len; key++ ) {&lt;br /&gt;
   if( prefChild[key].tagName &amp;amp;&amp;amp;&lt;br /&gt;
       prefChild[key].tagName.toLowerCase() == 'fieldset' )&lt;br /&gt;
    tabs.push(prefChild[key]);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  //&lt;br /&gt;
  // Create Widgets for all registered config keys&lt;br /&gt;
  //&lt;br /&gt;
  var w_div, w_label, w_ctrl, wt;&lt;br /&gt;
  for( key in JSconfig.meta ) {&lt;br /&gt;
   w_div = document.createElement( 'DIV' );&lt;br /&gt;
&lt;br /&gt;
   w_label = document.createElement( 'LABEL' );&lt;br /&gt;
   w_label.appendChild( document.createTextNode( JSconfig.meta[key].description ) );&lt;br /&gt;
   w_label.htmlFor = JSconfig.prefix + key;&lt;br /&gt;
&lt;br /&gt;
   wt = typeof( JSconfig.meta[key].default_value );&lt;br /&gt;
&lt;br /&gt;
   w_ctrl = document.createElement( 'INPUT' );&lt;br /&gt;
   w_ctrl.id = JSconfig.prefix + key;&lt;br /&gt;
&lt;br /&gt;
   // before insertion into the DOM tree&lt;br /&gt;
   switch( wt ) {&lt;br /&gt;
    case 'boolean' : w_ctrl.type = 'checkbox'; break;&lt;br /&gt;
    case 'string'  : w_ctrl.type = 'text'; break;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   w_div.appendChild( w_label );&lt;br /&gt;
   w_div.appendChild( w_ctrl );&lt;br /&gt;
   tabs[JSconfig.meta[key].page].appendChild( w_div );&lt;br /&gt;
&lt;br /&gt;
   // after insertion into the DOM tree&lt;br /&gt;
   switch( wt ) {&lt;br /&gt;
    case 'boolean' : w_ctrl.defaultChecked = w_ctrl.checked = JSconfig.keys[key]; break;&lt;br /&gt;
    case 'string' : w_ctrl.defaultValue = w_ctrl.value = JSconfig.keys[key]; break;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
  addHandler(document.getElementById('preferences').parentNode, 'submit', JSconfig.evaluateForm );&lt;br /&gt;
}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JSconfig.readCookies();&lt;br /&gt;
addOnloadHook(JSconfig.setUpForm);&lt;br /&gt;
&lt;br /&gt;
if(document.URL.indexOf('rtl=1') !== -1) {&lt;br /&gt;
	mw.loader.load('//meta.wikimedia.org/w/index.php?title=MediaWiki:Gadget-rtl.css&amp;amp;action=raw&amp;amp;ctype=text/css', 'text/css');&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Import local or interwiki page as script&lt;br /&gt;
// @deprecated since MediaWiki 1.17: Use mw.loader.load(url) or $.getScript(url, callback) instead.&lt;br /&gt;
function importScript(page, lang) {&lt;br /&gt;
	var query = '?title=' + encodeURIComponent(page.replace(' ','_')) + '&amp;amp;action=raw&amp;amp;ctype=text/javascript';&lt;br /&gt;
	if (lang) {&lt;br /&gt;
		importScriptURI('//' + lang + '.wikipedia.org/w/index.php' + query);&lt;br /&gt;
	} else {&lt;br /&gt;
		importScriptURI(mw.config.get( 'wgScript' ) + query);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function () {&lt;br /&gt;
	// Set a default of anon-only global blocks&lt;br /&gt;
	// We don't want to override the user's request when they're specifying [?&amp;amp;]wpAnonOnly=[01] in the URL or&lt;br /&gt;
	// if we're loading up the block settings for an already-blocked IP (then you can't see whether the block was AO or not)&lt;br /&gt;
	if ( mw.config.get('wgCanonicalSpecialPageName') === 'GlobalBlock' &amp;amp;&amp;amp; mw.config.get('wgUserGroups') &amp;amp;&amp;amp; mw.config.get('wgUserGroups').join(' ').indexOf('steward') !== -1 ) {&lt;br /&gt;
		if ( document.getElementById('mw-globalblock-expiry-other') != null ) {&lt;br /&gt;
			var expiry = document.getElementById('mw-globalblock-expiry-other').value;&lt;br /&gt;
			if ( expiry == '' &amp;amp;&amp;amp; document.location.href.indexOf('wpAnonOnly=') === -1){&lt;br /&gt;
				document.getElementById('mw-globalblock-anon-only').checked = true;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Multilingual description.js from commons&lt;br /&gt;
mw.loader.load('//commons.wikimedia.org/w/index.php?title=MediaWiki:Gadget-LanguageSelect.js&amp;amp;action=raw&amp;amp;ctype=text/javascript');&lt;br /&gt;
&lt;br /&gt;
//Tabs&lt;br /&gt;
importScript('MediaWiki:Tabs.js');&lt;br /&gt;
&lt;br /&gt;
// Handle {{InterProject}}&lt;br /&gt;
importScript('MediaWiki:InterProject.js');&lt;br /&gt;
&lt;br /&gt;
// Help:Diff&lt;br /&gt;
if ( mw.config.get( 'wgPageName' ) === 'Help:Diff' ) {&lt;br /&gt;
    mw.loader.load( 'mediawiki.action.history.diff' );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Removing &amp;quot;Wikimedia Fellowships/Project Ideas/&amp;quot; prefix on few fellowship pages&lt;br /&gt;
// From [[en:User:Jarry1250]]&lt;br /&gt;
$( 'body.page-Wikimedia_Fellowships_Process, body.page-Wikimedia_Fellowships_Project_Ideas, body.page-Wikimedia_Fellowships_Project_Ideas_test').find( 'a.CategoryTreeLabel' ).each( function() {&lt;br /&gt;
    var current = $( this ).text();&lt;br /&gt;
    $( this ).text( current.replace( 'Wikimedia Fellowships/Project Ideas/', '' ) );&lt;br /&gt;
} );&lt;br /&gt;
&lt;br /&gt;
// Removing &amp;quot;Grants:IEG/&amp;quot; prefix on a few IEG pages&lt;br /&gt;
// From [[en:User:Jarry1250]]&lt;br /&gt;
$( 'body.page-Grants_IEG, body.page-Grants_IEG_Committee_Workroom_Review, body.page-Grants_IEG_Committee_Members_Working_groups').find( 'a.CategoryTreeLabel' ).each( function() {&lt;br /&gt;
    var current = $( this ).text();&lt;br /&gt;
    $( this ).text( current.replace( 'IEG/', '' ) );&lt;br /&gt;
    // $( this ).text( current.replace( 'IdeaLab/', '' ) );&lt;br /&gt;
} );&lt;br /&gt;
&lt;br /&gt;
/* IE fixes as required&lt;br /&gt;
 @ included to allow for hlist fixes [[mw:Snippets/Horizontal lists]]&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
if ( $.client.profile().name === 'msie' ) {&lt;br /&gt;
    importScript( 'MediaWiki:Common.js/IEFixes.js' );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Voting script for Steward Elections 2013:&lt;br /&gt;
if ( mw.config.get( 'wgPageName' ).indexOf( 'Stewards/Elections_' ) === 0 &amp;amp;&amp;amp; mw.config.get( 'wgPageName' ).indexOf( '/Votes/' ) !== -1 &amp;amp;&amp;amp; mw.config.get( 'wgUserName' ) !== null ) {&lt;br /&gt;
	mw.loader.load( '//meta.wikimedia.org/w/index.php?title=User:Hoo_man/stewardVote.js&amp;amp;action=raw&amp;amp;ctype=text/javascript' );&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>SoVa</name></author>	</entry>

	</feed>