
function changeMcByFmc(obj, sCarId, sBcrumb){
    with(obj){
        var fmc_id = options[selectedIndex].value;
        var max_length = 0;
        removeSelectOption("mc");
        removeSelectOption("grade");
        if(fmc_id != 0){
            $.getJSON("http://ucar.autos.yahoo.co.jp/FmcMcGradeProxy.php", {car_id: sCarId, fmc: fmc_id, bcrumb: sBcrumb}, function(mc_list){
                for(var mc_id in mc_list){
                    addSelectOption(mc_id, mc_list[mc_id], "mc");
                    var tmp_length = mc_list[mc_id].length;
                    if(max_length < tmp_length){
                        max_length = tmp_length;
                    }
                }
                fixPullDownLength("mc", max_length);
            });
        }
    }
}

function changeGradeByMc(obj, sCarId, sBcrumb){
    with(obj){
         var mc_id = options[selectedIndex].value;
         with(document.getElementById("fmc")){
            var fmc_id = options[selectedIndex].value;
            var max_length = 0;
            removeSelectOption("grade");
            if(fmc_id != 0 && mc_id != 0){
                $.getJSON("http://ucar.autos.yahoo.co.jp/FmcMcGradeProxy.php", {car_id: sCarId, fmc: fmc_id, mc: mc_id, bcrumb: sBcrumb}, function(grade_list){
                    for(var grade_id in grade_list){
                        addSelectOption(grade_id, grade_list[grade_id], "grade");
                         var tmp_length = grade_list[grade_id].length;
                        if(max_length < tmp_length){
                            max_length = tmp_length;
                        }
                    }
                    fixPullDownLength("grade", max_length);
                });
            }
        }
    }
}

function changeModelByMaker(obj, sBodyType, sBcrumb){
    with(obj){
        var maker_id = options[selectedIndex].value;
        var max_length = 0;
        removeSelectOption("models");
        $.getJSON("http://ucar.autos.yahoo.co.jp/ModelListProxy.php", {maker: maker_id, body_type: sBodyType, bcrumb: sBcrumb}, function(model_list){
            for(var model_id in model_list){
                addSelectOption(model_id, model_list[model_id], "models");
                var tmp_length = model_list[model_id].length;
                if(max_length < tmp_length){
                    max_length = tmp_length;
                }
            }

            fixPullDownLength("models", max_length);
        });
    }
}

function fixPullDownLength(tag_id, max_length){
    var select_obj = document.getElementById(tag_id);

    if(max_length == 0){
        removeSelectOption(tag_id);
        select_obj.style.width = 4 * 14 + 15 + "px";
    }else if(max_length > 4){
        select_obj.style.width = max_length * 11 + 15 + "px";
    }else{
        select_obj.style.width = 4 * 14 + 15 + "px";
    }
}

function addSelectOption(tag_value, inner_value, tag_id){
    var option_obj = document.createElement("option");
    option_obj.value     = tag_value;
    option_obj.innerHTML = inner_value;
    var models = document.getElementById(tag_id);
    models.appendChild(option_obj);
}

function removeSelectOption(tag_id){
    var target = document.getElementById(tag_id);
    while(target.firstChild){
        target.removeChild(target.firstChild);
    }
    var option_obj = document.createElement("option");
    option_obj.value     = 0;
    option_obj.innerHTML = '»ØÄê¤Ê¤·';
    target.appendChild(option_obj);
}


