tooltipTimeout = false;

function setupToolTips() {
  if ($("#tooltip").length == 0) {
    var tooltip = $('<div id="tooltip"></div>');
    $("body").append(tooltip);
  }
  
  $("[tip]").hover(showToolTip, hideToolTip);
}

function showToolTip() {
  var tooltip = $("#tooltip");
  
  tooltip.hide();
  tooltip.html($(this).attr("tip"));
  
  var this_left = $(this).offset().left;
  var this_width = $(this).outerWidth();
  
  var this_top = $(this).offset().top;
  var this_height = $(this).outerHeight();
  var tip_height = tooltip.outerHeight();
  
  var height_offset = (this_height - tip_height) / 2;

  var tip_marg_left = Math.round(this_left + this_width + 5);
  var tip_marg_top = Math.round(this_top + height_offset);
  
  tooltip.css({
    "margin-left": tip_marg_left + "px",
    "margin-top": tip_marg_top + "px"
  });
  
  if (tooltipTimeout) clearTimeout(tooltipTimeout);
  tooltipTimeout = setTimeout(function () { tooltip.stop(true,true).fadeIn(200); }, 500);
}

function hideToolTip() {
  var tooltip = $("#tooltip");
  
  if (tooltipTimeout) clearTimeout(tooltipTimeout);
  tooltip.fadeOut(200);
}

