﻿/***********************************************************/
/*                    JAG Tips Plugin                      */
/*                      Version: 1.0                       */
/*                     Joshua Sibelman                     */
/*       Thanks to Mike Merritt's tinyTips Plugin          */
/***********************************************************/

(function($){  
	$.fn.JAGTips = function (supCont, tipName) {
		if (!tipName) {
			var tipName = 'tooltip';
		} 
		var tipFrame = '<div class="' + tipName + '"></div>';
		var animSpeed = 300;
		var JAGTip;
		var tText;
        var hovering;
		$(this).click(function() {
			$('body').append(tipFrame);
			var divTip = 'div.'+tipName;
			JAGTip = $(divTip);
			JAGTip.hide();
			
			if (supCont === 'title') {
				var tipCont = $(this).attr('title');
			} else if (supCont !== 'title') {
				var tipCont = supCont;
			}
			JAGTip.html(tipCont);
			tText = $(this).attr('title');
			$(this).attr('title', '');
			
			//var yOffset = tinyTip.height() + 2;
			var yOffset = JAGTip.height();
			var xOffset = ((JAGTip.width()-10) / 2) - ($(this).width() / 2);
			
			var pos = $(this).offset();
			var nPos = pos;
			
			nPos.top = pos.top - yOffset;
			//nPos.left = pos.left - xOffset;
			nPos.left = pos.left;

            $(this).mouseleave(function() {
                // start polling
                $.doTimeout('poll', 250, function() {
			        JAGTip.fadeOut(animSpeed, function() {
				        $(this).remove();
			        });
                });
            });

			JAGTip.css('position', 'absolute').css('z-index', '1000');
			JAGTip.css(nPos).fadeIn(animSpeed);

            JAGTip.mouseenter(function() {
                $.doTimeout('poll');
            });

            JAGTip.mouseleave(function() {
			    $(this).attr('title', tText);
                var hovering = null;
			    JAGTip.fadeOut(animSpeed, function() {
				    $(this).remove();
			    });
		    });
		});
	}
})(jQuery);

