document.addEventListener('DOMContentLoaded', () => {
const areaDireitoSelect = document.getElementById('areaDireito');
const tipoCasoSelect = document.getElementById('tipoCaso');
const valorCausaInput = document.getElementById('valorCausa');
const naoSeAplicaValorCausaCheckbox = document.getElementById('naoSeAplicaValorCausa');
const honorariosForm = document.getElementById('honorariosForm');
const calculatorFormSection = document.getElementById('calculator-form');
const resultsDisplaySection = document.getElementById('results-display');
const resultContentDiv = document.getElementById('result-content');
const generatePdfButton = document.getElementById('generatePdf');
const newCalculationButton = document.getElementById('newCalculation');// Dados de exemplo para tipos de caso (seriam carregados do Supabase/n8n)
const tiposDeCasoPorArea = {
trabalhista: [
{ value: 'reclamacao_trabalhista', text: 'Reclamação Trabalhista' },
{ value: 'acordo_trabalhista', text: 'Acordo Trabalhista' },
{ value: 'consultoria_trabalhista', text: 'Consultoria Trabalhista' }
],
civil: [
{ value: 'divorcio_consensual', text: 'Divórcio Consensual' },
{ value: 'acao_cobranca', text: 'Ação de Cobrança' },
{ value: 'usucapiao', text: 'Usucapião' }
],
// ... outras áreas
};// Popula o campo Tipo de Caso dinamicamente
areaDireitoSelect.addEventListener('change', () => {
const selectedArea = areaDireitoSelect.value;
tipoCasoSelect.innerHTML = '
'; // Limpa opções anteriores
tipoCasoSelect.disabled = true;if (selectedArea && tiposDeCasoPorArea[selectedArea]) {
tiposDeCasoPorArea[selectedArea].forEach(tipo => {
const option = document.createElement('option');
option.value = tipo.value;
option.textContent = tipo.text;
tipoCasoSelect.appendChild(option);
});
tipoCasoSelect.disabled = false;
}
});// Formatação do Valor da Causa
valorCausaInput.addEventListener('input', (e) => {
let value = e.target.value;
value = value.replace(/\D/g, ''); // Remove tudo que não é dígito
value = value.replace(/(\d)(\d{2})$/, '$1,$2'); // Coloca a vírgula
value = value.replace(/(?=(\d{3})+(\D|$))/g, '.'); // Coloca os pontos
e.target.value = 'R$ ' + value;
});// Habilita/desabilita Valor da Causa com checkbox
naoSeAplicaValorCausaCheckbox.addEventListener('change', () => {
valorCausaInput.disabled = naoSeAplicaValorCausaCheckbox.checked;
if (naoSeAplicaValorCausaCheckbox.checked) {
valorCausaInput.value = '';
}
});// Simulação de envio do formulário e exibição de resultados
honorariosForm.addEventListener('submit', async (e) => {
e.preventDefault();
// Aqui ocorreria a chamada ao n8n via fetch/axios
// Ex: const response = await fetch('SEU_WEBHOOK_N8N_URL', { method: 'POST', body: JSON.stringify(formData) });
// const data = await response.json();// Simulação de dados de retorno do n8n
const simulatedResult = {
minimo: 'R$ 5.000,00',
medio: 'R$ 7.500,00',
premium: 'R$ 12.000,00',
justificativa: 'O valor proposto reflete a complexidade alta do caso, a experiência do advogado e está alinhado com a média de mercado para ações similares na sua região.'
};resultContentDiv.innerHTML = `
Mínimo Recomendado: ${simulatedResult.minimo}
Mercado Médio: ${simulatedResult.medio}
Premium: ${simulatedResult.premium}
Justificativa:
${simulatedResult.justificativa}
`;calculatorFormSection.style.display = 'none';
resultsDisplaySection.style.display = 'block';
});// Botão Nova Consulta
newCalculationButton.addEventListener('click', () => {
honorariosForm.reset();
tipoCasoSelect.innerHTML = '
';
tipoCasoSelect.disabled = true;
valorCausaInput.disabled = false;
naoSeAplicaValorCausaCheckbox.checked = false;
calculatorFormSection.style.display = 'block';
resultsDisplaySection.style.display = 'none';
});// Botão Gerar PDF (simulação)
generatePdfButton.addEventListener('click', () => {
alert('Funcionalidade de Gerar PDF será implementada em breve!');
// Aqui seria a lógica para gerar o PDF, possivelmente chamando um endpoint no n8n
});
});