﻿var AnasayfaBannerDir = "/assets/img/anasayfa_banner/";
var p = 1;

var getChannels = function(callback) {
    
    blockChannelWidget();

    var catId = $("#catId").val();
    var containerNode = $("#channelList");
    var pagingNode = $("#channelPaging");
    var q = $("#filterQ").val();
    q = (q == "Arama" || q == "Hemen Ara") ? "" : q;

    $.get("/tv/kanallar", { catId: catId, s: 0, p: p, t: 1, m: 28, q: q }, function(response) {
        containerNode.html(response.listHtml);
        pagingNode.html(response.pagingHtml);

        $("li", containerNode).hover(function() {
            $(this).addClass("hover")
        }).mouseleave(function() {
            $(this).removeClass("hover")
        });

        containerNode = null;
        pagingNode = null;
        
        $.uniform.update("#catId");

        unblockChannelWidget();
    }, "json");

    catId = null;
}

var bindTvGenreCategories = function() {
    $.get("/tv/GetTvChannelCategories.aspx", null, function(response) {
        if (response != null) {
            $("#catId").html("").append("<option value=\"0\">Kategori</option>");
            for (var i = 0; i < response.length; i++) {
                $("#catId").append("<option value=\"" + response[i].Id + "\">" + response[i].Name + "</option>");
            }
            $("#catId").unbind("change");
            $("#catId").bind("change", getChannels);
            $.uniform.update("#catId");
        }
    }, "json")
}

var advancePage = function(page) {
    p = page;

    getChannels();
}

var blockChannelWidget = function() {
    $(".leftSide").block({
        message: null,
        overlayCSS: {
            backgroundColor: '#ffffff',
            opacity: 0.4
        },
        css: {
            cursor: 'wait'
        },
        baseZ: 99999
    });
}

var unblockChannelWidget = function() {
    $(".leftSide").unblock();
}

var filterChannelName = function(evt) {
    var charCode = (evt.which) ? evt.which : evt.keyCode
    if (charCode == 13) {
        p = 1;
        getChannels();
    }
    charCode = null;
}

var filterChannelCategory = function() {
    p = 1;
    getChannels();
    $.uniform.update("#catId");
}

$(function() {
    $("#catId").bind("change", filterChannelCategory);

    $("#tabchannels").click(function() {
        if (!$(this).hasClass("selected")) {
            CurrentTabType = "tabchannels";
            $(".tabs .fl.xa li").removeClass("selected");
            $(this).addClass("selected");

            bindTvGenreCategories();
            getChannels();

            $(".bottom .btnGo .ico1").text("Televizyon Anasayfa");
            $(".bottom .btnGo").attr("href", "/tv");

            bindFilterQueryInput();

            $("#anasayfa_banner").first().attr("src", AnasayfaBannerDir + "tv_banner.jpg");
            
            UpdateLayout();
        }
    });

    getChannels();
    bindFilterQueryInput();
});

/************
filter query
************/

var bindFilterQueryInput = function() {
    $("#filterQ").unbind("keypress");
    $("#filterQ").bind("keypress", filterChannelName);
}

/******************
Video tab functions
******************/

var VideoTabPage = 1;
var CurrentTabType = "tvod";

$(function() {
    $("#tabtvod").click(function() {
        if (!$(this).hasClass("selected")) {
            CurrentTabType = "tvod";
            UpdateLayout();
            
            $(".tabs .fl.xa li").removeClass("selected");
            $(this).addClass("selected");

            $(".bottom .btnGo .ico1").text("Kirala İzle Videoları");
            $(".bottom .btnGo").attr("href", "/video/kirala-izle/butun-turler/butun-kategoriler");

            $("#channelPaging").hide();
            $("#anasayfa_banner").first().attr("src", AnasayfaBannerDir + "kirala_izle_banner.jpg");
        }
    });
    $("#tabsvod").click(function() {
        if (!$(this).hasClass("selected")) {
            CurrentTabType = "svod";
            UpdateLayout();

            $(".tabs .fl.xa li").removeClass("selected");
            $(this).addClass("selected");

            $(".bottom .btnGo .ico1").text("Seç İzle Videoları");
            $(".bottom .btnGo").attr("href", "/video/sec-izle/butun-turler/butun-kategoriler");

            $("#channelPaging").hide();
            $("#anasayfa_banner").first().attr("src", AnasayfaBannerDir + "sec_izle_banner.jpg");
        }
    });
    $("#tabtstv").click(function() {
        if (!$(this).hasClass("selected")) {
            CurrentTabType = "tstv";
            UpdateLayout();

            $(".tabs .fl.xa li").removeClass("selected");
            $(this).addClass("selected");

            $(".bottom .btnGo .ico1").text("Tekrar İzle Videoları");
            $(".bottom .btnGo").attr("href", "/video/tekrar-izle/butun-turler/butun-kategoriler");

            $("#anasayfa_banner").first().attr("src", AnasayfaBannerDir + "tekrar_izle_banner.jpg");
        }
    });
    $("#tabfc").click(function() {
        if (!$(this).hasClass("selected")) {
            CurrentTabType = "tabfc";
            UpdateLayout();
            $(".tabs .fl.xa li").removeClass("selected");
            $(this).addClass("selected");
            
            BindFilmClub("grid");
            
            $(".prodContainer .section")
                .append("<div class=\"tabs notop fr xa selectView\">"+
                            "<ul class=\"selectView\">"+
                                "<li id=\"listType-2\" class=\"last\"><a id=\"\" title=\"Liste Görünümü\" class=\"list\" href=\"javascript:;\"><span>Liste</span></a></li>"+
                                "<li id=\"listType-1\" class=\"last selected\"><a title=\"Küçük Resim Görünümü\" class=\"grid\" href=\"javascript:;\"><span>Grid</span></a></li>"+
                            "</ul>" +
                        "</div>");
            $(".selectView a").click(function(){
                if(!$(this).parent().hasClass("selected")){
                    if($(this).hasClass("list")) BindFilmClub("list");
                    if($(this).hasClass("grid")) BindFilmClub("grid");
                    $(".selectView li").removeClass("selected");
                    $(this).parent().addClass("selected");
                }
            });
        }
    });
});

var FilmClubItemCount = 11;
var FilmClubPageCount;

var BindFilmClub = function(type){
    blockChannelWidget();
    jQuery("#channelList").load("/tv/FilmClubTab.aspx?type=" + type, function(){ unblockChannelWidget(); });
    
    //FilmClubItemCount = $("#channelList li").length;
    switch (type) {
        case "grid": FilmClubItemCount = 10; FilmClubPageCount = Math.ceil(FilmClubItemCount / 2); break;
        case "list": FilmClubPageCount = Math.ceil(FilmClubItemCount / 4); break;
    }
    
    var PagingHtml = "<li class=\"button\"><a href=\"javascript:;\" class=\"btnPrev btnStd\"><span class=\"ico1\">Geri</span></a></li>";
    for(var i=0; i<FilmClubPageCount; i++){
        if (i == 0) PagingHtml+= "<li><a href=\"javascript:;\" class=\"selected\">1</a></li>";
        else if (i == (FilmClubPageCount-1)) PagingHtml+= "<li class=\"last\"><a href=\"javascript:;\">"+ (i+1) +"</a></li>";
        else PagingHtml+= "<li><a href=\"javascript:;\">"+ (i+1) +"</a></li>";
    }
    PagingHtml += "<li class=\"button\"><a href=\"javascript:;\" class=\"btnNext btnStd\"><span class=\"ico1\">İleri</span></a></li>";
    $("#channelPaging").html(PagingHtml);
                                
    $("#channelPaging li a").each(function(){
        $(this).die("click");
    }).bind("click", function(){
        var PageToGo = $(this).text();
        var CurrentTab = $("#channelPaging li a.selected").text();
        if (PageToGo == "İleri"){
            if (CurrentTab != FilmClubPageCount.toString()) ChangeFilmClubPage(parseInt(CurrentTab)+1, type);
        }
        else if (PageToGo == "Geri"){
            if (CurrentTab != 1) ChangeFilmClubPage(parseInt(CurrentTab)-1, type);
        }
        else { ChangeFilmClubPage(PageToGo, type); }
    });
}

var ChangeFilmClubPage = function(PageToGo, type){
    $("#channelPaging li a").removeClass("selected");
    $($("#channelPaging li a")[parseInt(PageToGo)]).addClass("selected");
    $("#channelList ul").hide();
    $($("#channelList ul")[parseInt(PageToGo)-1]).show();
}

var VideoTabContent = function(evt) {
    var charCode = (evt.which) ? evt.which : evt.keyCode
    if (charCode == 13) {
        p = 1;
        BindVideoTabContent(CurrentTabType);
    }
    charCode = null;
}

var BindVideoTabContent = function(typename) {
    blockChannelWidget();

    var catId = $("#catId").val();
    catId = catId == "0" ? "" : catId;
    var containerNode = $("#channelList");
    var pagingNode = $("#channelPaging");
    var q = $("#filterQ").val();
    q = (q == "Arama" || q == "Hemen Ara") ? "" : q;

    $.get("/video/HomepageVideo.aspx", { type: typename, catId: catId, p: VideoTabPage, m: 8, q: q }, function(response) {

        containerNode.html(response.listHtml);
        pagingNode.html(response.pagingHtml);

        $("li", containerNode).hover(function() {
            $(this).addClass("selected")
        }).mouseleave(function() {
            $(this).removeClass("selected")
        });

        containerNode = null;
        pagingNode = null;

        unblockChannelWidget();
    }, "json");

    catId = null;
}

var BindVideoCategories = function(type) {
    $.get("/video/HomepageVideoCategories.aspx", { type: type }, function(response) {
        $("#catId").html("")
            .append("<option value=\"0\">Kategori</option>");
        for (var i = 0; i < response.length; i++) {
            var TypeValue = response[i];
            $("#catId").append("<option value=\"" + TypeValue + "\">" + TypeValue.replace(/\^/g, ",") + "</option>");
        }
        $.uniform.update("#catId");
    }, "json");
}

var UpdateLayout = function(){
    $("#filterQ").val("");
    $("#catId").show();
    $(".selectBox").show();
    $("#catId").val("0");
    $.uniform.update("#catId");
    
    switch (CurrentTabType){
        case "tabchannels":
            $(".showcase").removeClass("video").addClass("tvlogo");
            $("#channelPaging").show();
            $(".prodContainer .section .selectView").remove();
            $(".filmclub-static").show();
            $(".bottom .btnGo").show();
            $("#filterQ").show();
            break;
        case "tvod":
        case "svod":
        case "tstv":
            $(".showcase").removeClass("tvlogo").addClass("video");
            $("#catId").unbind("change");
            BindVideoCategories(CurrentTabType);
            $("#catId").bind("change", function() { BindVideoTabContent(CurrentTabType); });
            
            $("#filterQ").show();
            BindVideoTabContent(CurrentTabType);
            $("#filterQ").unbind("keypress");
            $("#filterQ").bind("keypress", VideoTabContent);
            
            $("#channelPaging").hide();
            $(".prodContainer .section .selectView").remove();
            
            $(".filmclub-static").hide();
            $(".bottom .btnGo").show();
            break;
        case "tabfc":
            $(".showcase").removeClass("video").addClass("tvlogo");
            $("#channelPaging").show();
            $(".filmclub-static").hide();
            $("#catId").hide();
            $(".selectBox").hide();
            $("#filterQ").hide();
            $(".bottom .btnGo").hide();
            break;
    }
}