@model NzbDrone.Web.Models.DownloadSettingsModel

<script type="text/javascript">
    $(document).ready(function () {
        selectDownloadOptionAtStart(); //Load either SAB or Blackhole div
        var options = {
            target: '#result',
            beforeSubmit: showRequest,
            success: showResponse,
            type: 'post',
            resetForm: false
        };
        $('#form').ajaxForm(options);
        $('#save_button').attr('disabled', '');
    });
    
    function selectDownloadOptionAtStart() {
        var checked = $('UseBlackHole').val();
        var $radios = $('input[name="UseBlackhole"]');
        $radios.filter('[value=' + checked + ']').attr('checked', true);
        selectDownloadOption();
    }

    function selectDownloadOption() {
        var selected = $("input[name='UseBlackhole']:checked").val();

        if (selected == "True") {
            $('#UseBlackHole').attr('checked', true);
            document.getElementById('blackhole').style.display = 'block';
            document.getElementById('sab').style.display = 'none';
        }

        else {
            $('#UseBlackHole').attr('checked', false);
            document.getElementById('sab').style.display = 'block';
            document.getElementById('blackhole').style.display = 'none';
        }
    }

    function showRequest(formData, jqForm, options) {
        $("#result").empty().html('Saving...');
        $("#form :input").attr("disabled", true);
    }

    function showResponse(responseText, statusText, xhr, $form) {
        $("#result").empty().html(responseText);
        $("#form :input").attr("disabled", false);
    }

    $(".blackhole_radio").live("change", function () {
        selectDownloadOption(); //Load either SAB or Blackhole div
    });                
</script>

@using (Html.BeginForm("SaveDownloads", "Settings", FormMethod.Post, new { id = "form", name = "form" }))
{
    
    <fieldset>
        <legend>Download Settings</legend>

            <fieldset class="sub-field">
                <legend>Usenet Variables</legend>

                <div class="config-section">
                    <div class="config-group">
                        <div class="config-title">@Html.LabelFor(m => m.SyncFrequency)</div>
                        <div class="config-value">@Html.TextBoxFor(m => m.SyncFrequency)</div>
                    </div>
                    <div class="config-validation">@Html.ValidationMessageFor(m => m.SyncFrequency)</div>
                </div>
                    
                <div class="config-section">
                    <div class="config-group">
                        <div class="config-title">@Html.LabelFor(m => m.DownloadPropers)</div>
                        <div class="config-value">@Html.CheckBoxFor(m => m.DownloadPropers)</div>
                    
                    </div>
                    <div class="config-validation">@Html.ValidationMessageFor(m => m.DownloadPropers)</div>
                </div>

                <div class="config-section">
                    <div class="config-group">
                        <div class="config-title">@Html.LabelFor(m => m.Retention)</div>
                        <div class="config-value">@Html.TextBoxFor(m => m.Retention)</div>
                    </div>
                    <div class="config-validation">@Html.ValidationMessageFor(m => m.Retention)</div>
                </div>
            </fieldset>

            <div>
                <div>
                    <b>@Html.LabelFor(m => m.UseBlackHole)</b>
                    @Html.CheckBoxFor(m => m.UseBlackHole, new { style="display:none" })
                </div>
                <div>
                    @Html.RadioButton("UseBlackhole", true, new { @class="blackhole_radio" })Blackhole
                </div>
                <div>
                    @Html.RadioButton("UseBlackhole", false, new { @class="blackhole_radio" })SABnzbd
                </div>
            </div>

            <div id="sab" style="display:none">
                <fieldset class="sub-field">
                    <legend>SABnzbd</legend>

                    <button type="button" onclick="autoConfigureSab()">Auto-Configure</button>

                    <div class="config-section">
                        <div class="config-group">
                            <div class="config-title">@Html.LabelFor(m => m.SabHost)</div>
                            <div class="config-value">@Html.TextBoxFor(m => m.SabHost)</div>
                        </div>
                        <div class="config-validation">@Html.ValidationMessageFor(m => m.SabHost)</div>
                    </div>

                    <div class="config-section">
                        <div class="config-group">
                            <div class="config-title">@Html.LabelFor(m => m.SabPort)</div>
                            <div class="config-value">@Html.TextBoxFor(m => m.SabPort)</div>
                        </div>
                        <div class="config-validation">@Html.ValidationMessageFor(m => m.SabPort)</div>
                    </div>

                    <div class="config-section">
                        <div class="config-group">
                            <div class="config-title">@Html.LabelFor(m => m.SabApiKey)</div>
                            <div class="config-value">@Html.TextBoxFor(m => m.SabApiKey)</div>
                        </div>
                        <div class="config-validation">@Html.ValidationMessageFor(m => m.SabApiKey)</div>
                    </div>

                    <div class="config-section">
                        <div class="config-group">
                            <div class="config-title">@Html.LabelFor(m => m.SabUsername)</div>
                            <div class="config-value">@Html.TextBoxFor(m => m.SabUsername)</div>
                        </div>
                        <div class="config-validation">@Html.ValidationMessageFor(m => m.SabUsername)</div>
                    </div>

                    <div class="config-section">
                        <div class="config-group">
                            <div class="config-title">@Html.LabelFor(m => m.SabPassword)</div>
                            <div class="config-value">@Html.TextBoxFor(m => m.SabPassword)</div>
                        </div>
                        <div class="config-validation">@Html.ValidationMessageFor(m => m.SabPassword)</div>
                    </div>

                    <div class="config-section">
                        <div class="config-group">
                            <div class="config-title">@Html.LabelFor(m => m.SabTvCategory)</div>
                            <div class="config-value">@Html.TextBoxFor(m => m.SabTvCategory)</div>
                        </div>
                        <div class="config-validation">@Html.ValidationMessageFor(m => m.SabTvCategory)</div>
                    </div>

                    <div class="config-section">
                        <div class="config-group">
                            <div class="config-title">@Html.LabelFor(m => m.SabTvPriority)</div>
                            <div class="config-value">@Html.DropDownListFor(m => m.SabTvPriority, Model.PrioritySelectList)</div>
                        </div>
                        <div class="config-validation">@Html.ValidationMessageFor(m => m.SabTvPriority)</div>
                    </div>
                </fieldset>
            </div>

            <div id="blackhole" style="display:none">
                <fieldset class="sub-field">
                    <legend>Blackhole</legend>
                    <div class="config-section">
                        <div class="config-group">
                            <div class="config-title">@Html.LabelFor(m => m.BlackholeDirectory)</div>
                            <div class="config-value">@Html.TextBoxFor(m => m.BlackholeDirectory)</div>
                        </div>
                        <div class="config-validation">@Html.ValidationMessageFor(m => m.BlackholeDirectory)</div>
                    </div>

                </fieldset>            
            </div>

            <input type="submit" id="save_button" value="Save" disabled="disabled" />
    

    </fieldset>
}
<div id="result"></div>
   
<script type="text/javascript">
    var autoConfigureSabUrl = '@Url.Action("AutoConfigureSab", "Settings")';

    function autoConfigureSab() {
        $.ajax({
            type: "POST",
            url: autoConfigureSabUrl,
            data: jQuery.param({ username: $('#SabUsername').val(), password: $('#SabPassword').val() }),
            error: function (req, status, error) {
                alert("Sorry! We could not autoconfigure SABnzbd for you");
            },
            success: autoConfigureSuccess
        });

        function autoConfigureSuccess(data) {
            $('#SabApiKey').val(data.ApiKey);
            $('#SabPort').val(data.Port);
            $('#SabUsername').val(data.Username);
            $('#SabPassword').val(data.Password);
        }
    }
</script>