﻿/* Remove content's unwanted border-bottom */
$(function () {
    $('div.content > div.left > div:last-child').css('border', '0');
    $('div.content > div.right > div:last-child').removeClass('sub_box_border');
});

/* Home banner */
$(function () {
    //alert("the site is being updated...")
    var $slider = $('ul#slider');
    if ($slider[0]) {
        var $sliderControls = $('div.banner_wrap > div.control ul > li > a');
        var currentIndex = 0;
        $sliderControls.eq(currentIndex).addClass("highlight");
        $slider.anythingSlider({
            width: "940px",
            height: "320px",
            autoPlay: true,
            enablePlay: false,
            delay: 5000,
            startPanel: 1,
            hashTags: false,
            enableKeyboard: false,
            infiniteSlides: true,
            buildArrows: false,
            buildNavigation: false,
            buildStartStop: false
        });

        $slider.bind('slide_complete', function (e, slider) {
            currentIndex = slider.currentPage - 1;
            $sliderControls.removeClass("highlight");
            $sliderControls.eq(currentIndex).addClass("highlight");
        });

        $sliderControls.click(function () {
            var $this = $(this);
            if (!$this.hasClass("highlight")) {
                currentIndex = $sliderControls.index($this);
                $slider.data('AnythingSlider').startStop(false);  // auto play stop
                $slider.data('AnythingSlider').gotoPage(currentIndex + 1);
                $slider.data('AnythingSlider').startStop(true); // auto play start
            }
            return false;
        });

        $("div.banner_wrap > div.control a.prev").click(function () {
            $slider.data('AnythingSlider').goBack();
            return;
            var index = currentIndex - 1;
            if (index < 0) {
                index = $sliderControls.length - 1;
            }
            $sliderControls.eq(index).click();
        });

        $("div.banner_wrap > div.control a.next").click(function () {
            $slider.data('AnythingSlider').goForward();
            return;
            var index = currentIndex + 1;
            if (index >= $sliderControls.length) {
                index = 0;
            }
            $sliderControls.eq(index).click();
        });
    }
});

/* TV carousel overlay */
$(function () {
    //    $('<img src="/Cms_Data/Sites/WNL/Themes/Default/image/tv.png" class="overlay" alt="" />').appendTo($('.tv > .photo a'));
    //    $('<img src="/Cms_Data/Sites/WNL/Themes/Default/image/tv_overlay_hover.png" class="overlay_hover" alt="" />').appendTo($('.tv > .photo a'));
    //    $('<img src="/Cms_Data/Sites/WNL/Themes/Default/image/tv_2.png" class="overlay" alt="" />').appendTo($('.programs .image'));
    //    $('<img src="/Cms_Data/Sites/WNL/Themes/Default/image/tv_3.png" class="overlay" alt="" />').appendTo($('.side_clips .clip'));
    //    $('<img src="/Cms_Data/Sites/WNL/Themes/Default/image/tv_3_overlay_hover.png" class="overlay_hover" alt="" />').appendTo($('.side_clips .clip'));
    var $tvs = $("div.tv");
    $tvs.each(function () {
        var $tv = $(this);
        var isRadio = $tv.find("div.brief > h5.radio")[0];
        if (isRadio) {
            $('<img src="/Cms_Data/Sites/WNL/Themes/Default/image/radio.png" class="overlay_hover" alt="" />').appendTo($tv.find("div.photo > a"));
        } else {
            $('<img src="/Cms_Data/Sites/WNL/Themes/Default/image/tv.png" class="overlay_hover" alt="" />').appendTo($tv.find("div.photo > a"));
        }
    });
    //$('<img src="/Cms_Data/Sites/WNL/Themes/Default/image/tv_2.png" class="overlay" alt="" />').appendTo($('.programs .image'));
    $('<img src="/Cms_Data/Sites/WNL/Themes/Default/image/tv_3_overlay_hover.png" class="overlay_hover" alt="" />').appendTo($('.side_clips .clip > a'));
});

/* TV carousel */
$(function () {
    var $scrollables = $('div.scrollable');
    $scrollables.find('div.part div:last-child').css({ 'margin': '0' });
    $scrollables.each(function (i, elem) {
        var $scrollable = $(this);
        var scrollableHeight = $('div.items', this).height();
        $scrollable.height(scrollableHeight);

        var $prev = $scrollable.prev("a.prev");
        var $next = $scrollable.next("a.next");
        var $parts = $scrollable.find('div.part');
        if ($parts.length > 1) {
            $scrollable.scrollable({ circular: true, mousewheel: false }).navigator(); //.autoscroll({ interval: 7500 });
            $prev.show();
            $next.show();
        } else {
            $prev.hide();
            $next.hide();
        }
    });

    function correctOffset(o) {
        $('\'' + o + ' .featured_tv a.left').css('left', (606 - ($('\'' + o + ' .navi a').size() * 15 + 42 + 42)) * 0.5);
        $('\'' + o + ' .featured_tv .navi').css('left', (606 - ($('\'' + o + ' .navi a').size() * 15 + 42 + 42)) * 0.5 + 42);
        $('\'' + o + ' .featured_tv a.right').css('left', (606 - ($('\'' + o + ' .navi a').size() * 15 + 42 + 42)) * 0.5 + 42 + $('\'' + o + ' .navi a').size() * 15);
    }

    correctOffset('.you_have_to_see');
    correctOffset('.broadcast_missed');
    correctOffset('.fragments');
});

/* pagination auto offset */
$(function () {
    $('.pagination > .inner').css('left', ($('.pagination').width() - $('.pagination > .inner').width()) * .5);
});

/* Beautify input of poll */
$(function () {
    $('.side_poll li > input:radio').hide();
    $('.side_poll li').each(function () {
        $('<span class="radio"></span>').prependTo($(this));
    });
    $('.side_poll li').click(function () {
        $('.side_poll li > input:radio').removeAttr('checked');
        $('.side_poll li').removeClass('selected');
        $('input:radio', this).attr('checked', 'checked');
        $(this).addClass('selected');
    });
});

/* Add twitter */
$(function () {
    $('.add_twitter').hide();

    var ori_color = $('b.remaining').css('color');
    $('.add_twitter textarea').keyup(function () {
        $('b.remaining').text(140 - $(this).val().length);
        if ($(this).val().length > 140) {
            $('b.remaining').css('color', 'red');
        } else {
            $('b.remaining').css('color', ori_color);
        }
    });
});

$(function () {
    // Nieuwsbrief
    $('div.subscribe input[type="text"]').focus(function () {
        if ($(this).val() == 'Typ uw e-mailadres') {
            $(this).val('');
        }
    });
    $('div.subscribe input[type="text"]').blur(function () {
        if ($(this).val().trim() == '') {
            $(this).val('Typ uw e-mailadres');
        }
    });

    /* Checkbox */
    $("li.checkbox span").click(function () {
        var $self = $(this);
        var $selfParent = $self.parent();
        if ($selfParent.hasClass("checked")) {
            $selfParent.removeClass("checked");
        } else {
            $selfParent.addClass("checked");
        }
    });
});

$.format = function (source, params) {
    if (arguments.length == 1)
        return function () {
            var args = $.makeArray(arguments);
            args.unshift(source);
            return $.format.apply(this, args);
        };

    if (arguments.length > 2 && params.constructor != Array) {
        params = $.makeArray(arguments).slice(1);
    }

    if (params.constructor != Array) {
        params = [params];
    }

    $.each(params, function (i, n) {
        source = source.replace(new RegExp("\\{" + i + "\\}", "g"), n);
    });

    return source;
};

/* Search */
$(function () {
    /* Search in the header */
    var placeHolderInTheHeader = "Zoeken...";
    var $txtSearchInTheHeader = $("div.header div.search input[name=q]");
    var $searchFormInTheHeader = $("div.header div.search form");

    $('div.search_bar form span.submit').click(function () {
        $(this).closest('form').submit();
    })

    $txtSearchInTheHeader.focus(function () {
        if ($txtSearchInTheHeader.val() == placeHolderInTheHeader) {
            $txtSearchInTheHeader.val("");
        }
    });

    $txtSearchInTheHeader.blur(function () {
        if ($txtSearchInTheHeader.val().trim() == "") {
            $txtSearchInTheHeader.val(placeHolderInTheHeader);
        }
    });

    $txtSearchInTheHeader.keyup(function (event) {
        if (event.keyCode == 13) {
            $searchFormInTheHeader.submit();
        }
    });

    $searchFormInTheHeader.submit(function () {
        if ($txtSearchInTheHeader.val() == placeHolderInTheHeader) {
            $txtSearchInTheHeader.val("");
        }
    });

    /* Search in the main */
    var placeHolderInTheMain = "Opnieuw zoeken...";
    var $txtSearchInTheMain = $("div.content div.search_bar input[name=q]");
    var $btnSearchInTheMain = $("div.content div.search_bar input[type=submit]");
    var $searchFormInTheMain = $("div.content div.search_bar form");

    $("div.content div.search_bar > div.inner").hover(function () {
        $txtSearchInTheMain.css({ "color": "#2a2a2a" });
        $btnSearchInTheMain.css({ "background-position": "0px -79px" });
    }, function () {
        $txtSearchInTheMain.css({ "color": "" });
        $btnSearchInTheMain.css({ "background-position": "0px -40px" });
    });

    $txtSearchInTheMain.focus(function () {
        $txtSearchInTheMain.css({ "color": "#2a2a2a" });
        $btnSearchInTheMain.css({ "background-position": "0px -79px" });
        if ($txtSearchInTheMain.val() == placeHolderInTheMain) {
            $txtSearchInTheMain.val("");
        }
    });

    $txtSearchInTheMain.blur(function () {
        $txtSearchInTheMain.css({ "color": "" });
        $btnSearchInTheMain.css({ "background-position": "0px -40px" });
        if ($txtSearchInTheMain.val().trim() == "") {
            $txtSearchInTheMain.val(placeHolderInTheMain);
        }
    });

    $searchFormInTheMain.submit(function () {
        if ($txtSearchInTheMain.val() == placeHolderInTheMain) {
            $txtSearchInTheMain.val("");
        }
    });

    $('.controler').click(function () {
        if (!$(this).parent().parent().parent().hasClass('disable')) {
            if ($(this).parent().hasClass('type_list_open')) {
                $(this).parent().removeClass('type_list_open');
                $(this).parent().addClass('type_list_closed');
                $(this).parent().css('z-index', '301');
                $(this).parent().removeClass('current');
            } else if ($(this).parent().hasClass('type_list_closed')) {
                $('.controler').parent().removeClass('type_list_open');
                $('.controler').parent().addClass('type_list_closed');
                $('.controler').parent().css('z-index', '301');
                $(this).parent().removeClass('type_list_closed');
                $(this).parent().addClass('type_list_open');
                $(this).parent().css('z-index', '302');
                $('.type').removeClass('current');
                $(this).parent().addClass('current');
            }
            return false;
        } else {
            return false;
        }
    });

    $(document).click(function () {
        $('.type').removeClass('type_list_open');
        $('.type').addClass('type_list_closed');
    });

    var $conditions = $("div.conditions");
    var $programmes = $('#programmesSelector div.list > ul > li > a');
    var $program = $('div.search_bar input[name=program]');
    var init = true;
    $programmes.click(function () { // programmes
        var text = $(this).text();
        var id = $(this).attr('data-id');
        // $('.controler span.current').text(text);
        $('.type').removeClass('type_list_open');
        $('.type').addClass('type_list_closed');

        $conditions.append($.format("<div class='block clearfix'><div class='inner clearfix'><span class='condition'  data-id='{1}'>'{0}'</span> <span class='close notext'>remove this condition</span></div><span class='right_side'></span></div>", text, id));
        $(this).closest('li').hide();
        fixSearchConditions();
        updateProgramsIds();
        if (!$('div#search_wrapper').length) {
            $('div.search_bar form').submit();
        }

        return false;
    });

    $('span.close', $conditions).live('click', function () {
        var id = $(this).closest('div.block').find('span.condition').attr('data-id');
        if ($('span.close', $conditions).index($(this)) == 0 && $('span.close', $conditions).length > 1) {
            var $next = $(this).closest('div.block').next();
            $(this).closest('div.inner').html($next.find('div.inner').html());
            $next.remove();
        }
        else {
            $(this).closest('div.block').remove();
        }
        $programmes.filter("a[data-id=" + id + "]").closest('li').show();
        updateProgramsIds()
        return false;
    });

    function updateProgramsIds() {
        var ids = $("span.condition", $conditions).map(function () {
            return $(this).attr('data-id');
        }).get().join(',');
        $program.val(ids);
        if (!init) {
            filterParamChanged();
        }
    }

    if ($.trim($program.val()) != "") {
        var programUUIDs = $program.val().split(",");
        for (var index in programUUIDs) {
            var programUUID = programUUIDs[index];
            $programmes.filter("a[data-id=" + programUUID + "]").click();
        }
    }
    init = false;

    /* Fix search conditions background offset */
    function fixSearchConditions() {
        $("div.conditions div.block:gt(0)").css({
            'margin': '0 0 0 -17px'
        });
        $("div.conditions div.block div.inner:gt(0)").css({
            'background': 'url(/Cms_Data/Sites/WNL/Themes/Default/image/condition.png) no-repeat right 0px',
            'padding': '0 0 0 24px'
        });
        var z = 300;
        $("div.conditions div.block").each(function (i, elem) {
            $(this).css('z-index', z);
            z--;
        });
    }

    /* Datepicker */
    var $date = $(".search_bar form input[name=date]");
    $.datepicker.setDefaults($.datepicker.regional["nl"]);
    $("#datepicker").datepicker({
        onSelect: function (dateText, inst) {
            if (!$("#datepicker").data('currentDate')) {
                $("#datepicker").data('currentDate', new Date().toDateString());
            }
            var currentDate = $("#datepicker").data('currentDate');
            if (currentDate != null && $("#datepicker").datepicker("getDate").toDateString() == currentDate) {
                $('#datepicker').removeClass('ui-datepicker-today-selected');

                $("#datepicker").datepicker("setDate", null);
                $("#datepicker").data('currentDate', "none");
            }
            else {
                $("#datepicker").data('currentDate', $("#datepicker").datepicker("getDate").toDateString());

                if ($("#datepicker").data('currentDate') == new Date().toDateString()) {
                    $('#datepicker').addClass('ui-datepicker-today-selected');
                }
            }
            $date.val($("#datepicker").data('currentDate'));
            filterParamChanged();
            if (!$('div#search_wrapper').length) {
                $('div.search_bar form').submit();
                return;
            }
        }
    });
    $('#datepicker').addClass('ui-datepicker-today-selected');
    if ($.trim($date.val()) != "") {
        var date = new Date($date.val());
        $('#datepicker').datepicker('setDate', date);
        $("#datepicker").data('currentDate', $date.val());
    }
});

function filterParamChanged() {
    $('div.search_bar form').trigger("changed.filter");
}
