function clustrmaps()
{
  var url = 'http://www2.clustrmaps.com/stats/maps-clusters/';
  var map = document.getElementById( 'clustrMapsLink' );
  var img = (map.all || map.getElementsByTagName( 'img' ))[0];
  var end = '-world.jpg';
  var dim = { w:800, h:340 };
  var get = /url(=|%3D)[^:]*:\/\/([^&]+)*/i;
  var big = document.createElement( 'div' );
  document.body.appendChild( big );
  big.style.display = 'none';
  big.style.position = 'absolute';
  big.style.height = dim.h+'px';
  big.style.width = dim.w+'px';
  map.onmouseout = function(){ big.style.display = 'none'; };
  map.onmouseover = function()
  {
    var link = get.exec( map.href )[2].replace( /\//g, '-' );
    var me = url + link + end;
    var at = getScreenCoordinates( img );
    var w = screen.innerWidth || document.body.clientWidth;
    big.style.border = '1px outset #888';
    big.style.top = (at.y - dim.h - 18) + 'px';
    big.style.left = parseInt((w - dim.w)/2 - 1) + 'px';
    big.style.background = '#1E1E50 url('+ me +') no-repeat 0 -22px';
    big.style.display = 'block';
  };
}

function getScreenCoordinates( node )
{
  var x = node.offsetLeft;
  var y = node.offsetTop;
  while( (node = node.offsetParent) )
  {
    x += node.offsetLeft;
    y += node.offsetTop;
  }
  return { x:x, y:y };
}

var then = window.onload || function(){};
window.onload = function(){ clustrmaps(); then(); };
