Planifica tu crédito según tu salario neto

Este artículo sirve de marco para una herramienta interactiva. En Panamá, la ley protege una parte del salario del funcionario para garantizar su sustento.

Calcula tu préstamo

Respuesta inmediata, sin compromiso

Monto seleccionado
logo
$100 $30,000
Cuota quincenal:

★★★★★ 5,000+ personas ya calcularon su préstamo este mes

*El cálculo es referencial y puede variar según las condiciones del préstamo.
*TEA desde 1.24% sujeto a condiciones del préstamo.

const MIN_AMOUNT = 100; const MAX_AMOUNT = 30000; const STEP = 100; const RATE = 10 / 1500; const range = document.getElementById("amountRange"); const amountInput = document.getElementById("amountInput"); const resultValue = document.getElementById("resultValue"); const alertMessage = document.getElementById("alertMessage"); const handle = document.querySelector(".slider-handle"); const minusBtn = document.getElementById("minusBtn"); const plusBtn = document.getElementById("plusBtn"); /* ===== HELPERS ===== */ function formatCurrency(value) { return value.toLocaleString("en-US", { style: "currency", currency: "USD" }); } function updateHandle(value) { const percent = (value - MIN_AMOUNT) / (MAX_AMOUNT - MIN_AMOUNT); handle.style.left = `${percent * 100}%`; } function updateRangeFill(value) { const percent = ((value - MIN_AMOUNT) / (MAX_AMOUNT - MIN_AMOUNT)) * 100; range.style.background = ` linear-gradient( to right, #1f3a8a 0%, #1f3a8a ${percent}%, #d1d5db ${percent}%, #d1d5db 100% ) `; } function updateCalculation(value) { const monthly = value * RATE; resultValue.textContent = formatCurrency(monthly); } function setValue(value, formatInput = true) { value = Math.min(Math.max(value, MIN_AMOUNT), MAX_AMOUNT); range.value = value; if (formatInput) { amountInput.value = formatCurrency(value); } else { amountInput.value = value; } alertMessage.style.display = "none"; updateHandle(value); updateRangeFill(value); updateCalculation(value); } /* ===== INPUT (escritura libre) ===== */ amountInput.addEventListener("input", () => { let raw = amountInput.value.replace(/\D/g, ""); if (raw === "") { resultValue.textContent = ""; alertMessage.style.display = "none"; return; } const value = Number(raw); if (value MAX_AMOUNT) { alertMessage.textContent = `El monto debe estar entre $${MIN_AMOUNT} y $${MAX_AMOUNT}.`; alertMessage.style.display = "block"; resultValue.textContent = ""; return; } setValue(value, false); // ⬅️ NO formatear mientras escribe }); /* ===== INPUT → formato dinero ===== */ amountInput.addEventListener("blur", () => { const raw = amountInput.value.replace(/\D/g, ""); if (raw !== "") { setValue(Number(raw), true); } }); /* ===== SLIDER ===== */ range.addEventListener("input", () => { setValue(Number(range.value), true); }); /* ===== BOTONES ===== */ minusBtn.addEventListener("click", () => { setValue(Number(range.value) - STEP, true); }); plusBtn.addEventListener("click", () => { setValue(Number(range.value) + STEP, true); }); /* ===== INIT ===== */ setValue(MIN_AMOUNT, true);