$(document).ready(function () {
    // Start the TimeAgo monitor
    setZeroTimeout(TimeAgo.init, 0);
        
    // check if cookie has been set & hide notice
    if ($.cookie("ma-viewed-notice") == null) {
        $('.search-notice-feature').css('display', 'block');
    }
    
    // Search Box
    $('input#search_query')
        .focus(function () {
            // hide notice box
            if ($('#search-notice-feature').is(':visible')) {
                $('.search-notice-feature').css('display', 'none');
                $.cookie('ma-viewed-notice', 'true',
                     { expires: 60, path: '/' }
                );
            }
            if ($(this).hasClass('empty')) {
                $(this).val('');
                $(this).removeClass('empty');
            }
        })
        .blur(function () {
            if ($(this).val() === '') {
                $(this).addClass('empty');
                $(this).val('Search Wicked...');
            }
        });
     
    $('#notice-close').click(
        function (e) {
            e.preventDefault();
            $('.search-notice-feature').css('display', 'none');
            $.cookie('ma-viewed-notice', 'true',
                 { expires: 60, path: '/' }
            );
        }
    );

    $('#sites-selection-input').change(siteSelection);

    // Clear the default initial value of the input on focus
    $(".clear_input").focus(function () {
        if ($(this).attr("label") == $(this).val()) {
            $(this).val("");
            $(this).addClass("active");
        }
    }).blur(function () {
        if (!$(this).val()) {
            $(this).val($(this).attr("label"));
            $(this).removeClass("active");
        }
    });

    // Submenu drop down
    $('.content-menu-tab').toggle(
        function () {
            $(this).parents('li').find('.content-submenu').slideDown();
        },
        function () {
            $(this).parents('li').find('.content-submenu').slideUp();
        }
    );

    // Player
    $('.download .player-box-menu-a, .quality .player-box-menu-a').click(
        function () {
            if ($(this).parent().find('.player-box-sub-menu').is(':visible')) {
                $(this).parent().find('.player-box-sub-menu').slideUp();
            } else {
                $(this).parent().find('.player-box-sub-menu').slideDown();
            }
        }
    );

    $('.download .player-box-sub-menu-a, .quality .player-box-sub-menu-a').click(
        function () {
            $(this).parent().parent().slideUp();
            return true;
        }
    );

    $('.full-width-button').toggle(
        function () {
            $('.player-box').addClass('full-width');
        },
        function () {
            $('.player-box').removeClass('full-width');
        }
    );

    // Thumbnail overlay effect
    $('.thumbnail-box').hover(
        function () {
            $(this).find('.overlay').show();
        },
        function () {
            $(this).find('.overlay').hide();
        }
    );

    // Init PaysiteModuleVideoUi
    if (window.PaysiteModuleVideoUi) {
        setZeroTimeout(_initializePaysiteModuleVideoUi, 0);
    }

    // quality set cookie function
    $('.player-box-sub-menu .player-box-sub-menu-a').click(
        function () {
            if ($(this).attr('data-quality') !== undefined && !$(this).hasClass("open-trial-popup")) {
                $.cookie(
                    'video_quality',
                    $(this).attr('data-quality'),
                    { 'expires': 30, 'path': '/' }
                );
            }
        }
    );

    // Suggestion box form submit event handler
    $('#feedback-form').submit(_suggestionBoxOnSubmit);

    // Suggestion box cover button click event handler
    $('#feedback-cover-btn').click(
        function () {
            $('#feedback-cover-btn').css('display', 'none');
            $('#feedback-content').css('display', 'block');
        }
    );

    // Initialize Lightbox
    if ($.fn.lightBox) {
        setZeroTimeout(function () {
            var _p = '/assets/common/images/lightbox/',
            _settings = {
                keyToNext: '',
                keyToPrev: '',
                imageLoading:  _p + 'lightbox-ico-loading.gif',
                imageBtnPrev:  _p + 'lightbox-btn-prev.gif',
                imageBtnNext:  _p + 'lightbox-btn-next.gif',
                imageBtnClose: _p + 'close.png',
                imageBlank:    _p + 'lightbox-blank.gif'
            };
            _settings.template = '<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><a href="#" id="lightbox-secNav-btnClose"><img src="' + _settings.imageBtnClose + '" class="png"></a><div id="lightbox-container-image"><img id="lightbox-image"><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="' + _settings.imageLoading + '"></a></div></div></div></div>';

            $('.lightbox').lightBox(_settings);
        }, 0);
    }

    // Rewrite upsell links into nice looking ones..
    var _clickLink = function () {
        var el = $(this);
        $.data(this, 'href', el.attr('href'));
        el.attr('href', $(this).attr('name'));
    };
    $('.trusted-partners-ads-container a').each(function () {
        // In case the span with the rewrite url is not present, we dont want to execute this script
        if ($(this).attr('name')) {
            $(this).hover(function () {
                this.href = $(this).attr('name');
            }).mouseup(function () {
                this.href = $.data(this, 'href');
            });
            $.proxy(_clickLink, this)();
        }
    });

    // Start functions...

    /**
     * Runs PaysiteModuleVideoUi when needed
     * @internal
     */
    function _initializePaysiteModuleVideoUi() {
        if ($('#main_player')[0]) {
            try {
                PaysiteModuleVideoUi.activate('main_player');
            } catch (e) {
                if (window.console) {
                    console.log(e);
                }
            }
        }

        PaysiteModuleVideoUi.getInstance('main_player')
            .bind('qualitySwitch', function (e) {
                $('div.player-box')
                    .removeClass('vcq-' + e.from)
                    .addClass('vcq-' + e.to)
                ;
            })
            .bind('ready', function (e) {
                $('div.player-box').addClass('vcq-' + e.target.current_quality);
            })
        ;

        // Quality buttons (Player)
        $('a.qualityswitcher').click(
            function () {

                var quality = $(this).attr('data-quality');

                PaysiteModuleVideoUi.getInstance('main_player').switchQuality(quality);
                $('.player-box-sub-menu span.bullet').removeClass('bullet');
                $('#span-' + quality).addClass("bullet");

                $('a#quality-select').html(
                    $('a#quality-' + quality).text() +
                    ' <span class="icon"></span>'
                );
            }
        );

        if ($('.player-box-sub-menu span.bullet').size() > 0) {
            $('a#quality-select').html(
                $('.player-box-sub-menu span.bullet').siblings('a.player-box-sub-menu-a').text() +
                ' <span class="icon"></span>'
            );
        }
    }

    /**
     * Handles the suggestion form
     * @internal
     */
    function _suggestionBoxOnSubmit() {
        $('#feedback-content').fadeOut('slow', function () {
            $('#feedback-thankyou').fadeIn();

            // make sure to get the proper checkbox
            var type_checked = $('#suggestion_type_1').val();

            if ($('#suggestion_type_2').attr('checked')) {
                type_checked = $('#suggestion_type_2').val();
            }

            // send blindly the feedback
            $.post(
                $('#suggestion_action').val(),
                {
                    'suggestion_message'    :   $('#suggestion_message_input').val(),
                    'suggestion_technical'  :   $('#suggestion_technical_input').val(),
                    'suggestion_type'       :   type_checked
                }
            );

            return false;
        });

        // do not submit the form
        return false;
    }

    function siteSelection() {
        $.ajax({
            type: "POST",
            url: "/ajax/ThemeSelection/theme/" + $("option:selected", this).val(),
            dataType: 'json',
            success: function (result) {
                window.location.reload(true);
            },
            error: function () {}
        });
    }

});

