var videos = {};
var popup_player = null;
var billboard_player = null;
var hash = window.location.hash.replace("#", "");
var cycle_settings =
{
    pause: 1,
    pauseOnPagerHover: 1,
    speed:       1000,
    timeout:     7000,
    prev: "#slideshow_prev",
    next: "#slideshow_next",
    before: cycleBefore
};

function cycleBefore(curr, next, opts)
{
    var id = $(this).attr("id");

    var short_description = $("#slideshow-contents").find("#content_" + id + " .short-description").html();
    var full_description = $("#slideshow-contents").find("#content_" + id + " .full-description").html();

    $("#slideshow_short_description").html(short_description);
    $("#slideshow_full_description").html(full_description);

    if(videos[id].is_new == 1)
    {
        $("#is-new").show();
    }
    else
    {
        $("#is-new").hide();
    }

    Cufon.refresh('.cufon.avenir.viewer-short-description');
    Cufon.refresh('.cufon.avenir.viewer-read-more');
    Cufon.refresh('.cufon.avenir.viewer-full-description');
}

function setBillboardVideoPlayer()
{
    var actual_index = $("#slideshow").find("img:visible").attr("id");

    $("#slideshow").cycle("pause");

    $("#view-video, #is-new").slideUp();

    $("#billboard-content-video-player").show();

    billboard_player.play("/uploads/video/" + videos[actual_index].video);

    billboard_player.load();
}

function unsetBillboardVideoPlayer()
{
    billboard_player.unload();

    $("#billboard-content-video-player").hide();

    $("#view-video").slideDown();

    $('#slideshow').cycle("resume");
}

function setPopupVideoPlayer()
{
    if(popup_player == null)
    {
        popup_player = $f("popup-video-player",
        {
            src: "/js/flowplayer-3.2.5.swf",
            wmode: "transparent",
            plugins:
            {
                controls:
                {
                    volumeColor: '#ffffff',
                    sliderBorder: '1px solid rgba(128, 128, 128, 0.7)',
                    timeColor: '#000',
                    buttonOverColor: '#ffffff',
                    progressColor: '#f4f4f4',
                    bufferColor: '#323232',
                    timeBgColor: 'rgb(0, 0, 0, 0)',
                    tooltipTextColor: '#ffffff',
                    sliderGradient: 'none',
                    borderRadius: '0px',
                    progressGradient: 'none',
                    volumeSliderColor: '#323232',
                    backgroundColor: 'rgba(0, 0, 0, 0)',
                    backgroundGradient: 'none',
                    buttonColor: '#f4f4f4',
                    tooltipColor: '#000000',
                    bufferGradient: 'none',
                    timeSeparator: ' ',
                    volumeBorder: '1px solid rgba(128, 128, 128, 0.7)',
                    sliderColor: '#000000',
                    volumeSliderGradient: 'none',
                    time: false,
                    mute: false,
                    timeBorder: '0px solid rgba(0, 0, 0, 0.3)',
                    durationColor: '#a3a3a3',
                    height: 32,
                    opacity: 1.0,
                    autoHide:{
                        enabled:true,
                        hideDelay:500,
                        mouseOutDelay:500,
                        hideStyle:"fade",
                        hideDuration:400,
                        fullscreenOnly:false
                    },
                    margins:[2,6,2,12]
                }
            }
        });
    }

    // Apagar billboard player
    unsetBillboardVideoPlayer();

    var actual_index = $("#popup").find("img").attr("id");

    $("#popup-is-new, #popup-view-video").slideUp();

    $("#popup").find("img").hide();

    $("#popup-content-video-player").show();

    popup_player.play("/uploads/video/" + videos[actual_index].video);

    popup_player.load();
}

function unsetPopupVideoPlayer()
{
    if(popup_player != null)
    {
        popup_player.unload();
        $("#popup-content-video-player").hide();
    }

    popup_player = null;
}

$(document).ready(function()
{
    $.getJSON("/motion/json", function(data)
    {
        videos = data;
        $('#slideshow').cycle(cycle_settings);
    });

    if(hash)
    {
        $('<a href="/motion/' + hash.replace("#", "") + '">' + hash.replace("#", "") + '</a>').fancybox({
            "padding": 1,
            "scrolling": "no",
            "overlayColor": "#000000",
            'onClosed': unsetPopupVideoPlayer
        }).click();
    }

    $("#billboard-share-facebook").click(function(e)
    {
        e.preventDefault();
        window.open(videos[$("#slideshow").find("img:visible").attr("id")].share_facebook_link);
    });

    $("#billboard-share-twitter").click(function(e)
    {
        e.preventDefault();
        window.open(videos[$("#slideshow").find("img:visible").attr("id")].share_twitter_link);
    });

    $("#view-video").click(setBillboardVideoPlayer);
    $("#popup-view-video").live("click", setPopupVideoPlayer);

    $('#slideshow_prev, #slideshow_next, #is-new, #view-video').hover(function()
    {
        $('#slideshow').cycle("pause");
    }, function()
    {
        if($('#billboard-content-video-player').is(":hidden"))
        {
            $('#slideshow').cycle("resume");
        }
    });

    $('#slideshow_prev, #slideshow_next').click(function()
    {
        unsetBillboardVideoPlayer();
        $("#slideshow_full_description").slideUp("fast");
    });

    $("#load-more").click(function()
    {
        var work_gallery = $("#gallery .work-gallery:hidden");

        if(work_gallery.length > 0)
        {
            $.each(work_gallery, function(index, value)
            {
                if(index <= 5)
                {
                    $(value).fadeIn();
                }
            })
            if($("#gallery .work-gallery:hidden").length == 0)
            {
                $("#load-more").remove();
            }
        }
    });

    $(".fancybox").fancybox(
    {
        "padding": 1,
        "scrolling": "no",
        "overlayColor": "#000000",
        'onClosed': unsetPopupVideoPlayer
    });

    $("#read-more").click(function()
    {
        $('#slideshow').cycle("pause");
        $("#slideshow_full_description").slideToggle("fast");
    });

    $(".read-more-popup").live("click", function()
    {
        $(this).next().slideToggle("fast");
    });

    billboard_player = $f("billboard-video-player", {
        src: "/js/flowplayer-3.2.5.swf",
        wmode: "transparent",
        plugins: {
            controls:
            {
                volumeColor: '#ffffff',
                sliderBorder: '1px solid rgba(128, 128, 128, 0.7)',
                timeColor: '#000',
                buttonOverColor: '#ffffff',
                progressColor: '#f4f4f4',
                bufferColor: '#323232',
                timeBgColor: 'rgb(0, 0, 0, 0)',
                tooltipTextColor: '#ffffff',
                sliderGradient: 'none',
                borderRadius: '0px',
                progressGradient: 'none',
                volumeSliderColor: '#323232',
                backgroundColor: 'rgba(0, 0, 0, 0)',
                backgroundGradient: 'none',
                buttonColor: '#f4f4f4',
                tooltipColor: '#000000',
                bufferGradient: 'none',
                timeSeparator: ' ',
                volumeBorder: '1px solid rgba(128, 128, 128, 0.7)',
                sliderColor: '#000000',
                volumeSliderGradient: 'none',
                time: false,
                mute: false,
                timeBorder: '0px solid rgba(0, 0, 0, 0.3)',
                durationColor: '#a3a3a3',
                height: 32,
                opacity: 1.0,
                autoHide:{
                    enabled:true,
                    hideDelay:500,
                    mouseOutDelay:500,
                    hideStyle:"fade",
                    hideDuration:400,
                    fullscreenOnly:false
                },
                margins:[2,6,2,12]
            }
        }
    });
});
