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');
}
}
});