// Main background color (the large area)
// Usually a bright color (white, yellow etc)
  if (typeof fcolor == 'undefined') { var fcolor = "#F5F5F5";}

// Border color and color of caption
// Usually a dark color (black, brown etc)
  if (typeof backcolor == 'undefined') { var backcolor = "#696969";}

// Text color
// Usually a dark color
  if (typeof textcolor == 'undefined') { var textcolor = "#000000";}

// Color of the caption text
// Usually a bright color
  if (typeof capcolor == 'undefined') { var capcolor = "#FFFFFF";}

// Color of "Close" when using Sticky
// Usually a semi-bright color
  if (typeof closecolor == 'undefined') { var closecolor = "#C0C0C0";}

// Width of the popups in pixels
// 100-300 pixels is typical
  if (typeof width == 'undefined') { var width = "200";}

// How thick the border should be in pixels
// 1-3 pixels is typical
  if (typeof border == 'undefined') { var border = "1";}

// How many pixels to the right/left of the cursor to show the popup
// Values between 3 and 12 are best
  if (typeof offsetx == 'undefined') { var offsetx = 80;}

// How many pixels to the below the cursor to show the popup
// Values between 3 and 12 are best
  if (typeof offsety == 'undefined') { var offsety = 0;}

////////////////////////////////////////////////////////////////////////////////////
// END CONFIGURATION
////////////////////////////////////////////////////////////////////////////////////

ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
ns6 = (!document.all && document.getElementById)? true:false

var x = 0;
var y = 0;
var snow = 0;
var sw = 0;
var cnt = 0;
var dir = 1;
var tr = 0;
var isFramed = 1;

if ( (ns4) || (ie4) || (ns6) )
        {
                if (ns4) over = document.overDiv
                if (ie4 || ns6) {
                        var overDiv = document.getElementById("overDiv");
                        over = overDiv.style;
                }
                document.onmousemove = mouseMove
                if (ns4) document.captureEvents(Event.MOUSEMOVE)
        }

var bDisp = 0;

// Public functions to be used on pages.

// Simple popup right
function drs(text) {
  dts(1,text);
}

// Caption popup right
function drc(text, title) {
  dtc(1,text,title);
}

// Sticky caption right
function src(text,title) {
  stc(1,text,title);
}

// Simple popup left
function dls(text) {
  dts(0,text);
}

// Caption popup left
function dlc(text, title) {
  dtc(0,text,title);
}

// Sticky caption left
function slc(text,title) {
  stc(0,text,title);
}

// Simple popup center
function pop(text) {
dts(2,text);
}

// Caption popup center
function dcc(text, title) {
  dtc(0,text,title);
}

// Sticky caption center
function scc(text,title) {
  stc(2,text,title);
}

// Clears popups if appropriate
function hid() {
  if ( cnt >= 1 ) { sw = 0 };
  if ( (ns4) || (ie4) || (ns6) ) {
    if ( sw == 0 ) {
      snow = 0;
      hideObject(over);
          bDisp = 0;
    } else {
      cnt++;
    }
  }
}

// Non public functions. These are called by other functions etc.

// Simple popup
function dts(d,text) {
  txt = "<table cellspacing='0' cellpadding='0' border='0'><tr><td><img src='overlib9.gif' width='7' height='12' alt='' border='0'><\/td><td background='overlib2.gif'><\/td><td><img src='overlib10.gif' width='7' height='12' alt='' border='0'><\/td><\/tr><tr><td background='overlib4.gif'><\/td><td bgcolor='#FFFFFF'> <FONT COLOR='#348A4A' SIZE='2' ><B>"+text+"</B></FONT><\/td><td background='overlib5.gif'><\/td><\/tr><tr><td><img src='overlib6.gif' width='7' height='7' alt='' border='0'><\/td><td background='overlib7.gif'><\/td><td><img src='overlib8.gif' width='7' height='7' alt='' border='0'><\/td><\/tr><\/table>"
  layerWrite(txt);
  dir = d;
  disp();
}

// Caption popup
function dtc(d,text, title) {
        var txt = '<table border=0 cellspacing=0 cellpadding=0 width=200 class=bgTb2>' +
                        '<tr><td colspan=3 bgcolor=#000000><img src="/img/px.gif" width=1 height=1></td></tr>' +
                        '<tr>' +
                        '<td bgcolor=#000000><img src="/img/px.gif" width=1 height=1></td>' +
                        '<td width=198>' +
                        '<table cellspacing=0 cellpadding=2 border=0>' +
                        '<tr>' +
                        '<td valign=middle><img src="/img/pop_arrow.gif" width=13 height=13 align=middle></td>' +
                        '<td valign=middle class=popTxt><b>' + title + '</b>&nbsp;</td>' +
                        '</tr>' +
                        '</table>' +
                        '</td>' +
                        '<td bgcolor=#000000><img src="/img/px.gif" width=1 height=1></td>' +
                        '</tr>' +
                        '<tr><td colspan=3 bgcolor=#000000><img src="/img/px.gif" width=1 height=1></td></tr>' +
                        '<tr>' +
                        '<td bgcolor=#000000><img src="/img/px.gif" width=1 height=1></td>' +
                        '<td bgcolor=#FFFFFF height=30 valign=top class=sTxt>&nbsp;' + text + '</td>' +
                        '<td bgcolor=#000000><img src="/img/px.gif" width=1 height=1></td>' +
                        '</tr>' +
                        '<tr><td colspan=3 bgcolor=#000000><img src="/img/px.gif" width=1 height=1></td></tr>' +
                        '</table>';

        layerWrite(txt);
        dir = d;
        disp();
}

// Sticky
function stc(d,text, title) {
  sw = 1;
  cnt = 0;
  txt = "<TABLE WIDTH="+width+" BORDER=0 CELLPADDING="+border+" CELLSPACING=0 BGCOLOR=\""+backcolor+"\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><SPAN ID=\"PTT\"><B><FONT COLOR=\""+capcolor+"\">"+title+"</FONT></B></SPAN></TD><TD ALIGN=RIGHT><A HREF=\"/\" onMouseOver=\"cClick();\" ID=\"PCL\"><FONT COLOR=\""+closecolor+"\">Close</FONT></A></TD></TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=\""+fcolor+"\"><TR><TD><SPAN ID=\"PST\"><FONT COLOR=\""+textcolor+"\">"+text+"</FONT><SPAN></TD></TR></TABLE></TD></TR></TABLE>"
  layerWrite(txt);
  dir = d;
  disp();
  snow = 0;
}

// Common calls
function disp() {
        if (snow == 0) {
                if (isFramed) {
                        if (dir == 2) moveTo(over,x+offsetx-(width/2),y+offsety); // Center
                        if (dir == 1) { // Right
                                if (x<400) moveTo(over,x+offsetx,y+offsety);
                            if (x>400) moveTo(over,x-width,y+offsety);
                        }
                        if (dir == 0) moveTo(over,x-offsetx-width,y+offsety); // Left
                }
                else moveTo(over,x+offsetx-(width/2),y+offsety);

                snow = 1;
                showObject(over);
                bDisp = 1;
        }
}

// Moves the layer
function mouseMove(e) {
        if (ns4 || ns6) {x=e.pageX; y=e.pageY}
        if (ie4) {x=event.clientX+document.body.scrollLeft; y=event.clientY+document.body.scrollTop};

        if (snow && !bDisp) {
                if (isFramed) {
                        if (x>=450 && x<=550) moveTo(over,x+offsetx-(width/2),y+offsety); // Center
                        if (x<400) moveTo(over,x+offsetx,y+offsety); // Right
                        if (x>400)  moveTo(over,x-width,y+offsety); // Left
                }
                else moveTo(over,x+offsetx-(width/2),y+offsety);
        }
}

// The Close onMouseOver function for Sticky
function cClick() {
  hideObject(over);
  sw=0;
}

// Writes to a layer
function layerWrite(txt) {
        if (ns4) {
                var lyr = document.overDiv.document
                lyr.write(txt)
                lyr.close()
        }
        else if (ie4) document.all["overDiv"].innerHTML = txt
                else if (ns6) document.getElementById("overDiv").innerHTML = txt;
}

// Make an object visible
function showObject(obj) {
        if (ns4) obj.visibility = "show"
        else if (ie4 || ns6) obj.visibility = "visible"
}

// Hides an object
function hideObject(obj) {
        if (ns4) obj.visibility = "hide"
        else if (ie4 || ns6) obj.visibility = "hidden"
}

// Move a layer
function moveTo(obj,xL,yL) {
      obj.left = xL
      obj.top = yL
}
