Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
function overrideSourceEdit() {
	var sourceEdit = document.getElementById('ca-edit');
	if (sourceEdit) {
	 var url = sourceEdit.getAttribute('href');
	 sourceEdit.setAttribute('href', url.split('&section')[0]);
	}
}

function getDarkModePreference() {
	return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
}

function applyDarkMode() {
	var body = document.querySelector('body');
	if (getDarkModePreference()) {
		if (!body.classList.contains('dark-mode')) { body.classList.add('dark-mode'); }
		document.documentElement.setAttribute('theme', 'dark');
	} else {
		if (body.classList.contains('dark-mode')) { body.classList.remove('dark-mode'); }
    	document.documentElement.setAttribute('theme', 'light');
	}
}

function advanceInfoboxImage(infoboxImageRow, infoboxImageCount) {
	if (infoboxImageRow) {
		var transformStyle = infoboxImageRow.style.transform;
		var offset = 0;
		if (transformStyle) {
			var currentOffset = parseInt(transformStyle.replace('translateX(-','').replace('%)',''));
			offset = (currentOffset === (infoboxImageCount - 1) * 100) ? 0 : (currentOffset + 100);
		}
		infoboxImageRow.style.transform = 'translateX(-' + offset + '%)';
	}
}

function startInfoboxImageScroll() {
	var elements = document.getElementsByClassName('infobox-image-row');
	if (elements.length > 0) {
		var infoboxImageRow = elements[0];
		var infoboxImageCount = infoboxImageRow.getElementsByClassName('image').length;
		if (infoboxImageCount > 1) {
			setInterval(advanceInfoboxImage, 1500, infoboxImageRow, infoboxImageCount);
		}
	}
	var body = document.querySelector('body');
	if (getDarkModePreference()) {
		if (!body.classList.contains('dark-mode')) { body.classList.add('dark-mode'); }
		document.documentElement.setAttribute('theme', 'dark');
	} else {
		if (body.classList.contains('dark-mode')) { body.classList.remove('dark-mode'); }
    	document.documentElement.setAttribute('theme', 'light');
	}
}

// applyDarkMode();
overrideSourceEdit();
startInfoboxImageScroll();