/*****************************************
Antics Popu Up Menu Code 2
(c) 2004 Antics Onine, Inc.
Revised 1/14/06 KW -- moves styles from js file into stylesheet
Revised 1/13/06 KW - supports IE6 scrolling document.documentElement.scrollTop
Revised 6/8/05 KW - supports variable number of menu items
Revised 5/4/05 KW - Many cross platform fixes
*****************************************/

//******************************************
// Define Global Variables
//******************************************
var gWidth = 180;	// Width of the popup window in pixels (get it from stylesheet)
var gOffsetY = -10;	// Vertical offset for tip top position (to account for cursor)
var gOffsetX = 10;	// Horizontal offset for tip top position (places cursor inside popup)
var gID = 0;
var x = 0;
var y = 0;
var gObj = null;
var gVisible = false;
var gInterval = null;
var gDelay = .1;
var ns4 = document.layers;
var ie4 = document.all;
var nn6 = document.getElementById && !document.all;


//******************************************
// Functions
//******************************************
function popOn(which, e) {
	clearInterval(gInterval);
	gInterval = null;
	
	if( gVisible && gObj != which) popMenuOff();
	
	gObj = which;
	if( e != null && !gVisible ) setMouseCoords(e);
	popMenuOn();
}

function popMenuOn() {
	var offsetX = gOffsetX;
	var pageWidth = 0;
	
	if( ns4 )
		pageWidth = document.width;
	else
		pageWidth = document.body.clientWidth;
	
	if( !isNaN(pageWidth) ) {
		if( (x + gWidth) >= pageWidth ) {
			offsetX = gWidth - (pageWidth - x) + 20;
		}
	}
	
	if( ns4 ){
		document[gObj].top = (y+gOffsetY);
		document[gObj].left = (x - offsetX);
		document[gObj].visibility = "show";
	}
	else if( nn6 ) {
		document.getElementById(gObj).style.top = (y + gOffsetY) + "px";
		document.getElementById(gObj).style.left = (x - offsetX) + "px";		
		document.getElementById(gObj).style.visibility = "visible";
	}
	else { // ie4
		document.getElementById(gObj).style.top = (y + gOffsetY) + "px";
		document.getElementById(gObj).style.left = (x - offsetX) + "px";		
		document.all[gObj].style.visibility = "visible";
	}
	
	gVisible = true;
}

function popOff(who) {
	var delay = gDelay * 1000;
	gInterval = setTimeout("popMenuOff()",delay);
}

function popMenuOff() {
	if( ns4 ) {
		document[gObj].visibility = "hide";
	}
	else if( nn6 ) {
		document.getElementById(gObj).style.visibility = "hidden";
	}
	else { // ie4
		document.all[gObj].style.visibility = "hidden";
	}
	gVisible = false;
	clearInterval(gInterval);
	gInterval = null;
}


function setMouseCoords(e) {
	if( ns4 ) {
		x = e.pageX;
		y = e.pageY;
	}
	else if( nn6 ) {
		x = e.pageX;
		y = e.pageY;
	}
	else { // ie
		if ( document.documentElement && document.documentElement.scrollTop ) {
			x = e.clientX + document.documentElement.scrollLeft;
			y = e.clientY + document.documentElement.scrollTop;
		}
		else if (document.body) {
			x = e.clientX + document.body.scrollLeft;
			y = e.clientY + document.body.scrollTop;
		}
		else {
			x = e.clientX;
			y = e.clientY;
		}
	}
}


// Revised 3/1/05 to add new function to default scroll bars on