// Popup Image ToolTip
  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" }

//
// User configurable settings for tooltip
//
  // Do you want tip to move when mouse moves over link?
  var tipFollowMouse = true;

  // Be sure to set tipWidth wide enough for widest image
  var tipWidth = 190;

  // how far from mouse to show tip
  var offX = 40;
  var offY = 12;
  var tipFontFamily = "Verdana, arial, helvetica, sans-serif";
  var tipFontSize = "8pt";

  // set default text color and background color for tooltip here
  // individual tooltips can have their own (set in messages arrays)
  // but don't have to
  var tipFontColor = "#000000";
  var tipBgColor = "#DAE0EF";
  var tipBorderColor = "blue";
  var tipBorderWidth = 3;
  var tipBorderStyle = "ridge";
  var tipPadding = 4;

  // tooltip content used to go here
  // now goes in page header so each page can configure its own content
  // (image, description, optional bgColor, optional textcolor)
  // multi-dimensional arrays containing:
  // image and text for tooltip
  // optional: bgColor and color to be sent to tooltip

  // End user configurable settings for tooltip

  // preload images that are to appear in tooltip from arrays above
  if( document.images )
  {
  	var theImgs = new Array();
  	for( var i = 0; i < messages.length; i++ )
    {
    	theImgs[i] = new Image();
  		theImgs[i].src = messages[i][0];
    }
  }

//  initTip	- initialization for tooltip.
  var tooltip, tipcss;
  function initTip()
  {
  	if( nodyn ) return;

    var tipDiv = window.top.document.createElement('div');
    tooltip = window.top.document.body.appendChild(tipDiv);
    tooltip.setAttribute( 'id', 'tipDiv' );


/* I didn't want to have to add tipDiv to every blessed page to avoid
  having its size constrained by using the narrower navigation iframe
  so I just created it dynamically above.

  	tooltip
      = ( ns4 ) ? document.tipDiv.document
                : ( ie4 ) ? document.all['tipDiv']
                          : ( ie5 || ns5 )
                            ? window.parent.document.getElementById('tipDiv')
                            : null;
//                                  ? document.getElementById('tipDiv') : null;
//  	tipcss = ( ns4 ) ? document.tipDiv : tooltip.style;
*/

  	tipcss = ( ns4 ) ? window.top.document.tipDiv : tooltip.style;
  	if( ie4 || ie5 || ns5 )
    {
      tipcss.display = 'block';
      tipcss.position = 'absolute';
      tipcss.visibility = 'hidden';
      tipcss.zIndex = '100';

      // ns4 would lose all this on rewrites
  		tipcss.width = tipWidth+"px";
  		tipcss.fontFamily = tipFontFamily;
  		tipcss.fontSize = tipFontSize;
  		tipcss.color = tipFontColor;
  		tipcss.backgroundColor = tipBgColor;
  		tipcss.borderColor = tipBorderColor;
  		tipcss.borderWidth = tipBorderWidth+"px";
  		tipcss.padding = tipPadding+"px";
  		tipcss.borderStyle = tipBorderStyle;
  	}

  	if( tooltip && tipFollowMouse )
    {
  		if ( ns4 ) document.captureEvents( Event.MOUSEMOVE );
  		document.onmousemove = trackMouse;
  	}
  }

  window.onload = initTip;

//  doTooltip function
  var t1,t2;	// for timer events
  var tipOn = false;	// check if over tooltip link
  function doTooltip( evt, num )
  {
  	if( !tooltip ) return;
  	if( t1 ) clearTimeout( t1 );
    if( t2 ) clearTimeout( t2 );
  	tipOn = true;

  	// set colors if included in messages array
  	if( messages[num][2] )
      var curBgColor = messages[num][2];
  	else curBgColor = tipBgColor;
  	if( messages[num][3] )
      var curFontColor = messages[num][3];
  	else curFontColor = tipFontColor;
    var tipImgWidth = theImgs[num].width + 10;
  	if( ns4 )
    {
  		var tip = '<table bgcolor="' + tipBorderColor + '" width="' + tipImgWidth
              + '" cellspacing="0" cellpadding="' + tipBorderWidth
              + '" border="0"><tr><td><table bgcolor="' + curBgColor
              + '" width="100%" cellspacing="0" cellpadding="' + tipPadding
              + '" border="0"><tr><td>'
              + '<table width="' + tipImgWidth
              + '"><tr><td align="center" width="100%"><img src="'
              + messages[num][0]
              + '" border="0"></td></tr><tr><td valign="top">'
              + '<span style="font-family:' + tipFontFamily + '; font-size:'
              + tipFontSize + '; color:' + curFontColor + ';">'
              + messages[num][1]
              + '</span></td></tr></table></td></tr></table></td></tr></table>';
  		tooltip.write( tip );
  		tooltip.close();
  	}
    else if( ie4 || ie5 || ns5 )
    {
  		var tip = '<table width="' + tipImgWidth
        + '"><tr><td align="center" width="100%"><img src="'
        + messages[num][0] + '" border="0"></td></tr><tr><td valign="top">'
        + '<span style="font-family:' + tipFontFamily
        + '; font-size:' + tipFontSize + '; color:' + curFontColor
        + ';">' + messages[num][1] + '</span></td></tr></table>';
  		tipcss.backgroundColor = curBgColor;
  		tipcss.width = tipImgWidth+"px";
  	 	tooltip.innerHTML = tip;
  	}
  	if( !tipFollowMouse )
      positionTip( evt );
  	else
      t1 = setTimeout( "tipcss.visibility='visible'", 100 );
  }

  var mouseX, mouseY;
  function trackMouse( evt )
  {
    // Only seems to happen in IE
    if ( !evt )
      evt = window.event;

    mouseX = ( ns4 || ns5 ) ? evt.pageX
                            : evt.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
	  mouseY = ( ns4 || ns5 ) ? evt.pageY
                            : evt.clientY + document.documentElement.scrollTop + document.body.scrollTop;
  	if( tipOn )
      positionTip( evt );
  }

//  positionTip function
  function positionTip( evt )
  {
	  if( !tipFollowMouse )
    {
      // Only seems to happen in IE
      if ( !evt )
        evt = window.event;

      mouseX = ( ns4 || ns5 ) ? evt.pageX
                              : evt.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
	    mouseY = ( ns4 || ns5 ) ? evt.pageY
                              : evt.clientY + document.documentElement.scrollTop + document.body.scrollTop;
	  }

  	// tooltip width and height
	  var tpWd = ( ns4 ) ? tooltip.width
                       : ( ie4 || ie5 ) ? tooltip.clientWidth
                                        : tooltip.offsetWidth;
  	var tpHt = ( ns4 ) ? tooltip.height
                       : ( ie4 || ie5 ) ? tooltip.clientHeight
                                        : tooltip.offsetHeight;

	  // document area in view (subtract scrollbar width for ns)
//  	var winWd = ( ns4 || ns5 ) ? window.innerWidth - 20 + window.pageXOffset
  	var winWd = ( ns4 || ns5 ) ? window.parent.innerWidth - 20 + window.parent.pageXOffset
                               : document.body.clientWidth
                                  + document.documentElement.scrollLeft + document.body.scrollLeft;

// For IE, seems the document.body.clientHeight is actually the entire document height
//  so... let's try documentElement.clientHeight
//	  var winHt = ( ns4 || ns5 ) ? window.innerHeight - 20 + window.pageYOffset
//                               : document.body.clientHeight
	  var winHt = ( ns4 || ns5 ) ? window.parent.innerHeight - 20 + window.parent.pageYOffset
                               : document.documentElement.clientHeight
                                  + document.documentElement.scrollTop + document.body.scrollTop;

   	// check mouse position against tip and window dimensions
  	// and position the tooltip to be in the visible area
	  if(( mouseX + offX + tpWd ) > winWd )
  		tipcss.left = ( ns4 ) ? mouseX - ( tpWd + offX )
                            : mouseX - ( tpWd + offX ) + "px";
	  else
      tipcss.left = ( ns4 ) ? mouseX + offX
                            : mouseX + offX + "px";

  	if(( mouseY + offY + tpHt ) > winHt )
	  	tipcss.top = ( ns4 ) ? winHt - ( tpHt + offY )
                           : winHt - ( tpHt + offY ) + "px";
  	else
      tipcss.top = ( ns4 ) ? mouseY + offY
                           : mouseY + offY + "px";

	  if( !tipFollowMouse )
      t1 = setTimeout( "tipcss.visibility='visible'", 100 );
  }

  function hideTip()
  {
  	if( !tooltip ) return;
	  t2 = setTimeout( "tipcss.visibility='hidden'", 100 );
  	tipOn = false;
  }






