<?php
const STYLE_DISPLAY_NONE = "style='display: none'";
const STYLE_DISABLED = "disabled='disabled'";

$header = new Endosso_View_Helper_Header();
echo $header->header($this->endosso);

$bloquearFormularios = in_array(
    $this->dadosSolicitacao['idStatus'],
    [
        Endosso_Model_Solicitacao::ID_STATUS_SOLICITACAO_ENDOSSO_NEGADO,
        Endosso_Model_Solicitacao::ID_STATUS_SOLICITACAO_ENDOSSO_ACEITO_EFETIVADO,
        Endosso_Model_Solicitacao::ID_STATUS_SOLICITACAO_ENDOSSO_CANCELADO_CORRETOR,
        Endosso_Model_Solicitacao::ID_STATUS_CANCELADO,
    ]
);
$classRequiredObsservacao = $styleBotoesSolicitacaoCorretor = $disabledSolicitacaoNaoFinalizada = '';
$consultaAgro = $bloquearFinalizarClausula = false;
$coberturaMultirrisco = in_array(
    $this->proposta->ds_chave_cobertura,
    [Produto_Model_Coberturas::COB_MULTIRISCO_CHAVE, Produto_Model_Coberturas::COB_MULTIRISCO_II_CHAVE]
) ? '1' : '0';

$statusDisabledBotaoTransmitir = [
    Seguro_Model_Propostas::DS_CHAVE_AGUARDANDO_ENVIO_SEG,
    Seguro_Model_Propostas::DS_CHAVE_APOLICE_EMITIDA,
];

$statusEndosso = $this->endosso->status();
$styleConsultaUsuariosAgro = $styleAbaParcelamento = $styleFinalizarSolicitacaoUsuarioAgro = STYLE_DISPLAY_NONE;
$styleFinalizarSolicitacao = STYLE_DISABLED;
$disabledSolicitacaoNaoFinalizada = "";
$consultaAgro = false;
$habilitarLocaisEntregaSementes = !empty(array_intersect([33, 40, 45], array_keys($this->coberturasContratadas)))
    ? '1'
    : '0';
$mensagemLmgaClausula = '';
$salvouDeclaracaoSinistro = '0';
$styleBotaoTransmitir = $statusEndosso === Seguro_Model_Propostas::DS_CHAVE_ORCAMENTO_ENDOSSO
    ? ''
    : STYLE_DISPLAY_NONE;
$styleBotaoTransmitir = in_array(
    $statusEndosso,
    [
        Seguro_Model_Propostas::DS_CHAVE_AGUARDANDO_ENVIO_SEG,
        Seguro_Model_Propostas::DS_CHAVE_APOLICE_EMITIDA,
    ])
    ? STYLE_DISABLED
    : $styleBotaoTransmitir;

if ($this->funcionarioAgro) {
    $styleAbaParcelamento = '';

    if ($this->origemConsulta) {
        $styleBotoesSolicitacaoCorretor = STYLE_DISPLAY_NONE;
        $styleConsultaUsuariosAgro = "";
        $consultaAgro = true;
    }

    if ($this->dadosSolicitacao['idStatus'] === Endosso_Model_Solicitacao::ID_STATUS_SOLICITACAO_NAO_FINALIZADA) {
        $disabledSolicitacaoNaoFinalizada = STYLE_DISABLED;
        $styleFinalizarSolicitacaoUsuarioAgro = "";
    }
}

if (!empty($this->dadosSolicitacao['idSolicitacao']) && !empty($this->dadosSolicitacao['ocorreuSinistro'])) {
    $salvouDeclaracaoSinistro = '1';
}

if (in_array(
    $this->dadosSolicitacao['idStatus'],
    [
        Endosso_Model_Solicitacao::ID_STATUS_SOLICITACAO_ENDOSSO_PENDENTE,
        Endosso_Model_Solicitacao::ID_STATUS_SOLICITACAO_ENDOSSO_NEGADO
    ]
)) {
    $classRequiredObsservacao = 'required';
}

$beneficiariosEndossoSolicitacao = (new Seguro_Model_PropostasBeneficiarios())->fetchBeneficiarios($this->endosso->id);

if (!empty($beneficiariosEndossoSolicitacao)) {
    $lmgaEndossoVigente = $this->endossoVigente->lmga();
    $lmgaEndossoSolicitacao = $this->endosso->lmga();

    if ($lmgaEndossoVigente < $lmgaEndossoSolicitacao) {
        $mensagemLmgaClausula = 'Pedimos que verifique a necessidade de ajuste do valor da(s) Cláusula(s) Beneficiária(s).';
    }

    if ($lmgaEndossoVigente > $lmgaEndossoSolicitacao) {

        $somaQuantia = array_reduce($beneficiariosEndossoSolicitacao, function ($valor, $beneficiario) {
            return $valor + $beneficiario['vl_limite_beneficio'];
        });

        if ($somaQuantia > $lmgaEndossoSolicitacao) {
            $mensagemLmgaClausula = 'Pedimos que ajuste o valor da(s) Cláusula(s) Beneficiária(s).';
            $bloquearFinalizarClausula = true;
        }
    }
}

$bloquearFormularios = false;
$statusBloqueioFormulario = [
    Endosso_Model_Solicitacao::ID_STATUS_SOLICITACAO_ENDOSSO_NEGADO,
    Endosso_Model_Solicitacao::ID_STATUS_SOLICITACAO_ENDOSSO_ACEITO_EFETIVADO,
    Endosso_Model_Solicitacao::ID_STATUS_SOLICITACAO_ENDOSSO_CANCELADO_CORRETOR,
    Endosso_Model_Solicitacao::ID_STATUS_CANCELADO,
];

if (in_array($this->dadosSolicitacao['idStatus'], $statusBloqueioFormulario)) {
    $bloquearFormularios = true;
}

if (!empty($this->dadosSolicitacao['idSolicitacao'])) {
    if ((int)$this->idTipoSolicitacao !== Endosso_Model_TiposSolicitacao::ID_CANCELAMENTO_APOLICE) {
        $camposAlterados = json_decode($this->dadosSolicitacao['camposAlterados'], true);
        unset($camposAlterados['btnDeclaracaoSinistro']);
        unset($camposAlterados['btnDadosBancarios']);

        if (
            !empty($camposAlterados)
            && !empty($this->dadosSolicitacao['justificativa'])
            && ($salvouDeclaracaoSinistro || $this->temAvisoAceito)
        ) {
            $styleFinalizarSolicitacao = '';
        }
    }

    if (
      (int)$this->idTipoSolicitacao === Endosso_Model_TiposSolicitacao::ID_CANCELAMENTO_APOLICE
      && !empty($this->dadosSolicitacao['justificativa'])
    ) {
        $styleFinalizarSolicitacao = '';
    }
}
?>
<link rel="stylesheet" type="text/css" href="/resources/css/accordion.css" media="screen"/>
<script type="text/javascript" src="/resources/javascript/accordion.js"></script>
<link rel="stylesheet" type="text/css" href="/resources/css/helpers/croquis.css" media="screen"/>
<script type="text/javascript" src="/resources/javascript/helpers/croquis.js"></script>
<link rel="stylesheet" type="text/css" href="/resources/jquery/facebox/facebox.css" media="screen"/>
<script type="text/javascript" src="/resources/jquery/facebox/facebox.js"></script>
<script type="text/javascript" src="/resources/javascript/helpers/unidades.js"></script>
<script type="text/javascript" src="/resources/javascript/endosso/endosso.js"></script>
<div id="tabs">
  <input id="idTipoSolicitacao" type="hidden" value="<?= $this->idTipoSolicitacao ?>"/>
  <input id="chaveTipoSolicitacao" type="hidden" value="<?= $this->chaveTipoSolicitacao ?>"/>
  <input id="idProposta" type="hidden" value="<?= $this->proposta->id ?>"/>
  <input id="idEndosso" type="hidden" value="<?= $this->endosso->id ?>"/>
  <input id="idPropostaRenovada" type="hidden" value="<?= $this->proposta->id_proposta_renovada ?>"/>
  <input id="habilitarLocaisEntregaSementes" type="hidden" value="<?= $habilitarLocaisEntregaSementes ?>"/>
  <input id="coberturaMultirrisco" type="hidden" value="<?= $coberturaMultirrisco ?>"/>
  <input id="idCoberturaPrincipal" type="hidden" value="<?= $this->proposta->id_cobertura_principal ?>"/>
  <input id="temAvisoAceito" type="hidden" value="<?= $this->temAvisoAceito ?>"/>
  <input id="consultaAgro" type="hidden" value="<?= $consultaAgro ?>"/>
  <input id="idSolicitacao" type="hidden" value="<?= $this->dadosSolicitacao['idSolicitacao'] ?>"/>
  <input id="numeroParcelas" type="hidden" value="<?= $this->dadosSolicitacao['numeroParcelas'] ?>"/>
  <input id="ocorreuSinistro" type="hidden" value="<?= $this->dadosSolicitacao['ocorreuSinistro'] ?>"/>
  <input id="camposAlterados" type="hidden" value="<?= htmlentities($this->dadosSolicitacao['camposAlterados']) ?>"/>
  <input id="salvouDeclaracaoSinistro" type="hidden" value="<?= $salvouDeclaracaoSinistro ?>"/>
  <input id="salvouUnidadesSeguradas" type="hidden" value="1"/>
  <input id="funcionarioAgro" type="hidden" value="<?= $this->funcionarioAgro ?>"/>
  <input id="idStatusAtual" type="hidden" value="<?= $this->dadosSolicitacao['idStatus']; ?>"/>
  <input id="mensagemSucessoStatusAlterado" type="hidden" value="0"/>
  <input id="usuarioTecnica" type="hidden" value="<?= $this->usuarioTecnica ?>"/>
  <input id="mensagemLmgaClausula" type="hidden" value="<?= $mensagemLmgaClausula ?>"/>
  <input id="bloquearFinalizarClausula" type="hidden" value="<?= $bloquearFinalizarClausula ?>"/>
  <input id="bloquearFormularios" type="hidden" value="<?= $bloquearFormularios ?>"/>
  <input id="configuracaoCarAtiva" type="hidden" value="<?= $this->configuracaoCarAtiva ?>"/>
  <a id="linkDownloadCroqui" href="/scripts/kml/proposta/<?=$this->endosso->id?>" class="hide">Download para Google Earth</a>
  <ul>
    <li>
      <a href="#">Formulário de Solicitação</a>
    </li>
  </ul>

  <div style="padding: 10px">
    <div id="tabs" <?= $styleConsultaUsuariosAgro ?>>
      <ul>
        <li><a href="#tabTipoEndosso">Tipo de Endosso</a></li>
      </ul>

      <div id="tabTipoEndosso">

          <?php
          ($this->tipoEndossoProposta) ? $readOnly = "disabled" : $readOnly = "";
          foreach ($this->tiposEndosso as $tipo) { ?>

              <?php ($this->tipoEndossoProposta == $tipo['id']) ? $checked = "checked" : $checked = ""; ?>
            <div class="left" style="width: <?= floor(100 / count($this->tiposEndosso)) ?>%;text-align: center">
              <input <?= $checked ?> <?= $readOnly ?> type="radio" name="tipo_endosso"
                                                      id="tipo_endosso_<?= $tipo['id'] ?>" class="tipo_endosso"
                                                      value="<?= $tipo['id'] ?>"/>
              <label for="tipo_endosso_<?= $tipo['id'] ?>"><?= $tipo['ds_tipo_endosso'] ?></label>
            </div>

              <?php
          } ?>
        <br class="clear"/>
      </div>
    </div>

    <div class="padding-5" <?= $styleConsultaUsuariosAgro ?>></div>

    <div id="tabs">
      <ul>
        <li><a href="#tabTipoSolicitacao">Tipo de Solicitação</a></li>
      </ul>

      <div id="tabTipoSolicitacao">
          <?php
          $idTipoSolicitacao = !empty($this->dadosSolicitacao['idTipoSolicitacao'])
              ? $this->dadosSolicitacao['idTipoSolicitacao']
              : $this->idTipoSolicitacao;
          $chaveTipoSolicitacao = !empty($this->dadosSolicitacao['chaveTipoSolicitacao'])
              ? $this->dadosSolicitacao['chaveTipoSolicitacao']
              : $this->chaveTipoSolicitacao;

          if (
              in_array(
                  $idTipoSolicitacao,
                  [
                      Endosso_Model_TiposSolicitacao::ID_COM_MOVIMENTO_PREMIO,
                      Endosso_Model_TiposSolicitacao::ID_SEM_MOVIMENTO_PREMIO
                  ]
              )
          ) {
              $chaveTipoSolicitacao = Endosso_Model_TiposSolicitacao::DS_CHAVE_ALTERACAO_APOLICE;
          }
          ?>

        <div class="left" style="text-align: center">
          <input checked readonly type="radio" name="tipo_solitacao" id="tipo_solitacao_checked" class="tipo_solitacao"
                 value="<?= $idTipoSolicitacao ?>"/>
          <label for="tipo_solitacao_checked">
              <?= Endosso_Model_TiposSolicitacao::getTipoByChave($chaveTipoSolicitacao) ?>
          </label>
        </div>
        <br class="clear"/>
      </div>
    </div>

    <div class="padding-5"></div>

    <button type="button" class="new_accordion" id="btnProponente">Dados do Proponente</button>
    <div class="conteudo_accordion" id="divConteudoProponente"></div>

    <button type="button" class="new_accordion" id="btnPropriedade">Dados da Propriedade</button>
    <div class="conteudo_accordion" id="divConteudoPropriedade"></div>

    <button type="button" class="new_accordion" id="btnQuestionario">Questionário</button>
    <div class="conteudo_accordion" id="divConteudoQuestionario"></div>

    <button type="button" class="new_accordion" id="btnObservacoes">Observações</button>
    <div class="conteudo_accordion" id="divConteudoObservacoes"></div>

    <button type="button" class="new_accordion" id="btnClausulaBeneficiaria">Cláusula Beneficiária</button>
    <div class="conteudo_accordion" id="divConteudoClausulaBeneficiaria"></div>

    <button type="button" class="new_accordion" id="btnUnidadesSeguradas">
      Unidades Seguradas
      
      <?php
        if ($this->itensCarsManuais->count()) {
          echo '<img src="/resources/imagens/icon/aviso-car.png" style="vertical-align:bottom;" title="Possui CAR manual" alt="Possui CAR manual">';
        }
      ?>
    </button>
    <div class="conteudo_accordion" id="divConteudoUnidadeSeguradas"></div>

    <button type="button" class="new_accordion" id="btnCroqui">Croqui</button>
    <div class="conteudo_accordion" id="divConteudoCroqui"></div>

    <button type="button" class="new_accordion" id="btnResumosCoberturas">Resumos e Coberturas</button>
    <div class="conteudo_accordion" id="divConteudoResumosCoberturas"></div>

    <button type="button" class="new_accordion" id="btnParcelamento" <?= $styleAbaParcelamento ?>>Parcelamento</button>
    <div class="conteudo_accordion" id="divConteudoParcelamento"></div>

    <button type="button" class="new_accordion" id="btnLocalEntregaSementes">Local de Entrega de Sementes</button>
    <div class="conteudo_accordion" id="divConteudoLocalEntregaSementes"></div>

    <button type="button" class="new_accordion" id="btnGerenciamentoProposta" <?= $styleConsultaUsuariosAgro ?>>
      Gerenciamento da Proposta
    </button>
    <div class="conteudo_accordion" id="divConteudoGerenciamentoProposta"></div>

    <button type="button" class="new_accordion" id="btnArquivosComplementares">Arquivos Complementares</button>
    <div class="conteudo_accordion" id="divConteudoArquivosComplementares"></div>

    <button type="button" class="new_accordion" id="btnDadosBancarios">Dados Bancários</button>
    <div class="conteudo_accordion" id="divConteudoDadosBancarios">
        <?php
        $this->dadosBancariosProposta($this->endosso->id);
        ?>
    </div>

    <button type="button" class="new_accordion" id="btnDeclaracaoSinistro">Declaração de Sinistro *</button>
    <div class="conteudo_accordion" id="divConteudoDeclaracaoSinistro"></div>

    <button type="button" class="new_accordion" id="btnJustificativa">Justificativa *</button>
    <div class="conteudo_accordion" id="divConteudoJustificativa">
      <form id="formJustificativa">
        <div>
        <textarea id="conteudoJustificativa" rows="5"
                  style="width: 100%"><?= $this->dadosSolicitacao['justificativa'] ?></textarea>
        </div>
        <div style="padding-top: 10px">
          <button id="salvarJustificativa" type="button">Salvar</button>
        </div>
      </form>
    </div>
  </div>

  <ul id="buttons" class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
    <li>
      <div>
        <form id="formFinaliza" action="/endosso/ajax/finaliza" method="post">
          <input type="hidden" name="inicio_vigencia" id="inicio_vigencia"
                 value="<?= Agro_Util::formatDate($this->endosso->dt_vigencia_inicio); ?>"/>
          <input type="hidden" name="validar_coberturas" id="validar_coberturas" value="1"/>
          <input type="hidden" name="id_proposta" value="<?= $this->endosso->id; ?>"/>
          <input type="hidden" name="status" id="status" value="ORCAMENTO_ENDOSSO"/>
          <input type="hidden" name="tp_endosso" id="tp_endosso" value="<?= $this->tipoEndossoProposta ?>"/>
          <input type="hidden" name="importar_itens_laudo" id="importar_itens_laudo" value="0"/>
          <input type="hidden" name="solicitacaoEndosso" id="solicitacaoEndosso" value="1"/>

            <?php
            $disabledSalvarOrcamento = $disabledSolicitacaoNaoFinalizada;

            if ($bloquearFormularios) {
                $disabledSalvarOrcamento = STYLE_DISABLED;
            }

            if ($consultaAgro) {
                ?>
              <button name="salvar" id="salvarOrcamento" type="button" <?= $disabledSalvarOrcamento ?>>Salvar
                Orçamento
              </button>
              <button name="imprimir" id="imprimir" type="button" <?= $disabledSolicitacaoNaoFinalizada ?>
                      onclick="window.open('/seguro/proposta/view/id/<?= $this->endosso->id ?>', 'view', 'height=700,width=900,scrollbars=1');">
                Imprimir
              </button>
              <button class="btnDownloadCroqui" type="button">Download Croqui</button>
                <?php
                if (Agro_Util::checkPermission('endosso:proposta:transmitir')) {
                    $disabledTransmitirEndosso = $disabledSolicitacaoNaoFinalizada;

                    if ((int)$this->proposta['id_status'] !== Seguro_Model_Propostas::ID_STATUS_APOLICE_EMITIDA || $bloquearFormularios) {
                        $disabledTransmitirEndosso = STYLE_DISABLED;
                    }
                    ?>
                  <button name="transmitir_orcamento" id="transmitir_orcamento"
                          type="button" <?= $styleBotaoTransmitir ?> <?= $disabledTransmitirEndosso ?>>Transmitir
                    Endosso
                  </button>

                  <button class="finalizarSolicitacao" type="button" <?= $styleFinalizarSolicitacaoUsuarioAgro ?>>Finalizar Solicitação</button>

                  <input type="checkbox" value="S" name="fl_apolice_original"
                         id="fl_apolice_original" <?= $disabledSolicitacaoNaoFinalizada ?>>
                  <label for="fl_apolice_original">Utilizar Apólice Original</label>
                    <?php
                }
                ?>
                <?php
            } else {
                ?>
              <button class="finalizarSolicitacao" type="button" <?= $styleFinalizarSolicitacao ?>>Finalizar Solicitação</button>
              <button class="btnDownloadCroqui" type="button">Download Croqui</button>
                <?php
            }
            ?>
        </form>
      </div>
    </li>
  </ul>
</div>

<div class="padding-10"></div>

<div class="geral" <?= $styleConsultaUsuariosAgro ?>>
    <?php
    $RowStatus = (new Sistema_Model_Status())->fetchAll(
        "id_tipo_status = " . Sistema_Model_Tipostatus::SOLICITACOES_ENDOSSO,
        ['ds_status', 'id']
    )->toArray();
    ?>
  <form id="formStatus">
    <fieldset>
      <legend>Solicitação de Endosso</legend>

      <div class="field">
        <label><b>Último Endosso Vigente</b></label>
        <a href="/seguro/proposta/view/id/<?= $this->endossoVigente->id ?>" class="popup">
          <img src="/resources/imagens/mini/view.png" alt="Visualizar" title="Visualizar" border="0">
        </a>

        <a class="showHistorico" href="/endosso/consulta/historico/id/<?= $this->dadosSolicitacao['idSolicitacao'] ?>">
          <img src="/resources/imagens/mini/add_att_20x20.png" alt="Histórico" title="Histórico" border="0">
        </a>
      </div>

      <div class="padding-5"></div>

      <div class="field">
        <label for="id_usuario_responsavel" class="text_bold">Responsável:</label>
        <select name="id_usuario_responsavel" id="id_usuario_responsavel">
            <?php
            foreach ($this->usuariosAgro as $key => $value) {
                $selected = $key == $this->id_usuario_responsavel_selecionado
                    ? 'selected'
                    : '';

                echo "<option value=\"{$key}\" {$selected}>{$value}</option>";
            }
            ?>
        </select>
      </div>

      <div class="padding-5"></div>

      <div class="field">
        <label for="idStatus" class="text_bold">Status da Solicitação:</label>
        <select name="idStatus" id="idStatus">
          <option></option>
            <?php
            foreach ($RowStatus as $row) { ?>
              <option
                value="<?= $row['id'] ?>" <?= $row['id'] == $this->dadosSolicitacao['idStatus'] ? 'selected' : '' ?>><?= $row['ds_status'] ?></option>
                <?php
            } ?>
        </select>
      </div>

      <div class="padding-5"></div>

      <div class="field">
        <label for="observacao" class="<?= $classRequiredObsservacao ?>>"><b>Observação</b></label>
        <textarea id="observacao" name="observacao" rows="5" style="width: 99%"></textarea>
      </div>

      <div class="padding-5"></div>

      <div class="field divCheckboxSinistro">
        <input id="declarouExistenciaSinistro" type="checkbox" class="element_disabled readonly_background_disabled">
        <label class="text_bold">Declarou existência de Sinistro</label>
      </div>

      <div class="padding-5"></div>

      <div class="field divCheckboxSinistro">
        <input id="propostaComunicadoSinistro" type="checkbox" class="element_disabled readonly_background_disabled">
        <label class="text_bold">Proposta com comunicado de Sinistro</label>
      </div>

      <ul id="buttons" class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
        <li>
          <button id="salvarStatus" type="button">Salvar</button>
        </li>
      </ul>
    </fieldset>
  </form>
</div>
