<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>http://www.acgnCalendar.com/wiki/MediaWiki:Common.js/history?feed=atom</id>
	<title>MediaWiki:Common.js - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="http://www.acgnCalendar.com/wiki/MediaWiki:Common.js/history?feed=atom"/>
	<link rel="alternate" type="text/html" href="http://www.acgnCalendar.com/wiki/MediaWiki:Common.js/history"/>
	<updated>2026-05-06T15:03:25Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>http://www.acgnCalendar.com/acgnCalendarWiki/index.php?title=MediaWiki:Common.js&amp;diff=4&amp;oldid=prev</id>
		<title>Findsky：​建立内容为“/* 这里的任何JavaScript将为所有用户在每次页面载入时加载。 */						 /* Any JavaScript here will be loaded for all users on every page load. *…”的新页面</title>
		<link rel="alternate" type="text/html" href="http://www.acgnCalendar.com/acgnCalendarWiki/index.php?title=MediaWiki:Common.js&amp;diff=4&amp;oldid=prev"/>
		<updated>2022-05-03T02:33:55Z</updated>

		<summary type="html">&lt;p&gt;建立内容为“&lt;span class=&quot;autocomment&quot;&gt;这里的任何JavaScript将为所有用户在每次页面载入时加载。：​&lt;/span&gt;						 /* Any JavaScript here will be loaded for all users on every page load. *…”的新页面&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* 这里的任何JavaScript将为所有用户在每次页面载入时加载。 */						&lt;br /&gt;
/* Any JavaScript here will be loaded for all users on every page load. */						&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 = &amp;#039;hide&amp;#039;;						&lt;br /&gt;
var expandCaption = &amp;#039;show&amp;#039;;						&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( &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.getElementsByTagName( &amp;#039;tr&amp;#039; );					&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 i;					&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;
						&lt;br /&gt;
	for ( i = 0; i &amp;lt; Tables.length; i++ ) {					&lt;br /&gt;
		if ( hasClass( Tables[i], &amp;#039;collapsible&amp;#039; ) ) {				&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.style.styleFloat = &amp;#039;right&amp;#039;;			&lt;br /&gt;
			Button.style.cssFloat = &amp;#039;right&amp;#039;;			&lt;br /&gt;
			Button.style.fontWeight = &amp;#039;normal&amp;#039;;			&lt;br /&gt;
			Button.style.textAlign = &amp;#039;right&amp;#039;;			&lt;br /&gt;
			Button.style.width = &amp;#039;6em&amp;#039;;			&lt;br /&gt;
						&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;javascript:collapseTable(&amp;#039; + tableIndex + &amp;#039;);&amp;#039; );			&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;
			var Header = Tables[i].getElementsByTagName( &amp;#039;tr&amp;#039; )[0].getElementsByTagName( &amp;#039;th&amp;#039; )[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], &amp;#039;collapsed&amp;#039; ) || ( tableIndex &amp;gt;= autoCollapse &amp;amp;&amp;amp; hasClass( NavigationBoxes[i], &amp;#039;autocollapse&amp;#039; ) ) ) {				&lt;br /&gt;
			collapseTable( i );			&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;
/**						&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 = &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;
// 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( &amp;#039;NavToggle&amp;#039; + indexNavigationBar);					&lt;br /&gt;
	var NavFrame = document.getElementById( &amp;#039;NavFrame&amp;#039; + 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, &amp;#039;NavPic&amp;#039; ) ) {			&lt;br /&gt;
				NavChild.style.display = &amp;#039;none&amp;#039;;		&lt;br /&gt;
			}			&lt;br /&gt;
			if ( hasClass( NavChild, &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;
		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, &amp;#039;NavPic&amp;#039;)) {			&lt;br /&gt;
				 NavChild.style.display = &amp;#039;block&amp;#039;;		&lt;br /&gt;
			 }			&lt;br /&gt;
			 if (hasClass(NavChild, &amp;#039;NavContent&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;
						&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;#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 ( hasClass(NavFrame, &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;javascript:toggleNavigationBar(&amp;#039; + indexNavigationBar + &amp;#039;);&amp;#039;);			&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, &amp;#039;NavPic&amp;#039; ) || hasClass( NavChild, &amp;#039;NavContent&amp;#039; ) ) {		&lt;br /&gt;
					if (NavChild.style.display == &amp;#039;none&amp;#039;) {	&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&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 (hasClass(NavFrame.childNodes[j], &amp;#039;NavHead&amp;#039;)) {		&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;
$( 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(&amp;#039;dshuf&amp;#039; + &amp;#039;\\s+(dshufset\\d+)&amp;#039;, &amp;#039;i&amp;#039;);					&lt;br /&gt;
	var divs = document.getElementsByTagName(&amp;#039;div&amp;#039;);					&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] === &amp;#039;undefined&amp;#039;) {			&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 = &amp;#039;block&amp;#039;;			&lt;br /&gt;
		}				&lt;br /&gt;
	}					&lt;br /&gt;
}						&lt;br /&gt;
$(dshuf);						&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 : &amp;#039;jsconfig_&amp;#039;,						&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]) === &amp;#039;undefined&amp;#039; )						&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 &amp;#039;boolean&amp;#039; : JSconfig.keys[name] = ( JSconfig.keys[name] == &amp;#039;true&amp;#039; ); break;						&lt;br /&gt;
    case &amp;#039;number&amp;#039;  : 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] = { &amp;#039;description&amp;#039; : description, &amp;#039;page&amp;#039; : prefpage || 0, &amp;#039;default_value&amp;#039; : 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(&amp;#039;=&amp;#039;);						&lt;br /&gt;
    //alert( cookies[key] + &amp;#039;,&amp;#039; + key + &amp;#039;,&amp;#039; + 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 + &amp;#039;=&amp;#039; + JSconfig.keys[key] + &amp;#039;; path=/; expires=Thu, 2 Aug 2009 10:10:10 UTC&amp;#039;;						&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(&amp;#039;about to save JSconfig&amp;#039;);						&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 &amp;#039;boolean&amp;#039; : JSconfig.keys[key] = w_ctrl.checked; break;						&lt;br /&gt;
     case &amp;#039;string&amp;#039; : 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(&amp;#039;preferences&amp;#039;);						&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() == &amp;#039;fieldset&amp;#039; )						&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( &amp;#039;div&amp;#039; );						&lt;br /&gt;
						&lt;br /&gt;
   w_label = document.createElement( &amp;#039;LABEL&amp;#039; );						&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( &amp;#039;input&amp;#039; );						&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 &amp;#039;boolean&amp;#039; : w_ctrl.type = &amp;#039;checkbox&amp;#039;; break;						&lt;br /&gt;
    case &amp;#039;string&amp;#039;  : w_ctrl.type = &amp;#039;text&amp;#039;; 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 &amp;#039;boolean&amp;#039; : w_ctrl.defaultChecked = w_ctrl.checked = JSconfig.keys[key]; break;						&lt;br /&gt;
    case &amp;#039;string&amp;#039; : w_ctrl.defaultValue = w_ctrl.value = JSconfig.keys[key]; break;						&lt;br /&gt;
   }						&lt;br /&gt;
						&lt;br /&gt;
  }						&lt;br /&gt;
  $(&amp;#039;#preferences&amp;#039;).parent().on( &amp;#039;submit&amp;#039;, JSconfig.evaluateForm );						&lt;br /&gt;
}						&lt;br /&gt;
};						&lt;br /&gt;
						&lt;br /&gt;
JSconfig.readCookies();						&lt;br /&gt;
$(JSconfig.setUpForm);						&lt;br /&gt;
						&lt;br /&gt;
if(location.href.indexOf(&amp;#039;rtl=1&amp;#039;) !== -1) {						&lt;br /&gt;
	mw.loader.load(&amp;#039;//meta.wikimedia.org/w/index.php?title=MediaWiki:Gadget-rtl.css&amp;amp;action=raw&amp;amp;ctype=text/css&amp;#039;, &amp;#039;text/css&amp;#039;);					&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 = &amp;#039;?title=&amp;#039; + encodeURIComponent(page.replace(&amp;#039; &amp;#039;,&amp;#039;_&amp;#039;)) + &amp;#039;&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;#039;;					&lt;br /&gt;
	if (lang) {					&lt;br /&gt;
		mw.loader.load(&amp;#039;//&amp;#039; + lang + &amp;#039;.wikipedia.org/w/index.php&amp;#039; + query);				&lt;br /&gt;
	} else {					&lt;br /&gt;
		mw.loader.load(&amp;#039;//meta.wikimedia.org&amp;#039; + mw.config.get( &amp;#039;wgScript&amp;#039; ) + query);				&lt;br /&gt;
	}					&lt;br /&gt;
}						&lt;br /&gt;
						&lt;br /&gt;
( function () {						&lt;br /&gt;
	var conf = mw.config.get( [					&lt;br /&gt;
		&amp;#039;wgCanonicalSpecialPageName&amp;#039;,				&lt;br /&gt;
		&amp;#039;wgUserGroups&amp;#039;,				&lt;br /&gt;
		&amp;#039;wgPageName&amp;#039;,				&lt;br /&gt;
		&amp;#039;wgUserName&amp;#039;				&lt;br /&gt;
	] );					&lt;br /&gt;
						&lt;br /&gt;
	// Multilingual description.js from commons					&lt;br /&gt;
	mw.loader.load(&amp;#039;//commons.wikimedia.org/w/index.php?title=MediaWiki:Gadget-LanguageSelect.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;#039;);					&lt;br /&gt;
						&lt;br /&gt;
	// Tabs					&lt;br /&gt;
	mw.loader.load(&amp;#039;//meta.wikimedia.org/w/index.php?title=MediaWiki:Tabs.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;#039;);					&lt;br /&gt;
						&lt;br /&gt;
	// Handle template:InterProject					&lt;br /&gt;
	mw.loader.load(&amp;#039;//meta.wikimedia.org/w/index.php?title=MediaWiki:InterProject.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;#039;);					&lt;br /&gt;
						&lt;br /&gt;
	// Help:Diff					&lt;br /&gt;
	if ( conf.wgPageName === &amp;#039;Help:Diff&amp;#039; ) {					&lt;br /&gt;
	    mw.loader.load( &amp;#039;mediawiki.action.history.diff&amp;#039; );					&lt;br /&gt;
	}					&lt;br /&gt;
						&lt;br /&gt;
	/**					&lt;br /&gt;
	 * Remove &amp;quot;Wikimedia Fellowships/Project Ideas/&amp;quot; prefix on few fellowship pages					&lt;br /&gt;
	 *					&lt;br /&gt;
	 * Maintainer: [[en:User:Jarry1250]]					&lt;br /&gt;
	 */					&lt;br /&gt;
	if ($.inArray(conf.wgPageName, [&amp;#039;Wikimedia_Fellowships/Process&amp;#039;, &amp;#039;Wikimedia_Fellowships/Project_Ideas&amp;#039;, &amp;#039;Wikimedia_Fellowships/Project_Ideas/test&amp;#039;]) &amp;gt; -1) {					&lt;br /&gt;
		$( &amp;#039;a.CategoryTreeLabel&amp;#039; ).text( function( i, current ) {				&lt;br /&gt;
		    return current.replace( &amp;#039;Wikimedia Fellowships/Project Ideas/&amp;#039;, &amp;#039;&amp;#039; );				&lt;br /&gt;
		} );				&lt;br /&gt;
	}					&lt;br /&gt;
						&lt;br /&gt;
	/**					&lt;br /&gt;
	 * Remove &amp;quot;Grants:IEG/&amp;quot; prefix on a few IEG pages					&lt;br /&gt;
	 *					&lt;br /&gt;
	 * Maintainer: [[en:User:Jarry1250]]					&lt;br /&gt;
	 */					&lt;br /&gt;
	if ($.inArray(conf.wgPageName, [&amp;#039;Grants:IEG&amp;#039;, &amp;#039;Grants:IEG/Committee/Workroom/Review&amp;#039;, &amp;#039;Grants:IEG/Committee_Members/Working_groups&amp;#039;]) &amp;gt; -1) {					&lt;br /&gt;
		$( &amp;#039;a.CategoryTreeLabel&amp;#039; ).text( function( i, current ) {				&lt;br /&gt;
		    return current.replace( &amp;#039;IEG/&amp;#039;, &amp;#039;&amp;#039; );				&lt;br /&gt;
		} );				&lt;br /&gt;
	}					&lt;br /&gt;
						&lt;br /&gt;
	/**					&lt;br /&gt;
	 * IE fixes as required					&lt;br /&gt;
	 * (includes hlist fixup for IE)					&lt;br /&gt;
	 */					&lt;br /&gt;
	mw.loader.using( &amp;#039;jquery.client&amp;#039;, function() {					&lt;br /&gt;
	    if ( $.client.profile().name === &amp;#039;msie&amp;#039; ) {					&lt;br /&gt;
	        mw.loader.load( &amp;#039;//meta.wikimedia.org/w/index.php?title=MediaWiki:Common.js/IEFixes.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;
	 * adds an &amp;quot;Add Topic&amp;quot; link to the header of the last section. Taken from [[:w:de:Mediawiki:Common.js]]					&lt;br /&gt;
	 */					&lt;br /&gt;
	mw.loader.using( [ &amp;#039;jquery.accessKeyLabel&amp;#039; ], function() { $( function() {					&lt;br /&gt;
	 var newSectionLink = $( &amp;#039;#ca-addsection a&amp;#039; );					&lt;br /&gt;
	 if( newSectionLink.length ) {					&lt;br /&gt;
	  var link = newSectionLink.clone(); //create a copy					&lt;br /&gt;
	  //avoid duplicate accesskey					&lt;br /&gt;
	  link.removeAttr( &amp;#039;accesskey&amp;#039; ).updateTooltipAccessKeys();					&lt;br /&gt;
	  //add it within the brackets					&lt;br /&gt;
	  var lastEditsectionLink = $( &amp;#039;span.mw-editsection:last a:last&amp;#039; );					&lt;br /&gt;
	  lastEditsectionLink.after( link );					&lt;br /&gt;
	  lastEditsectionLink.after( &amp;#039; | &amp;#039; ); //see [[MediaWiki:Pipe-separator]]					&lt;br /&gt;
	 }					&lt;br /&gt;
	})});					&lt;br /&gt;
						&lt;br /&gt;
}() );						&lt;br /&gt;
						&lt;br /&gt;
mw.loader.using( [&amp;#039;mediawiki.util&amp;#039;, &amp;#039;mediawiki.notify&amp;#039;] ).done( function () {						&lt;br /&gt;
	/**					&lt;br /&gt;
	 * @source www.mediawiki.org/wiki/Snippets/Load_JS_and_CSS_by_URL					&lt;br /&gt;
	 * @rev 6					&lt;br /&gt;
	 */					&lt;br /&gt;
	var extraCSS = mw.util.getParamValue( &amp;#039;withCSS&amp;#039; ),					&lt;br /&gt;
	    extraJS = mw.util.getParamValue( &amp;#039;withJS&amp;#039; );					&lt;br /&gt;
						&lt;br /&gt;
	if ( extraCSS ) {					&lt;br /&gt;
	    if ( extraCSS.match( /^MediaWiki:[^&amp;amp;&amp;lt;&amp;gt;=%#]*\.css$/ ) ) {					&lt;br /&gt;
	        mw.loader.load( &amp;#039;/wiki/&amp;#039; + extraCSS + &amp;#039;?action=raw&amp;amp;ctype=text/css&amp;#039;, &amp;#039;text/css&amp;#039; );					&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;
	if ( extraJS ) {&lt;br /&gt;
		alert(extraJS);&lt;br /&gt;
	    if ( extraJS.match( /^MediaWiki:[^&amp;amp;&amp;lt;&amp;gt;=%#]*\.js$/ ) ) {					&lt;br /&gt;
	        mw.loader.load( &amp;#039;/wiki/&amp;#039; + extraJS + &amp;#039;?action=raw&amp;amp;ctype=text/javascript&amp;#039; );					&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;
$(function() {&lt;br /&gt;
	if (mw.config.get(&amp;#039;wgAction&amp;#039;) == &amp;quot;edit&amp;quot; || mw.config.get(&amp;#039;wgAction&amp;#039;) == &amp;quot;submit&amp;quot; || mw.config.get(&amp;#039;wgCanonicalSpecialPageName&amp;#039;) == &amp;#039;Search&amp;#039;)&lt;br /&gt;
        mw.loader.load(&amp;#039;/wiki/MediaWiki:Common.js/edit.js?action=raw&amp;amp;ctype=text/javascript&amp;#039;);&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
(function(){&lt;br /&gt;
    var bp = document.createElement(&amp;#039;script&amp;#039;);&lt;br /&gt;
    var curProtocol = window.location.protocol.split(&amp;#039;:&amp;#039;)[0];&lt;br /&gt;
    if (curProtocol === &amp;#039;https&amp;#039;){&lt;br /&gt;
   bp.src = &amp;#039;https://zz.bdstatic.com/linksubmit/push.js&amp;#039;;&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
  bp.src = &amp;#039;http://push.zhanzhang.baidu.com/push.js&amp;#039;;&lt;br /&gt;
  }&lt;br /&gt;
    var s = document.getElementsByTagName(&amp;quot;script&amp;quot;)[0];&lt;br /&gt;
    s.parentNode.insertBefore(bp, s);&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>Findsky</name></author>
	</entry>
</feed>