// JQUERY Tooltip Plugin
// 2009 Dominion Digital, Inc.
//
// v1 - destabrook 4/21/2009
// v1.5 - jhilowitz 10/1/2009
// v2 - destabrook 3/18/2010

(function($) {
	$.fn.ddigtooltip = function(options) {
		
				
		var defaults = {
			fadeInDuration: 100,
			xOffset: 0,
			yOffset: 0,
			whereToPrepend: "body",
			useMouseLocation: false
		};
		
		var options = $.extend(defaults, options);
		
		return this.each(function() {
			var midPoint = Math.round($('body').width()/2); 
			var obj = $(this); 
			var position = obj.offset();
			var toolTipDisplay = obj.find(".tt-contentsContainer");
			

			if (obj.hasClass('tt-sticky')) {
				//a tooltip you need to click to show and click to close
				obj.click(function(e){
					if (options.useMouseLocation) {
						locX = e.pageX;
						locY = e.pageY;
					} else {
						var objOffset = obj.offset();
						locX = objOffset.left + (obj.width()/2);
						locY = objOffset.top;
					}
					displayTip();
				});
				$(obj + '.tt-close').mouseup(function(){
					$(toolTipDisplay).hide().appendTo(obj).removeClass("tt-visible");
				});
			} else {
				
				//typical rollover tooltip
				obj.mouseover(function(e){
					if (options.useMouseLocation) {
						locX = e.pageX;
						locY = e.pageY;
					} else {
						var objOffset = obj.offset();
						locX = objOffset.left + (obj.width()/3);
						locY = objOffset.top;
					}
					displayTip();
				});
				obj.mouseout(function(){
					$(toolTipDisplay).hide().appendTo(obj).removeClass("tt-visible");
				});
			};
			
			function displayTip() {
					toolTipDisplay
						.prependTo(options.whereToPrepend)
						.css("top", ((locY - toolTipDisplay.height()-obj.height()) + "px"))  
						.fadeIn(options.fadeInDuration); 
										
					if(locX < midPoint) {
							toolTipDisplay.css("left", (locX) - options.xOffset + "px");
							toolTipDisplay.addClass("tt-pointLeft");
					} else {
						toolTipDisplay.css("left", locX - toolTipDisplay.width() + options.xOffset) + "px";
						toolTipDisplay.removeClass("tt-pointLeft");
					}					
					
					
				}
			
		}
	)}
})(jQuery);
