// ==UserScript==
// @name Show backlink counts in Blogger editor
// @namespace http://www.lysator.liu.se/~jhs/userscript
// @description v1.0 (2005-11-20, Johan Sundström, http://ecmanaut.blogspot.com/, ohayou+ecmanaut@gmail.com)
// @include http://www.blogger.com/posts.g?blogID=*
// @include http://blogger.com/posts.g?blogID=*
// ==/UserScript==
var injectme = {};
if( document.body.id == 'posting' )
{
var url = 'http://www.blogger.com/dyn-js/backlink_count.js', a, backlinks;
var trs = document.getElementById( 'posts' ).getElementsByTagName( 'tr' );
var tds, add, links, i, post, back, script;
for( i=0; i<trs.length; i++ )
{
tds = trs[i].getElementsByTagName( 'td' );
if( tds.length < 4 ) continue;
add = tds[tds.length-1].cloneNode( true );
if( i )
{
links = trs[i].getElementsByTagName( 'a' );
a = links[links.length-1];
post = /&postID=(\d+)/.exec( a.search );
url += (i == 1) ? a.search : post[0];
injectme[post[1]] = {};
a.href = links[links.length-2] + '#links';
a.innerHTML = '<span id="bl'+ post[1] +'"></span>Backlinks';
}
trs[i].appendChild( add );
}
// Okay, this is kind of stupid, when we have GM_xmlhttpRequest:
injectme[post[1]].watch( 'innerHTML', updatePage );
unsafeWindow.BL_BacklinkCount = injectme;
script = document.createElement( 'script' );
script.src = url;
document.getElementsByTagName('head')[0].appendChild( script );
}
function updatePage( id, html, got )
{
for( id in injectme )
{
html = injectme[id].innerHTML;
if( typeof html == 'undefined' )
html = got;
var node = document.getElementById( 'bl'+id );
node.innerHTML = html + '\240';
if( html == '1' )
node.parentNode.lastChild.nodeValue = 'Backlink';
}
}