@model NzbDrone.Core.Repository.Series
@using NzbDrone.Core.Repository
@using NzbDrone.Web.Models
@section TitleContent{
    @Model.Title
}
@section ActionMenu{
    @{Html.Telerik().Menu().Name("SeriesMenu").Items(items =>
                                                           {
                                                               items.Add().Text("Edit").Action("Edit", "Series",
                                                                                               new
                                                                                                   {
                                                                                                       seriesId =
                                                                                                   Model.SeriesId
                                                                                                   });
                                                               items.Add().Text("Back to Series List").Action("Index",
                                                                                                              "Series");
                                                               items.Add().Text("Scan For Episodes on Disk").Action(
                                                                   "SyncEpisodesOnDisk", "Series",
                                                                   new { seriesId = Model.SeriesId });
                                                               items.Add().Text("Update Info").Action(
                                                                  "UpdateInfo", "Series",
                                                                  new { seriesId = Model.SeriesId });
                                                               items.Add().Text("Rename Series").Action("RenameSeries",
                                                                                                        "Series",
                                                                                                        new
                                                                                                            {
                                                                                                                seriesId
                                                                                                            =
                                                                                                            Model.
                                                                                                            SeriesId
                                                                                                            });
                                                           }).Render();}
}
@section MainContent{
    <fieldset>
        <div class="display-label">
            ID</div>
        <div class="display-field">
            @Model.SeriesId</div>
        <div class="display-label">
            Overview</div>
        <div class="display-field">
            @Model.Overview</div>
        <div class="display-label">
            Status</div>
        <div class="display-field">
            @Model.Status</div>
        <div class="display-label">
            AirTimes</div>
        <div class="display-field">
            @Model.AirTimes</div>
        <div class="display-label">
            Language</div>
        <div class="display-field">
            @Model.Language.ToUpper()</div>
        <div class="display-label">
            Location</div>
        <div class="display-field">
            @Model.Path</div>
    </fieldset>
    @*Todo: This breaks when using SQLServer... thoughts?*@
    @foreach (var season in Model.Seasons.Where(s => s.SeasonNumber > 0).Reverse())
    {

        <br />
        <h3>
            Season @season.SeasonNumber</h3>
        Season season1 = season;
        Html.Telerik().Grid<EpisodeModel>().Name("seasons_" + season.SeasonNumber)
            .TableHtmlAttributes(new { @class = "Grid" })
            .Columns(columns =>
                         {
                             columns.Bound(o => o.EpisodeId)
                                 .ClientTemplate(
                                     "<input type='checkbox' name='checkedEpisodes' value='<#= EpisodeId #>' />")
                                 .Title("")
                                 .Width(1)
                                 .HtmlAttributes(new { style = "text-align:center" });

                             columns.Bound(c => c.EpisodeNumber).Width(10).Title("Episode");
                             columns.Bound(c => c.Title).Title("Title").Width(300);
                             columns.Bound(c => c.AirDate).Format("{0:d}").Width(10);
                             columns.Bound(c => c.Quality).Width(10);
                             columns.Bound(c => c.Path);
                         })
            //.DetailView(detailView => detailView.Template(e => Html.RenderPartial("EpisodeDetail", e)))
            .DetailView(detailView => detailView.ClientTemplate("<div><#= Overview #> </br><#= Path #> </div>"))
            .Sortable(rows => rows.OrderBy(epSort => epSort.Add(c => c.EpisodeNumber).Descending()).Enabled(true))
            .Footer(false)
            .DataBinding(
                d =>
                d.Ajax().Select("_AjaxSeasonGrid", "Series",
                                new RouteValueDictionary { { "seasonId", season1.SeasonId.ToString() } }))
            //.EnableCustomBinding(true)
            //.ClientEvents(e => e.OnDetailViewExpand("episodeDetailExpanded")) //Causes issues displaying the episode detail multiple times...
            .ToolBar(
                c =>
                c.Custom().Text("Rename Season").Action("RenameSeason", "Series", new { seasonId = season1.SeasonId })
                    .ButtonType(GridButtonType.Text))
            .Render();
    }
    @{var specialSeasons = Model.Seasons.Where(s => s.SeasonNumber == 0).FirstOrDefault();}
    @if (specialSeasons != null)
    {

        <br />
        <h3>
            Specials</h3>
        Html.Telerik().Grid(specialSeasons.Episodes).Name("seasons_specials")
            .TableHtmlAttributes(new { @class = "Grid" })
            .Columns(columns =>
                         {
                             columns.Bound(c => c.EpisodeNumber).Width(0).Title("Episode");
                             columns.Bound(c => c.Title);
                             columns.Bound(c => c.AirDate).Format("{0:d}").Width(0);
                         })
            .Sortable(rows => rows.OrderBy(epSort => epSort.Add(c => c.EpisodeNumber)).Enabled(false))
            .Footer(false)
            .Render();
    }
}
@section Scripts{
    <script type="text/javascript">
        function episodeDetailExpanded(e) {
            $console.log("OnDetailViewExpand :: " + e.masterRow.cells[1].innerHTML);
        }
    </script>
}
