(function($){$.fn.jHelperTip=function(options){var opts=$.extend({},$.fn.jHelperTip.defaults,options);if($(opts.ttC).length==0)$('<div id="'+opts.ttC.slice(1)+'"></div>').appendTo("body");if($(opts.dC).length==0)$('<div id="'+opts.dC.slice(1)+'"></div>').appendTo("body");if($(opts.aC).length==0)$('<div id="'+opts.aC.slice(1)+'"></div>').appendTo("body");$(opts.ttC).add(opts.aC).css({position:"absolute",display:"inline"}).hide();$(opts.dC).hide();var closeBox=function(){if(opts.source=="attribute")$(opts.aC).hide().empty();else $(opts.ttC).hide().empty()};$(".jHelperTipClose").bind("click",closeBox);$(opts.ttC).bind("mouseover",function(){$(opts.ttC).show();return false});var getData=function(obj,e){if(opts.source=="ajax"){getPosition(e);$(opts.ttC).html('<div><img src="'+opts.loadingImg+'"/> '+opts.loadingText+'</div>').show();$.ajax({type:opts.type,url:opts.url,data:opts.data,success:function(msg){$(opts.ttC).html(msg);$(".jHelperTipClose").unbind("click",closeBox);$(".jHelperTipClose").bind("click",closeBox)}})}else if(opts.source=="container"){$(opts.ttC).show().empty();$(opts.dC).clone(true).show().appendTo(opts.ttC)}if(opts.source=="attribute"){$(opts.aC).html($(obj).attr(opts.attrName))}};var getPosition=function(e){var top=e.pageY+opts.topOff;var left=e.pageX+opts.leftOff;if(opts.source=='attribute'){var height=$(opts.aC).height();var winheight=$(window).height();if(top-$(window).scrollTop()+height>winheight){top=top-height}$(opts.aC).css({top:top,left:left,opacity:opts.opacity}).show()}else{$(opts.ttC).css({top:top,left:left,opacity:opts.opacity}).show()}};if(opts.trigger=="hover"){$(this).bind("mouseover",function(e){e.preventDefault();getData(this,e);return false});$(this).bind("mousemove",function(e){getPosition(e);return false});$(this).bind("mouseout",function(e){if(opts.source=="attribute")$(opts.aC).hide().empty();else $(opts.ttC).hide().empty();return false})}else if(opts.trigger=="click"){$(this).bind("click",function(e){getData(this,e);getPosition(e);$(document).bind("click",function(e){if(opts.autoClose){if(opts.source=="attribute")$(opts.aC).hide().empty();else $(opts.ttC).hide().empty()}});return false})}};$.fn.jHelperTip.defaults={trigger:"click",topOff:3,leftOff:10,source:"container",attrName:'',ttC:"#jHelperTipContainer",dC:"#jHelperTipDataContainer",aC:"#jHelperTipAttrContainer",opacity:1.0,loadingImg:"ajax-loader.gif",loadingText:"Loading...",type:"GET",autoClose:true}})(jQuery);
