function changePopup (level) {
    tree_shadow = document.form0.tree_shadow.value;
    treeShadArr = tree_shadow.split("|");
    Lev = level;
    Lev++;
    above = level;
    above--;
    popup = eval("document.form0.level" + level);
    popupBelow = eval("document.form0.level" + Lev);
    //var nextLev = popup.options[popup.selectedIndex].value;
    nextLevArr = new Array;
    indexArr = new Array;
    var a = 0;
    for (n=0; n<popup.options.length; n++) {
        if(popup.options[n].selected) {
            nextLevArr[a] = popup.options[n].value;
            indexArr[a++] = n;
        }
    }
    treeShadArr[level-1] = indexArr.join(',');

    while (level < 4) {
        level++;
        allBelow = eval("document.form0.level" + level);
        if(typeof allBelow != 'undefined') {
            while (allBelow.options.length > 0) {
                allBelow.options[allBelow.options.length-1] = null;
            }
            allBelow.options[0] = new Option('--- NONE ---','NULL');
            allBelow.selectedIndex = 0;
        }
        treeShadArr[level] = 0;
    }
    var m = 0;
    for (var l=0; l<nextLevArr.length; l++) {
        var selArray,selAbbr;
        nextLev = nextLevArr[l];
        if (nextLev != "" && exist.indexOf(",val" + nextLev + ",") >= 0) {
            selArray = eval("val" + nextLev);
            selAbbr = eval("key" + nextLev);
            if (typeof popupBelow != 'undefined') {
                for (var i=0; i < selArray.length; i++) {
                    if (popupBelow.options.length < 2 || selAbbr[i].search(/\d+$/) != -1)
                        popupBelow.options[m++] = new Option(selArray[i],selAbbr[i]);
                }
                popupBelow.selectedIndex = 0;
            }
        }
    }
    document.form0.tree_shadow.value = treeShadArr.join("|");
    if ( navigator.appName == 'Netscape') {
        if (parseInt(navigator.appVersion) < 4) {
            window.history.go(0);
        }
        else if ((navigator.platform == 'Win32' || navigator.platform == 'Win16') && parseInt(navigator.appVersion) < 5) {
            window.history.go(0);
        }
    }
}

function initTree() {
    var trShadArr = new Array;
    var idxArr = new Array;
    if (typeof document.form0.tree_shadow != 'undefined') {
        tree_shadow = document.form0.tree_shadow.value;
        trShadArr = tree_shadow.split("|");
    }
    if (false) {
//    if ( navigator.appName != 'Netscape' && typeof document.form0.level2 != 'undefined' && document.form0["level2"].selectedIndex ==-1) {
        for (l=1; l<=4; l++) {
            if (typeof document.form0["level" + l] == 'undefined') return;
            if (typeof trShadArr[l-1] == 'undefined') continue;
            indexes = trShadArr[l-1];
            if (indexes.indexOf(',') > 0)
                idxArr = indexes.split(',');
            else 
                idxArr[0] = indexes;
            if (typeof document.form0.level1 != 'undefined' && idxArr.length > 0) {
                for (i=0; i<idxArr.length; i++) {
                    if (typeof idxArr[i] != 'undefined' && typeof document.form0["level" + l] != 'undefined') {
                        document.form0["level" + l][idxArr[i]].selected = true;
                    }
                }
                changePopup(l);
            }
        }
    }
}


