<script type="text/javascript">

  $(".CancelarAvisoSinistro").click(function (e) {
    e.preventDefault();

    if (confirm("Tem certeza que deseja excluir este aviso?")) {

      $('#divAjaxDialog').dialog("destroy");
      $('#divAjaxDialog').dialog({
        title: "Informe o motivo do cancelamento do aviso",
        autoOpen: false,
        width: '50%',
        modal: true,
        buttons: {
          "Cancelar Aviso": function () {
            if ($("#ds_motivo").val() != "") {
              $.ajax({
                type: 'POST',
                url: "/sinistro2/avisosinistro/cancelar",
                dataType: 'json',
                data: $("#formMotivoCancelamentoAviso").serialize(),

                success: function (response) {
                  $('#divAjaxDialog').dialog("destroy");

                  if (response.status) {
                    $.showMessage(response.message, "success");

                  } else {
                    $.showMessage(response.message, "error");
                  }
                },
                error: function (result) {
                  $('#divAjaxDialog').dialog("destroy");
                  $.showMessage(result.responseText, "error");
                }
              });

            } else {
              alert("Para cancelar o aviso é necessário informar o motivo.", "Atenção");
            }

          },
          Fechar: function () {
            $(this).dialog('destroy');
          }
        }
      });

      $('#divAjaxDialog').load(this.href, function (e) {
        $('#divAjaxDialog').dialog("open");
      });
    }

  });

  $("#dispensarPreliminar").click(function (e) {
    e.preventDefault();

    $('#divAjaxDialog').dialog("destroy");

    $('#divAjaxDialog').dialog({
      title: "Informe o motivo da dispensa da preliminar.",
      autoOpen: false,
      width: '550px',
      modal: true,
      buttons: {
        Fechar: function () {
          $(this).dialog('destroy');
        },

        "Dispensar preliminar": function () {
          if ($("#ds_motivo").val()) {

            $("#ds_motivo_dispensa").val($("#ds_motivo").val());

            $.ajax({
              type: 'POST',
              url: '/sinistro2/avisosinistro/dispensarpreliminar',
              data: $("#formDispensarVistoriaPreliminar").serialize(),
              dataType: 'json',
              success: function (response) {
                if (response.status) {
                  $.showMessage(response.message, "success");

                  $('#divAjaxDialog').dialog('destroy');

                } else {
                  $.showMessage(response.message, "error");
                  $('#divAjaxDialog').dialog('destroy');
                }
              },
              error: function (result) {
                $.showMessage(result.responseText, "error");
                $('#divAjaxDialog').dialog('destroy');
              }
            });

          } else {
            alert("Informe o motivo da dispensa.");
          }
        }
      }
    });

    $('#divAjaxDialog').load("/default/index/motivo", function () {
      $('#divAjaxDialog').dialog("open");
    });
  });

  $("#chkSelecionarTodos").click(function (e) {
    $(".idAvisoSinistro").attr("checked", $(this).is(":checked"));
  });

  $('#formDispensarVistoriaPreliminar').submit(function (e) {
    if ($("#propostas").val() != '') {
      window.open('', 'formpopup', 'width=2480,height=3508,scrollbars');
      this.target = 'formpopup';

    } else {
      $.showMessage("Informe ao menos uma proposta", "alert");
      e.preventDefault();
    }
  });

  $("#exportarMapa").click(function (e) {
    e.preventDefault();
    $('#formDispensarVistoriaPreliminar').attr('action', '/default/scripts/kmlavisosinistro');
    $('#formDispensarVistoriaPreliminar').attr('method', 'post');

    $('#formDispensarVistoriaPreliminar').submit();
  });
</script>

<?php
$ModelProposta = new Sinistro2_Model_Propostas();
$User = Zend_Auth::getInstance()->getIdentity();
$usuarioLogadoCorretorPreposto = Sistema_Model_Usuarios::isUsuarioLogadoCorretorPreposto();
$usuarioFuncionario = $User->tp_usuario === Sistema_Model_Usuarios::TIPO_USUARIO_FUNCIONARIO;

if (!$this->error) {
    if (count($this->paginator)) {
        $link = "/sinistro2/avisosinistro/list/o";
        $tipoOrdenacao = $this->orderDirection == 'asc' ? 'desc' : 'asc';
        ?>
      <form id="formDispensarVistoriaPreliminar" action="/sinistro2/avisosinistro/dispensarpreliminar">
        <input type="hidden" name="fl_dispensa_preliminar" id="fl_dispensa_preliminar" value="1"/>
        <input type="hidden" name="ds_motivo_dispensa" id="ds_motivo_dispensa"/>

        <table class='grid' cellspacing='1' cellpadding='0' border='0' id='tablePagination'>
          <thead>
          <tr>
            <th nowrap="nowrap">
              <input type="checkbox" id="chkSelecionarTodos"
                     title="Clique aqui para selecionar todos os itens da lista."/>
            </th>
            <th nowrap="nowrap"><img src="/resources/imagens/mini/active.png"></th>
            <th nowrap="nowrap">
              <a href="<?= $link ?>/id/s/<?= $tipoOrdenacao ?>">Aviso</a>
            </th>
            <th nowrap="nowrap">
              <a href="#">Aviso de</a>
            </th>
            <th nowrap="nowrap">
              <a href="#">Cobertura Adicional de</a>
            </th>
            <th nowrap="nowrap">
              <a href="<?= $link ?>/id_proposta_mae/s/<?= $tipoOrdenacao ?>">Proposta</a>
            </th>

              <?php
              if (!$usuarioLogadoCorretorPreposto) : ?>
                <th nowrap="nowrap">
                  <a href="<?= $link ?>/avisos_aceitos/s/<?= $tipoOrdenacao ?>">Avisos Aceitos</a>
                </th>
                <th nowrap="nowrap">
                  <a href="<?= $link ?>/ds_empresa_cpf_segurado/s/<?= $tipoOrdenacao ?>">Empresa CPF/CNPJ</a>
                </th>
              <?php
              endif; ?>

            <th nowrap="nowrap">
              <a href="<?= $link ?>/ds_nome_proponente/s/<?= $tipoOrdenacao ?>">Segurado</a>
            </th>

              <?php
              if (!$usuarioLogadoCorretorPreposto) : ?>
                <th nowrap="nowrap">
                  <a href="<?= $link ?>/vl_lmga/s/<?= $tipoOrdenacao ?>">LMGA</a>
                </th>
              <?php
              endif; ?>

            <th nowrap="nowrap">
              <a href="<?= $link ?>/dt_vigencia/s/<?= $tipoOrdenacao ?>">Vigência</a>
            </th>
            <th nowrap="nowrap">
              <a href="<?= $link ?>/dt_criacao/s/<?= $tipoOrdenacao ?>">Dt. Entrada</a>
            </th>
            <th nowrap="nowrap">
              <a href="<?= $link ?>/dt_sinistro/s/<?= $tipoOrdenacao ?>">Dt. Sinistro</a>
            </th>
            <th nowrap="nowrap">
              <a href="<?= $link ?>/ds_nome_produto/s/<?= $tipoOrdenacao ?>">Produto</a>
            </th>
            <th nowrap="nowrap">
              <a href="<?= $link ?>/ds_eventos/s/<?= $tipoOrdenacao ?>">Evento(s)</a>
            </th>
            <th nowrap="nowrap">
              <a href="<?= $link ?>/ds_nome_municipio/s/<?= $tipoOrdenacao ?>">Município</a>
            </th>
            <th nowrap="nowrap">
              <a href="<?= $link ?>/ds_sigla/s/<?= $tipoOrdenacao ?>">UF</a>
            </th>

              <?php
              if (!$usuarioLogadoCorretorPreposto) : ?>
                <th nowrap="nowrap">
                  <a href="<?= $link ?>/ds_empresa_previa/s/<?= $tipoOrdenacao ?>">Empresa Prévia</a>
                </th>
                <th nowrap="nowrap">
                  <a href="<?= $link ?>/ds_status_vistoria_previa/s/<?= $tipoOrdenacao ?>">Status Vistoria Prévia</a>
                </th>
              <?php
              endif; ?>

            <th nowrap="nowrap">Ações</th>
          </tr>
          </thead>
          <tbody>
          <?php
          $ModelAvisos = new Sinistro2_Model_AvisosSinistro();
          $serviceCobertura = new Produto_Service_Cobertura();

          $i = 0;
          $statusPendente = Sinistro2_Model_AvisosSinistro::ID_STATUS_SA_PENDENTE;
          $statusCanceladoRecusado = [
              Sinistro2_Model_AvisosSinistro::ID_STATUS_SA_CANCELADO,
              Sinistro2_Model_AvisosSinistro::ID_STATUS_SA_RECUSADO
          ];
          $statusPermissaoAceitacao = [
              Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_CONCLUIDA_COM_ALT_SEM_MOV,
              Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_CONCLUIDA_RED,
              Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_CONCLUIDA_SEM_ALT,
              Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_CONCLUIDA_AUMENTO,
              Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_ANALISE_DISPENSADA,
          ];

          $coberturasAdicionais = array_merge(
              Produto_Model_Coberturas::getCoberturasQuedaParreiral(),
              Produto_Model_Coberturas::getCoberturasReplantio()
          );
          $coberturasAdicionais[] = Produto_Model_Coberturas::COB_QUALIDADEIII_CEV;
          $coberturasAdicionaisDescricao = $serviceCobertura->dadosCobertura($coberturasAdicionais)->toArray();

          foreach ($this->paginator as $item) {
              $rowColor = null;

              if ($item['fl_novo']) {
                  $rowColor = "#90ee90";
              }

              if (($item['vencida']) && ($User->id_empresa == Sistema_Model_Empresas::AGROBRASIL)) {
                  $rowColor = '#FFA500';
              }

              if (in_array($item['id_status'], $statusCanceladoRecusado)) {
                  $rowColor = '#FFBBBC';
              }

              $id_proposta_exibicao = ($item['nr_endosso'] > 0) ? $item['id_proposta_mae'] : $item['id_proposta'];
              $ds_title_proposta = ($item['nr_endosso'] > 0) ? "Endosso: " . $item['id_proposta'] : '';

              unset($mensagem);
              $mensagem = [];
              $imagem = "/resources/imagens/mini/active.png";
              $tipoAviso = '';
              $bloquearCheckbox = "";
              $statusBloqueioCheckbox = [
                  Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_NAO_ANALISADO,
                  Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_ANALISANDO,
                  Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_PENDENCIA_PERITO,
                  Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_PENDENCIA_CORRETOR,
                  Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_PENDENCIA_PERITO_CORRETOR,
                  Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_CONCLUIDA_CANC,
                  Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_AGUARDANDO_NOVA_VISTORIA,
                  Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_NAO_RECEBIDA
              ];

              if (in_array($item['id_status_previa'], $statusBloqueioCheckbox)) {
                  $bloquearCheckbox = "disabled='disabled'";
              }

              if ($usuarioFuncionario) {
                  if ($item['fl_dias_carencia']) {
                      $mensagem[] = '- Verificar a carência das coberturas.&#013;';
                  }

                  if ($item['fl_dias_alerta_aviso']) {
                      $mensagem[] = '- Aviso de sinistro enviado com atraso. Verificar datas.&#013;';
                      $tipoAviso = 'Atraso';
                  }

                  if ($item['fl_dias_cancelamento']) {
                      $mensagem[] = '- Aviso de sinistro intempestivo. Sugestão de cancelamento.&#013;';
                      $imagem = "/resources/imagens/mini/active_red.png";
                      $tipoAviso = 'Intempestivo';
                  }
              }

              if ($item['fl_restricao'] && Agro_Util::checkPermissionRTInfos()) {
                  $mensagem[] = '- Segurado com RT.';
              }

              if (!empty($item['id_status_previa'])) {
                  if (!in_array($item['id_status_previa'], $statusPermissaoAceitacao) && $item['id_status_previa'] !== Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_CONCLUIDA_CANC) {
                      $mensagem[] = '- Vistoria Prévia ainda em conferência.';
                  }

                  if ($item['id_status_previa'] === Seguro_Model_VistoriaPrevia::ID_STATUS_VP_ANALISE_CONCLUIDA_CANC) {
                      $rowColor = '#f3ffaa';
                      $mensagem[] = '- Vistoria Prévia já conferida - cancelamento.';
                      $imagem = "/resources/imagens/mini/active_red.png";
                  }
              }

              $linkConsulta = "/sinistro2/avisosinistro/view/id/{$item['id']}/idProposta/{$item['id_proposta']}";
              ?>
            <tr class="" style="background-color: <?= $rowColor ?>">
              <td nowrap='nowrap' align="center">
                <input type="checkbox" name="id_aviso[]" value="<?= $item['id'] ?>" class="idAviso"
                       title="Clique para incluir o item na lista" <?= $bloquearCheckbox ?> />
              </td>
              <td style="display: none">
                  <?php
                  echo $tipoAviso;
                  ?>
              </td>
              <td nowrap='nowrap' align="center">
                  <?php
                  if (!empty($mensagem)) {
                      $mensagem = implode("\n", $mensagem);
                      ?>
                    <img style="cursor: help;" src="<?= $imagem ?>" alt="<?= $mensagem ?>" title="<?= $mensagem ?>">
                      <?php
                  }
                  ?>
              </td>

                <?php
                $title = '';
                if ($usuarioFuncionario) {
                    $title = 'LMGA = R$ ' . Agro_Util::formatDbCurrency($item['vl_lmga']);
                }
                ?>

              <td nowrap='nowrap' align="center" title='<?= $title ?>'>
                <a class="popup" href="<?= $linkConsulta ?>">
                    <?= $item['fl_novo'] ? "<b>" : "" ?><?php echo($respAlt ? $respImg : $item['id']); ?><?= $item['fl_novo'] ? "</b>" : "" ?>
                </a>
              </td>
              <td nowrap='nowrap' align="center">
                  <?php
                  $tipoAvisoReplantioParreiral = "";
                  if ($item['fl_ocorrencia_queda_parreiral']) {
                      $tipoAvisoReplantioParreiral = "Queda de Parreiral";
                  }

                  if ($item['fl_ocorrencia_replantio']) {
                      $tipoAvisoReplantioParreiral = "Replantio";
                  }

                  echo $tipoAvisoReplantioParreiral;
                  ?>
              </td>
              <td nowrap='nowrap' align="center">
                  <?php
                  $coberturasAdicionais = [];
                  $coberturasAdicionaisContratadas = explode(',', $item['coberturas_adicionais']);

                  foreach ($coberturasAdicionaisContratadas as $idCobertura) {
                    $nomeCobertura = current(
                      array_filter(
                        $coberturasAdicionaisDescricao,
                        fn($registro) => (int)$registro['id'] === (int)$idCobertura
                      )
                    );

                    if (!empty($nomeCobertura)) {
                        $coberturasAdicionais[] = $nomeCobertura['ds_nome_cobertura'];
                    }
                  }

                  echo implode(', ', $coberturasAdicionais);
                  ?>
              </td>
              <td nowrap='nowrap' align="center" title="<?= $ds_title_proposta; ?>"><?= $id_proposta_exibicao; ?></td>

                <?php
                if (!$usuarioLogadoCorretorPreposto) : ?>
                  <td nowrap='nowrap' align="center"><?= $item['avisos_aceitos'] ?></td>
                  <td
                    nowrap='nowrap'><?= ($item['ds_empresa_cpf_segurado'] ? $item['ds_empresa_cpf_segurado'] : '&nbsp;'); ?></td>
                <?php
                endif; ?>

              <td nowrap='nowrap'><?= ($item['ds_nome_proponente'] ? $item['ds_nome_proponente'] : '&nbsp;'); ?></td>

                <?php
                if (!$usuarioLogadoCorretorPreposto) : ?>
                  <td nowrap='nowrap' align="center">
                      <?= ($item['vl_lmga'] ? Agro_Util::formatDbCurrency($item['vl_lmga']) : '&nbsp;'); ?>
                  </td>
                <?php
                endif; ?>

              <td nowrap='nowrap' align="center"><?= ($item['dt_vigencia'] ? $item['dt_vigencia'] : '&nbsp;'); ?></td>
              <td nowrap='nowrap' align="center">
                  <?= ($item['dt_criacao'] ? Agro_Util::formatDate($item['dt_criacao'], Zend_Date::DATES) : '&nbsp;') ?>
              </td>
              <td nowrap='nowrap' align="center">
                  <?= ($item['dt_sinistro'] ? Agro_Util::formatDate($item['dt_sinistro'], Zend_Date::DATES) : '&nbsp;') ?>
              </td>
              <td nowrap='nowrap'><?= ($item['ds_nome_produto'] ? $item['ds_nome_produto'] : '&nbsp;'); ?></td>
              <td nowrap='nowrap'><?= ($item['ds_eventos'] ? $item['ds_eventos'] : '&nbsp;'); ?></td>
              <td nowrap='nowrap'><?= ($item['ds_nome_municipio'] ? $item['ds_nome_municipio'] : '&nbsp;'); ?></td>
              <td nowrap='nowrap'><?= ($item['ds_sigla'] ? $item['ds_sigla'] : '&nbsp;'); ?></td>

                <?php if (!$usuarioLogadoCorretorPreposto) : ?>
                  <td nowrap='nowrap'><?= ($item['ds_empresa_previa'] ? $item['ds_empresa_previa'] : '&nbsp;'); ?></td>
                  <td nowrap='nowrap' align='center'>
                      <?= ($item['ds_status_vistoria_previa'] ? $item['ds_status_vistoria_previa'] : '&nbsp;'); ?>
                  </td>
                <?php endif; ?>

              <td align='center' width='1%' nowrap='nowrap'>
                <a class="popup" href="<?= $linkConsulta ?>">
                  <img src="/resources/imagens/mini/view.png" alt="view.png" title="Visualizar" border="0"/>
                </a>
                  <?php
                  if (Agro_Util::checkPermission('sinistro2:avisosinistro:cancelar')) {
                      if (!in_array($item['id_status'], $statusCanceladoRecusado)) {
                          ?>
                        <a href="/sinistro2/avisosinistro/motivocancelamento/id/<?= $item['id'] ?>"
                           class="CancelarAvisoSinistro">
                          <img src="/resources/imagens/mini/delete.png" alt="Cancelar Aviso de Sinistro"
                               title="Cancelar Aviso de Sinistro" border="0"/>
                        </a>
                          <?php
                      }
                  } else {
                      ?>
                    <img src="/resources/imagens/icon/transp.png" alt="" title="" border="0"/>
                  <?php } ?>
              </td>
            </tr>
              <?php
              $i++;
          }
          ?>
          </tbody>
        </table>

        <br class="clear">

          <?php if ($usuarioFuncionario): ?>
            <fieldset id="fieldset-buttons">
              <button id="dispensarPreliminar"
                      title="Clique aqui para dispensar a vistoria preliminar dos avisos selecionados">Dispensar
                preliminar
              </button>
            </fieldset>
          <?php endif; ?>

        <div>
          <fieldset style="background-color: #E5E5E5">
            <legend><b>Legenda</b></legend>
            <img src="/resources/imagens/mini/active.png"
                 title="Aviso de sinistro enviado com atraso. Verificar datas.">
            <img src="/resources/imagens/mini/active_red.png"
                 title="Aviso de sinistro intempestivo. Sugestão de cancelamento.">
            <svg width="20" height="20">
              <title>Aviso aceito aberto pelo perito</title>
              <rect x="4" y="3" rx="3" ry="3" width="15" height="15" style="fill:#FFFFFF;"/>
            </svg>
            <svg width="20" height="20">
              <title>Aviso aceito aberto pelo perito</title>
              <rect x="4" y="3" rx="3" ry="3" width="15" height="15" style="fill:#f2f2f2;"/>
            </svg>
            <svg width="20" height="20">
              <title>Aviso pendente ou aceito e não aberto pelo perito</title>
              <rect x="4" y="3" rx="3" ry="3" width="15" height="15" style="fill:#90ee90;"/>
            </svg>
            <svg width="20" height="20">
              <title>Aviso recusado / cancelado</title>
              <rect x="4" y="3" rx="3" ry="3" width="15" height="15" style="fill:#FFBBBC;"/>
            </svg>
            <svg width="20" height="20">
              <title>Segurado inadimplente</title>
              <rect x="4" y="3" rx="3" ry="3" width="15" height="15" style="fill:#FFA500;"/>
            </svg>
            <svg width="20" height="20">
              <title>Vistoria Prévia já conferida - cancelamento</title>
              <rect x="4" y="3" rx="3" ry="3" width="15" height="15" style="fill:#f3ffaa;"/>
            </svg>
          </fieldset>
        </div>

        <fieldset>
          <legend><b>Tipo de visualização do Mapa</b></legend>
          <div class="row">
            <input type="radio" name="tipo_mapa" id="tipo_mapa" value="sede" checked>Sede<br><br>
            <input type="radio" name="tipo_mapa" id="tipo_mapa" value="talhao">Talhão/Quadra<br><br>
            <button type="button" id="exportarMapa" title="Clique aqui para exportar  as propostas para o Google Earth">
              Exportar para Mapa
            </button>
          </div>
        </fieldset>

      </form>

      <div class="clear"></div><br>


        <?php if ($usuarioFuncionario) { ?>
        <fieldset>
          <legend><b>Encaminhamentos</b></legend>
          <br/>
          <form id="formEncaminharEmpresa" action="/sinistro2/avisosinistro/enviarempresas">
            <div class="geral">
              <span id="avisos"></span>
              <div class="row">
                  <?= $this->form->id_empresa ?>
                <button type="button" id="encaminharEmpresa" title="Clique aqui para encaminhar o aviso para a empresa">
                  Encaminhar para Empresa
                </button>
              </div>
            </div>
          </form>
        </fieldset>
            <?php
        }

        echo $this->paginationControl($this->paginator, 'Sliding');
    }
} else {
    echo $this->showListError($this->error);
}
?>
<div id="divEncaminharEmpresa"></div>
