User:Svick/SectionInput.js

// This script creates new text box for the name of the edited section. // This way, the browser's autocomplete for edit summary doesn't contain section name and becomes much more useful. // Tested in Firefox. $(function {	if (mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit')	{		var summary = document.getElementById('wpSummary');		var sectionIdInput = where(summary.form.elements, function(el) { return el.name == 'wpSection' });		if (sectionIdInput)		{			if (sectionIdInput.value == 'new')				return;		}		summary.style.width = '74%';		var section = document.createElement('input');		section.id = section.name = 'section';		section.style.width = '23.7%';		section.style.setProperty('margin-right', '1%', );		section.tabIndex = 1;		summary.parentNode.insertBefore(document.createElement('br'), summary);		summary.parentNode.insertBefore(section, summary);		var re = RegExp('/\\*\\s*(.*?)\\s*\\*/\\s*');		var result = re.exec(summary.value);		if (result)			section.value = result[1];		summary.value = summary.value.replace(re, );		summary.form.onsubmit = function{			if (section.value) summary.value = '/* ' + section.value + ' */ ' + summary.value; };	} });

function where(array, predicate) {	for (var i = 0; i < array.length; i++) if (predicate(array[i])) return array[i]; }