(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"){$(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,loadingImg:"ajax-loader.gif",loadingText:"Loading...",type:"GET",autoClose:true}})(jQuery);