<?php
$seo['title'] = 'Meus Dados';
include "topo.php";
Cliente::verificaLogin();

$msg = array();

//echoArray($_SESSION);

######################
# carregar cliente
######################
$objCliente = new Cliente();
$objCliente->id = $_SESSION['rz2']['cliente']['id'];
$objCliente->carregar();
$objCidade = new Cidade();
$objCidade->id = $objCliente->idCidade;
$objCidade->carregar();
$objEstado = new Estado();
$objEstado->id = $objCidade->idEstado;
$objEstado->carregar();

######################
# gera pedido
######################
$alterarFrete = false;
if (isset($_POST['continuar'])) {

    if ($_POST['eCep'] != $_SESSION['rz2']['carrinho']['frete']['cepDestino']) {
        // se cep foi modificado, entao calcula novo frete
        // http://visie.com.br/pagseguro/linguagem/php/calculo-de-frete-php/
        $objFretePgs = new PgsFrete;
        // cepOrigem
        // Peso (em quilos)
        // Valor subtotal
        // cepDestino
        $valorFretePgs = $objFretePgs->gerar($_SESSION['rz2']['carrinho']['frete']['cepOrigem'], grama_to_quilo($_SESSION['rz2']['carrinho']['peso']), formata_valor($_SESSION['rz2']['carrinho']['subtotal']), $_POST['eCep']);
        if (is_array($valorFretePgs)) {
            if (array_key_exists('erro', $valorFretePgs)) {
                $msg[] = utf8_encode($valorFretePgs['erro']);
            } else {
                $alterarFrete = true;
                $_SESSION['rz2']['carrinho']['frete']['cepDestino'] = $_POST['eCep'];
                $msg[] = 'O valor do frete foi modificado. Verifique e clique em "CONTINUAR"';
            }
        } else {
            $msg[] = 'Erro ao calcular frete - Verifique o CEP informado';
        }
    } else {
        // salva pedido
        $objPedido = new Pedido();
        $objPedido->idCliente = $objCliente->id;
        $objPedido->idPedidoStatus = ANALISE;
        $objPedido->subtotal = $_SESSION['rz2']['carrinho']['subtotal'];
        $objPedido->total = $_SESSION['rz2']['carrinho']['total'];
        $objPedido->freteValor = $_SESSION['rz2']['carrinho']['frete']['valor'];
        $objPedido->freteTipo = $_SESSION['rz2']['carrinho']['frete']['tipo'];
        $objPedido->endereco = $_POST['eEndereco'];
        $objPedido->numero = $_POST['eNumero'];
        $objPedido->bairro = $_POST['eBairro'];
        $objPedido->complemento = $_POST['eComplemento'];
        $objPedido->idCidade = $_POST['eCidade'];
        $objPedido->cep = $_POST['eCep'];
        if (!$objPedido->inserir()) {
            $msg[] = 'Erro ao finalizar compra';
        } else {

            // salva historico
            if (!$objPedido->inserirHistorico(ANALISE)) {
                UtilObjeto::limpar("pedidoproduto", "WHERE id_pedido = " . $objPedido->id);
                $msg[] = 'Erro ao finalizar compra';
            } else {

                $erro = false;
                foreach ($_SESSION['rz2']['carrinho']['produto'] as $idItem => $dadosItem) {

                    // salva itens do pedido
                    $idTamanho = (isset($dadosItem['tamanho'])) ? $dadosItem['tamanho'] : '';
                    $idCor = (isset($dadosItem['cor'])) ? $dadosItem['cor'] : '';
                    if (!$objPedido->inserirProduto($idItem, $dadosItem['qtde'], $dadosItem['valor'], $idTamanho, $idCor)) {
                        UtilObjeto::limpar("pedidohistorico", "WHERE id_pedido = " . $objPedido->id);
                        UtilObjeto::limpar("pedidoproduto", "WHERE id_pedido = " . $objPedido->id);
                        $objPedido->excluir();
                        $erro = true;
                        $msg[] = 'Erro ao finalizar compra';
                        break;
                    } else {

                        // atualiza estoque
                        $objProdutoCarrinho = new Produto();
                        $objProdutoCarrinho->id = $idItem;
                        $objProdutoCarrinho->carregar();
                        $novaQtde = $objProdutoCarrinho->qtde - $dadosItem['qtde'];
                        if ($novaQtde < 0)
                            $novaQtde = 0;
                        $objProdutoCarrinho->qtde = $novaQtde;
                        if (!$objProdutoCarrinho->alterar()) {

                            UtilObjeto::limpar("pedidohistorico", "WHERE id_pedido = " . $objPedido->id);
                            UtilObjeto::limpar("pedidoproduto", "WHERE id_pedido = " . $objPedido->id);
                            $objPedido->excluir();
                            $erro = true;
                            $msg[] = 'Erro ao finalizar compra';
                            break;
                        }
                    }
                }
                if (!$erro) {
                    ##############################
                    # redireciona para pagseguro
                    ##############################
                    ?>
                    <form id="fpagseguro" name="fpagseguro" method="post" action="https://pagseguro.uol.com.br/checkout/checkout.jhtml">

                        <input type="hidden" name="ref_transacao" value="<?= $objPedido->id ?>">
                        <input type="hidden" name="encoding" value="UTF-8">
                        <?php
                        switch ($_SESSION['rz2']['carrinho']['frete']['tipo']) {
                            case 'Sedex': $tipoFretePgs = 'SD'; break;
                            case 'PAC': $tipoFretePgs = 'EN'; break;
                            default: $tipoFretePgs = 'SD'; break; // por default é SEDEX
                        }

                         if ($_SESSION['rz2']['carrinho']['frete']['valor'] > 0) {  ?>
                            
                        <?php } else{
                            
                        } ?>
                        <input type="hidden" name="tipo_frete" value="<?= $tipoFretePgs ?>">
                        <input type="hidden" name="email_cobranca" value="<?= $_SESSION['rz2']['config']['pagseguro-email-cobranca'] ?>">
                        <input type="hidden" name="tipo" value="CP">
                        <input type="hidden" name="moeda" value="BRL">

                            <?php
                            $countPsg = 0; 
                            foreach ($_SESSION['rz2']['carrinho']['produto'] as $idItemPgs => $dadosItemPgs) { 
          
                            $countPsg++;
                            $valorFretePgs = ($countPsg == 1) ? formata_valor($_SESSION['rz2']['carrinho']['frete']['valor']) : 0;
                            ?>
                        
                            <!-- DADOS DO PRODUTO <?= $idItemPgs ?> -->
                            <input type="hidden" name="item_id_<?= $countPsg ?>" value="<?= $idItemPgs ?>">
                            <?php
                            $descricaoProduto = $dadosItemPgs['nome'];
                            if (isset($dadosItemPgs['tamanho'])) {
                                $objTamanho = new Tamanho();
                                $objTamanho->id = $dadosItemPgs['tamanho'];
                                $objTamanho->carregar();
                                $descricaoProduto .= ' - Tamanho: ' . $objTamanho->nome;
                            }
                            if (isset($dadosItemPgs['cor'])) {
                                $objCor = new Cor();
                                $objCor->id = $dadosItemPgs['cor'];
                                $objCor->carregar();
                                $descricaoProduto .= ' - Cor: ' . $objCor->nome;
                            }
                            ?>
                            <input type="hidden" name="item_descr_<?= $countPsg ?>" value="<?= $descricaoProduto ?>">
                            <input type="hidden" name="item_quant_<?= $countPsg ?>" value="<?= $dadosItemPgs['qtde'] ?>">
                            <input type="hidden" name="item_valor_<?= $countPsg ?>" value="<?= formata_valor($dadosItemPgs['valor']) ?>">
                            <input type="hidden" name="item_frete_<?= $countPsg ?>" value="<?= $valorFretePgs ?>">
                            <input type="hidden" name="item_peso_<?= $countPsg ?>" value="<?= $dadosItemPgs['peso'] ?>">
                    <?php } ?>

                        <!-- DADOS DO USUARIO -->
                        <input type="hidden" name="cliente_nome" value="<?= $objCliente->nome ?>">
                        <input type="hidden" name="cliente_cep" value="<?= str_replace("-", "", $objCliente->cep) ?>">
                        <input type="hidden" name="cliente_end" value="<?= $objCliente->endereco ?>">
                        <input type="hidden" name="cliente_num" value="<?= $objCliente->numero ?>">
                        <input type="hidden" name="cliente_compl" value="<?= $objCliente->complemento ?>">
                        <input type="hidden" name="cliente_bairro" value="<?= $objCliente->bairro ?>">
                        <input type="hidden" name="cliente_cidade" value="<?= $objCidade->nome ?>">
                        <input type="hidden" name="cliente_uf" value="<?= $objEstado->sigla ?>">
                        <input type="hidden" name="cliente_pais" value="BRA">
                        <input type="hidden" name="cliente_ddd" value="<?= $objCliente->telefoneDdd ?>">
                        <input type="hidden" name="cliente_tel" value="<?= $objCliente->telefone ?>">
                        <input type="hidden" name="cliente_email" value="<?= $objCliente->email ?>">

                    </form>
                    <!-- submete formulario -->
                    <script type="text/javascript">document.fpagseguro.submit();</script>
                    <?php
                }
            }
        }
    }
}
?>

<div id="titulo-cadastro">CONFIRMAR PEDIDO</div>

    <?php if (count($msg) > 0) { ?>
    <p class="msgLoja">
        <?php
        $countMsg = 0;
        foreach ($msg as $msgTxt) {
            $countMsg++;
            echo '<span class="msgErro">* ' . $msgTxt . '</span>';
            echo ($countMsg < count($msg)) ? '<br />' : '';
        }
        ?>
    </p>
<?php } ?>

<form name="fconfirmacao" id="fconfirmacao" action="" method="post">

    <div id="linha1-carrinho" class="hidden-xs">
        <div class="col-md-6 col-sm-6">Produto</div>
        <div class="col-md-2 col-sm-2">Valor Unitário</div>
        <div class="col-md-2 col-sm-2">Quantidade</div>
        <div class="col-md-2 col-sm-2">Valor Total</div>
    </div>
    <?php
//echoArray($_SESSION['rz2']['carrinho']);
    if (is_array($_SESSION['rz2']['carrinho']['produto'])) {
        foreach ($_SESSION['rz2']['carrinho']['produto'] as $idProd => $dadosProd) {
            $objProduto = new Produto();
            $objProduto->id = $idProd;
            $objProduto->carregar();
            ?>
            <div class="col-md-12 col-sm-12 col-xs-12 linha-carrinho">

                <div class="col-md-6 col-sm-6 col-xs-12">
                    <?= $objProduto->nome ?>
                    <?php
                    if (isset($dadosProd['tamanho'])) {
                        $objTamanho = new Tamanho();
                        $objTamanho->id = $dadosProd['tamanho'];
                        $objTamanho->carregar();
                        echo '<br />Tamanho ' . $objTamanho->nome;
                    }
                    ?>
                </div>
                <div class="col-md-2 col-sm-2 col-xs-4">
                    <div class="visible-xs valor-xs">Valor Unitário</div>
                    <?php
                    if ($objProduto->valorPromo != "" && $objProduto->valorPromo != 0) {
                        $valorAtual = $objProduto->valorPromo;
                    } else {
                        if ($_SESSION['rz2']['config']['desconto-geral'] > 0) {
                            $valorAtual = $objProduto->valor - (($objProduto->valor * $_SESSION['rz2']['config']['desconto-geral']) / 100);
                        } else {
                            $valorAtual = $objProduto->valor;
                        }
                    }
                    ?>
                    R$ <?= formata_valor($valorAtual) ?>
                </div>
                <div class="col-md-2 col-sm-2 col-xs-4">
                    <div class="visible-xs valor-xs">Quantidade</div>
                    <?= $dadosProd['qtde'] ?>
                </div>
                <div class="col-md-2 col-sm-2 col-xs-4">
                    <div class="visible-xs valor-xs">Valor Total</div>
                    <?php $valorTotal = ($valorAtual * $dadosProd['qtde']); ?>
                    <b>R$ <?= formata_valor($valorTotal) ?></b>
                </div>
            </div>
            <?php
        }
    }
    ?>

    <div class="col-md-6 col-md-offset-3 col-sm-6 col-sm-offset-3 col-xs-12 mg-tp-40" style="border: 1px solid #212121;">
        <div class="col-md-6 col-sm-6 col-xs-6 text-left">Sub-Total</div>
        <div class="col-md-6 col-sm-6 col-xs-6 text-right"><b>R$ <?= formata_valor($_SESSION['rz2']['carrinho']['subtotal']) ?></b></div>
        <div class="col-md-6 col-sm-6 col-xs-6 text-left">Frete</div>
        <div class="col-md-6 col-sm-6 col-xs-6 text-right">	
            <?php
            if (!$alterarFrete) {
                // nao altera frete
            } else {
                foreach ($valorFretePgs as $tipoPgs => $valorPgs) {
                    if ($_SESSION['rz2']['carrinho']['frete']['tipo'] == $tipoPgs) {
                        $_SESSION['rz2']['carrinho']['frete']['valor'] = $valorPgs;
                        $_SESSION['rz2']['carrinho']['total'] = $_SESSION['rz2']['carrinho']['subtotal'] + $_SESSION['rz2']['carrinho']['frete']['valor'];
                    }
                }
            }
            ?>
            <b>R$ <?= formata_valor($_SESSION['rz2']['carrinho']['frete']['valor']) ?></b>
        </div>

        <div class="col-md-6 col-sm-6 col-xs-6 text-left">Total</div>
        <div class="col-md-6 col-sm-6 col-xs-6 text-right"><b>R$ <?= formata_valor($_SESSION['rz2']['carrinho']['total']) ?></b></div>
    </div>



    <?php
    if ($_SESSION['rz2']['carrinho']['frete']['cepDestino'] == $objCliente->cep) {
        // se cepDestino for o mesmo do cliente, entao carrega endereco
        if (!isset($_POST['eEndereco']))
            $_POST['eEndereco'] = $objCliente->endereco;
        if (!isset($_POST['eNumero']))
            $_POST['eNumero'] = $objCliente->numero;
        if (!isset($_POST['eBairro']))
            $_POST['eBairro'] = $objCliente->bairro;
        if (!isset($_POST['eComplemento']))
            $_POST['eComplemento'] = $objCliente->complemento;
        if (!isset($_POST['eEstado']))
            $_POST['eEstado'] = $objCidade->idEstado;
        if (!isset($_POST['eCidade']))
            $_POST['eCidade'] = $objCliente->idCidade;
        if (!isset($_POST['eCep']))
            $_POST['eCep'] = $objCliente->cep;
    } else {
        if (!isset($_POST['eCep']))
            $_POST['eCep'] = $_SESSION['rz2']['carrinho']['frete']['cepDestino'];
    }
    ?>

    <div class="col-md-6 col-md-offset-3 col-sm-6 col-sm-offset-3 col-xs-12">
        <div id="fcadastro">
            <h3 class="tituloBox mg-tp-40 mg-bt-20">Endereço de entrega</h3>

            <label for="cep">(*) CEP</label>
            <input type="text" name="eCep" id="cep" value="<?= $_POST['eCep'] ?>" req="1" class="fcas-cpf" size="9" maxlength="9" />

            <label for="endereco">(*) Endereço</label>
            <input type="text" name="eEndereco" id="logradouro" value="<?= $_POST['eEndereco'] ?>" req="1" />

            <label for="numero">(*) Número</label>
            <input type="text" name="eNumero" id="numero" value="<?= $_POST['eNumero'] ?>" req="1" <?= MASCARA_NUMERO ?> />

            <label for="complemento">Complemento</label>
            <input type="text" name="eComplemento" id="complemento" value="<?= $_POST['eComplemento'] ?>" />

            <label for="bairro">(*) Bairro</label>
            <input type="text" name="eBairro" id="bairro" value="<?= $_POST['eBairro'] ?>" req="1" />

            <label for="estado">(*) Estado</label>
            <select name="eEstado" id="estado" req="1">
                <option value=""></option>
                <?php
                $listaEstado = UtilObjeto::listar("estado", "ORDER BY nome");
                foreach ($listaEstado as $idEstado => $dadosEstado) { ?>
                    <option value="<?= $idEstado ?>" <?= $selEstado ?> ><?= $dadosEstado['nome'] ?></option>
                <?php } ?>
            </select>            

            <label for="cidade">(*) Cidade</label>
            <select name="eCidade" id="cidade" req="1">
                <option value=""></option>
                <?php
                if (!empty($_POST['eEstado'])) {
                    $listaCidade = UtilObjeto::listar("cidade", "WHERE id_estado = " . $_POST['eEstado'] . " ORDER BY nome");
                    foreach ($listaCidade as $idCidade => $dadosCidade) {
                        $selCidade = ($idCidade == $_POST['eCidade']) ? "selected" : "";
                        ?>
                        <option value="<?= $idCidade ?>" <?= $selCidade ?>><?= ucwords(strtolower($dadosCidade['nome'])) ?></option>
                        <?php
                    }
                }
                ?>
            </select>

            <span class="dica">(*) Campos obrigatórios</span>
            <div class="col-md-6 col-sm-6 col-xs-12 mg-bt-20"><a href="<?= URLRAIZ ?>carrinho" class="botao-comprar" title="Continuar comprando">Voltar para o carrinho</a></div>  
            <div class="col-md-6 col-sm-6 col-xs-12 mg-bt-100"><input type="submit" name="continuar" class="botao-comprar" value="Finalizar compra" title="Finalizar compra" /></div>

        </div>
    </div>

</form>

<?php include "rodape.php"; ?>