Wikipedista:Damian from Prague/common.js

Poznámka: Po uložení musíte vyprázdnit mezipaměť vašeho prohlížeče, jinak změny neuvidíte.

var colors = { "Čechy": "#ffc9c7", "Morava": "#b3c6fe", "České Slezsko": "#fdffa2", "Čechy+Morava": "#a977cc", "Morava+Slezsko": "#ff7700", "Moravské enklávy ve Slezsku": "#da251d" };

function GetLandColor () {
	var len = $("table.infobox span:contains('Historická země')").closest('tr').find('td').find('a').length;
	if (len > 1) {
		var lands = [];
		$("table.infobox span:contains('Historická země')").closest('tr').find('td').find('a').each ( function () {
			lands.push ($(this).attr('title'));
		});
		if ( $.inArray("Čechy", lands) !== -1 && $.inArray("Morava", lands) !== -1)  {
			return colors["Čechy+Morava"];
		}
		else if ( $.inArray("Morava", lands) !== -1 && $.inArray("České Slezsko", lands) !== -1) {
			return colors["Morava+Slezsko"];
		}
		else if ( $.inArray("Morava", lands) !== -1 && $.inArray("Moravské enklávy ve Slezsku", lands) !== -1 ) {
			return colors["Moravské enklávy ve Slezsku"];
		}		
		else if ( $.inArray("České Slezsko", lands) !== -1 && $.inArray("Moravské enklávy ve Slezsku", lands) !== -1 ) {
			return colors["České Slezsko"];
		}	
		else if ( $.inArray("Morava", lands) !== -1 && $.inArray("Dolní Rakousy", lands) !== -1 ) {
			return colors["Morava"];
		}		
		else if ( $.inArray("Morava", lands) !== -1 && $.inArray("Slovensko", lands) !== -1 ) {
			return colors["Morava"];
		}
		else if ( $.inArray("Čechy", lands) !== -1 && $.inArray("Dolní Rakousy", lands) !== -1 ) {
			return colors["Čechy"];
		}		
	}
	else if (len === 1) {
		var land = $("table.infobox span:contains('Historická země')").closest('tr').find('td').find('a').attr('title');
		return colors[land];
	}
	return false;
}
	
$.when(mw.loader.using(['mediawiki.util', 'mediawiki.api' ]), $.ready).then(function () {
	var ns = mw.config.get( 'wgNamespaceNumber');
	if (ns === 0) {
		var color = GetLandColor ();
		if (color) {
			$('table.infobox tbody tr td:first').css('background-color', color);
			$('table.infobox tbody tr th').each ( function () {
        		if ($(this).attr ('colspan') === "2") {
    				 $(this).css('background-color', color);
        		}
			});
		}
	}	
});