Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
functionnewRequest(){try{if(window.XMLHttpRequest){returnnewXMLHttpRequest();}else{returnnewActiveXObject("MSXML2.XMLHTTP");}}catch(e){returnfalse;}}functiongetRequest(url,callback,params){vartest=newRegExp(wgServer);if(url.search(test)==-1)url=url+'&origin='+encodeURIComponent(document.location.protocol+wgServer);varrequest=newRequest();if(request===null){returnnull;}request.open('GET',url,true);request.onreadystatechange=function(){if(request.readyState==4){callback(request,params);}};request.setRequestHeader('Origin',document.location.protocol+wgServer);request.withCredentials=true;request.send(null);}functionaddinfo(req,currentimageold){varnumberofcategoriesvar=0;allcategories=req.responseXML.getElementsByTagName("cl");for(j=0;j<allcategories.length;j++){varattributehidden=allcategories[j].getAttribute('hidden');if(attributehidden===''){continue;}else{numberofcategoriesvar++;}}varaddcategorynumber=document.createElement('span');varEditTextNode=document.createTextNode('Number of categories: '+numberofcategoriesvar);addcategorynumber.appendChild(EditTextNode);currentimageold[0].parentNode.insertBefore(addcategorynumber,currentimageold[0].nextSibling);}functionnumberofcategories(){varallimages=document.getElementById('mw-category-media');if(allimages)allimages=allimages.getElementsByTagName('ul');if(allimages)allimages=allimages[0].getElementsByTagName('li');for(i=0;i<allimages.length;i++){varcurrentimageold=allimages[i].getElementsByTagName('a');if(currentimageold)currentimage=currentimageold[0].getAttribute('href').replace(/\/wiki\//,'');varreq=newRequest();if(req){varurl=mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?action=parse&format=xml&prop=categories&page='+currentimage;getRequest(url,addinfo,currentimageold);}}}if(wgCanonicalNamespace=="Category")addOnloadHook(numberofcategories);