﻿function FillPosterList(PosterList, Category, Page) {
    try {
        var jd = "{\"Cat\":\"" + Category + "\",\"Page\":" + Page + "}";
        $.ajax({
            url: "film/filmlists.asmx/GetPosterList",
            global: false,
            type: "POST",
            data: jd,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            success: function (msg) { PosterSuccess(PosterList, $.evalJSON(msg.d), Page); },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert("fail->" + errorThrown + ":" + textStatus);
            }
        });
    } catch (r) {
        if (r.message)
            alert("exception:" + r.message);
        else alert("exception:" + r);
    }
}

function PosterSuccess(PosterList, data, Page) {
    var div = $("<div class='filmlistContainer'></div>");    
    var posterUrl = "film/poster.ashx?id=";
    $.each(data, function (i, item) {
        var fID = item.ID;
        var filmlink = "film/details.aspx?filmid=" + fID;

        var ref = $("<a href='" + filmlink + "'></a>");
        var ref2 = $("<a href='" + filmlink + "'>" + item.T + "</a>");

        var title = $("<div class='filmItemTitle'></div>");
        var image = "<div class='filmImgContainer'><img src='" + posterUrl + fID + "&size=smallposter" + "' alt=\"\" title=\"" + item.T + "\" /></div>";

        var desc = $("<div class='filmItemDesc'>" + item.Desc + "</div>");
        var container = $("<div class='filmItemContainer'></div>"); 
        ref.append(image);
        title.append(ref2);
        container.append(ref).append(title).append(desc);

        div.append(container);
    });
    if ($("#" + PosterList + " > .filmlistContainer").length > 0) {
        $("#" + PosterList + " > .filmlistContainer").replaceWith(div);
    } else $("#" + PosterList).prepend(div);
}

function BuildFilmList(PosterList, Category) {
    try {
        var headerText = "";
        switch (Category) {
            case "New":
                headerText = "Nylig publiserte filmer";
                break;
            case "Top":
                headerText = "Toppliste";
                break;
            case "Reccomended":
                headerText = "Vi anbefaler";
                break;
            default:
                break;
        }
        var header = $("<div class='filmlistHeader'><div class='filmlistHeaderText'>" + headerText + "</div></div>");
        $("#" + PosterList).prepend(header);
        FillPosterList(PosterList, Category, 1);
        var pagerContainer = $("<div class='pagerContainer'></div>");
        var pager = $("<div class='pager'></div>");
        var i = 0;
        var pageCount = 5;
        if (Category == "Reccomended") pageCount = 2;
        for (i = 0; i < pageCount; ++i) {
            var page = $("<div class='ppage'>" + (i + 1) + "</div>").click(function () {
                $(this).parent().children().each(function () { $(this).removeClass("ppage_sel"); });
                $(this).addClass("ppage_sel");
                var sp = $(this).text();
                FillPosterList(PosterList, Category, sp);
            });
            if (i == 0) page.addClass("ppage_sel");
            pager.append(page);
        }

        pagerContainer.append(pager);
        $("#" + PosterList + " > .filmlistHeader").append(pagerContainer);

    }
    catch (r) {
        alert("BuildFilmList failed! " + r);
    }
}

