{"id":1471,"date":"2026-06-22T07:00:32","date_gmt":"2026-06-22T07:00:32","guid":{"rendered":"https:\/\/abhidham.mcu.ac.th\/?page_id=1471"},"modified":"2026-07-10T17:26:33","modified_gmt":"2026-07-10T17:26:33","slug":"%e0%b8%aa%e0%b8%a1%e0%b8%b1%e0%b8%84%e0%b8%a3%e0%b9%80%e0%b8%a3%e0%b8%b5%e0%b8%a2%e0%b8%99%e0%b8%9e%e0%b8%a3%e0%b8%b0%e0%b8%ad%e0%b8%a0%e0%b8%b4%e0%b8%98%e0%b8%a3%e0%b8%a3%e0%b8%a1","status":"publish","type":"page","link":"https:\/\/abhidham.mcu.ac.th\/?page_id=1471","title":{"rendered":"\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e40\u0e23\u0e35\u0e22\u0e19\u0e1e\u0e23\u0e30\u0e2d\u0e20\u0e34\u0e18\u0e23\u0e23\u0e21"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1471\" class=\"elementor elementor-1471\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-eb1652a e-flex e-con-boxed e-con e-parent\" data-id=\"eb1652a\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-01f3f8d elementor-widget elementor-widget-html\" data-id=\"01f3f8d\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     \u0e41\u0e1a\u0e1a\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e40\u0e23\u0e35\u0e22\u0e19\u0e1e\u0e23\u0e30\u0e2d\u0e20\u0e34\u0e18\u0e23\u0e23\u0e21 \u2014 \u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e0a\u0e31\u0e19 WordPress\/Elementor\r\n     \u0e27\u0e32\u0e07\u0e42\u0e04\u0e49\u0e14\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e19\u0e35\u0e49\u0e43\u0e19 Elementor \"HTML widget\" (\u0e44\u0e21\u0e48\u0e43\u0e0a\u0e48 Text editor)\r\n     \u0e41\u0e19\u0e30\u0e19\u0e33\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 Section \u0e40\u0e1b\u0e47\u0e19 Full Width \u0e41\u0e25\u0e30 Padding = 0\r\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\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=Mitr:wght@300;400;500;600&family=Sarabun:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Trirong:wght@400;500;600&display=swap\" rel=\"stylesheet\">\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/sweetalert2@11\"><\/script>\r\n<script>(function(){if(!document.querySelector('meta[name=\"viewport\"]')){var m=document.createElement(\"meta\");m.name=\"viewport\";m.content=\"width=device-width, initial-scale=1, viewport-fit=cover\";document.head.appendChild(m);}})();<\/script>\r\n<style>\r\n#abjRegApp, #abjRegApp *, #abjRegApp *::before, #abjRegApp *::after { box-sizing:border-box; margin:0; padding:0; }\r\n:root {\r\n    --mcru:#FF8DC2; --mcru-light:#FFE1EE; --mcru-mid:#DB5E95; --mcru-dark:#8E2A57;\r\n    --mcru-soft:#FFF1F7;\r\n    --gold:#F7B7D1; --gold-light:#FDE7F0; --cream:#FFF4F9; --surface:#ffffff;\r\n    --border:#F9E4EE; --border-md:#F4C2D6; --text:#3A1D32; --text-mid:#6A4C66;\r\n    --text-muted:#a78c98;\r\n    --shadow-sm:0 1px 3px rgba(170,70,110,.08);\r\n    --shadow-md:0 12px 36px rgba(219,94,149,.14);\r\n    --shadow-card:0 10px 32px rgba(255,141,194,.22), 0 2px 8px rgba(140,60,100,.06);\r\n    --radius:20px; --radius-sm:13px;\r\n    --focus-ring:0 0 0 4px rgba(244,143,177,.30);\r\n  }\r\n#abjRegApp {\r\n    font-family:'Sarabun',sans-serif; color:var(--text); font-size:17px; line-height:1.75; min-height:100vh;\r\n    background:\r\n      radial-gradient(1100px 560px at 88% -8%, rgba(251,223,234,.75) 0%, rgba(252,209,231,0) 60%),\r\n      radial-gradient(900px 520px at -12% 32%, rgba(254,240,246,.85) 0%, rgba(253,231,243,0) 55%),\r\n      linear-gradient(180deg,#FFF9FB 0%, #FDF3F7 100%);\r\n    background-attachment:fixed;\r\n  }\r\n@media (prefers-reduced-motion: reduce) {\r\n#abjRegApp *, #abjRegApp *::before, #abjRegApp *::after { animation:none !important; transition:none !important; }\r\n}\r\n#abjRegApp \/* \u2500\u2500\u2500 \u0e41\u0e16\u0e1a\u0e20\u0e32\u0e29\u0e32 \u2500\u2500\u2500 *\/\r\n  .lang-bar {\r\n    background:linear-gradient(90deg,#6E2743,var(--mcru-dark) 55%,#8F4462);\r\n    padding:8px max(16px, env(safe-area-inset-right)) 8px 16px;\r\n    display:flex; justify-content:flex-end; align-items:center;\r\n    border-bottom:1px solid rgba(255,255,255,.08);\r\n  }\r\n#abjRegApp .lang-bar button {\r\n    min-width:52px; min-height:34px; border:1px solid transparent; border-radius:999px; padding:5px 18px;\r\n    font-family:'Sarabun',sans-serif; font-size:13.5px; font-weight:700; cursor:pointer;\r\n    transition:background .2s,color .2s,border-color .2s,transform .15s;\r\n  }\r\n#abjRegApp .lang-bar button + button { margin-left:6px; }\r\n#abjRegApp .lang-bar button.active { background:#fff; color:var(--mcru-dark); box-shadow:0 2px 8px rgba(0,0,0,.18); }\r\n#abjRegApp .lang-bar button.inactive { background:rgba(255,255,255,.08); color:rgba(255,255,255,.75); border-color:rgba(255,255,255,.22); }\r\n#abjRegApp .lang-bar button.inactive:hover { background:rgba(255,255,255,.18); color:#fff; }\r\n#abjRegApp \/* \u2500\u2500\u2500 Hero \u2500\u2500\u2500 *\/\r\n  .hero-band {\r\n    position:relative; overflow:hidden; text-align:center; color:#fff;\r\n    background:linear-gradient(135deg,var(--mcru) 0%, #CE6E95 55%, var(--mcru-mid) 100%);\r\n    padding:clamp(30px,7vw,52px) clamp(16px,4vw,28px) clamp(28px,6vw,44px);\r\n  }\r\n#abjRegApp .hero-band::before {\r\n    content:\"\"; position:absolute; inset:0; pointer-events:none;\r\n    background:\r\n      radial-gradient(520px 260px at 18% -20%, rgba(255,255,255,.22), transparent 65%),\r\n      radial-gradient(640px 340px at 92% 118%, rgba(255,214,170,.20), transparent 60%);\r\n  }\r\n#abjRegApp .hero-band::after {\r\n    content:\"\"; position:absolute; left:0; right:0; bottom:0; height:3px;\r\n    background:linear-gradient(90deg, transparent, var(--gold) 22%, #EEDDBB 50%, var(--gold) 78%, transparent);\r\n    opacity:.9;\r\n  }\r\n#abjRegApp .hero-band > * { position:relative; }\r\n#abjRegApp .hero-band h2 {\r\n    font-family:'Mitr',sans-serif; font-size:clamp(21px,5.4vw,30px); font-weight:500;\r\n    letter-spacing:.01em; margin-bottom:10px; text-shadow:0 2px 14px rgba(124,46,76,.35);\r\n    animation:heroIn .6s ease both;\r\n  }\r\n#abjRegApp .hero-band p {\r\n    font-size:clamp(13.5px,3.4vw,16px); opacity:.94; max-width:560px; margin:0 auto;\r\n    animation:heroIn .6s .1s ease both;\r\n  }\r\n#abjRegApp .hero-badge {\r\n    display:inline-block; font-family:'Trirong',serif; font-weight:500;\r\n    background:rgba(255,255,255,.14); border:1px solid rgba(255,232,190,.55);\r\n    border-radius:40px; padding:6px clamp(16px,4vw,24px);\r\n    font-size:clamp(12.5px,3.1vw,14.5px); margin-bottom:clamp(12px,3.2vw,18px);\r\n    letter-spacing:.06em; box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 4px 16px rgba(124,46,76,.18);\r\n    backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);\r\n    animation:heroIn .6s ease both;\r\n  }\r\n@keyframes heroIn { from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none} }\r\n#abjRegApp \/* \u2500\u2500\u2500 \u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01 \u2500\u2500\u2500 *\/\r\n  .main-wrap { max-width:680px; margin:0 auto; padding:clamp(18px,4.4vw,40px) clamp(12px,3.5vw,20px) calc(64px + env(safe-area-inset-bottom)); }\r\n#abjRegApp \/* \u2500\u2500\u2500 Card \u2500\u2500\u2500 *\/\r\n  .card {\r\n    position:relative; background:var(--surface); border:1px solid var(--border);\r\n    border-radius:var(--radius); box-shadow:var(--shadow-card); overflow:hidden;\r\n    margin-bottom:clamp(16px,3.4vw,24px);\r\n    transition:box-shadow .25s, transform .25s;\r\n    animation:rise .55s ease both;\r\n  }\r\n#abjRegApp .card:nth-of-type(2) { animation-delay:.05s }\r\n#abjRegApp .card:nth-of-type(3) { animation-delay:.1s }\r\n#abjRegApp .card:nth-of-type(4) { animation-delay:.15s }\r\n#abjRegApp .card:nth-of-type(5) { animation-delay:.2s }\r\n#abjRegApp .card:nth-of-type(6) { animation-delay:.25s }\r\n#abjRegApp .card:nth-of-type(7) { animation-delay:.3s }\r\n@keyframes rise { from{opacity:0; transform:translateY(16px)} to{opacity:1; transform:none} }\r\n@media (hover:hover) {\r\n#abjRegApp .card:hover { box-shadow:0 16px 44px rgba(173,73,112,.13), 0 3px 10px rgba(140,60,100,.08); transform:translateY(-2px); }\r\n}\r\n#abjRegApp .card::after {\r\n    content:\"\"; position:absolute; top:0; left:0; right:0; height:3px;\r\n    background:linear-gradient(90deg, #F8C2D7 0%, var(--mcru-light) 45%, var(--mcru) 100%);\r\n    opacity:.85;\r\n  }\r\n#abjRegApp .card-header {\r\n    background:linear-gradient(135deg,var(--mcru-soft) 0%, #fff 140%);\r\n    border-bottom:1px solid var(--border);\r\n    padding:clamp(14px,3.4vw,18px) clamp(16px,4vw,24px);\r\n    display:flex; align-items:center; gap:13px;\r\n  }\r\n#abjRegApp .card-header-icon {\r\n    width:40px; height:40px; border-radius:13px; flex-shrink:0;\r\n    background:linear-gradient(140deg,#F7A8C4 0%, var(--mcru) 55%, var(--mcru-mid) 100%);\r\n    display:flex; align-items:center; justify-content:center;\r\n    box-shadow:0 4px 12px rgba(173,73,112,.32), inset 0 1px 0 rgba(255,255,255,.3);\r\n  }\r\n#abjRegApp .card-header-icon svg { width:19px; height:19px; stroke:#fff; fill:none; stroke-width:2; }\r\n#abjRegApp .card-header h3 { font-family:'Mitr',sans-serif; font-size:clamp(15.5px,3.9vw,17.5px); font-weight:500; color:var(--mcru-dark); letter-spacing:.01em; }\r\n#abjRegApp .card-body { padding:clamp(18px,4.2vw,26px); }\r\n#abjRegApp \/* \u2500\u2500\u2500 \u0e1f\u0e2d\u0e23\u0e4c\u0e21 \u2500\u2500\u2500 *\/\r\n  .form-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap:clamp(15px,3.2vw,19px) clamp(14px,3.2vw,20px); }\r\n#abjRegApp .form-grid .span-2 { grid-column:1\/-1; }\r\n  #abjRegApp .form-grid > * { min-width:0; }\r\n#abjRegApp .field label { display:block; font-size:clamp(14px,3.5vw,15px); font-weight:600; color:var(--text-mid); margin-bottom:8px; }\r\n#abjRegApp .field label .req { color:var(--mcru); margin-left:3px; }\r\n#abjRegApp .field label .opt { font-size:clamp(11.5px,2.9vw,12.5px); font-weight:400; color:var(--text-muted); margin-left:5px; }\r\n#abjRegApp .field-help { font-size:13px; color:var(--text-muted); margin-top:6px; display:none; }\r\n#abjRegApp .hidden { display:none !important; }\r\n#abjRegApp .note-secondary { font-size:14px; color:var(--text-mid); line-height:1.7; margin-bottom:16px; }\r\n#abjRegApp input[readonly] { background:#f7f7f7; cursor:not-allowed; }\r\n#abjRegApp #passportInput, #abjRegApp #tm30Input { display:none; }\r\n#abjRegApp .extra-field { margin-bottom:16px; }\r\n#abjRegApp .card-gap-top { margin-top:18px; }\r\n#abjRegApp .icon-shrink { flex-shrink:0; }\r\n#abjRegApp .card-header-icon.dark-bg { background:var(--mcru-dark); }\r\n#abjRegApp .field input, #abjRegApp .field select, #abjRegApp .field textarea {\r\n    width:100%; min-height:50px; padding:clamp(13px,3.2vw,15px) 15px;\r\n    font-family:'Sarabun',sans-serif; font-size:16px;\r\n    border:1.5px solid var(--border-md); border-radius:var(--radius-sm);\r\n    background:#fffcfe; color:var(--text);\r\n    transition:border-color .2s, box-shadow .2s, background .2s; outline:none;\r\n  }\r\n#abjRegApp .field input:hover, #abjRegApp .field select:hover { border-color:#E3B4C9; }\r\n#abjRegApp .field input:focus, #abjRegApp .field select:focus, #abjRegApp .field textarea:focus {\r\n    border-color:var(--mcru); background:#fff; box-shadow:var(--focus-ring);\r\n  }\r\n#abjRegApp .field input::placeholder, #abjRegApp .field textarea::placeholder { color:#c4b6be; }\r\n#abjRegApp .field select {\r\n    cursor:pointer; appearance:none; -webkit-appearance:none;\r\n    background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23AD4970' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'\/%3E%3C\/svg%3E\");\r\n    background-repeat:no-repeat; background-position:right 14px center; padding-right:38px;\r\n  }\r\n#abjRegApp .birthdate-grid { display:grid; grid-template-columns:.8fr 1.2fr 1fr; gap:8px; }\r\n#abjRegApp .birthdate-grid select { padding-right:28px; background-position:right 9px center; }\r\n#abjRegApp .monk-only { display:none; }\r\n#abjRegApp \/* \u2500\u2500\u2500 \u0e23\u0e39\u0e1b\u0e16\u0e48\u0e32\u0e22 \u2500\u2500\u2500 *\/\r\n  .photo-upload-wrap { display:flex; flex-wrap:wrap; align-items:flex-start; gap:18px; }\r\n#abjRegApp .photo-upload-info { flex:1 1 220px; min-width:0; }\r\n#abjRegApp .photo-preview {\r\n    width:110px; height:134px; border:2px dashed var(--border-md); border-radius:var(--radius-sm);\r\n    overflow:hidden; display:flex; align-items:center; justify-content:center;\r\n    background:linear-gradient(160deg,var(--mcru-soft),#fff); flex-shrink:0; cursor:pointer;\r\n    transition:border-color .2s, background .2s, box-shadow .2s;\r\n  }\r\n#abjRegApp .photo-preview:hover { border-color:var(--mcru); background:var(--mcru-light); box-shadow:var(--shadow-sm); }\r\n#abjRegApp .photo-preview img { width:100%; height:100%; object-fit:cover; display:none; }\r\n#abjRegApp .photo-preview-placeholder { text-align:center; color:var(--text-muted); font-size:12.5px; padding:8px; line-height:1.5; }\r\n#abjRegApp .photo-preview-placeholder svg { display:block; margin:0 auto 8px; width:32px; height:32px; stroke:var(--mcru); opacity:.6; fill:none; stroke-width:1.5; }\r\n#abjRegApp .photo-upload-info p { font-size:14px; color:var(--text-mid); line-height:1.7; }\r\n#abjRegApp .btn-upload {\r\n    display:inline-block; margin-top:12px; padding:12px 24px; min-height:44px;\r\n    background:linear-gradient(135deg,var(--mcru-light),#FFE4F0); color:var(--mcru-dark);\r\n    border:1.5px solid #F4C2D6; border-radius:999px; font-size:14.5px; font-weight:600; cursor:pointer;\r\n    transition:background .2s, border-color .2s, box-shadow .2s, transform .15s;\r\n  }\r\n#abjRegApp .btn-upload:hover { background:#FFE8F4; border-color:var(--mcru); box-shadow:0 4px 12px rgba(219,94,149,.18); }\r\n#abjRegApp .btn-upload:active { transform:scale(.97); }\r\n#abjRegApp #photoInput { display:none; }\r\n#abjRegApp \/* \u2500\u2500\u2500 \u0e22\u0e34\u0e19\u0e22\u0e2d\u0e21 \/ \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e33\u0e04\u0e31\u0e0d \u2500\u2500\u2500 *\/\r\n  .consent-box {\r\n    background:linear-gradient(160deg,var(--mcru-soft),#fff 140%);\r\n    border:1px solid var(--border); border-left:3px solid var(--gold);\r\n    border-radius:var(--radius-sm); padding:16px 18px;\r\n    font-size:14.5px; color:var(--text-mid); line-height:1.8; margin-bottom:14px;\r\n  }\r\n#abjRegApp .consent-check { display:flex; align-items:flex-start; gap:13px; font-size:15px; cursor:pointer; user-select:none; padding:8px 4px; border-radius:10px; transition:background .2s; }\r\n#abjRegApp .consent-check:hover { background:var(--mcru-soft); }\r\n#abjRegApp .consent-check input[type=\"checkbox\"] { width:24px; height:24px; accent-color:var(--mcru); flex-shrink:0; margin-top:2px; cursor:pointer; }\r\n#abjRegApp .payment-note { margin-top:0; padding:16px 18px; background:linear-gradient(160deg,var(--mcru-soft),#fff 140%); border:1px solid #F8C2D7; border-radius:var(--radius-sm); }\r\n#abjRegApp .payment-note p { font-size:14.5px; color:var(--text-mid); line-height:1.7; }\r\n#abjRegApp \/* \u2500\u2500\u2500 \u0e1b\u0e38\u0e48\u0e21\u0e2a\u0e48\u0e07 \u2500\u2500\u2500 *\/\r\n  .btn-submit {\r\n    position:relative; overflow:hidden; width:100%; min-height:58px; padding:clamp(16px,4vw,19px);\r\n    background:linear-gradient(135deg,#F7A8C4 0%, var(--mcru) 55%, var(--mcru-mid) 100%);\r\n    color:#fff; border:none; border-radius:var(--radius);\r\n    font-family:'Mitr',sans-serif; font-size:clamp(17px,4.5vw,19px); font-weight:500; letter-spacing:.03em;\r\n    cursor:pointer; transition:transform .15s, box-shadow .25s, filter .2s;\r\n    box-shadow:0 10px 26px rgba(173,73,112,.36), inset 0 1px 0 rgba(255,255,255,.28);\r\n  }\r\n#abjRegApp .btn-submit:hover { filter:brightness(1.06); box-shadow:0 14px 34px rgba(173,73,112,.44), inset 0 1px 0 rgba(255,255,255,.28); }\r\n#abjRegApp .btn-submit:active { transform:scale(.98); }\r\n#abjRegApp .btn-submit:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }\r\n#abjRegApp .btn-submit:disabled { background:var(--text-muted); box-shadow:none; cursor:not-allowed; filter:none; }\r\n#abjRegApp .note { font-size:13.5px; color:var(--text-muted); margin-top:18px; text-align:center; line-height:1.7; }\r\n#abjRegApp .upload-progress { display:none; margin-top:8px; font-size:13px; color:var(--mcru); }\r\n#abjRegApp \/* \u2500\u2500\u2500 \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23 \u2500\u2500\u2500 *\/\r\n  .check-section { margin-top:clamp(22px,5.4vw,40px); }\r\n#abjRegApp .check-section .card-header-icon { background:linear-gradient(140deg,#96405C,var(--mcru-dark)); }\r\n#abjRegApp .check-input-row { display:flex; flex-wrap:wrap; gap:10px; }\r\n#abjRegApp .check-input-row input {\r\n    flex:1 1 200px; min-width:0; min-height:50px; padding:clamp(13px,3.2vw,15px) 15px;\r\n    font-family:'Sarabun',sans-serif; font-size:16px;\r\n    border:1.5px solid var(--border-md); border-radius:var(--radius-sm);\r\n    background:#fffcfe; color:var(--text); outline:none;\r\n    transition:border-color .2s, box-shadow .2s;\r\n    letter-spacing:.06em; text-transform:uppercase;\r\n  }\r\n#abjRegApp .check-input-row input:focus { border-color:var(--mcru); background:#fff; box-shadow:var(--focus-ring); }\r\n#abjRegApp .btn-check {\r\n    flex-shrink:0; min-height:50px; padding:clamp(13px,3.2vw,15px) 26px;\r\n    background:linear-gradient(135deg,#96405C,var(--mcru-dark)); color:#fff;\r\n    border:none; border-radius:var(--radius-sm);\r\n    font-family:'Mitr',sans-serif; font-size:15px; font-weight:500; cursor:pointer;\r\n    transition:filter .2s, transform .15s, box-shadow .2s;\r\n    box-shadow:0 5px 16px rgba(124,46,76,.28);\r\n  }\r\n#abjRegApp .btn-check:hover { filter:brightness(1.12); }\r\n#abjRegApp .btn-check:active { transform:scale(.98); }\r\n#abjRegApp .btn-check:disabled { background:var(--text-muted); box-shadow:none; cursor:not-allowed; filter:none; }\r\n#abjRegApp .check-result { margin-top:16px; padding:18px 20px; border-radius:var(--radius-sm); font-size:14.5px; display:none; animation:rise .35s ease both; }\r\n#abjRegApp .check-result.found { background:#fff5fb; border:1.5px solid #f9c8db; color:#8e2a57; }\r\n#abjRegApp .check-result.not-found { background:#fff5f8; border:1.5px solid #f7b6cc; color:#a42d4c; }\r\n#abjRegApp .check-result-row { display:flex; gap:10px; padding:5px 0; border-bottom:1px solid rgba(0,0,0,.06); }\r\n#abjRegApp .check-result-row:last-child { border-bottom:none; }\r\n#abjRegApp .check-result-label { font-weight:700; min-width:120px; flex-shrink:0; }\r\n#abjRegApp .check-result-value { color:inherit; }\r\n#abjRegApp .check-result-code { display:inline-block; padding:4px 16px; background:#fff0f7; border:1.5px solid #f7b7d1; border-radius:8px; font-family:'Courier New',monospace; font-size:20px; font-weight:700; letter-spacing:.08em; color:#8e2a57; margin:8px 0 4px; }\r\n#abjRegApp .check-result { margin-top:16px; padding:18px 20px; border-radius:var(--radius-sm); font-size:14.5px; display:none; animation:rise .35s ease both; }\r\n#abjRegApp .divider-text { text-align:center; color:var(--text-muted); font-size:14px; margin:26px 0 10px; position:relative; }\r\n#abjRegApp .divider-text::before, #abjRegApp .divider-text::after {\r\n    content:\"\"; display:inline-block; width:26%; height:1px; vertical-align:middle; margin:0 12px;\r\n    background:linear-gradient(90deg, transparent, var(--border-md));\r\n  }\r\n#abjRegApp .divider-text::after { background:linear-gradient(90deg, var(--border-md), transparent); }\r\n#abjRegApp \/* \u2500\u2500\u2500 Modal \u0e2a\u0e23\u0e38\u0e1b\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 \u2500\u2500\u2500 *\/\r\n  .review-overlay {\r\n    display:none; position:fixed; inset:0; z-index:100000;\r\n    background:rgba(60,15,40,.55); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);\r\n    align-items:center; justify-content:center; padding:12px; overflow-y:auto;\r\n  }\r\n#abjRegApp .review-overlay.open { display:flex; }\r\n#abjRegApp .review-modal {\r\n    background:#fff; border-radius:24px; max-width:600px; width:100%;\r\n    max-height:90vh; max-height:90dvh; overflow-y:auto;\r\n    box-shadow:0 24px 70px rgba(120,30,80,.32); animation:slideUp .28s ease;\r\n  }\r\n@keyframes slideUp { from{transform:translateY(34px);opacity:0} to{transform:translateY(0);opacity:1} }\r\n#abjRegApp .review-modal-header {\r\n    position:relative; overflow:hidden;\r\n    background:linear-gradient(135deg,#F7A8C4,var(--mcru) 60%,var(--mcru-mid));\r\n    padding:20px 24px; border-radius:24px 24px 0 0; color:#fff;\r\n    display:flex; align-items:center; gap:12px;\r\n  }\r\n#abjRegApp .review-modal-header::after {\r\n    content:\"\"; position:absolute; left:0; right:0; bottom:0; height:2px;\r\n    background:linear-gradient(90deg, transparent, var(--gold), transparent);\r\n  }\r\n#abjRegApp .review-modal-header h3 { font-family:'Mitr',sans-serif; font-size:18px; font-weight:500; }\r\n#abjRegApp .review-modal-header p { font-size:13px; opacity:.9; margin-top:2px; }\r\n#abjRegApp .review-modal-body { padding:20px 24px; }\r\n#abjRegApp .review-section-title { font-family:'Mitr',sans-serif; font-size:13px; font-weight:500; color:var(--mcru-mid); text-transform:uppercase; letter-spacing:.07em; margin:18px 0 8px; padding-bottom:6px; border-bottom:2px solid var(--mcru-light); }\r\n#abjRegApp .review-section-title:first-child { margin-top:0; }\r\n#abjRegApp .review-row { display:flex; gap:10px; padding:7px 0; font-size:14.5px; border-bottom:1px solid var(--border); }\r\n#abjRegApp .review-row:last-child { border-bottom:none; }\r\n#abjRegApp .review-lbl { font-weight:600; color:var(--text-mid); min-width:130px; flex-shrink:0; }\r\n#abjRegApp .review-val { color:var(--text); flex:1; word-break:break-word; }\r\n#abjRegApp .review-photo-wrap { text-align:center; margin:10px 0; }\r\n#abjRegApp .review-photo-wrap img { width:90px; height:108px; object-fit:cover; border-radius:12px; border:2px solid var(--border-md); box-shadow:var(--shadow-sm); }\r\n#abjRegApp .review-modal-footer {\r\n    padding:16px 24px calc(20px + env(safe-area-inset-bottom)); display:flex; gap:12px;\r\n    border-top:1px solid var(--border); position:sticky; bottom:0; background:#fff;\r\n    border-radius:0 0 24px 24px; box-shadow:0 -6px 18px rgba(120,30,80,.05);\r\n  }\r\n#abjRegApp .btn-review-back {\r\n    flex:1; min-height:50px; padding:14px; background:#f4ecf1; color:var(--text-mid);\r\n    border:none; border-radius:var(--radius-sm);\r\n    font-family:'Mitr',sans-serif; font-size:15.5px; font-weight:500; cursor:pointer; transition:background .2s;\r\n  }\r\n#abjRegApp .btn-review-back:hover { background:var(--border-md); }\r\n#abjRegApp .btn-review-confirm {\r\n    flex:2; min-height:50px; padding:14px;\r\n    background:linear-gradient(135deg,#F7A8C4,var(--mcru) 60%,var(--mcru-mid)); color:#fff;\r\n    border:none; border-radius:var(--radius-sm);\r\n    font-family:'Mitr',sans-serif; font-size:15.5px; font-weight:500; cursor:pointer;\r\n    box-shadow:0 6px 18px rgba(173,73,112,.32), inset 0 1px 0 rgba(255,255,255,.25); transition:filter .2s, transform .15s;\r\n  }\r\n#abjRegApp .btn-review-confirm:hover { filter:brightness(1.06); }\r\n#abjRegApp .btn-review-confirm:active { transform:scale(.98); }\r\n#abjRegApp .btn-review-confirm:disabled { background:var(--text-muted); box-shadow:none; cursor:not-allowed; filter:none; }\r\n#abjRegApp .line-btn { display:inline-flex; align-items:center; gap:8px; margin-top:12px; min-height:46px; padding:11px 24px; background:#06C755; color:#fff; border:none; border-radius:999px; font-size:15px; font-weight:700; text-decoration:none; transition:filter .2s, transform .15s, box-shadow .2s; box-shadow:0 4px 14px rgba(6,199,85,.32); cursor:pointer; }\r\n#abjRegApp .line-btn:hover { filter:brightness(1.08); box-shadow:0 6px 18px rgba(6,199,85,.4); }\r\n#abjRegApp .line-btn:active { transform:scale(.97); }\r\n.code-display { display:inline-block; margin:12px 0; padding:12px 28px; background:linear-gradient(160deg,var(--mcru-light),#fff); color:var(--mcru-dark); border:2px solid #F3BBD3; border-radius:14px; font-size:24px; font-weight:700; letter-spacing:.08em; font-family:'Courier New',monospace; box-shadow:var(--shadow-sm); }\r\n#abjRegApp \/* \u2500\u2500\u2500 Mobile \u2500\u2500\u2500 *\/\r\n  @media(max-width:640px) {\r\n    .form-grid { grid-template-columns:1fr; }\r\n    .form-grid .span-2 { grid-column:1; }\r\n    .card { border-radius:16px; }\r\n    .card:hover { transform:none; }\r\n    .field label .opt { display:block; margin-left:0; margin-top:1px; }\r\n    .check-input-row { flex-direction:column; }\r\n    .btn-check { width:100%; min-height:52px; }\r\n    .btn-submit { min-height:60px; border-radius:16px; }\r\n    \/* Review modal \u2192 bottom sheet *\/\r\n    .review-overlay { align-items:flex-end; padding:0; }\r\n    .review-modal { max-width:100%; border-radius:24px 24px 0 0; max-height:92vh; max-height:92dvh; animation:sheetUp .3s ease; }\r\n    @keyframes sheetUp { from{transform:translateY(100%)} to{transform:translateY(0)} }\r\n    .review-modal-header { border-radius:24px 24px 0 0; }\r\n    .review-modal-footer { flex-direction:column; border-radius:0; }\r\n    .btn-review-back,.btn-review-confirm { min-height:52px; }\r\n    .review-row { flex-direction:column; gap:2px; }\r\n    .review-lbl { min-width:auto; }\r\n    .swal2-popup { width:94% !important; padding:20px 16px !important; }\r\n    .swal2-title { font-size:17px !important; }\r\n    .swal2-html-container { font-size:13.5px !important; }\r\n    .code-display { word-break:break-all; }\r\n  }\r\n@media(max-width:430px) {\r\n#abjRegApp .photo-preview { width:84px; height:102px; }\r\n#abjRegApp .photo-upload-info p { font-size:13.5px; line-height:1.6; }\r\n#abjRegApp .btn-upload { font-size:12.5px; padding:9px 16px; }\r\n#abjRegApp .birthdate-grid { gap:5px; }\r\n#abjRegApp .review-modal-body { padding:14px 16px; }\r\n#abjRegApp .review-modal-footer { padding:12px 16px calc(16px + env(safe-area-inset-bottom)); }\r\n#abjRegApp .card-header-icon { width:36px; height:36px; }\r\n}\r\n@media(max-width:360px) {\r\n#abjRegApp .hero-band h2 { letter-spacing:0; }\r\n#abjRegApp .card-header { padding:10px 12px; }\r\n#abjRegApp .photo-upload-wrap { gap:8px; }\r\n#abjRegApp .photo-preview { width:70px; height:86px; }\r\n}\r\n@media(max-height:480px) and (orientation:landscape) {\r\n#abjRegApp .hero-band { padding-top:14px; padding-bottom:12px; }\r\n#abjRegApp .card { margin-bottom:10px; }\r\n#abjRegApp .review-overlay { align-items:center; padding:10px; }\r\n}\r\n.swal2-popup { font-family:'Sarabun',sans-serif !important; border-radius:22px !important; }\r\n.swal2-title { font-family:'Mitr',sans-serif !important; font-size:21px !important; font-weight:500 !important; color:var(--text) !important; }\r\n.swal2-html-container { font-size:15.5px !important; color:var(--text-mid) !important; line-height:1.75 !important; }\r\n\r\n\/* \u2500\u2500\u2500 \u0e01\u0e31\u0e19\u0e2a\u0e44\u0e15\u0e25\u0e4c\u0e18\u0e35\u0e21 WordPress \u0e23\u0e1a\u0e01\u0e27\u0e19 \u2500\u2500\u2500 *\/\r\n#abjRegApp { -webkit-text-size-adjust:100%; }\r\n#abjRegApp * { text-indent:0; }\r\n#abjRegApp .field label, #abjRegApp .photo-upload-info p, #abjRegApp .note { white-space:normal; overflow:visible; }\r\n#abjRegApp { font-family:'Sarabun',sans-serif; font-size:17px; line-height:1.75; color:var(--text); }\r\n#abjRegApp input, #abjRegApp select, #abjRegApp textarea, #abjRegApp button {\r\n  font-family:'Sarabun',sans-serif; box-shadow:none; text-transform:none; letter-spacing:normal;\r\n}\r\n#abjRegApp img { max-width:100%; height:auto; border:0; box-shadow:none; }\r\n#abjRegApp a { text-decoration:none; box-shadow:none; }\r\n#abjRegApp h2, #abjRegApp h3 { margin:0; padding:0; border:0; }\r\n#abjRegApp label { display:block; }\r\n.swal2-container { z-index:100001 !important; }\r\n<\/style>\r\n<div id=\"abjRegApp\">\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     Modal \u0e2a\u0e23\u0e38\u0e1b\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e48\u0e2d\u0e19\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<div class=\"review-overlay\" id=\"reviewOverlay\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"reviewModalTitle\">\r\n  <div class=\"review-modal\">\r\n    <div class=\"review-modal-header\">\r\n      <div>\r\n        <h3 id=\"reviewModalTitle\">\ud83d\udccb <span id=\"rvTitle\">\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e48\u0e2d\u0e19\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19<\/span><\/h3>\r\n        <p id=\"rvSubtitle\">\u0e01\u0e23\u0e38\u0e13\u0e32\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e43\u0e2b\u0e49\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e48\u0e2d\u0e19\u0e01\u0e14\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19<\/p>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"review-modal-body\" id=\"reviewModalBody\">\r\n      <!-- \u0e2a\u0e23\u0e49\u0e32\u0e07\u0e42\u0e14\u0e22 JS -->\r\n    <\/div>\r\n    <div class=\"review-modal-footer\">\r\n      <button type=\"button\" class=\"btn-review-back\" id=\"btnReviewBack\">\u2190 <span id=\"rvBack\">\u0e41\u0e01\u0e49\u0e44\u0e02<\/span><\/button>\r\n      <button type=\"button\" class=\"btn-review-confirm\" id=\"btnReviewConfirm\">\u2726 <span id=\"rvConfirm\">\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23<\/span><\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n<div class=\"lang-bar\">\r\n  <button type=\"button\" id=\"btnTH\" onclick=\"setLanguage('th')\" class=\"active\">\u0e44\u0e17\u0e22<\/button>\r\n  <button type=\"button\" id=\"btnEN\" onclick=\"setLanguage('en')\" class=\"inactive\">EN<\/button>\r\n<\/div>\r\n<div class=\"hero-band\">\r\n  <div class=\"hero-badge\" id=\"academicYearBadge\">\u2726 \u0e1b\u0e35\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32 \u2726<\/div>\r\n  <h2 id=\"heroTitle\">\u0e41\u0e1a\u0e1a\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e40\u0e23\u0e35\u0e22\u0e19\u0e1e\u0e23\u0e30\u0e2d\u0e20\u0e34\u0e18\u0e23\u0e23\u0e21<\/h2>\r\n  <p id=\"heroSub\">\u0e01\u0e23\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e43\u0e2b\u0e49\u0e04\u0e23\u0e1a\u0e16\u0e49\u0e27\u0e19 \u2014 \u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e2d\u0e2d\u0e01\u0e23\u0e2b\u0e31\u0e2a\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27\u0e43\u0e2b\u0e49\u0e2b\u0e25\u0e31\u0e07\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08<\/p>\r\n<\/div>\r\n<div class=\"main-wrap\">\r\n<form id=\"regForm\" novalidate>\r\n  <!-- \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 -->\r\n  <div class=\"card\">\r\n    <div class=\"card-header\">\r\n      <div class=\"card-header-icon\">\r\n        <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"8\" r=\"4\"\/><path d=\"M4 20c0-4 3.6-7 8-7s8 3 8 7\"\/><\/svg>\r\n      <\/div>\r\n      <h3 id=\"secPersonal\">\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27<\/h3>\r\n    <\/div>\r\n    <div class=\"card-body\">\r\n      <div class=\"form-grid\">\r\n        <div class=\"field span-1\">\r\n          <label for=\"prefix\" id=\"lbPrefix\">\u0e04\u0e33\u0e19\u0e33\u0e2b\u0e19\u0e49\u0e32 <span class=\"req\">*<\/span><\/label>\r\n          <select id=\"prefix\" name=\"prefix\" onchange=\"onPrefixChange()\" required>\r\n            <option value=\"\">\u2014 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e04\u0e33\u0e19\u0e33\u0e2b\u0e19\u0e49\u0e32 \u2014<\/option>\r\n            <optgroup label=\"\u2500\u2500\u2500 \u0e06\u0e23\u0e32\u0e27\u0e32\u0e2a \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\">\r\n              <option value=\"\u0e19\u0e32\u0e22\">\u0e19\u0e32\u0e22<\/option>\r\n              <option value=\"\u0e19\u0e32\u0e07\">\u0e19\u0e32\u0e07<\/option>\r\n              <option value=\"\u0e19\u0e32\u0e07\u0e2a\u0e32\u0e27\">\u0e19\u0e32\u0e07\u0e2a\u0e32\u0e27<\/option>\r\n              <option value=\"\u0e14.\u0e0a.\">\u0e14.\u0e0a.<\/option>\r\n              <option value=\"\u0e14.\u0e0d.\">\u0e14.\u0e0d.<\/option>\r\n            <\/optgroup>\r\n            <optgroup label=\"\u2500\u2500\u2500 \u0e27\u0e38\u0e12\u0e34\u0e17\u0e32\u0e07\u0e27\u0e34\u0e0a\u0e32\u0e01\u0e32\u0e23 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\">\r\n              <option value=\"\u0e14\u0e23.\">\u0e14\u0e23.<\/option>\r\n              <option value=\"\u0e1c\u0e28.\">\u0e1c\u0e28.<\/option>\r\n              <option value=\"\u0e1c\u0e28.\u0e14\u0e23.\">\u0e1c\u0e28.\u0e14\u0e23.<\/option>\r\n              <option value=\"\u0e23\u0e28.\">\u0e23\u0e28.<\/option>\r\n              <option value=\"\u0e23\u0e28.\u0e14\u0e23.\">\u0e23\u0e28.\u0e14\u0e23.<\/option>\r\n              <option value=\"\u0e28.\">\u0e28.<\/option>\r\n              <option value=\"\u0e28.\u0e14\u0e23.\">\u0e28.\u0e14\u0e23.<\/option>\r\n            <\/optgroup>\r\n            <optgroup label=\"\u2500\u2500\u2500 \u0e1e\u0e23\u0e30\u0e20\u0e34\u0e01\u0e29\u0e38 \/ \u0e2a\u0e32\u0e21\u0e40\u0e13\u0e23 \u2500\u2500\u2500\u2500\u2500\u2500\">\r\n              <option value=\"\u0e1e\u0e23\u0e30\">\u0e1e\u0e23\u0e30<\/option>\r\n              <option value=\"\u0e2a\u0e32\u0e21\u0e40\u0e13\u0e23\">\u0e2a\u0e32\u0e21\u0e40\u0e13\u0e23<\/option>\r\n              <option value=\"\u0e1e\u0e23\u0e30\u0e21\u0e2b\u0e32\">\u0e1e\u0e23\u0e30\u0e21\u0e2b\u0e32<\/option>\r\n              <option value=\"\u0e1e\u0e23\u0e30\u0e2d\u0e18\u0e34\u0e01\u0e32\u0e23\">\u0e1e\u0e23\u0e30\u0e2d\u0e18\u0e34\u0e01\u0e32\u0e23<\/option>\r\n              <option value=\"\u0e40\u0e08\u0e49\u0e32\u0e2d\u0e18\u0e34\u0e01\u0e32\u0e23\">\u0e40\u0e08\u0e49\u0e32\u0e2d\u0e18\u0e34\u0e01\u0e32\u0e23<\/option>\r\n              <option value=\"\u0e1e\u0e23\u0e30\u0e1b\u0e25\u0e31\u0e14\">\u0e1e\u0e23\u0e30\u0e1b\u0e25\u0e31\u0e14<\/option>\r\n              <option value=\"\u0e1e\u0e23\u0e30\u0e2a\u0e21\u0e38\u0e2b\u0e4c\">\u0e1e\u0e23\u0e30\u0e2a\u0e21\u0e38\u0e2b\u0e4c<\/option>\r\n              <option value=\"\u0e1e\u0e23\u0e30\u0e43\u0e1a\u0e0e\u0e35\u0e01\u0e32\">\u0e1e\u0e23\u0e30\u0e43\u0e1a\u0e0e\u0e35\u0e01\u0e32<\/option>\r\n              <option value=\"\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\">\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39<\/option>\r\n              <option value=\"\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e1b\u0e25\u0e31\u0e14\">\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e1b\u0e25\u0e31\u0e14<\/option>\r\n              <option value=\"\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e18\u0e23\u0e23\u0e21\u0e18\u0e23\">\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e18\u0e23\u0e23\u0e21\u0e18\u0e23<\/option>\r\n              <option value=\"\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e27\u0e34\u0e19\u0e31\u0e22\u0e18\u0e23\">\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e27\u0e34\u0e19\u0e31\u0e22\u0e18\u0e23<\/option>\r\n              <option value=\"\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e2a\u0e31\u0e07\u0e06\u0e23\u0e31\u0e01\u0e29\u0e4c\">\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e2a\u0e31\u0e07\u0e06\u0e23\u0e31\u0e01\u0e29\u0e4c<\/option>\r\n              <option value=\"\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e2a\u0e21\u0e38\u0e2b\u0e4c\">\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e2a\u0e21\u0e38\u0e2b\u0e4c<\/option>\r\n              <option value=\"\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e43\u0e1a\u0e0e\u0e35\u0e01\u0e32\">\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e43\u0e1a\u0e0e\u0e35\u0e01\u0e32<\/option>\r\n            <\/optgroup>\r\n            <optgroup label=\"\u2500\u2500\u2500 \u0e20\u0e34\u0e01\u0e29\u0e38\u0e13\u0e35 \/ \u0e19\u0e31\u0e01\u0e1a\u0e27\u0e0a\u0e2b\u0e0d\u0e34\u0e07 \u2500\u2500\u2500\">\r\n              <option value=\"\u0e20\u0e34\u0e01\u0e29\u0e38\u0e13\u0e35\">\u0e20\u0e34\u0e01\u0e29\u0e38\u0e13\u0e35<\/option>\r\n              <option value=\"\u0e2a\u0e32\u0e21\u0e40\u0e13\u0e23\u0e35\">\u0e2a\u0e32\u0e21\u0e40\u0e13\u0e23\u0e35<\/option>\r\n              <option value=\"\u0e41\u0e21\u0e48\u0e0a\u0e35\">\u0e41\u0e21\u0e48\u0e0a\u0e35<\/option>\r\n            <\/optgroup>\r\n          <\/select>\r\n        <\/div>\r\n        <div class=\"field span-1\">\r\n          <label for=\"firstName\" id=\"firstNameLabel\">\u0e0a\u0e37\u0e48\u0e2d <span class=\"req\">*<\/span><\/label>\r\n          <input type=\"text\" id=\"firstName\" name=\"firstName\" placeholder=\"\u0e0a\u0e37\u0e48\u0e2d \/ \u0e09\u0e32\u0e22\u0e32\" required>\r\n        <\/div>\r\n        <div class=\"field span-1\" id=\"lastNameField\">\r\n          <label for=\"lastName\" id=\"lastNameLabel\">\u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25<\/label>\r\n          <input type=\"text\" id=\"lastName\" name=\"lastName\" placeholder=\"\u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25\">\r\n        <\/div>\r\n        <div class=\"field span-1 monk-only\" id=\"templeFieldWrap\">\r\n          <label for=\"temple\" id=\"lbTemple\">\u0e27\u0e31\u0e14 \/ \u0e2a\u0e33\u0e19\u0e31\u0e01<\/label>\r\n          <input type=\"text\" id=\"temple\" name=\"temple\" placeholder=\"\u0e0a\u0e37\u0e48\u0e2d\u0e27\u0e31\u0e14 \/ \u0e2a\u0e33\u0e19\u0e31\u0e01\">\r\n        <\/div>\r\n        <div class=\"field span-1\">\r\n          <label id=\"lbBirthdate\">\u0e27\u0e31\u0e19\u0e40\u0e14\u0e37\u0e2d\u0e19\u0e1b\u0e35\u0e40\u0e01\u0e34\u0e14 (\u0e1e.\u0e28.) <span class=\"req\">*<\/span><\/label>\r\n          <div class=\"birthdate-grid\">\r\n            <select id=\"birthDay\" aria-label=\"\u0e27\u0e31\u0e19\u0e40\u0e01\u0e34\u0e14\"><\/select>\r\n            <select id=\"birthMonth\" aria-label=\"\u0e40\u0e14\u0e37\u0e2d\u0e19\u0e40\u0e01\u0e34\u0e14\"><\/select>\r\n            <select id=\"birthYear\" aria-label=\"\u0e1b\u0e35\u0e40\u0e01\u0e34\u0e14\"><\/select>\r\n          <\/div>\r\n          <input type=\"hidden\" id=\"birthdate\" name=\"birthdate\" required>\r\n        <\/div>\r\n        <div class=\"field span-1\">\r\n          <label for=\"phone\" id=\"lbPhone\">\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c <span class=\"req\">*<\/span><\/label>\r\n          <input type=\"tel\" id=\"phone\" name=\"phone\" placeholder=\"08x-xxx-xxxx\" autocomplete=\"tel\" inputmode=\"tel\" required maxlength=\"15\">\r\n        <\/div>\r\n        <div class=\"field span-2\">\r\n          <label for=\"education\" id=\"lbEducation\">\u0e27\u0e38\u0e12\u0e34\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32\u0e2a\u0e32\u0e21\u0e31\u0e0d <span class=\"opt\">(\u0e17\u0e32\u0e07\u0e42\u0e25\u0e01 \u2014 \u0e44\u0e21\u0e48\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a)<\/span><\/label>\r\n          <select id=\"education\" name=\"education\">\r\n            <option value=\"\">\u2014 \u0e44\u0e21\u0e48\u0e23\u0e30\u0e1a\u0e38 \u2014<\/option>\r\n            <option value=\"\u0e1b\u0e23\u0e30\u0e16\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\">\u0e1b\u0e23\u0e30\u0e16\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32<\/option>\r\n            <option value=\"\u0e21\u0e31\u0e18\u0e22\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e15\u0e2d\u0e19\u0e15\u0e49\u0e19 (\u0e21.3)\">\u0e21\u0e31\u0e18\u0e22\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e15\u0e2d\u0e19\u0e15\u0e49\u0e19 (\u0e21.3)<\/option>\r\n            <option value=\"\u0e21\u0e31\u0e18\u0e22\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e15\u0e2d\u0e19\u0e1b\u0e25\u0e32\u0e22 (\u0e21.6)\">\u0e21\u0e31\u0e18\u0e22\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e15\u0e2d\u0e19\u0e1b\u0e25\u0e32\u0e22 (\u0e21.6)<\/option>\r\n            <option value=\"\u0e1b\u0e27\u0e0a.\">\u0e1b\u0e27\u0e0a.<\/option>\r\n            <option value=\"\u0e1b\u0e27\u0e2a. \/ \u0e2d\u0e19\u0e38\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\">\u0e1b\u0e27\u0e2a. \/ \u0e2d\u0e19\u0e38\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32<\/option>\r\n            <option value=\"\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\u0e15\u0e23\u0e35\">\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\u0e15\u0e23\u0e35<\/option>\r\n            <option value=\"\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\u0e42\u0e17\">\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\u0e42\u0e17<\/option>\r\n            <option value=\"\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\u0e40\u0e2d\u0e01\">\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\u0e40\u0e2d\u0e01<\/option>\r\n          <\/select>\r\n        <\/div>\r\n        <div class=\"field span-1\">\r\n          <label for=\"pali\" id=\"lbPali\">\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e0d\u0e18\u0e23\u0e23\u0e21 (\u0e1a\u0e32\u0e25\u0e35) <span class=\"opt\">(\u0e44\u0e21\u0e48\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a)<\/span><\/label>\r\n          <select id=\"pali\" name=\"pali\">\r\n            <option value=\"\">\u2014 \u0e44\u0e21\u0e48\u0e23\u0e30\u0e1a\u0e38 \u2014<\/option>\r\n            <option value=\"\u0e1b\u0e23\u0e30\u0e42\u0e22\u0e04 1-2\">\u0e1b\u0e23\u0e30\u0e42\u0e22\u0e04 1-2<\/option>\r\n            <option value=\"\u0e1b.\u0e18.3\">\u0e1b.\u0e18.3<\/option><option value=\"\u0e1b.\u0e18.4\">\u0e1b.\u0e18.4<\/option>\r\n            <option value=\"\u0e1b.\u0e18.5\">\u0e1b.\u0e18.5<\/option><option value=\"\u0e1b.\u0e18.6\">\u0e1b.\u0e18.6<\/option>\r\n            <option value=\"\u0e1b.\u0e18.7\">\u0e1b.\u0e18.7<\/option><option value=\"\u0e1b.\u0e18.8\">\u0e1b.\u0e18.8<\/option>\r\n            <option value=\"\u0e1b.\u0e18.9\">\u0e1b.\u0e18.9<\/option>\r\n          <\/select>\r\n        <\/div>\r\n        <div class=\"field span-1\">\r\n          <label for=\"dhamma\" id=\"lbDhamma\">\u0e19\u0e31\u0e01\u0e18\u0e23\u0e23\u0e21 \/ \u0e18\u0e23\u0e23\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32 <span class=\"opt\">(\u0e44\u0e21\u0e48\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a)<\/span><\/label>\r\n          <select id=\"dhamma\" name=\"dhamma\">\r\n            <option value=\"\">\u2014 \u0e44\u0e21\u0e48\u0e23\u0e30\u0e1a\u0e38 \u2014<\/option>\r\n            <optgroup label=\"\u0e1e\u0e23\u0e30\u0e20\u0e34\u0e01\u0e29\u0e38 \/ \u0e2a\u0e32\u0e21\u0e40\u0e13\u0e23\">\r\n              <option value=\"\u0e19\u0e31\u0e01\u0e18\u0e23\u0e23\u0e21\u0e0a\u0e31\u0e49\u0e19\u0e15\u0e23\u0e35\">\u0e19\u0e31\u0e01\u0e18\u0e23\u0e23\u0e21\u0e0a\u0e31\u0e49\u0e19\u0e15\u0e23\u0e35<\/option>\r\n              <option value=\"\u0e19\u0e31\u0e01\u0e18\u0e23\u0e23\u0e21\u0e0a\u0e31\u0e49\u0e19\u0e42\u0e17\">\u0e19\u0e31\u0e01\u0e18\u0e23\u0e23\u0e21\u0e0a\u0e31\u0e49\u0e19\u0e42\u0e17<\/option>\r\n              <option value=\"\u0e19\u0e31\u0e01\u0e18\u0e23\u0e23\u0e21\u0e0a\u0e31\u0e49\u0e19\u0e40\u0e2d\u0e01\">\u0e19\u0e31\u0e01\u0e18\u0e23\u0e23\u0e21\u0e0a\u0e31\u0e49\u0e19\u0e40\u0e2d\u0e01<\/option>\r\n            <\/optgroup>\r\n            <optgroup label=\"\u0e06\u0e23\u0e32\u0e27\u0e32\u0e2a\">\r\n              <option value=\"\u0e18\u0e23\u0e23\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e0a\u0e31\u0e49\u0e19\u0e15\u0e23\u0e35\">\u0e18\u0e23\u0e23\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e0a\u0e31\u0e49\u0e19\u0e15\u0e23\u0e35<\/option>\r\n              <option value=\"\u0e18\u0e23\u0e23\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e0a\u0e31\u0e49\u0e19\u0e42\u0e17\">\u0e18\u0e23\u0e23\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e0a\u0e31\u0e49\u0e19\u0e42\u0e17<\/option>\r\n              <option value=\"\u0e18\u0e23\u0e23\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e0a\u0e31\u0e49\u0e19\u0e40\u0e2d\u0e01\">\u0e18\u0e23\u0e23\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e0a\u0e31\u0e49\u0e19\u0e40\u0e2d\u0e01<\/option>\r\n            <\/optgroup>\r\n          <\/select>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n  <!-- \u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48 -->\r\n  <div class=\"card\">\r\n    <div class=\"card-header\">\r\n      <div class=\"card-header-icon\">\r\n        <svg viewBox=\"0 0 24 24\"><path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7z\"\/><circle cx=\"12\" cy=\"9\" r=\"2.5\"\/><\/svg>\r\n      <\/div>\r\n      <h3 id=\"secAddress\">\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19<\/h3>\r\n    <\/div>\r\n    <div class=\"card-body\">\r\n      <div class=\"form-grid\">\r\n        <div class=\"field span-1\">\r\n          <label for=\"address\" id=\"lbAddress\">\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48 <span class=\"req\">*<\/span><\/label>\r\n          <input type=\"text\" id=\"address\" name=\"address\" placeholder=\"\u0e1a\u0e49\u0e32\u0e19\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\" required>\r\n        <\/div>\r\n        <div class=\"field span-1\">\r\n          <label for=\"soi\" id=\"lbSoi\">\u0e0b\u0e2d\u0e22 \/ \u0e2b\u0e21\u0e39\u0e48 <span class=\"opt\">(\u0e16\u0e49\u0e32\u0e21\u0e35)<\/span><\/label>\r\n          <input type=\"text\" id=\"soi\" name=\"soi\" placeholder=\"\u0e0b\u0e2d\u0e22 \/ \u0e2b\u0e21\u0e39\u0e48\u0e1a\u0e49\u0e32\u0e19\">\r\n        <\/div>\r\n        <div class=\"field span-1\">\r\n          <label for=\"province\" id=\"lbProvince\">\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14 <span class=\"req\">*<\/span><\/label>\r\n          <select id=\"province\" name=\"province\" required>\r\n            <option value=\"\">\u23f3 \u0e01\u0e33\u0e25\u0e31\u0e07\u0e42\u0e2b\u0e25\u0e14\u2026<\/option>\r\n          <\/select>\r\n        <\/div>\r\n        <div class=\"field span-1\">\r\n          <label for=\"district\" id=\"lbDistrict\">\u0e2d\u0e33\u0e40\u0e20\u0e2d \/ \u0e40\u0e02\u0e15 <span class=\"req\">*<\/span><\/label>\r\n          <select id=\"district\" name=\"district\" required disabled>\r\n            <option value=\"\">\u2014 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14\u0e01\u0e48\u0e2d\u0e19 \u2014<\/option>\r\n          <\/select>\r\n        <\/div>\r\n        <div class=\"field span-1\">\r\n          <label for=\"subdistrict\" id=\"lbSubdistrict\">\u0e15\u0e33\u0e1a\u0e25 \/ \u0e41\u0e02\u0e27\u0e07 <span class=\"req\">*<\/span><\/label>\r\n          <select id=\"subdistrict\" name=\"subdistrict\" required disabled>\r\n            <option value=\"\">\u2014 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e33\u0e40\u0e20\u0e2d\u0e01\u0e48\u0e2d\u0e19 \u2014<\/option>\r\n          <\/select>\r\n        <\/div>\r\n        <div class=\"field span-1\">\r\n          <label for=\"postalCode\" id=\"lbPostal\">\u0e23\u0e2b\u0e31\u0e2a\u0e44\u0e1b\u0e23\u0e29\u0e13\u0e35\u0e22\u0e4c <span class=\"req\">*<\/span><\/label>\r\n          <input type=\"text\" id=\"postalCode\" name=\"postalCode\" placeholder=\"\u0e40\u0e15\u0e34\u0e21\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\" maxlength=\"5\" required readonly>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n  <!-- \u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e43\u0e01\u0e25\u0e49\u0e1a\u0e49\u0e32\u0e19 -->\r\n  <div class=\"card\">\r\n    <div class=\"card-header\">\r\n      <div class=\"card-header-icon\">\r\n        <svg viewBox=\"0 0 24 24\"><path d=\"M4 10v10h16V10\"\/><path d=\"M2 10l10-7 10 7\"\/><path d=\"M10 20v-6h4v6\"\/><\/svg>\r\n      <\/div>\r\n      <h3 id=\"secLocation\">\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e43\u0e01\u0e25\u0e49\u0e1a\u0e49\u0e32\u0e19 (\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23) <span class=\"req\">*<\/span><\/h3>\r\n    <\/div>\r\n    <div class=\"card-body\">\r\n      <div class=\"field\">\r\n        <label for=\"serviceLocation\" id=\"lbServiceLocation\">\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e14\u0e27\u0e01\u0e40\u0e14\u0e34\u0e19\u0e17\u0e32\u0e07 <span class=\"req\">*<\/span><\/label>\r\n        <select id=\"serviceLocation\" name=\"serviceLocation\" required>\r\n          <option value=\"\">\u23f3 \u0e01\u0e33\u0e25\u0e31\u0e07\u0e42\u0e2b\u0e25\u0e14\u0e23\u0e32\u0e22\u0e0a\u0e37\u0e48\u0e2d\u2026<\/option>\r\n        <\/select>\r\n        <p id=\"serviceLocationAddr\" class=\"field-help\"><\/p>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n  <!-- \u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e -->\r\n  <div class=\"card\">\r\n    <div class=\"card-header\">\r\n      <div class=\"card-header-icon\">\r\n        <svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"\/><circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"\/><path d=\"M21 15l-5-5L5 21\"\/><\/svg>\r\n      <\/div>\r\n      <h3 id=\"secPhoto\">\u0e23\u0e39\u0e1b\u0e16\u0e48\u0e32\u0e22 <span class=\"req\">*<\/span><\/h3>\r\n    <\/div>\r\n    <div class=\"card-body\">\r\n      <div class=\"photo-upload-wrap\">\r\n        <div class=\"photo-preview\" id=\"photoPreview\" onclick=\"document.getElementById('photoInput').click()\">\r\n          <img id=\"photoImg\" alt=\"\u0e23\u0e39\u0e1b\u0e16\u0e48\u0e32\u0e22\">\r\n          <div class=\"photo-preview-placeholder\" id=\"photoPlaceholder\">\r\n            <svg viewBox=\"0 0 24 24\" stroke-width=\"1.5\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><path d=\"M6 20c0-3.3 2.7-5 6-5s6 1.7 6 5\"\/><\/svg>\r\n            <span id=\"photoPlaceholderText\">\u0e04\u0e25\u0e34\u0e01\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14<\/span>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"photo-upload-info\">\r\n          <p id=\"photoHint\">\u2022 \u0e23\u0e39\u0e1b\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e23\u0e07 \u0e02\u0e19\u0e32\u0e14 1 \u0e19\u0e34\u0e49\u0e27 \u0e2b\u0e23\u0e37\u0e2d 3x4 \u0e0b\u0e21.<br>\u2022 \u0e44\u0e1f\u0e25\u0e4c JPG, PNG \u0e02\u0e19\u0e32\u0e14\u0e44\u0e21\u0e48\u0e40\u0e01\u0e34\u0e19 10 MB<br>\u2022 \u0e41\u0e15\u0e48\u0e07\u0e01\u0e32\u0e22\u0e2a\u0e38\u0e20\u0e32\u0e1e \/ \u0e04\u0e23\u0e2d\u0e07\u0e08\u0e35\u0e27\u0e23\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e1e\u0e23\u0e30\u0e2a\u0e07\u0e06\u0e4c<\/p>\r\n          <label class=\"btn-upload\" for=\"photoInput\" id=\"btnPhoto\">\ud83d\udcf7 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e<\/label>\r\n          <input type=\"file\" id=\"photoInput\" accept=\"image\/jpeg,image\/png\" onchange=\"onPhotoChange(event)\">\r\n          <div class=\"upload-progress\" id=\"uploadProgress\">\u23f3 \u0e01\u0e33\u0e25\u0e31\u0e07\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e23\u0e39\u0e1b\u2026<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n  <!-- \u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e15\u0e48\u0e32\u0e07\u0e0a\u0e32\u0e15\u0e34 -->\r\n  <div class=\"card hidden\" id=\"foreignDocsCard\">\r\n    <div class=\"card-header\">\r\n      <div class=\"card-header-icon\">\r\n        <svg viewBox=\"0 0 24 24\"><rect x=\"4\" y=\"3\" width=\"16\" height=\"18\" rx=\"2\"\/><path d=\"M8 8h8M8 12h8M8 16h5\"\/><\/svg>\r\n      <\/div>\r\n      <h3 id=\"secForeignDocs\">Documents for Foreign Students<\/h3>\r\n    <\/div>\r\n    <div class=\"card-body\">\r\n      <p id=\"foreignDocsHint\" class=\"note-secondary\">For non-Thai applicants, please upload a copy of your Passport and TM.30 form (JPG\/PNG, max 10 MB each).<\/p>\r\n      <div class=\"field span-2 extra-field\">\r\n        <label for=\"passportInput\" id=\"lbPassport\">Passport <span class=\"opt\">(optional)<\/span><\/label>\r\n        <label class=\"btn-upload\" for=\"passportInput\" id=\"btnPassport\">\ud83d\udcf7 Choose Passport photo<\/label>\r\n        <input type=\"file\" id=\"passportInput\" accept=\"image\/jpeg,image\/png\" onchange=\"onDocChange(event,'passport')\">\r\n        <p id=\"passportName\" class=\"field-help\"><\/p>\r\n      <\/div>\r\n      <div class=\"field span-2 extra-field\">\r\n        <label for=\"tm30Input\" id=\"lbTM30\">TM.30 <span class=\"opt\">(optional)<\/span><\/label>\r\n        <label class=\"btn-upload\" for=\"tm30Input\" id=\"btnTM30\">\ud83d\udcf7 Choose TM.30 photo<\/label>\r\n        <input type=\"file\" id=\"tm30Input\" accept=\"image\/jpeg,image\/png\" onchange=\"onDocChange(event,'tm30')\">\r\n        <p id=\"tm30Name\" class=\"field-help\"><\/p>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n  <!-- \u0e22\u0e34\u0e19\u0e22\u0e2d\u0e21 -->\r\n  <div class=\"card\">\r\n    <div class=\"card-body\">\r\n      <div class=\"consent-box\" id=\"consentText\">\r\n        \u0e02\u0e49\u0e32\u0e1e\u0e40\u0e08\u0e49\u0e32\u0e22\u0e34\u0e19\u0e22\u0e2d\u0e21\u0e43\u0e2b\u0e49\u0e2d\u0e20\u0e34\u0e18\u0e23\u0e23\u0e21\u0e42\u0e0a\u0e15\u0e34\u0e01\u0e30\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22 \u0e21\u0e2b\u0e32\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22\u0e21\u0e2b\u0e32\u0e08\u0e38\u0e2c\u0e32\u0e25\u0e07\u0e01\u0e23\u0e13\u0e23\u0e32\u0e0a\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22\r\n        \u0e40\u0e01\u0e47\u0e1a\u0e23\u0e27\u0e1a\u0e23\u0e27\u0e21\u0e41\u0e25\u0e30\u0e43\u0e0a\u0e49\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e1a\u0e38\u0e04\u0e04\u0e25\u0e17\u0e35\u0e48\u0e43\u0e2b\u0e49\u0e44\u0e27\u0e49\u0e43\u0e19\u0e41\u0e1a\u0e1a\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e19\u0e35\u0e49 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e27\u0e31\u0e15\u0e16\u0e38\u0e1b\u0e23\u0e30\u0e2a\u0e07\u0e04\u0e4c\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e40\u0e23\u0e35\u0e22\u0e19\r\n        \u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e2a\u0e37\u0e48\u0e2d\u0e2a\u0e32\u0e23 \u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32 \u0e15\u0e32\u0e21\u0e1e\u0e23\u0e30\u0e23\u0e32\u0e0a\u0e1a\u0e31\u0e0d\u0e0d\u0e31\u0e15\u0e34\u0e04\u0e38\u0e49\u0e21\u0e04\u0e23\u0e2d\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e1a\u0e38\u0e04\u0e04\u0e25 \u0e1e.\u0e28. \u0e52\u0e55\u0e56\u0e52\r\n      <\/div>\r\n      <label class=\"consent-check\">\r\n        <input type=\"checkbox\" id=\"consent\" required>\r\n        <span id=\"consentLabel\">\u0e02\u0e49\u0e32\u0e1e\u0e40\u0e08\u0e49\u0e32\u0e2d\u0e48\u0e32\u0e19\u0e41\u0e25\u0e30\u0e22\u0e34\u0e19\u0e22\u0e2d\u0e21\u0e15\u0e32\u0e21\u0e40\u0e07\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e02\u0e02\u0e49\u0e32\u0e07\u0e15\u0e49\u0e19 <span style=\"color:var(--mcru)\">*<\/span><\/span>\r\n      <\/label>\r\n    <\/div>\r\n  <\/div>\r\n  <button type=\"submit\" class=\"btn-submit\" id=\"submitBtn\">\ud83d\udd0d <span id=\"submitBtnText\">\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e48\u0e2d\u0e19\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19<\/span><\/button>\r\n  <p class=\"note\" id=\"formNote\">* \u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a\u0e01\u0e23\u0e2d\u0e01 &nbsp;|&nbsp; \u0e2b\u0e25\u0e31\u0e07\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e41\u0e2a\u0e14\u0e07 <strong>\u0e23\u0e2b\u0e31\u0e2a\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27<\/strong> \u0e42\u0e1b\u0e23\u0e14\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e44\u0e27\u0e49<\/p>\r\n<\/form>\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<div class=\"check-section\">\r\n  <div class=\"divider-text\" id=\"dividerCheckText\">\u2014 \u0e2b\u0e23\u0e37\u0e2d\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23 \u2014<\/div>\r\n  <div class=\"card\">\r\n    <div class=\"card-header\">\r\n      <div class=\"card-header-icon dark-bg\">\r\n        <svg viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"7\"\/><path d=\"M21 21l-4.35-4.35\"\/><\/svg>\r\n      <\/div>\r\n      <h3 id=\"secCheck\">\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23<\/h3>\r\n    <\/div>\r\n    <div class=\"card-body\">\r\n      <div class=\"field note-secondary\">\r\n        <label for=\"checkCodeInput\" id=\"lbCheckCode\">\u0e01\u0e23\u0e2d\u0e01\u0e23\u0e2b\u0e31\u0e2a\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2b\u0e25\u0e31\u0e07\u0e2a\u0e21\u0e31\u0e04\u0e23 <span class=\"req\">*<\/span><\/label>\r\n        <div class=\"check-input-row\">\r\n          <input type=\"text\" id=\"checkCodeInput\" placeholder=\"0001\" maxlength=\"6\" autocomplete=\"off\" spellcheck=\"false\">\r\n          <button type=\"button\" class=\"btn-check\" id=\"btnCheck\" onclick=\"doCheckStatus()\">\ud83d\udd0d <span id=\"checkBtnText\">\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a<\/span><\/button>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"check-result\" id=\"checkResult\"><\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n  <div class=\"card extra-field\">\r\n    <div class=\"card-body\">\r\n      <div class=\"payment-note\" id=\"paymentNoteBottom\">\r\n        <a href=\"https:\/\/line.me\/R\/ti\/p\/@993yaytf\" target=\"_blank\" rel=\"noopener\" class=\"line-btn\" id=\"lineBtn\">\r\n          <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"currentColor\" class=\"icon-shrink\"><path d=\"M12 2C6.48 2 2 5.64 2 10.13c0 4.02 3.55 7.39 8.35 8.03.32.07.77.21.88.49.1.25.06.64.03.89l-.14.85c-.04.25-.2.99.87.54s5.77-3.4 7.87-5.82C21.41 13.5 22 11.9 22 10.13 22 5.64 17.52 2 12 2zM8.1 12.6H6.06c-.3 0-.54-.24-.54-.54V8.02c0-.3.24-.54.54-.54s.54.24.54.54v3.5H8.1c.3 0 .54.24.54.54s-.24.54-.54.54zm2.12-.54c0 .3-.24.54-.54.54s-.54-.24-.54-.54V8.02c0-.3.24-.54.54-.54s.54.24.54.54v4.04zm4.79 0c0 .23-.15.44-.37.51-.06.02-.12.03-.17.03-.17 0-.33-.08-.43-.22l-2.07-2.82v2.5c0 .3-.24.54-.54.54s-.54-.24-.54-.54V8.02c0-.23.15-.44.37-.51.06-.02.11-.03.17-.03.17 0 .33.08.43.22l2.07 2.82v-2.5c0-.3.24-.54.54-.54s.54.24.54.54v4.04zm3.29-2.56c.3 0 .54.24.54.54s-.24.54-.54.54h-1.5v.94h1.5c.3 0 .54.24.54.54s-.24.54-.54.54h-2.04c-.3 0-.54-.24-.54-.54V8.02c0-.3.24-.54.54-.54h2.04c.3 0 .54.24.54.54s-.24.54-.54.54h-1.5v.94h1.5z\"\/><\/svg>\r\n          <span id=\"lineBtnText\">\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d LINE Official Account<\/span>\r\n        <\/a>\r\n        <p id=\"paymentNoteText\">\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e2a\u0e2d\u0e1a\u0e16\u0e32\u0e21<\/p>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div><!-- \/main-wrap -->\r\n<\/div><!-- \/abjRegApp -->\r\n<script>\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ CONFIG\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nvar GAS_URL = \"https:\/\/script.google.com\/macros\/s\/AKfycbxCOvTDDL1p6rRV55cfCs5BHHA6GgiFBGuBDuLnSUY22sKgXvKZPmbD6HLfaPJ67DoB\/exec\";\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ \u0e1b\u0e35\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nfunction getBuddhistYear() { return new Date().getFullYear() + 543; }\r\nfunction toThaiDigits(n) {\r\n  return String(n).replace(\/[0-9]\/g, function(d){ return \"\u0e50\u0e51\u0e52\u0e53\u0e54\u0e55\u0e56\u0e57\u0e58\u0e59\"[+d]; });\r\n}\r\n(function(){\r\n  var el = document.getElementById(\"academicYearBadge\");\r\n  if(el) el.textContent = \"\u2726 \u0e1b\u0e35\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32 \" + toThaiDigits(getBuddhistYear()) + \" \u2726\";\r\n})();\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ \u0e27\u0e31\u0e19\u0e40\u0e14\u0e37\u0e2d\u0e19\u0e1b\u0e35\u0e40\u0e01\u0e34\u0e14\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nvar MONTHS_TH = [\"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21\",\"\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c\",\"\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21\",\"\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19\",\"\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21\",\"\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19\",\r\n                 \"\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21\",\"\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21\",\"\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19\",\"\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21\",\"\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19\",\"\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21\"];\r\nfunction pad2(v){ return (\"0\"+v).slice(-2); }\r\nfunction initBirthdate(){\r\n  var dayEl  = document.getElementById(\"birthDay\");\r\n  var monEl  = document.getElementById(\"birthMonth\");\r\n  var yearEl = document.getElementById(\"birthYear\");\r\n  var curBE  = getBuddhistYear();\r\n  var dHtml = '<option value=\"\">\u0e27\u0e31\u0e19<\/option>';\r\n  for(var d=1;d<=31;d++) dHtml += '<option value=\"'+pad2(d)+'\">'+d+'<\/option>';\r\n  dayEl.innerHTML = dHtml;\r\n  var mHtml = '<option value=\"\">\u0e40\u0e14\u0e37\u0e2d\u0e19<\/option>';\r\n  MONTHS_TH.forEach(function(n,i){ mHtml += '<option value=\"'+pad2(i+1)+'\">'+n+'<\/option>'; });\r\n  monEl.innerHTML = mHtml;\r\n  var yHtml = '<option value=\"\">\u0e1b\u0e35 \u0e1e.\u0e28.<\/option>';\r\n  for(var y=curBE;y>=curBE-120;y--) yHtml += '<option value=\"'+y+'\">'+toThaiDigits(y)+'<\/option>';\r\n  yearEl.innerHTML = yHtml;\r\n  function sync(){\r\n    document.getElementById(\"birthdate\").value =\r\n      (dayEl.value && monEl.value && yearEl.value)\r\n        ? dayEl.value+\"\/\"+monEl.value+\"\/\"+yearEl.value : \"\";\r\n  }\r\n  dayEl.addEventListener(\"change\",sync);\r\n  monEl.addEventListener(\"change\",sync);\r\n  yearEl.addEventListener(\"change\",sync);\r\n}\r\ninitBirthdate();\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ \u0e04\u0e33\u0e19\u0e33\u0e2b\u0e19\u0e49\u0e32\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nfunction isMonkPrefix(p){\r\n  return p && (p.indexOf(\"\u0e1e\u0e23\u0e30\")===0 || p.indexOf(\"\u0e40\u0e08\u0e49\u0e32\u0e2d\u0e18\u0e34\u0e01\u0e32\u0e23\")===0 ||\r\n               p.indexOf(\"\u0e2a\u0e32\u0e21\u0e40\u0e13\u0e23\")===0 || p.indexOf(\"\u0e20\u0e34\u0e01\u0e29\u0e38\u0e13\u0e35\")===0);\r\n}\r\nfunction isOrdained(p){ return isMonkPrefix(p) || p===\"\u0e41\u0e21\u0e48\u0e0a\u0e35\"; }\r\nfunction onPrefixChange(){\r\n  var p = document.getElementById(\"prefix\").value;\r\n  document.querySelectorAll(\".monk-only\").forEach(function(el){\r\n    el.style.display = isOrdained(p) ? \"block\" : \"none\";\r\n  });\r\n  var fnL = document.getElementById(\"firstNameLabel\");\r\n  var lnL = document.getElementById(\"lastNameLabel\");\r\n  var req = ' <span class=\"req\">*<\/span>';\r\n  if(isMonkPrefix(p)){\r\n    fnL.innerHTML = (LANG===\"en\" ? T(\"monkFirstName\") : \"\u0e0a\u0e37\u0e48\u0e2d \/ \u0e09\u0e32\u0e22\u0e32\") + req;\r\n    lnL.innerHTML = T(\"lastNameLabel\");\r\n  } else {\r\n    fnL.innerHTML = T(\"firstNameLabel\") + req;\r\n    lnL.innerHTML = T(\"lastNameLabel\");\r\n  }\r\n}\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ \u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e44\u0e17\u0e22 \u2014 CDN\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nvar thaiAddrData = null;\r\nvar ADDR_CDNS = [\r\n  \"https:\/\/cdn.jsdelivr.net\/gh\/kongvut\/thai-province-data@master\/api\/latest\/province_with_district_and_sub_district.json\",\r\n  \"https:\/\/raw.githubusercontent.com\/kongvut\/thai-province-data\/master\/api\/latest\/province_with_district_and_sub_district.json\",\r\n  \"https:\/\/unpkg.com\/thai-province-data@latest\/dist\/province_with_district_and_sub_district.json\"\r\n];\r\nfunction loadThaiAddress(){\r\n  var idx = 0;\r\n  function tryNext(){\r\n    if(idx >= ADDR_CDNS.length){ useFallback(); return; }\r\n    var url = ADDR_CDNS[idx++];\r\n    fetch(url)\r\n      .then(function(r){ if(!r.ok) throw new Error(r.status); return r.json(); })\r\n      .then(function(data){ onAddrLoaded(data); })\r\n      .catch(function(){ tryNext(); });\r\n  }\r\n  tryNext();\r\n}\r\nfunction addrName(obj){\r\n  if(LANG===\"en\" && obj.name_en) return obj.name_en;\r\n  return obj.name_th;\r\n}\r\nfunction onAddrLoaded(data){\r\n  thaiAddrData = data;\r\n  var sorted = data.slice().sort(function(a,b){ return a.name_th.localeCompare(b.name_th,\"th\"); });\r\n  var html = '<option value=\"\">'+T(\"selProvince\")+'<\/option>';\r\n  sorted.forEach(function(prov){\r\n    var oi = data.indexOf(prov);\r\n    html += '<option value=\"'+esc(prov.name_th)+'\" data-idx=\"'+oi+'\" data-en=\"'+esc(prov.name_en||\"\")+'\">'+esc(addrName(prov))+'<\/option>';\r\n  });\r\n  var sel = document.getElementById(\"province\");\r\n  sel.innerHTML = html;\r\n  sel.disabled = false;\r\n}\r\nfunction useFallback(){\r\n  var placeholders = {\r\n    province: T(\"phProvince\") || \"\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14\",\r\n    district: T(\"phDistrict\") || \"\u0e2d\u0e33\u0e40\u0e20\u0e2d\/\u0e40\u0e02\u0e15\",\r\n    subdistrict: T(\"phSubdistrict\") || \"\u0e15\u0e33\u0e1a\u0e25\/\u0e41\u0e02\u0e27\u0e07\"\r\n  };\r\n  [\"province\",\"district\",\"subdistrict\"].forEach(function(id){\r\n    var el = document.getElementById(id);\r\n    if(!el || el.tagName !== \"SELECT\") return;\r\n    var inp = document.createElement(\"input\");\r\n    inp.type=\"text\"; inp.id=id; inp.name=id; inp.required=true;\r\n    inp.placeholder = placeholders[id] || \"\";\r\n    inp.className = el.className;\r\n    el.parentNode.replaceChild(inp,el);\r\n  });\r\n  var pc = document.getElementById(\"postalCode\");\r\n  if(pc){\r\n    pc.readOnly = false;\r\n    pc.style.background = \"\";\r\n    pc.style.cursor = \"\";\r\n    pc.placeholder = T(\"phPostal\") || \"\u0e23\u0e2b\u0e31\u0e2a\u0e44\u0e1b\u0e23\u0e29\u0e13\u0e35\u0e22\u0e4c 5 \u0e2b\u0e25\u0e31\u0e01\";\r\n  }\r\n}\r\nloadThaiAddress();\r\ndocument.addEventListener(\"change\", function(e){\r\n  var target = e.target;\r\n  if(!target || !target.id) return;\r\n  if(target.id === \"province\"){\r\n    if(target.tagName !== \"SELECT\") return;\r\n    var distSel = document.getElementById(\"district\");\r\n    var subSel  = document.getElementById(\"subdistrict\");\r\n    if(distSel && distSel.tagName === \"SELECT\" && subSel && subSel.tagName === \"SELECT\"){\r\n      distSel.innerHTML = '<option value=\"\">'+T(\"selDistrict\")+'<\/option>';\r\n      subSel.innerHTML  = '<option value=\"\">'+T(\"selSubWait\")+'<\/option>';\r\n      distSel.disabled = true; subSel.disabled = true;\r\n      document.getElementById(\"postalCode\").value = \"\";\r\n      var opt = target.options[target.selectedIndex];\r\n      if(!opt || !opt.value || !thaiAddrData) return;\r\n      var prov = thaiAddrData[parseInt(opt.dataset.idx,10)];\r\n      var amps = (prov.amphure||prov.districts||[]).slice()\r\n        .sort(function(a,b){ return a.name_th.localeCompare(b.name_th,\"th\"); });\r\n      amps.forEach(function(amp){\r\n        var oi = (prov.amphure||prov.districts||[]).indexOf(amp);\r\n        var o = document.createElement(\"option\");\r\n        o.value = amp.name_th; o.textContent = addrName(amp);\r\n        o.dataset.en = amp.name_en || \"\";\r\n        o.dataset.pidx = opt.dataset.idx; o.dataset.aidx = oi;\r\n        distSel.appendChild(o);\r\n      });\r\n      distSel.disabled = false;\r\n    }\r\n    return;\r\n  }\r\n  if(target.id === \"district\"){\r\n    if(target.tagName !== \"SELECT\") return;\r\n    var subSel = document.getElementById(\"subdistrict\");\r\n    if(!subSel || subSel.tagName !== \"SELECT\") return;\r\n    subSel.innerHTML = '<option value=\"\">'+T(\"selSubdistrict\")+'<\/option>';\r\n    subSel.disabled = true;\r\n    document.getElementById(\"postalCode\").value = \"\";\r\n    var opt = target.options[target.selectedIndex];\r\n    if(!opt || !opt.value || !thaiAddrData) return;\r\n    var prov = thaiAddrData[parseInt(opt.dataset.pidx,10)];\r\n    var amp  = (prov.amphure||prov.districts||[])[parseInt(opt.dataset.aidx,10)];\r\n    var tambons = (amp.tambon||amp.sub_districts||[]).slice()\r\n      .sort(function(a,b){ return a.name_th.localeCompare(b.name_th,\"th\"); });\r\n    tambons.forEach(function(t){\r\n      var o = document.createElement(\"option\");\r\n      o.value = t.name_th; o.textContent = addrName(t);\r\n      o.dataset.en = t.name_en || \"\";\r\n      o.dataset.zip = (t.zip_code || t.zipcode || t.postal_code || \"\");\r\n      subSel.appendChild(o);\r\n    });\r\n    subSel.disabled = false;\r\n    return;\r\n  }\r\n  if(target.id === \"subdistrict\"){\r\n    if(target.tagName !== \"SELECT\"){\r\n      document.getElementById(\"postalCode\").value = \"\";\r\n      return;\r\n    }\r\n    var opt = target.options[target.selectedIndex];\r\n    document.getElementById(\"postalCode\").value = (opt && opt.dataset.zip) || \"\";\r\n  }\r\n});\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ \u0e2b\u0e19\u0e48\u0e27\u0e22\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23 \u2014 JSONP\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nvar serviceLocationsData = [];\r\nvar FALLBACK_LOCATIONS = [\r\n  \"\u0e2d\u0e20\u0e34\u0e18\u0e23\u0e23\u0e21\u0e42\u0e0a\u0e15\u0e34\u0e01\u0e30\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22 (\u0e2a\u0e48\u0e27\u0e19\u0e01\u0e25\u0e32\u0e07)\",\r\n  \"\u0e27\u0e31\u0e14\u0e01\u0e25\u0e32\u0e07 (\u0e1a\u0e32\u0e07\u0e1b\u0e25\u0e32\u0e21\u0e49\u0e32)\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e01\u0e25\u0e38\u0e48\u0e21\u0e18\u0e23\u0e23\u0e21\u0e2a\u0e23\u0e32\u0e0d\u0e23\u0e21\u0e22\u0e4c \u0e01\u0e23\u0e30\u0e17\u0e23\u0e27\u0e07\u0e01\u0e32\u0e23\u0e15\u0e48\u0e32\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\",\r\n  \"\u0e27\u0e31\u0e14\u0e40\u0e01\u0e48\u0e32\u0e42\u0e1a\u0e23\u0e32\u0e13\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e40\u0e02\u0e32\u0e17\u0e38\u0e48\u0e07\u0e27\u0e31\u0e27\",\r\n  \"\u0e27\u0e31\u0e14\u0e40\u0e02\u0e32\u0e1e\u0e38\u0e17\u0e18\u0e42\u0e04\u0e14\u0e21\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e08\u0e31\u0e19\u0e17\u0e23\u0e2a\u0e38\u0e02\",\r\n  \"\u0e27\u0e31\u0e14\u0e08\u0e32\u0e01\u0e41\u0e14\u0e07\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e40\u0e08\u0e23\u0e34\u0e0d\u0e18\u0e23\u0e23\u0e21\u0e32\u0e23\u0e32\u0e21\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e40\u0e08\u0e23\u0e34\u0e0d\u0e2a\u0e21\u0e13\u0e01\u0e34\u0e08(\u0e2b\u0e25\u0e31\u0e07\u0e28\u0e32\u0e25)\",\r\n  \"\u0e27\u0e31\u0e14\u0e15\u0e36\u0e01 (\u0e2d\u0e22\u0e38\u0e18\u0e22\u0e32)\",\r\n  \"\u0e27\u0e31\u0e14\u0e17\u0e48\u0e32\u0e21\u0e30\u0e42\u0e2d\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e18\u0e23\u0e23\u0e21\u0e32\u0e21\u0e39\u0e25\u0e27\u0e23\u0e27\u0e34\u0e2b\u0e32\u0e23\",\r\n  \"\u0e27\u0e31\u0e14\u0e19\u0e32\u0e1e\u0e23\u0e49\u0e32\u0e27\u0e40\u0e01\u0e48\u0e32\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e19\u0e34\u0e2a\u0e2a\u0e23\u0e13\u0e27\u0e19\u0e32\u0e23\u0e32\u0e21\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e1b\u0e48\u0e32\u0e0a\u0e31\u0e22\u0e21\u0e07\u0e04\u0e25\",\r\n  \"\u0e27\u0e31\u0e14\u0e1b\u0e48\u0e32\u0e18\u0e23\u0e23\u0e21\u0e42\u0e2a\u0e20\u0e13\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e1b\u0e48\u0e32\u0e27\u0e0a\u0e34\u0e23\u0e1a\u0e23\u0e23\u0e1e\u0e15\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e1c\u0e48\u0e2d\u0e07\u0e1e\u0e25\u0e2d\u0e22\u0e27\u0e34\u0e23\u0e34\u0e22\u0e32\u0e23\u0e32\u0e21\",\r\n  \"\u0e27\u0e31\u0e14\u0e1e\u0e23\u0e2b\u0e21\u0e08\u0e23\u0e34\u0e22\u0e32\u0e27\u0e32\u0e2a\",\r\n  \"\u0e27\u0e31\u0e14\u0e1e\u0e23\u0e30\u0e18\u0e32\u0e15\u0e38\u0e28\u0e23\u0e35\u0e08\u0e2d\u0e21\u0e17\u0e2d\u0e07\u0e27\u0e23\u0e27\u0e34\u0e2b\u0e32\u0e23\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e1e\u0e38\u0e17\u0e18\u0e1a\u0e39\u0e0a\u0e32\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e1e\u0e38\u0e17\u0e18\u0e2a\u0e21\u0e32\u0e04\u0e21\u0e2f \u0e27\u0e31\u0e14\u0e2b\u0e31\u0e27\u0e04\u0e39\u0e49\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e1e\u0e38\u0e17\u0e18\u0e2a\u0e21\u0e32\u0e04\u0e21\u0e2f \u0e27\u0e31\u0e14\u0e2d\u0e23\u0e31\u0e0d\u0e0d\u0e34\u0e01\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e1e\u0e38\u0e17\u0e18\u0e2a\u0e21\u0e32\u0e04\u0e21\u0e41\u0e2b\u0e48\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e40\u0e1e\u0e25\u0e07(\u0e01\u0e25\u0e32\u0e07\u0e2a\u0e27\u0e19)\",\r\n  \"\u0e27\u0e31\u0e14\u0e21\u0e2b\u0e32\u0e18\u0e32\u0e15\u0e38\u0e27\u0e23\u0e27\u0e34\u0e2b\u0e32\u0e23 (\u0e23\u0e32\u0e0a\u0e1a\u0e38\u0e23\u0e35)\",\r\n  \"\u0e27\u0e31\u0e14\u0e21\u0e40\u0e2b\u0e22\u0e07\u0e04\u0e13\u0e4c\",\r\n  \"\u0e27\u0e31\u0e14\u0e40\u0e21\u0e37\u0e2d\u0e07\u0e21\u0e32\u0e07\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e22\u0e32\u0e19\u0e19\u0e32\u0e27\u0e32\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e22\u0e38\u0e27\u0e1e\u0e38\u0e17\u0e18\u0e34\u0e01\u0e2a\u0e21\u0e32\u0e04\u0e21\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e23\u0e32\u0e0a\u0e04\u0e24\u0e2b\u0e4c \u0e27\u0e23\u0e27\u0e34\u0e2b\u0e32\u0e23\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e23\u0e32\u0e0a\u0e32\u0e18\u0e34\u0e27\u0e32\u0e2a\u0e27\u0e34\u0e2b\u0e32\u0e23\",\r\n  \"\u0e27\u0e31\u0e14\u0e23\u0e4d\u0e48\u0e32\u0e40\u0e1b\u0e34\u0e07 (\u0e15\u0e42\u0e1b\u0e17\u0e32\u0e23\u0e32\u0e21)\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e27\u0e31\u0e07\u0e2b\u0e34\u0e19\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e27\u0e34\u0e2b\u0e32\u0e23\u0e18\u0e23\u0e23\u0e21\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e28\u0e34\u0e23\u0e34\u0e1e\u0e07\u0e29\u0e4c\u0e18\u0e23\u0e23\u0e21\u0e19\u0e34\u0e21\u0e34\u0e15\",\r\n  \"\u0e28\u0e39\u0e19\u0e22\u0e4c\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e18\u0e23\u0e23\u0e21\u0e2f (\u0e40\u0e02\u0e32\u0e14\u0e34\u0e19\u0e2b\u0e19\u0e2d\u0e07\u0e41\u0e2a\u0e07)\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e2a\u0e16\u0e32\u0e19\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e18\u0e23\u0e23\u0e21\u0e1e\u0e34\u0e28\u0e0d\u0e32\u0e18\u0e23\u0e23\u0e21\u0e2a\u0e16\u0e32\u0e19\",\r\n  \"\u0e27\u0e31\u0e14\u0e2a\u0e23\u0e30\u0e1a\u0e31\u0e27\",\r\n  \"\u0e27\u0e31\u0e14\u0e2a\u0e27\u0e48\u0e32\u0e07\u0e21\u0e35\u0e0a\u0e31\u0e22\",\r\n  \"\u0e27\u0e31\u0e14\u0e2a\u0e32\u0e21\u0e0a\u0e38\u0e01\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e2a\u0e32\u0e21\u0e1e\u0e23\u0e30\u0e22\u0e32\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e2a\u0e33\u0e19\u0e31\u0e01\u0e41\u0e21\u0e48\u0e0a\u0e35\u0e44\u0e17\u0e22 \u0e28\u0e32\u0e25\u0e32\u0e22\u0e32\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e2a\u0e38\u0e17\u0e18\u0e08\u0e34\u0e19\u0e14\u0e32\",\r\n  \"\u0e27\u0e31\u0e14\u0e2a\u0e38\u0e27\u0e23\u0e23\u0e13\u0e1b\u0e23\u0e30\u0e2a\u0e34\u0e17\u0e18\u0e34\",\r\n  \"\u0e27\u0e31\u0e14\u0e2b\u0e32\u0e14\u0e43\u0e2b\u0e0d\u0e48\u0e2a\u0e34\u0e15\u0e32\u0e23\u0e32\u0e21\",\r\n  \"\u0e2d\u0e20\u0e34\u0e18\u0e23\u0e23\u0e21\u0e17\u0e32\u0e07\u0e44\u0e01\u0e25 (\u0e27\u0e31\u0e14\u0e18\u0e23\u0e23\u0e21\u0e21\u0e31\u0e07\u0e04\u0e25\u0e32\u0e23\u0e32\u0e21)\",\r\n  \"\u0e27\u0e31\u0e14\u0e2d\u0e38\u0e14\u0e21\u0e21\u0e07\u0e04\u0e25\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e2d\u0e38\u0e1a\u0e25\u0e27\u0e19\u0e32\u0e23\u0e32\u0e21\"\r\n].map(function(n){ return {name:n, address:\"\"}; });\r\nvar LOCATION_EN = {\r\n  \"\u0e2d\u0e20\u0e34\u0e18\u0e23\u0e23\u0e21\u0e42\u0e0a\u0e15\u0e34\u0e01\u0e30\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22 (\u0e2a\u0e48\u0e27\u0e19\u0e01\u0e25\u0e32\u0e07)\":\"Abhidhamma Jotikavidyalaya (Central), MCU\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e01\u0e25\u0e38\u0e48\u0e21\u0e18\u0e23\u0e23\u0e21\u0e2a\u0e23\u0e32\u0e0d\u0e23\u0e21\u0e22\u0e4c \u0e01\u0e23\u0e30\u0e17\u0e23\u0e27\u0e07\u0e01\u0e32\u0e23\u0e15\u0e48\u0e32\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\":\"Dhamma Saranrom Group, Ministry of Foreign Affairs\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e1e\u0e38\u0e17\u0e18\u0e2a\u0e21\u0e32\u0e04\u0e21\u0e41\u0e2b\u0e48\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22\":\"Buddhist Association of Thailand\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e22\u0e38\u0e27\u0e1e\u0e38\u0e17\u0e18\u0e34\u0e01\u0e2a\u0e21\u0e32\u0e04\u0e21\":\"Young Buddhists Association\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e40\u0e08\u0e23\u0e34\u0e0d\u0e18\u0e23\u0e23\u0e21\u0e32\u0e23\u0e32\u0e21\":\"Wat Charoen Thammaram\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e1c\u0e48\u0e2d\u0e07\u0e1e\u0e25\u0e2d\u0e22\u0e27\u0e34\u0e23\u0e34\u0e22\u0e32\u0e23\u0e32\u0e21\":\"Wat Phong Phloi Wiriyaram\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e1e\u0e38\u0e17\u0e18\u0e1a\u0e39\u0e0a\u0e32\":\"Wat Phuttha Bucha\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e40\u0e1e\u0e25\u0e07(\u0e01\u0e25\u0e32\u0e07\u0e2a\u0e27\u0e19)\":\"Wat Phleng (Klang Suan)\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e22\u0e32\u0e19\u0e19\u0e32\u0e27\u0e32\":\"Wat Yannawa\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e23\u0e32\u0e0a\u0e04\u0e24\u0e2b\u0e4c \u0e27\u0e23\u0e27\u0e34\u0e2b\u0e32\u0e23\":\"Wat Ratchakhrue Worawihan\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e23\u0e32\u0e0a\u0e32\u0e18\u0e34\u0e27\u0e32\u0e2a\u0e27\u0e34\u0e2b\u0e32\u0e23\":\"Wat Rachathiwat Wihan\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e28\u0e34\u0e23\u0e34\u0e1e\u0e07\u0e29\u0e4c\u0e18\u0e23\u0e23\u0e21\u0e19\u0e34\u0e21\u0e34\u0e15\":\"Wat Siriphong Thammanimit\",\r\n  \"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2f \u0e27\u0e31\u0e14\u0e2a\u0e32\u0e21\u0e1e\u0e23\u0e30\u0e22\u0e32\":\"Wat Sam Phraya\",\r\n  \"\u0e2d\u0e20\u0e34\u0e18\u0e23\u0e23\u0e21\u0e17\u0e32\u0e07\u0e44\u0e01\u0e25 (\u0e27\u0e31\u0e14\u0e18\u0e23\u0e23\u0e21\u0e21\u0e31\u0e07\u0e04\u0e25\u0e32\u0e23\u0e32\u0e21)\":\"Distance Learning (Wat Thammangkhalaram)\"\r\n};\r\nfunction locDisplayName(thName){\r\n  return (LANG===\"en\" && LOCATION_EN[thName]) ? LOCATION_EN[thName] : thName;\r\n}\r\nfunction renderServiceLocations(items){\r\n  serviceLocationsData = items || [];\r\n  var sel = document.getElementById(\"serviceLocation\");\r\n  if(!serviceLocationsData.length){\r\n    sel.innerHTML = '<option value=\"\">'+(LANG===\"en\"?\"\u2014 No study centers found \u2014\":\"\u2014 \u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23 \u2014\")+'<\/option>';\r\n    return;\r\n  }\r\n  var html = '<option value=\"\">'+(LANG===\"en\"?\"\u2014 Select study center \u2014\":\"\u2014 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23 \u2014\")+'<\/option>';\r\n  serviceLocationsData.forEach(function(item){\r\n    html += '<option value=\"'+esc(item.name)+'\">'+esc(locDisplayName(item.name))+'<\/option>';\r\n  });\r\n  sel.innerHTML = html;\r\n}\r\nfunction loadServiceLocations(){\r\n  var cbName = \"locCb_\" + Date.now();\r\n  var scriptEl = null;\r\n  var timer = setTimeout(function(){\r\n    cleanup(); renderServiceLocations(FALLBACK_LOCATIONS);\r\n  }, 8000);\r\n  function cleanup(){\r\n    clearTimeout(timer);\r\n    delete window[cbName];\r\n    if(scriptEl && scriptEl.parentNode) scriptEl.parentNode.removeChild(scriptEl);\r\n  }\r\n  window[cbName] = function(data){\r\n    cleanup();\r\n    renderServiceLocations((data && data.ok && data.items && data.items.length)\r\n      ? data.items : FALLBACK_LOCATIONS);\r\n  };\r\n  scriptEl = document.createElement(\"script\");\r\n  scriptEl.src = GAS_URL + \"?action=getLocations&callback=\" + encodeURIComponent(cbName);\r\n  scriptEl.onerror = function(){ cleanup(); renderServiceLocations(FALLBACK_LOCATIONS); };\r\n  document.body.appendChild(scriptEl);\r\n}\r\nloadServiceLocations();\r\ndocument.getElementById(\"serviceLocation\").addEventListener(\"change\",function(){\r\n  var addrEl = document.getElementById(\"serviceLocationAddr\");\r\n  var picked = this.value;\r\n  if(!picked){ addrEl.style.display=\"none\"; return; }\r\n  for(var i=0; i<serviceLocationsData.length; i++){\r\n    if(serviceLocationsData[i].name === picked){\r\n      var addr = serviceLocationsData[i].address;\r\n      addrEl.style.display = addr ? \"block\" : \"none\";\r\n      if(addr) addrEl.textContent = \"\ud83d\udccd \" + addr;\r\n      return;\r\n    }\r\n  }\r\n  addrEl.style.display = \"none\";\r\n});\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ \u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nvar photoBase64 = \"\";\r\nfunction onPhotoChange(e){\r\n  var file = e.target.files[0];\r\n  if(!file) return;\r\n  if(!\/^image\\\/(jpeg|png)$\/.test(file.type)){\r\n    Swal.fire({icon:\"warning\",title:T(\"photoWrongType\"),text:T(\"photoWrongTypeMsg\"),confirmButtonColor:\"#AD4970\"});\r\n    return;\r\n  }\r\n  if(file.size > 10*1024*1024){\r\n    Swal.fire({icon:\"warning\",title:T(\"photoTooBig\"),text:T(\"photoTooBigMsg\"),confirmButtonColor:\"#AD4970\"});\r\n    return;\r\n  }\r\n  var reader = new FileReader();\r\n  reader.onload = function(ev){\r\n    var img = new Image();\r\n    img.onload = function(){\r\n      var mW=1200, mH=1600, ratio=Math.min(mW\/img.width, mH\/img.height, 1);\r\n      var w=Math.round(img.width*ratio), h=Math.round(img.height*ratio);\r\n      var canvas = document.createElement(\"canvas\");\r\n      canvas.width=w; canvas.height=h;\r\n      var ctx = canvas.getContext(\"2d\");\r\n      ctx.fillStyle=\"#fff\"; ctx.fillRect(0,0,w,h);\r\n      ctx.drawImage(img,0,0,w,h);\r\n      photoBase64 = canvas.toDataURL(\"image\/jpeg\",0.88);\r\n      document.getElementById(\"photoImg\").src = photoBase64;\r\n      document.getElementById(\"photoImg\").style.display = \"block\";\r\n      document.getElementById(\"photoPlaceholder\").style.display = \"none\";\r\n    };\r\n    img.src = ev.target.result;\r\n  };\r\n  reader.readAsDataURL(file);\r\n}\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ \u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e15\u0e48\u0e32\u0e07\u0e0a\u0e32\u0e15\u0e34\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nvar passportBase64 = \"\";\r\nvar tm30Base64 = \"\";\r\nfunction onDocChange(e, kind){\r\n  var file = e.target.files[0];\r\n  if(!file) return;\r\n  if(!\/^image\\\/(jpeg|png)$\/.test(file.type)){\r\n    Swal.fire({icon:\"warning\",title:T(\"photoWrongType\"),text:T(\"photoWrongTypeMsg\"),confirmButtonColor:\"#AD4970\"});\r\n    return;\r\n  }\r\n  if(file.size > 10*1024*1024){\r\n    Swal.fire({icon:\"warning\",title:T(\"photoTooBig\"),text:T(\"photoTooBigMsg\"),confirmButtonColor:\"#AD4970\"});\r\n    return;\r\n  }\r\n  var reader = new FileReader();\r\n  reader.onload = function(ev){\r\n    if(kind === \"passport\"){\r\n      passportBase64 = ev.target.result;\r\n      var pn = document.getElementById(\"passportName\");\r\n      pn.textContent = \"\u2713 \" + file.name; pn.style.display = \"block\";\r\n    } else {\r\n      tm30Base64 = ev.target.result;\r\n      var tn = document.getElementById(\"tm30Name\");\r\n      tn.textContent = \"\u2713 \" + file.name; tn.style.display = \"block\";\r\n    }\r\n  };\r\n  reader.readAsDataURL(file);\r\n}\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ ImgBB Key\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nvar IMGBB_KEY = \"398be2705548b93db3327df0ff1f1baa\";\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ Modal \u0e2a\u0e23\u0e38\u0e1b\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e48\u0e2d\u0e19\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nfunction buildReviewHTML(){\r\n  var prefix    = document.getElementById(\"prefix\").value;\r\n  var firstName = document.getElementById(\"firstName\").value.trim();\r\n  var lastName  = document.getElementById(\"lastName\").value.trim();\r\n  var temple    = (document.getElementById(\"temple\") && document.getElementById(\"temple\").value.trim()) || \"\";\r\n  var birthdate = document.getElementById(\"birthdate\").value;\r\n  var phone     = document.getElementById(\"phone\").value.trim();\r\n  var education = document.getElementById(\"education\").value;\r\n  var pali      = document.getElementById(\"pali\").value;\r\n  var dhamma    = document.getElementById(\"dhamma\").value;\r\n  var address   = document.getElementById(\"address\").value.trim();\r\n  var soi       = document.getElementById(\"soi\").value.trim();\r\n  var sub       = document.getElementById(\"subdistrict\").value;\r\n  var dist      = document.getElementById(\"district\").value;\r\n  var prov      = document.getElementById(\"province\").value;\r\n  var postal    = document.getElementById(\"postalCode\").value.trim();\r\n  var service   = document.getElementById(\"serviceLocation\").value;\r\n  var fullName  = (prefix + \" \" + firstName + (lastName?\" \"+lastName:\"\")).trim();\r\n  var addrFull  = address + (soi?\" \"+soi:\"\") + \" \u0e15.\" + sub + \" \u0e2d.\" + dist + \" \u0e08.\" + prov + \" \" + postal;\r\n  var isLang = LANG === \"en\";\r\n  var L = function(th,en){ return isLang ? en : th; };\r\n  var html = \"\";\r\n  \/\/ \u0e23\u0e39\u0e1b\u0e16\u0e48\u0e32\u0e22\r\n  if(photoBase64){\r\n    html += '<div class=\"review-photo-wrap\"><img decoding=\"async\" src=\"'+photoBase64+'\" alt=\"'+L(\"\u0e23\u0e39\u0e1b\u0e16\u0e48\u0e32\u0e22\",\"Photo\")+'\"><\/div>';\r\n  }\r\n  \/\/ \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27\r\n  html += '<div class=\"review-section-title\">'+L(\"\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27\",\"Personal Information\")+'<\/div>';\r\n  html += rvRow(L(\"\u0e0a\u0e37\u0e48\u0e2d-\u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25\",\"Full Name\"), fullName);\r\n  if(isOrdained(prefix) && temple) html += rvRow(L(\"\u0e27\u0e31\u0e14\/\u0e2a\u0e33\u0e19\u0e31\u0e01\",\"Temple\"), temple);\r\n  html += rvRow(L(\"\u0e27\u0e31\u0e19\u0e40\u0e14\u0e37\u0e2d\u0e19\u0e1b\u0e35\u0e40\u0e01\u0e34\u0e14\",\"Date of Birth\"), birthdate);\r\n  html += rvRow(L(\"\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\",\"Phone\"), phone);\r\n  if(education) html += rvRow(L(\"\u0e27\u0e38\u0e12\u0e34\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32\",\"Education\"), education);\r\n  if(pali)      html += rvRow(L(\"\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e0d\u0e18\u0e23\u0e23\u0e21\",\"Pali\"), pali);\r\n  if(dhamma)    html += rvRow(L(\"\u0e19\u0e31\u0e01\u0e18\u0e23\u0e23\u0e21\",\"Dhamma\"), dhamma);\r\n  \/\/ \u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\r\n  html += '<div class=\"review-section-title\">'+L(\"\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\",\"Address\")+'<\/div>';\r\n  html += rvRow(L(\"\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\",\"Current Address\"), addrFull);\r\n  \/\/ \u0e2b\u0e19\u0e48\u0e27\u0e22\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\r\n  html += '<div class=\"review-section-title\">'+L(\"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e43\u0e01\u0e25\u0e49\u0e1a\u0e49\u0e32\u0e19\",\"Study Center\")+'<\/div>';\r\n  html += rvRow(L(\"\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\",\"Location\"), service || L(\"\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e25\u0e37\u0e2d\u0e01\",\"Not selected\"));\r\n  \/\/ \u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e40\u0e15\u0e37\u0e2d\u0e19\r\n  html += '<div style=\"margin-top:16px;padding:12px 14px;background:#fff8e8;border:1px solid #f5d67a;border-radius:10px;font-size:13.5px;color:#7a5a00;line-height:1.7;\">';\r\n  html += L(\"\u26a0\ufe0f \u0e01\u0e23\u0e38\u0e13\u0e32\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e43\u0e2b\u0e49\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e48\u0e2d\u0e19\u0e01\u0e14\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19 \u0e2b\u0e32\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07 \u0e01\u0e23\u0e38\u0e13\u0e32\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 <strong>\u0e41\u0e01\u0e49\u0e44\u0e02<\/strong>\",\r\n            \"\u26a0\ufe0f Please verify all information before confirming. Press <strong>Edit<\/strong> to make changes.\");\r\n  html += '<\/div>';\r\n  return html;\r\n}\r\nfunction rvRow(label, value){\r\n  return '<div class=\"review-row\"><div class=\"review-lbl\">'+esc2(label)+'<\/div><div class=\"review-val\">'+esc2(value||\"\u2014\")+'<\/div><\/div>';\r\n}\r\nfunction showReviewModal(){\r\n  document.getElementById(\"reviewModalBody\").innerHTML = buildReviewHTML();\r\n  var overlay = document.getElementById(\"reviewOverlay\");\r\n  overlay.classList.add(\"open\");\r\n  overlay.scrollTop = 0;\r\n  document.getElementById(\"btnReviewConfirm\").disabled = false;\r\n}\r\nfunction closeReviewModal(){\r\n  document.getElementById(\"reviewOverlay\").classList.remove(\"open\");\r\n}\r\ndocument.getElementById(\"btnReviewBack\").addEventListener(\"click\", function(){\r\n  closeReviewModal();\r\n});\r\n\/\/ \u0e1b\u0e34\u0e14 modal \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e25\u0e34\u0e01\u0e1e\u0e37\u0e49\u0e19\u0e2b\u0e25\u0e31\u0e07\r\ndocument.getElementById(\"reviewOverlay\").addEventListener(\"click\", function(e){\r\n  if(e.target === this) closeReviewModal();\r\n});\r\n\/\/ \u0e1b\u0e38\u0e48\u0e21\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e43\u0e19 modal\r\ndocument.getElementById(\"btnReviewConfirm\").addEventListener(\"click\", function(){\r\n  this.disabled = true;\r\n  closeReviewModal();\r\n  startUploadAndSubmit();\r\n});\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ SUBMIT \u2014 \u0e01\u0e14 \"\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e48\u0e2d\u0e19\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\"\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\ndocument.getElementById(\"regForm\").addEventListener(\"submit\", function(e){\r\n  e.preventDefault();\r\n  if(!validate()) return;\r\n  showReviewModal();\r\n});\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ \u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e08\u0e23\u0e34\u0e07 (\u0e40\u0e23\u0e35\u0e22\u0e01\u0e2b\u0e25\u0e31\u0e07 modal \u0e22\u0e37\u0e19\u0e22\u0e31\u0e19)\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nfunction startUploadAndSubmit(){\r\n  var btn = document.getElementById(\"submitBtn\");\r\n  btn.disabled = true;\r\n  Swal.fire({\r\n    title: T(\"uploading1\"),\r\n    html: T(\"uploading1sub\"),\r\n    allowOutsideClick: false,\r\n    didOpen: function(){ Swal.showLoading(); }\r\n  });\r\n  var tempFilename = \"abj_photo_\" + Date.now();\r\n  var uploads = [ uploadFile(photoBase64, tempFilename + \"_photo\") ];\r\n  uploads.push( passportBase64 ? uploadFile(passportBase64, tempFilename + \"_passport\") : Promise.resolve(\"\") );\r\n  uploads.push( tm30Base64     ? uploadFile(tm30Base64,     tempFilename + \"_tm30\")     : Promise.resolve(\"\") );\r\n  Promise.all(uploads)\r\n    .then(function(urls){\r\n      Swal.fire({\r\n        title: T(\"uploading2\"),\r\n        html: T(\"uploading2sub\"),\r\n        allowOutsideClick: false,\r\n        didOpen: function(){ Swal.showLoading(); }\r\n      });\r\n      submitForm(urls[0], btn, urls[1], urls[2]);\r\n    })\r\n    .catch(function(err){\r\n      Swal.fire({\r\n        icon: \"warning\",\r\n        title: T(\"uploadFail\"),\r\n        html: \"<p style='font-size:14px'>\"+esc2(err.message)+\"<\/p>\" +\r\n              \"<p style='font-size:13px;margin-top:8px;color:#888'>\"+(LANG===\"en\"?\"Continue without files?\":\"\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e15\u0e48\u0e2d\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e21\u0e35\u0e44\u0e1f\u0e25\u0e4c\u0e41\u0e19\u0e1a?\")+\"<\/p>\",\r\n        showCancelButton: true,\r\n        confirmButtonText: LANG===\"en\"?\"Continue\":\"\u0e2a\u0e48\u0e07\u0e15\u0e48\u0e2d\",\r\n        cancelButtonText:  LANG===\"en\"?\"Cancel\":\"\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01\",\r\n        confirmButtonColor: \"#AD4970\"\r\n      }).then(function(result){\r\n        if(result.isConfirmed){\r\n          Swal.fire({ title:T(\"uploading2\"), html:T(\"uploading2sub\"), allowOutsideClick:false, didOpen:function(){ Swal.showLoading(); } });\r\n          submitForm(\"\", btn, \"\", \"\");\r\n        } else {\r\n          btn.disabled = false;\r\n        }\r\n      });\r\n    });\r\n}\r\nfunction uploadFile(base64, filename){\r\n  if(!base64) return Promise.resolve(\"\");\r\n  var b64 = base64.replace(\/^data:[^;]+;base64,\/, \"\");\r\n  var form = new FormData();\r\n  form.append(\"key\",   IMGBB_KEY);\r\n  form.append(\"image\", b64);\r\n  form.append(\"name\",  filename);\r\n  return fetch(\"https:\/\/api.imgbb.com\/1\/upload\", { method:\"POST\", body:form })\r\n    .then(function(r){ if(!r.ok) throw new Error(\"ImgBB HTTP \"+r.status); return r.json(); })\r\n    .then(function(data){\r\n      if(!data.success) throw new Error(data.error && data.error.message || \"Upload failed\");\r\n      return data.data.url;\r\n    });\r\n}\r\nfunction submitForm(imageUrl, btn, passportUrl, tm30Url){\r\n  var cbName   = \"regCb_\" + Date.now();\r\n  var scriptEl = null;\r\n  var timer = setTimeout(function(){\r\n    cleanup(); btn.disabled = false;\r\n    Swal.fire({icon:\"error\",title:T(\"timeout\"),text:T(\"timeoutMsg\"),confirmButtonColor:\"#AD4970\"});\r\n  }, 30000);\r\n  function cleanup(){\r\n    clearTimeout(timer);\r\n    delete window[cbName];\r\n    if(scriptEl && scriptEl.parentNode) scriptEl.parentNode.removeChild(scriptEl);\r\n  }\r\n  window[cbName] = function(data){\r\n    cleanup();\r\n    Swal.close();\r\n    btn.disabled = false;\r\n    if(data.ok){\r\n      var successHtml =\r\n      \"<p style='margin-bottom:6px'>\"+(LANG===\"en\"?\"Welcome, \":\"\u0e22\u0e34\u0e19\u0e14\u0e35\u0e15\u0e49\u0e2d\u0e19\u0e23\u0e31\u0e1a \")+\"<strong>\"+esc2(data.name)+\"<\/strong><\/p>\" +\r\n      \"<p style='font-size:13px;color:#888;margin-bottom:12px'>\"+T(\"successDate\")+\": \"+esc2(data.regDate)+\" | \"+T(\"successSeq\")+\": \"+esc2(String(data.seqNo))+\"<\/p>\" +\r\n      \"<p style='font-size:14px;margin-bottom:6px'>\"+T(\"successCodeLabel\")+\"<\/p>\" +\r\n      \"<div class='code-display'>\"+esc2(data.tempCode)+\"<\/div>\" +\r\n      \"<p style='font-size:13px;color:#AD4970;margin-top:10px'>\"+T(\"successCodeNote\")+\"<\/p>\";\r\n    Swal.fire({\r\n        icon: \"success\",\r\n        title: T(\"successTitle\"),\r\n        html: successHtml,\r\n        confirmButtonText: T(\"successConfirm\"),\r\n        confirmButtonColor: \"#AD4970\",\r\n        allowOutsideClick: false\r\n      }).then(function(){ resetForm(); });\r\n    } else {\r\n      Swal.fire({icon:\"error\",title:T(\"errTitle\"),text:data.message||T(\"retry\"),confirmButtonColor:\"#AD4970\"});\r\n    }\r\n  };\r\n  var params = {\r\n    action:\"register\", prefix:document.getElementById(\"prefix\").value,\r\n    firstName:document.getElementById(\"firstName\").value.trim(),\r\n    lastName:document.getElementById(\"lastName\").value.trim(),\r\n    temple:(document.getElementById(\"temple\") && document.getElementById(\"temple\").value.trim()) || \"\",\r\n    birthdate:document.getElementById(\"birthdate\").value,\r\n    phone:document.getElementById(\"phone\").value.trim(),\r\n    education:document.getElementById(\"education\").value,\r\n    pali:document.getElementById(\"pali\").value,\r\n    dhamma:document.getElementById(\"dhamma\").value,\r\n    address:document.getElementById(\"address\").value.trim(),\r\n    soi:document.getElementById(\"soi\").value.trim(),\r\n    subdistrict:document.getElementById(\"subdistrict\").value.trim(),\r\n    district:document.getElementById(\"district\").value.trim(),\r\n    province:document.getElementById(\"province\").value,\r\n    postalCode:document.getElementById(\"postalCode\").value.trim(),\r\n    serviceLocation:document.getElementById(\"serviceLocation\").value,\r\n    imageUrl:imageUrl,\r\n    passportUrl:passportUrl||\"\",\r\n    tm30Url:tm30Url||\"\",\r\n    callback:cbName\r\n  };\r\n  var qs = Object.keys(params).map(function(k){\r\n    return encodeURIComponent(k)+\"=\"+encodeURIComponent(params[k]);\r\n  }).join(\"&\");\r\n  scriptEl = document.createElement(\"script\");\r\n  scriptEl.src = GAS_URL + \"?\" + qs;\r\n  scriptEl.onerror = function(){\r\n    cleanup(); Swal.close(); btn.disabled = false;\r\n    Swal.fire({icon:\"error\",title:T(\"connErr\"),text:T(\"connErrMsg\"),confirmButtonColor:\"#AD4970\"});\r\n  };\r\n  document.body.appendChild(scriptEl);\r\n}\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ Reset form\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nfunction resetForm(){\r\n  document.getElementById(\"regForm\").reset();\r\n  photoBase64 = \"\";\r\n  document.getElementById(\"photoImg\").style.display = \"none\";\r\n  document.getElementById(\"photoImg\").src = \"\";\r\n  document.getElementById(\"photoPlaceholder\").style.display = \"\";\r\n  passportBase64 = \"\"; tm30Base64 = \"\";\r\n  var pn = document.getElementById(\"passportName\"); if(pn){ pn.style.display=\"none\"; pn.textContent=\"\"; }\r\n  var tn = document.getElementById(\"tm30Name\"); if(tn){ tn.style.display=\"none\"; tn.textContent=\"\"; }\r\n  document.getElementById(\"birthdate\").value = \"\";\r\n  var distSel = document.getElementById(\"district\");\r\n  var subSel  = document.getElementById(\"subdistrict\");\r\n  if(distSel && distSel.tagName===\"SELECT\"){ distSel.innerHTML='<option value=\"\">'+T(\"selDistrictWait\")+'<\/option>'; distSel.disabled=true; }\r\n  if(subSel  && subSel.tagName ===\"SELECT\"){ subSel.innerHTML ='<option value=\"\">'+T(\"selSubWait\")+'<\/option>';     subSel.disabled=true; }\r\n  document.getElementById(\"postalCode\").value = \"\";\r\n  document.getElementById(\"serviceLocationAddr\").style.display = \"none\";\r\n  var chkRes = document.getElementById(\"checkResult\");\r\n  if(chkRes){ chkRes.style.display=\"none\"; chkRes.className=\"check-result\"; chkRes.innerHTML=\"\"; }\r\n  document.getElementById(\"checkCodeInput\").value = \"\";\r\n  onPrefixChange();\r\n  window.scrollTo({top:0, behavior:\"smooth\"});\r\n}\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ Validate\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nfunction validate(){\r\n  var errs = [];\r\n  if(!document.getElementById(\"prefix\").value)           errs.push(T(\"vPrefix\"));\r\n  if(!document.getElementById(\"firstName\").value.trim())  errs.push(T(\"vFirstName\"));\r\n  if(!document.getElementById(\"birthdate\").value)         errs.push(T(\"vBirth\"));\r\n  if(!document.getElementById(\"phone\").value.trim())      errs.push(T(\"vPhone\"));\r\n  if(!document.getElementById(\"address\").value.trim())    errs.push(T(\"vAddress\"));\r\n  if(!document.getElementById(\"province\").value)          errs.push(T(\"vProvince\"));\r\n  if(!document.getElementById(\"district\").value)          errs.push(T(\"vDistrict\"));\r\n  if(!document.getElementById(\"subdistrict\").value)       errs.push(T(\"vSubdistrict\"));\r\n  var pc = document.getElementById(\"postalCode\").value.trim();\r\n  if(!\/^\\d{5}$\/.test(pc))                                 errs.push(T(\"vPostal\"));\r\n  if(!document.getElementById(\"serviceLocation\").value)   errs.push(T(\"vService\"));\r\n  if(!photoBase64)                                        errs.push(T(\"vPhoto\"));\r\n  if(!document.getElementById(\"consent\").checked)         errs.push(T(\"vConsent\"));\r\n  if(errs.length){\r\n    Swal.fire({\r\n      icon:\"warning\", title:T(\"validTitle\"),\r\n      html:\"<ul style='text-align:left;padding-left:18px;font-size:14px;line-height:2'>\"+\r\n           errs.map(function(e){ return \"<li>\"+esc2(e)+\"<\/li>\"; }).join(\"\")+\"<\/ul>\",\r\n      confirmButtonColor:\"#AD4970\"\r\n    });\r\n    return false;\r\n  }\r\n  return true;\r\n}\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nfunction doCheckStatus(){\r\n  var code = document.getElementById(\"checkCodeInput\").value.trim().toUpperCase();\r\n  var resEl = document.getElementById(\"checkResult\");\r\n  var btn   = document.getElementById(\"btnCheck\");\r\n  if(!code){\r\n    resEl.className = \"check-result not-found\";\r\n    resEl.style.display = \"block\";\r\n    resEl.innerHTML = \"\u26a0\ufe0f \" + (LANG===\"en\" ? \"Please enter a registration code.\" : \"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e01\u0e23\u0e2d\u0e01\u0e23\u0e2b\u0e31\u0e2a\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27\u0e01\u0e48\u0e2d\u0e19\");\r\n    return;\r\n  }\r\n  btn.disabled = true;\r\n  resEl.className = \"check-result\";\r\n  resEl.style.display = \"block\";\r\n  resEl.innerHTML = \"\u23f3 \" + (LANG===\"en\" ? \"Searching\u2026\" : \"\u0e01\u0e33\u0e25\u0e31\u0e07\u0e04\u0e49\u0e19\u0e2b\u0e32\u2026\");\r\n  var cbName   = \"chkCb_\" + Date.now();\r\n  var scriptEl = null;\r\n  var timer    = setTimeout(function(){\r\n    cleanup();\r\n    btn.disabled = false;\r\n    resEl.className = \"check-result not-found\";\r\n    resEl.innerHTML = \"\u26a0\ufe0f \" + (LANG===\"en\" ? \"Request timed out. Please try again.\" : \"\u0e2b\u0e21\u0e14\u0e40\u0e27\u0e25\u0e32\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d \u0e01\u0e23\u0e38\u0e13\u0e32\u0e25\u0e2d\u0e07\u0e43\u0e2b\u0e21\u0e48\");\r\n  }, 20000);\r\n  function cleanup(){\r\n    clearTimeout(timer);\r\n    delete window[cbName];\r\n    if(scriptEl && scriptEl.parentNode) scriptEl.parentNode.removeChild(scriptEl);\r\n  }\r\n  window[cbName] = function(data){\r\n    cleanup();\r\n    btn.disabled = false;\r\n    if(data.ok){\r\n      resEl.className = \"check-result found\";\r\n      var isLang = LANG === \"en\";\r\n      var L = function(th,en){ return isLang ? en : th; };\r\n      resEl.innerHTML =\r\n        \"<div style='font-weight:700;font-size:15px;margin-bottom:10px;color:#1a6633'>\u2705 \"+L(\"\u0e1e\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23\",\"Registration found\")+\"<\/div>\" +\r\n        \"<div class='check-result-code'>\"+esc2(code)+\"<\/div>\" +\r\n        \"<div style='margin-top:12px'>\" +\r\n        ckRow(L(\"\u0e0a\u0e37\u0e48\u0e2d-\u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25\",\"Full Name\"),     data.name) +\r\n        ckRow(L(\"\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e43\u0e1a\u0e2a\u0e21\u0e31\u0e04\u0e23\",\"Registration No.\"), String(data.seqNo||\"\")) +\r\n        ckRow(L(\"\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e21\u0e31\u0e04\u0e23\",\"Date\"),             String(data.regDate||\"\")) +\r\n        (data.serviceLocation ? ckRow(L(\"\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\",\"Location\"), data.serviceLocation) : \"\") +\r\n        \"<\/div>\" +\r\n        \"<div style='margin-top:12px;font-size:13px;color:#2e7d52'>\"+\r\n          L(\"\ud83d\udccc \u0e01\u0e23\u0e38\u0e13\u0e32\u0e41\u0e08\u0e49\u0e07\u0e23\u0e2b\u0e31\u0e2a\u0e19\u0e35\u0e49\u0e41\u0e01\u0e48\u0e40\u0e08\u0e49\u0e32\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e43\u0e19\u0e27\u0e31\u0e19\u0e2a\u0e21\u0e31\u0e04\u0e23\",\r\n            \"\ud83d\udccc Please present this code to staff on registration day\")+\"<\/div>\";\r\n    } else {\r\n      resEl.className = \"check-result not-found\";\r\n      resEl.innerHTML =\r\n        \"<div style='font-weight:700;font-size:15px;margin-bottom:6px;color:#8b1a1a'>\u274c \"+\r\n        (LANG===\"en\"?\"Registration not found\":\"\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23\")+\"<\/div>\" +\r\n        \"<div style='font-size:14px;margin-top:4px'>\"+\r\n        (LANG===\"en\"?\"Please check the code and try again. Code entered: <strong>\"+esc2(code)+\"<\/strong>\"\r\n                    :\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e23\u0e2b\u0e31\u0e2a\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07 \u0e23\u0e2b\u0e31\u0e2a\u0e17\u0e35\u0e48\u0e01\u0e23\u0e2d\u0e01: <strong>\"+esc2(code)+\"<\/strong>\")+\"<\/div>\";\r\n    }\r\n  };\r\n  scriptEl = document.createElement(\"script\");\r\n  scriptEl.src = GAS_URL + \"?action=check&code=\" + encodeURIComponent(code) + \"&callback=\" + encodeURIComponent(cbName);\r\n  scriptEl.onerror = function(){\r\n    cleanup(); btn.disabled = false;\r\n    resEl.className = \"check-result not-found\";\r\n    resEl.innerHTML = \"\u26a0\ufe0f \" + (LANG===\"en\" ? \"Connection error. Please try again.\" : \"\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49 \u0e01\u0e23\u0e38\u0e13\u0e32\u0e25\u0e2d\u0e07\u0e43\u0e2b\u0e21\u0e48\");\r\n  };\r\n  document.body.appendChild(scriptEl);\r\n}\r\nfunction ckRow(label, value){\r\n  return '<div class=\"check-result-row\"><div class=\"check-result-label\">'+esc2(label)+'<\/div><div class=\"check-result-value\">'+esc2(value||\"\u2014\")+'<\/div><\/div>';\r\n}\r\n\/\/ Enter \u0e43\u0e19\u0e0a\u0e48\u0e2d\u0e07\u0e01\u0e23\u0e2d\u0e01\u0e23\u0e2b\u0e31\u0e2a\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e16\u0e32\u0e19\u0e30\r\ndocument.getElementById(\"checkCodeInput\").addEventListener(\"keydown\", function(e){\r\n  if(e.key === \"Enter\"){ e.preventDefault(); doCheckStatus(); }\r\n});\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ i18n\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nvar LANG = \"th\";\r\nvar I18N = {\r\n  th: {\r\n    heroTitle:\"\u0e41\u0e1a\u0e1a\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e40\u0e23\u0e35\u0e22\u0e19\u0e1e\u0e23\u0e30\u0e2d\u0e20\u0e34\u0e18\u0e23\u0e23\u0e21\",\r\n    heroSub:\"\u0e01\u0e23\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e43\u0e2b\u0e49\u0e04\u0e23\u0e1a\u0e16\u0e49\u0e27\u0e19 \u2014 \u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e2d\u0e2d\u0e01\u0e23\u0e2b\u0e31\u0e2a\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27\u0e43\u0e2b\u0e49\u0e2b\u0e25\u0e31\u0e07\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\",\r\n    secPersonal:\"\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27\", secAddress:\"\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\",\r\n    secLocation:\"\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e43\u0e01\u0e25\u0e49\u0e1a\u0e49\u0e32\u0e19 (\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23)\", secPayment:\"\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e33\u0e04\u0e31\u0e0d\",\r\n    secPhoto:\"\u0e23\u0e39\u0e1b\u0e16\u0e48\u0e32\u0e22\", secCheck:\"\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23\",\r\n    lbPrefix:\"\u0e04\u0e33\u0e19\u0e33\u0e2b\u0e19\u0e49\u0e32\", firstNameLabel:\"\u0e0a\u0e37\u0e48\u0e2d\", lastNameLabel:\"\u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25\",\r\n    lbTemple:\"\u0e27\u0e31\u0e14 \/ \u0e2a\u0e33\u0e19\u0e31\u0e01\", lbBirthdate:\"\u0e27\u0e31\u0e19\u0e40\u0e14\u0e37\u0e2d\u0e19\u0e1b\u0e35\u0e40\u0e01\u0e34\u0e14 (\u0e1e.\u0e28.)\", lbPhone:\"\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\",\r\n    lbEducation:\"\u0e27\u0e38\u0e12\u0e34\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32\u0e2a\u0e32\u0e21\u0e31\u0e0d\", lbPali:\"\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e0d\u0e18\u0e23\u0e23\u0e21 (\u0e1a\u0e32\u0e25\u0e35)\",\r\n    lbDhamma:\"\u0e19\u0e31\u0e01\u0e18\u0e23\u0e23\u0e21 \/ \u0e18\u0e23\u0e23\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\", lbAddress:\"\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\", lbSoi:\"\u0e0b\u0e2d\u0e22 \/ \u0e2b\u0e21\u0e39\u0e48\",\r\n    lbProvince:\"\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14\", lbDistrict:\"\u0e2d\u0e33\u0e40\u0e20\u0e2d \/ \u0e40\u0e02\u0e15\", lbSubdistrict:\"\u0e15\u0e33\u0e1a\u0e25 \/ \u0e41\u0e02\u0e27\u0e07\",\r\n    lbPostal:\"\u0e23\u0e2b\u0e31\u0e2a\u0e44\u0e1b\u0e23\u0e29\u0e13\u0e35\u0e22\u0e4c\", lbServiceLocation:\"\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e2a\u0e30\u0e14\u0e27\u0e01\u0e40\u0e14\u0e34\u0e19\u0e17\u0e32\u0e07\",\r\n    lbCheckCode:\"\u0e01\u0e23\u0e2d\u0e01\u0e23\u0e2b\u0e31\u0e2a\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27\u0e17\u0e35\u0e48\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2b\u0e25\u0e31\u0e07\u0e2a\u0e21\u0e31\u0e04\u0e23\",\r\n    phCheckCode:\"0001\",\r\n    paymentNoteText:\"\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e2a\u0e2d\u0e1a\u0e16\u0e32\u0e21\", lineBtnText:\"\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d LINE Official Account\",\r\n    btnPhoto:\"\ud83d\udcf7 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e\", photoPlaceholderText:\"\u0e04\u0e25\u0e34\u0e01\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\",\r\n    photoHint:\"\u2022 \u0e23\u0e39\u0e1b\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e23\u0e07 \u0e02\u0e19\u0e32\u0e14 1 \u0e19\u0e34\u0e49\u0e27 \u0e2b\u0e23\u0e37\u0e2d 3x4 \u0e0b\u0e21.<br>\u2022 \u0e44\u0e1f\u0e25\u0e4c JPG, PNG \u0e02\u0e19\u0e32\u0e14\u0e44\u0e21\u0e48\u0e40\u0e01\u0e34\u0e19 10 MB<br>\u2022 \u0e41\u0e15\u0e48\u0e07\u0e01\u0e32\u0e22\u0e2a\u0e38\u0e20\u0e32\u0e1e \/ \u0e04\u0e23\u0e2d\u0e07\u0e08\u0e35\u0e27\u0e23\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e1e\u0e23\u0e30\u0e2a\u0e07\u0e06\u0e4c\",\r\n    uploadProgress:\"\u23f3 \u0e01\u0e33\u0e25\u0e31\u0e07\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e23\u0e39\u0e1b\u2026\",\r\n    consentText:\"\u0e02\u0e49\u0e32\u0e1e\u0e40\u0e08\u0e49\u0e32\u0e22\u0e34\u0e19\u0e22\u0e2d\u0e21\u0e43\u0e2b\u0e49\u0e2d\u0e20\u0e34\u0e18\u0e23\u0e23\u0e21\u0e42\u0e0a\u0e15\u0e34\u0e01\u0e30\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22 \u0e21\u0e2b\u0e32\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22\u0e21\u0e2b\u0e32\u0e08\u0e38\u0e2c\u0e32\u0e25\u0e07\u0e01\u0e23\u0e13\u0e23\u0e32\u0e0a\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22 \u0e40\u0e01\u0e47\u0e1a\u0e23\u0e27\u0e1a\u0e23\u0e27\u0e21\u0e41\u0e25\u0e30\u0e43\u0e0a\u0e49\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e1a\u0e38\u0e04\u0e04\u0e25\u0e17\u0e35\u0e48\u0e43\u0e2b\u0e49\u0e44\u0e27\u0e49\u0e43\u0e19\u0e41\u0e1a\u0e1a\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e19\u0e35\u0e49 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e27\u0e31\u0e15\u0e16\u0e38\u0e1b\u0e23\u0e30\u0e2a\u0e07\u0e04\u0e4c\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e40\u0e23\u0e35\u0e22\u0e19 \u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e2a\u0e37\u0e48\u0e2d\u0e2a\u0e32\u0e23 \u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32 \u0e15\u0e32\u0e21\u0e1e\u0e23\u0e30\u0e23\u0e32\u0e0a\u0e1a\u0e31\u0e0d\u0e0d\u0e31\u0e15\u0e34\u0e04\u0e38\u0e49\u0e21\u0e04\u0e23\u0e2d\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e1a\u0e38\u0e04\u0e04\u0e25 \u0e1e.\u0e28. \u0e52\u0e55\u0e56\u0e52\",\r\n    consentLabel:'\u0e02\u0e49\u0e32\u0e1e\u0e40\u0e08\u0e49\u0e32\u0e2d\u0e48\u0e32\u0e19\u0e41\u0e25\u0e30\u0e22\u0e34\u0e19\u0e22\u0e2d\u0e21\u0e15\u0e32\u0e21\u0e40\u0e07\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e02\u0e02\u0e49\u0e32\u0e07\u0e15\u0e49\u0e19 <span style=\"color:var(--mcru)\">*<\/span>',\r\n    submitBtn:\"\ud83d\udd0d \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e48\u0e2d\u0e19\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\",\r\n    formNote:'* \u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a\u0e01\u0e23\u0e2d\u0e01 &nbsp;|&nbsp; \u0e2b\u0e25\u0e31\u0e07\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e41\u0e2a\u0e14\u0e07 <strong>\u0e23\u0e2b\u0e31\u0e2a\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27<\/strong> \u0e42\u0e1b\u0e23\u0e14\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e44\u0e27\u0e49',\r\n    rvTitle:\"\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e48\u0e2d\u0e19\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\", rvSubtitle:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e43\u0e2b\u0e49\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e48\u0e2d\u0e19\u0e01\u0e14\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\",\r\n    rvBack:\"\u0e41\u0e01\u0e49\u0e44\u0e02\", rvConfirm:\"\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23\",\r\n    checkBtnText:\"\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\", dividerCheckText:\"\u2014 \u0e2b\u0e23\u0e37\u0e2d\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23 \u2014\",\r\n    phFirstName:\"\u0e0a\u0e37\u0e48\u0e2d \/ \u0e09\u0e32\u0e22\u0e32\", phLastName:\"\u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25\", phTemple:\"\u0e0a\u0e37\u0e48\u0e2d\u0e27\u0e31\u0e14 \/ \u0e2a\u0e33\u0e19\u0e31\u0e01\",\r\n    phAddress:\"\u0e1a\u0e49\u0e32\u0e19\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\", phSoi:\"\u0e0b\u0e2d\u0e22 \/ \u0e2b\u0e21\u0e39\u0e48\u0e1a\u0e49\u0e32\u0e19\", phProvince:\"\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14\", phDistrict:\"\u0e2d\u0e33\u0e40\u0e20\u0e2d\/\u0e40\u0e02\u0e15\", phSubdistrict:\"\u0e15\u0e33\u0e1a\u0e25\/\u0e41\u0e02\u0e27\u0e07\", phPostal:\"\u0e40\u0e15\u0e34\u0e21\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\",\r\n    bdDay:\"\u0e27\u0e31\u0e19\", bdMonth:\"\u0e40\u0e14\u0e37\u0e2d\u0e19\", bdYear:\"\u0e1b\u0e35 \u0e1e.\u0e28.\",\r\n    selProvince:\"\u2014 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14 \u2014\", selDistrict:\"\u2014 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e33\u0e40\u0e20\u0e2d\/\u0e40\u0e02\u0e15 \u2014\",\r\n    selDistrictWait:\"\u2014 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14\u0e01\u0e48\u0e2d\u0e19 \u2014\", selSubdistrict:\"\u2014 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e15\u0e33\u0e1a\u0e25\/\u0e41\u0e02\u0e27\u0e07 \u2014\",\r\n    selSubWait:\"\u2014 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e33\u0e40\u0e20\u0e2d\u0e01\u0e48\u0e2d\u0e19 \u2014\", selService:\"\u2014 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23 \u2014\",\r\n    photoWrongType:\"\u0e0a\u0e19\u0e34\u0e14\u0e44\u0e1f\u0e25\u0e4c\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\", photoWrongTypeMsg:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e23\u0e39\u0e1b JPG \u0e2b\u0e23\u0e37\u0e2d PNG \u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19\",\r\n    photoTooBig:\"\u0e44\u0e1f\u0e25\u0e4c\u0e43\u0e2b\u0e0d\u0e48\u0e40\u0e01\u0e34\u0e19\u0e44\u0e1b\", photoTooBigMsg:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e23\u0e39\u0e1b\u0e02\u0e19\u0e32\u0e14\u0e44\u0e21\u0e48\u0e40\u0e01\u0e34\u0e19 10 MB\",\r\n    uploading1:\"\u0e01\u0e33\u0e25\u0e31\u0e07\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e\u2026\", uploading1sub:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e23\u0e2d\u0e2a\u0e31\u0e01\u0e04\u0e23\u0e39\u0e48 (\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19 1\/2)\",\r\n    uploading2:\"\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u2026\", uploading2sub:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e23\u0e2d\u0e2a\u0e31\u0e01\u0e04\u0e23\u0e39\u0e48 (\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19 2\/2)\",\r\n    uploadFail:\"\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e23\u0e39\u0e1b\u0e44\u0e21\u0e48\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\", timeout:\"\u0e2b\u0e21\u0e14\u0e40\u0e27\u0e25\u0e32\",\r\n    timeoutMsg:\"\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e15\u0e2d\u0e1a\u0e01\u0e25\u0e31\u0e1a\u0e08\u0e32\u0e01\u0e23\u0e30\u0e1a\u0e1a \u0e01\u0e23\u0e38\u0e13\u0e32\u0e25\u0e2d\u0e07\u0e43\u0e2b\u0e21\u0e48\",\r\n    connErr:\"\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\", connErrMsg:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15\u0e41\u0e25\u0e49\u0e27\u0e25\u0e2d\u0e07\u0e43\u0e2b\u0e21\u0e48\",\r\n    errTitle:\"\u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\", retry:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e25\u0e2d\u0e07\u0e43\u0e2b\u0e21\u0e48\",\r\n    successTitle:\"\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e40\u0e23\u0e35\u0e22\u0e19\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08! \ud83c\udf89\", successDate:\"\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e21\u0e31\u0e04\u0e23\", successSeq:\"\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\",\r\n    successCodeLabel:\"\u0e23\u0e2b\u0e31\u0e2a\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27\u0e02\u0e2d\u0e07\u0e17\u0e48\u0e32\u0e19\u0e04\u0e37\u0e2d\",\r\n    successCodeNote:\"\ud83d\udccc \u0e01\u0e23\u0e38\u0e13\u0e32\u0e08\u0e14\u0e23\u0e2b\u0e31\u0e2a\u0e19\u0e35\u0e49\u0e44\u0e27\u0e49 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e15\u0e31\u0e27\u0e15\u0e19\u0e43\u0e19\u0e27\u0e31\u0e19\u0e2a\u0e21\u0e31\u0e04\u0e23\",\r\n    successConfirm:\"\u0e23\u0e31\u0e1a\u0e17\u0e23\u0e32\u0e1a \u2713\",\r\n    validTitle:\"\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e21\u0e48\u0e04\u0e23\u0e1a\u0e16\u0e49\u0e27\u0e19\",\r\n    vPrefix:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e04\u0e33\u0e19\u0e33\u0e2b\u0e19\u0e49\u0e32\", vFirstName:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e01\u0e23\u0e2d\u0e01\u0e0a\u0e37\u0e48\u0e2d\/\u0e09\u0e32\u0e22\u0e32\",\r\n    vBirth:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e27\u0e31\u0e19\u0e40\u0e14\u0e37\u0e2d\u0e19\u0e1b\u0e35\u0e40\u0e01\u0e34\u0e14\u0e43\u0e2b\u0e49\u0e04\u0e23\u0e1a\", vPhone:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e01\u0e23\u0e2d\u0e01\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\",\r\n    vAddress:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e01\u0e23\u0e2d\u0e01\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\", vProvince:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14\",\r\n    vDistrict:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e33\u0e40\u0e20\u0e2d\/\u0e40\u0e02\u0e15\", vSubdistrict:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e15\u0e33\u0e1a\u0e25\/\u0e41\u0e02\u0e27\u0e07\",\r\n    vPostal:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e01\u0e23\u0e2d\u0e01\u0e23\u0e2b\u0e31\u0e2a\u0e44\u0e1b\u0e23\u0e29\u0e13\u0e35\u0e22\u0e4c 5 \u0e2b\u0e25\u0e31\u0e01\", vService:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19\u0e43\u0e01\u0e25\u0e49\u0e1a\u0e49\u0e32\u0e19\",\r\n    vConsent:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e22\u0e34\u0e19\u0e22\u0e2d\u0e21\u0e15\u0e32\u0e21\u0e40\u0e07\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e02\", vPhoto:\"\u0e01\u0e23\u0e38\u0e13\u0e32\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e23\u0e39\u0e1b\u0e16\u0e48\u0e32\u0e22\",\r\n    monkFirstName:\"\u0e0a\u0e37\u0e48\u0e2d \/ \u0e09\u0e32\u0e22\u0e32\", monkLastName:\"\u0e09\u0e32\u0e22\u0e32\",\r\n    optOpt:\"\u0e44\u0e21\u0e48\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a\", optLayEdu:\"\u0e17\u0e32\u0e07\u0e42\u0e25\u0e01 \u2014 \u0e44\u0e21\u0e48\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a\"\r\n  },\r\n  en: {\r\n    heroTitle:\"Abhidhamma Study Registration Form\",\r\n    heroSub:\"Please fill in all required fields \u2014 a temporary code will be issued upon completion\",\r\n    secPersonal:\"Personal Information\", secAddress:\"Current Address\",\r\n    secLocation:\"Nearest Study Center\", secPayment:\"Important Information\",\r\n    secPhoto:\"Photo\", secCheck:\"Check Registration Status\",\r\n    lbPrefix:\"Title \/ Prefix\", firstNameLabel:\"First Name\", lastNameLabel:\"Last Name\",\r\n    lbTemple:\"Temple \/ Monastery\", lbBirthdate:\"Date of Birth (B.E.)\", lbPhone:\"Phone Number\",\r\n    lbEducation:\"Secular Education\", lbPali:\"Pali Studies\", lbDhamma:\"Dhamma Studies\",\r\n    lbAddress:\"House No.\", lbSoi:\"Soi \/ Village\", lbProvince:\"Province\",\r\n    lbDistrict:\"District\", lbSubdistrict:\"Subdistrict\", lbPostal:\"Postal Code\",\r\n    lbServiceLocation:\"Select your nearest study center\",\r\n    lbCheckCode:\"Enter the temporary code received after registration\",\r\n    phCheckCode:\"0001\",\r\n    paymentNoteText:\"Contact for more information\", lineBtnText:\"Contact via LINE Official Account\",\r\n    btnPhoto:\"\ud83d\udcf7 Choose Photo\", photoPlaceholderText:\"Click to upload\",\r\n    photoHint:\"\u2022 Front-facing portrait, 1 inch or 3\u00d74 cm<br>\u2022 JPG or PNG, max 10 MB<br>\u2022 Smart attire \/ monastic robe for clergy\",\r\n    uploadProgress:\"\u23f3 Uploading photo\u2026\",\r\n    consentText:\"I consent to Abhidhamma Jotikavidyalaya, MCU collecting and using the personal data provided in this form for the purposes of study registration, communication, and student record management, in accordance with the Personal Data Protection Act B.E. 2562.\",\r\n    consentLabel:'I have read and agree to the above terms <span style=\"color:var(--mcru)\">*<\/span>',\r\n    submitBtn:\"\ud83d\udd0d Review Before Submitting\",\r\n    formNote:'* Required fields &nbsp;|&nbsp; A <strong>temporary registration code<\/strong> will be shown after successful submission',\r\n    rvTitle:\"Review Your Information\", rvSubtitle:\"Please verify all details before confirming\",\r\n    rvBack:\"Edit\", rvConfirm:\"Confirm Registration\",\r\n    checkBtnText:\"Search\", dividerCheckText:\"\u2014 or check registration status \u2014\",\r\n    phFirstName:\"First name \/ Religious name\", phLastName:\"Last name\",\r\n    phTemple:\"Temple \/ Monastery name\", phAddress:\"House number\",\r\n    phSoi:\"Soi \/ Village\", phProvince:\"Province\", phDistrict:\"District\", phSubdistrict:\"Subdistrict\", phPostal:\"Auto-filled\",\r\n    bdDay:\"Day\", bdMonth:\"Month\", bdYear:\"Year (B.E.)\",\r\n    selProvince:\"\u2014 Select province \u2014\", selDistrict:\"\u2014 Select district \u2014\",\r\n    selDistrictWait:\"\u2014 Select province first \u2014\", selSubdistrict:\"\u2014 Select subdistrict \u2014\",\r\n    selSubWait:\"\u2014 Select district first \u2014\", selService:\"\u2014 Select study center \u2014\",\r\n    photoWrongType:\"Invalid file type\", photoWrongTypeMsg:\"Please select a JPG or PNG image\",\r\n    photoTooBig:\"File too large\", photoTooBigMsg:\"Please select an image under 10 MB\",\r\n    uploading1:\"Uploading photo\u2026\", uploading1sub:\"Please wait (step 1\/2)\",\r\n    uploading2:\"Saving registration\u2026\", uploading2sub:\"Please wait (step 2\/2)\",\r\n    uploadFail:\"Photo upload failed\", timeout:\"Request timed out\",\r\n    timeoutMsg:\"No response from server. Please try again.\",\r\n    connErr:\"Connection error\", connErrMsg:\"Please check your internet connection and try again.\",\r\n    errTitle:\"An error occurred\", retry:\"Please try again\",\r\n    successTitle:\"Registration Successful! \ud83c\udf89\", successDate:\"Date\", successSeq:\"No.\",\r\n    successCodeLabel:\"Your temporary code is\",\r\n    successCodeNote:\"\ud83d\udccc Please note this code \u2014 you will need it on registration day\",\r\n    successConfirm:\"Acknowledged \u2713\",\r\n    validTitle:\"Incomplete information\",\r\n    vPrefix:\"Please select a title\/prefix\", vFirstName:\"Please enter your first name\",\r\n    vBirth:\"Please complete your date of birth\", vPhone:\"Please enter your phone number\",\r\n    vAddress:\"Please enter your house number\", vProvince:\"Please select a province\",\r\n    vDistrict:\"Please select a district\", vSubdistrict:\"Please select a subdistrict\",\r\n    vPostal:\"Please enter a valid 5-digit postal code\", vService:\"Please select a study center\",\r\n    vConsent:\"Please agree to the terms\", vPhoto:\"Please upload a photo\",\r\n    monkFirstName:\"First name \/ Religious name\", monkLastName:\"Religious name\",\r\n    optOpt:\"optional\", optLayEdu:\"secular \u2014 optional\"\r\n  }\r\n};\r\nfunction T(key){ return (I18N[LANG] && I18N[LANG][key]) || (I18N[\"th\"][key]) || key; }\r\nfunction setLanguage(lang){\r\n  LANG = lang;\r\n  document.getElementById(\"btnTH\").className = lang===\"th\" ? \"active\" : \"inactive\";\r\n  document.getElementById(\"btnEN\").className = lang===\"en\" ? \"active\" : \"inactive\";\r\n  function setLabel(id, key, req, optText){\r\n    var el = document.getElementById(id); if(!el) return;\r\n    var txt = T(key);\r\n    if(req)     txt += ' <span class=\"req\">*<\/span>';\r\n    if(optText) txt += ' <span class=\"opt\">('+optText+')<\/span>';\r\n    el.innerHTML = txt;\r\n  }\r\n  function setText(id, key){ var el=document.getElementById(id); if(!el) return; el.textContent=T(key); }\r\n  function setHTML(id, key){ var el=document.getElementById(id); if(!el) return; el.innerHTML=T(key); }\r\n  setText(\"heroTitle\",\"heroTitle\"); setText(\"heroSub\",\"heroSub\");\r\n  setText(\"secPersonal\",\"secPersonal\"); setText(\"secAddress\",\"secAddress\");\r\n  setLabel(\"secLocation\",\"secLocation\",true);\r\n  setText(\"secPayment\",\"secPayment\"); setLabel(\"secPhoto\",\"secPhoto\",true);\r\n  setText(\"secCheck\",\"secCheck\");\r\n  setLabel(\"lbPrefix\",\"lbPrefix\",true);\r\n  setLabel(\"firstNameLabel\",\"firstNameLabel\",true);\r\n  setText(\"lastNameLabel\",\"lastNameLabel\");\r\n  setText(\"lbTemple\",\"lbTemple\");\r\n  setLabel(\"lbBirthdate\",\"lbBirthdate\",true);\r\n  setLabel(\"lbPhone\",\"lbPhone\",true);\r\n  setLabel(\"lbEducation\",\"lbEducation\",false,T(\"optLayEdu\"));\r\n  setLabel(\"lbPali\",\"lbPali\",false,T(\"optOpt\"));\r\n  setLabel(\"lbDhamma\",\"lbDhamma\",false,T(\"optOpt\"));\r\n  setLabel(\"lbAddress\",\"lbAddress\",true);\r\n  setLabel(\"lbSoi\",\"lbSoi\",false,lang===\"th\"?\"\u0e16\u0e49\u0e32\u0e21\u0e35\":\"if any\");\r\n  setLabel(\"lbProvince\",\"lbProvince\",true);\r\n  setLabel(\"lbDistrict\",\"lbDistrict\",true);\r\n  setLabel(\"lbSubdistrict\",\"lbSubdistrict\",true);\r\n  setLabel(\"lbPostal\",\"lbPostal\",true);\r\n  setLabel(\"lbServiceLocation\",\"lbServiceLocation\",true);\r\n  setLabel(\"lbCheckCode\",\"lbCheckCode\",true);\r\n  setText(\"paymentNoteText\",\"paymentNoteText\");\r\n  setText(\"btnPhoto\",\"btnPhoto\"); setHTML(\"photoHint\",\"photoHint\");\r\n  setText(\"uploadProgress\",\"uploadProgress\");\r\n  setText(\"photoPlaceholderText\",\"photoPlaceholderText\");\r\n  setHTML(\"consentText\",\"consentText\"); setHTML(\"consentLabel\",\"consentLabel\");\r\n  setHTML(\"formNote\",\"formNote\");\r\n  setText(\"checkBtnText\",\"checkBtnText\");\r\n  setText(\"dividerCheckText\",\"dividerCheckText\");\r\n  setText(\"rvTitle\",\"rvTitle\"); setText(\"rvSubtitle\",\"rvSubtitle\");\r\n  setText(\"rvBack\",\"rvBack\"); setText(\"rvConfirm\",\"rvConfirm\");\r\n  setHTML(\"submitBtnText\",\"submitBtn\");\r\n  \/\/ placeholder\r\n  function setPH(id, key){ var el=document.getElementById(id); if(!el) return; el.placeholder=T(key); }\r\n  setPH(\"firstName\",\"phFirstName\"); setPH(\"lastName\",\"phLastName\");\r\n  var templeEl=document.getElementById(\"temple\"); if(templeEl) templeEl.placeholder=T(\"phTemple\");\r\n  setPH(\"address\",\"phAddress\"); setPH(\"soi\",\"phSoi\"); setPH(\"province\",\"phProvince\"); setPH(\"district\",\"phDistrict\"); setPH(\"subdistrict\",\"phSubdistrict\"); setPH(\"postalCode\",\"phPostal\");\r\n  setPH(\"checkCodeInput\",\"phCheckCode\");\r\n  \/\/ birthdate dropdowns\r\n  var dayEl=document.getElementById(\"birthDay\"), monEl=document.getElementById(\"birthMonth\"), yearEl=document.getElementById(\"birthYear\");\r\n  if(dayEl && monEl && yearEl){\r\n    var savedD=dayEl.value, savedM=monEl.value, savedY=yearEl.value;\r\n    var dHtml='<option value=\"\">'+T(\"bdDay\")+'<\/option>';\r\n    for(var d=1;d<=31;d++) dHtml+='<option value=\"'+pad2(d)+'\">'+d+'<\/option>';\r\n    dayEl.innerHTML=dHtml; dayEl.value=savedD;\r\n    var MONTHS_EN=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];\r\n    var mNames=lang===\"en\"?MONTHS_EN:MONTHS_TH;\r\n    var mHtml='<option value=\"\">'+T(\"bdMonth\")+'<\/option>';\r\n    mNames.forEach(function(n,i){ mHtml+='<option value=\"'+pad2(i+1)+'\">'+n+'<\/option>'; });\r\n    monEl.innerHTML=mHtml; monEl.value=savedM;\r\n    var yHtml='<option value=\"\">'+T(\"bdYear\")+'<\/option>';\r\n    var curBE=getBuddhistYear();\r\n    for(var y=curBE;y>=curBE-120;y--){\r\n      var label=(lang===\"en\")?(y-543):toThaiDigits(y);\r\n      yHtml+='<option value=\"'+y+'\">'+label+'<\/option>';\r\n    }\r\n    yearEl.innerHTML=yHtml; yearEl.value=savedY;\r\n  }\r\n  var distSel=document.getElementById(\"district\"), subSel=document.getElementById(\"subdistrict\");\r\n  if(distSel && distSel.options.length===1) distSel.options[0].text=T(distSel.disabled?\"selDistrictWait\":\"selDistrict\");\r\n  if(subSel  && subSel.options.length===1)  subSel.options[0].text =T(subSel.disabled ?\"selSubWait\":\"selSubdistrict\");\r\n  var provSel=document.getElementById(\"province\");\r\n  if(provSel && provSel.options.length===1) provSel.options[0].text=(lang===\"en\")?\"\u23f3 Loading\u2026\":\"\u23f3 \u0e01\u0e33\u0e25\u0e31\u0e07\u0e42\u0e2b\u0e25\u0e14\u2026\";\r\n  \/\/ \u0e1b\u0e35\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32\r\n  var badge=document.getElementById(\"academicYearBadge\");\r\n  if(badge){\r\n    var yr=getBuddhistYear();\r\n    badge.textContent=lang===\"en\"?\"\u2726 Academic Year \"+yr+\" \u2726\":\"\u2726 \u0e1b\u0e35\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32 \"+toThaiDigits(yr)+\" \u2726\";\r\n  }\r\n  document.documentElement.lang = lang===\"en\" ? \"en\" : \"th\";\r\n  \/\/ \u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e15\u0e48\u0e32\u0e07\u0e0a\u0e32\u0e15\u0e34\r\n  var fdCard=document.getElementById(\"foreignDocsCard\");\r\n  if(fdCard) fdCard.style.display=(lang===\"en\")?\"block\":\"none\";\r\n  var fd={\r\n    en:{secForeignDocs:\"Documents for Foreign Students\",\r\n        foreignDocsHint:\"For non-Thai applicants, please upload a copy of your Passport and TM.30 form (JPG\/PNG, max 10 MB each).\",\r\n        lbPassport:'Passport <span class=\"opt\">(optional)<\/span>',\r\n        lbTM30:'TM.30 <span class=\"opt\">(optional)<\/span>',\r\n        btnPassport:\"\ud83d\udcf7 Choose Passport photo\", btnTM30:\"\ud83d\udcf7 Choose TM.30 photo\"},\r\n    th:{secForeignDocs:\"\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e15\u0e48\u0e32\u0e07\u0e0a\u0e32\u0e15\u0e34\",\r\n        foreignDocsHint:\"\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e1c\u0e39\u0e49\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e43\u0e0a\u0e48\u0e2a\u0e31\u0e0d\u0e0a\u0e32\u0e15\u0e34\u0e44\u0e17\u0e22 \u0e01\u0e23\u0e38\u0e13\u0e32\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e2a\u0e33\u0e40\u0e19\u0e32\u0e2b\u0e19\u0e31\u0e07\u0e2a\u0e37\u0e2d\u0e40\u0e14\u0e34\u0e19\u0e17\u0e32\u0e07 (Passport) \u0e41\u0e25\u0e30\u0e41\u0e1a\u0e1a \u0e15\u0e21.30 (JPG\/PNG \u0e44\u0e21\u0e48\u0e40\u0e01\u0e34\u0e19 10 MB \u0e15\u0e48\u0e2d\u0e44\u0e1f\u0e25\u0e4c)\",\r\n        lbPassport:'\u0e2b\u0e19\u0e31\u0e07\u0e2a\u0e37\u0e2d\u0e40\u0e14\u0e34\u0e19\u0e17\u0e32\u0e07 (Passport) <span class=\"opt\">(\u0e44\u0e21\u0e48\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a)<\/span>',\r\n        lbTM30:'\u0e41\u0e1a\u0e1a \u0e15\u0e21.30 (TM.30) <span class=\"opt\">(\u0e44\u0e21\u0e48\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a)<\/span>',\r\n        btnPassport:\"\ud83d\udcf7 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e23\u0e39\u0e1b Passport\", btnTM30:\"\ud83d\udcf7 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e23\u0e39\u0e1b \u0e15\u0e21.30\"}\r\n  };\r\n  var fdL=fd[lang]||fd.th;\r\n  var sF=function(id,html){ var el=document.getElementById(id); if(el) el.innerHTML=html; };\r\n  sF(\"secForeignDocs\",fdL.secForeignDocs); sF(\"foreignDocsHint\",fdL.foreignDocsHint);\r\n  sF(\"lbPassport\",fdL.lbPassport); sF(\"lbTM30\",fdL.lbTM30);\r\n  sF(\"btnPassport\",fdL.btnPassport); sF(\"btnTM30\",fdL.btnTM30);\r\n  \/\/ address options\r\n  [\"province\",\"district\",\"subdistrict\"].forEach(function(selId){\r\n    var sel=document.getElementById(selId);\r\n    if(!sel || sel.tagName!==\"SELECT\") return;\r\n    for(var i=0;i<sel.options.length;i++){\r\n      var o=sel.options[i]; if(!o.value) continue;\r\n      var en=o.getAttribute(\"data-en\");\r\n      o.textContent=(lang===\"en\" && en)?en:o.value;\r\n    }\r\n  });\r\n  \/\/ render service locations\r\n  var svcSel=document.getElementById(\"serviceLocation\");\r\n  if(svcSel && serviceLocationsData.length){\r\n    var savedSvc=svcSel.value;\r\n    renderServiceLocations(serviceLocationsData);\r\n    svcSel.value=savedSvc;\r\n  }\r\n  translateOptions(lang);\r\n  onPrefixChange();\r\n}\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ \u0e41\u0e1b\u0e25 dropdown options\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nvar OPT_EN = {\r\n  prefix:{\r\n    \"\":\"\u2014 Select title \u2014\",\r\n    \"\u0e19\u0e32\u0e22\":\"Mr.\",\"\u0e19\u0e32\u0e07\":\"Mrs.\",\"\u0e19\u0e32\u0e07\u0e2a\u0e32\u0e27\":\"Ms.\",\"\u0e14.\u0e0a.\":\"Master\",\"\u0e14.\u0e0d.\":\"Miss\",\r\n    \"\u0e14\u0e23.\":\"Dr.\",\"\u0e1c\u0e28.\":\"Asst. Prof.\",\"\u0e1c\u0e28.\u0e14\u0e23.\":\"Asst. Prof. Dr.\",\"\u0e23\u0e28.\":\"Assoc. Prof.\",\r\n    \"\u0e23\u0e28.\u0e14\u0e23.\":\"Assoc. Prof. Dr.\",\"\u0e28.\":\"Prof.\",\"\u0e28.\u0e14\u0e23.\":\"Prof. Dr.\",\r\n    \"\u0e1e\u0e23\u0e30\":\"Phra (Monk)\",\"\u0e2a\u0e32\u0e21\u0e40\u0e13\u0e23\":\"Samanera (Novice)\",\"\u0e1e\u0e23\u0e30\u0e21\u0e2b\u0e32\":\"Phra Maha\",\r\n    \"\u0e1e\u0e23\u0e30\u0e2d\u0e18\u0e34\u0e01\u0e32\u0e23\":\"Phra Athikan\",\"\u0e40\u0e08\u0e49\u0e32\u0e2d\u0e18\u0e34\u0e01\u0e32\u0e23\":\"Chao Athikan\",\"\u0e1e\u0e23\u0e30\u0e1b\u0e25\u0e31\u0e14\":\"Phra Palad\",\r\n    \"\u0e1e\u0e23\u0e30\u0e2a\u0e21\u0e38\u0e2b\u0e4c\":\"Phra Samu\",\"\u0e1e\u0e23\u0e30\u0e43\u0e1a\u0e0e\u0e35\u0e01\u0e32\":\"Phra Baidika\",\"\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\":\"Phra Khru\",\r\n    \"\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e1b\u0e25\u0e31\u0e14\":\"Phra Khru Palad\",\"\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e18\u0e23\u0e23\u0e21\u0e18\u0e23\":\"Phra Khru Thammathon\",\r\n    \"\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e27\u0e34\u0e19\u0e31\u0e22\u0e18\u0e23\":\"Phra Khru Winaithon\",\"\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e2a\u0e31\u0e07\u0e06\u0e23\u0e31\u0e01\u0e29\u0e4c\":\"Phra Khru Sangkharak\",\r\n    \"\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e2a\u0e21\u0e38\u0e2b\u0e4c\":\"Phra Khru Samu\",\"\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e43\u0e1a\u0e0e\u0e35\u0e01\u0e32\":\"Phra Khru Baidika\",\r\n    \"\u0e20\u0e34\u0e01\u0e29\u0e38\u0e13\u0e35\":\"Bhikkhuni\",\"\u0e2a\u0e32\u0e21\u0e40\u0e13\u0e23\u0e35\":\"Samaneri\",\"\u0e41\u0e21\u0e48\u0e0a\u0e35\":\"Mae Chi (Nun)\"\r\n  },\r\n  education:{\r\n    \"\":\"\u2014 Not specified \u2014\",\r\n    \"\u0e1b\u0e23\u0e30\u0e16\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\":\"Primary School\",\"\u0e21\u0e31\u0e18\u0e22\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e15\u0e2d\u0e19\u0e15\u0e49\u0e19 (\u0e21.3)\":\"Lower Secondary (M.3)\",\r\n    \"\u0e21\u0e31\u0e18\u0e22\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e15\u0e2d\u0e19\u0e1b\u0e25\u0e32\u0e22 (\u0e21.6)\":\"Upper Secondary (M.6)\",\"\u0e1b\u0e27\u0e0a.\":\"Vocational Certificate\",\r\n    \"\u0e1b\u0e27\u0e2a. \/ \u0e2d\u0e19\u0e38\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\":\"Diploma\",\"\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\u0e15\u0e23\u0e35\":\"Bachelor's Degree\",\r\n    \"\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\u0e42\u0e17\":\"Master's Degree\",\"\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\u0e40\u0e2d\u0e01\":\"Doctorate\"\r\n  },\r\n  pali:{\r\n    \"\":\"\u2014 Not specified \u2014\",\"\u0e1b\u0e23\u0e30\u0e42\u0e22\u0e04 1-2\":\"Grade 1-2\",\"\u0e1b.\u0e18.3\":\"Pali Grade 3\",\r\n    \"\u0e1b.\u0e18.4\":\"Pali Grade 4\",\"\u0e1b.\u0e18.5\":\"Pali Grade 5\",\"\u0e1b.\u0e18.6\":\"Pali Grade 6\",\r\n    \"\u0e1b.\u0e18.7\":\"Pali Grade 7\",\"\u0e1b.\u0e18.8\":\"Pali Grade 8\",\"\u0e1b.\u0e18.9\":\"Pali Grade 9\"\r\n  },\r\n  dhamma:{\r\n    \"\":\"\u2014 Not specified \u2014\",\r\n    \"\u0e19\u0e31\u0e01\u0e18\u0e23\u0e23\u0e21\u0e0a\u0e31\u0e49\u0e19\u0e15\u0e23\u0e35\":\"Dhamma Grade 3 (Monk)\",\"\u0e19\u0e31\u0e01\u0e18\u0e23\u0e23\u0e21\u0e0a\u0e31\u0e49\u0e19\u0e42\u0e17\":\"Dhamma Grade 2 (Monk)\",\r\n    \"\u0e19\u0e31\u0e01\u0e18\u0e23\u0e23\u0e21\u0e0a\u0e31\u0e49\u0e19\u0e40\u0e2d\u0e01\":\"Dhamma Grade 1 (Monk)\",\r\n    \"\u0e18\u0e23\u0e23\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e0a\u0e31\u0e49\u0e19\u0e15\u0e23\u0e35\":\"Dhamma Studies Grade 3\",\"\u0e18\u0e23\u0e23\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e0a\u0e31\u0e49\u0e19\u0e42\u0e17\":\"Dhamma Studies Grade 2\",\r\n    \"\u0e18\u0e23\u0e23\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e0a\u0e31\u0e49\u0e19\u0e40\u0e2d\u0e01\":\"Dhamma Studies Grade 1\"\r\n  }\r\n};\r\nvar OPTGROUP_EN = {\r\n  \"\u2500\u2500\u2500 \u0e06\u0e23\u0e32\u0e27\u0e32\u0e2a \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\":\"\u2500\u2500\u2500 Laypersons \u2500\u2500\u2500\",\r\n  \"\u2500\u2500\u2500 \u0e27\u0e38\u0e12\u0e34\u0e17\u0e32\u0e07\u0e27\u0e34\u0e0a\u0e32\u0e01\u0e32\u0e23 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\":\"\u2500\u2500\u2500 Academic Titles \u2500\u2500\u2500\",\r\n  \"\u2500\u2500\u2500 \u0e1e\u0e23\u0e30\u0e20\u0e34\u0e01\u0e29\u0e38 \/ \u0e2a\u0e32\u0e21\u0e40\u0e13\u0e23 \u2500\u2500\u2500\u2500\u2500\u2500\":\"\u2500\u2500\u2500 Monks \/ Novices \u2500\u2500\u2500\",\r\n  \"\u2500\u2500\u2500 \u0e20\u0e34\u0e01\u0e29\u0e38\u0e13\u0e35 \/ \u0e19\u0e31\u0e01\u0e1a\u0e27\u0e0a\u0e2b\u0e0d\u0e34\u0e07 \u2500\u2500\u2500\":\"\u2500\u2500\u2500 Female Monastics \u2500\u2500\u2500\",\r\n  \"\u0e1e\u0e23\u0e30\u0e20\u0e34\u0e01\u0e29\u0e38 \/ \u0e2a\u0e32\u0e21\u0e40\u0e13\u0e23\":\"Monks \/ Novices\",\"\u0e06\u0e23\u0e32\u0e27\u0e32\u0e2a\":\"Laypersons\"\r\n};\r\nfunction translateOptions(lang){\r\n  [\"prefix\",\"education\",\"pali\",\"dhamma\"].forEach(function(selId){\r\n    var sel=document.getElementById(selId); if(!sel) return;\r\n    var saved=sel.value;\r\n    sel.querySelectorAll(\"option\").forEach(function(o){\r\n      if(!o.hasAttribute(\"data-th\")) o.setAttribute(\"data-th\",o.textContent);\r\n      var th=o.getAttribute(\"data-th\");\r\n      var map=OPT_EN[selId];\r\n      o.textContent=(lang===\"en\" && map && map[o.value]!==undefined)?map[o.value]:th;\r\n    });\r\n    sel.querySelectorAll(\"optgroup\").forEach(function(g){\r\n      if(!g.hasAttribute(\"data-th\")) g.setAttribute(\"data-th\",g.label);\r\n      var th=g.getAttribute(\"data-th\");\r\n      g.label=(lang===\"en\" && OPTGROUP_EN[th])?OPTGROUP_EN[th]:th;\r\n    });\r\n    sel.value=saved;\r\n  });\r\n}\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n\/\/ Helpers\r\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\nfunction esc(s){ return String(s).replace(\/&\/g,\"&amp;\").replace(\/\"\/g,\"&quot;\").replace(\/'\/g,\"&#39;\"); }\r\nfunction esc2(s){ return String(s).replace(\/&\/g,\"&amp;\").replace(\/<\/g,\"&lt;\").replace(\/>\/g,\"&gt;\"); }\r\n<\/script>\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>\ud83d\udccb \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e01\u0e48\u0e2d\u0e19\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19 \u0e01\u0e23\u0e38\u0e13\u0e32\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e43\u0e2b\u0e49\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e48\u0e2d\u0e19\u0e01\u0e14\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19 \u2190 \u0e41\u0e01\u0e49\u0e44\u0e02 \u2726 \u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23 \u0e44\u0e17\u0e22 EN \u2726 \u0e1b\u0e35\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32 \u2726 \u0e41\u0e1a\u0e1a\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e40\u0e23\u0e35\u0e22\u0e19\u0e1e\u0e23\u0e30\u0e2d\u0e20\u0e34\u0e18\u0e23\u0e23\u0e21 \u0e01\u0e23\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e43\u0e2b\u0e49\u0e04\u0e23\u0e1a\u0e16\u0e49\u0e27\u0e19 \u2014 \u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e2d\u0e2d\u0e01\u0e23\u0e2b\u0e31\u0e2a\u0e0a\u0e31\u0e48\u0e27\u0e04\u0e23\u0e32\u0e27\u0e43\u0e2b\u0e49\u0e2b\u0e25\u0e31\u0e07\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08 \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 \u0e04\u0e33\u0e19\u0e33\u0e2b\u0e19\u0e49\u0e32 * \u2014 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e04\u0e33\u0e19\u0e33\u0e2b\u0e19\u0e49\u0e32 \u2014\u0e19\u0e32\u0e22\u0e19\u0e32\u0e07\u0e19\u0e32\u0e07\u0e2a\u0e32\u0e27\u0e14.\u0e0a.\u0e14.\u0e0d. \u0e14\u0e23.\u0e1c\u0e28.\u0e1c\u0e28.\u0e14\u0e23.\u0e23\u0e28.\u0e23\u0e28.\u0e14\u0e23.\u0e28.\u0e28.\u0e14\u0e23. \u0e1e\u0e23\u0e30\u0e2a\u0e32\u0e21\u0e40\u0e13\u0e23\u0e1e\u0e23\u0e30\u0e21\u0e2b\u0e32\u0e1e\u0e23\u0e30\u0e2d\u0e18\u0e34\u0e01\u0e32\u0e23\u0e40\u0e08\u0e49\u0e32\u0e2d\u0e18\u0e34\u0e01\u0e32\u0e23\u0e1e\u0e23\u0e30\u0e1b\u0e25\u0e31\u0e14\u0e1e\u0e23\u0e30\u0e2a\u0e21\u0e38\u0e2b\u0e4c\u0e1e\u0e23\u0e30\u0e43\u0e1a\u0e0e\u0e35\u0e01\u0e32\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e1b\u0e25\u0e31\u0e14\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e18\u0e23\u0e23\u0e21\u0e18\u0e23\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e27\u0e34\u0e19\u0e31\u0e22\u0e18\u0e23\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e2a\u0e31\u0e07\u0e06\u0e23\u0e31\u0e01\u0e29\u0e4c\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e2a\u0e21\u0e38\u0e2b\u0e4c\u0e1e\u0e23\u0e30\u0e04\u0e23\u0e39\u0e43\u0e1a\u0e0e\u0e35\u0e01\u0e32 \u0e20\u0e34\u0e01\u0e29\u0e38\u0e13\u0e35\u0e2a\u0e32\u0e21\u0e40\u0e13\u0e23\u0e35\u0e41\u0e21\u0e48\u0e0a\u0e35 \u0e0a\u0e37\u0e48\u0e2d * \u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25 \u0e27\u0e31\u0e14 \/ \u0e2a\u0e33\u0e19\u0e31\u0e01 \u0e27\u0e31\u0e19\u0e40\u0e14\u0e37\u0e2d\u0e19\u0e1b\u0e35\u0e40\u0e01\u0e34\u0e14 (\u0e1e.\u0e28.) * \u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c * \u0e27\u0e38\u0e12\u0e34\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32\u0e2a\u0e32\u0e21\u0e31\u0e0d (\u0e17\u0e32\u0e07\u0e42\u0e25\u0e01 \u2014 \u0e44\u0e21\u0e48\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a) \u2014 \u0e44\u0e21\u0e48\u0e23\u0e30\u0e1a\u0e38 \u2014\u0e1b\u0e23\u0e30\u0e16\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e21\u0e31\u0e18\u0e22\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e15\u0e2d\u0e19\u0e15\u0e49\u0e19 (\u0e21.3)\u0e21\u0e31\u0e18\u0e22\u0e21\u0e28\u0e36\u0e01\u0e29\u0e32\u0e15\u0e2d\u0e19\u0e1b\u0e25\u0e32\u0e22 (\u0e21.6)\u0e1b\u0e27\u0e0a.\u0e1b\u0e27\u0e2a. \/ \u0e2d\u0e19\u0e38\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\u0e15\u0e23\u0e35\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\u0e42\u0e17\u0e1b\u0e23\u0e34\u0e0d\u0e0d\u0e32\u0e40\u0e2d\u0e01 \u0e40\u0e1b\u0e23\u0e35\u0e22\u0e0d\u0e18\u0e23\u0e23\u0e21 (\u0e1a\u0e32\u0e25\u0e35) (\u0e44\u0e21\u0e48\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a) \u2014 \u0e44\u0e21\u0e48\u0e23\u0e30\u0e1a\u0e38 \u2014\u0e1b\u0e23\u0e30\u0e42\u0e22\u0e04 1-2\u0e1b.\u0e18.3\u0e1b.\u0e18.4\u0e1b.\u0e18.5\u0e1b.\u0e18.6\u0e1b.\u0e18.7\u0e1b.\u0e18.8\u0e1b.\u0e18.9 \u0e19\u0e31\u0e01\u0e18\u0e23\u0e23\u0e21 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1471","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/abhidham.mcu.ac.th\/index.php?rest_route=\/wp\/v2\/pages\/1471","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/abhidham.mcu.ac.th\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/abhidham.mcu.ac.th\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/abhidham.mcu.ac.th\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/abhidham.mcu.ac.th\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1471"}],"version-history":[{"count":142,"href":"https:\/\/abhidham.mcu.ac.th\/index.php?rest_route=\/wp\/v2\/pages\/1471\/revisions"}],"predecessor-version":[{"id":2620,"href":"https:\/\/abhidham.mcu.ac.th\/index.php?rest_route=\/wp\/v2\/pages\/1471\/revisions\/2620"}],"wp:attachment":[{"href":"https:\/\/abhidham.mcu.ac.th\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}