<?php

// descrição dos status do carrinho
// 0 - carrinho vazio
// 1 - carrinho com produto, logado e com endereço
// 2 - carrinho com produto, logado e sem endereço
// 3 - carrinho com produto, deslogado e com cep
// 4 - carrinho com produto, deslogado e sem cep

session_start();
require ('../../_app/Config.inc.php');

//carrinho vazio//////////////////////////////////////////////////////////////////
if (empty($_SESSION['storecart']['produto'])):
    if (!empty($_SESSION['storecart']['subtotal'])):
        unset($_SESSION['storecart']['subtotal'], $_SESSION['storecart']['total'], $_SESSION['storecart']['entrega']);

        setcookie('storecart', ""); //apagar o cookie caso exista
        //criar o cookie somente se a session for diferente de vazio
        if (!empty($_SESSION['storecart'])):
            setcookie('storecart', serialize($_SESSION['storecart']), time() + 3600); //cria o novo cookie
        endif;
    endif;

    $cart['subtotal'] = '<div class="trigger trigger-infor">Nenhum produto na lista de pedido.</div>';

    $cart['status'] = 0;

else:
    $cart['subtotal'] = "";
    //montando lista do carrinho (produtos)
    foreach ($_SESSION['storecart']['produto'] as $SesProd):
        $ReadProd = new Read;
        $ReadProd->ExeRead("tp_produtos", "WHERE produto_id = :prod", "prod={$SesProd['id']}");
        foreach ($ReadProd->getResult() as $produto):
            extract($produto);
            //Testar se existe promoção e aplicar se houver                    
            $ReadProd->FullRead("SELECT * FROM tp_produto_promocoes WHERE produto_id = :prodid AND produto_promo_status = 1 AND produto_promo_data_ini <= NOW() AND produto_promo_data_fim >= NOW()", "prodid={$produto_id}");
            if ($ReadProd->getRowCount() > 0):
                $produto_preco = $ReadProd->getResult()[0]['produto_promo_preco'];
            endif;

            $qtd = $_SESSION['storecart']['produto'][$produto_id]['qtd'];

            $produto_total = $produto_preco * $qtd;
            $subtotal[$produto_id] = $produto_total;
            $produto_total = number_format($produto_total, 2, ',', '.');

            $produto_preco = number_format($produto_preco, 2, ',', '.');
            $home = HOME;
            $cart['subtotal'] .= "<div class=\"main_cart_list_body\">";
            $cart['subtotal'] .= "<div class=\"product\">";
            $cart['subtotal'] .= "<div class=\"thumb\"><a href=\"{$home}/produto/{$produto_nome}\"><img src=\"{$home}/uploads/{$produto_thumb}\"></a></div>";
            $cart['subtotal'] .= "<span><a href=\"{$home}/produto/{$produto_nome}\">{$produto_titulo}</a></span>";
            $cart['subtotal'] .= "</div>";
            $cart['subtotal'] .= "<div class=\"amount\">";
            $cart['subtotal'] .= "<span class=\"btn icon-minus icon-notext\" onclick=\"javascript:quantidade(-1, {$produto_id});\"></span>";
            $cart['subtotal'] .= "<input type=\"tel\" id=\"quantidade_{$produto_id}\" value=\"{$qtd}\" name=\"quantidade\">";
            $cart['subtotal'] .= "<span class=\"btn icon-plus icon-notext\" onclick=\"javascript:quantidade(+1, {$produto_id});\"></span>";
            $cart['subtotal'] .= "</div>";
            $cart['subtotal'] .= "<div class=\"price sub\">R$ {$produto_preco}</div>";
            $cart['subtotal'] .= "<div class=\"price\"><span>R$ {$produto_total}</span> <a href=\"javascript:remove({$produto_id});\" class=\"icon-trash icon-notext\"></a></div>";
            $cart['subtotal'] .= "</div>";
        endforeach;
    endforeach;

    //testar se o cep foi enviado pelo carrinho e armazenado na session
    if (!empty($_SESSION['storecart']['entrega']['valor'])):
        $cart['frete'] = 'R$ ' . $_SESSION['storecart']['entrega']['valor'];
        $arrValor = explode(',', $_SESSION['storecart']['entrega']['valor']);
        $valor = $arrValor[0] . '.' . $arrValor[1];

        $total = $valor + array_sum($subtotal);
    else: // se não setar os valores padroes
        $cart['frete'] = 'R$ 0,00';
        $total = array_sum($subtotal);
    endif;

    //forma e setar os valores na session
    $_SESSION['storecart']['subtotal'] = number_format(array_sum($subtotal), 2, ',', '.');
    $_SESSION['storecart']['total'] = number_format($total, 2, ',', '.');

    //montando array de retorno
    $cart['total_prod'] = 'R$ ' . number_format(array_sum($subtotal), 2, ',', '.');
    $cart['cont'] = count($_SESSION['storecart']['produto']);
    $cart['total'] = 'R$ ' . number_format($total, 2, ',', '.');

    // verificar o status do carrinho
    if (!empty($_SESSION['clientelogin'])):
        //se estiver logado e com endereço
        if (!empty($_SESSION['clientelogin']['endereco'])):
            $cart['status'] = 1;
        else:
            $cart['status'] = 2;
        endif;
    else:
        //se não estiver logado e com cep
        if (!empty($_SESSION['storecart']['entrega']['cep'])):
            $cart['status'] = 3;
        else:
            $cart['status'] = 4;
        endif;
    endif;

endif;

echo json_encode($cart);
