// Based on [[User:Henrik/js/live-edit-counter]]
function liveEditCounter(username) {
if (!document.getElementById('edit-count-id') || !document.getElementById('edit-count-info'))
return;
var count="";
if (mw.config.get('wgUserName') == mw.config.get('wgTitle')) // If a user is viewing their own page, the data has already been loaded, no need to make a XHR
{
count = mw.config.get('wgUserEditCount');
} else {
var xhr;
try { xhr = new XMLHttpRequest();
} catch(e) {
xhr = new ActiveXObject(Microsoft.XMLHTTP);
}
xhr.onreadystatechange = function() {
if(xhr.readyState == 4) {
if(xhr.status == 200) {
var doc = xhr.responseXML;
count = doc.getElementsByTagName('user')[0].getAttribute('editcount')
}
}
};
xhr.open('GET', "http://en.wikipedia.org/w/api.php?action=query&list=users&usprop=editcount&format=xml&ususers="+username, true);
xhr.send(null);
}
if(!count) count="0"; // Cater to zero edit counts
count = (count+'').replace(/(?=(?:\d{3})+$)(?!^)/g, ','); // Add commas as thousand separators (hat tip to http://jsperf.com/number-format)
$('#edit-count-id').text(count); // Update "icon"
$('#edit-count-info').text(count); // Update text
}
$(function() {
if ($.inArray(mw.config.get('wgCanonicalNamespace'), ["User" , "User_talk"]) !== -1) {
var username = encodeURIComponent( mw.config.get('wgTitle').split("/")[0] );
liveEditCounter(username);
}
});