//==========================================================
// MathResources Inc.
// Created on June 19, 2004
// Javascript menu functionality for www.mathresources.com
//==========================================================

    var cswmDetectedBrowser = 'IE5DHTML';
    var cswmMBZ = false;
    var cswmCSDS = false;
    var cswmOM = "document.kk.";
    var cswmBgCo = ".style.backgroundColor";
    var cswmCo = ".style.color";
    var cswmDi = ".style.display";
    var cswmTI = "";
    var cswmClkd = -1;
    var cswmPI = new Array();
    var cswmPx = new Array();
    var cswmPy = new Array();
    var cswmNH = new Array();
    var cswmPW = 0;
    var cswmPH = 0;
    var cswmSPnt = "";
    var cswmDir = "/products";
    var cswmMB = 0;
    var cswmSI = "";
    var cswmSE = new Object();
    var cswmSEL = 0;
    var cswmSET = 0;
    var cswmSEH = 0;
    var cswmSEW = 0;
    var cswmBW = 0;
    var cswmBH = 0;
    var cswmAR = 0;
    var cswmAB = 0;
    var cswmSLA = 0;
    var cswmSTA = 0;
    var cswmExIS = new Image();
	cswmExIS.src="";
    var cswmExdIS = new Image();
	cswmExdIS.src="";
    var cswmCTH = true;
    var cswmXOff = 0;
    var cswmYOff = 0;
    var cswmFP = 0;
    var cswmSH = false;
    var cswmSTI = 0;


	function getAll(id){
		if( document.getElementById){ //Netscape 7, Mozilla, Opera, IE 5+, Safari
			return document.getElementById(id);
		}else if( document.all){ //IE (pre 5)
			return document.all[id];
		}else if( document.layers){ //Netscape 4
			return document.layers[id];
		}else{
			return false;
		}
	}


	
    function cswmT(ms) {
        if (ms != "off") {
            if (cswmCTH != 0) {
                cswmTI = setTimeout("cswmHP(0);", ms);
            }
        } else {
            clearTimeout(cswmTI);
        }
    }

    function cswmST(l, g, i) {
        if (i) {
            cswmSTI = setTimeout("cswmHP(" + l + ");cswmSP(" + g + ",'" + i + "');", 350);
        } else if (l) {
            cswmSTI = setTimeout("cswmHP(" + l + ");", 350);
        } else {
            clearTimeout(cswmSTI);
        }
    }

    function cswmShow(id, srcid, relpos, offsetX, offsetY, fixedpos) {
        clearTimeout(cswmTI);
        if (cswmClkd != id) {
            cswmHP(0);
            cswmSI = srcid;
            cswmSPnt = relpos;
            cswmClkd = id;
            cswmDir = "right";
            if (getAll("cswmPopup" + id)) {
                if (offsetX) cswmXOff = offsetX;
                if (offsetY) cswmYOff = offsetY;
                if (fixedpos) cswmFP = fixedpos;
                cswmSP(id);
            }
        }
    }

    function cswmHide() {
        cswmTI = setTimeout("cswmHP(0);", 350);
    }

    function cswmHideNow() {
        cswmHP(0);
    }

    function cswmHiI(id, l) {
        var d;
        d = document;
        var item = getAll('cswmItem' + id);
        if (!item) {
            return;
        } else {
            item = getAll('cswmItem' + id);
            var expand = getAll('cswmExpand' + id);
            var expandIc = getAll('cswmExpandIc' + id);
            var icoOn = getAll('cswmIcoOn' + id);
        }
        var bgco;
        try {
            bgco = item.getAttribute('cswmSelColor');
        } catch (e) {
            bgco = false;
        }
        if (icoOn) {
            getAll('cswmIco' + id).style.display = 'none';
            icoOn.style.display = 'inline';
        }
        item.style.color = '#404040';
        expand.style.color = '#404040';
        if (bgco) {
            item.style.backgroundColor = bgco;
            expand.style.backgroundColor = bgco;
        } else {
            item.style.backgroundColor = '#AEAEAE';
            expand.style.backgroundColor = '#ffffff';
        }
        if (expandIc) {
            expandIc.src = cswmExdIS.src;
        }
        cswmNHM(id, l);
        cswmNH[l - 1] = id;
    }

    function cswmNHM(id, l) {
        if (cswmNH[l - 1] != id) {
            var count = l - 1;
            for (count = l - 1; count < cswmNH.length; count++) {
                cswmDiI(cswmNH[count]);
            }
            cswmNH.length = l;
        }
    }

    function cswmDiI(id) {
        var d;
        d = document;
        var item = getAll('cswmItem' + id);
        if (!item) {
            return;
        } else {
            item = getAll('cswmItem' + id);
            var expand = getAll('cswmExpand' + id);
            var expandIc = getAll('cswmExpandIc' + id);
            var icoOn = getAll('cswmIcoOn' + id);
        }
        var bgco;
        try {
            bgco = item.getAttribute('cswmUnSelColor');
        } catch (e) {
            bgco = false;
        }
        if (icoOn) {
            getAll('cswmIco' + id).style.display = 'inline';
            icoOn.style.display = 'none';
        }
        item.style.color = '#ffffff';
        expand.style.color = '#ffffff';
        if (bgco) {
            item.style.backgroundColor = bgco;
            expand.style.backgroundColor = bgco;
        } else {
            item.style.backgroundColor = '404040';
            expand.style.backgroundColor = '404040';
        }
        if (expandIc) {
            expandIc.src = cswmExIS.src;
        }
    }

    function cswmHideSelectBox(boolHide, arrSelectList) {
         if (navigator.platform != "MacPPC") { 
            if (navigator.userAgent.indexOf("MSIE 5.5") > 0) {
                return;
            }
            if (arrSelectList) {
                document.cswmSelects = new Array();
                var SelectID = new String();
                var iCount = 0;
                for (iCount = 0; iCount < arrSelectList.length; iCount++) {
                    SelectID = arrSelectList[iCount];
                    document.cswmSelects[iCount] = getAll(SelectID);
                }
            }
            if (!document.cswmSelects) {
                document.cswmSelects = new Array();
            }
            if (boolHide == true && !cswmSH) {
                document.cswmSelects = new Array();
                var iCount = 0;
                var iCount2 = 0;
                var Selects = document.getElementsByTagName("select");
                for (iCount = 0; iCount < Selects.length; iCount++) {
                    if (Selects[iCount].style.visibility != "hidden") {
                        document.cswmSelects[iCount2] = Selects[iCount];
                        iCount2++;
                    }
                }
            }
            var iCount = 0;
            if (boolHide == true) {
                for (iCount = 0; iCount < document.cswmSelects.length; iCount++) {
                    document.cswmSelects[iCount].style.visibility = "hidden";
                }
                cswmSH = true;
            }
            if (boolHide == false) {
                for (iCount = 0; iCount < document.cswmSelects.length; iCount++) {
                    document.cswmSelects[iCount].style.visibility = "visible";
                }
                cswmSH = false;
            }
         }
    }

    function cswmSP(id, itemid) {
	
        if ((navigator.platform == "MacPPC") && (navigator.appName != "Netscape")) {
		/* Note: Safari & Netscape (both with appName = Netscape) do not need this, & it 
			causes the menus not to work in Safari */
		
            getAll("cswmPopup" + id).style.display = "block";
            getAll("cswmPopup" + id).style.left = 0;
            getAll("cswmPopup" + id).style.top = 0;
            var MacLeftOffset = getAll("cswmPopup" + id).offsetLeft;
            var MacTopOffset = getAll("cswmPopup" + id).offsetTop;
        }
        if (!itemid) {
            if (cswmFP) {
                cswmSEL = cswmXOff;
                cswmSET = cswmYOff;
                cswmSEH = 1;
                cswmSEW = 1;
                cswmFP = 0;
            } else {
                if (!getAll(cswmSI)) {
                    return;
                }
                cswmSE = new Object(getAll(cswmSI));
                var cswmPrO = cswmSE;
                var cswmPrT = "";
                cswmSEL = cswmSE.offsetLeft + cswmXOff;
                cswmSET = cswmSE.offsetTop + cswmYOff;
                cswmSEH = cswmSE.offsetHeight;
                cswmSEW = cswmSE.offsetWidth;
                while (cswmPrT != "BODY") {
                    cswmPrO = cswmPrO.offsetParent;
                    if (cswmPrO.style.position == 'absolute') {
                        break;
                    }
                    cswmSEL += cswmPrO.offsetLeft;
                    cswmSET += cswmPrO.offsetTop;
                    cswmPrT = cswmPrO.tagName;
                }
            }
            getAll("cswmPopup" + id).style.display = "block";
            cswmPW = getAll("cswmPopup" + id).clientWidth;
            cswmPH = getAll("cswmPopup" + id).clientHeight;
            cswmBW = document.body.clientWidth;
            cswmBH = document.body.clientHeight;
            cswmSLA = document.body.scrollLeft;
            cswmSTA = document.body.scrollTop;
            switch (cswmSPnt) {
                case "above":
                    cswmPx[cswmPx.length] = cswmSEL;
                    cswmPy[cswmPy.length] = cswmSET - cswmPH;
                    cswmCA();
                    cswmCR();
                    break;
                case "below":
                    cswmPx[cswmPx.length] = cswmSEL;
                    cswmPy[cswmPy.length] = cswmSET + cswmSEH;
                    cswmCB();
                    cswmCR();
                    break;
                case "right":
                    cswmPx[cswmPx.length] = cswmSEL + cswmSEW;
                    cswmPy[cswmPy.length] = cswmSET;
                    cswmCR();
                    cswmCB();
                    break;
                case "left":
                    cswmPx[cswmPx.length] = cswmSEL - cswmPW;
                    cswmPy[cswmPy.length] = cswmSET;
                    cswmCL();
                    cswmCB();
                    cswmDir = "left";
                    break;
            }
            cswmXOff = 0;
            cswmYOff = 0;
            getAll("cswmPopup" + id).style.left = cswmPx[cswmPx.length - 1];
            getAll("cswmPopup" + id).style.top = cswmPy[cswmPy.length - 1];
            cswmPI[cswmPI.length] = id;
        } else {
            var d;
            d = document;
            cswmPx[cswmPx.length] = getAll("cswmPopup" + cswmPI[cswmPI.length - 1]).clientWidth + cswmPx[cswmPx.length - 1] - 4;
            var szPrE = "";
            if (getAll("cswmItem" + itemid).parentElement.offsetTop == 0) {
                
					if (navigator.platform == "MacPPC" && navigator.appName != "Netscape") {
                    /* Note: Safari & Netscape (both with appName = Netscape) do not need this, & it 
							causes the menus not to work in Safari */
						var szPrE = "parentElement.parentElement.";
                
					} else 
if (getAll("cswmItem" + itemid).parentElement.parentElement.parentElement.parentElement.className != "cswmPopupBox") {
                    var szPrE = "parentElement.parentElement.parentElement.";
                }
            }
            cswmPy[cswmPy.length] = eval("getAll(\"cswmItem" + itemid + "\").parentElement." + szPrE + "offsetTop") + cswmPy[cswmPy.length - 1];
            getAll("cswmPopup" + id).style.display = "block";
            cswmPW = getAll("cswmPopup" + id).clientWidth;
            cswmPH = getAll("cswmPopup" + id).clientHeight;
            var cswmPrW = getAll("cswmPopup" + cswmPI[cswmPI.length - 1]).clientWidth;
            cswmAR = cswmBW - cswmPx[cswmPx.length - 1] + cswmSLA;
            cswmAB = cswmBH - cswmPy[cswmPy.length - 1] + cswmSTA;
            if (cswmPx[cswmPx.length - 2] == cswmSLA) {
                cswmDir = "right";
            }
            if ((cswmAR < cswmPW) || (cswmDir == "left")) {
                cswmMB = (cswmPx[cswmPx.length - 1] - cswmPW - cswmPrW) + 8;
                if ((cswmMB >= 0) && (cswmMB > cswmSLA)) {
                    cswmDir = "left";
                } else {
                    cswmMB = cswmSLA;
                }
                cswmPx[cswmPx.length - 1] = cswmMB;
            }
            if (cswmAB < cswmPH) {
                cswmMB = cswmPy[cswmPy.length - 1] - (cswmPH - cswmAB);
                if (cswmMB < cswmSTA) {
                    cswmMB = cswmSTA;
                }
                cswmPy[cswmPy.length - 1] = cswmMB;
            }
            getAll("cswmPopup" + id).style.left = cswmPx[cswmPx.length - 1];
            getAll("cswmPopup" + id).style.top = cswmPy[cswmPy.length - 1];
            cswmPI[cswmPI.length] = id;
        }
        if (navigator.platform == "MacPPC" && navigator.appName != "Netscape") {
			/* Note: Safari & Netscape (both with appName = Netscape) do not need this, & it 
         causes the menus not to work in Safari */
        
			 getAll("cswmPopup" + id).style.left -= MacLeftOffset;
            getAll("cswmPopup" + id).style.top -= MacTopOffset;
        }
        if (navigator.platform != 'MacPPC') {
            if (navigator.userAgent.indexOf('MSIE 5.0') <= 0) {
                cswmIFSH(id);
            }
        }
    }

    function cswmHP(level) {
        if (cswmClkd == -1) {
            return false;
        } else if (level == 0) {
            clearTimeout(cswmSTI);
            cswmClkd = -1;
            var id = cswmPI[0];
            var count = 0;
            for (count = 0; count < cswmNH.length; count++) {
                cswmDiI(cswmNH[count]);
            }
            cswmNH.length = 0;
        }
        var count = level;
        for (count = level; count < cswmPI.length; count++) {
            getAll("cswmPopup" + cswmPI[count]).style.display = "none";
            if (getAll('cswmIFrame' + cswmPI[count])) {
                getAll('cswmIFrame' + cswmPI[count]).style.display = 'none';
            }
        }
        cswmPI.length = level;
        cswmPx.length = level;
        cswmPy.length = level;
    }

    function cswmIFSH(id) {
        if (document.readyState != 'complete') {
            return false;
        }
        var ifr;
        if (!getAll('cswmIFrame' + id)) {
            ifr = "<iframe src=\"javascript:false;\" id=\"cswmIFrame" + id + "\" scrolling=\"no\" frameborder=\"0\" style=\"position:absolute;top:0x;left:0px;z-index:998;display:none\"></iframe>";
            getAll('cswmPopup' + cswmPI[cswmPI.length - 1]).insertAdjacentHTML('beforeBegin', ifr);
        }
        if (getAll('cswmIFrame' + id)) {
            ifr = getAll('cswmIFrame' + id).style;
            ifr.top = cswmPy[cswmPy.length - 1];
            ifr.left = cswmPx[cswmPx.length - 1];
            ifr.width = cswmPW;
            ifr.height = cswmPH;
            ifr.filter = 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
            ifr.display = 'block';
        }
    }

    function cswmCR() {
        cswmAR = (cswmBW + cswmSLA) - cswmPx[cswmPx.length - 1];
        if (cswmAR < cswmPW) {
            if (cswmSPnt == "below" || cswmSPnt == "above") {
                cswmMB = cswmPx[cswmPx.length - 1] - (cswmPW - cswmAR);
                if (cswmMB < 0 || cswmMB < cswmSLA) {
                    cswmMB = cswmSLA;
                }
                cswmPx[cswmPx.length - 1] = cswmMB;
            } else {
                cswmMB = cswmSEL - cswmPW;
                if (cswmMB >= 0) {
                    cswmPx[cswmPx.length - 1] = cswmMB;
                }
            }
        }
    }

    function cswmCL() {
        if (cswmPx[cswmPx.length - 1] < (cswmSLA)) {
            cswmPx[cswmPx.length - 1] = cswmSEL + cswmSEW;
            cswmCR();
        }
    }

    function cswmCB() {
        cswmAB = (cswmBH + cswmSTA) - cswmPy[cswmPy.length - 1];
        if (cswmAB < cswmPH) {
            if (cswmSPnt == "below") {
                cswmMB = cswmPy[cswmPy.length - 1] - cswmPH - cswmSEH;
                if (cswmMB >= 0) {
                    cswmPy[cswmPy.length - 1] = cswmMB;
                }
            } else {
                cswmMB = cswmPy[cswmPy.length - 1] - (cswmPH - cswmAB);
                if (cswmMB < 0 || cswmMB < cswmSTA) {
                    cswmMB = cswmSTA;
                }
                cswmPy[cswmPy.length - 1] = cswmMB;
            }
        }
    }

    function cswmCA() {
        if (cswmPy[cswmPy.length - 1] < (cswmSTA)) {
            cswmPy[cswmPy.length - 1] = cswmSET + cswmSEH;
            cswmCB();
        }
    }

    function cswmShowInFrame(MenuID, x, y) {
        x += document.body.scrollLeft;
        y += document.body.scrollTop;
        cswmShow(MenuID, '', 'below', x, y, 1);
    }

    function cswmRefresh() {
    }

    function cswmMenuBarInit() {
    }

    function MM_preloadImages() { //v3.0
        var d = document;
        if (d.images) {
            if (!d.MM_p) d.MM_p = new Array();
            var i, j = d.MM_p.length, a = MM_preloadImages.arguments;
            for (i = 0; i < a.length; i++)
                if (a[i].indexOf("#") != 0) {
                    d.MM_p[j] = new Image;
                    d.MM_p[j++].src = a[i];
                }
        }
    }


function popwin(myPage) {
   var iMyWidth;
   var iMyHeight;
   //gets top and left positions based on user's resolution so hint window is centered.
   iMyWidth = (window.screen.width/2) - (275 + 10); //half the screen width minus half the new window width (plus 5 pixel borders).
   iMyHeight = (window.screen.height/2) - (150 + 50); //half the screen height minus half the new window height (plus title and status bars).
   var win = window.open(myPage + ".html",myPage,"height=300,width=550,resizable=no,left=" + iMyWidth + ",top=" + iMyHeight + ",screenX=" + iMyWidth + ",screenY=" + iMyHeight + ",scrollbars=yes");
   win.focus();
  }

    
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
        if (init == true) with(navigator)
        {
            if ((appName == "Netscape") && (parseInt(appVersion) == 4)) {
                document.MM_pgW = innerWidth;
                document.MM_pgH = innerHeight;
                onresize = MM_reloadPage;
            }
        }
        else if (innerWidth != document.MM_pgW || innerHeight != document.MM_pgH) location.reload();
    }

    MM_reloadPage(true);

    
    function MM_openBrWindow(theURL, winName, features) { //v2.0
        window.open(theURL, winName, features);
    }
    