﻿function loadSubCat(cat) {
    if (document.getElementById("refineMakeModel")) document.getElementById("refineMakeModel").style.display = 'none';
    var catID = cat.options[cat.selectedIndex].value
    if (catID != "-1") {
        catID = catID.split("-")[1];
        ClassV2.DataFeed.GetSubCategories(catID, loadSubCat_CallBack);
    }
}

function loadSubCat_CallBack(response) {
    if (response.error != null) return;

    var subCatList = document.getElementById("ctl00_cph_optSubCat");
    if (subCatList == null) return;

    var subCat = response.value;
    if (subCat == null || typeof (subCat) != "object" || subCat.Tables == null) return;

    subCatList.options.length = 0;
    subCatList.options[0] = new Option('(All SubCategories)', '-1');
    for (var i = 0; i < subCat.Tables[0].Rows.length; ++i) {
        subCatList.options[subCatList.options.length] = new Option(subCat.Tables[0].Rows[i].sclname, subCat.Tables[0].Rows[i].sclid);
    }
    if (subCat.Tables[0].Rows.length == 1) {
        subCatList.selectedIndex = 1;
        if (document.getElementById("ctl00_cph_optMake")) loadMakes(subCatList);
    }
}
function loadMakes(cat) {
    // reset
    if (document.getElementById("ctl00_cph_optMake")) document.getElementById("ctl00_cph_optMake").options.length = 0;
    if (document.getElementById("ctl00_cph_refineMakeModel")) document.getElementById("ctl00_cph_refineMakeModel").style.display = 'none';

    var catID = cat.options[cat.selectedIndex].value;
    var searchType = catID.split("-")[0];
    if (searchType != '1' && searchType != '3' && searchType != '6') return;


    if (catID != '-1') {
        catID = catID.split("-")[1];
        ClassV2.DataFeed.GetMakes(catID, loadMakes_CallBack);
    }
    else {
        document.getElementById("ctl00_cph_optMake").options[0] = new Option('(All Makes)', '-1');
    }
}

function loadMakes_CallBack(response) {
    if (response.error != null) return;
    var makeList = document.getElementById("ctl00_cph_optMake");

    if (makeList == null) return;

    var makes = response.value;
    if (makes == null || typeof (makes) != "object" || makes.Tables == null) return;

    makeList.options.length = 0;
    makeList.options[0] = new Option('(All Makes)', '');
    for (var i = 0; i < makes.Tables[0].Rows.length; i++) {
        makeList.options[makeList.options.length] = new Option(makes.Tables[0].Rows[i].mkuse, makes.Tables[0].Rows[i].lmake);
        if (document.getElementById("ctl00_cph_refineMakeModel")) document.getElementById("ctl00_cph_refineMakeModel").style.display = 'block';
    }

}
function loadModels(models) {
    document.getElementById("divModel").style.display = 'none';
    var makeId = models.options[models.selectedIndex].value;
    if (makeId != '') {
        var catID = document.getElementById("optCat").options[document.getElementById("optCat").selectedIndex].value
        ClassV2.DataFeed.GetModels(makeId, catID, loadModels_CallBack);
    }
    else {
        document.getElementById("optModel").options.length = 0;
        document.getElementById("optModel").options[0] = new Option('(All Models)', '');
    }
}
function loadModels_CallBack(response) {
    if (response.error != null) return;

    var modelList = document.getElementById("optModel");
    if (modelList == null) return;

    var models = response.value;
    if (models == null || typeof (models) != "object" || models.Tables == null) return;

    modelList.options.length = 0;
    modelList.options[0] = new Option('(All Models)', '');

    if (models.Tables[0].Rows.length > 0) document.getElementById("divModel").style.display = 'block';

    for (var i = 0; i < models.Tables[0].Rows.length; ++i) {
        modelList.options[modelList.options.length] = new Option(models.Tables[0].Rows[i].admodel, models.Tables[0].Rows[i].admodel);
    }
}
function checkForm() {
    if (document.getElementById('optCat').value != '-1' && document.getElementById('divMake').style.display == 'none') {
        loadSubCat(document.getElementById('optCat'));
    }
}