
function ConnectedSelect(selIdList){
    var selectedIndex = new Array(selIdList.length);
    for(var i=0;selIdList[i];i++) {
        var CS = new Object();
        var obj = document.getElementById(selIdList[i]);
        selectedIndex[i]=obj.options[obj.selectedIndex].value;
        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]);
            }
            obj.disabled = true;
        }
        if(selIdList[i+1]) {
            CS.nextSelect = document.getElementById(selIdList[i+1]);
            obj.onchange = function(){ConnectedSelectEnabledSelect(this)};
        } else {
            CS.nextSelect = false;
        }
        obj.ConnectedSelect = CS;
    }
    ConnectedSelectEnabledSelect(document.getElementById(selIdList[0]),selectedIndex[1]);
}

function ConnectedSelectEnabledSelect(oSel,selectedVal){
    var oVal = oSel.options[oSel.selectedIndex].value;
    
    if(oVal) {
        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){
                    var cloneOP = OP.cloneNode(true);
                    if(cloneOP.nodeName == "OPTION"){
                        if(cloneOP.getAttribute("value") == selectedVal){
                            cloneOP.setAttribute("selected",true);
                        }
                    }
                    oSel.ConnectedSelect.nextSelect.appendChild(cloneOP);
                }
                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();
    $(oSel.ConnectedSelect.nextSelect).trigger("change");
}




