var tooltip_hide_timeout;

/**
 * Displays the tooltip for an element
 *
 * @param stdObject element Element
 * @param string value Message value for the tooltip
 */
function show_tooltip(element, value, micro_value)
{
	if(request_format != 'standard') { return; }
	
	micro_value = (micro_value) ? micro_value : '';
	hide_tooltip();
	clearTimeout(tooltip_hide_timeout);
	
	var element = $(element);
	var tooltip = $('<div id="tooltip"><div id="tooltip_interior"><div>' + value + '</div><div id="tooltip_micro">' + micro_value + '</div></div></div>');

	// Element location and dimensions
  var element_offset  = element.offset();
  var element_top   	= element_offset.top;
  var element_left  	= element_offset.left;
  var element_height  = element.height();
  var element_width 	= element.width();
 
  $('body').append(tooltip);

  // Tooltip dimensions
  var tooltip_height  = tooltip.height();
  var tooltip_width 	= tooltip.width();

  tooltip.css({ top: (element_top + element_height + 3) + 'px' });
  tooltip.css({ left: (element_left - (tooltip_width / 2) + (element_width / 2)) + 'px' });
}

/** 
 * Hides the tooltip
 *
 * @param integer duration Fade duration
 */
function hide_tooltip(duration)
{
	if(duration)
	{
  	$('#tooltip').fadeOut(duration, function() { $(this).remove(); });
	}
	else
	{
		$('#tooltip').remove();
	}
}
