////////////////////////////////////////////////////////////////////////////////////
// CONFIGURATION
////////////////////////////////////////////////////////////////////////////////////

// Main background color (the large area)
	if (typeof fcolor == 'undefined') { var fcolor = "#99FF99";}

// Border color and color of caption
	if (typeof backcolor == 'undefined') { var backcolor = "#336600";}

// Text color
	if (typeof textcolor == 'undefined') { var textcolor = "#000000";}
	
// Color of the caption text
	if (typeof capcolor == 'undefined') { var capcolor = "#FFFFFF";}

// Color of "Close" when using Sticky
	if (typeof closecolor == 'undefined') { var closecolor = "#9999FF";}

// Width of the popups in pixels
	if (typeof width == 'undefined') { var width = "300";}

// How thick the border should be in pixels
// 1-3 pixels is typical
	if (typeof border == 'undefined') { var border = "3";}

// How many pixels to the right/left of the cursor to show the popup
	if (typeof offsetx == 'undefined') { var offsetx = 10;}

// How many pixels to the below the cursor to show the popup
	if (typeof offsety == 'undefined') { var offsety = 20;}

////////////////////////////////////////////////////////////////////////////////////
// END CONFIGURATION
////////////////////////////////////////////////////////////////////////////////////

ns4 = (document.layers)? true : false;
ie4 = (document.all)? true : false;

// Microsoft Stupidity Check.
if (ie4) {
//classes IE6 same as IE5 for the purposes of variable setting
	if (navigator.userAgent.indexOf('MSIE 5')>0 ||navigator.userAgent.indexOf('MSIE 6')>0) {
		ie5 = true;
	} else {
		ie5 = false; }
} else {
	ie5 = false;
}

var x = 0;
var y = 0;
var snow = 0;
var sw = 0;
var cnt = 0;
var dir = 1;
var tr = 1;
var hMob = 1;

if ( (ns4) || (ie4) ) {
	if (ns4) over = document.popupLayer
	if (ie4) over = popupLayer.style
	document.onmousemove = mouseMove
	if (ns4) document.captureEvents(Event.MOUSEMOVE)
}

// Public functions to be used on pages.

// Clears popups if appropriate
function clearPopup() {
	if ( cnt >= 1 ) { sw = 0 };
	if ( (ns4) || (ie4) ) {
		if ( sw == 0 ) {
			snow = 0;
			hideObject(over);
		} else {
			cnt++;
		}
	}
        hMob = 1;
}

// Simple popup
function winHover(d,text,image1)
{
	txt = "<TABLE WIDTH="+width+" BORDER=0 CELLPADDING="+border+" CELLSPACING=0 BGCOLOR=\""+backcolor+"\"><TR><TD><TABLE WIDTH=300 BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=\""+fcolor+"\"><TR><TD width=200><FONT FACE=\"Arial,Helvetica\" COLOR=\""+textcolor+"\" SIZE=\"2\">"+text+"</FONT></TD><td width=100>"
	img = "<img name=image1 border=0 src="+image1+" width=100 height=92></td></TR></TABLE></TD></TR></TABLE>"

	layerWrite(txt,img);

        if ( d == 'fixed' )
        {
               	dir = 'left';
                hMob = 0;
        }
        else
        {
                dir = d;
        }
	
        disp();
}


// Non public functions. These are called by other functions etc.

// Position and show popup
function disp()
{
    if ( (ns4 || ie4) && snow==0) 
    {
        switch ( dir )
        {
            case 'center':
                moveTo(over,x+offsetx-(width/2),y+offsety);
            break;
            case 'right':
                moveTo(over,x+offsetx,y+offsety);
            break;
            case 'left':
                moveTo(over,x-offsetx-width,y+offsety);
            break;
        }
        showObject(over);
        snow = 1;
    }
}

// Respond to mousemove event
function mouseMove(e)
{
    if (ns4) {x=e.pageX; y=e.pageY;}
    if (ie4) {x=event.x; y=event.y;}
    if (ie5) {x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}
    if (snow) {
        switch ( dir )
        {
            case 'center':
                moveTo(over,x+offsetx-(width/2),y+offsety);
            break;
            case 'right':
                moveTo(over,x+offsetx,y+offsety);
            break;
            case 'left':
                moveTo(over,x-offsetx-width,y+offsety);
            break;
        }
    }
}

// Move a layer
function moveTo(obj,xL,yL) {

    if ( hMob )
    {
        if ( ns4 && parseInt(xL) + parseInt(width) > window.pageXOffset + window.innerWidth )
            xL = window.pageXOffset + window.innerWidth - width;
        if ( ie4 && parseInt(xL) + parseInt(width) > document.body.scrollLeft + document.body.clientWidth )
            xL = document.body.scrollLeft + document.body.clientWidth - width;
        if ( ie5 && parseInt(xL) + parseInt(width) > document.body.scrollLeft + document.body.clientWidth )
            xL = document.body.scrollLeft + document.body.clientWidth - width;
    }
    else
    {
        
        if ( document.layers )
            xL = window.pageXOffset + 20;
        if ( document.all )
            xL = document.body.scrollLeft + 20;
    }
    
    if ( document.all )
    {
        var popupHeight = document.all["popupLayer"].clientHeight;
        
        if ( parseInt(yL) + parseInt(popupHeight) > document.body.scrollTop + document.body.clientHeight )
            yL = document.body.scrollTop + document.body.clientHeight - popupHeight;
    }

    obj.left = xL;
    obj.top = yL;
}

// Writes to a layer
function layerWrite(txt,img) {
			result = txt + img
        if (ns4) {
                var lyr = document.popupLayer.document
                lyr.write(result)
               
                lyr.close()
        }
        else if (ie4) document.all["popupLayer"].innerHTML = result
}

// Make an object visible
function showObject(obj) {
        if (ns4) obj.visibility = "show"
        else if (ie4) obj.visibility = "visible"
}

// Hides an object
function hideObject(obj) {
        if (ns4) obj.visibility = "hide"
        else if (ie4) obj.visibility = "hidden"
}

