////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Change Log////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//// 5/28/02 - kw - add functionality to allow nav to work with Netscape 6
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var unself

		if (_version != '1.2') {
		    window.onerror = new Function("return true;");
			}
        /* start kw 5/28/02 */
        var isNS6 = (navigator.userAgent.indexOf("Netscape6") >= -1)
        /* end kw 5/28/02 */
        var isNS = ((navigator.appName == "Netscape") || (navigator.userAgent.indexOf("Netscape6") > -1))
        var isMacIE = ((navigator.userAgent.indexOf("IE 4") > -1) && (navigator.userAgent.indexOf("Mac")  >= -1) );
        var layerRef = (isNS) ? "document" : "document.all";
        var styleRef = (isNS) ? "" : ".style";
        var isDynamic 
        if (!(navigator.userAgent.indexOf("Netscape6") >= -1))
			isDynamic = ( ((document.layers && document.layers['layerTest']) || (document.all && document.all['layerTest'])) && !isMacIE );
		else 
			isDynamic = true
		
			
        var isFrames;
        if(parent.frames[0])
        {
			isFrames = 1
		}
		else
		{
			isFrames = 0
		}


function getXCoord(imgID) {
if(isFrames)
{
	return getFrameXCoord(imgID);
}
        if (isNS) xPos = document.images[imgID].x;
        else xPos = getIEXCoord(imgID)
        return xPos;
		}

function getYCoord(imgID) {
if(isFrames)
{
	return getFrameYCoord(imgID);
}
  if (isNS) yPos = document.images[imgID].y;
  else yPos = getIEYCoord(imgID);
  return yPos;
}

function getFrameXCoord(imgID) {
        if (isNS) xPos = parent.leftNav.document.images[imgID].x;
        else xPos = getIEXCoord(imgID)
        return xPos;
		}

function getFrameYCoord(imgID) {
  if (isNS) yPos = parent.leftNav.document.images[imgID].y;
  else yPos = getIEYCoord(imgID);
  return yPos;
}


function getIEXCoord(imgElem) {
        xPos = eval(imgElem).offsetLeft;
        tempEl = eval(imgElem).offsetParent;
        while (tempEl != null) {
                xPos += tempEl.offsetLeft;
                tempEl = tempEl.offsetParent;
        }
        return xPos;
}

function getIEYCoord(imgElem) {
        yPos = eval(imgElem).offsetTop;
        tempEl = eval(imgElem).offsetParent;
        while (tempEl != null) {
                yPos += tempEl.offsetTop;
                tempEl = tempEl.offsetParent;
        }
        return yPos;
}

function getFrameIEXCoord(imgElem) {
        xPos = eval('parent.leftNav.'+ imgElem).offsetLeft;
        tempEl = eval('parent.leftNav.'+ imgElem).offsetParent;
        while (tempEl != null) {
                xPos += tempEl.offsetLeft;
                tempEl = tempEl.offsetParent;
        }
        return xPos;
}

function getFrameIEYCoord(imgElem) {
        yPos = eval('parent.leftNav.'+ imgElem).offsetTop;
        tempEl = eval('parent.leftNav.'+ imgElem).offsetParent;
        while (tempEl != null) {
                yPos += tempEl.offsetTop;
                tempEl = tempEl.offsetParent;
        }
        return yPos;
}


var activeMenu = 0;

function activateMenu(menuLayerRef, imageName, left, top) {
if(isFrames)
{
	activateFrameMenu(menuLayerRef, imageName, left, top);
	return;
}
var lightsout

    if (isDynamic && activeMenu != menuLayerRef) {
        if (activeMenu) hideMenu("menu" + activeMenu); 
        menuID = "menu" + menuLayerRef;
        activeMenu = menuLayerRef;
		
		/* start kw 5/28/02 */
        if (isNS) {
			if (isNS6){
				divel=document.getElementById(menuID);
				divel.style.left =  getXCoord(imageName) + left;
				divel.style.top =  getYCoord(imageName) + top;
			}
			else {
				document[menuID].left =  getXCoord(imageName) + left;
				document[menuID].top =  getYCoord(imageName) + top;
			}
            
        } 
        /* end kw 5/28/02 */
        else {
            document.all[menuID].style.pixelLeft =  getXCoord(imageName) + left;
            document.all[menuID].style.pixelTop =  getYCoord(imageName) + top;
        }
        showMenu(menuID, left, top)
    }
}

function activateFrameMenu(menuLayerRef, imageName, left, top) {
var lightsout
    if (isDynamic && activeMenu != menuLayerRef) {
        if (activeMenu) hideMenu("menu" + activeMenu); 
        menuID = "menu" + menuLayerRef;
        activeMenu = menuLayerRef;

//for (i=0; i<window.parent.frames.length; i++) 
  //  alert("Frame #" + i + " contains: " + window.parent.frames[i].location);        
        
        if (isNS) {
			/* start kw 5/28/02 */
			if (isNS6){
				divel = window.parent.frames["content"].document.getElementById(menuID);
				divel.style.left = 0 + window.parent.frames["content"].window.pageXOffset;
				divel.style.top = window.parent.frames["content"].window.pageYOffset + getYCoord(imageName) + top;
			}
			else{
				window.parent.frames["content"].document[menuID].left = 0 + window.parent.frames["content"].pageXOffset;
				window.parent.frames["content"].document[menuID].top = window.parent.frames["content"].pageYOffset+ getYCoord(imageName) + top;
			}
			/* end kw 5/28/02 */
        } else {
			//alert(0 + window.parent.frames["content"].document.body.scrollLeft)
            window.parent.frames["content"].document.all[menuID].style.pixelLeft = 0 + window.parent.frames["content"].document.body.scrollLeft;
            window.parent.frames["content"].document.all[menuID].style.pixelTop = window.parent.frames["content"].document.body.scrollTop + getYCoord(imageName) + top;
        }
        	
        showMenu(menuID, left, top)
    }
}

function showMenu(layerID, left, top) {
	if(isFrames){
		showFrameMenu(layerID, left, top);
		return;
	}
	/* start kw 5/28/02 */
	if (isNS6){
		divel=document.getElementById(menuID);
		divel.style.visibility = "visible"
	}
	else{
		eval(layerRef + '["' + layerID + '"]' + 
		styleRef + '.visibility = "visible"');
	}
	/* end kw 5/28/02 */
}

function showFrameMenu(layerID, left, top) {
	/* start kw 5/28/02 */
	if (isNS6){
		divel=parent.frames["content"].document.getElementById(layerID);
		divel.style.visibility = "visible"
	}
	else{
		eval('parent.frames["content"].' + layerRef + '["' + layerID + '"]' + 
		styleRef + '.visibility = "visible"');
	}
	/* end kw 5/28/02 */
}
function hideMenu(layerID) {
if(isFrames)
{
hideFrameMenu(layerID);
return;
}
	/* start kw 5/28/02 */
	if (isNS6){
		divel=document.getElementById(menuID);
		divel.style.visibility = "hidden"	
	}
	else{
		eval(layerRef + '["' + layerID + '"]' + 
		styleRef + '.visibility = "hidden"');
	}
    /* end kw 5/28/02 */
}
function hideFrameMenu(layerID) {
	/* start kw 5/28/02 */
	if (isNS6){
		divel=parent.frames["content"].document.getElementById(menuID);
		divel.style.visibility = "hidden"	
	}
	else{
		eval('parent.frames["content"].'+ layerRef + '["' + layerID + '"]' + 
		styleRef + '.visibility = "hidden"');
	}
	/* end kw 5/28/02 */
}
// check if there's a menu active
function turnOff() {
    if (activeMenu) {
        menuID = "menu" + activeMenu;
        hideMenu(menuID);
        activeMenu = 0;
    }
}

// kills menu on clickup
function init() {
    if (isDynamic) {
        if (isNS) {
            document.captureEvents(Event.mouseup);
        }
        document.onmouseup = turnOff;
    }
}

// this function needs to be called from the sub menus DIV
function hideMe() {
    if (activeMenu) {
        menuID = "menu" + activeMenu;
        hideMenu(menuID);
        activeMenu = 0;
    }
}

// Work-around Netscape resize bug
if (isDynamic && isNS) {
    origWidth = innerWidth;
    origHeight = innerHeight;   
}
        
function reDo() {       
    if (innerWidth != origWidth || innerHeight != origHeight) {
        location.reload();
    }
}       

if (isDynamic && isNS) {
    onresize = reDo;
}

function timer(offon)  {
if (offon == 0)	{
    unself = setTimeout('turnOff()', 3000);
    }
if (offon ==1)	{
	clearTimeout(unself);
	}
}

