Planifica tu crédito de forma rápida, segura y transparente

Ajusta el monto a tus necesidades y calcula tu cuota quincenal al instante. Cuidamos tu estabilidad financiera alineándonos con las regulaciones de protección al salario en Panamá.

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