﻿function m031_SearchByVehicleLoad() {
    var vehicleYearArea = document.getElementById('m031-search-year');
    if (vehicleYearArea != null)
        m031_FetchYears();
}
addEvent(window, 'load', m031_SearchByVehicleLoad);

function m031_FetchYears() {
    var vehicleYearArea = document.getElementById('m031-search-year');
    var vehicleMakeArea = document.getElementById('m031-search-make');
    var vehicleModelArea = document.getElementById('m031-search-model');
    var vehicleChassisArea = document.getElementById('m031-search-chassis');
    var vehicleOptionArea = document.getElementById('m031-search-option');
    var vehicleSubmitArea = document.getElementById('m031-search-submit');
    var vehicleYear = document.getElementById('m031-year');
    var vehicleMake = document.getElementById('m031-make');
    var vehicleModel = document.getElementById('m031-model');
    var vehicleChassis = document.getElementById('m031-chassis');
    var vehicleOption = document.getElementById('m031-option');
    vehicleYear.selectedIndex = 0;
    vehicleMake.selectedIndex = 0;
    vehicleModel.selectedIndex = 0;
    vehicleChassis.value = "";
    vehicleOption.selectedIndex = 0;
    vehicleYearArea.style.display = 'none';
    vehicleMakeArea.style.display = 'none';
    vehicleModelArea.style.display = 'none';
    vehicleChassisArea.style.display = 'none';
    vehicleOptionArea.style.display = 'none';
    vehicleSubmitArea.style.display = 'none';
    if (vehicleYear != null) {
        var ajaxClient = GetAjaxClient();
        if (ajaxClient != null) {
            ajaxClient.onreadystatechange = function() {
                if (ajaxClient.readyState == 4) {
                    m031_PopulateList(vehicleYearArea, vehicleYear, ajaxClient.responseText);
                }
            }
            var query = 'method=years';
            ajaxClient.open('GET', document.appPath + '/App_Services/VehicleLibrary.ashx?' + query, true);
            ajaxClient.send(null);
        }
    }
}

function m031_FetchMakes() {
    var vehicleYearArea = document.getElementById('m031-search-year');
    var vehicleMakeArea = document.getElementById('m031-search-make');
    var vehicleModelArea = document.getElementById('m031-search-model');
    var vehicleChassisArea = document.getElementById('m031-search-chassis');
    var vehicleOptionArea = document.getElementById('m031-search-option');
    var vehicleSubmitArea = document.getElementById('m031-search-submit');
    var vehicleYear = document.getElementById('m031-year');
    var vehicleMake = document.getElementById('m031-make');
    var vehicleModel = document.getElementById('m031-model');
    var vehicleChassis = document.getElementById('m031-chassis');
    var vehicleOption = document.getElementById('m031-option');
    vehicleMake.selectedIndex = 0;
    vehicleModel.selectedIndex = 0;
    vehicleChassis.value = "";
    vehicleOption.selectedIndex = 0;
    vehicleMakeArea.style.display = 'none';
    vehicleModelArea.style.display = 'none';
    vehicleChassisArea.style.display = 'none';
    vehicleOptionArea.style.display = 'none';
    vehicleSubmitArea.style.display = 'none';
    if (vehicleYear != null && vehicleYear.value != null && vehicleYear.value.length > 0) {
        if (vehicleMake != null) {
            var year = m031_EncodeQuery(vehicleYear.value);
            if (year != document.ddlPrompt) {
                var ajaxClient = GetAjaxClient();
                if (ajaxClient != null) {
                    ajaxClient.onreadystatechange = function() {
                        if (ajaxClient.readyState == 4) {
                            m031_PopulateList(vehicleMakeArea, vehicleMake, ajaxClient.responseText);
                        }
                    }
                    var query = 'method=makes&year=' + year;
                    ajaxClient.open('GET', document.appPath + '/App_Services/VehicleLibrary.ashx?' + query, true);
                    ajaxClient.send(null);
                }
            }
        }
    }
}

function m031_FetchModels() {
    var vehicleYearArea = document.getElementById('m031-search-year');
    var vehicleMakeArea = document.getElementById('m031-search-make');
    var vehicleModelArea = document.getElementById('m031-search-model');
    var vehicleChassisArea = document.getElementById('m031-search-chassis');
    var vehicleOptionArea = document.getElementById('m031-search-option');
    var vehicleSubmitArea = document.getElementById('m031-search-submit');
    var vehicleYear = document.getElementById('m031-year');
    var vehicleMake = document.getElementById('m031-make');
    var vehicleModel = document.getElementById('m031-model');
    var vehicleChassis = document.getElementById('m031-chassis');
    var vehicleOption = document.getElementById('m031-option');
    vehicleModel.selectedIndex = 0;
    vehicleChassis.value = "";
    vehicleOption.selectedIndex = 0;
    vehicleModelArea.style.display = 'none';
    vehicleChassisArea.style.display = 'none';
    vehicleOptionArea.style.display = 'none';
    vehicleSubmitArea.style.display = 'none';
    if (vehicleMake != null && vehicleMake.value != null && vehicleMake.value.length > 0) {
        if (vehicleModel != null) {
            var year = m031_EncodeQuery(vehicleYear.value);
            var make = m031_EncodeQuery(vehicleMake.value);
            if (year != document.ddlPrompt && make != document.ddlPrompt) {
                var ajaxClient = GetAjaxClient();
                if (ajaxClient != null) {
                    ajaxClient.onreadystatechange = function() {
                        if (ajaxClient.readyState == 4) {
                            m031_PopulateList(vehicleModelArea, vehicleModel, ajaxClient.responseText);
                        }
                    }
                    var query = 'method=models&year=' + year + '&make=' + make;
                    ajaxClient.open('GET', document.appPath + '/App_Services/VehicleLibrary.ashx?' + query, true);
                    ajaxClient.send(null);
                }
            }
        }
    }
}

function m031_FetchChassis() {
    var vehicleYearArea = document.getElementById('m031-search-year');
    var vehicleMakeArea = document.getElementById('m031-search-make');
    var vehicleModelArea = document.getElementById('m031-search-model');
    var vehicleChassisArea = document.getElementById('m031-search-chassis');
    var vehicleOptionArea = document.getElementById('m031-search-option');
    var vehicleSubmitArea = document.getElementById('m031-search-submit');
    var vehicleYear = document.getElementById('m031-year');
    var vehicleMake = document.getElementById('m031-make');
    var vehicleModel = document.getElementById('m031-model');
    var vehicleChassis = document.getElementById('m031-chassis');
    var vehicleOption = document.getElementById('m031-option');
    vehicleChassis.selectedIndex = 0;
    vehicleOption.selectedIndex = 0;
    vehicleChassisArea.style.display = 'none';
    vehicleOptionArea.style.display = 'none';
    vehicleSubmitArea.style.display = 'none';
    if (vehicleModel != null && vehicleModel.value != null && vehicleModel.value.length > 0) {
        if (vehicleChassis != null) {
            var year = m031_EncodeQuery(vehicleYear.value);
            var make = m031_EncodeQuery(vehicleMake.value);
            var model = m031_EncodeQuery(vehicleModel.value);
            if (year != document.ddlPrompt && make != document.ddlPrompt && model != document.ddlPrompt) {
                var ajaxClient = GetAjaxClient();
                if (ajaxClient != null) {
                    ajaxClient.onreadystatechange = function() {
                        if (ajaxClient.readyState == 4) {
                            m031_PopulateList(vehicleChassisArea, vehicleChassis, ajaxClient.responseText);
                        }
                    }
                    var query = 'method=chassis&year=' + year + '&make=' + make + '&model=' + model;
                    ajaxClient.open('GET', document.appPath + '/App_Services/VehicleLibrary.ashx?' + query, true);
                    ajaxClient.send(null);
                }
            }
        }
    }
}

function m031_FetchOptions() {
    var vehicleYearArea = document.getElementById('m031-search-year');
    var vehicleMakeArea = document.getElementById('m031-search-make');
    var vehicleModelArea = document.getElementById('m031-search-model');
    var vehicleChassisArea = document.getElementById('m031-search-chassis');
    var vehicleOptionArea = document.getElementById('m031-search-option');
    var vehicleSubmitArea = document.getElementById('m031-search-submit');
    var vehicleYear = document.getElementById('m031-year');
    var vehicleMake = document.getElementById('m031-make');
    var vehicleModel = document.getElementById('m031-model');
    var vehicleChassis = document.getElementById('m031-model');
    document.getElementById('m031-chassis').value = vehicleModel.value;
    var vehicleOption = document.getElementById('m031-option');
    vehicleOption.selectedIndex = 0;
    vehicleOptionArea.style.display = 'none';
    vehicleSubmitArea.style.display = 'none';
    if (vehicleChassis != null && vehicleChassis.value != null && vehicleChassis.value.length > 0) {
        if (vehicleOption != null) {
            var year = m031_EncodeQuery(vehicleYear.value);
            var make = m031_EncodeQuery(vehicleMake.value);
            var model = m031_EncodeQuery(vehicleModel.value);
            var chassis = model;
            if (year != document.ddlPrompt && make != document.ddlPrompt && model != document.ddlPrompt && chassis != document.ddlPrompt) {
                var ajaxClient = GetAjaxClient();
                if (ajaxClient != null) {
                    ajaxClient.onreadystatechange = function() {
                        if (ajaxClient.readyState == 4) {
                            m031_PopulateList(vehicleOptionArea, vehicleOption, ajaxClient.responseText);
                        }
                    }
                    var query = 'method=options&year=' + year + '&make=' + make + '&model=' + model + '&chassis=' + model;
                    ajaxClient.open('GET', document.appPath + '/App_Services/VehicleLibrary.ashx?' + query, true);
                    ajaxClient.send(null);
                }
            }
        }
    }
}

function m031_ShowVehicleSubmit() {
    var vehicleOption = document.getElementById('m031-option');
    var chassis = vehicleOption.value;
    var vehicleSubmitArea = document.getElementById('m031-search-submit');
    if (chassis != document.ddlPrompt) {
        vehicleSubmitArea.style.display = 'block';
    } else {
        vehicleSubmitArea.style.display = 'none';
    }
}

function m031_PopulateList(area, element, response) {
    for (var count = element.options.length - 1; count > -1; count--) {
        element.options[count] = null;
    }
    var prompt = new Option(document.ddlPrompt, '', true, true);
    element.options[0] = prompt;
    if (response.indexOf('<html>') < 0) {
        var pairs = response.split('||');
        if (pairs != null) {
            for (var index = 0; index < pairs.length; index++) {
                var pair = pairs[index];
                if (pair != null) {
                    var splits = pair.split('|');
                    var name = splits[0];
                    var value = name;
                    if (splits.length > 1)
                        value = splits[1];
                    var option = new Option(name, value, false, false);
                    element.options[element.length] = option;
                }
            }
        }
        area.style.display = 'block';
    }
}

function m031_EncodeQuery(query) {
    query = query.replace(/ /gi, '+');
    return query;
}


function m031_Postback(ids) {
    if (ids != null) {
        var count = ids.length;
        for (var index = 0; index < count; index++) {
            var id = ids[index];
            if (id != null) {
                var list = document.getElementById(id);
                if (list != null) {
                    list.selectedIndex = 0;
                    list.style.display = 'block';
                }
            }
        }
    }
    var vehicleForm = document.getElementById('m031-SearchVehicle');
    vehicleForm.submit();
}