{"id":1868,"date":"2026-06-11T00:07:37","date_gmt":"2026-06-10T17:07:37","guid":{"rendered":"https:\/\/www.alislahsamakom.org\/th\/?page_id=1868"},"modified":"2026-06-11T00:35:44","modified_gmt":"2026-06-10T17:35:44","slug":"%e0%b9%80%e0%b8%a7%e0%b8%a5%e0%b8%b2%e0%b8%a5%e0%b8%b0%e0%b8%ab%e0%b8%a1%e0%b8%b2%e0%b8%94","status":"publish","type":"page","link":"https:\/\/www.alislahsamakom.org\/th\/%e0%b9%80%e0%b8%a7%e0%b8%a5%e0%b8%b2%e0%b8%a5%e0%b8%b0%e0%b8%ab%e0%b8%a1%e0%b8%b2%e0%b8%94\/","title":{"rendered":"\u0e40\u0e27\u0e25\u0e32\u0e25\u0e30\u0e2b\u0e21\u0e32\u0e14"},"content":{"rendered":"\n<div class=\"ultimate-prayer-widget\">\n  \n  <div class=\"u-header\">\n    <div class=\"u-header-content\">\n      <div class=\"u-today-text\">\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49<\/div>\n      \n      <div class=\"u-location-wrapper\">\n        <svg width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"><\/path><circle cx=\"12\" cy=\"10\" r=\"3\"><\/circle><\/svg>\n        <span id=\"u-display-location\">\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e21\u0e2b\u0e32\u0e19\u0e04\u0e23 (\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22)<\/span>\n        <svg width=\"12\" height=\"12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M6 9l6 6 6-6\"><\/path><\/svg>\n        \n        <select id=\"u-province-select\" onchange=\"fetchUltimatePrayerTimes()\">\n          <\/select>\n      <\/div>\n\n      <div class=\"u-next-prayer-box\">\n        <div class=\"u-next-label\">\u0e40\u0e27\u0e25\u0e32\u0e25\u0e30\u0e2b\u0e21\u0e32\u0e14\u0e16\u0e31\u0e14\u0e44\u0e1b<\/div>\n        <div class=\"u-next-time\" id=\"u-next-time-display\">&#8211;:&#8211;<\/div>\n        <div class=\"u-countdown\" id=\"u-countdown-display\">\u0e01\u0e33\u0e25\u0e31\u0e07\u0e04\u0e33\u0e19\u0e27\u0e13\u0e40\u0e27\u0e25\u0e32&#8230;<\/div>\n      <\/div>\n    <\/div>\n    \n    <div class=\"u-mosque-silhouette\">\n      <svg viewBox=\"0 0 200 100\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" preserveAspectRatio=\"none\">\n        <path fill=\"#ffffff\" d=\"M200,100 L0,100 L0,90 C5,90 10,85 15,75 C20,85 25,90 30,90 L35,90 L35,50 L38,50 L38,20 A2,2 0 0,1 42,20 L42,50 L45,50 L45,90 L50,90 C55,90 60,80 65,65 C70,80 75,90 80,90 L85,90 L85,60 L88,60 L88,30 A2,2 0 0,1 92,30 L92,60 L95,60 L95,90 L100,90 C110,90 120,60 140,50 C160,60 170,90 180,90 L185,90 L185,70 L188,70 L188,40 A2,2 0 0,1 192,40 L192,70 L195,70 L195,90 L200,90 Z\" \/>\n        <path fill=\"#ffffff\" d=\"M140,40 A5,5 0 1,0 145,35 A6,6 0 1,1 140,40 Z\"\/>\n      <\/svg>\n    <\/div>\n  <\/div>\n\n  <div class=\"u-calendar\">\n    <div class=\"u-cal-header\">\n      <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"#333\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M15 18l-6-6 6-6\"><\/path><\/svg>\n      <span id=\"u-month-year-display\" class=\"u-month-year\">&#8230;<\/span>\n      <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"#333\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M9 18l6-6-6-6\"><\/path><\/svg>\n    <\/div>\n    <div class=\"u-cal-days\" id=\"u-calendar-strip\">\n      <\/div>\n  <\/div>\n\n  <div class=\"u-prayer-card\">\n    <div id=\"u-prayer-list-container\">\n      <div style=\"text-align:center; color:white; padding: 20px;\">\u0e01\u0e33\u0e25\u0e31\u0e07\u0e42\u0e2b\u0e25\u0e14\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e40\u0e27\u0e25\u0e32&#8230;<\/div>\n    <\/div>\n  <\/div>\n\n<\/div>\n\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700&display=swap');\n\n  .ultimate-prayer-widget {\n    \/* \u0e43\u0e0a\u0e49\u0e1f\u0e2d\u0e19\u0e15\u0e4c Poppins \u0e04\u0e25\u0e49\u0e32\u0e22\u0e15\u0e49\u0e19\u0e09\u0e1a\u0e31\u0e1a \u0e16\u0e49\u0e32\u0e44\u0e21\u0e48\u0e21\u0e35\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e1f\u0e2d\u0e19\u0e15\u0e4c\u0e23\u0e30\u0e1a\u0e1a *\/\n    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Arial, sans-serif;\n    background: #ffffff;\n    max-width: 400px;\n    margin: 20px auto;\n    border-radius: 30px;\n    overflow: hidden;\n    box-shadow: 0 10px 30px rgba(0,0,0,0.08);\n    border: 1px solid #f0f0f0;\n  }\n\n  \/* --- HEADER --- *\/\n  .u-header {\n    background: linear-gradient(145deg, #45b39d 0%, #58c6a6 100%);\n    position: relative;\n    padding: 30px 24px 20px 24px;\n    color: white;\n    border-radius: 0 0 35px 35px; \/* \u0e21\u0e38\u0e21\u0e42\u0e04\u0e49\u0e07\u0e21\u0e19\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07\u0e41\u0e1a\u0e1a\u0e43\u0e19\u0e23\u0e39\u0e1b *\/\n  }\n  .u-header-content {\n    position: relative;\n    z-index: 2;\n  }\n  .u-today-text {\n    font-size: 16px;\n    font-weight: 700;\n  }\n  .u-location-wrapper {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    margin-top: 4px;\n    font-size: 13px;\n    font-weight: 500;\n    opacity: 0.95;\n    position: relative;\n    cursor: pointer;\n  }\n  #u-province-select {\n    position: absolute;\n    top: 0; left: 0; width: 100%; height: 100%;\n    opacity: 0; \/* \u0e0b\u0e48\u0e2d\u0e19 select \u0e44\u0e27\u0e49\u0e43\u0e2b\u0e49\u0e01\u0e14\u0e44\u0e14\u0e49\u0e41\u0e15\u0e48\u0e44\u0e21\u0e48\u0e1a\u0e14\u0e1a\u0e31\u0e07\u0e14\u0e35\u0e44\u0e0b\u0e19\u0e4c *\/\n    cursor: pointer;\n  }\n  .u-next-prayer-box {\n    margin-top: 35px;\n  }\n  .u-next-label {\n    font-size: 13px;\n    font-weight: 500;\n    opacity: 0.9;\n  }\n  .u-next-time {\n    font-size: 48px;\n    font-weight: 700;\n    line-height: 1.1;\n    margin-top: -2px;\n  }\n  .u-countdown {\n    font-size: 13px;\n    font-weight: 400;\n    opacity: 0.9;\n    margin-top: 2px;\n  }\n  .u-mosque-silhouette {\n    position: absolute;\n    bottom: -2px;\n    right: 0;\n    width: 65%;\n    height: 100px;\n    z-index: 1;\n    opacity: 0.95;\n  }\n  .u-mosque-silhouette svg {\n    width: 100%;\n    height: 100%;\n  }\n\n  \/* --- CALENDAR --- *\/\n  .u-calendar {\n    padding: 24px 20px 10px 20px;\n    background: #ffffff;\n  }\n  .u-cal-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 20px;\n    padding: 0 10px;\n  }\n  .u-month-year {\n    font-size: 15px;\n    font-weight: 700;\n    color: #333;\n  }\n  .u-cal-days {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n  }\n  .u-day-item {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    width: 44px;\n    height: 64px;\n    border-radius: 22px;\n    color: #666;\n  }\n  .u-day-num {\n    font-size: 16px;\n    font-weight: 700;\n    color: #222;\n  }\n  .u-day-name {\n    font-size: 12px;\n    font-weight: 500;\n    margin-top: 4px;\n  }\n  \/* \u0e41\u0e04\u0e1b\u0e0b\u0e39\u0e25\u0e44\u0e2e\u0e44\u0e25\u0e17\u0e4c\u0e27\u0e31\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19 *\/\n  .u-day-item.active {\n    border: 1.5px solid #4ebf9f;\n    color: #4ebf9f;\n  }\n  .u-day-item.active .u-day-num, .u-day-item.active .u-day-name {\n    color: #4ebf9f;\n  }\n\n  \/* --- PRAYER LIST --- *\/\n  .u-prayer-card {\n    background: linear-gradient(180deg, #4ab89d 0%, #59c6a7 100%);\n    border-radius: 20px;\n    margin: 15px 20px 25px 20px;\n    padding: 20px 16px;\n  }\n  .u-prayer-row {\n    background: rgba(0, 0, 0, 0.12); \/* \u0e1e\u0e37\u0e49\u0e19\u0e2b\u0e25\u0e31\u0e07\u0e41\u0e16\u0e1a\u0e2a\u0e35\u0e40\u0e02\u0e35\u0e22\u0e27\u0e40\u0e02\u0e49\u0e21\u0e42\u0e1b\u0e23\u0e48\u0e07\u0e41\u0e2a\u0e07 *\/\n    border-radius: 14px;\n    padding: 16px 20px;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 12px;\n  }\n  .u-prayer-row:last-child {\n    margin-bottom: 0;\n  }\n  .u-row-left {\n    display: flex;\n    align-items: center;\n    gap: 16px;\n  }\n  .u-prayer-icon {\n    width: 24px;\n    height: 24px;\n    color: #ffffff;\n  }\n  .u-prayer-name {\n    color: #ffffff;\n    font-size: 15px;\n    font-weight: 600;\n  }\n  .u-prayer-time-val {\n    color: #ffffff;\n    font-size: 15px;\n    font-weight: 700;\n  }\n<\/style>\n\n<script>\n  \/\/ \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14\n  const provincesUltimate = [\n    { th: \"\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e21\u0e2b\u0e32\u0e19\u0e04\u0e23\", en: \"Bangkok\" }, { th: \"\u0e01\u0e23\u0e30\u0e1a\u0e35\u0e48\", en: \"Krabi\" }, { th: \"\u0e01\u0e32\u0e0d\u0e08\u0e19\u0e1a\u0e38\u0e23\u0e35\", en: \"Kanchanaburi\" },\n    { th: \"\u0e01\u0e32\u0e2c\u0e2a\u0e34\u0e19\u0e18\u0e38\u0e4c\", en: \"Kalasin\" }, { th: \"\u0e01\u0e33\u0e41\u0e1e\u0e07\u0e40\u0e1e\u0e0a\u0e23\", en: \"Kamphaeng Phet\" }, { th: \"\u0e02\u0e2d\u0e19\u0e41\u0e01\u0e48\u0e19\", en: \"Khon Kaen\" },\n    { th: \"\u0e08\u0e31\u0e19\u0e17\u0e1a\u0e38\u0e23\u0e35\", en: \"Chanthaburi\" }, { th: \"\u0e09\u0e30\u0e40\u0e0a\u0e34\u0e07\u0e40\u0e17\u0e23\u0e32\", en: \"Chachoengsao\" }, { th: \"\u0e0a\u0e25\u0e1a\u0e38\u0e23\u0e35\", en: \"Chonburi\" },\n    { th: \"\u0e0a\u0e31\u0e22\u0e19\u0e32\u0e17\", en: \"Chai Nat\" }, { th: \"\u0e0a\u0e31\u0e22\u0e20\u0e39\u0e21\u0e34\", en: \"Chaiyaphum\" }, { th: \"\u0e0a\u0e38\u0e21\u0e1e\u0e23\", en: \"Chumphon\" },\n    { th: \"\u0e40\u0e0a\u0e35\u0e22\u0e07\u0e23\u0e32\u0e22\", en: \"Chiang Rai\" }, { th: \"\u0e40\u0e0a\u0e35\u0e22\u0e07\u0e43\u0e2b\u0e21\u0e48\", en: \"Chiang Mai\" }, { th: \"\u0e15\u0e23\u0e31\u0e07\", en: \"Trang\" },\n    { th: \"\u0e15\u0e23\u0e32\u0e14\", en: \"Trat\" }, { th: \"\u0e15\u0e32\u0e01\", en: \"Tak\" }, { th: \"\u0e19\u0e04\u0e23\u0e19\u0e32\u0e22\u0e01\", en: \"Nakhon Nayok\" },\n    { th: \"\u0e19\u0e04\u0e23\u0e1b\u0e10\u0e21\", en: \"Nakhon Pathom\" }, { th: \"\u0e19\u0e04\u0e23\u0e1e\u0e19\u0e21\", en: \"Nakhon Phanom\" }, { th: \"\u0e19\u0e04\u0e23\u0e23\u0e32\u0e0a\u0e2a\u0e35\u0e21\u0e32\", en: \"Nakhon Ratchasima\" },\n    { th: \"\u0e19\u0e04\u0e23\u0e28\u0e23\u0e35\u0e18\u0e23\u0e23\u0e21\u0e23\u0e32\u0e0a\", en: \"Nakhon Si Thammarat\" }, { th: \"\u0e19\u0e04\u0e23\u0e2a\u0e27\u0e23\u0e23\u0e04\u0e4c\", en: \"Nakhon Sawan\" }, { th: \"\u0e19\u0e19\u0e17\u0e1a\u0e38\u0e23\u0e35\", en: \"Nonthaburi\" },\n    { th: \"\u0e19\u0e23\u0e32\u0e18\u0e34\u0e27\u0e32\u0e2a\", en: \"Narathiwat\" }, { th: \"\u0e19\u0e48\u0e32\u0e19\", en: \"Nan\" }, { th: \"\u0e1a\u0e36\u0e07\u0e01\u0e32\u0e2c\", en: \"Bueng Kan\" },\n    { th: \"\u0e1a\u0e38\u0e23\u0e35\u0e23\u0e31\u0e21\u0e22\u0e4c\", en: \"Buriram\" }, { th: \"\u0e1b\u0e17\u0e38\u0e21\u0e18\u0e32\u0e19\u0e35\", en: \"Pathum Thani\" }, { th: \"\u0e1b\u0e23\u0e30\u0e08\u0e27\u0e1a\u0e04\u0e35\u0e23\u0e35\u0e02\u0e31\u0e19\u0e18\u0e4c\", en: \"Prachuap Khiri Khan\" },\n    { th: \"\u0e1b\u0e23\u0e32\u0e08\u0e35\u0e19\u0e1a\u0e38\u0e23\u0e35\", en: \"Prachinburi\" }, { th: \"\u0e1b\u0e31\u0e15\u0e15\u0e32\u0e19\u0e35\", en: \"Pattani\" }, { th: \"\u0e1e\u0e23\u0e30\u0e19\u0e04\u0e23\u0e28\u0e23\u0e35\u0e2d\u0e22\u0e38\u0e18\u0e22\u0e32\", en: \"Phra Nakhon Si Ayutthaya\" },\n    { th: \"\u0e1e\u0e30\u0e40\u0e22\u0e32\", en: \"Phayao\" }, { th: \"\u0e1e\u0e31\u0e07\u0e07\u0e32\", en: \"Phang Nga\" }, { th: \"\u0e1e\u0e31\u0e17\u0e25\u0e38\u0e07\", en: \"Phatthalung\" },\n    { th: \"\u0e1e\u0e34\u0e08\u0e34\u0e15\u0e23\", en: \"Phichit\" }, { th: \"\u0e1e\u0e34\u0e29\u0e13\u0e38\u0e42\u0e25\u0e01\", en: \"Phitsanulok\" }, { th: \"\u0e40\u0e1e\u0e0a\u0e23\u0e1a\u0e38\u0e23\u0e35\", en: \"Phetchaburi\" },\n    { th: \"\u0e40\u0e1e\u0e0a\u0e23\u0e1a\u0e39\u0e23\u0e13\u0e4c\", en: \"Phetchabun\" }, { th: \"\u0e41\u0e1e\u0e23\u0e48\", en: \"Phrae\" }, { th: \"\u0e20\u0e39\u0e40\u0e01\u0e47\u0e15\", en: \"Phuket\" },\n    { th: \"\u0e21\u0e2b\u0e32\u0e2a\u0e32\u0e23\u0e04\u0e32\u0e21\", en: \"Maha Sarakham\" }, { th: \"\u0e21\u0e38\u0e01\u0e14\u0e32\u0e2b\u0e32\u0e23\", en: \"Mukdahan\" }, { th: \"\u0e41\u0e21\u0e48\u0e2e\u0e48\u0e2d\u0e07\u0e2a\u0e2d\u0e19\", en: \"Mae Hong Son\" },\n    { th: \"\u0e22\u0e42\u0e2a\u0e18\u0e23\", en: \"Yasothon\" }, { th: \"\u0e22\u0e30\u0e25\u0e32\", en: \"Yala\" }, { th: \"\u0e23\u0e49\u0e2d\u0e22\u0e40\u0e2d\u0e47\u0e14\", en: \"Roi Et\" },\n    { th: \"\u0e23\u0e30\u0e19\u0e2d\u0e07\", en: \"Ranong\" }, { th: \"\u0e23\u0e30\u0e22\u0e2d\u0e07\", en: \"Rayong\" }, { th: \"\u0e23\u0e32\u0e0a\u0e1a\u0e38\u0e23\u0e35\", en: \"Ratchaburi\" },\n    { th: \"\u0e25\u0e1e\u0e1a\u0e38\u0e23\u0e35\", en: \"Lopburi\" }, { th: \"\u0e25\u0e33\u0e1b\u0e32\u0e07\", en: \"Lampang\" }, { th: \"\u0e25\u0e33\u0e1e\u0e39\u0e19\", en: \"Lamphun\" },\n    { th: \"\u0e40\u0e25\u0e22\", en: \"Loei\" }, { th: \"\u0e28\u0e23\u0e35\u0e2a\u0e30\u0e40\u0e01\u0e29\", en: \"Si Sa Ket\" }, { th: \"\u0e2a\u0e01\u0e25\u0e19\u0e04\u0e23\", en: \"Sakon Nakhon\" },\n    { th: \"\u0e2a\u0e07\u0e02\u0e25\u0e32\", en: \"Songkhla\" }, { th: \"\u0e2a\u0e15\u0e39\u0e25\", en: \"Satun\" }, { th: \"\u0e2a\u0e21\u0e38\u0e17\u0e23\u0e1b\u0e23\u0e32\u0e01\u0e32\u0e23\", en: \"Samut Prakan\" },\n    { th: \"\u0e2a\u0e21\u0e38\u0e17\u0e23\u0e2a\u0e07\u0e04\u0e23\u0e32\u0e21\", en: \"Samut Songkhram\" }, { th: \"\u0e2a\u0e21\u0e38\u0e17\u0e23\u0e2a\u0e32\u0e04\u0e23\", en: \"Samut Sakhon\" }, { th: \"\u0e2a\u0e23\u0e30\u0e41\u0e01\u0e49\u0e27\", en: \"Sa Kaeo\" },\n    { th: \"\u0e2a\u0e23\u0e30\u0e1a\u0e38\u0e23\u0e35\", en: \"Saraburi\" }, { th: \"\u0e2a\u0e34\u0e07\u0e2b\u0e4c\u0e1a\u0e38\u0e23\u0e35\", en: \"Sing Buri\" }, { th: \"\u0e2a\u0e38\u0e42\u0e02\u0e17\u0e31\u0e22\", en: \"Sukhothai\" },\n    { th: \"\u0e2a\u0e38\u0e1e\u0e23\u0e23\u0e13\u0e1a\u0e38\u0e23\u0e35\", en: \"Suphan Buri\" }, { th: \"\u0e2a\u0e38\u0e23\u0e32\u0e29\u0e0e\u0e23\u0e4c\u0e18\u0e32\u0e19\u0e35\", en: \"Surat Thani\" }, { th: \"\u0e2a\u0e38\u0e23\u0e34\u0e19\u0e17\u0e23\u0e4c\", en: \"Surin\" },\n    { th: \"\u0e2b\u0e19\u0e2d\u0e07\u0e04\u0e32\u0e22\", en: \"Nong Khai\" }, { th: \"\u0e2b\u0e19\u0e2d\u0e07\u0e1a\u0e31\u0e27\u0e25\u0e33\u0e20\u0e39\", en: \"Nong Bua Lamphu\" }, { th: \"\u0e2d\u0e48\u0e32\u0e07\u0e17\u0e2d\u0e07\", en: \"Ang Thong\" },\n    { th: \"\u0e2d\u0e38\u0e14\u0e23\u0e18\u0e32\u0e19\u0e35\", en: \"Udon Thani\" }, { th: \"\u0e2d\u0e38\u0e15\u0e23\u0e14\u0e34\u0e15\u0e16\u0e4c\", en: \"Uttaradit\" }, { th: \"\u0e2d\u0e38\u0e17\u0e31\u0e22\u0e18\u0e32\u0e19\u0e35\", en: \"Uthai Thani\" },\n    { th: \"\u0e2d\u0e38\u0e1a\u0e25\u0e23\u0e32\u0e0a\u0e18\u0e32\u0e19\u0e35\", en: \"Ubon Ratchathani\" }, { th: \"\u0e2d\u0e33\u0e19\u0e32\u0e08\u0e40\u0e08\u0e23\u0e34\u0e0d\", en: \"Amnat Charoen\" }\n  ];\n\n  \/\/ \u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e2a\u0e44\u0e15\u0e25\u0e4c Line-art \u0e41\u0e1a\u0e1a\u0e40\u0e1b\u0e4a\u0e30\u0e46 \u0e15\u0e32\u0e21\u0e15\u0e49\u0e19\u0e09\u0e1a\u0e31\u0e1a\n  const svgFajr = '<svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 2v2\"\/><path d=\"M4.22 4.22l1.42 1.42\"\/><path d=\"M20 12h2\"\/><path d=\"M18 13.5a4.5 4.5 0 0 0-8.5-1.5A5.5 5.5 0 0 0 4 17.5c0 3 2.5 5.5 5.5 5.5h8c2.5 0 4.5-2 4.5-4.5s-2-4.5-4.5-4.5z\"\/><\/svg>';\n  const svgShrook = '<svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"5\"\/><path d=\"M12 1v2\"\/><path d=\"M12 21v2\"\/><path d=\"M4.22 4.22l1.42 1.42\"\/><path d=\"M18.36 18.36l1.42 1.42\"\/><path d=\"M1 12h2\"\/><path d=\"M21 12h2\"\/><path d=\"M4.22 19.78l1.42-1.42\"\/><path d=\"M18.36 5.64l1.42-1.42\"\/><\/svg>'; \/\/ \u0e43\u0e0a\u0e49\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e1e\u0e23\u0e30\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c\u0e2a\u0e48\u0e2d\u0e07\u0e41\u0e2a\u0e07\n  const svgDhuhr = '<svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"5\"\/><path d=\"M12 1v2\"\/><path d=\"M12 21v2\"\/><path d=\"M4.22 4.22l1.42 1.42\"\/><path d=\"M18.36 18.36l1.42 1.42\"\/><path d=\"M1 12h2\"\/><path d=\"M21 12h2\"\/><path d=\"M4.22 19.78l1.42-1.42\"\/><path d=\"M18.36 5.64l1.42-1.42\"\/><\/svg>';\n  const svgAsr = '<svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 2v2\"\/><path d=\"M4.22 4.22l1.42 1.42\"\/><path d=\"M20 12h2\"\/><path d=\"M15.8 4.2l-1.4 1.4\"\/><path d=\"M18 13.5a4.5 4.5 0 0 0-8.5-1.5A5.5 5.5 0 0 0 4 17.5c0 3 2.5 5.5 5.5 5.5h8c2.5 0 4.5-2 4.5-4.5s-2-4.5-4.5-4.5z\"\/><\/svg>';\n  const svgMaghrib = '<svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 10v4\"\/><path d=\"m4.93 10.93 1.41 1.41\"\/><path d=\"M2 18h20\"\/><path d=\"m19.07 10.93-1.41 1.41\"\/><path d=\"M22 22H2\"\/><path d=\"m16 6-4 4-4-4\"\/><path d=\"M16 18a4 4 0 0 0-8 0\"\/><\/svg>';\n  const svgIsha = '<svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"\/><\/svg>';\n\n  let uGlobalTimings = null;\n  let uTimerInterval = null;\n\n  document.addEventListener(\"DOMContentLoaded\", function() {\n    const selectEl = document.getElementById(\"u-province-select\");\n    \n    provincesUltimate.forEach(p => {\n      let option = document.createElement(\"option\");\n      option.value = p.en;\n      option.textContent = p.th;\n      selectEl.appendChild(option);\n    });\n\n    const savedProv = localStorage.getItem(\"u-province\") || \"Bangkok\";\n    selectEl.value = savedProv;\n    \n    buildCalendar();\n    fetchUltimatePrayerTimes();\n  });\n\n  \/\/ \u0e2a\u0e23\u0e49\u0e32\u0e07\u0e1b\u0e0f\u0e34\u0e17\u0e34\u0e19\u0e41\u0e1a\u0e1a 7 \u0e27\u0e31\u0e19 \u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e43\u0e19\u0e41\u0e2d\u0e1b\n  function buildCalendar() {\n    const monthsTH = [\"\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\", \"\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\"];\n    const daysTH = [\"\u0e2d\u0e32.\", \"\u0e08.\", \"\u0e2d.\", \"\u0e1e.\", \"\u0e1e\u0e24.\", \"\u0e28.\", \"\u0e2a.\"];\n    \n    const now = new Date();\n    document.getElementById(\"u-month-year-display\").textContent = `${monthsTH[now.getMonth()]} ${now.getFullYear() + 543}`;\n\n    const strip = document.getElementById(\"u-calendar-strip\");\n    strip.innerHTML = '';\n\n    \/\/ \u0e2a\u0e23\u0e49\u0e32\u0e07\u0e01\u0e25\u0e48\u0e2d\u0e07 7 \u0e27\u0e31\u0e19 (\u0e22\u0e49\u0e2d\u0e19\u0e2b\u0e25\u0e31\u0e07 2 \u0e27\u0e31\u0e19 \u0e25\u0e48\u0e27\u0e07\u0e2b\u0e19\u0e49\u0e32 4 \u0e27\u0e31\u0e19 \u0e43\u0e2b\u0e49\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49\u0e2d\u0e22\u0e39\u0e48\u0e15\u0e23\u0e07\u0e01\u0e25\u0e32\u0e07\u0e40\u0e1b\u0e4a\u0e30\u0e46)\n    for (let i = -2; i <= 4; i++) {\n      let d = new Date(now.getFullYear(), now.getMonth(), now.getDate() + i);\n      let isActive = (i === 0) ? \"active\" : \"\";\n      \n      strip.innerHTML += `\n        <div class=\"u-day-item ${isActive}\">\n          <span class=\"u-day-num\">${d.getDate()}<\/span>\n          <span class=\"u-day-name\">${daysTH[d.getDay()]}<\/span>\n        <\/div>\n      `;\n    }\n  }\n\n  function fetchUltimatePrayerTimes() {\n    const selectEl = document.getElementById(\"u-province-select\");\n    const cityEN = selectEl.value;\n    const cityTH = selectEl.options[selectEl.selectedIndex].text;\n    \n    localStorage.setItem(\"u-province\", cityEN);\n    document.getElementById(\"u-display-location\").textContent = `${cityTH} (\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22)`;\n    \n    const url = `https:\/\/api.aladhan.com\/v1\/timingsByCity?city=${encodeURIComponent(cityEN)}&country=Thailand&method=3`;\n\n    fetch(url)\n      .then(r => r.json())\n      .then(data => {\n        if (data.code === 200) {\n          uGlobalTimings = data.data.timings;\n          renderPrayerList();\n          startUltimateCountdown();\n        }\n      });\n  }\n\n  function renderPrayerList() {\n    const t = uGlobalTimings;\n    const container = document.getElementById(\"u-prayer-list-container\");\n    \n    const rows = [\n      { name: \"\u0e0b\u0e38\u0e1a\u0e2e\u0e34\", time: t.Fajr, icon: svgFajr },\n      { name: \"\u0e0a\u0e38\u0e23\u0e39\u0e01\", time: t.Sunrise, icon: svgShrook },\n      { name: \"\u0e14\u0e38\u0e2e\u0e23\u0e35\", time: t.Dhuhr, icon: svgDhuhr },\n      { name: \"\u0e2d\u0e31\u0e2a\u0e23\u0e35\", time: t.Asr, icon: svgAsr },\n      { name: \"\u0e21\u0e31\u0e06\u0e23\u0e34\u0e1a\", time: t.Maghrib, icon: svgMaghrib },\n      { name: \"\u0e2d\u0e34\u0e0a\u0e32\u0e2d\u0e4c\", time: t.Isha, icon: svgIsha }\n    ];\n\n    let html = '';\n    rows.forEach(r => {\n      html += `\n        <div class=\"u-prayer-row\">\n          <div class=\"u-row-left\">\n            <div class=\"u-prayer-icon\">${r.icon}<\/div>\n            <div class=\"u-prayer-name\">${r.name}<\/div>\n          <\/div>\n          <div class=\"u-prayer-time-val\">${r.time}<\/div>\n        <\/div>\n      `;\n    });\n    container.innerHTML = html;\n  }\n\n  function startUltimateCountdown() {\n    if (!uGlobalTimings) return;\n    clearInterval(uTimerInterval);\n\n    const prayers = [\n      { key: \"Fajr\", name: \"\u0e0b\u0e38\u0e1a\u0e2e\u0e34\" }, { key: \"Dhuhr\", name: \"\u0e14\u0e38\u0e2e\u0e23\u0e35\" }, \n      { key: \"Asr\", name: \"\u0e2d\u0e31\u0e2a\u0e23\u0e35\" }, { key: \"Maghrib\", name: \"\u0e21\u0e31\u0e06\u0e23\u0e34\u0e1a\" }, { key: \"Isha\", name: \"\u0e2d\u0e34\u0e0a\u0e32\u0e2d\u0e4c\" }\n    ];\n\n    function updateTick() {\n      const now = new Date();\n      let nextP = null;\n\n      \/\/ \u0e2b\u0e32\u0e40\u0e27\u0e25\u0e32\u0e25\u0e30\u0e2b\u0e21\u0e32\u0e14\u0e16\u0e31\u0e14\u0e44\u0e1b\n      for (let p of prayers) {\n        let [h, m] = uGlobalTimings[p.key].split(':');\n        let pDate = new Date(now.getFullYear(), now.getMonth(), now.getDate(), h, m);\n        if (pDate > now) {\n          nextP = { ...p, date: pDate, timeStr: uGlobalTimings[p.key] };\n          break;\n        }\n      }\n\n      \/\/ \u0e16\u0e49\u0e32\u0e40\u0e25\u0e22\u0e2d\u0e34\u0e0a\u0e32\u0e2d\u0e4c\u0e44\u0e1b\u0e41\u0e25\u0e49\u0e27 \u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e0b\u0e38\u0e1a\u0e2e\u0e34\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49\n      if (!nextP) {\n        let [h, m] = uGlobalTimings[\"Fajr\"].split(':');\n        let tmr = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1, h, m);\n        nextP = { name: \"\u0e0b\u0e38\u0e1a\u0e2e\u0e34\", date: tmr, timeStr: uGlobalTimings[\"Fajr\"] };\n      }\n\n      document.getElementById(\"u-next-time-display\").textContent = nextP.timeStr;\n\n      let diff = nextP.date - now;\n      if (diff <= 0) {\n        document.getElementById(\"u-countdown-display\").textContent = `\u0e44\u0e14\u0e49\u0e40\u0e27\u0e25\u0e32\u0e25\u0e30\u0e2b\u0e21\u0e32\u0e14 ${nextP.name} \u0e41\u0e25\u0e49\u0e27`;\n        setTimeout(fetchUltimatePrayerTimes, 60000); \/\/ \u0e42\u0e2b\u0e25\u0e14\u0e43\u0e2b\u0e21\u0e48\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e16\u0e36\u0e07\u0e40\u0e27\u0e25\u0e32\n        return;\n      }\n\n      let hrs = Math.floor(diff \/ (1000 * 60 * 60));\n      let mins = Math.floor((diff % (1000 * 60 * 60)) \/ (1000 * 60));\n      \n      let text = \"\u0e2d\u0e35\u0e01 \";\n      if(hrs > 0) text += `${hrs} \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07 `;\n      if(mins > 0) text += `${mins} \u0e19\u0e32\u0e17\u0e35 `;\n      text += `\u0e16\u0e36\u0e07\u0e40\u0e27\u0e25\u0e32${nextP.name}`;\n\n      document.getElementById(\"u-countdown-display\").textContent = text;\n    }\n\n    updateTick();\n    uTimerInterval = setInterval(updateTick, 60000);\n  }\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e21\u0e2b\u0e32\u0e19\u0e04\u0e23 (\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22) \u0e40\u0e27\u0e25\u0e32\u0e25\u0e30\u0e2b\u0e21\u0e32\u0e14\u0e16\u0e31\u0e14\u0e44\u0e1b &#038;#8211 [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1868","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.alislahsamakom.org\/th\/wp-json\/wp\/v2\/pages\/1868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.alislahsamakom.org\/th\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.alislahsamakom.org\/th\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.alislahsamakom.org\/th\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.alislahsamakom.org\/th\/wp-json\/wp\/v2\/comments?post=1868"}],"version-history":[{"count":6,"href":"https:\/\/www.alislahsamakom.org\/th\/wp-json\/wp\/v2\/pages\/1868\/revisions"}],"predecessor-version":[{"id":1878,"href":"https:\/\/www.alislahsamakom.org\/th\/wp-json\/wp\/v2\/pages\/1868\/revisions\/1878"}],"wp:attachment":[{"href":"https:\/\/www.alislahsamakom.org\/th\/wp-json\/wp\/v2\/media?parent=1868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}