<?php include 'header.php'; ?>

<!DOCTYPE html>
<html lang="en">

<head>

    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <!-- SWEET ALERT -->
    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>

    <script>
        tailwind.config = {
            theme: {
                extend: {}
            }
        }
    </script>

    <style>.ts-wrapper{width:100%;position:relative;}.ts-control{min-height:56px!important;height:56px!important;border:1px solid #d1d5db!important;border-radius:16px!important;padding:0 16px!important;background:#fff!important;box-shadow:none!important;display:flex!important;align-items:center!important;overflow:hidden!important;}.ts-control input{font-size:14px!important;}.ts-wrapper.focus .ts-control{border-color:#8b5cf6!important;box-shadow:0 0 0 4px rgba(139,92,246,0.10)!important;}.ts-dropdown{margin-top:8px!important;border-radius:16px!important;border:1px solid #e5e7eb!important;overflow:hidden!important;background:#fff!important;box-shadow:0 10px 30px rgba(0,0,0,0.10)!important;z-index:9999!important;}.ts-dropdown-content{max-height:220px!important;overflow-y:auto!important;overflow-x:hidden!important;}.ts-dropdown .option{padding:14px 16px!important;font-size:14px!important;cursor:pointer;}.ts-dropdown .active{background:#f3e8ff!important;color:#7c3aed!important;}.fi{position:relative;}.fi input{width:100%;height:56px;border:1px solid #d1d5db;border-radius:16px;padding:0 16px;outline:none;font-size:15px;background:#fff;transition:0.25s;}.fi input:focus{border-color:#8b5cf6;box-shadow:0 0 0 4px rgba(139,92,246,0.10);}.fi label{position:absolute;left:14px;top:50%;transform:translateY(-50%);background:#fff;padding:0 6px;font-size:14px;color:#6b7280;pointer-events:none;transition:0.2s;}.fi input:focus + label,.fi input:not(:placeholder-shown) + label{top:0;transform:translateY(-50%);font-size:11px;color:#8b5cf6;}.si{position:relative;}.si select{width:100%;height:56px;border:1px solid #d1d5db;border-radius:16px;padding:0 42px 0 16px;outline:none;font-size:15px;background:#fff;appearance:none;transition:0.25s;}.si select:focus{border-color:#8b5cf6;box-shadow:0 0 0 4px rgba(139,92,246,0.10);}.si::after{content:'\ea4e';font-family:'remixicon';position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none;}@media(max-width:640px){.ts-control{height:52px!important;min-height:52px!important;}.fi input,.si select{height:52px;}}</style>

</head>

<body class="bg-gray-100 min-h-screen">

    <!-- HEADER -->
    <div class="max-w-7xl mx-auto px-3 sm:px-4 lg:px-8 pt-6 sm:pt-8 pb-5 sm:pb-6">

        <div class="flex items-start justify-between">

            <div>
                <h1 class="text-3xl font-bold text-gray-900">
                    Bank Details
                </h1>
            </div>

            <a href="uturn_bank_account.php">

                <button
                    class="inline-flex items-center gap-2 h-11 px-5 rounded-xl border border-gray-200 bg-white hover:bg-gray-50 text-gray-700 text-sm font-semibold transition-all shadow-sm">

                    <i class="ri-arrow-left-line"></i>
                    Back

                </button>

            </a>

        </div>

    </div>

    <!-- FORM -->
    <div class="max-w-7xl mx-auto px-3 sm:px-4 lg:px-8 pb-6 sm:pb-10">

        <div class="w-full bg-white rounded-3xl shadow-xl border border-gray-100 p-4 sm:p-6 md:p-8 lg:p-12">

            <div class="mb-8">

                <h2 class="text-2xl sm:text-3xl font-bold text-gray-900">
                    User Details
                </h2>

            </div>

            <!-- FORM -->
            <div class="grid grid-cols-1 md:grid-cols-3 gap-4">

                <!-- BANK NAME -->
                <div class="fi">

                    <input type="text" id="bank_name" placeholder=" " />

                    <label>
                        Bank Name
                    </label>

                </div>

                <!-- ACCOUNT HOLDER -->
                <div class="fi">

                    <input type="text" id="account_holder_name" placeholder=" " />

                    <label>
                        Account Holder Name
                    </label>

                </div>

                <!-- ACCOUNT NUMBER -->
                <div class="fi">

                    <input
                        type="text"
                        id="account_number"
                        maxlength="18"
                        oninput="validateAccountNumber(this)"
                        placeholder=" " />

                    <label>
                        Account Number
                    </label>

                </div>

                <!-- IFSC -->
                <div class="fi">

                    <input type="text" id="ifsc_code" placeholder=" " />

                    <label>
                        IFSC Code
                    </label>

                </div>

                <!-- BRANCH -->
                <div class="fi">

                    <input type="text" id="branch_name" placeholder=" " />

                    <label>
                        Branch Name
                    </label>

                </div>

                <!-- ACCOUNT TYPE -->
                <div class="si">

                    <select id="account_type">

                        <option value="">
                            Account Type
                        </option>

                        <option>
                            Savings
                        </option>

                        <option>
                            Current
                        </option>

                        <option>
                            OD Account
                        </option>

                    </select>

                </div>

                <!-- MOBILE -->
                <div class="fi">

                    <input
                        type="text"
                        id="registered_mobile"
                        maxlength="10"
                        placeholder=" " />

                    <label>
                        Registered Mobile Number
                    </label>

                </div>

                <!-- EMAIL -->
                <div class="fi">

                    <input type="email" id="bank_email" placeholder=" " />

                    <label>
                        Email Linked With Bank
                    </label>

                </div>

                <!-- UPI -->
                <div class="fi">

                    <input type="text" id="upi_id" placeholder=" " />

                    <label>
                        UPI ID
                    </label>

                </div>

                <!-- PURPOSE -->
                <div class="si">

                    <select id="account_purpose">

                        <option value="">
                            Account Purpose
                        </option>

                        <option>
                            Salary
                        </option>

                        <option>
                            Vendor Payments
                        </option>

                        <option>
                            Client Receipts
                        </option>

                        <option>
                            Tax Payments
                        </option>

                        <option>
                            Main Operational Account
                        </option>

                    </select>

                </div>

                <!-- DEFAULT -->
                <div class="si">

                    <select id="default_account">

                        <option value="">
                            Default Account?
                        </option>

                        <option>
                            Yes
                        </option>

                        <option>
                            No
                        </option>

                    </select>

                </div>

                <!-- STATUS -->
                <div class="si">

                    <select id="status">

                        <option value="">
                            Status
                        </option>

                        <option>
                            Active
                        </option>

                        <option>
                            Inactive
                        </option>

                        <option>
                            Closed
                        </option>

                    </select>

                </div>

                <!-- INTERNET -->
                <div class="si">

                    <select id="internet_banking">

                        <option value="">
                            Internet Banking Enabled
                        </option>

                        <option>
                            Yes
                        </option>

                        <option>
                            No
                        </option>

                    </select>

                </div>

                <!-- CORPORATE -->
                <div class="si">

                    <select id="corporate_banking">

                        <option value="">
                            Corporate Banking Enabled
                        </option>

                        <option>
                            Yes
                        </option>

                        <option>
                            No
                        </option>

                    </select>

                </div>

                <!-- NOTES -->
                <div class="fi md:col-span-3">

                    <input type="text" id="notes" placeholder=" " />

                    <label>
                        Notes / Remarks
                    </label>

                </div>

            </div>

            <!-- BUTTON -->
            <div class="flex justify-end mt-8 pt-6 border-t border-gray-100">

                <button
                    onclick="submitForm()"
                    class="w-full sm:w-auto inline-flex justify-center items-center gap-2 h-12 px-9 rounded-xl bg-violet-500 hover:bg-violet-600 text-white text-sm font-semibold transition-all shadow-lg shadow-violet-200">

                    Save

                    <i class="ri-check-line"></i>

                </button>

            </div>

        </div>

    </div>

    <script>

        const searchableSelects = [
            '#account_type',
            '#account_purpose',
            '#default_account',
            '#status',
            '#internet_banking',
            '#corporate_banking'
        ];

        searchableSelects.forEach(id => {

            if(document.querySelector(id)){

                new TomSelect(id, {
                    create:false,
                    allowEmptyOption:true,
                    placeholder:'Search...',
                    closeAfterSelect:true
                });

            }

        });

function submitForm() {

    let bankName = document.getElementById('bank_name').value.trim();
    let accountHolder = document.getElementById('account_holder_name').value.trim();
    let accountNumber = document.getElementById('account_number').value.trim();
    let ifsc = document.getElementById('ifsc_code').value.trim();
    let branch = document.getElementById('branch_name').value.trim();
    let accountType = document.getElementById('account_type').value;
    let mobile = document.getElementById('registered_mobile').value.trim();
    let email = document.getElementById('bank_email').value.trim();

    if (
        bankName === '' ||
        accountHolder === '' ||
        accountNumber === '' ||
        ifsc === '' ||
        branch === '' ||
        accountType === '' ||
        mobile === ''
    ) {

        Swal.fire({
            icon: 'warning',
            title: 'Missing Information',
            text: 'Please fill all required fields.',
            width: '350px',
            confirmButtonColor: '#8b5cf6'
        });

        return;
    }

    if (!/^[0-9]{10}$/.test(mobile)) {

        Swal.fire({
            icon: 'warning',
            title: 'Invalid Mobile Number',
            text: 'Please enter a valid 10 digit mobile number.',
            width: '350px',
            confirmButtonColor: '#8b5cf6'
        });

        return;
    }

    if (!/^[A-Z]{4}0[A-Z0-9]{6}$/.test(ifsc)) {

        Swal.fire({
            icon: 'warning',
            title: 'Invalid IFSC Code',
            text: 'Please enter a valid IFSC code.',
            width: '350px',
            confirmButtonColor: '#8b5cf6'
        });

        return;
    }

    if (email !== '') {

        let emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;

        if (!emailPattern.test(email)) {

            Swal.fire({
                icon: 'warning',
                title: 'Invalid Email',
                text: 'Please enter a valid email address.',
                width: '350px',
                confirmButtonColor: '#8b5cf6'
            });

            return;
        }
    }

    Swal.fire({
        icon: 'success',
        title: 'Success',
        text: 'Bank details saved successfully.',
        width: '350px',
        confirmButtonColor: '#8b5cf6'
    });

}


        /* CLEAR ERRORS */

        function clearErrors(){

            document.querySelectorAll('.error-text')
                .forEach(el => el.remove());

            document.querySelectorAll('.error-border')
                .forEach(el => el.classList.remove('error-border'));
        }

        /* MOBILE VALIDATION */

        function validateMobile(input){

            input.value =
                input.value.replace(/[^0-9]/g, '');

            if(input.value.length > 10){

                input.value =
                    input.value.slice(0,10);
            }
        }

        /* ACCOUNT NUMBER */

        function validateAccountNumber(input){

            input.value =
                input.value.replace(/[^0-9]/g, '');
        }

        /* IFSC UPPERCASE */

        document.getElementById('ifsc_code')
            .addEventListener('input', function(){

                this.value =
                    this.value.toUpperCase();
            });

        /* MOBILE */

        document.getElementById('registered_mobile')
            .addEventListener('input', function(){

                validateMobile(this);
            });

    </script>

</body>

</html>

<?php include 'footer.php'; ?>