function ConnectedSelect(selIdList){
    var defval = new Array(); // 追加
    for(var i=0;selIdList[i];i++) {
        var obj = document.getElementById(selIdList[i]);
        defval[i] = obj.options[obj.selectedIndex].value; // 追加

        var CS = new Object();
        if(i){
            CS.node=document.createElement('select');
            var GR = obj.getElementsByTagName('optgroup');
            while(GR[0]) {
                CS.node.appendChild(GR[0].cloneNode(true));
                obj.removeChild(GR[0]);
            }
        }
        if(selIdList[i+1]) {
            CS.nextSelect = document.getElementById(selIdList[i+1]);
            obj.onchange = function(){ConnectedSelectEnabledSelect(this)};
        } else {
            CS.nextSelect = false;
        }
        obj.ConnectedSelect = CS;
    }
  for(var i=0;selIdList[i];i++) {
    var obj = document.getElementById(selIdList[i]);
    if(selIdList[i+1]) {
      obj.onchange();
    }
    // ↓追加
    for(var j=0;j<obj.options.length; j++) {
      if(obj.options[j].value == defval[i]) {
        obj.selectedIndex = j;
        ConnectedSelectEnabledSelect(obj)
        break;
      }
    }
  }
}

function ConnectedSelectEnabledSelect(oSel){
    var oVal = oSel.options[oSel.selectedIndex].value;
    if(oVal) {
        if(oSel.ConnectedSelect.nextSelect.options != undefined) {  // 追加
        
            while(oSel.ConnectedSelect.nextSelect.options[1]) {
              oSel.ConnectedSelect.nextSelect.remove(1);
            }
            var eF = false;
            for(var OG=oSel.ConnectedSelect.nextSelect.ConnectedSelect.node.firstChild;OG;OG=OG.nextSibling) {
                if(OG.label == oVal) {
                    eF = true;
                    for(var OP=OG.firstChild;OP;OP=OP.nextSibling)
                        oSel.ConnectedSelect.nextSelect.appendChild(OP.cloneNode(true));
                    break;
                }
            }
            oSel.ConnectedSelect.nextSelect.disabled = !eF;
        } else {
            oSel.ConnectedSelect.nextSelect.selectedIndex = 0;
            oSel.ConnectedSelect.nextSelect.disabled = true;
        }
    }
    if(oSel.ConnectedSelect.nextSelect.onchange)oSel.ConnectedSelect.nextSelect.onchange();
}


