/*
* Criação Felipe Esteves 27/11/2008  
* Função para os menus laterais e Carrinho de compras 
*/

//Constantes
TAMANHO_CAIXA = '26px';

FUNDO_EXPANDIDO = 'url("Imagens/tituloLoja/botaoProdutosAberto.png") no-repeat top left';
FUNDO_CONTRAIDO = 'url("Imagens/tituloLoja/botaoProdutosFechado.png") no-repeat top left';

SCROLL_MOVIMENTO_TEMPO = 5;
SCROLL_MOVIMENTO_SACOLA = 138;
SCROLL_MOVIMENTO_INTERVALO = 10;
SCROLL_POSICAO_INICIAL_SACOLA = 140;

MENU_MARGEM_POSICIONAMENTO_IE =  140;
MENU_MARGEM_POSICIONAMENTO_FF = -10;

function menuClick(idMenuSecao) 
{
    var itens = menuItens.split(';');

    for (var i = 0; i < itens.length; i++) 
    {
        var nomeSeparador = 'separadorMenuLateral_' + itens[i];
        var nomeContainer = 'fundoMenuLateral_' + itens[i];

        if (itens[i] == idMenuSecao) 
        {
            menuExibir(nomeContainer, nomeSeparador, true, (itens[0] != idMenuSecao));
        }
        else 
        {
            menuExibir(nomeContainer, nomeSeparador, false, false);
        }
    }
}

function menuExibir(nomeContainer, nomeSeparador, bExibir, bPosicionarTela) //Exibe ou oculta o menu 
{
    var separadorMenu = document.getElementById(nomeSeparador);
    var contanerMenu = document.getElementById(nomeContainer);

    if (!bExibir) 
    {
        separadorMenu.style.height = TAMANHO_CAIXA;
        separadorMenu.style.background = FUNDO_CONTRAIDO;

        contanerMenu.style.display = 'none';
    }
    else 
    {
        var scroll_Atual = getScrollXY();

        if (bPosicionarTela) 
        {
            if (window.navigator.appName == "Microsoft Internet Explorer") 
            {
                window.scrollTo(scroll_Atual[0], separadorMenu.offsetTop + MENU_MARGEM_POSICIONAMENTO_IE);
            }
            else 
            {
                window.scrollTo(scroll_Atual[0], separadorMenu.offsetTop + MENU_MARGEM_POSICIONAMENTO_FF);
            }
        }
        
        separadorMenu.style.height = 'auto';
        separadorMenu.style.background = FUNDO_EXPANDIDO;

        contanerMenu.style.display = 'block';
    }
}

function menuOcultarTodos() //Oculta todos os menus , deixando somente o primeiro visivel
{
    var itens = menuItens.split(';');

    for (var i = 0; i < itens.length; i++) 
    {
        var nomeSeparador = 'separadorMenuLateral_' + itens[i];
        var nomeContainer = 'fundoMenuLateral_' + itens[i];

        if (itens[i] == itens[0]) //Habilitando somente o primeiro menu
        {
            menuExibir(nomeContainer, nomeSeparador, true);
        }
        else 
        {
            menuExibir(nomeContainer, nomeSeparador, false);
        }
    }
}

/* Funcoes para o Carrinho e Sacola */

function inserirProduto(el) //Insere o produto dentro do carrinho quando arrastado para a sacola
{
    //As constantes HDDPRODUTO_CLIENT_ID e BTN_CLIENT_ID São definidas dentro de SacolaCompras.ascx
    document.getElementById(HDDPRODUTO_CLIENT_ID).value = el.getAttribute("IdProduto");
    document.getElementById(BTN_CLIENT_ID).click();
}

function posicionamentoCarrinhoSacola() //Faz o posicionamento da sacola para poder arrastar o produto para o carrinho  
{
    var containerSacola = document.getElementById('containerSacola');
    var scroll_X = getScroll_Y();

    if (scroll_X > SCROLL_POSICAO_INICIAL_SACOLA && scroll_X > SCROLL_MOVIMENTO_SACOLA) 
    {
        var scroll_Destino = (scroll_X + SCROLL_POSICAO_INICIAL_SACOLA - SCROLL_MOVIMENTO_SACOLA);
        var position = isNaN(parseInt(containerSacola.style.top)) ? 0 : parseInt(containerSacola.style.top);

        if (position < scroll_Destino) 
        {
            containerSacola.style.top = (position + SCROLL_MOVIMENTO_INTERVALO ) + 'px';

            setTimeout('posicionamentoCarrinhoSacola()', SCROLL_MOVIMENTO_TEMPO); // scrolls every 100 milliseconds
        }
    }
}

function posicionamentoCarrinhoSacolaRetornar() //Retorna o posicionamento da sacola para a posição padrão
{
    
    var containerSacola = document.getElementById('containerSacola');
    var position = isNaN(parseInt(containerSacola.style.top)) ? 0 : parseInt(containerSacola.style.top);

    if (position - SCROLL_POSICAO_INICIAL_SACOLA > 0) 
    {
        var posicaoNova = position - SCROLL_MOVIMENTO_INTERVALO;

        if (posicaoNova < 0) 
        {
            containerSacola.style.top = '0px';
        }
        else 
        {
            containerSacola.style.top = posicaoNova + 'px';
        }

        setTimeout('posicionamentoCarrinhoSacolaRetornar()', SCROLL_MOVIMENTO_TEMPO); // scrolls every 100 milliseconds
    }
    else {
        lockRetornar = false;
    }
}

function getScroll_Y() 
{
    return getScrollXY()[1];
}

//Retorna a posição scroll Atual [X,Y]
function getScrollXY() 
{
    var scrOfX = 0, scrOfY = 0;

    if (typeof (window.pageYOffset) == 'number') 
    {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    }
    else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) 
    {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } 
    else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) 
    {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }
    
    return [scrOfX, scrOfY];
}    
