/**
 * Tooltip for Huber
**/

(function($) {
    
    $.fn.HuberTooltip = function(position) {
	
	if (typeof position == 'undefined') {
		position = 'top';
	}
	
    function hoverHandler() {
    	  fatherPosition = jQuery(this).offset();
	      title = this.title;
      
      
	      $('body').append('<div id="HuberTooltip"> \
	      	<div class="top"> \
	      	</div> \
	        <div class="info"> \
	        </div> \
	        <div class="bottom"> \
	        </div> \
	    </div>');
	    
	      $('body div#HuberTooltip div.info').html(this.title);
	      if (position == 'top') {
	      	$('body div#HuberTooltip .top').remove();
	      	$('body div#HuberTooltip').css('left',fatherPosition.left-10);
	     	$('body div#HuberTooltip').css('top',fatherPosition.top-$('body div#HuberTooltip').outerHeight());
	      } else {
	        $('body div#HuberTooltip').addClass('tooltip_bottom');
	      	$('body div#HuberTooltip .bottom').remove();
	      	$('body div#HuberTooltip').css('left',fatherPosition.left-33);
	     	$('body div#HuberTooltip').css('top',fatherPosition.top+20);
	      }
	      
	      
	      // disable title-tag in a-tag, for not showing the info twice
	      
	      
	      $('body div#HuberTooltip').fadeIn();
      
      this.title = '';
      
      return false
    }
    
    function closeHandler() {
      /*$('body div#HuberTooltip').fadeOut(function() {
        $(this).remove();
      });*/
      // we use direct remove - it's nerving when we fade the tooltip out...
      $('body div#HuberTooltip').remove();
      this.title = title;
    }

    this.bind('mouseover.HuberTooltip',hoverHandler);
    return this.bind('mouseout.HuberTooltip', closeHandler)
  }
})(jQuery);