﻿/*************************************************************/
/********* Tire Selector functionality    *********/
/*************************************************************/

function SetVehicleOption(selector, placeholder, data) {
    var control = $(selector);
    $('option', control).remove();
    control.append('<option value="">' + placeholder + '</option>');
    control.val('');
    var inner = $(selector + '_inner');
    if (inner || inner.length > 0) { inner.html(placeholder); }
    if (data == null || data == undefined) { return; }

    for (var i = 0; i < data.length; i++) {
        control.append('<option value="' + data[i].Value + '">' + data[i].Label + '</option>');
    }
}

function LoadYear(url, optionsArgs) {
    $.get(url, function (data) { SetVehicleOption(optionsArgs.year.control, optionsArgs.year.placeholder, data); });
    SetVehicleOption(optionsArgs.make.control, optionsArgs.make.placeholder, null);
    SetVehicleOption(optionsArgs.model.control, optionsArgs.model.placeholder, null);
    SetVehicleOption(optionsArgs.vehicle.control, optionsArgs.vehicle.placeholder, null);
    $(optionsArgs.button).attr('disabled', 'disabled');
}

function LoadMake(url, optionsArgs) {
    var year = $(optionsArgs.year.control).val();
    var makeUrl = url + '/' + year;
    $.get(makeUrl, function (data) { SetVehicleOption(optionsArgs.make.control, optionsArgs.make.placeholder, data); });
    SetVehicleOption(optionsArgs.model.control, optionsArgs.model.placeholder, null);
    SetVehicleOption(optionsArgs.vehicle.control, optionsArgs.vehicle.placeholder, null);
    $(optionsArgs.button).attr('disabled', 'disabled');
}

function LoadModel(url, optionsArgs) {
    var year = $(optionsArgs.year.control).val();
    var make = $(optionsArgs.make.control).val();
    var modelUrl = url + '/' + year + '/' + make;
    $.get(modelUrl, function (data) { SetVehicleOption(optionsArgs.model.control, optionsArgs.model.placeholder, data); });

    SetVehicleOption(optionsArgs.vehicle.control, optionsArgs.vehicle.placeholder, null);

    $(optionsArgs.button).attr('disabled', 'disabled');
}

function LoadVehicle(url, optionsArgs) {
    var year = $(optionsArgs.year.control).val();
    var make = $(optionsArgs.make.control).val();
    var model = $(optionsArgs.model.control).val();
    var modelUrl = url + '/' + year + '/' + make + '/' + model;
    $.get(modelUrl, function (data) { SetVehicleOption(optionsArgs.vehicle.control, optionsArgs.vehicle.placeholder, data); });
    $(optionsArgs.button).attr('disabled', 'disabled');
}

function GetTireByVehicle(url, optionsArgs) {
    $(optionsArgs.button).removeAttr('disabled');
}

var vehicleSearchOptions = {
    year: { control: '#year', placeholder: 'Year' },
    make: { control: '#makeId', placeholder: 'Make' },
    model: { control: '#modelId', placeholder: 'Model' },
    vehicle: { control: '#vehicleId', placeholder: 'Trim' },
    button: '.submit-button'
};

function OnLoad() {
    $('.customStyleSelectBox').customStyle();
}


