ทัวร์เดินป่า — Siamese Explorers & อีตึ๋มหน้าโง่
*{box-sizing:border-box;margin:0;padding:0}
:root{
–color-bg:#0d1117;
–color-bg2:#161b22;
–color-bg3:#21262d;
–color-border:#30363d;
–color-text:#e6edf3;
–color-text2:#8b949e;
–color-green:#1D9E75;
–color-green-light:#9FE1CB;
–color-green-pale:#0d2818;
–color-amber:#EF9F27;
–color-amber-pale:#2d1f00;
–color-red:#f85149;
–color-red-pale:#2d0a0a;
–font: ‘Sarabun’, sans-serif;
–radius:8px;
–radius-lg:12px;
}
body{font-family:var(–font);background:var(–color-bg);color:var(–color-text);min-height:100vh}
@import url(‘
https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;500;600&display=swap’);
.app{max-width:760px;margin:0 auto;padding:1.5rem 1rem 3rem}
/* TOP BAR */
.topbar{display:flex;align-items:center;gap:12px;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(–color-border)}
.logo{width:36px;height:36px;background:var(–color-green);border-radius:var(–radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.brand-name{font-size:18px;font-weight:600;color:var(–color-text)}
.brand-sub{font-size:11px;color:var(–color-text2);margin-top:2px}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px}
.btn-login{padding:7px 16px;border:1px solid var(–color-border);border-radius:var(–radius);background:var(–color-bg2);color:var(–color-text);font-size:13px;cursor:pointer;font-family:var(–font);display:flex;align-items:center;gap:6px;transition:border-color .15s}
.btn-login:hover{border-color:var(–color-green)}
.avatar{width:34px;height:34px;border-radius:50%;background:var(–color-green);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#fff;cursor:pointer;border:2px solid var(–color-green-light)}
/* NAV */
.nav-tabs{display:flex;gap:0;border-bottom:1px solid var(–color-border);margin-bottom:1.5rem}
.ntab{padding:8px 18px;font-size:13px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(–color-text2);font-family:var(–font);margin-bottom:-1px;display:flex;align-items:center;gap:6px;transition:color .15s}
.ntab.on{color:var(–color-green);border-bottom-color:var(–color-green);font-weight:500}
.ntab:hover{color:var(–color-text)}
/* FEATURED */
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px;flex-wrap:wrap}
.section-title{font-size:14px;font-weight:500;color:var(–color-text);display:flex;align-items:center;gap:8px}
.dropdowns{display:flex;gap:8px}
.dsel{padding:6px 10px;border:1px solid var(–color-border);border-radius:var(–radius);background:var(–color-bg2);color:var(–color-text);font-size:12px;font-family:var(–font);cursor:pointer;max-width:140px;transition:border-color .15s}
.dsel:hover,.dsel:focus{border-color:var(–color-green);outline:none}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:560px){.cards-grid{grid-template-columns:repeat(2,1fr)}}
.feat-card{background:var(–color-bg2);border:1px solid var(–color-border);border-radius:var(–radius-lg);overflow:hidden;cursor:pointer;transition:border-color .15s,transform .15s}
.feat-card:hover{border-color:var(–color-green);transform:translateY(-1px)}
.card-img{height:72px;display:flex;align-items:center;justify-content:center;font-size:32px;position:relative}
.gtag,.lvtag{position:absolute;top:6px;font-size:9px;padding:2px 7px;border-radius:20px;font-weight:600}
.gtag{left:6px}
.lvtag{right:6px}
.card-body{padding:8px 10px 10px}
.card-name{font-size:12px;font-weight:500;color:var(–color-text);margin-bottom:4px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-meta{display:flex;gap:6px;font-size:10px;color:var(–color-text2);margin-bottom:5px}
.card-bottom{display:flex;justify-content:space-between;align-items:flex-end}
.card-price{font-size:13px;font-weight:600;color:var(–color-green)}
.card-urgency{font-size:9px;color:var(–color-red);background:var(–color-red-pale);padding:2px 6px;border-radius:20px;margin-top:2px;display:inline-block}
.card-days{font-size:9px;color:var(–color-text2)}
/* DIVIDER */
.sdiv{border:none;border-top:1px solid var(–color-border);margin:1.5rem 0}
/* TABLE */
.filter-bar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.filter-bar select{padding:5px 10px;border:1px solid var(–color-border);border-radius:20px;font-size:12px;background:var(–color-bg2);color:var(–color-text);font-family:var(–font);cursor:pointer;transition:border-color .15s}
.filter-bar select:hover,.filter-bar select:focus{border-color:var(–color-green);outline:none}
.tbl-head{display:grid;grid-template-columns:2fr 1fr 55px 80px 60px;background:var(–color-bg3);border:1px solid var(–color-border);border-radius:var(–radius) var(–radius) 0 0;padding:8px 14px;font-size:10px;color:var(–color-text2);font-weight:600;letter-spacing:.05em;text-transform:uppercase;align-items:center}
.tbl-body{border:1px solid var(–color-border);border-top:none;border-radius:0 0 var(–radius) var(–radius);overflow:hidden}
.tbl-row{display:grid;grid-template-columns:2fr 1fr 55px 80px 60px;padding:0 14px;border-bottom:1px solid var(–color-border);background:var(–color-bg2);transition:background .1s;cursor:pointer;align-items:center;min-height:56px}
.tbl-row:last-child{border-bottom:none}
.tbl-row:hover{background:var(–color-bg3)}
.place-wrap{padding:10px 0}
.place-name{font-size:12px;font-weight:500;color:var(–color-text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.place-sub{margin-top:4px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.gpill,.level-pill{font-size:9px;padding:2px 7px;border-radius:20px;font-weight:600}
.date-c{font-size:11px;color:var(–color-text)}
.date-s{font-size:10px;color:var(–color-text2);margin-top:2px}
.dur-c{font-size:11px;color:var(–color-text2);text-align:center}
.price-col{text-align:right}
.price-c{font-size:12px;font-weight:600;color:var(–color-green)}
.walkin-p{font-size:9px;color:var(–color-text2);margin-top:1px}
.price-na{font-size:11px;color:var(–color-text2);text-align:right}
.act-btns{display:flex;align-items:center;justify-content:flex-end;gap:4px}
.bm-btn,.chat-btn{width:28px;height:28px;border:1px solid var(–color-border);border-radius:var(–radius);background:var(–color-bg2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .12s;flex-shrink:0;color:var(–color-text2)}
.bm-btn.saved{background:var(–color-amber-pale);border-color:var(–color-amber);color:var(–color-amber)}
.bm-btn:hover,.chat-btn:hover{background:var(–color-bg3);border-color:var(–color-green);color:var(–color-green)}
.chat-btn{border-color:#1d4a3a;color:var(–color-green)}
.chat-btn:hover{background:var(–color-green-pale);border-color:var(–color-green-light)}
/* BOOK PAGE */
.back-btn{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(–color-text2);font-size:13px;cursor:pointer;font-family:var(–font);margin-bottom:1.25rem;padding:0;transition:color .15s}
.back-btn:hover{color:var(–color-text)}
.hero-img{width:100%;height:160px;border-radius:var(–radius-lg);border:1px solid var(–color-border);display:flex;align-items:center;justify-content:center;font-size:72px;margin-bottom:1.25rem;position:relative}
.hero-gtag{position:absolute;top:12px;left:12px;font-size:12px;padding:4px 12px;border-radius:var(–radius);font-weight:600}
.hero-lvtag{position:absolute;top:12px;right:12px;font-size:12px;padding:4px 12px;border-radius:var(–radius);font-weight:600}
.tour-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:14px}
.tour-title{font-size:20px;font-weight:600;color:var(–color-text);line-height:1.3;flex:1}
.title-btns{display:flex;gap:6px;flex-shrink:0;margin-top:3px}
.bm-big,.chat-big{width:36px;height:36px;border:1px solid var(–color-border);border-radius:var(–radius);background:var(–color-bg2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:17px;transition:all .15s;color:var(–color-text2)}
.bm-big.saved{background:var(–color-amber-pale);border-color:var(–color-amber);color:var(–color-amber)}
.bm-big:hover{border-color:var(–color-amber);color:var(–color-amber)}
.chat-big{color:var(–color-green);border-color:#1d4a3a;background:var(–color-green-pale)}
.chat-big:hover{border-color:var(–color-green-light);background:#0f3a22}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:1.25rem}
.stat-card{background:var(–color-bg2);border:1px solid var(–color-border);border-radius:var(–radius);padding:12px;text-align:center}
.stat-label{font-size:10px;color:var(–color-text2);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}
.stat-val{font-size:14px;font-weight:600;color:var(–color-text)}
.stat-val.green{color:var(–color-green)}
.info-box{background:var(–color-bg2);border:1px solid var(–color-border);border-radius:var(–radius-lg);padding:1rem 1.25rem;margin-bottom:1rem}
.irow{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;border-bottom:1px solid var(–color-border)}
.irow:last-child{border-bottom:none}
.irow span:first-child{color:var(–color-text2);flex-shrink:0}
.irow span:last-child{color:var(–color-text);font-weight:500;text-align:right;max-width:62%}
.price-box{background:var(–color-bg2);border:1px solid var(–color-border);border-radius:var(–radius-lg);padding:1rem 1.25rem;margin-bottom:1rem}
.price-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:13px}
.price-row:first-child{border-bottom:1px solid var(–color-border);padding-bottom:10px;margin-bottom:4px}
.ptag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(–radius);font-size:12px;font-weight:500}
.tag-online{background:var(–color-green-pale);color:var(–color-green-light)}
.tag-walkin{background:var(–color-amber-pale);color:var(–color-amber)}
.btn-chat-cta{width:100%;padding:12px;background:var(–color-green);color:#fff;border:none;border-radius:var(–radius);font-size:14px;font-weight:600;cursor:pointer;font-family:var(–font);display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;transition:background .15s}
.btn-chat-cta:hover{background:#17856180}
.btn-chat-ask{width:100%;padding:10px;background:var(–color-green-pale);color:var(–color-green-light);border:1px solid #1d4a3a;border-radius:var(–radius);font-size:13px;cursor:pointer;font-family:var(–font);display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;transition:all .15s}
.btn-chat-ask:hover{background:#0f3a22}
.no-price-box{background:var(–color-green-pale);border:1px solid #1d4a3a;border-radius:var(–radius);padding:14px 16px;font-size:13px;color:var(–color-green-light);margin-bottom:1rem;display:flex;align-items:flex-start;gap:10px;line-height:1.6}
.lic-note{font-size:11px;color:var(–color-text2);text-align:center;margin-top:10px}
/* MEMBER */
.member-header{display:flex;align-items:center;gap:14px;background:var(–color-bg2);border:1px solid var(–color-border);border-radius:var(–radius-lg);padding:1.25rem;margin-bottom:1.25rem}
.m-av{width:52px;height:52px;border-radius:50%;background:var(–color-green);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;color:#fff;flex-shrink:0}
.m-name{font-size:16px;font-weight:600;color:var(–color-text)}
.m-email{font-size:12px;color:var(–color-text2);margin-top:2px}
.btn-logout{margin-left:auto;padding:7px 14px;border:1px solid var(–color-border);border-radius:var(–radius);background:none;color:var(–color-text2);font-size:12px;cursor:pointer;font-family:var(–font);transition:all .15s}
.btn-logout:hover{border-color:var(–color-red);color:var(–color-red)}
.bm-sec-title{font-size:14px;font-weight:500;color:var(–color-text);margin-bottom:12px;display:flex;align-items:center;gap:7px}
.bm-list{display:flex;flex-direction:column;gap:8px}
.bm-card{background:var(–color-bg2);border:1px solid var(–color-border);border-radius:var(–radius-lg);padding:12px 14px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:border-color .15s}
.bm-card:hover{border-color:var(–color-green)}
.bm-emo{width:40px;height:40px;border-radius:var(–radius);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.bm-info{flex:1;min-width:0}
.bm-cname{font-size:13px;font-weight:500;color:var(–color-text);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.bm-cmeta{font-size:11px;color:var(–color-text2);margin-top:3px;display:flex;gap:5px;flex-wrap:wrap}
.bm-right{display:flex;align-items:center;gap:6px;flex-shrink:0}
.bm-cprice{font-size:13px;font-weight:600;color:var(–color-green)}
.bm-remove{width:26px;height:26px;border:1px solid var(–color-border);border-radius:var(–radius);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(–color-text2);transition:all .15s}
.bm-remove:hover{border-color:var(–color-red);color:var(–color-red)}
.empty{text-align:center;padding:3rem 1rem;color:var(–color-text2)}
.empty i{font-size:36px;display:block;margin-bottom:12px;opacity:.25}
/* MODAL */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:1000;align-items:center;justify-content:center;padding:1rem}
.modal{background:var(–color-bg2);border:1px solid var(–color-border);border-radius:var(–radius-lg);padding:2rem 1.75rem;width:100%;max-width:360px}
.modal-t{font-size:16px;font-weight:600;color:var(–color-text);margin-bottom:6px}
.modal-s{font-size:13px;color:var(–color-text2);margin-bottom:1.5rem}
.mfg{margin-bottom:12px}
.mfg label{font-size:12px;color:var(–color-text2);display:block;margin-bottom:5px;font-weight:500}
.mfg input{width:100%;padding:9px 12px;border:1px solid var(–color-border);border-radius:var(–radius);background:var(–color-bg3);color:var(–color-text);font-size:13px;font-family:var(–font);transition:border-color .15s}
.mfg input:focus{outline:none;border-color:var(–color-green)}
.btn-do-login{width:100%;padding:11px;background:var(–color-green);color:#fff;border:none;border-radius:var(–radius);font-size:14px;font-weight:600;cursor:pointer;font-family:var(–font);margin-top:4px;transition:background .15s}
.btn-do-login:hover{background:#17856180}
.modal-cancel{width:100%;padding:9px;background:none;border:1px solid var(–color-border);border-radius:var(–radius);font-size:13px;cursor:pointer;font-family:var(–font);margin-top:8px;color:var(–color-text2);transition:all .15s}
.modal-cancel:hover{border-color:var(–color-text2)}
.err-msg{font-size:12px;color:var(–color-red);margin-top:5px;display:none}
/* CHAT POPUP */
.chat-popup{display:none;position:absolute;inset:0;background:rgba(0,0,0,.6);border-radius:var(–radius-lg);align-items:center;justify-content:center;padding:2rem;z-index:10}
.chat-card{background:var(–color-bg2);border:1px solid var(–color-border);border-radius:var(–radius-lg);padding:1.75rem;width:100%;max-width:320px}
.chat-t{font-size:15px;font-weight:600;color:var(–color-text);margin-bottom:5px;display:flex;align-items:center;gap:8px}
.chat-s{font-size:12px;color:var(–color-text2);margin-bottom:1.25rem;line-height:1.6}
.chat-options{display:flex;flex-direction:column;gap:8px}
.chat-option{padding:12px 14px;border:1px solid var(–color-border);border-radius:var(–radius);background:var(–color-bg3);color:var(–color-text);font-size:13px;cursor:pointer;font-family:var(–font);text-align:left;display:flex;align-items:center;gap:10px;transition:all .15s;text-decoration:none}
.chat-option.line{border-color:#005500;color:#33cc33}
.chat-option.line:hover{background:#002200;border-color:#00aa00}
.chat-option.fb{border-color:#003399;color:#6699ff}
.chat-option.fb:hover{background:#001133;border-color:#1877F2}
.chat-option-icon{width:30px;height:30px;border-radius:var(–radius);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.chat-option-name{font-size:13px;font-weight:600}
.chat-option-handle{font-size:11px;opacity:.65}
.chat-close{width:100%;padding:9px;background:none;border:1px solid var(–color-border);border-radius:var(–radius);font-size:13px;cursor:pointer;font-family:var(–font);margin-top:10px;color:var(–color-text2);transition:all .15s}
.chat-close:hover{border-color:var(–color-text2);color:var(–color-text)}
/* INLINE OVERLAY */
.inline-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:2000;align-items:center;justify-content:center;padding:1rem}
ทัวร์เดินป่า
Siamese Explorers · อีตึ๋มหน้าโง่
เข้าสู่ระบบ
ล็อคอินเพื่อบุ๊คมาร์คทริปที่สนใจ
อีเมล
รหัสผ่าน
อีเมลหรือรหัสผ่านไม่ถูกต้อง
ทุกกรุ๊ป
Siamese Explorers
อีตึ๋มหน้าโง่
ทุกระดับ
ง่าย
ปานกลาง
ยาก
หนักมาก
ทุกระยะเวลา
One Day
2 วัน
3 วัน
ทุกราคา
มีราคา
สอบถาม
const RAW=[
[“22/5/2026″,”24/5/2026″,”เขาหนอง”,4690,3390,”3 วัน 2 คืน”,”Siamese Explorers”],
[“22/5/2026″,”23/5/2026″,”น้ำตกหนานญี่ปุ่น-เขาล่อนมสาว”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“23/5/2026″,”24/5/2026″,”โป่งลึก-บางกลอย”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“23/5/2026″,”24/5/2026″,”ดอยห้วยทู่”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“23/5/2026″,”24/5/2026″,”ม่อนสีสหาย”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“24/5/2026″,”25/5/2026″,”ม่อนสีสหาย”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“30/5/2026″,”31/5/2026″,”โรยตัว หุบเขาแห่งดาว (Biker Edition)”,2990,null,”2 วัน 1 คืน”,”Siamese Explorers”],
[“1/6/2026″,”3/6/2026″,”คลองมุย”,4990,3690,”3 วัน 2 คืน”,”Siamese Explorers”],
[“1/6/2026″,”1/6/2026″,”เขาล้อมหมวก-ถ้ำพระยานคร”,null,null,”1 วัน”,”อีตึ๋มหน้าโง่”],
[“5/6/2026″,”7/6/2026″,”เปรโต๊ะ”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“5/6/2026″,”7/6/2026″,”โบลาเวน”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“5/6/2026″,”7/6/2026″,”น้ำตกหนานญี่ปุ่น-เขาล่อนมสาว”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“5/6/2026″,”7/6/2026″,”เขาหลัก”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“6/6/2026″,”7/6/2026″,”โรยตัว หุบเขาแห่งดาว (Biker Edition)”,2990,null,”2 วัน 1 คืน”,”Siamese Explorers”],
[“6/6/2026″,”7/6/2026″,”ดอยหลวงตาก”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“6/6/2026″,”7/6/2026″,”เขาหลวงสุโขทัย”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“6/6/2026″,”7/6/2026″,”ถ้านาคา”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“6/6/2026″,”7/6/2026″,”สายรุ้งระอองดาว”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“11/6/2026″,”12/6/2026″,”ดอยห้วยทู่”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“12/6/2026″,”14/6/2026″,”เขาหนอง”,4690,3390,”3 วัน 2 คืน”,”Siamese Explorers”],
[“12/6/2026″,”14/6/2026″,”เปรโต๊ะ”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“12/6/2026″,”14/6/2026″,”โบลาเวน”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“12/6/2026″,”14/6/2026″,”เขาเจ็ดยอด (พัทลุง→ตรัง)”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“13/6/2026″,”14/6/2026″,”สายรุ้งระอองดาว”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“19/6/2026″,”21/6/2026″,”คลองมุย”,4990,3690,”3 วัน 2 คืน”,”Siamese Explorers”],
[“19/6/2026″,”21/6/2026″,”เปรโต๊ะ”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“20/6/2026″,”21/6/2026″,”ดอยห้วยทู่”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“20/6/2026″,”21/6/2026″,”ดอยหลวงตาก”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“20/6/2026″,”21/6/2026″,”เขาหลวงสุโขทัย”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“20/6/2026″,”21/6/2026″,”สายรุ้งระอองดาว”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“26/6/2026″,”28/6/2026″,”เขาหนอง”,4690,3390,”3 วัน 2 คืน”,”Siamese Explorers”],
[“26/6/2026″,”28/6/2026″,”เปรโต๊ะ”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“26/6/2026″,”28/6/2026″,”โบลาเวน”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“27/6/2026″,”28/6/2026″,”ดอยหลวงตาก”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“27/6/2026″,”28/6/2026″,”ม่อนสีสหาย”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“27/6/2026″,”28/6/2026″,”ภูวัว”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“3/7/2026″,”5/7/2026″,”เปรโต๊ะ”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“3/7/2026″,”5/7/2026″,”โบลาเวน”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“4/7/2026″,”5/7/2026″,”โรยตัว หุบเขาแห่งดาว (Biker Edition)”,2990,null,”2 วัน 1 คืน”,”Siamese Explorers”],
[“4/7/2026″,”5/7/2026″,”ภูสอยดาว”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“10/7/2026″,”12/7/2026″,”เขาหนอง”,4690,3390,”3 วัน 2 คืน”,”Siamese Explorers”],
[“10/7/2026″,”12/7/2026″,”เปรโต๊ะ”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“11/7/2026″,”12/7/2026″,”โรยตัว หุบเขาแห่งดาว (Biker Edition)”,2990,null,”2 วัน 1 คืน”,”Siamese Explorers”],
[“11/7/2026″,”12/7/2026″,”ภูสอยดาว”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“11/7/2026″,”12/7/2026″,”ดอยห้วยทู่”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“11/7/2026″,”12/7/2026″,”ดอยหลวงตาก”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“11/7/2026″,”12/7/2026″,”สายรุ้งระอองดาว”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“12/7/2026″,”12/7/2026″,”เขาล้อมหมวก-ถ้ำพระยานคร”,null,null,”1 วัน”,”อีตึ๋มหน้าโง่”],
[“17/7/2026″,”19/7/2026″,”คลองมุย”,4990,3690,”3 วัน 2 คืน”,”Siamese Explorers”],
[“17/7/2026″,”19/7/2026″,”เปรโต๊ะ”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“17/7/2026″,”19/7/2026″,”เขาเจ็ดยอด (พัทลุง→ตรัง)”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“18/7/2026″,”19/7/2026″,”ภูสอยดาว”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“18/7/2026″,”19/7/2026″,”ดอยหลวงตาก”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“18/7/2026″,”19/7/2026″,”สายรุ้งระอองดาว”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“21/7/2026″,”21/7/2026″,”โรยตัวน้ำตกสลัดได (บ้านนา นครนายก)”,1690,null,”One Day Trip”,”Siamese Explorers”],
[“22/7/2026″,”22/7/2026″,”โรยตัวน้ำตกสลัดได (บ้านนา นครนายก)”,1690,null,”One Day Trip”,”Siamese Explorers”],
[“24/7/2026″,”26/7/2026″,”เปรโต๊ะ”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“24/7/2026″,”26/7/2026″,”โบลาเวน”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“25/7/2026″,”26/7/2026″,”ภูสอยดาว”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“25/7/2026″,”26/7/2026″,”ดอยหลวงตาก”,null,null,”2 วัน 1 คืน”,”อีตึ๋มหน้าโง่”],
[“27/7/2026″,”27/7/2026″,”เขาล้อมหมวก-ถ้ำพระยานคร”,null,null,”1 วัน”,”อีตึ๋มหน้าโง่”],
[“27/7/2026″,”29/7/2026″,”เปรโต๊ะ”,null,null,”3 วัน 2 คืน”,”อีตึ๋มหน้าโง่”],
[“4/8/2026″,”4/8/2026″,”โรยตัวน้ำตกสลัดได (บ้านนา นครนายก)”,1690,null,”One Day Trip”,”Siamese Explorers”],
[“5/8/2026″,”5/8/2026″,”โรยตัวน้ำตกสลัดได (บ้านนา นครนายก)”,1690,null,”One Day Trip”,”Siamese Explorers”],
[“14/8/2026″,”16/8/2026″,”คลองมุย”,4990,3690,”3 วัน 2 คืน”,”Siamese Explorers”],
[“18/8/2026″,”18/8/2026″,”โรยตัวน้ำตกสลัดได (บ้านนา นครนายก)”,1690,null,”One Day Trip”,”Siamese Explorers”],
[“19/8/2026″,”19/8/2026″,”โรยตัวน้ำตกสลัดได (บ้านนา นครนายก)”,1690,null,”One Day Trip”,”Siamese Explorers”],
[“21/8/2026″,”23/8/2026″,”เขาหนอง”,4690,3390,”3 วัน 2 คืน”,”Siamese Explorers”],
[“8/9/2026″,”8/9/2026″,”โรยตัวน้ำตกสลัดได (บ้านนา นครนายก)”,1690,null,”One Day Trip”,”Siamese Explorers”],
[“9/9/2026″,”9/9/2026″,”โรยตัวน้ำตกสลัดได (บ้านนา นครนายก)”,1690,null,”One Day Trip”,”Siamese Explorers”],
[“11/9/2026″,”13/9/2026″,”คลองมุย”,4990,3690,”3 วัน 2 คืน”,”Siamese Explorers”],
[“12/9/2026″,”13/9/2026″,”ตาดหมอกแคนยอน x ตาดใหญ่”,6990,5990,”2 วัน 1 คืน”,”Siamese Explorers”],
[“22/9/2026″,”22/9/2026″,”โรยตัวน้ำตกสลัดได (บ้านนา นครนายก)”,1690,null,”One Day Trip”,”Siamese Explorers”],
[“23/9/2026″,”23/9/2026″,”โรยตัวน้ำตกสลัดได (บ้านนา นครนายก)”,1690,null,”One Day Trip”,”Siamese Explorers”],
[“25/9/2026″,”27/9/2026″,”เขาหนอง”,4690,3390,”3 วัน 2 คืน”,”Siamese Explorers”],
[“26/9/2026″,”27/9/2026″,”ตาดหมอกแคนยอน x ตาดใหญ่”,6990,5990,”2 วัน 1 คืน”,”Siamese Explorers”],
[“3/10/2026″,”4/10/2026″,”ตาดหมอกแคนยอน x ตาดใหญ่”,6990,5990,”2 วัน 1 คืน”,”Siamese Explorers”],
[“6/10/2026″,”6/10/2026″,”โรยตัวน้ำตกสลัดได (บ้านนา นครนายก)”,1690,null,”One Day Trip”,”Siamese Explorers”],
[“7/10/2026″,”7/10/2026″,”โรยตัวน้ำตกสลัดได (บ้านนา นครนายก)”,1690,null,”One Day Trip”,”Siamese Explorers”],
[“10/10/2026″,”11/10/2026″,”ตาดหมอกแคนยอน x ตาดใหญ่”,6990,5990,”2 วัน 1 คืน”,”Siamese Explorers”],
[“17/10/2026″,”18/10/2026″,”ตาดหมอกแคนยอน x ตาดใหญ่”,6990,5990,”2 วัน 1 คืน”,”Siamese Explorers”],
[“24/10/2026″,”25/10/2026″,”ตาดหมอกแคนยอน x ตาดใหญ่”,6990,5990,”2 วัน 1 คืน”,”Siamese Explorers”],
[“28/10/2026″,”28/10/2026″,”โรยตัวน้ำตกสลัดได (บ้านนา นครนายก)”,1690,null,”One Day Trip”,”Siamese Explorers”],
[“29/10/2026″,”29/10/2026″,”โรยตัวน้ำตกสลัดได (บ้านนา นครนายก)”,1690,null,”One Day Trip”,”Siamese Explorers”],
];
function guessLevel(n){
const l=n.toLowerCase();
if(l.includes(“โรยตัว”)||l.includes(“biker”)||l.includes(“แคนยอน”)||l.includes(“ตาด”))return”หนักมาก”;
if(l.includes(“วังเวียง”)||l.includes(“เปรโต”)||l.includes(“โบลาเวน”)||l.includes(“ลังกา”)||l.includes(“ทูเล”)||l.includes(“ภูสอย”)||l.includes(“ภูวัว”)||l.includes(“เลอกวา”)||l.includes(“หว่าวาโจ”)||l.includes(“เขาหนอง”)||l.includes(“เขาหลัก”)||l.includes(“เขาเจ็ด”)||l.includes(“ดอยหลวง”))return”ยาก”;
if(l.includes(“น้ำตก”)||l.includes(“คลองมุย”)||l.includes(“เขื่อน”)||l.includes(“โป่ง”)||l.includes(“ห้วย”)||l.includes(“ดำน้ำ”)||l.includes(“สายรุ้ง”)||l.includes(“ม่อน”)||l.includes(“ดอยห้วย”)||l.includes(“เขาเหมน”)||l.includes(“เขาหลวง”)||l.includes(“ถ้ำ”))return”ปานกลาง”;
return”ง่าย”;
}
const LV={
“ง่าย”: {bg:”rgba(59,109,17,.25)”,c:”#7bc950″},
“ปานกลาง”: {bg:”rgba(133,79,11,.25)”,c:”#f0a830″},
“ยาก”: {bg:”rgba(163,45,45,.25)”,c:”#f87171″},
“หนักมาก”: {bg:”rgba(83,74,183,.25)”,c:”#a78bfa”},
};
function lv(l){return LV[l]||LV[“ปานกลาง”];}
function gcol(g){return g===”Siamese Explorers”?{bg:”rgba(29,158,117,.2)”,c:”#9FE1CB”}:{bg:”rgba(59,109,17,.2)”,c:”#7bc950″};}
function icon(n){
const l=n.toLowerCase();
if(l.includes(“โรยตัว”)||l.includes(“biker”))return”🧗”;
if(l.includes(“น้ำตก”)||l.includes(“คลอง”)||l.includes(“ดำน้ำ”))return”🌊”;
if(l.includes(“ตาด”)||l.includes(“แคนยอน”))return”🏔️”;
if(l.includes(“ดอย”)||l.includes(“ภู”)||l.includes(“เขา”)||l.includes(“หนอง”))return”⛰️”;
if(l.includes(“ถ้ำ”)||l.includes(“โบลาเวน”)||l.includes(“เปรโต”))return”🌿”;
return”🗺️”;
}
function gbg(g){return g===”Siamese Explorers”?”rgba(13,40,24,.8)”:”rgba(20,40,13,.8)”;}
function ddays(d){if(d===”1 วัน”||d===”One Day Trip”)return 1;if(d.startsWith(“2”))return 2;if(d.startsWith(“3″))return 3;return 1;}
function dlabel(d){if(d===”One Day Trip”)return”1 วัน”;return d.split(” “)[0]+” วัน”;}
const months=[“ม.ค.”,”ก.พ.”,”มี.ค.”,”เม.ย.”,”พ.ค.”,”มิ.ย.”,”ก.ค.”,”ส.ค.”,”ก.ย.”,”ต.ค.”,”พ.ย.”,”ธ.ค.”];
function pd(s){const[d,m,y]=s.split(“/”).map(Number);return new Date(y,m-1,d);}
function fd(s){const[d,m,y]=s.split(“/”).map(Number);return`${d} ${months[m-1]}`;}
function fdF(s){const[d,m,y]=s.split(“/”).map(Number);return`${d} ${months[m-1]} ${y+543}`;}
function dr(t){return t.end===t.start?fdF(t.start):fdF(t.start)+” – “+fdF(t.end);}
function dau(t){return Math.ceil((pd(t.start)-new Date())/864e5);}
const tours=RAW.map((r,i)=>({id:i,start:r[0],end:r[1],place:r[2],price:r[3],walkin:r[4],dur:r[5],group:r[6],icon:icon(r[2]),bg:gbg(r[6]),d:ddays(r[5]),level:guessLevel(r[2])})).filter(t=>pd(t.start)>=new Date());
let user=null,bms=[],cur=null;
const fakeUsers=[{email:”test@test.com”,pw:”1234″,name:”สมชาย ใจดี”},{email:”demo@demo.com”,pw:”demo”,name:”นิรันดร์ ว.”}];
function ini(n){return n.split(” “).map(w=>w[0]).join(“”).substring(0,2).toUpperCase();}
function isBm(id){return bms.includes(id);}
function renderFeatured(){
const lF=document.getElementById(“feat-level”).value;
const gF=document.getElementById(“feat-group”).value;
let up=[…tours];
if(lF)up=up.filter(t=>t.level===lF);
if(gF)up=up.filter(t=>t.group===gF);
up.sort((a,b)=>pd(a.start)-pd(b.start));
const grid=document.getElementById(“cards-grid”);
const top6=up.slice(0,6);
if(!top6.length){grid.innerHTML=`
ไม่พบทริปที่ตรงกับเงื่อนไข
`;return;}
grid.innerHTML=top6.map(t=>{
const du=dau(t);const urg=du<=7;const g=gcol(t.group);const l=lv(t.level);
return`
${t.icon}${t.group===”Siamese Explorers”?”Siamese”:”อีตึ๋ม”}${t.level}
${t.place}
${dlabel(t.dur)}${t.price?`฿${t.price.toLocaleString()}`:””}
${fd(t.start)}${t.start!==t.end?” – “+fd(t.end):””}
${urg?`
อีก ${du} วัน!
`:`
อีก ${du} วัน
`}
${t.price?`
฿${t.price.toLocaleString()}
`:`
สอบถาม
`}
`;
}).join(“”);
}
function renderTable(){
const el=document.getElementById(“tbl-body”);
const gF=document.getElementById(“tbl-group”).value;
const lF=document.getElementById(“tbl-level”).value;
const dF=document.getElementById(“tbl-dur”).value;
const pF=document.getElementById(“tbl-price”).value;
let list=[…tours];
if(gF)list=list.filter(t=>t.group===gF);
if(lF)list=list.filter(t=>t.level===lF);
if(dF)list=list.filter(t=>t.d===parseInt(dF));
if(pF===”price”)list=list.filter(t=>t.price);
if(pF===”noprice”)list=list.filter(t=>!t.price);
if(!list.length){el.innerHTML=`
ไม่พบทัวร์ที่ตรงกับเงื่อนไข
`;return;}
el.innerHTML=list.map(t=>{
const bm=isBm(t.id);const g=gcol(t.group);const l=lv(t.level);
return`
${t.icon} ${t.place}
${t.group}${t.level}
${fdF(t.start)}
${t.start===t.end?”วันเดียว”:”ถึง “+fdF(t.end)}
${t.d} วัน
${t.price?`
฿${t.price.toLocaleString()}
${t.walkin?`
หน้างาน ฿${t.walkin.toLocaleString()}
`:””}`:`
สอบถาม
`}
`;
}).join(“”);
}
function chatHTML(t){
const msg=encodeURIComponent(`สวัสดีครับ สนใจจองทริป “${t.place}” วันที่ ${dr(t)} ครับ`);
const slug=t.group===”Siamese Explorers”?”siameseexplorers”:”iteumnaongo”;
const lineH=t.group===”Siamese Explorers”?”@siameseexplorers”:”@iteumnaongo”;
const fbH=t.group===”Siamese Explorers”?”fb.com/siameseexplorers”:”fb.com/iteumnaongo”;
return`
ทักแชทเพื่อจอง
ทริป ${t.place}
${dr(t)} · ${t.group}
`;
}
function openChatRow(id){cur=tours.find(t=>t.id===id);const ov=document.getElementById(“inline-overlay”);document.getElementById(“inline-chat-content”).innerHTML=chatHTML(cur);ov.style.display=”flex”;}
function closeInlineChat(){document.getElementById(“inline-overlay”).style.display=”none”;}
function showChatPopup(){
if(!cur)return;
const t=cur;const msg=encodeURIComponent(`สวัสดีครับ สนใจจองทริป “${t.place}” วันที่ ${dr(t)} ครับ`);
const slug=t.group===”Siamese Explorers”?”siameseexplorers”:”iteumnaongo”;
const lineH=t.group===”Siamese Explorers”?”@siameseexplorers”:”@iteumnaongo”;
const fbH=t.group===”Siamese Explorers”?”fb.com/siameseexplorers”:”fb.com/iteumnaongo”;
document.getElementById(“chat-sub”).innerHTML=`ทริป
${t.place}${dr(t)} · ${t.group}`;
document.getElementById(“chat-options”).innerHTML=`
💬
📘
`;
document.getElementById(“chat-popup”).style.display=”flex”;
}
function hideChatPopup(){document.getElementById(“chat-popup”).style.display=”none”;}
function toggleBm(id){if(!user){showLogin();return;}if(isBm(id))bms=bms.filter(x=>x!==id);else bms.push(id);renderTable();renderFeatured();}
function toggleBmFromBook(){if(!user){showLogin();return;}toggleBm(cur.id);updateBmBtn();}
function updateBmBtn(){const b=document.getElementById(“bm-big-btn”);const s=cur&&isBm(cur.id);b.className=”bm-big”+(s?” saved”:””);b.innerHTML=s?’
‘:’
‘;}
function openBook(id){
cur=tours.find(t=>t.id===id);const t=cur;
document.getElementById(“page-list”).style.display=”none”;
document.getElementById(“page-book”).style.display=”block”;
document.getElementById(“chat-popup”).style.display=”none”;
document.querySelectorAll(“.ntab”).forEach(b=>b.classList.remove(“on”));
const hero=document.getElementById(“hero-img”);
hero.style.background=t.bg;hero.innerHTML=””;
const sp=document.createElement(“span”);sp.style.fontSize=”72px”;sp.textContent=t.icon;hero.appendChild(sp);
const g=gcol(t.group);const l=lv(t.level);
const gt=document.createElement(“div”);gt.className=”hero-gtag”;gt.style.cssText=`background:${g.bg};color:${g.c}`;gt.textContent=t.group;hero.appendChild(gt);
const lt=document.createElement(“div”);lt.className=”hero-lvtag”;lt.style.cssText=`background:${l.bg};color:${l.c}`;lt.textContent=t.level;hero.appendChild(lt);
document.getElementById(“b-title”).textContent=t.place;
updateBmBtn();
document.getElementById(“b-stats”).innerHTML=`
ราคา
${t.price?”฿”+t.price.toLocaleString():”สอบถาม”}
`;
const lic=t.group===”Siamese Explorers”?”12/03587″:”11/12576″;
const staff=t.group===”Siamese Explorers”?”สยามนายเอ”:null;
document.getElementById(“b-info”).innerHTML=`
กรุ๊ปทัวร์${t.group}
วันที่${dr(t)}
ระยะเวลา${t.dur}
ระดับ${t.level}
ใบอนุญาต${lic}
${staff?`
สต๊าฟ${staff}
`:””}`;
const pa=document.getElementById(“b-price-area”);
if(t.price){
pa.innerHTML=`
ราคาจอง (ออนไลน์)฿${t.price.toLocaleString()} / คน
${t.walkin?`
ราคาหน้างาน฿${t.walkin.toLocaleString()} / คน
`:””}
`;
} else {
pa.innerHTML=`
ทริปนี้ยังไม่มีราคา — ทักแชทกับกรุ๊ป
${t.group} ได้เลยครับ
`;
}
document.getElementById(“b-lic”).textContent=`${t.group} · ใบอนุญาต ${lic}`;
}
function goBack(){
document.getElementById(“page-list”).style.display=”block”;
document.getElementById(“page-book”).style.display=”none”;
document.getElementById(“page-member”).style.display=”none”;
document.querySelectorAll(“.ntab”).forEach((b,i)=>b.classList.toggle(“on”,i===0));
}
function goTab(n){
document.getElementById(“page-list”).style.display=n===”list”?”block”:”none”;
document.getElementById(“page-book”).style.display=”none”;
document.getElementById(“page-member”).style.display=n===”member”?”block”:”none”;
document.querySelectorAll(“.ntab”).forEach(b=>b.classList.remove(“on”));
if(n===”list”)document.querySelectorAll(“.ntab”)[0].classList.add(“on”);
if(n===”member”){const t=document.querySelectorAll(“.ntab”);if(t[1])t[1].classList.add(“on”);renderMember();}
}
function showLogin(){document.getElementById(“modal-login”).style.display=”flex”;document.getElementById(“li-err”).style.display=”none”;}
function hideLogin(){document.getElementById(“modal-login”).style.display=”none”;}
function doLogin(){
const e=document.getElementById(“li-email”).value.trim();
const p=document.getElementById(“li-pw”).value;
const u=fakeUsers.find(x=>x.email===e&&x.pw===p);
if(!u){document.getElementById(“li-err”).style.display=”block”;return;}
user=u;hideLogin();
document.getElementById(“topbar-right”).innerHTML=`
สวัสดี ${u.name.split(” “)[0]}${ini(u.name)}
`;
document.getElementById(“tab-member”).style.display=”flex”;
renderTable();renderFeatured();
}
function doLogout(){
user=null;bms=[];
document.getElementById(“topbar-right”).innerHTML=`
`;
document.getElementById(“tab-member”).style.display=”none”;
goTab(“list”);renderTable();renderFeatured();
}
function renderMember(){
if(!user)return;
document.getElementById(“m-av”).textContent=ini(user.name);
document.getElementById(“m-name”).textContent=user.name;
document.getElementById(“m-email”).textContent=user.email;
const bmT=tours.filter(t=>bms.includes(t.id));
document.getElementById(“bm-count”).textContent=bmT.length?`(${bmT.length} ทริป)`:””;
const bl=document.getElementById(“bm-list”);
if(!bmT.length){bl.innerHTML=`
ยังไม่มีทริปที่บุ๊คมาร์คไว้
`;return;}
bl.innerHTML=bmT.map(t=>{const g=gcol(t.group);const l=lv(t.level);return`
${t.icon}
${t.place}
${t.group}${t.level}${dr(t)}
${t.price?”฿”+t.price.toLocaleString():”สอบถาม”}
`;}).join(“”);
}
function removeBm(id){bms=bms.filter(x=>x!==id);renderTable();renderFeatured();renderMember();}
renderFeatured();
renderTable();