<!--
// BROWSER detected to allow browser-specific code
var dom = (document.getElementById) ? true : false;
var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ns4 = (document.layers && !dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false;

// resize fix for ns4
var origWidth, origHeight;
if (ns4) {
        origWidth = window.innerWidth; origHeight = window.innerHeight;
        window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); }
}

// avoid error of passing event object in older browsers
if (nodyn) { event = "nope" }

var hoverBoxFollowMouse= false; // for box to move with mouse
var hoverBoxWidth= 200; // nominal box window width
var hoverBoxOffX= 12;   // default pixels from mouse to left of box window (may be reset by boxContent array)
var hoverBoxOffY= -15; // default pixels from mouse to top of box window (may be reset by boxConbtent array)
var hoverBoxFontFamily= "Arial, Helvetica, Verdana, sans-serif";
var hoverBoxFontSize= "x-small";
var hoverBoxFontColor= "#800000";
var hoverBoxBgColor= "#FFFFCC";
var hoverBoxBorderColor= "#8B4513";
var hoverBoxBorderWidth= 4;
var hoverBoxBorderStyle= "solid";
var hoverBoxPadding= 0;
var offX = hoverBoxOffX;
var offY = hoverBoxOffY;
var captionTop = "";

// hoverBox content has up to 4 user-defined parameters:
// (image, text, optional X-offset, optional Y-offset, optional caption)
var boxContent = new Array();

// PreloadHoverBox is called in BODY of HTML page AFTER BoxContent array specified.
var hoverBoxArray = new Array();
function PreloadHoverBox(num)
{
        hoverBoxArray[num] = new Image();
        hoverBoxArray[num].src = boxContent[num][0];
}

// Layout is in table form with caption on top, image in middle, and text at bottom.
// startStr, midStr1, midStr2, and endStr are HTML for the table with only
// data from boxContent() and pre-defined styles omitted.
var startStr = '<table border=0 width="' + hoverBoxWidth + '">';
var midStr1 =  '<tr><td align="center" width="100%"><img src="';
var midStr2 = '" border="0"></td></tr><tr><td valign="top">';
var endStr = '</td></tr></table>';

//  initHoverBox initializes hoverBox: gets hoverBox from its DIV in BODY, defines styles, and
//      sets up mousemove capture. initHoverBox() is called in BODY after hoverBoxDiv defined.
var hoverBox, hoverBoxCss;
function initHoverBox() {
        if (nodyn) return;
        hoverBox = (ns4)? document.hoverBoxArray.document: (ie4)? document.all['hoverBoxDiv']: (ie5||ns5)? document.getElementById('hoverBoxDiv'): null;
        hoverBoxCss = (ns4)? document.hoverBoxArray: hoverBox.style;
        if (ie4||ie5||ns5) {    // ns4 would lose all this on rewrites
                hoverBoxCss.width = hoverBoxWidth+"px";
                hoverBoxCss.fontFamily = hoverBoxFontFamily;
                hoverBoxCss.fontSize = hoverBoxFontSize;
                hoverBoxCss.color = hoverBoxFontColor;
                hoverBoxCss.backgroundColor = hoverBoxBgColor;
                hoverBoxCss.borderColor = hoverBoxBorderColor;
                hoverBoxCss.borderWidth = hoverBoxBorderWidth+"px";
                hoverBoxCss.padding = hoverBoxPadding+"px";
                hoverBoxCss.borderStyle = hoverBoxBorderStyle;
        }
        if (hoverBox&&hoverBoxFollowMouse) {
                if (ns4) document.captureEvents(Event.MOUSEMOVE);
                document.onmousemove = trackMouse;
        }
}

// showHoverBox writes input info into hoverBox
var t1,t2;      // for setTimeouts
var hoverBoxOn = false;      // check if mouse is over a link that calls for a hoverBox
function showHoverBox(evt,num) {
        if (!hoverBox) return;
        if (t1) clearTimeout(t1);       if (t2) clearTimeout(t2);
        hoverBoxOn = true;
        // set offsets if specified by user in boxContent array:
        if (boxContent[num][2])   offX = eval( boxContent[num][2] ) ;
                else offX = hoverBoxOffX;
        if (boxContent[num][3])   offY = eval( boxContent[num][3] ) ;
                else offY = hoverBoxOffY;
        if (boxContent[num][4])
                captionTop = "<caption align=top><b>" + boxContent[num][4] + "</b></caption>" ;
                else captionTop = "" ;

        if (ns4) {
                var box = '<table bgcolor="' + hoverBoxBorderColor + '" width="' + hoverBoxWidth + '" cellspacing="0" cellpadding="' + hoverBoxBorderWidth + '" border="0"><tr><td><table bgcolor="' + hoverBoxBgColor + '" width="100%" cellspacing="0" cellpadding="' + hoverBoxPadding + '" border="0"><tr><td>'+ startStr + captionTop + midStr1 + boxContent[num][0] + midStr2 + '<span style="font-family:' + hoverBoxFontFamily + '; font-size:' + hoverBoxFontSize + '; color:' + hoverBoxFontColor + ';">' + boxContent[num][1] + '</span>' + endStr + '</td></tr></table></td></tr></table>';
                hoverBox.write(box);
                hoverBox.close();
        } else if (ie4||ie5||ns5) {
                var box = startStr + captionTop + midStr1 + boxContent[num][0] + midStr2 + '<span style="font-family:' + hoverBoxFontFamily + '; font-size:' + hoverBoxFontSize + '; color:' + hoverBoxFontColor + ';">' + boxContent[num][1] + '</span>' + endStr;
                hoverBoxCss.backgroundColor = hoverBoxBgColor;
                hoverBox.innerHTML = box;
        }
        if (!hoverBoxFollowMouse) positionHoverBox(evt);
        else t1=setTimeout("hoverBoxCss.visibility='visible'",100);
}

var mouseX, mouseY;
function trackMouse(evt) {
        mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
        mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;
        if (hoverBoxOn) positionHoverBox(evt);
}

//  positionHoverBox: If hoverBoxFollowMouse false, get position of mouseover event.
//     Calculations use mouseover event position, offset amounts and
//     hoverBox width to position hoverBox within window.
function positionHoverBox(evt) {
        if (!hoverBoxFollowMouse) {
                mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
                mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;
        }
        // hoverBox width and height
        var tpWd = (ns4)? hoverBox.width: (ie4||ie5)? hoverBox.clientWidth: hoverBox.offsetWidth;
        var tpHt = (ns4)? hoverBox.height: (ie4||ie5)? hoverBox.clientHeight: hoverBox.offsetHeight;
        // document area in view (subtract scrollbar width for ns)
        var winWd = (ns4||ns5)? window.innerWidth-20+window.pageXOffset: document.body.clientWidth+document.body.scrollLeft;
        var winHt = (ns4||ns5)? window.innerHeight-20+window.pageYOffset: document.body.clientHeight+document.body.scrollTop;
        // check mouse position against box and window dimensions
        // and position the hoverBox

        if ((mouseX+offX+tpWd)>winWd)
                hoverBoxCss.left = (ns4)? mouseX-(tpWd+offX): mouseX-(tpWd+offX)+"px";
        else hoverBoxCss.left = (ns4)? mouseX+offX: mouseX+offX+"px";
        if ((mouseY+offY+tpHt)>winHt)
                hoverBoxCss.top = (ns4)? winHt-(tpHt+offY): winHt-(tpHt+offY)+"px";
        else hoverBoxCss.top = (ns4)? mouseY+offY: mouseY+offY+"px";
        if (!hoverBoxFollowMouse) t1=setTimeout("hoverBoxCss.visibility='visible'",100);
}

function hideHoverBox() {
        if (!hoverBox) return;
        t2=setTimeout("hoverBoxCss.visibility='hidden'",100);
        hoverBoxOn = false;
}
//-->
