document.addEventListener('DOMContentLoaded', function() { // Ajusta o display do elemento 'main', se presente. const main = document.querySelector('main'); if (main) { main.style.display = 'block'; } // Troca o ícone baseado no conteúdo do span dentro do nav-link ativo, se presentes. const spanTextoElement = document.querySelector('.nav-item.nav-link.active span'); const h2Destino = document.querySelector('h2.display-5.fw-bold'); if (spanTextoElement && h2Destino) { const spanTexto = spanTextoElement.textContent.toLowerCase(); let iconeHTML = ''; if (spanTexto.includes('procedimento preliminar')) { iconeHTML = ''; } else if (spanTexto.includes('noticia de fato')) { iconeHTML = ''; } else if (spanTexto.includes('processo administrativo disciplinar')) { iconeHTML = ''; } h2Destino.innerHTML += ' ' + iconeHTML; } // Cálculo de diferença de dias e manipulação de datas, se o elemento 'instauracao' estiver presente. const instauracaoElement = document.getElementById('instauracao'); if (instauracaoElement) { const divDataString = instauracaoElement.getAttribute('data-id'); const divDataArray = divDataString.split(' ')[0].split('/'); const divData = new Date(divDataArray[2], divDataArray[1] - 1, divDataArray[0]); const hoje = new Date(); hoje.setHours(0, 0, 0, 0); divData.setHours(0, 0, 0, 0); const diferencaEmMilissegundos = hoje - divData; const diferencaEmDias = Math.floor(diferencaEmMilissegundos / (1000 * 60 * 60 * 24)); const diferencaEmDiasElement = document.getElementById('diferencaEmDias'); if (diferencaEmDiasElement) { diferencaEmDiasElement.innerHTML = diferencaEmDias > 30 ? 'Dias passados desde da instauração: ' + diferencaEmDias + ' dias' : 'Dias passados desde da instauração: ' + diferencaEmDias + ' dias'; } const novaData = new Date(divData.getTime()); novaData.setDate(novaData.getDate() + 45); const juizoElement = document.getElementById('juizo'); if (juizoElement) { juizoElement.innerHTML = 'Data do 1º juízo de admissibidade dos 45 dias: ' + novaData.toLocaleDateString('pt-BR') + ''; } } // Cálculo de prescrição baseado na "Data do Fato", se presente const dataFatoElement = document.getElementById('dataFato'); if (dataFatoElement) { const dataDoFatoTexto = dataFatoElement.textContent; const partesDaData = dataDoFatoTexto.split('/'); const dataDoFato = new Date(partesDaData[2], partesDaData[1] - 1, partesDaData[0]); const hoje = new Date(); const dataPrescricaoSuspensao = new Date(dataDoFato.getFullYear() + 2, dataDoFato.getMonth(), dataDoFato.getDate()); const dataPrescricaoDemissao = new Date(dataDoFato.getFullYear() + 5, dataDoFato.getMonth(), dataDoFato.getDate()); const diasParaSuspensao = Math.round((dataPrescricaoSuspensao.getTime() - hoje.getTime()) / (24 * 60 * 60 * 1000)); const dataSuspensaoElement = document.getElementById('dataSuspensao'); const diasSuspensaoElement = document.getElementById('diasSuspensao'); const dataDemissaoElement = document.getElementById('dataDemissao'); const diasDemissaoElement = document.getElementById('diasDemissao'); if (dataSuspensaoElement) dataSuspensaoElement.textContent = dataPrescricaoSuspensao.toLocaleDateString('pt-BR'); if (diasSuspensaoElement) diasSuspensaoElement.textContent = diasParaSuspensao.toString(); if (dataDemissaoElement) dataDemissaoElement.textContent = dataPrescricaoDemissao.toLocaleDateString('pt-BR'); if (diasDemissaoElement) diasDemissaoElement.textContent = Math.round((dataPrescricaoDemissao.getTime() - hoje.getTime()) / (24 * 60 * 60 * 1000)).toString(); } // Alteração de classe com base nos dias de suspensão, se elementos relevantes presentes const divParaModificar = document.querySelector('.h-100.p-5.rounded-3.border'); if (divParaModificar && dataFatoElement) { divParaModificar.classList.remove('bg-noticiafato', 'bg-pad', 'bg-pp'); const diasParaSuspensao = parseInt(document.getElementById('diasSuspensao').textContent, 10); if (diasParaSuspensao < 0) { divParaModificar.classList.add('bg-prescrito'); } else if (diasParaSuspensao < 10) { divParaModificar.classList.add('bg-alerta'); } else if (diasParaSuspensao < 20) { divParaModificar.classList.add('bg-atencao'); } else { divParaModificar.classList.add('bg-noticiafato'); } } // Verificação e alteração de classe com base na diferença de dias desde a instauração, se os elementos relevantes estiverem presentes const diferencaEmDiasDiv = document.getElementById('diferencaEmDias'); if (diferencaEmDiasDiv && divParaModificar) { const diferenca = parseInt(diferencaEmDiasDiv.textContent.match(/\d+/)[0], 10); divParaModificar.classList.remove('bg-noticiafato', 'bg-pad', 'bg-pp'); if (diferenca > 45) { divParaModificar.classList.add('bg-prescrito'); } else if (diferenca > 35) { divParaModificar.classList.add('bg-alerta'); } else if (diferenca > 25) { divParaModificar.classList.add('bg-atencao'); } else { divParaModificar.classList.add('bg-noticiafato'); } } });