$(document).ready(function() {

   offSetX = 15;
   offSetY = 0;

   $(".toptip").hover(function(e) {
      topTip = '#' + $(this).attr('class').split(' ').slice(-1);

      height = $(window).height();
      width = $(window).width();
      scrTop = $(window).scrollTop();
      scrLeft = $(window).scrollLeft();
      tipWidth = $(topTip).outerWidth();
      tipHeight = $(topTip).outerHeight();
      tipLeft = e.pageX + offSetX;
      tipTop = e.pageY + offSetY;

      if ((e.pageX - scrLeft + offSetX + tipWidth) > width) { tipLeft = e.pageX - offSetX - tipWidth; }
      if ((e.pageY - scrTop + offSetY + tipHeight) > height) { tipTop = e.pageY - offSetY - tipHeight; }


      $(topTip)
			.css("top", tipTop + "px")
			.css("left", tipLeft + "px")
			.show();
   },
	function() {
	   $(topTip).hide();
	});

   $(".toptip").mousemove(function(e) {

      topTip = '#' + $(this).attr('class').split(' ').slice(-1);
      height = $(window).height();
      width = $(window).width();
      scrTop = $(window).scrollTop();
      scrLeft = $(window).scrollLeft();
      tipWidth = $(topTip).outerWidth();
      tipHeight = $(topTip).outerHeight();
      tipLeft = e.pageX + offSetX;
      tipTop = e.pageY + offSetY;

      if ((e.pageX - scrLeft + offSetX + tipWidth) > width) { tipLeft = e.pageX - offSetX - tipWidth; }
      if ((e.pageY - scrTop + offSetY + tipHeight) > height) { tipTop = e.pageY - offSetY - tipHeight; }

      $(topTip)
			.css("top", tipTop + "px")
			.css("left", tipLeft + "px");
   });
});
