var khoverObj =	{
					html:'<div id="kHoverWrapper" style="display:none; border:1px solid #666; background:#f6f6f6; position:absolute; -webkit-box-shadow: 0 0 10px #222; -moz-box-shadow: #222 0 0 10px; box-shadow: 0 0 10px #222; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; z-index:99999;"></div>',
					$hover: undefined
				}
					
jQuery(function($) {
	$.fn.khover = function(options){
		var defaults = {
			callType:0, //0=simple text, 1=inline element. Eg "#div", 2=ajax
			padding:1,
			maxWidth:0,
			yOffset:15,
			xOffset:15
		}; 
			
		var settings = $.extend(defaults, options);
		
		(function initKHover(){
			if($("#kHoverWrapper").length){
				//Do not create a duplicate
			}else{
				$(khoverObj.html).appendTo('body');
				khoverObj.$hover=$('#kHoverWrapper');
			}
		})();		
				
		this.each(function() {
			var $this = $(this);
			var content = $this.attr("title");
			$this.removeAttr('title');
			
			/*** MAIN HOVER FUNC***/
			$this.hover(function(e){
				khoverObj.$hover.html("<span style='margin:2px 5px; display:block'>"+content+"</span>");
				
				if(settings.maxWidth){
					khoverObj.$hover.css({'max-width':settings.maxWidth+'px'});
				}else{
					khoverObj.$hover.css({'max-width':'9999px'});
				}
				
				khoverObj.$hover.css({"padding":settings.padding+"px","top":(e.pageY + settings.yOffset) + "px", "left":(e.pageX + settings.xOffset) + "px"})
					.stop().show();
			},function(){
				khoverObj.$hover.stop().hide();
			});
			
			/*** MAIN MOUSE MOVE FUNC ***/
			$this.mousemove(function(e){
				khoverObj.$hover.css({"top":(e.pageY + settings.yOffset) + "px", "left":(e.pageX + settings.xOffset) + "px"});
			});
					
		}); //end of this.each(function() {
	}				
});