(function () { var config = window.syncBasalamBalanceSettlement; if (!config || typeof window.fetch !== "function") { return; } var overlay = document.getElementById("basalam-settlement-modal"); var amountInput = document.getElementById("basalam-settlement-amount"); var submitBtn = document.getElementById("basalam-settlement-submit"); var nextBtn = document.getElementById("basalam-settlement-next"); var cancelBtn = document.getElementById("basalam-settlement-cancel"); var closeBtn = document.getElementById("basalam-settlement-close"); var errorMessage = document.getElementById("basalam-settlement-error"); var methodInput = document.getElementById("basalam-settlement-method"); var investmentInput = document.getElementById("basalam-settlement-investment-option-id"); var bankAccountInput = document.getElementById("basalam-settlement-bank-account-id"); var step1 = document.getElementById("basalam-settlement-step-1"); var step2 = document.getElementById("basalam-settlement-step-2"); var backBtn = document.getElementById("basalam-settlement-back"); var submitBankBtn = document.getElementById("basalam-settlement-submit-bank"); var bankAccountsList = document.getElementById("basalam-bank-accounts-list"); var bankAccountsError = document.getElementById("basalam-bank-accounts-error"); var selectedBankAccountId = null; function formatWithCommas(value) { var num = value.replace(/\D/g, ""); return num.replace(/\B(?=(\d{3})+(?!\d))/g, ","); } function getRawNumber(value) { return parseInt(value.replace(/,/g, ""), 10) || 0; } function openModal(method) { methodInput.value = method; amountInput.value = ""; amountInput.classList.remove("basalam-plus-modal__input--error"); errorMessage.style.display = "none"; errorMessage.textContent = ""; selectedBankAccountId = null; var balanceError = document.getElementById("basalam-settlement-balance-error"); if (balanceError) { balanceError.style.display = "none"; } // Show step 1, hide step 2 step1.style.display = ""; step2.style.display = "none"; // For bank transfer (method=1): show "بعدی", hide "ثبت درخواست" // For wallet transfer (method=2): hide "بعدی", show "ثبت درخواست" var isBank = parseInt(method, 10) === 1; nextBtn.style.display = isBank ? "" : "none"; submitBtn.style.display = isBank ? "none" : ""; submitBtn.disabled = false; submitBtn.textContent = config.submitText; overlay.classList.add("is-open"); amountInput.focus(); } function closeModal() { overlay.classList.remove("is-open"); } function showError(msg) { errorMessage.textContent = msg; errorMessage.style.display = "block"; } function setLoading(loading) { submitBtn.disabled = loading; submitBtn.textContent = loading ? config.loadingText : config.submitText; } function setBankLoading(loading) { submitBankBtn.disabled = loading; submitBankBtn.textContent = loading ? config.loadingText : config.submitText; } function goToStep2() { step1.style.display = "none"; step2.style.display = ""; fetchBankAccounts(); } function goToStep1() { step2.style.display = "none"; step1.style.display = ""; } function fetchBankAccounts() { bankAccountsList.innerHTML = '