{"id":5013,"date":"2026-04-04T06:53:32","date_gmt":"2026-04-04T06:53:32","guid":{"rendered":"https:\/\/eswarigroup.com\/?page_id=5013"},"modified":"2026-04-06T09:37:42","modified_gmt":"2026-04-06T09:37:42","slug":"channel-partner","status":"publish","type":"page","link":"https:\/\/eswarigroup.com\/?page_id=5013","title":{"rendered":"Channel-Partner"},"content":{"rendered":"<style>.elementor-5013 .elementor-element.elementor-element-d6253fd{--display:flex;}:root{--page-title-display:none;}<\/style>\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5013\" class=\"elementor elementor-5013\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"has_eae_slider elementor-element elementor-element-d6253fd e-flex e-con-boxed e-con e-parent\" data-eae-slider=\"33495\" data-id=\"d6253fd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8cb453a elementor-widget elementor-widget-html\" data-id=\"8cb453a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!doctype html>\r\n<html lang=\"en\">\r\n\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>Eswari Group - Registration Form<\/title>\r\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Outfit:wght@400;500;600;700&family=Space+Grotesk:wght@500;700&display=swap\" rel=\"stylesheet\">\r\n    <style>\r\n         :root {\r\n            --bg: #f6f3eb;\r\n            --ink: #212121;\r\n            --muted: #5e5c57;\r\n            --panel: #fffdf8;\r\n            --panel-border: #dfd7ca;\r\n            \/* --accent: #e46f2f; *\/\r\n            --accent: #A91E26;\r\n            --accent-strong: #A91E26;\r\n            \/* --accent-strong: #c6591f; *\/\r\n            --secondary: #2f8a84;\r\n            --focus: rgba(228, 111, 47, 0.2);\r\n            --success: #0d8c61;\r\n            --error: #c73b47;\r\n            --wp-nav-offset: 74px;\r\n        }\r\n        \r\n        * {\r\n            box-sizing: border-box;\r\n        }\r\n        \r\n        body {\r\n            margin: 0;\r\n            min-height: 100vh;\r\n            font-family: \"Outfit\", \"Segoe UI\", sans-serif;\r\n            color: var(--ink);\r\n            background: radial-gradient(circle at 12% 20%, #f7c890 0%, rgba(247, 200, 144, 0) 42%), radial-gradient(circle at 86% 16%, #a0d6cf 0%, rgba(160, 214, 207, 0) 34%), linear-gradient(145deg, #f8f2e8 0%, #f3ede1 100%);\r\n            overflow-x: hidden;\r\n        }\r\n        \r\n        .bg-shape {\r\n            display: none;\r\n        }\r\n        \r\n        .page-wrap {\r\n            min-height: calc(100vh - var(--wp-nav-offset));\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            justify-content: flex-start;\r\n            padding: clamp(8px, 1.5vw, 16px) 14px;\r\n        }\r\n        \r\n        .card {\r\n            width: min(710px, 100%);\r\n            margin: auto 0;\r\n            background: linear-gradient(170deg, rgba(255, 255, 255, 0.96) 0%, rgba(252, 248, 240, 0.8) 100%);\r\n            border: 1px solid var(--panel-border);\r\n            border-top: 4px solid var(--accent);\r\n            border-radius: 14px;\r\n            padding: clamp(20px, 3vw, 28px) clamp(22px, 4vw, 32px);\r\n            box-shadow: 0 40px 80px -15px rgba(100, 70, 30, 0.2), 0 10px 25px -5px rgba(100, 70, 30, 0.1);\r\n            animation: cardEnter 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) both;\r\n            -webkit-backdrop-filter: blur(12px);\r\n            backdrop-filter: blur(12px);\r\n        }\r\n        \r\n        .is-hidden {\r\n            display: none !important;\r\n        }\r\n        \r\n        .home-card {\r\n            width: min(710px, 100%);\r\n            display: grid;\r\n            gap: 16px;\r\n            text-align: center;\r\n            position: relative;\r\n            overflow: hidden;\r\n            border-top: 4px solid var(--accent);\r\n        }\r\n        \r\n        .home-card::before {\r\n            content: \"\";\r\n            position: absolute;\r\n            inset: -2px;\r\n            background: linear-gradient(130deg, rgba(228, 111, 47, 0.15), rgba(47, 138, 132, 0.16), rgba(228, 111, 47, 0.12));\r\n            z-index: 0;\r\n            -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);\r\n            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);\r\n            -webkit-mask-composite: xor;\r\n            mask-composite: exclude;\r\n            padding: 1px;\r\n            border-radius: 24px;\r\n        }\r\n        \r\n        .home-card>* {\r\n            position: relative;\r\n            z-index: 1;\r\n        }\r\n        \r\n        .home-badge {\r\n            justify-self: center;\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: 7px;\r\n            padding: 7px 14px;\r\n            border-radius: 999px;\r\n            background: linear-gradient(130deg, var(--accent), #f08e4f);\r\n            border: 1px solid var(--accent-strong);\r\n            font-size: 0.78rem;\r\n            font-weight: 800;\r\n            letter-spacing: 0.08em;\r\n            text-transform: uppercase;\r\n            color: #ffffff;\r\n            box-shadow: 0 4px 16px rgba(228, 111, 47, 0.35);\r\n            animation: staggerIn 0.55s ease both;\r\n        }\r\n        \r\n        .home-title {\r\n            margin: 0;\r\n            font-family: \"Space Grotesk\", sans-serif;\r\n            font-size: clamp(1.4rem, 1.1rem + 1.2vw, 1.8rem);\r\n            line-height: 1.1;\r\n            letter-spacing: -0.03em;\r\n            animation: staggerIn 0.55s 0.08s ease both;\r\n        }\r\n        \r\n        .home-subtext {\r\n            margin: 0 auto;\r\n            max-width: 48ch;\r\n            color: var(--muted);\r\n            font-size: clamp(1rem, 0.95rem + 0.3vw, 1.1rem);\r\n            line-height: 1.55;\r\n            animation: staggerIn 0.55s 0.14s ease both;\r\n        }\r\n        \r\n        .home-quote {\r\n            margin: 4px auto 6px;\r\n            max-width: 90%;\r\n            padding: 6px 14px;\r\n            border-radius: 12px;\r\n            background: #fffcf8;\r\n            border-left: 4px solid var(--accent);\r\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);\r\n            font-family: \"Space Grotesk\", sans-serif;\r\n            font-size: clamp(0.95rem, 0.9rem + 0.4vw, 1.1rem);\r\n            font-weight: 700;\r\n            color: #383129;\r\n            line-height: 1.4;\r\n            animation: staggerIn 0.55s 0.2s ease both;\r\n        }\r\n        \r\n        .home-quote::before,\r\n        .home-quote::after {\r\n            content: '\"';\r\n            color: #ba9675;\r\n        }\r\n        \r\n        .home-points {\r\n            list-style: none;\r\n            margin: 6px 0 16px;\r\n            padding: 0;\r\n            display: grid;\r\n            grid-template-columns: repeat(3, minmax(0, 1fr));\r\n            gap: 10px;\r\n            animation: staggerIn 0.55s 0.26s ease both;\r\n        }\r\n        \r\n        .home-points li {\r\n            border-radius: 12px;\r\n            border: 1px solid #ebd9c8;\r\n            background: #fffdf8;\r\n            padding: 8px 12px;\r\n            min-height: 40px;\r\n            font-size: 0.95rem;\r\n            font-weight: 600;\r\n            color: #4a453f;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 12px;\r\n            text-align: left;\r\n            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);\r\n            transition: transform 0.2s ease, border-color 0.2s ease;\r\n        }\r\n        \r\n        .home-points li:hover {\r\n            transform: translateY(-2px);\r\n            border-color: var(--accent);\r\n        }\r\n        \r\n        .home-points li::before {\r\n            content: \"\u2713\";\r\n            color: var(--success);\r\n            font-size: 1.1rem;\r\n            font-weight: 800;\r\n            background: rgba(13, 140, 97, 0.1);\r\n            width: 24px;\r\n            height: 24px;\r\n            display: inline-flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            border-radius: 50%;\r\n        }\r\n        \r\n        .primary-btn {\r\n            border: 0;\r\n            border-radius: 12px;\r\n            padding: 12px 20px;\r\n            min-height: 52px;\r\n            font-family: \"Space Grotesk\", sans-serif;\r\n            font-size: 1rem;\r\n            font-weight: 700;\r\n            letter-spacing: 0.01em;\r\n            cursor: pointer;\r\n            transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;\r\n            color: #ffffff;\r\n            background: linear-gradient(130deg, var(--accent), #f08e4f);\r\n            box-shadow: 0 10px 22px rgba(196, 94, 38, 0.3);\r\n        }\r\n        \r\n        .primary-btn:hover {\r\n            transform: translateY(-2px);\r\n            background: linear-gradient(130deg, var(--accent-strong), #e87a39);\r\n            box-shadow: 0 14px 28px rgba(196, 94, 38, 0.34);\r\n        }\r\n        \r\n        .primary-btn:active {\r\n            transform: translateY(0) scale(0.99);\r\n        }\r\n        \r\n        .primary-btn:focus-visible {\r\n            outline: 3px solid var(--focus);\r\n            outline-offset: 2px;\r\n        }\r\n        \r\n        #openRegistrationButton {\r\n            justify-self: center;\r\n            min-width: 250px;\r\n            animation: staggerIn 0.55s 0.34s ease both;\r\n        }\r\n        \r\n        h1 {\r\n            margin: 0 0 8px;\r\n            font-family: \"Space Grotesk\", sans-serif;\r\n            font-size: clamp(1.2rem, 1.1rem + 0.8vw, 1.5rem);\r\n            line-height: 1.2;\r\n        }\r\n        \r\n        .subtext {\r\n            margin: 0 0 8px;\r\n            color: var(--muted);\r\n            max-width: 60ch;\r\n        }\r\n        \r\n        .form-status {\r\n            border-radius: 11px;\r\n            padding: 10px 12px;\r\n            margin: 0 0 14px;\r\n            font-size: 0.95rem;\r\n            font-weight: 600;\r\n            display: none;\r\n        }\r\n        \r\n        .form-status.success,\r\n        .form-status.error {\r\n            display: block;\r\n            animation: fadeIn 0.25s ease;\r\n        }\r\n        \r\n        .form-status.success {\r\n            background: #e2f6ed;\r\n            border: 1px solid #a6d8bf;\r\n            color: #0f6a45;\r\n        }\r\n        \r\n        .form-status.error {\r\n            background: #fdebee;\r\n            border: 1px solid #f0b8be;\r\n            color: #922233;\r\n        }\r\n        \r\n        .form-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(2, minmax(0, 1fr));\r\n            gap: 14px 16px;\r\n        }\r\n        \r\n        .full-width {\r\n            grid-column: 1 \/ -1;\r\n        }\r\n        \r\n        label {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 5px;\r\n            font-weight: 600;\r\n            font-size: 0.9rem;\r\n            color: #383630;\r\n        }\r\n        \r\n        .field-title {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: 4px;\r\n        }\r\n        \r\n        .required-star {\r\n            color: var(--error);\r\n        }\r\n        \r\n        .field-hint {\r\n            font-size: 0.81rem;\r\n            color: #706c64;\r\n            font-weight: 500;\r\n        }\r\n        \r\n        input,\r\n        textarea,\r\n        select,\r\n        button {\r\n            font: inherit;\r\n        }\r\n        \r\n        input,\r\n        textarea,\r\n        select {\r\n            width: 100%;\r\n            border: 1px solid #d9d0c4;\r\n            border-radius: 10px;\r\n            background: #fffcf7;\r\n            padding: 10px 12px;\r\n            font-size: 0.96rem;\r\n            color: #1f1f1f;\r\n            transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;\r\n        }\r\n        \r\n        textarea {\r\n            min-height: 52px;\r\n            height: 52px;\r\n            resize: vertical;\r\n        }\r\n        \r\n        input::placeholder,\r\n        textarea::placeholder {\r\n            color: #918b7f;\r\n        }\r\n        \r\n        input:focus,\r\n        textarea:focus,\r\n        select:focus {\r\n            outline: none;\r\n            border-color: var(--accent);\r\n            box-shadow: 0 0 0 3px var(--focus);\r\n            transform: translateY(-1px);\r\n            background: #ffffff;\r\n        }\r\n        \r\n        .upload-box input[type=\"file\"] {\r\n            padding: 9px;\r\n            background: #fff8ef;\r\n            border-style: dashed;\r\n            border-width: 2px;\r\n        }\r\n        \r\n        .submit-button {\r\n            grid-column: 1 \/ -1;\r\n            width: 100%;\r\n            margin-top: 12px;\r\n        }\r\n        \r\n        @keyframes cardEnter {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(10px) scale(0.99);\r\n            }\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0) scale(1);\r\n            }\r\n        }\r\n        \r\n        @keyframes staggerIn {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(8px);\r\n            }\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n        \r\n        @keyframes fadeIn {\r\n            from {\r\n                opacity: 0;\r\n            }\r\n            to {\r\n                opacity: 1;\r\n            }\r\n        }\r\n        \r\n        @media (max-width: 760px) {\r\n             :root {\r\n                --wp-nav-offset: 64px;\r\n            }\r\n            .page-wrap {\r\n                padding: 12px 10px 16px;\r\n            }\r\n            .card {\r\n                border-radius: 18px;\r\n                padding: 16px 14px;\r\n                margin: 12px 0 auto 0;\r\n            }\r\n            .home-card {\r\n                gap: 12px;\r\n            }\r\n            .home-points {\r\n                grid-template-columns: 1fr;\r\n                gap: 6px;\r\n                margin: 4px 0 12px;\r\n            }\r\n            .home-points li {\r\n                min-height: 36px;\r\n                padding: 6px 10px;\r\n            }\r\n            .form-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 16px;\r\n            }\r\n            .full-width,\r\n            .submit-button {\r\n                grid-column: auto;\r\n            }\r\n            #openRegistrationButton {\r\n                min-width: 100%;\r\n            }\r\n            .primary-btn {\r\n                width: 100%;\r\n            }\r\n        }\r\n        \r\n        @media (max-width: 460px) {\r\n            .card {\r\n                padding: 14px 12px;\r\n                margin: 8px 0 auto 0;\r\n            }\r\n            .home-card {\r\n                gap: 8px;\r\n            }\r\n            .home-quote {\r\n                padding: 8px 10px;\r\n                margin: 2px auto 4px;\r\n            }\r\n            .home-points {\r\n                margin: 2px 0 8px;\r\n                gap: 4px;\r\n            }\r\n            .home-points li {\r\n                min-height: 32px;\r\n                padding: 4px 8px;\r\n                font-size: 0.9rem;\r\n            }\r\n            input,\r\n            textarea,\r\n            select,\r\n            button {\r\n                font-size: 0.95rem;\r\n            }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n\r\n<body>\r\n    <div class=\"bg-shape shape-one\" aria-hidden=\"true\"><\/div>\r\n    <div class=\"bg-shape shape-two\" aria-hidden=\"true\"><\/div>\r\n\r\n    <main class=\"page-wrap\">\r\n        <section class=\"card home-card\" id=\"homeSection\">\r\n            <div style=\"font-family: 'Space Grotesk', sans-serif; font-size: 1.6rem; font-weight: 700; color: var(--accent); margin-bottom: -10px;\">Eswari Group<\/div>\r\n            <p class=\"home-badge\">Channel Partner Onboarding<\/p>\r\n            <h1 class=\"home-title\">Quiet work today, loud results tomorrow<\/h1>\r\n\r\n            <p class=\"home-quote\">Start small with <strong style=\"color: var(--accent-strong);\">Eswari Group<\/strong>. Stay consistent. Let the momentum pay you back.<\/p>\r\n            <ul class=\"home-points\" aria-label=\"Benefits\">\r\n                <li>Guided 1-minute Registration<\/li>\r\n                <li>Transparent process<\/li>\r\n                <li>Unlimited earning potential<\/li>\r\n            <\/ul>\r\n            <button type=\"button\" class=\"primary-btn\" id=\"openRegistrationButton\">Start Registration<\/button>\r\n        <\/section>\r\n\r\n        <section class=\"card is-hidden\" id=\"registrationSection\">\r\n            <h1>Registration Form<\/h1>\r\n            <p class=\"subtext\">Enter your details below to complete registration. All fields are required.<\/p>\r\n\r\n            <p id=\"formStatus\" class=\"form-status\" aria-live=\"polite\"><\/p>\r\n\r\n            <form id=\"registrationForm\" class=\"form-grid\" action=\"https:\/\/script.google.com\/macros\/s\/AKfycbzG9Bp0FLQOeFNcqljQJvLIcC3jdt0u8fVToW2jyjNgjh_H5h_BJIMld6oHzLfej91K\/exec\" method=\"post\" enctype=\"application\/x-www-form-urlencoded\">\r\n                <label>\r\n                                    <span class=\"field-title\">First Name <span class=\"required-star\" aria-hidden=\"true\">*<\/span><\/span>\r\n                  <input type=\"text\" name=\"first_name\" placeholder=\"Enter first name\" required aria-required=\"true\">\r\n        <\/label>\r\n\r\n                <label>\r\n                                    <span class=\"field-title\">Last Name <span class=\"required-star\" aria-hidden=\"true\">*<\/span><\/span>\r\n                  <input type=\"text\" name=\"last_name\" placeholder=\"Enter last name\" required aria-required=\"true\">\r\n        <\/label>\r\n\r\n                <label>\r\n                                    <span class=\"field-title\">Phone Number <span class=\"required-star\" aria-hidden=\"true\">*<\/span><\/span>\r\n                  <input type=\"tel\" name=\"phone_number\" pattern=\"[0-9]{10}\" placeholder=\"10-digit number\" required aria-required=\"true\">\r\n        <\/label>\r\n\r\n                <label>\r\n                  Mail ID\r\n                  <input type=\"email\" name=\"email\" placeholder=\"example@mail.com\">\r\n        <\/label>\r\n\r\n                <label>\r\n                                    <span class=\"field-title\">Referred By <span class=\"required-star\" aria-hidden=\"true\">*<\/span><\/span>\r\n                                    <input type=\"text\" name=\"referred_by\" placeholder=\"Name of the referrer\" required aria-required=\"true\">\r\n                <\/label>\r\n\r\n                <label class=\"full-width\">\r\n                                    <span class=\"field-title\">Address <span class=\"required-star\" aria-hidden=\"true\">*<\/span><\/span>\r\n                  <textarea name=\"address\" rows=\"3\" placeholder=\"House no, street, area, city\" required aria-required=\"true\"><\/textarea>\r\n        <\/label>\r\n\r\n                <label>\r\n                    <span class=\"field-title\">ID Type <span class=\"required-star\" aria-hidden=\"true\">*<\/span><\/span>\r\n                    <select name=\"id_type\" id=\"idType\" required aria-required=\"true\">\r\n            <option value=\"\" selected disabled>Select ID Type<\/option>\r\n                        <option value=\"PAN\">PAN Card<\/option>\r\n                        <option value=\"Aadhaar\">Aadhaar Card<\/option>\r\n          <\/select>\r\n        <\/label>\r\n\r\n                <label>\r\n                                    <span class=\"field-title\">PAN or Aadhar Number <span class=\"required-star\" aria-hidden=\"true\">*<\/span><\/span>\r\n                                    <input type=\"text\" name=\"id_number\" id=\"idNumber\" placeholder=\"Select ID type first\" required aria-required=\"true\">\r\n                                    <span class=\"field-hint\" id=\"idHint\">Format will change based on the selected ID type.<\/span>\r\n        <\/label>\r\n\r\n                <label class=\"full-width upload-box\">\r\n                                    <span class=\"field-title\">Passport size Photo Upload <span class=\"required-star\" aria-hidden=\"true\">*<\/span><\/span>\r\n                  <input type=\"file\" name=\"photo\" accept=\".png,.jpg,.jpeg\" required aria-required=\"true\">\r\n        <\/label>\r\n\r\n                <input type=\"hidden\" name=\"photo_base64\" id=\"photoBase64\">\r\n                <input type=\"hidden\" name=\"photo_mime_type\" id=\"photoMimeType\">\r\n                <input type=\"hidden\" name=\"photo_filename\" id=\"photoFilename\">\r\n\r\n                <button type=\"submit\" class=\"submit-button primary-btn\">Submit Registration<\/button>\r\n            <\/form>\r\n\r\n        <\/section>\r\n    <\/main>\r\n\r\n    <script>\r\n        const homeSection = document.getElementById(\"homeSection\");\r\n        const registrationSection = document.getElementById(\"registrationSection\");\r\n        const openRegistrationButton = document.getElementById(\"openRegistrationButton\");\r\n\r\n        const form = document.getElementById(\"registrationForm\");\r\n        const statusEl = document.getElementById(\"formStatus\");\r\n        const submitButton = form.querySelector(\"button[type='submit']\");\r\n\r\n        const idTypeInput = document.getElementById(\"idType\");\r\n        const idNumberInput = document.getElementById(\"idNumber\");\r\n        const idHint = document.getElementById(\"idHint\");\r\n        const photoInput = form.querySelector(\"input[name='photo']\");\r\n\r\n        openRegistrationButton.addEventListener(\"click\", () => {\r\n            homeSection.classList.add(\"is-hidden\");\r\n            registrationSection.classList.remove(\"is-hidden\");\r\n            window.scrollTo({\r\n                top: 0,\r\n                behavior: \"smooth\"\r\n            });\r\n        });\r\n\r\n        function updateIdFormat() {\r\n            const selectedType = idTypeInput.value;\r\n\r\n            if (selectedType === \"PAN\") {\r\n                idNumberInput.value = \"\";\r\n                idNumberInput.placeholder = \"ABCDE1234F\";\r\n                idNumberInput.pattern = \"[A-Za-z]{5}[0-9]{4}[A-Za-z]{1}\";\r\n                idNumberInput.maxLength = 10;\r\n                idNumberInput.style.textTransform = \"uppercase\";\r\n                idHint.textContent = \"PAN format: 5 letters, 4 digits, 1 letter (example: ABCDE1234F).\";\r\n            } else if (selectedType === \"Aadhaar\") {\r\n                idNumberInput.value = \"\";\r\n                idNumberInput.placeholder = \"123456789012\";\r\n                idNumberInput.pattern = \"[2-9][0-9]{11}\";\r\n                idNumberInput.maxLength = 12;\r\n                idNumberInput.style.textTransform = \"none\";\r\n                idHint.textContent = \"Aadhaar format: 12 digits, and it should not start with 0 or 1.\";\r\n            } else {\r\n                idNumberInput.value = \"\";\r\n                idNumberInput.placeholder = \"Select ID type first\";\r\n                idNumberInput.removeAttribute(\"pattern\");\r\n                idNumberInput.removeAttribute(\"maxlength\");\r\n                idNumberInput.style.textTransform = \"none\";\r\n                idHint.textContent = \"Format will change based on the selected ID type.\";\r\n            }\r\n\r\n            idNumberInput.setCustomValidity(\"\");\r\n        }\r\n\r\n        function forcePanUppercase() {\r\n            if (idTypeInput.value !== \"PAN\") {\r\n                return;\r\n            }\r\n\r\n            const currentValue = idNumberInput.value;\r\n            const upperValue = currentValue.toUpperCase();\r\n            if (currentValue !== upperValue) {\r\n                idNumberInput.value = upperValue;\r\n            }\r\n        }\r\n\r\n        function validateIdFormat() {\r\n            const selectedType = idTypeInput.value;\r\n            const enteredValue = idNumberInput.value.trim();\r\n\r\n            if (!selectedType || !enteredValue) {\r\n                idNumberInput.setCustomValidity(\"\");\r\n                return;\r\n            }\r\n\r\n            if (selectedType === \"PAN\") {\r\n                const panPattern = \/^[A-Za-z]{5}[0-9]{4}[A-Za-z]{1}$\/;\r\n                idNumberInput.setCustomValidity(panPattern.test(enteredValue) ? \"\" : \"Enter a valid PAN number, like ABCDE1234F.\");\r\n                return;\r\n            }\r\n\r\n            if (selectedType === \"Aadhaar\") {\r\n                const aadhaarPattern = \/^[2-9][0-9]{11}$\/;\r\n                idNumberInput.setCustomValidity(aadhaarPattern.test(enteredValue) ? \"\" : \"Enter a valid Aadhaar number with 12 digits.\");\r\n            }\r\n        }\r\n\r\n        idTypeInput.addEventListener(\"change\", updateIdFormat);\r\n        idNumberInput.addEventListener(\"input\", () => {\r\n            forcePanUppercase();\r\n            validateIdFormat();\r\n        });\r\n        updateIdFormat();\r\n\r\n        function sanitizeFilePart(value) {\r\n            const cleaned = String(value || \"\")\r\n                .trim()\r\n                .replace(\/\\s+\/g, \"_\")\r\n                .replace(\/[^a-zA-Z0-9_-]\/g, \"\");\r\n            return cleaned || \"photo\";\r\n        }\r\n\r\n        function setStatus(message, type) {\r\n            statusEl.textContent = message;\r\n            statusEl.className = \"form-status\";\r\n            if (type) {\r\n                statusEl.classList.add(type);\r\n            }\r\n        }\r\n\r\n        function readFileAsDataUrl(file) {\r\n            return new Promise((resolve, reject) => {\r\n                const reader = new FileReader();\r\n                reader.onload = () => {\r\n                    resolve(String(reader.result || \"\"));\r\n                };\r\n                reader.onerror = () => reject(new Error(\"Unable to read selected file\"));\r\n                reader.readAsDataURL(file);\r\n            });\r\n        }\r\n\r\n        function parseDataUrl(dataUrl) {\r\n            const commaIndex = dataUrl.indexOf(\",\");\r\n            if (commaIndex === -1) {\r\n                throw new Error(\"Invalid image format.\");\r\n            }\r\n\r\n            const header = dataUrl.slice(0, commaIndex);\r\n            const base64 = dataUrl.slice(commaIndex + 1);\r\n            const mimeMatch = header.match(\/^data:([^;]+);base64$\/i);\r\n            const mimeType = mimeMatch ? mimeMatch[1] : \"application\/octet-stream\";\r\n\r\n            return {\r\n                mimeType,\r\n                base64,\r\n            };\r\n        }\r\n\r\n        function extensionFromMimeType(mimeType) {\r\n            if (mimeType === \"image\/jpeg\") {\r\n                return \"jpg\";\r\n            }\r\n\r\n            if (mimeType === \"image\/png\") {\r\n                return \"png\";\r\n            }\r\n\r\n            if (mimeType === \"image\/webp\") {\r\n                return \"webp\";\r\n            }\r\n\r\n            return \"png\";\r\n        }\r\n\r\n        form.addEventListener(\"submit\", async(event) => {\r\n            event.preventDefault();\r\n\r\n            forcePanUppercase();\r\n            validateIdFormat();\r\n\r\n            if (!form.reportValidity()) {\r\n                return;\r\n            }\r\n\r\n            const appScriptUrl = form.getAttribute(\"action\") || \"\";\r\n            if (!appScriptUrl.startsWith(\"https:\/\/script.google.com\/macros\/s\/\")) {\r\n                setStatus(\"Set your Apps Script Web App URL in the form action first.\", \"error\");\r\n                return;\r\n            }\r\n\r\n            const selectedFile = photoInput.files && photoInput.files[0];\r\n            if (!selectedFile) {\r\n                setStatus(\"Please choose a photo before submitting.\", \"error\");\r\n                return;\r\n            }\r\n\r\n            try {\r\n                submitButton.disabled = true;\r\n                setStatus(\"Thank you! Your registration is being submitted...\", \"success\");\r\n\r\n                const dataUrl = await readFileAsDataUrl(selectedFile);\r\n                const parsedFile = parseDataUrl(dataUrl);\r\n                const firstName = sanitizeFilePart(form.elements.first_name.value);\r\n                const lastName = sanitizeFilePart(form.elements.last_name.value);\r\n                const fileExtension = extensionFromMimeType(parsedFile.mimeType);\r\n                const photoFilename = `${firstName}_${lastName}.${fileExtension}`;\r\n\r\n                const payload = new URLSearchParams();\r\n                payload.set(\"first_name\", form.elements.first_name.value.trim());\r\n                payload.set(\"last_name\", form.elements.last_name.value.trim());\r\n                payload.set(\"phone_number\", form.elements.phone_number.value.trim());\r\n                payload.set(\"email\", form.elements.email.value.trim());\r\n                payload.set(\"referred_by\", form.elements.referred_by.value.trim());\r\n                payload.set(\"address\", form.elements.address.value.trim());\r\n                payload.set(\"id_type\", form.elements.id_type.value.trim());\r\n                payload.set(\"id_number\", form.elements.id_number.value.trim());\r\n                payload.set(\"photo_base64\", parsedFile.base64);\r\n                payload.set(\"photo_mime_type\", parsedFile.mimeType);\r\n                payload.set(\"photo_filename\", photoFilename);\r\n\r\n                form.reset();\r\n                updateIdFormat();\r\n                setStatus(\"Thank you! Your registration has been submitted successfully.\", \"success\");\r\n\r\n                await fetch(form.action, {\r\n                    method: \"POST\",\r\n                    mode: \"no-cors\",\r\n                    body: payload,\r\n                });\r\n            } catch (error) {\r\n                setStatus(error.message || \"Submission failed. Try again.\", \"error\");\r\n            } finally {\r\n                submitButton.disabled = false;\r\n            }\r\n        });\r\n    <\/script>\r\n<\/body>\r\n\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Eswari Group &#8211; Registration Form Eswari Group Channel Partner Onboarding Quiet work today, loud results tomorrow Start small with Eswari Group. Stay consistent. Let the momentum pay you back. Guided 1-minute Registration Transparent process Unlimited earning potential Start Registration Registration Form Enter your details below to complete registration. All fields are required. First Name * [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-5013","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/eswarigroup.com\/index.php?rest_route=\/wp\/v2\/pages\/5013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eswarigroup.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/eswarigroup.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/eswarigroup.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eswarigroup.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5013"}],"version-history":[{"count":31,"href":"https:\/\/eswarigroup.com\/index.php?rest_route=\/wp\/v2\/pages\/5013\/revisions"}],"predecessor-version":[{"id":5053,"href":"https:\/\/eswarigroup.com\/index.php?rest_route=\/wp\/v2\/pages\/5013\/revisions\/5053"}],"wp:attachment":[{"href":"https:\/\/eswarigroup.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}