﻿function m17_SearchBySizeLoad() {
    var tireWidthArea = document.getElementById('m017-search-width');
    if (tireWidthArea != null) {
        m17_FetchWidths();
    }
}
addEvent(window, 'load', m17_SearchBySizeLoad);

function m17_FetchWidths() {
    var tireWidthArea = document.getElementById('m017-search-width');
    var tireAspectArea = document.getElementById('m017-search-aspect');
    var tireRimArea = document.getElementById('m017-search-rim');
    var tireSubmitArea = document.getElementById('m017-search-submit');
    var tireWidth = document.getElementById('m017-width');
    var tireAspect = document.getElementById('m017-aspect');
    var tireRim = document.getElementById('m017-rim');
    tireWidth.selectedIndex = 0;
    tireAspect.selectedIndex = 0;
    tireRim.selectedIndex = 0;
    tireWidthArea.style.display = 'none';
    tireAspectArea.style.display = 'none';
    tireRimArea.style.display = 'none';
    tireSubmitArea.style.display = 'none';
    if (tireWidth != null) {
        var ajaxClient = GetAjaxClient();
        if (ajaxClient != null) {
            ajaxClient.onreadystatechange = function() {
                if (ajaxClient.readyState == 4) {
                    m17_PopulateList(tireWidthArea, tireWidth, ajaxClient.responseText);
                }
            }
            var query = 'method=widths';
            ajaxClient.open('GET', document.appPath + '/App_Services/TireLibrary.ashx?' + query, true);
            ajaxClient.send(null);
        }
    }
}

function m17_FetchAspects() {
    var tireWidthArea = document.getElementById('m017-search-width');
    var tireAspectArea = document.getElementById('m017-search-aspect');
    var tireRimArea = document.getElementById('m017-search-rim');
    var tireSubmitArea = document.getElementById('m017-search-submit');
    var tireWidth = document.getElementById('m017-width');
    var tireAspect = document.getElementById('m017-aspect');
    var tireRim = document.getElementById('m017-rim');
    tireAspect.selectedIndex = 0;
    tireRim.selectedIndex = 0;
    tireAspectArea.style.display = 'none';
    tireRimArea.style.display = 'none';
    tireSubmitArea.style.display = 'none';
    if (tireWidth != null && tireWidth.value != null && tireWidth.value.length > 0) {
        if (tireAspect != null) {
            var width = m17_EncodeQuery(tireWidth.value);
            if (width != document.ddlPrompt) {
                var ajaxClient = GetAjaxClient();
                if (ajaxClient != null) {
                    ajaxClient.onreadystatechange = function() {
                        if (ajaxClient.readyState == 4) {
                            m17_PopulateList(tireAspectArea, tireAspect, ajaxClient.responseText);
                        }
                    }
                    var query = 'method=aspects&width=' + width;
                    ajaxClient.open('GET', document.appPath + '/App_Services/TireLibrary.ashx?' + query, true);
                    ajaxClient.send(null);
                }
            }
        }
    }
}

function m17_FetchRims() {
    var tireWidthArea = document.getElementById('m017-search-width');
    var tireAspectArea = document.getElementById('m017-search-aspect');
    var tireRimArea = document.getElementById('m017-search-rim');
    var tireSubmitArea = document.getElementById('m017-search-submit');
    var tireWidth = document.getElementById('m017-width');
    var tireAspect = document.getElementById('m017-aspect');
    var tireRim = document.getElementById('m017-rim');
    tireRim.selectedIndex = 0;
    tireRimArea.style.display = 'none';
    tireSubmitArea.style.display = 'none';
    if (tireAspect != null && tireAspect.value != null && tireAspect.value.length > 0) {
        if (tireRim != null) {
            var width = m17_EncodeQuery(tireWidth.value);
            var aspect = m17_EncodeQuery(tireAspect.value);
            if (width != document.ddlPrompt && aspect != document.ddlPrompt) {
                var ajaxClient = GetAjaxClient();
                if (ajaxClient != null) {
                    ajaxClient.onreadystatechange = function() {
                        if (ajaxClient.readyState == 4) {
                            m17_PopulateList(tireRimArea, tireRim, ajaxClient.responseText);
                        }
                    }
                    var query = 'method=rims&width=' + width + '&aspect=' + aspect;
                    ajaxClient.open('GET', document.appPath + '/App_Services/TireLibrary.ashx?' + query, true);
                    ajaxClient.send(null);
                }
            }
        }
    }
}

function m17_ShowSizeSubmit() {
    var tireRim = document.getElementById('m017-rim');
    var rim = tireRim.value;
    var tireSubmitArea = document.getElementById('m017-search-submit');
    if (rim != document.ddlPrompt) {
        tireSubmitArea.style.display = 'block';
    } else {
        tireSubmitArea.style.display = 'none';
    }
}

function m17_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 m17_EncodeQuery(query) {
    query = query.replace(' ', '+');
    return query;
}