Uporabnik:Dbc334/inlinediff.js: Razlika med redakcijama
Izbrisana vsebina Dodana vsebina
NZS |
(ni razlike)
|
Redakcija: 17:13, 16. december 2007
var loadingImage = new Image();
loadingImage.src = "http://upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif";
function NZS_run() {
var rcList = document.getElementsByTagName('ul')[0].getElementsByTagName('li');
for(i = 0; i < rcList.length; i++) {
var rcCurrent = rcList[i].getElementsByTagName('a')[0];
if(rcCurrent.href.indexOf("&diff=") != -1) {
var rcDiff = rcCurrent.href.substring(rcCurrent.href.indexOf("&diff=")+6, rcCurrent.href.indexOf("&oldid="));
var rcOldid = rcCurrent.href.substring(rcCurrent.href.indexOf("&oldid=")+7);
NZS_makeClick(rcDiff, rcOldid, i);
}
}
var tagHead = document.getElementsByTagName('head')[0];
var tagLink = document.createElement("link");
tagLink.rel = "stylesheet";
tagLink.href = "/skins-1.5/common/diff.css?100";
tagHead.insertBefore(tagLink, tagHead.firstChild);
var tagLink2 = document.createElement("link");
tagLink2.rel = "stylesheet";
tagLink2.href = "/w/index.php?title=MediaWiki:Monobook.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=2678400";
tagHead.insertBefore(tagLink2, tagHead.lastChild);
}
function NZS_ajax(diff, oldid, func) {
htmlTag = document.getElementsByTagName('html')[0];
htmlTag.style.cursor = "wait";
var ajaxreq;
try {ajaxreq = new XMLHttpRequest();} catch(e) {try {ajaxreq = new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {try {ajaxreq = new ActiveXObject("Msxml2.XMLHTTP");} catch(e) {return false;}}}
ajaxreq.open("GET", "/w/index.php?action=render&diffonly=yes&diff=" + diff + "&oldid=" + oldid);
ajaxreq.onreadystatechange = function() {
if(ajaxreq.readyState != 4) {return;}
if(ajaxreq.status == 200) {
htmlTag.style.cursor = "auto";
NZS_showDiff(diff, ajaxreq.responseText);
}
}
ajaxreq.send(null);
}
function NZS_makeClick(diff, oldid, i) {
document.getElementsByTagName('ul')[0].getElementsByTagName('li')[i].id = "rcChange" + diff;
document.getElementsByTagName('ul')[0].getElementsByTagName('li')[i].getElementsByTagName('a')[0].onclick = function() {return NZS_diff(diff, oldid);};
}
function NZS_diff(diff, oldid) {
if(buttonCtrl == 0) {
if(document.getElementById('rcDiff' + diff)) {
var rcDiffTag = document.getElementById('rcDiff' + diff);
switch(rcDiffTag.style.display) {
case "none": rcDiffTag.style.display = ""; break;
default: rcDiffTag.style.display = "none";
}
} else {
var rcLink = document.getElementById('rcChange' + diff);
var rcLinkResult = document.createElement("li");
rcLinkResult.id = "rcDiff" + diff;
rcLinkResult.style.textAlign = "center";
rcLinkResult.style.width = "100%";
rcLinkResult.innerHTML = "<img src=\"http://upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif\" id=\"rc2Diff" + diff + "\" alt=\"Nalaganje\" width=\"18\" height=\"18\" />";
var rcList = document.getElementsByTagName('ul')[0];
rcList.replaceChild(rcLinkResult, rcLink);
rcList.insertBefore(rcLink, rcLinkResult);
NZS_ajax(diff, oldid, NZS_showDiff);
}
return false;
}
}
function NZS_showDiff(diff, text) {
document.getElementById('rcDiff' + diff).style.textAlign = "";
document.getElementById('rcDiff' + diff).innerHTML = text;
window.location.hash = "#rcChange" + diff;
}
buttonCtrl = 0;
function NZS_checkKeyDown(e) {if(!e) {e = window.event;} if(e.keyCode == 17 && buttonCtrl == 0) {buttonCtrl = 1;}}
function NZS_checkKeyUp(e) {if(!e) {e = window.event;} if(e.keyCode == 17 && buttonCtrl == 1) {buttonCtrl = 0;}}
if(wgCanonicalSpecialPageName == "Recentchanges") {
document.onkeydown = NZS_checkKeyDown;
document.onkeyup = NZS_checkKeyUp;
window.onload = NZS_run;
}