// Functions specific to the display of descriptor popups

var dispDelay;
var autoClose;

// Get the current mouse coordinates

var cursorX = 0;
var cursorY = 0;


if (navigator.appName == 'Netscape') {
    document.onmousemove = ns_getXY;
}
else {
    document.onmousemove = getXY;
}

function ns_getXY(e) {
    cursorX = e.clientX + document.body.scrollLeft;
	cursorY = e.clientY + document.body.scrollTop;
}

function getXY() {
    cursorX = event.x
	cursorY = event.y
}

// Descriptor functions

function showDes(layerID) {
	document.getElementById(layerID).style.zIndex = "5";
    document.getElementById(layerID).style.visibility = "visible";
    document.getElementById(layerID+"tbar").style.visibility = "visible";
    document.getElementById(layerID+"con").style.visibility = "visible";
}

function hideDes(layerID) {
	document.getElementById(layerID).style.zIndex = "0";
    document.getElementById(layerID).style.visibility = "hidden";
    document.getElementById(layerID+"tbar").style.visibility = "hidden";
    document.getElementById(layerID+"con").style.visibility = "hidden";
    document.getElementById(layerID).style.overflow = "auto";
    document.getElementById(layerID+"tbar").style.overflow = "auto";
    document.getElementById(layerID+"con").style.overflow = "auto";
    clearTimeout(dispDelay);
    clearTimeout(autoClose);
}

function desc(layerID) {

    var ttlDivHeight,tdivWidth;
    var cdivHeight,cdivWidth,wWidth,wHeight;
	var desTBar = layerID+"tbar";
	var desContent = layerID+"con";

    // Assess dimensions of browser content area for later calculation
    // of descriptor positioning
	if(self.innerWidth) {
	    wWidth = self.innerWidth;
		wHeight = self.innerHeight;
	}
		else if (document.documentElement && document.documentElement.clientWidth)
	{
		wWidth = document.documentElement.clientWidth;
		wHeight = document.documentElement.clientHeight;
	}

	else if (document.body) {
	    wWidth = document.body.clientWidth;
		wHeight = document.body.clientHeight;
	}


    // Set dimensions of the descriptor window
	if (navigator.appName == 'Netscape') {
		document.getElementById(desTBar).style.width="290px";
		document.getElementById(desTBar).style.padding="3px 5px 3px 5px";
		document.getElementById(desContent).style.width="290px";
	}
	else {
		document.getElementById(desTBar).style.width="294px";
		document.getElementById(desTBar).style.padding="3px 5px 3px 5px";
		document.getElementById(desContent).style.width="290px";
	}
	if (document.getElementById(desTBar).offsetHeight){
	    ttlDivHeight = document.getElementById(desTBar).offsetHeight
	    ttlDivWidth = document.getElementById(desTBar).offsetWidth
}
	else if (document.getElementById(desTBar).style.pixelHeight){
	    ttlDivHeight = document.getElementById(desTBar).style.pixelHeight
	    ttlDivWidth = document.getElementById(desTbar).style.pixelWidth
}
	document.getElementById(desContent).style.top = ttlDivHeight+"px";

	if (document.getElementById(desContent).offsetHeight){
	    cdivHeight = document.getElementById(desContent).offsetHeight
	    cdivWidth = document.getElementById(desContent).offsetWidth
	}
	else if (document.getElementById(desContent).style.pixelHeight){
	    cdivHeight = document.getElementById(desContent).style.pixelHeight
	    cdivWidth = document.getElementById(desContent).style.pixelWidth
	}
	if (navigator.appName == 'Netscape') {
		desHeight = (cdivHeight+(ttlDivHeight));
	}
	else {
		desHeight = (cdivHeight+(ttlDivHeight+6));
	}
    document.getElementById(layerID).style.height = desHeight+"px";

    // Figure coordinates, making sure descriptor is in visible window area.
	var topCoor = (cursorY+24);
	var leftCoor = (cursorX);
	if (navigator.appName == 'Netscape') {
		if( (topCoor+desHeight+22) > wHeight ){
	    	topCoor = (cursorY - (desHeight+2));
		}
	}
	else {
		if( (topCoor+desHeight+4) > wHeight ){
	    	topCoor = (cursorY - (desHeight+2));
		}
	}
	if( (leftCoor+cdivWidth) > wWidth ){
	    leftCoor = ((wWidth - cdivWidth) -30);
	}
	document.getElementById(layerID).style.left=leftCoor+"px";
    document.getElementById(layerID).style.top=topCoor+"px";
    document.getElementById(layerID).style.overflow = "auto";
    document.getElementById(layerID+"tbar").style.overflow = "auto";
    document.getElementById(layerID+"con").style.overflow = "auto";
    dispDelay = setTimeout('showDes("'+layerID+'")',1000);
    autoClose = setTimeout('hideDes("'+layerID+'")',20000);
}
