var unself
if (_version != '1.2') {
    window.onerror = new Function("return true;");
}
        //var isNS = (navigator.appName == "Netscape");
	var isIE = (document.all);
	var isNS = (document.layers);
	var isNS6 = (document.getElementById&&!document.all);
        var isMacIE = ( (navigator.userAgent.indexOf("IE 4") > -1) && (navigator.userAgent.indexOf("Mac")  > -1) );
	var layerRef,styleRef;
	if (isNS) {
            layerRef = 'document';
	    styleRef = '';
	}
	else if (isNS6) {
	    layerRef = 'document.getElementById';
	    styleRef = '.style';
	}
	else {
	    layerRef = 'document.all';
            styleRef = '.style';
	}
        var isDynamic = ( (document.layers && document.layers['layerTest']) || (document.all && document.all['layerTest']) || (document.getElementById && document.getElementById('layerTest')));

function getXCoord(imgID) {
        if (isNS || isNS6) xPos = document.images[imgID].x;
        else xPos = getIEXCoord(imgID);
        return xPos;
}
function getYCoord(imgID) {
  if (isNS || isNS6) yPos = 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;
}

var activeMenu = 0;
function activateMenu(menuLayerRef, imageName, left, top) {
var lightsout
    if (isDynamic) {
        if (activeMenu) {
			turnOff();
			clearTimeout(turnOff());
		}
        menuID = "menu" + menuLayerRef;
        activeMenu = menuLayerRef;
        if (isNS) {
            document[menuID].left = getXCoord(imageName) + left;
            document[menuID].top = getYCoord(imageName) + top;
        } 
	else if (isIE) {
            document.all[menuID].style.pixelLeft = getXCoord(imageName) + left;
            document.all[menuID].style.pixelTop = getYCoord(imageName) + top;
        }
	else if (isNS6) {
	    document.getElementById(menuID).style.left = getXCoord(imageName) + left;
	    document.getElementById(menuID).style.top = getYCoord(imageName) + top;
	}
        showMenu(menuID, left, top);
    }
}
function showMenu(layerID, left, top) {
    if (isNS6) {
	eval(layerRef + '("' + layerID + '")' + styleRef + '.visibility = "visible"');
    }
    else {
    eval(layerRef + '["' + layerID + '"]' + styleRef + '.visibility = "visible"');
    }
    timer(1);
}
function hideMenu(layerID) {
    if (isNS6) {
	eval(layerRef + '("' + layerID + '")' + styleRef + '.visibility = "hidden"');
    }
    else {
	eval(layerRef + '["' + layerID + '"]' + styleRef + '.visibility = "hidden"');
    }
}
// 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()', 50);
    }
if (offon ==1)	{
	clearTimeout(unself);
	}
}
