
/*
        ToolTips v.1.0

        Written by Design Technologist
                - Seth Van Booven [svanbooven@sacbee.com]

        Copyright © The Sacramento Bee
        Created by the New Media Department
        Created: April 01, 2001 (sv)  /  Last update: 03/11/02 (sv)

        PC-Tested for
                - Internet Explorer 4.0, 5.0, 5.5, 6.01b
                - Netscape 4.08, 4.61, 4.7, 6.01
        Mac-Tested for
                - Internet Explorer 5.0, 5.1b
                - Netscape 4.5, 4.73, 6.01

        ****************************************************
                IF YOU DON'T KNOW WHAT YOU ARE DOING
                THEN YOU DON'T BELONG HERE.
                .........................CLOSE IMMEDIATELY!
        ****************************************************
------------------------------------------------------------*/

var actDyn   = true;
var skin         = null;
var Xoffset         = -10;        // layer Xoffset from link mouseover event
var Yoffset         = 0;        // layer Yoffset from link mouseover event
var toolW         = 0;        // width of layer

var bgcolor1 = '#666666';
var bgcolor2 = '#999999';
var bgcolor3 = '#f1f1e7';

var x        = 0;
var y        = 0;
var yyy      = -1000;

var aSrc     = '<img src="http://www.bmsl.net/images/toolTipA.gif" border="0" />';

if (document.images)
{
        a = new Image();
        a.src = 'http://www.bmsl.net/images/toolTipA.gif';
};

document.write('<div id="ttip"></div>');

function initTip()
{
        skin = (ieX || ns6 || xxx) ? document.getElementById('ttip').style
                :  (ie4) ? document.all('ttip').style
                :  (ns4) ? document.ttip
                :  null;
};

function getMouse(e)
{
        if (ieX || ie4)
        {
                e = window.event;
                x = e.clientX + document.body.scrollLeft;
                y = e.clientY + document.body.scrollTop;
        }
        if (ns4 || ns6)
        {
                x = e.pageX;
                y = e.pageY;
        }
        skin.left = x + Xoffset;
        skin.top  = y + yyy;
        nudge(x);
};

function nudge(x)
{
        var extreme, overflow, temp;

        if (ieX || ie4) extreme = (document.body.clientWidth - toolW);
        if (ns4 || ns6) extreme = (window.innerWidth - toolW);
        if (ns6) extreme -= 25;

        if (parseInt(skin.left) > extreme)
        {
                overflow = parseInt(skin.left) - extreme;
                temp = parseInt(skin.left);
                temp -= overflow;
                skin.left = temp;
                if (overflow > 85) overflow = 85;
                if (ieX || ns6)        document.getElementById('arrow').style.left = overflow;
                if (ie4) document.all('arrow').style.left = overflow;
                if (ns4) document.ttip.document.arrow.left = overflow;
        }
        if (parseInt(skin.left) < 1)
        {
                overflow = parseInt(skin.left) - 1;
                temp = parseInt(skin.left);
                temp -= overflow;
                skin.left = temp;
        }
};

function toolTip(Yoffset, tWidth, msg)
{
        initTip();
        if (skin && (actDyn == true))
        {
                if (ns4) document.captureEvents(Event.MOUSEMOVE);
                document.onmousemove = getMouse;

                if (Yoffset == null) Yoffset = -30;        // sets the Yoffset if not defined
                if (Yoffset == 2) Yoffset = -38;        // sets the Yoffset if 2 lines
                if (Yoffset == 3) Yoffset = -48;        // sets the Yoffset if 3 lines
                if (ieX || ie4) Yoffset -= 3;
                if (agt.indexOf('mac') != -1) Yoffset -= 3;
                yyy = Yoffset;

                toolW = tWidth;
                if (tWidth == null) toolW = 185;

                var content = ''
                        +         '<table cellpadding="0" cellspacing="0" border="0">'
                        +                '<tr>'
                        +                        '<td bgcolor="' + bgcolor1 + '" colspan="3" height="1"><spacer type="block" width="1" height="1" /></td>'
                        +                        '<td bgcolor="' + bgcolor2 + '" rowspan="4" width="1"><spacer type="block" width="1" height="1" /></td>'
                        +                '</tr>'
                        +                '<tr>'
                        +                        '<td bgcolor="' + bgcolor1 + '" width="1"><spacer type="block" width="1" height="1" /></td>'
                        +                        '<td bgcolor="' + bgcolor3 + '" valign="top">'
                        +                                '<div id="msg" class="tooltip"> &nbsp; '
                        +                                 msg
                        +                                 ' &nbsp; &nbsp; </div></td>'
                        +                        '<td bgcolor="' + bgcolor1 + '" width="1"><spacer type="block" width="1" height="1" /></td>'
                        +                '</tr>'
                        +                '<tr>'
                        +                        '<td bgcolor="' + bgcolor1 + '" colspan="3" height="1"><spacer type="block" width="1" height="1" /></td>'
                        +                '</tr>'
                        +                '<tr>'
                        +                        '<td bgcolor="' + bgcolor2 + '" colspan="3" height="1"><spacer type="block" width="1" height="1" /></td>'
                        +                '</tr>'
                        +        '</table>'
                        +        '<div id="arrow">' + aSrc + '</div>'
                        + '';

                if (ieX || ns6)
                {
                        document.getElementById('ttip').innerHTML = content;
                        skin.visibility = 'visible';
                        skin.display    = 'inline';        // fixes a scrollbar bug in IE5 for Mac - still not happy with it
                        skin.filter     = 'alpha(opacity = 85)';
                        document.getElementById('msg').style.filter = 'alpha(opacity = 100)';
                        //skin.MozOpacity = 85 + '%';
                        //document.getElementById('msg').style.MozOpacity = 100 + "%";
                }
                if (ie4)
                {
                        document.all('ttip').innerHTML = content;
                        skin.visibility = 'visible';
                        skin.display    = 'inline';        // fixes a scrollbar bug in IE5 for Mac - still not happy with it
                }
                if (ns4)
                {
                        skin.document.open();
                        skin.document.write(content);
                        skin.document.close();
                        skin.visibility = 'show';
                }
                skin.width = toolW;
        }
        else return;
};

function fizz()
{
        if (skin)
        {
                yyy = -1000;
                skin.width = 0;
                if (ieX || ie4 || ns6)
                {
                        skin.visibility = 'hidden';
                        skin.display    = 'none';        // fixes a scrollbar bug in IE5 for Mac - still not happy with it
                }
                if (ns4) skin.visibility = 'hide';
        }
        else return;
};

