-//////////////// GLOBAL TOOPTIP CONFIGURATION /////////////////////
-var ttAbove = false; // tooltip above mousepointer? Alternative: true
-var ttBgColor = "#e6ecff";
-var ttBgImg = ""; // path to background image;
-var ttBorderColor = "#003399";
-var ttBorderWidth = 1;
-var ttDelay = 500; // time span until tooltip shows up [milliseconds]
-var ttFontColor = "#000066";
-var ttFontFace = "arial,helvetica,sans-serif";
-var ttFontSize = "11px";
-var ttFontWeight = "normal"; // alternative: "bold";
-var ttLeft = false; // tooltip on the left of the mouse? Alternative: true
-var ttOffsetX = 12; // horizontal offset of left-top corner from mousepointer
-var ttOffsetY = 15; // vertical offset "
-var ttOpacity = 100; // opacity of tooltip in percent (must be integer between 0 and 100)
-var ttPadding = 3; // spacing between border and content
-var ttShadowColor = "";
-var ttShadowWidth = 0;
-var ttStatic = false; // tooltip NOT move with the mouse? Alternative: true
-var ttSticky = false; // do NOT hide tooltip on mouseout? Alternative: true
-var ttTemp = 0; // time span after which the tooltip disappears; 0 (zero) means "infinite timespan"
-var ttTextAlign = "left";
-var ttTitleColor = "#ffffff"; // color of caption text
-var ttWidth = 300;
-//////////////////// END OF TOOLTIP CONFIG ////////////////////////
-
-
-
-////////////// TAGS WITH TOOLTIP FUNCTIONALITY ////////////////////
-// List may be extended or shortened:
-var tt_tags = new Array("a","area","b","big","caption","center","code","dd","div","dl","dt","em","h1","h2","h3","h4","h5","h6","i","img","input","li","map","ol","p","pre","s", "select", "small","span","strike","strong","sub","sup","table","td","th","tr","tt","u","var","ul","layer");
-/////////////////////////////////////////////////////////////////////
-
-
-
-///////// DON'T CHANGE ANYTHING BELOW THIS LINE /////////////////////
-var tt_obj = null, // current tooltip
-tt_ifrm = null, // iframe to cover windowed controls in IE
-tt_objW = 0, tt_objH = 0, // width and height of tt_obj
-tt_objX = 0, tt_objY = 0,
-tt_offX = 0, tt_offY = 0,
-xlim = 0, ylim = 0, // right and bottom borders of visible client area
-tt_sup = false, // true if T_ABOVE cmd
-tt_sticky = false, // tt_obj sticky?
-tt_wait = false,
-tt_act = false, // tooltip visibility flag
-tt_sub = false, // true while tooltip below mousepointer
-tt_u = "undefined",
-tt_mf = null, // stores previous mousemove evthandler
-// Opera: disable href when hovering <a>
-tt_tag = null; // stores hovered dom node, href and previous statusbar txt
-
-
-var tt_db = (document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body? document.body : null,
-tt_n = navigator.userAgent.toLowerCase(),
-tt_nv = navigator.appVersion;
-// Browser flags
-var tt_op = !!(window.opera && document.getElementById),
-tt_op6 = tt_op && !document.defaultView,
-tt_op7 = tt_op && !tt_op6,
-tt_ie = tt_n.indexOf("msie") != -1 && document.all && tt_db && !tt_op,
-tt_ie6 = tt_ie && parseFloat(tt_nv.substring(tt_nv.indexOf("MSIE")+5)) >= 5.5,
-tt_n4 = (document.layers && typeof document.classes != tt_u),
-tt_n6 = (!tt_op && document.defaultView && typeof document.defaultView.getComputedStyle != tt_u),
-tt_w3c = !tt_ie && !tt_n6 && !tt_op && document.getElementById;
-
-function tt_Int(t_x)
-{
- var t_y;
- return isNaN(t_y = parseInt(t_x))? 0 : t_y;
-}
-function wzReplace(t_x, t_y)
-{
- var t_ret = "",
- t_str = this,
- t_xI;
- while((t_xI = t_str.indexOf(t_x)) != -1)
- {
- t_ret += t_str.substring(0, t_xI) + t_y;
- t_str = t_str.substring(t_xI + t_x.length);
- }
- return t_ret+t_str;
-}
-String.prototype.wzReplace = wzReplace;
-function tt_N4Tags(tagtyp, t_d, t_y)
-{
- t_d = t_d || document;
- t_y = t_y || new Array();
- var t_x = (tagtyp=="a")? t_d.links : t_d.layers;
- for(var z = t_x.length; z--;) t_y[t_y.length] = t_x[z];
- for(z = t_d.layers.length; z--;) t_y = tt_N4Tags(tagtyp, t_d.layers[z].document, t_y);
- return t_y;
-}
-function tt_Htm(tt, t_id, txt)
-{
- var t_bgc = (typeof tt.T_BGCOLOR != tt_u)? tt.T_BGCOLOR : ttBgColor,
- t_bgimg = (typeof tt.T_BGIMG != tt_u)? tt.T_BGIMG : ttBgImg,
- t_bc = (typeof tt.T_BORDERCOLOR != tt_u)? tt.T_BORDERCOLOR : ttBorderColor,
- t_bw = (typeof tt.T_BORDERWIDTH != tt_u)? tt.T_BORDERWIDTH : ttBorderWidth,
- t_ff = (typeof tt.T_FONTFACE != tt_u)? tt.T_FONTFACE : ttFontFace,
- t_fc = (typeof tt.T_FONTCOLOR != tt_u)? tt.T_FONTCOLOR : ttFontColor,
- t_fsz = (typeof tt.T_FONTSIZE != tt_u)? tt.T_FONTSIZE : ttFontSize,
- t_fwght = (typeof tt.T_FONTWEIGHT != tt_u)? tt.T_FONTWEIGHT : ttFontWeight,
- t_opa = (typeof tt.T_OPACITY != tt_u)? tt.T_OPACITY : ttOpacity,
- t_padd = (typeof tt.T_PADDING != tt_u)? tt.T_PADDING : ttPadding,
- t_shc = (typeof tt.T_SHADOWCOLOR != tt_u)? tt.T_SHADOWCOLOR : (ttShadowColor || 0),
- t_shw = (typeof tt.T_SHADOWWIDTH != tt_u)? tt.T_SHADOWWIDTH : (ttShadowWidth || 0),
- t_algn = (typeof tt.T_TEXTALIGN != tt_u)? tt.T_TEXTALIGN : ttTextAlign,
- t_tit = (typeof tt.T_TITLE != tt_u)? tt.T_TITLE : "",
- t_titc = (typeof tt.T_TITLECOLOR != tt_u)? tt.T_TITLECOLOR : ttTitleColor,
- t_w = (typeof tt.T_WIDTH != tt_u)? tt.T_WIDTH : ttWidth;
- if(t_shc || t_shw)
- {
- t_shc = t_shc || "#cccccc";
- t_shw = t_shw || 5;
- }
- if(tt_n4 && (t_fsz == "10px" || t_fsz == "11px")) t_fsz = "12px";
-
- var t_optx = (tt_n4? '' : tt_n6? ('-moz-opacity:'+(t_opa/100.0)) : tt_ie? ('filter:Alpha(opacity='+t_opa+')') : ('opacity:'+(t_opa/100.0))) + ';';
- var t_y = '<div id="'+t_id+'" style="position:absolute;z-index:1010;';
- t_y += 'left:0px;top:0px;width:'+(t_w+t_shw)+'px;visibility:'+(tt_n4? 'hide' : 'hidden')+';'+t_optx+'">' +
- '<table border="0" cellpadding="0" cellspacing="0"'+(t_bc? (' bgcolor="'+t_bc+'" style="background:'+t_bc+';"') : '')+' width="'+t_w+'">';
- if(t_tit)
- {
- t_y += '<tr><td style="padding-left:3px;padding-right:3px;" align="'+t_algn+'"><font color="'+t_titc+'" face="'+t_ff+'" ' +
- 'style="color:'+t_titc+';font-family:'+t_ff+';font-size:'+t_fsz+';"><b>' +
- (tt_n4? ' ' : '')+t_tit+'</b></font></td></tr>';
- }
- t_y += '<tr><td><table border="0" cellpadding="'+t_padd+'" cellspacing="'+t_bw+'" width="100%">' +
- '<tr><td'+(t_bgc? (' bgcolor="'+t_bgc+'"') : '')+(t_bgimg? ' background="'+t_bgimg+'"' : '')+' style="text-align:'+t_algn+';';
- if(tt_n6) t_y += 'padding:'+t_padd+'px;';
- t_y += '" align="'+t_algn+'"><font color="'+t_fc+'" face="'+t_ff+'"' +
- ' style="color:'+t_fc+';font-family:'+t_ff+';font-size:'+t_fsz+';font-weight:'+t_fwght+';">';
- if(t_fwght == 'bold') t_y += '<b>';
- t_y += txt;
- if(t_fwght == 'bold') t_y += '</b>';
- t_y += '</font></td></tr></table></td></tr></table>';
- if(t_shw)
- {
- var t_spct = Math.round(t_shw*1.3);
- if(tt_n4)
+//=================== GLOBAL TOOLTIP CONFIGURATION =========================//
+var tt_Debug = true // false or true - recommended: false once you release your page to the public
+var tt_Enabled = true // Allows to (temporarily) suppress tooltips, e.g. by providing the user with a button that sets this global variable to false
+var TagsToTip = true // false or true - if true, HTML elements to be converted to tooltips via TagToTip() are automatically hidden;
+ // if false, you should hide those HTML elements yourself
+
+// For each of the following config variables there exists a command, which is
+// just the variablename in uppercase, to be passed to Tip() or TagToTip() to
+// configure tooltips individually. Individual commands override global
+// configuration. Order of commands is arbitrary.
+// Example: onmouseover="Tip('Tooltip text', LEFT, true, BGCOLOR, '#FF9900', FADEIN, 400)"
+
+config. Above = false // false or true - tooltip above mousepointer
+config. BgColor = '#E2E7FF' // Background colour (HTML colour value, in quotes)
+config. BgImg = '' // Path to background image, none if empty string ''
+config. BorderColor = '#003099'
+config. BorderStyle = 'solid' // Any permitted CSS value, but I recommend 'solid', 'dotted' or 'dashed'
+config. BorderWidth = 1
+config. CenterMouse = false // false or true - center the tip horizontally below (or above) the mousepointer
+config. ClickClose = false // false or true - close tooltip if the user clicks somewhere
+config. ClickSticky = false // false or true - make tooltip sticky if user left-clicks on the hovered element while the tooltip is active
+config. CloseBtn = false // false or true - closebutton in titlebar
+config. CloseBtnColors = ['#990000', '#FFFFFF', '#DD3333', '#FFFFFF'] // [Background, text, hovered background, hovered text] - use empty strings '' to inherit title colours
+config. CloseBtnText = ' X ' // Close button text (may also be an image tag)
+config. CopyContent = true // When converting a HTML element to a tooltip, copy only the element's content, rather than converting the element by its own
+config. Delay = 400 // Time span in ms until tooltip shows up
+config. Duration = 0 // Time span in ms after which the tooltip disappears; 0 for infinite duration, < 0 for delay in ms _after_ the onmouseout until the tooltip disappears
+config. Exclusive = false // false or true - no other tooltip can appear until the current one has actively been closed
+config. FadeIn = 100 // Fade-in duration in ms, e.g. 400; 0 for no animation
+config. FadeOut = 100
+config. FadeInterval = 30 // Duration of each fade step in ms (recommended: 30) - shorter is smoother but causes more CPU-load
+config. Fix = null // Fixated position, two modes. Mode 1: x- an y-coordinates in brackets, e.g. [210, 480]. Mode 2: Show tooltip at a position related to an HTML element: [ID of HTML element, x-offset, y-offset from HTML element], e.g. ['SomeID', 10, 30]. Value null (default) for no fixated positioning.
+config. FollowMouse = true // false or true - tooltip follows the mouse
+config. FontColor = '#000044'
+config. FontFace = 'Verdana,Geneva,sans-serif'
+config. FontSize = '8pt' // E.g. '9pt' or '12px' - unit is mandatory
+config. FontWeight = 'normal' // 'normal' or 'bold';
+config. Height = 0 // Tooltip height; 0 for automatic adaption to tooltip content, < 0 (e.g. -100) for a maximum for automatic adaption
+config. JumpHorz = false // false or true - jump horizontally to other side of mouse if tooltip would extend past clientarea boundary
+config. JumpVert = true // false or true - jump vertically "
+config. Left = false // false or true - tooltip on the left of the mouse
+config. OffsetX = 14 // Horizontal offset of left-top corner from mousepointer
+config. OffsetY = 8 // Vertical offset
+config. Opacity = 100 // Integer between 0 and 100 - opacity of tooltip in percent
+config. Padding = 3 // Spacing between border and content
+config. Shadow = false // false or true
+config. ShadowColor = '#C0C0C0'
+config. ShadowWidth = 5
+config. Sticky = false // false or true - fixate tip, ie. don't follow the mouse and don't hide on mouseout
+config. TextAlign = 'left' // 'left', 'right' or 'justify'
+config. Title = '' // Default title text applied to all tips (no default title: empty string '')
+config. TitleAlign = 'left' // 'left' or 'right' - text alignment inside the title bar
+config. TitleBgColor = '' // If empty string '', BorderColor will be used
+config. TitleFontColor = '#FFFFFF' // Color of title text - if '', BgColor (of tooltip body) will be used
+config. TitleFontFace = '' // If '' use FontFace (boldified)
+config. TitleFontSize = '' // If '' use FontSize
+config. TitlePadding = 2
+config. Width = 0 // Tooltip width; 0 for automatic adaption to tooltip content; < -1 (e.g. -240) for a maximum width for that automatic adaption;
+ // -1: tooltip width confined to the width required for the titlebar
+//======= END OF TOOLTIP CONFIG, DO NOT CHANGE ANYTHING BELOW ==============//
+
+
+
+
+//===================== PUBLIC =============================================//
+function Tip()
+{
+ tt_Tip(arguments, null);
+}
+function TagToTip()
+{
+ var t2t = tt_GetElt(arguments[0]);
+ if(t2t)
+ tt_Tip(arguments, t2t);
+}
+function UnTip()
+{
+ tt_OpReHref();
+ if(tt_aV[DURATION] < 0 && (tt_iState & 0x2))
+ tt_tDurt.Timer("tt_HideInit()", -tt_aV[DURATION], true);
+ else if(!(tt_aV[STICKY] && (tt_iState & 0x2)))
+ tt_HideInit();
+}
+
+//================== PUBLIC PLUGIN API =====================================//
+// Extension eventhandlers currently supported:
+// OnLoadConfig, OnCreateContentString, OnSubDivsCreated, OnShow, OnMoveBefore,
+// OnMoveAfter, OnHideInit, OnHide, OnKill
+
+var tt_aElt = new Array(10), // Container DIV, outer title & body DIVs, inner title & body TDs, closebutton SPAN, shadow DIVs, and IFRAME to cover windowed elements in IE
+tt_aV = new Array(), // Caches and enumerates config data for currently active tooltip
+tt_sContent, // Inner tooltip text or HTML
+tt_t2t, tt_t2tDad, // Tag converted to tip, and its DOM parent element
+tt_musX, tt_musY,
+tt_over,
+tt_x, tt_y, tt_w, tt_h; // Position, width and height of currently displayed tooltip
+
+function tt_Extension()
+{
+ tt_ExtCmdEnum();
+ tt_aExt[tt_aExt.length] = this;
+ return this;
+}
+function tt_SetTipPos(x, y)
+{
+ var css = tt_aElt[0].style;
+
+ tt_x = x;
+ tt_y = y;
+ css.left = x + "px";
+ css.top = y + "px";
+ if(tt_ie56)
+ {
+ var ifrm = tt_aElt[tt_aElt.length - 1];
+ if(ifrm)