หมายเหตุ: หลังเผยแพร่ คุณอาจต้องล้างแคชเว็บเบราว์เซอร์ของคุณเพื่อดูการเปลี่ยนแปลง

  • ไฟร์ฟอกซ์ / ซาฟารี: กด Shift ค้างขณะคลิก Reload หรือกด Ctrl-F5 หรือ Ctrl-R (⌘-R บนแมค)
  • กูเกิล โครม: กด Ctrl-Shift-R (⌘-Shift-R บนแมค)
  • อินเทอร์เน็ตเอกซ์พลอเรอร์ และ Edge: กด Ctrl ค้างขณะคลิก Refresh หรือกด Ctrl-F5
  • โอเปร่า: กด Ctrl-F5
(function () {
	if ((mw.config.get( 'wgAction' ) !== 'edit' && mw.config.get( 'wgAction' ) !== 'submit') ||
			mw.config.get( 'wgNamespaceNumber' ) !== 0 ||
			(typeof avaktivera_nytt_uppslag !== 'undefined' && avaktivera_nytt_uppslag)) {
		return;
	}
	// Import [[MediaWiki:Gadget-headings.js]]
	mw.loader.using(['//th.wiktionary.org/w/index.php?title=ผู้ใช้:ZilentFyld/headings.js&action=raw&ctype=text/javascript'], create_new_article_help);
})();

function create_new_article_help() {
	if (typeof avaktivera_nytt_uppslag !== 'undefined' && avaktivera_nytt_uppslag) {
		return;
	}

	function get_user_data(what, backup) {
		try { // don't crash if localStorage is inactivated
			var list = window.localStorage && localStorage.getItem('nytt uppslag:' + what);
		} catch (e) {}
		if (list) {
			list = list.split(',');
			for (var i = 0; backup && i < backup.length && list.length < 5; i++) {
				if ($.inArray(backup[i], list) === -1) {
					list.push(backup[i]);
				}
			}
			return list;
		} else {
			return backup;
		}
	}
	function set_user_data(what, item) {
		try { // don't crash if localStorage is inactivated
			if (window.localStorage) {
				var list = get_user_data(what) || [];
				var item_pos = $.inArray(item, list);
				if (item_pos !== -1) {
					// move it to the front of the list
					list = [item].concat(list.slice(0, item_pos), list.slice(item_pos+1));
				} else {
					// max 5 items
					if (list.unshift(item) > 5) {
						list.length = 5;
					}
				}
				localStorage.setItem('nytt uppslag:' + what, list.join(','))
			}
		} catch (e) {}
	}

	function uc_first(str) {
		return str.charAt(0).toUpperCase() + str.substr(1);
	}

	function lc_first(str) {
		return str.charAt(0).toLowerCase() + str.substr(1);
	}

	function submit_definition(e) {
		e.preventDefault();
		function get_code(all, chosen) {
			chosen = chosen.toLowerCase();
			if (all[chosen]) {
				return chosen;
			}
			for (var i in all) {
				if (all[i] === chosen) {
					return i;
				}
			}
			return false;
		}

		var lang = get_code(window.headings.languages, $('#nu_lang').val());
		var h3 = get_code(window.headings.h3, $('#nu_h3').val());
		var definition = $('#nu_definition').val().replace(/^\s*(.*?)\s*$/, '$1');
		// definitions aren't complete sentences
		definition = lc_first(definition.replace(/\.$/, ''));
		if (!lang) {
			alert('Du har inte angett ett korrekt språk. Välj ett i listan.');
			$('#nu_lang').focus();
			return false;
		}
		if (!h3) {
			alert('Du har inte angett en korrekt ordklass/H3-rubrik. Välj en i listan.');
			$('#nu_h3').focus();
			return false;
		}
		var entry = '=='+uc_first(window.headings.languages[lang])+'==\n' +
			'==='+uc_first(window.headings.h3[h3])+'===\n' +
			'{\{'+h3+'|'+lang+'}}\n' +
			"'''"+mw.config.get( 'wgTitle' )+"'''\n"+
			'#'+definition;
		$('#nu_definition').val('');

		var code = $('#wpTextbox1').val();
		code += code ? '\n\n'+entry : entry;
		$('#wpTextbox1')
			.val(code)
			.attr('rows', code.split('\n', 17).length + 8); // standard: 25

		var summary = $('#wpSummary').val();
		var new_summary = 'nytt uppslag (' + window.headings.languages[lang] + ')';
		$('#wpSummary').val(
			!summary ? new_summary :
			summary.indexOf(new_summary) !== -1 ? summary :
			summary + '; ' + new_summary
		);

		if (!definition) {
			$('#wpTextbox1').focus();
		} else {
			$('#nu_saveTooltip').show();
			$('#wpSave').focus();
		}

		set_user_data('lang', lang);
		set_user_data('h3', h3);
	}

	function fade_save_tooltip() {
		setTimeout(function () {
			$('#nu_saveTooltip div').hide('slow', function () {
				$('#nu_saveTooltip').hide();
				$(this).show();
			});
		}, 500);
	}

	// Initialize
	var container = $('#nytt_uppslag');
	if (!container.length) {
		return;
	}

	var show_langs = get_user_data('lang',
		(window.nyttUppslagSprak || $('#nu_language_input').data('show')).split(',')
	);
	var show_h3s = get_user_data('h3',
		(window.nyttUppslagH3 || $('#nu_h3_input').data('show')).split(',')
	);

	// för språk och ordklass
	function multiple_choice(o) {
		var i;
		var links = $('<span>');
		var select = $('<select>', { css: { display: 'none' }, change: set });

		for (i = 0; i < o.show.length; i++) {
			links.append($('<a>', { href: '', click: set, text: o.all[o.show[i]] }), ' - ');
		}
		$('<option>', {value: '-', text: o.select_title}).appendTo(select);
		for (i in o.all) {
			$('<option>', {text: o.all[i]}).appendTo(select);
		}

		links.append($('<a>', { href: '', click: switch_to_select, text: 'mer...' }), select);

		o.elem.empty().append(
			$('<input>', {id: o.id, value: o.all[o.show[0]], tabindex: 1 }),
			' ',
			links);

		function set(e) {
			e.preventDefault();
			// use val if <select>, use text if <a>
			var val = $(this).val() || $(this).text();
			if (val !== '-') {
				$('#'+o.id).val(val);
			}
		}

		function switch_to_select(e) {
			e.preventDefault();
			$(this).hide()
				.next().show().focus();
		}
	}
	multiple_choice({
		elem: $('#nu_language_input'),
		show: show_langs,
		all: window.headings.languages,
		id: 'nu_lang',
		select_title: 'Fler språk...'
	});
	multiple_choice({
		elem: $('#nu_h3_input'),
		show: show_h3s,
		all: window.headings.h3,
		id: 'nu_h3',
		select_title: 'Fler H3-rubriker...'
	});

	// put a <form> around the whole thing
	container.wrap($('<form>', {submit: submit_definition}));

	// tips
	$('#nu_tips').appendTo('#nu_tips_position');

	$('#nu_definition_input').append($('<input>', { id: 'nu_definition', autocomplete: 'off', tabindex: 1 }));
	$('#nu_submit_button').wrapInner($('<button>', { type: 'submit', tabindex: 1 }));
	$('#nu_help_link a').attr('target', '_blank'); // hjälplänken öppnas i nytt fönster

	container.addClass('enabled');
	if ($(window).width() < 750) {
		container.addClass('smallscreen');
	}

	$('#nu_saveTooltip').on('mouseout', fade_save_tooltip).insertBefore('#wpSave');
	$('#wpSave').on('blur', fade_save_tooltip);

}

window.avaktivera_nytt_uppslag = true;