﻿$(document).ready(function ()
{
    // Drag and Drop das janelas
    inicializaDragDrop();
    // Efeito do menu esquerdo
    $('.leftMenuItem').hover(function () { $(this).toggleClass('leftMenuItemHover'); });
    // Inicializa o banner e a loja
    initBanner();
    initProdutos();
});

// Banner
var bannerTimer;
var currentBannerIndex = 0;
var bannerTimerEnabled = false;

function initBanner()
{
    $('.bannerThumbHighlight').css({ opacity: 0.25 });
    $('.bannerThumb').click(function ()
    {
        currentBannerIndex = $(this).index();
        showCurrentBanner();
    });

    playBanner();
    initBannerCollapseControl();
}

function nextBanner()
{
    currentBannerIndex += 1;
    if (currentBannerIndex >= $('.bannerThumb').length) currentBannerIndex = 0;

    showCurrentBanner()
}

function showCurrentBanner()
{
    var amount = -100 * currentBannerIndex;
    $('.bannerContentArea').animate({ left: amount + '%' }, 'slow');
    var highlightAmount = 25 * currentBannerIndex;
    $('.bannerThumbHighlight').animate({ left: highlightAmount + '%' }, 'slow');
    resetBannerTimer();
}

function playBanner()
{
    if (bannerTimerEnabled)
        bannerTimer = setInterval('nextBanner()', 15000);
}

function stopBanner()
{
    if (bannerTimerEnabled)
        clearInterval(bannerTimer);
}

function resetBannerTimer()
{
    stopBanner();
    playBanner();
}

function initBannerCollapseControl()
{
    // Abrir e fechar do banner
    var bannerCollapsed = $.cookie('bannerCollapsed') == 'true' ? true : false;
    if (bannerCollapsed)
        $('.bannerControl').slideUp(0);

    $('#CollapseBanner').click(function ()
    {
        bannerCollapsed = !bannerCollapsed;
        if (bannerCollapsed)
        {
            $(this).attr('src', 'Resources/Personalizacao/ExpandBanner.png');
            stopBanner();
        }
        else
        {
            $(this).attr('src', 'Resources/Personalizacao/CollapseBanner.png');
            playBanner();
        }
        $('.bannerControl').slideToggle('slow');
        $.cookie('bannerCollapsed', bannerCollapsed, { path: '/', expires: 1 });
    });
}

// Produtos
var produtoTimer;
var currentProdutoIndex = 0;
var produtoTimerEnabled = true;

function initProdutos()
{
    showCurrentProduto();
    $('.produtoThumb').click(function ()
    {
        currentProdutoIndex = $(this).index();
        showCurrentProduto();
        resetProdutoTimer();
    });

    playProduto();
}

function nextProduto()
{
    currentProdutoIndex += 1;
    if (currentProdutoIndex >= $('.produtoThumb').length) currentProdutoIndex = 0;

    showCurrentProduto()
}

function showCurrentProduto()
{
    try
    {
        var amount = -100 * currentProdutoIndex;
        $('.produtoContentArea').animate({ left: amount + '%' }, 'slow');

        $('.produtoThumbIcon').removeClass('selected');
        $('.produtoThumbIcon', $('.produtoThumb').get(currentProdutoIndex)).addClass('selected');
    }
    catch (e) { }
}

function playProduto()
{
    if (produtoTimerEnabled)
        produtoTimer = setInterval('nextProduto()', 5000);
}

function stopProduto()
{
    if (produtoTimerEnabled)
        clearInterval(produtoTimer);
}

function resetProdutoTimer()
{
    stopProduto();
    playProduto();
}

function inicializaDragDrop()
{
    $('.dropTarget').sortable(
        {
            connectWith: '.dropTarget',
            placeholder: 'dragDropPlaceholder',
            forcePlaceholderSize: true,
            stop: function () { salvaDragDrop(); }
        });

    // configuração inicial do cookie
    if ($.cookie('dragDropOrder'))
    {
        try
        {
            var ordem = $.cookie('dragDropOrder').split('|');

            // posiciona boxes nos containers certos
            $('#dropTarget1 .dragDropItem').each(function ()
            {
                if (ordem[0].search($(this).attr('id')) == -1)
                    $('#dropTarget2').append($(this));
            });
            $('#dropTarget2 div.itemDrag').each(function ()
            {
                if (ordem[1].search($(this).attr('id')) == -1)
                    $('#dropTarget1').append($(this));
            });

            // ordena containers
            var esquerda = ordem[0].split(',');
            for (i = 0; i <= esquerda.length; i++)
                $('#dropTarget1').append($('#' + esquerda[i]));

            var direita = ordem[1].split(',');
            for (i = 0; i <= direita.length; i++)
                $('#dropTarget2').append($('#' + direita[i]));
        } catch (e)
        {
            $.cookie('dragDropOrder', '', { expires: 7, path: '/' });
            location.reload();
        }
    }
    else
    {
        $.cookie('dragDropOrder', '', { expires: 7, path: '/' });
    }
}

function salvaDragDrop()
{
    var ordem = $('#dropTarget1').sortable('toArray');
    ordem += '|' + $('#dropTarget2').sortable('toArray');
    $.cookie('dragDropOrder', ordem, { path: '/', expires: 30 });
}
