﻿var viewAllTiresLoaded = 0;
function getApplications(all, dropDownName) {

    var loadingTag = "<select id='" + dropDownName + "' alt='Loading...'><option>Loading...</option></select>";
    $('select[name=' + dropDownName + ']').replaceWith(loadingTag);

    $.ajax({
        type: "POST",
        url: "/tires/default.aspx/GetApplications",
        data: "{" + "all:" + all + ",dropDownName:'" + dropDownName + "'}",
        contentType: "application/json; charset=utf-8",
        global: false,
        async: true,
        dataType: "json",
        success: function (data) {
            $('#' + dropDownName).replaceWith(data.d);
        },
        error: function (data) {
            debugger;
        }
    });

    return false;
}

function getWheelPositions(all, dropDownName) {

    var data = "";
    if (all) {
        data = "{app:'',dropDownName:'" + dropDownName + "'}"
    }
    else {
        var app = $("select[name=app]").val();

        //if the first dropdown has no value, disabled the other 2 and dont make any ajax post.
        if (app == "0") {
            $('select[name=' + dropDownName + ']').val(app);
            $('select[name=' + dropDownName + ']').attr("disabled", "disabled");
            $('select[name=' + "/tiresize" + ']').val(app);
            $('select[name=' + "/tiresize" + ']').attr("disabled", "disabled");
            return false;
        }

        data = "{app:'" + app + "',dropDownName:'" + dropDownName + "'}";
    }

    var loadingTag = "<select id='" + dropDownName + "' alt='Loading...'><option>Loading...</option></select>";
    $('select[name=' + dropDownName + ']').replaceWith(loadingTag);


    $.ajax({
        type: "POST",
        url: "/tires/default.aspx/GetWheelPositions",
        data: data,
        contentType: "application/json; charset=utf-8",
        global: false,
        async: true,
        dataType: "json",
        success: function (data) {
            $('#' + dropDownName).replaceWith(data.d);
        }
    });

    return false;
}

function getTireSizes(all, dropDownName) {
    var loadingTag = "<select id='" + dropDownName + "' alt='Loading...'><option>Loading...</option></select>";
    $('select[name=' + dropDownName + ']').replaceWith(loadingTag);

    var data = "";
    if (all) {
        data = "{app:'',pos:'',dropDownName:'" + dropDownName + "'}"
    }
    else {
        var app = $("select[name=app]").val();
        var pos = $("select[name=pos]").val();
        data = "{app:'" + app + "',pos:'" + pos + "',dropDownName:'" + dropDownName + "'}"
    }

    $.ajax({
        type: "POST",
        url: "/tires/default.aspx/GetTireSizes",
        data: data,
        contentType: "application/json; charset=utf-8",
        global: false,
        async: true,
        dataType: "json",
        success: function (data) {
            $('#' + dropDownName).replaceWith(data.d);
        }
    });

    return false;
}


function getTireResults(all) {
    var data = "";

    if (all) {
        var app = $("select[name=advapp]").val();
        var pos = $("select[name=advpos]").val();
        var tiresize = $("select[name=advtiresize]").val();

        if (typeof (app) == "undefined") app = "";
        if (typeof (pos) == "undefined") pos = "";
        if (typeof (tiresize) == "undefined") tiresize = "";

        data = "{app:'" + app + "',pos:'" + pos + "',tiresize:'" + tiresize + "', search:'advanced'}"
    }
    else {
        var app = $("select[name=app]").val();
        var pos = $("select[name=pos]").val();
        var tiresize = $("select[name=tiresize]").val();
        data = "{app:'" + app + "',pos:'" + pos + "',tiresize:'" + tiresize + "', search:'guided'}"
    }

    $.ajax({
        type: "POST",
        url: "/tires/default.aspx/GetTireResults",
        data: data,
        contentType: "application/json; charset=utf-8",
        global: false,
        async: true,
        dataType: "json",
        success: function (data) {
            $('#response_tsel').html(data.d);
            $("table.product_detail tr:nth-child(2) td:first-child").each(function () { $(this).remove(); })
        }
    });

    return false;
}


function loadViewAllTiresSection() {
    if (viewAllTiresLoaded == 0) {
        getApplications(true, "advapp");
        getWheelPositions(true, "advpos");
        getTireSizes(true, "advtiresize");
        viewAllTiresLoaded = 1;
    }

    getTireResults(true);
    return false;
}

function toggleFilters() {
    var searchClass = $("#show_search").attr("class");

    if (searchClass == "none") {
        //hidding filters
        $("#show_search").attr("class", "btn1");
        $("#selector").attr("class", "none");
    }
    else {
        $("#show_search").attr("class", "none");
        $("#selector").attr("class", "noshow");
    }
}

function toggleTabs() {
    var searchClass = $("#guided").attr("class");


    if (searchClass == "TabbedPanelsTab") {
        //setting focus to the 1st tab.
        $("#guided").attr("class", "TabbedPanelsTab TabbedPanelsTabSelected");
        $("#advanced").attr("class", "TabbedPanelsTab");
    }
    else {
        //setting focus to the 2nd tab.
        $("#guided").attr("class", "TabbedPanelsTab");
        $("#advanced").attr("class", "TabbedPanelsTab TabbedPanelsTabSelected");
    }

    var currentTab = $(".TabbedPanelsContent:visible");
    var hiddenTab = $(".TabbedPanelsContent:hidden");
    currentTab.attr("class", "TabbedPanelsContent");
    currentTab.hide();
    hiddenTab.attr("class", "TabbedPanelsContent TabbedPanelsContentVisible");
    hiddenTab.show();
}

function getTiresResultFromHome(all) {
    if (all) {
        var url = "/tires/default.aspx?app=&pos=&tiresize=&search=homepage&type=adv";
        window.location = url;
    }
    else {
        var app = $("select[name=app]").val();
        var pos = $("select[name=pos]").val();
        var tiresize = $("select[name=tiresize]").val();

        var url = "/tires/default.aspx?app=" + app + "&pos=" + pos + "&tiresize=" + tiresize + "&search=homepage";
        window.location = url;
    }

    return false;
}
