var offsetfromcursorX = 12; var offsetfromcursorY = 10; var offsetdivfrompointerX = 10; var offsetdivfrompointerY = 15; document.write('
'); document.write(''); var ie = document.all; var ns6 = document.getElementById && ! document.all; var enabletip = false; var tipobj = document.getElementById("dhtmltooltip"); var pointerobj = document.getElementById("dhtmlpointer"); function ietruebody() { return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body; } String.prototype.trim = function () { return this.replace(/^\s*/, "").replace(/\s*$/, ""); } function showtip(thetext, thewidth, thecolor) { if (ns6 || ie) { if (typeof thewidth != "undefined") tipobj.style.width = thewidth + "px"; if (typeof thecolor != "undefined" && thecolor != "") tipobj.style.backgroundColor = thecolor; thetext = thetext.trim(); var arr = thetext.split(" "); for(i=0;i=40) thetext=thetext.replace(arr[i],arr[i].substr(0,40)+"..."); tipobj.innerHTML = thetext; enabletip = true; return false; } } function positiontip(e) { if (enabletip) { var nondefaultpos = false; var curX = (ns6) ? e.pageX : event.clientX + ietruebody().scrollLeft; var curY = (ns6) ? e.pageY : event.clientY + ietruebody().scrollTop; var winwidth = ie && ! window.opera ? ietruebody().clientWidth : window.innerWidth - 20; var winheight = ie && ! window.opera ? ietruebody().clientHeight : window.innerHeight - 20; var rightedge = ie && ! window.opera ? winwidth - event.clientX - offsetfromcursorX : winwidth - e.clientX - offsetfromcursorX; var bottomedge = ie && ! window.opera ? winheight - event.clientY - offsetfromcursorY : winheight - e.clientY - offsetfromcursorY; var leftedge = (offsetfromcursorX < 0) ? offsetfromcursorX * (- 1) : - 1000; if (rightedge < tipobj.offsetWidth) { tipobj.style.left = curX - tipobj.offsetWidth + "px"; nondefaultpos = true; } else if (curX < leftedge) tipobj.style.left = "5px"; else { tipobj.style.left = curX + offsetfromcursorX - offsetdivfrompointerX + "px"; pointerobj.style.left = curX + offsetfromcursorX + "px"; } if (bottomedge < tipobj.offsetHeight) { tipobj.style.top = curY - tipobj.offsetHeight - offsetfromcursorY + "px"; nondefaultpos = true; } else { tipobj.style.top = curY + offsetfromcursorY + offsetdivfrompointerY + "px"; pointerobj.style.top = curY + offsetfromcursorY + "px"; } tipobj.style.visibility = "visible"; if (! nondefaultpos) pointerobj.style.visibility = "visible"; else pointerobj.style.visibility = "hidden"; } } function hidetip() { if (ns6 || ie) { enabletip = false; tipobj.style.visibility = "hidden"; pointerobj.style.visibility = "hidden"; tipobj.style.left = "-1000px"; tipobj.style.backgroundColor = ''; tipobj.style.width = ''; } } document.onmousemove = positiontip; (function($) { $.fn.tipsy = function(opts) { opts = $.extend({fade: false, gravity: 'n'}, opts || {}); var tip = null, cancelHide = false; this.hover(function() { $.data(this, 'cancel.tipsy', true); var tip = $.data(this, 'active.tipsy'); if (!tip) { tip = $('
' + $(this).attr('title') + '
'); tip.css({position: 'absolute', zIndex: 100000}); $(this).attr('title', ''); $.data(this, 'active.tipsy', tip); } var pos = $.extend({}, $(this).offset(), {width: this.offsetWidth, height: this.offsetHeight}); tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).appendTo(document.body); var actualWidth = tip[0].offsetWidth, actualHeight = tip[0].offsetHeight; switch (opts.gravity.charAt(0)) { case 'n': tip.css({top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}).addClass('tipsy-north'); break; case 's': tip.css({top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}).addClass('tipsy-south'); break; case 'e': tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}).addClass('tipsy-east'); break; case 'w': tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}).addClass('tipsy-west'); break; } if (opts.fade) { tip.css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: 1}); } else { tip.css({visibility: 'visible'}); } }, function() { $.data(this, 'cancel.tipsy', false); var self = this; setTimeout(function() { if ($.data(this, 'cancel.tipsy')) return; var tip = $.data(self, 'active.tipsy'); if (opts.fade) { tip.stop().fadeOut(function() { $(this).remove(); }); } else { tip.remove(); } }, 100); }); }; })(jQuery);