var timeout = null;
$(document).ready(function() {
  $('area').mouseenter(function(e) {
    clearTimeout(timeout);
    $('#alt').stop().css({ display : 'block', opacity : 1}).html($(this).attr('alt'));
  }).mousemove(function(e) {
    $('#alt').css({
      top: e.pageY-32,
      left: e.pageX - $('#alt').width() / 2
    });
  }).mouseleave(function(e) {
    clearTimeout(timeout);
    timeout = setTimeout(function() { $('#alt').animate({ opacity : 0 }, { duration: 300, complete: function() { $(this).css('display', 'none').empty(); }}); }, 100);
  });
});
