@model Nop.Plugin.Tax.FixedOrByCountryStateZip.Models.ConfigurationModel
@using Nop.Web.Framework.Models.AdminAreaTour

@{
    Layout = "_ConfigurePlugin";

    //tour step
    ViewBag.TourStep = TourStep.TaxManual;
}

@await Html.PartialAsync("_AdminTour")

@if (Model.AvailableTaxCategories.Any())
{
    <div class="form-group row">
        <div class="col-md-3">
            <div class="onoffswitch">
                <input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="advanced-settings-mode" checked="@Model.CountryStateZipEnabled">
                <label class="onoffswitch-label" for="advanced-settings-mode">
                    <span class="onoffswitch-inner"
                          data-locale-basic="@T("Plugins.Tax.FixedOrByCountryStateZip.Fixed")"
                          data-locale-advanced="@T("Plugins.Tax.FixedOrByCountryStateZip.TaxByCountryStateZip")"></span>
                    <span class="onoffswitch-switch"></span>
                </label>
            </div>
        </div>
        <div class="col-md-9">
            <div class="float-right">
                <a asp-controller="Tax" asp-action="Categories" class="btn btn-primary" id="manage-tax-categories-button">
                    @T("Plugins.Tax.FixedOrByCountryStateZip.Tax.Categories.Manage")
                </a>
            </div>
        </div>
    </div>
    <script>
    function checkAdvancedSettingsMode(advanced) {
        if (advanced) {
            $("body").addClass("advanced-settings-mode");
            $("body").removeClass("basic-settings-mode");
        } else {
            $("body").removeClass("advanced-settings-mode");
            $("body").addClass("basic-settings-mode");
        }
    }
    checkAdvancedSettingsMode($("#advanced-settings-mode").is(':checked'));
    $(document).ready(function() {
        $("#advanced-settings-mode").click(function() {
            checkAdvancedSettingsMode($(this).is(':checked'));

            var postData = {
                value: $(this).is(':checked')
            };
            addAntiForgeryToken(postData);

            $.ajax({
                cache: false,
                url: "@Url.Action("SaveMode", "FixedOrByCountryStateZip")",
                type: "POST",
                data: postData,
                dataType: "json",
                error: function (jqXHR, textStatus, errorThrown) {
                    $("#saveModeAlert").click();
                }
            });
            ensureDataTablesRendered();
        });
    });
    </script>
    <nop-alert asp-alert-id="saveModeAlert" asp-alert-message="@T("Admin.Common.Alert.Save.Error")" />

    @await Html.PartialAsync("~/Plugins/Tax.FixedOrByCountryStateZip/Views/_FixedRate.cshtml")
    @await Html.PartialAsync("~/Plugins/Tax.FixedOrByCountryStateZip/Views/_CountryStateZip.cshtml", Model)
}
else
{
    <h3>@Html.Raw(Model.TaxCategoriesCanNotLoadedError)</h3>
}