// Make expandable watchlist entries in "show all applicable changes" mode look more like normal ones
if (wgCanonicalNamespace == "Special" && wgCanonicalSpecialPageName == "Watchlist") {
addOnloadHook(function () {
var i = 0;
var toggleButton;
while (toggleButton = document.getElementById("RCM" + (++i))) {
var mainTable = toggleButton;
while (mainTable && mainTable.tagName.toLowerCase() != "table")
mainTable = mainTable.parentNode;
if (!mainTable) continue;
var mainTD = mainTable.getElementsByTagName("td")[1]; // second column
if (!mainTD) continue;
var subDiv = document.getElementById("RCI" + i);
if (!subDiv) continue;
var subTR = subDiv.getElementsByTagName("tr")[0]; // first row
if (!subTR) continue;
var subTD = subTR.getElementsByTagName("td")[1]; // second column of first row
if (!subTD) continue;
var mainLinks = mainTD.getElementsByTagName("a");
var mainSpans = mainTD.getElementsByTagName("span");
var subLinks = subTD.getElementsByTagName("a");
var subSpans = subTD.getElementsByTagName("span");
if (!mainLinks || !mainSpans || !subLinks || !subSpans) continue;
var totalBytes = mainSpans[0];
var moreEditors = mainSpans[1];
var allChanges = mainLinks[1];
var histLink = mainLinks[2];
var diffLink = subLinks[1];
if (!totalBytes || !moreEditors || !allChanges || !histLink || !diffLink) continue;
// TODO: check classes etc. to be sure we got what we wanted
while (diffLink.nextSibling)
moreEditors.parentNode.insertBefore(diffLink.nextSibling, moreEditors);
moreEditors.parentNode.insertBefore(document.createElement("br"), moreEditors);
moreEditors.parentNode.insertBefore(allChanges, moreEditors);
moreEditors.parentNode.insertBefore(document.createTextNode(" . . "), moreEditors);
moreEditors.parentNode.insertBefore(totalBytes, moreEditors);
moreEditors.parentNode.insertBefore(document.createTextNode(" . . "), moreEditors);
// remove some spacers (should really check that these are what we expect them to be):
histLink.parentNode.removeChild(histLink.nextSibling);
histLink.parentNode.removeChild(histLink.prevSibling);
histLink.parentNode.removeChild(histLink.prevSibling);
histLink.parentNode.insertBefore(diffLink, histlink);
histLink.parentNode.insertBefore(document.createTextNode("; "), histlink);
histLink.innerHTML = "hist";
subTR.parentNode.removeChild(subTR);
}
});
}