<?php

session_start();
$getPost = filter_input_array(INPUT_POST, FILTER_DEFAULT);

require ('../../_app/Config.inc.php');
$ship = new Shipment();

// variavel cep
$cep = $_SESSION['clientelogin']['endereco']['cliente_endereco_cep'];
//montando array reculperando o id dos produtos do carrinho
$arrProdutoId = array_keys($_SESSION['storecart']['produto']);
//tratando o array com os id dos produtos para setar na consulta
$arrId = "" . implode(",", $arrProdutoId) . "";

//consultar os dados dos produtos
$Read = new Read;
$Read->FullRead("SELECT produto_id, produto_peso, produto_largura, produto_altura, produto_comprimento, produto_preco FROM tp_produtos WHERE produto_id in ({$arrId})");

$c = 0; //indice
//percorre o resultado dos produtos
foreach ($Read->getResult() as $produtos):
    extract($produtos);
    $volume = ($produto_comprimento * $produto_altura * $produto_largura);
    $cubico[$c] = $volume * $_SESSION['storecart']['produto'][$produto_id]['qtd'];
    $peso[$c] = $produto_peso;
    $c++;
endforeach;

//somando o valor cubico de todos os produtos
$volume_total = array_sum($cubico);
//tirando a raiz dos produtos
$raiz = pow($volume_total, 1 / 3);
//somando o peso dos produtos
$peso = array_sum($peso);
//chamando a função que faz o calculo do frete dos correios
$format = $ship->quote($cep, $peso, $raiz, $raiz, $raiz);

// setando os valores de retorno
$arrDados['cidade'] = $_SESSION['clientelogin']['endereco']['cliente_endereco_cidade'];
$arrDados['frete'] = '';
//percorrendo o resultado do retorno
foreach ($format as $formatship):
    //transformando o valor do frete em Decimal
    $arrValor = explode(',', $formatship->Valor);
    $valor = $arrValor[0] . '.' . $arrValor[1];
    //descobrindo qual tipo da entrega
    if ($formatship->Codigo == '04014' || $formatship->Codigo == '4014'):
        $Tipo = 'Rápida';
    else:
        $Tipo = 'Econômica';
    endif;
    
    //verificando se já existe algum valor setado para entrega, senão setar o padrão economico
    if (empty($_SESSION['storecart']['entrega']) || $_SESSION['storecart']['entrega']['cep'] != $cep):
        if ($formatship->Codigo == '04510' || $formatship->Codigo == '4510'):
            $_SESSION['storecart']['entrega']['cep'] = $cep;
            $_SESSION['storecart']['entrega']['codigo'] = $formatship->Codigo;
            $_SESSION['storecart']['entrega']['tipo'] = $Tipo;
            $_SESSION['storecart']['entrega']['prazo'] = $formatship->PrazoEntrega;
            $_SESSION['storecart']['entrega']['valor'] = $valor;

            $_SESSION['storecart']['total'] = $valor + $_SESSION['storecart']['subtotal'];
        endif;
    endif;

    $checked = '';

    if (!empty($_SESSION['storecart']['entrega']['codigo']) && $formatship->Codigo == $_SESSION['storecart']['entrega']['codigo']):
        $checked = 'checked';

        $_SESSION['storecart']['entrega']['prazo'] = $formatship->PrazoEntrega;
        $_SESSION['storecart']['entrega']['valor'] = $valor;

    endif;


    $arrDados['frete'] .= "<div class=\"main_cart_abstract_delivery_option\">";
    $arrDados['frete'] .= "<input type=\"radio\" {$checked} id=\"{$formatship->Codigo}\" name=\"frete\" value=\"{$formatship->Codigo}\" onclick=\"frete_add_checkout({$formatship->Codigo},'{$Tipo}','{$formatship->PrazoEntrega}','{$valor}')\"> {$Tipo} - {$formatship->PrazoEntrega} dias úteis - <b>R$ {$formatship->Valor}</b>";
    $arrDados['frete'] .= "</div>";

endforeach;

$arrDados['frete_valor'] = 'R$ ' . number_format($_SESSION['storecart']['entrega']['valor'], 2, ',', '.');
$arrDados['subtotal'] = 'R$ ' . number_format($_SESSION['storecart']['subtotal'], 2, ',', '.');
$arrDados['total'] = 'R$ ' . number_format($_SESSION['storecart']['total'], 2, ',', '.');



echo json_encode($arrDados);
