@using NzbDrone.Core.Repository.Quality
@using NzbDrone.Web.Helpers;
@model NzbDrone.Web.Models.QualityModel

@{
    Layout = "_SettingsLayout.cshtml";
}

<div id="stylized">
    @using (Html.BeginForm("SaveQuality", "Settings", FormMethod.Post, new { id = "QualityForm", name = "QualityForm", @class = "settingsForm" }))
    {
        <div id="top">
            <label class="labelClass">@Html.LabelFor(m => m.DefaultQualityProfileId)
                <span class="small">@Html.DescriptionFor(m => m.DefaultQualityProfileId)</span>
            </label>
            @Html.DropDownListFor(m => m.DefaultQualityProfileId, Model.QualityProfileSelectList, new { @class = "inputClass" })
            
            <br />
            <button type="submit" class="save_button" disabled="disabled">Save</button>
        </div>
        
        <div class="jquery-accordion">
            <h3><a href="#">Profiles</a></h3>
            <div id="profileContainer">
                <div id="profiles">
                </div>
            </div>

            <h3><a href="#">Size Limits</a></h3>
            <div class="sliders">
                <div class="infoBox">
                    Size Limits specify the maximum download size NzbDrone will send to your download client.
                </div>
                <div id="sliders"></div>
            </div>
        </div>
    }
</div>

@section Scripts {
    @Html.IncludeScript("NzbDrone/qualitySettings.js")
    
    @Html.IncludeScript("backbone/apps/qualityProfileApp.js")
    @Html.IncludeScript("backbone/apps/qualityTypeApp.js")
    @Html.IncludeScript("backbone/constants.js")
    @Html.IncludeScript("backbone/models/qualityProfile.js")
    @Html.IncludeScript("backbone/models/qualityProfileCollection.js")
    @Html.IncludeScript("backbone/views/qualityProfiles.js")
    @Html.IncludeScript("backbone/models/qualityType.js")
    @Html.IncludeScript("backbone/models/qualityTypeCollection.js")
    @Html.IncludeScript("backbone/views/qualityTypes.js")

    <script id="QualityProfileTemplate" type="text/template">
        <a href="#" class="remove-profile"><i class="icon-remove"></i></a>
        <div class="quality-profile-setting">
            <label>Name</label>
            <input type="text" value="<%= Name %>" class="name" />
        </div>
        <div class="quality-profile-setting">
            <label>Cutoff</label>
            <select class="cutoff">
            <% _.each(Qualities, function(quality) { %>
                <% if (quality.Allowed === true) { %>
                    <option value="<%= quality.Id %>" <%= quality.Id === Cutoff ? 'selected="selected"' : '' %>><%= quality.Name %></option>
                <% } %>
            
            <% }); %>
            </select>
        </div>
        
        <% var guid = createGuid(); %>

        <% _.each(Qualities, function(quality) { %>
            <input id="<%= guid %>_<%= quality.Id %>"
                    class="quality-selectee"
                    type="checkbox"
                    value="<%= quality.Allowed %>"
                    data-quality-id="<%= quality.Id %>"
                    <%= quality.Allowed ? 'checked="checked"' : '' %>
            />
            <label for="<%= guid %>_<%= quality.Id %>"><%= quality.Name %></label>
        <% }); %>
    </script>
    
    <script id="QualityProfileCollectionTemplate" type="text/template">
        <div id="profileHeader">
            <a id="add-profile" href="@Url.Action("AddProfile", "Settings")">
                <i class="icon-plus icon-large"></i>
                Add New Profile
            </a>
        </div> 
    </script>
    
    <script id="QualityTypeTemplate" type="text/template">
        <b><%= Name %></b>
        <div class="slider"></div>
        <input type="hidden" value="<%= MaxSize %>" class="slider-value">
        30 minute size: <span class="30-minute"></span>MB | 60 minute size: <span class="60-minute"></span>MB
    </script>
    
    <script id="QualityTypeCollectionTemplate" type="text/template">    
    </script>
    
    <script>
        $(document).ready(function() {
            QualityProfileApp.App.start();
            QualityTypeApp.App.start();
        });
    </script>
}