//  overLIB 2.22 --  Please leave this notice.
//  By Erik Bosrup (erik@bosrup.com)  Last modified 1999-03-31

// For cross browser compatibility
var ns4 = (document.layers)? true:false;
var ie4 = (document.all)? true:false;
var dom1 = (document.getElementById)? true:false;
var dom1event = (document.addEventListener)? true:false;
var DHTML = (dom1 || ie4 || ns4);

// Define colors & positions
var width = "250";
var border = "1";
var offsetx = -250;
var offsety = 30;

var fcolor = "#FFFFFF";
var backcolor = "#C1D2EE";
var textcolor = "#000000";
var capcolor = "#000000";
var closecolor = "#000000";

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

if (dom1) {
    over = document.getElementById("overDiv");
} else if (ns4) {
    over = document.overDiv;
} else if (ie4) {
    over = document.all.overDiv;
}

if (dom1event) {
    addEventListener("mousemove", mouseMove, true);
} else {
    if (DHTML)
        document.onmousemove = mouseMove;
    if (window.Event)
        document.captureEvents(Event.MOUSEMOVE);
}

// Public functions to be used on pages.

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

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

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

// Clears popups if appropriate
function nd() {
    if ( cnt >= 1 ) { sw = 0 };
    if ( sw == 0 ) {
        snow = 0;
        hideObject(over);
    } else {
        cnt++;
    }
}

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

// Caption popup
function dtc(d, text, title) {
    txt = "<TABLE WIDTH="+width+" BORDER=0 CELLPADDING="+border+" CELLSPACING=0 BGCOLOR=\""+backcolor+"\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0><TR><TD><SPAN ID=\"PTT\"><B><FONT COLOR=\""+capcolor+"\">"+title+"</FONT></B></SPAN></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();
}

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

// Moves the layer
function mouseMove(e) {
    if (dom1event || ns4) {
        x=e.pageX;
        y=e.pageY;
    } else {
        x=event.x;
        y=event.y;
    }

    if (snow) {
        if (dir == 2) { // Center
            moveTo(over,x+offsetx-(width/2),y+offsety);
        }
        if (dir == 1) { // Right
            moveTo(over,x+offsetx,y+offsety);
        }
        if (dir == 0) { // Left
            moveTo(over,x-offsetx-width,y+offsety);
        }
    }
}

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

// Writes to a layer
function layerWrite(txt) {
    if (ns4) {
        lyr = over.document
        lyr.write(txt)
        lyr.close()
    } else {
        over.innerHTML = txt
    }
	if (tr) { trk(); }
}

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

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

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

function trk() {
    tr = 0;
}
