(function($){
$.fn.aqTip = function(html,options) {
   var opts = $.extend({}, $.fn.aqTip.defaults, options);

   return this.each(function() {
      var $obj = $(this);

      $('<div class="aqTip"><\/div>').appendTo($obj);

      var $layer = $('.aqTip',$obj);

      $layer.css({ display: 'none', position: 'absolute' }).css(opts.css);

      if (jQuery.isFunction(html)) html($layer);
      else $layer.html(html);

      var p = $obj.position();
      var ow = $obj.width() > $layer.width() 
         ? $obj.width() : $layer.width();
      var x = p.left + ow + opts.marginX;
      if (x > document.body.clientWidth)
         x = p.left - ow - opts.marginX;

		 var testX = p.left + $obj.width();
		 var testY = p.top + opts.marginY + $obj.height();

      $layer.css({ left: testX+'px', top: testY+'px' });

      $obj.hover(function(){$layer.show()}, function(){$layer.hide()});
   });
};

$.fn.aqTipOne = function(html,options) {
   var opts = $.extend({}, $.fn.aqTip.defaults, options);
   return this.each(function() {
      if (!$('#aqTip').length) {
         $('<div id="aqTip"><\/div>').appendTo(document.body);
         $('#aqTip').css({ display: 'none', position: 'absolute' })
            .css(opts.css);
      }

      var $obj = $(this);
      if (html) {
         $('#aqTip').html(html);

         var p = $obj.position();
         var ow = $obj.width() > $('#aqTip').width() 
            ? $obj.width():$('#aqTip').width();
         var x = p.left + ow + opts.marginX;
         if (x > document.body.clientWidth)
            x = p.left - ow - opts.marginX;

			var testX = p.left + $obj.width();
			var testY = p.top + opts.marginY + $obj.height();

         $('#aqTip').show()
            .css({ left: testX+'px', top: testY+'px' })
      } else
         $('#aqTip:visible').hide()

      return false;
   });
};

$.fn.aqTip.defaults = { 
   marginX: 10, marginY: 10, 
   css: { 
      backgroundColor: '#fff', color: '#444',
      border: '1px solid #ddd', padding: '5px' }
};
})(jQuery);