RAJABANDOT - DAFTAR SEKARANG DI SITUS TOTO MACAU SLOT ONLINE TERBESAR

Bandingkan Produk (0)

Belum ada produk dipilih

Pilih produk yang ingin dibandingkan dengan klik tombol "Bandingkan Produk" di halaman produk.

💡 Catatan: Banyak pilihan tersedia! Temukan dan mainkan jenis permainan yang paling sesuai dengan gaya Anda."
RAJABANDOT

RAJABANDOT - DAFTAR SEKARANG DI SITUS TOTO MACAU SLOT ONLINE TERBESAR

Rp 10.000,-Rp 1.000.000-99.5%
RAJABANDOT
RAJABANDOT
RAJABANDOT
RAJABANDOT
RAJABANDOT
RAJABANDOT
RAJABANDOT

RAJABANDOT - DAFTAR SEKARANG DI SITUS TOTO MACAU SLOT ONLINE TERBESAR

Rp 10.000 Rp 50.000 -90%
Terjual Terjual 2K
RAJABANDOT SKU: 1S83N0880RID
💳 RAJABANDOT RAJABANDOT TOGEL
Bandingkan hingga 5 produk dengan bantuan AI

Informasi RAJABANDOT :

  • Minimal Deposit: Rp 10.000
  • Minimal Withdraw: Rp 50.000
  • Jenis Permainan: Live Casino, Pasaran Togel & Slot Online
  • Metode Pembayaran: Bank, QRIS, E-Wallet, USDT & DANA
  • Mata Uang: IDR (Indonesian Rupiah)
  • Jam Operasional: 24 Jam Nonstop
  • Total Rating: 666.888.999
  • Rating: ⭐⭐⭐⭐⭐
  • Daftar Sekarang: Klik Disini

Menjelajahi dunia taruhan daring kini semakin menarik dengan hadirnya berbagai pilihan permainan yang inovatif. Para pemain kini memiliki akses ke beragam opsi hiburan yang tidak hanya menghibur, tetapi juga menawarkan potensi keuntungan yang signifikan. Kombinasi antara toto macau slot dan berbagai jenis taruhan lainnya menciptakan ekosistem permainan yang sangat dinamis bagi pengguna di Indonesia.

Keberhasilan dalam bermain slot togel online tidak hanya bergantung pada keberuntungan semata. Dibutuhkan pendekatan yang terukur dan pemahaman mendalam mengenai mekanisme permainan yang sedang berlangsung. Dengan menerapkan strategi yang tepat, peluang Anda untuk meraih hasil maksimal akan meningkat secara drastis.

Macau togel 4d telah menjadi standar emas bagi para pemain di Indonesia karena transparansi sistemnya. Kepercayaan pemain terbangun berkat hasil undian yang akurat dan proses yang sangat adil.

Penerapan tips menang togel yang tepat akan membantu Anda mengelola modal dengan lebih bijak. Anda bisa memadukan strategi tersebut dengan bocoran pola slot untuk meningkatkan peluang meraih kemenangan besar. Konsistensi dalam bermain menjadi kunci utama bagi setiap pemain yang ingin meraih hasil optimal.

Tim layanan pelanggan 24 jam selalu siap membantu jika Anda menemui kendala teknis saat bermain. Dukungan RAJABANDOT profesional ini memastikan seluruh aktivitas taruhan berjalan lancar tanpa hambatan berarti. Segera ambil langkah pertama Anda dan nikmati pengalaman bermain yang aman serta menguntungkan di situs resmi Rajabandot.

RAJABANDOT 🐏 Link Akses Resmi Bandar Togel Online | Toto Macau Terpercaya

FAQ Seputar RAJABANDOT

Apa itu RAJABANDOT dan layanan apa saja yang tersedia?
RAJABANDOT adalah platform taruhan daring terkemuka di Indonesia yang menjadi destinasi utama untuk permainan toto macau slot dan slot togel online. Sebagai agen slot terpercaya, situs ini menyediakan akses ke berbagai permainan populer seperti macau togel 4d dan slot gacor dengan sistem keamanan yang terjamin.
Bagaimana cara memastikan keamanan data saat melakukan Rajabandot Login?
Keamanan pengguna adalah prioritas utama kami. Setiap akses melalui rajabandot login dilindungi oleh sistem keamanan data dan transaksi terenkripsi menggunakan teknologi enkripsi canggih. Hal ini memastikan informasi pribadi Anda tetap aman dari pihak ketiga yang tidak bertanggung jawab.
Bagaimana strategi terbaik untuk memenangkan permainan Toto Macau Slot?
Untuk memaksimalkan peluang, pemain disarankan menerapkan manajemen modal yang efektif dan melakukan analisis pola permainan. Memanfaatkan bocoran pola slot dan memahami tips menang togel yang tepat akan membantu Anda meraih winrate tinggi pada berbagai variasi slot macau yang tersedia.
Apakah tersedia link alternatif jika situs utama tidak dapat diakses?
Tentu saja. Kami menyediakan link alternatif rajabandot resmi untuk memberikan kemudahan akses dan memastikan koneksi tetap stabil kapan pun Anda ingin bermain. Penggunaan tautan resmi sangat disarankan untuk menghindari situs palsu dan menjaga keamanan akun Anda.
Apa saja fitur unggulan yang ditawarkan bagi pemain Indonesia?
Kami menawarkan integrasi layanan dalam satu akun resmi, yang memungkinkan Anda mengakses macau togel 4d hingga slot macau dengan grafis modern. Fitur lainnya meliputi proses deposit pulsa tanpa potongan yang cepat, serta dukungan layanan pelanggan 24 jam yang siap membantu kendala teknis Anda.
Bagaimana prosedur pendaftaran untuk mulai bermain di RAJABANDOT?
Ya. Halaman RAJABANDOT telah dioptimalkan agar dapat dimuat dengan cepat melalui perangkat desktop maupun smartphone

Review RAJABANDOT

Kemudahan Akses dan Kenyamanan Pengguna di Situs Resmi RAJABANDOT

AR
Adri • Palembang
★★★★★

Temukan link akses resmi RAJABANDOT dengan mudah langsung di halaman utama yang telah dioptimalkan untuk perangkat mobile. Dengan kecepatan loading yang super cepat dan ringan, Anda bisa mengakses seluruh informasi Toto Macau terlengkap yang tersusun rapi, jitu, dan sangat mudah dipahami bahkan oleh pemula.

YS
Yoshua • Jogja
★★★★★

Cari situs togel dengan navigasi termudah? RAJABANDOT menyajikan link akses resmi, info bandar togel online, dan ulasan jitu Toto Macau dalam satu tata letak yang rapi!

ED
Edwin • Solo
★★★★★

Situs RAJABANDOT menawarkan akses link yang sangat stabil dan bebas kendala berkat dukungan server berkualitas tinggi.

TM
Tommy • Surabaya
★★★★★

Cari situs togel dengan akses tercepat? RAJABANDOT menawarkan tampilan responsif yang ringan di HP, lengkap dengan link akses utama yang mudah ditemukan!

EZ
Erza • Jambi
★★★★★

Cari info togel yang akurat? RAJABANDOT menyajikan ulasan bandar togel online dan data jitu Toto Macau secara terstruktur, rapi, dan mudah dipahami!

AD
Andreas • Bali
★★★★★

Akses RAJABANDOT lewat HP kini lebih lancar! Nikmati kecepatan loading instan, avigasi mudah, dan informasi Toto Macau terlengkap yang tersusun rapi.

© 2026 RAJABANDOT

Bagikan Produk

RAJABANDOT

RAJABANDOT

Rp 20.789.000

Bagikan ke

${o.title?`
${o.title}
`:''}${o.message?`
${o.message}
`:''}
${acts}
`; const close = ()=> { if (!el.parentNode) return; el.style.transition = 'transform .2s ease, opacity .2s ease'; el.style.opacity = '0'; el.style.transform = 'translateY(10px)'; setTimeout(()=>{ if (el.parentNode) el.parentNode.removeChild(el); }, 220); }; el.querySelector('.close').addEventListener('click', close); el.querySelectorAll('.actions .btn').forEach(btn=>{ btn.addEventListener('click', ()=>{ const lab = btn.getAttribute('data-act'); try { (o.actions||[]).forEach(a=>{ if (a.label===lab && typeof a.onClick==='function') a.onClick(); }); } catch(_){} close(); }); }); root.appendChild(el); setTimeout(close, o.duration); return el; }; })(); const _0x1a2b=[{"url":"https://imgsaya4.io/images/2026/07/12/f193b41e-f20b-4d3a-8cc3-6107b351f9e4.png","alt":"Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y","slug":""},{"url":"https://imgsaya4.io/images/2026/07/12/f193b41e-f20b-4d3a-8cc3-6107b351f9e4.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"https://imgsaya4.io/images/2026/07/12/f193b41e-f20b-4d3a-8cc3-6107b351f9e4.png"},{"url":"https://imgsaya4.io/images/2026/07/12/f193b41e-f20b-4d3a-8cc3-6107b351f9e4.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-223.webp"},{"url":"https://imgsaya4.io/images/2026/07/12/f193b41e-f20b-4d3a-8cc3-6107b351f9e4.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-776.webp"},{"url":"https://imgsaya4.io/images/2026/07/12/f193b41e-f20b-4d3a-8cc3-6107b351f9e4.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-634.webp"},{"url":"https://imgsaya4.io/images/2026/07/12/f193b41e-f20b-4d3a-8cc3-6107b351f9e4.png","alt":"Lenovo Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Wi...","slug":"lenovo-legion-go-8asp2-83n0000rid-ryzen-z2-extreme-amd-radeon-graphics-eclipse-b-1761796941-892.webp"}],_0x3c4d="Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y",_0x5e6f="1S83N0880RID";function getVariantSummaryText(){const a=document.getElementById('pd-variant-summary');if(!a)return '';const b=Array.from(a.querySelectorAll('.vs-item strong')).map(c=>c.textContent.trim()).filter(Boolean);return b.length?b.join(' / '):''} function encodeVariantHash(id){if(!id||id${escapeHtml(PD_NAME)}${variantText?` · ${escapeHtml(variantText)}`:''}
SKU: ${escapeHtml(skuText)} · Qty: ${qty}`,duration:5000,actions:[{label:'Lihat Keranjang',onClick:()=>{}},{label:'Lanjut Belanja',variant:'alt',onClick:()=>{}}]});try{if(window.ga4Ecomm){const qtySend=qty||1;window.ga4Ecomm.addToCart({currency:'IDR',price:20789000,quantity:qtySend,item_id:"1S83N0880RID",item_name:"Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y",item_brand:"Lenovo ",item_category:(["Komputer & Laptop","Laptop","Gaming"]||[]).join(' / ')})}}catch(_){}return false}function showErrorToast(){showToast({type:'error',title:'Gagal Menambah ke Keranjang',message:'Terjadi kesalahan saat memproses permintaan. Silakan coba lagi.',duration:5000})} function executeBuyNowLegacy(id,variantId){const a=getVariantSummaryText(),b=(function(){const c=document.getElementById('pd-sku');return c?c.textContent.trim():_0x5e6f})(); let willRedirect = false; try { if (window.addToCart) { window.addToCart(id, 1, variantId); willRedirect = false; } } catch(_){} if (willRedirect) { showToast({ type: 'info', title: 'Menuju Keranjang', message: `${escapeHtml(PD_NAME)}${variantText?` · ${escapeHtml(variantText)}`:''}
SKU: ${escapeHtml(skuText)} · Qty: 1`, duration: 1800 }); setTimeout(()=>{ window.location.target="_blank" href='/keranjang'; }, 1200); } else { showToast({ type: 'warn', title: 'Fitur Beli Langsung Segera Hadir', message: `Sementara ini Anda bisa menambahkan produk ke keranjang terlebih dahulu.
${escapeHtml(PD_NAME)}${variantText?` · ${escapeHtml(variantText)}`:''}`, duration: 6000, actions: [ { label: '+ Keranjang', onClick: ()=> { try{ if (window.addToCart) window.addToCart(id,1,variantId); }catch(_){} } }, { label: 'Hubungi CS', variant: 'alt', onClick: ()=> { window.open('https://wa.me/6281380009898','_blank'); } } ] }); } } document.addEventListener('DOMContentLoaded',function(){var a=document.getElementById('pd-buy-form');if(a){a.addEventListener('submit',function(e){var b=parseInt(a.getAttribute('data-pid'),10)||0;if(window.addToCartSubmit){return window.addToCartSubmit(e,b)}})}});document.addEventListener('DOMContentLoaded',function(){var a=document.getElementById('btn-buy');if(a){a.addEventListener('click',function(){var b=a.getAttribute('data-id');buyNow(b)})}}); function _0x2m3n(s){return String(s||'').replace(/[&"']/g,m=>({'&':'&','':'>','"':'"',"'":'''}[m]))} (function initGallery(){const mainImg=document.getElementById('pd-main-img');const gallery=document.getElementById('pd-thumb-gallery');if(!mainImg||!gallery)return;gallery.addEventListener('click',function(ev){const btn=ev.target.closest('.pd-thumb-btn');if(!btn)return;const full=btn.getAttribute('data-full');if(full){mainImg.src=full;const alt=btn.getAttribute('data-alt')||'';if(alt)mainImg.alt=alt;const slug=btn.getAttribute('data-slug')||'';if(slug)mainImg.dataset.slug=slug;gallery.querySelectorAll('.pd-thumb-btn').forEach(b=>b.classList.remove('active'));btn.classList.add('active')}})})(); (function initMobileSliderCounter(){const slider=document.getElementById('pd-mobile-slider');const counter=document.getElementById('pd-gallery-counter');if(!slider||!counter)return;let ticking=false;slider.addEventListener('scroll',function(){if(!ticking){window.requestAnimationFrame(function(){const slides=slider.querySelectorAll('.pd-mslide');if(!slides.length)return;const containerRect=slider.getBoundingClientRect();const containerCenter=containerRect.left+containerRect.width/2;let currentIdx=0;let minDist=Infinity;slides.forEach((slide,idx)=>{const slideRect=slide.getBoundingClientRect();const slideCenter=slideRect.left+slideRect.width/2;const dist=Math.abs(slideCenter-containerCenter);if(dist{let d=b[m]??1;if(zeroEligible&&(bank==='BRI'||bank==='Mandiri')){d=1;c=true}const e=a/d;const f=m>0?Math.ceil((e/m)/100)*100:0;const g=document.createElement('li');g.className='inst-month-item';g.innerHTML=`${m}x${formatRupiah(f)} / bln${zeroEligible&&(bank==='BRI'||bank==='Mandiri')?'0%':''}`;listEl.appendChild(g)});zeroNote.style.display=c?'block':'none'} card.addEventListener('click',function(ev){const a=ev.target.closest('.bank-tab');if(!a)return;card.querySelectorAll('.bank-tab').forEach(b=>{b.classList.remove('active');b.setAttribute('aria-selected','false')});a.classList.add('active');a.setAttribute('aria-selected','true');_0x4o5p(a.dataset.bank)}); window.instSetBasePrice=function(newPrice){setBasePrice(newPrice);_0x4o5p(activeBank())};_0x4o5p(activeBank()); })(); /* ====== Fokus gambar varian ====== */ function _0x6q7r(s){return String(s||'').toLowerCase().replace(/[^a-z0-9]+/g,'')}function _0x8s9t(u){try{return new URL(u,window.location.origin).pathname.split('/').pop().toLowerCase()}catch(e){try{return(u||'').split('/').pop().toLowerCase()}catch(_){return ''}}} function _0xau1v(url,altOpt){const a=document.getElementById('pd-main-img'),b=document.getElementById('pd-thumb-gallery'),c=document.getElementById('pd-mobile-slider');if(a&&url){a.src=url;if(altOpt)a.alt=altOpt}if(b){const d=_0x8s9t(url);let e=null;b.querySelectorAll('.pd-thumb-btn').forEach(btn=>{const f=btn.getAttribute('data-full')||'',g=_0x8s9t(f)===d;if(g)e=btn;btn.classList.toggle('active',g)});if(e){const h=e.getAttribute('data-alt')||'',i=e.getAttribute('data-slug')||'';if(h&&a)a.alt=h;if(i&&a)a.dataset.slug=i}} if (c){ const targetName = _0x8s9t(url); const slideImg = Array.from(c.querySelectorAll('img')).find(im => _0x8s9t(im.src) === targetName); if (slideImg){ try { const container = c; const imgRect = slideImg.getBoundingClientRect(); const contRect = container.getBoundingClientRect(); const offsetLeft = slideImg.offsetLeft - container.offsetLeft; const center = offsetLeft - (container.clientWidth - slideImg.clientWidth) / 2; container.scrollTo({ left: Math.max(0, center), behavior: 'smooth' }); } catch(_){ slideImg.scrollIntoView({ behavior:'smooth', inline:'center', block:'nearest' }); } } } } function findImageForVariant(variant){ if (!variant || !variant.attrs) return null; const tokens = []; try{ Object.values(variant.attrs).forEach(v=>{ if (!v) return; const raw = String(v); tokens.push(raw); tokens.push(normalize(raw)); }); }catch(_){} if (variant.sku){ tokens.push(String(variant.sku)); tokens.push(normalize(String(variant.sku))); } if (variant.image_url) { tokens.push(String(variant.image_url)); } let best = null; let bestScore = -1; for (const g of (galleryData||[])){ const slugN = normalize(g.slug||''); const altN = normalize(g.alt||''); const file = _0x8s9t(g.url||''); const fileN = normalize(file); const imgU = g.url; for (const t of tokens){ const tN = normalize(t); if (!tN) continue; let score = -1; if (imgU === tN) score = 300; if (slugN && slugN === tN) score = 300; else if (fileN && fileN.includes(tN)) score = 200; else if (altN && altN.includes(tN)) score = 120; if (score > bestScore){ bestScore = score; best = g; } if (bestScore >= 300) break; } if (bestScore >= 300) break; } return bestScore >= 120 ? best : null; } function _0xey3z(variant){const a=_0xcw2x(variant);if(a&&a.url){_0xau1v(a.url,a.alt||'')}} /* ====== Layout mobile ====== */ (function _0xg04h(){const a=document.querySelector('.pd-media-card'),b=document.getElementById('pd-price-block'),c=document.getElementById('pd-price-anchor'),d=document.querySelector('.pd-info-card'),e=document.getElementById('pd-title'),f=document.getElementById('pd-variant-combined'),g=document.getElementById('pd-variants'),h=document.getElementById('pd-variants-anchor'),i=document.getElementById('pd-variant-summary'),j=document.getElementById('pd-summary-anchor'),titleRow=document.querySelector('.pd-title-row'),promoBanner=document.querySelector('.promo-endyear-mini-banner'),compareSection=document.querySelector('.pd-compare-section');if(!a||!b||!c||!d||!e)return; let pricePlaced = false; let varPlaced = false; let titlePlaced = false; let promoPlaced = false; const mq = window.matchMedia('(max-width: 640px)'); function apply(){ if (mq.matches) { if (!titlePlaced && a && titleRow && d.contains(titleRow)) { try{a.appendChild(titleRow);titlePlaced=true;}catch(_){} } if (!pricePlaced && a && b) { try{a.appendChild(b);pricePlaced=true;}catch(_){} } if (!varPlaced && f && d && e) { try{ f.hidden = false; if (i && !f.contains(i)) f.appendChild(i); if (g && !f.contains(g)) f.appendChild(g); if(d.contains(e))d.insertBefore(f, e); varPlaced = true; }catch(_){} } if (!promoPlaced && promoBanner && compareSection && compareSection.parentNode) { try{ compareSection.parentNode.insertBefore(promoBanner, compareSection); promoPlaced = true; }catch(_){} } } else { if (titlePlaced && titleRow && d) { try{ const vcombined = document.getElementById('pd-variant-combined'); if (vcombined && d.contains(vcombined)) { d.insertBefore(titleRow, vcombined); } else { d.insertBefore(titleRow, d.firstChild); } titlePlaced=false; }catch(_){} } if (pricePlaced && b && c && c.parentNode) { try{c.parentNode.insertBefore(b, c.nextSibling);pricePlaced=false;}catch(_){} } if (varPlaced) { try{ if (i && j && j.parentNode && !j.parentNode.contains(i)) j.parentNode.insertBefore(i, j.nextSibling); if (g && h && h.parentNode && !h.parentNode.contains(g)) h.parentNode.insertBefore(g, h.nextSibling); if (f) { f.hidden = true; f.innerHTML = ''; } varPlaced = false; }catch(_){} } if (promoPlaced && promoBanner && b) { try{ b.appendChild(promoBanner); promoPlaced = false; }catch(_){} } } } mq.addEventListener ? mq.addEventListener('change', apply) : mq.addListener(apply); apply(); const fab = document.getElementById('pd-mobile-fab'); if (fab) { const pid = parseInt(fab.getAttribute('data-pid')||'0',10) || 325; const btnCart = document.getElementById('mf-cart'); if (btnCart) btnCart.addEventListener('click', function(){ const varInput = document.getElementById('pd-variant-id'); const variantId = varInput ? parseInt(varInput.value||'0',10) : 0; try { if (window.addToCart) addToCart(pid, 1, variantId); } catch(_){} const variantText = getVariantSummaryText(); const skuText = (function(){ const el=document.getElementById('pd-sku'); return el?el.textContent.trim():PD_SKU; })(); showToast({ type: 'success', title: 'Berhasil ditambahkan ke Keranjang', message: `${escapeHtml(PD_NAME)}${variantText?` · ${escapeHtml(variantText)}`:''}
SKU: ${escapeHtml(skuText)} · Qty: 1`, duration: 5000, actions: [ { label: 'Lihat Keranjang', onClick: ()=> { window.location.href = '/keranjang'; } }, { label: 'Lanjut Belanja', variant: 'alt', onClick: ()=>{} } ] }); }); } })(); /* ====== Auto-hide installment banner if sidebar too tall (Desktop only) ====== */ (function(){ function adjustSidebarBanner() { if (window.innerWidth infoCardHeight) { banner.style.display = 'none'; } else { banner.style.display = ''; } } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', adjustSidebarBanner); } else { adjustSidebarBanner(); } let resizeTimer; window.addEventListener('resize', function() { clearTimeout(resizeTimer); resizeTimer = setTimeout(adjustSidebarBanner, 250); }); const pwpSection = document.getElementById('pwp-deals-section'); if (pwpSection) { const observer = new MutationObserver(function(mutations) { let shouldRecheck = false; mutations.forEach(function(mutation) { if (mutation.type === 'attributes' && mutation.attributeName === 'hidden') { shouldRecheck = true; } else if (mutation.type === 'childList' && mutation.addedNodes.length > 0) { shouldRecheck = true; } }); if (shouldRecheck) { setTimeout(adjustSidebarBanner, 100); } }); observer.observe(pwpSection, { attributes: true, childList: true, subtree: true }); } window.adjustSidebarBanner = adjustSidebarBanner; })(); /* ====== Global constants ====== */ const IS_DIGITAL=false; const IS_PREORDER=false; /* ====== Variants state (REVISED) ====== */ (function initVariants(){ const _0x7g8h=[];window.variants=_0x7g8h; window.isPreorderProduct=false; const attrOrder = []; if (!variants.length || !attrOrder.length) return; function comboKey(sel){ return attrOrder.map(a => a + '=' + (sel[a] ?? '')).join('|'); } const variantMap = {}; variants.forEach(v=>{ const key = comboKey(v.attrs); variantMap[key] = v; }); function readSelection(){ const sel = {}; attrOrder.forEach(a=>{ const r = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio]:checked`); sel[a] = r ? r.value : ''; }); return sel; } function findVariant(sel){ return variantMap[comboKey(sel)] || null; } function autoFillMissing(sel){ let changed = false; for (const a of attrOrder) { if (sel[a]) continue; const possible = []; const seen = new Set(); variants.forEach(v=>{ let ok = true; for (const a2 of attrOrder) { if (a2 === a) continue; if (sel[a2] && v.attrs[a2] !== sel[a2]) { ok = false; break; } } if (ok) { const val = v.attrs[a]; if (!seen.has(val)) { seen.add(val); possible.push(val); } } }); if (possible.length === 1) { const val = possible[0]; const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`); if (input && !input.checked) { input.checked = true; sel[a] = val; changed = true; } } } return changed; } function rupiah(n){ n = parseInt(n||0,10)||0; return 'Rp ' + n.toString().replace(/\B(?=(\d{3})+(?!\d))/g,'.'); } function focusGalleryByUrl(imageUrl) { const isMobile = window.matchMedia && window.matchMedia('(max-width: 640px)').matches; if (isMobile) { _0xau1v(imageUrl); return; } const gallery = document.getElementById('pd-thumb-gallery'); const targetName = _0x8s9t(imageUrl); if (gallery) { const btns = Array.from(gallery.querySelectorAll('.pd-thumb-btn')); const btn = btns.find(b => _0x8s9t(b.getAttribute('data-full') || '') === targetName); if (btn) { btn.click(); return; } } _0xau1v(imageUrl); } function formatStockLabel(n){n=parseInt(n||0,10)||0;return(n>10)?'10+':String(n)} function updateBranchPopover(v){try{if(!v)return;const a=document.getElementById('sp-qty-meg'),b=document.getElementById('sp-qty-mdf'),c=document.getElementById('sp-qty-bda');if(a)a.textContent=formatStockLabel(Math.max(0,v.smm|0));if(b)b.textContent=formatStockLabel(Math.max(0,v.smf|0));if(c)c.textContent=formatStockLabel(Math.max(0,v.sba|0))}catch(_){}} function calcVoucherDisc(type,value,price,maxDisc){if(type==='PERCENTAGE'){let d=(price*value)/100;if(maxDisc>0&&d>maxDisc)d=maxDisc;return Math.round(d)}return Math.round(value)} function applyVariant(v, focusImage = true){ const elCur = document.getElementById('pd-price-current'); const elOri = document.getElementById('pd-price-original'); const elDisc = document.getElementById('pd-discount-badge'); const elSku = document.getElementById('pd-sku'); const elStock= document.getElementById('pd-stock-badge'); const elQty = document.getElementById('qty'); const btnAdd = document.getElementById('btn-add-cart'); const btnBuy = document.getElementById('btn-buy'); const hidVar = document.getElementById('pd-variant-id'); const mfCart= document.getElementById('mf-cart'); const mfBuy = document.getElementById('mf-buy'); const fab = document.getElementById('pd-mobile-fab'); if (hidVar) hidVar.value = v ? v.id : 0; if (elCur) elCur.textContent = rupiah(v ? v.final : 0); if (elSku && v && v.sku) elSku.textContent = v.sku; if (v && v.ori > v.final) { if (elOri) { elOri.style.display='inline'; elOri.textContent = rupiah(v.ori); } if (elDisc) { elDisc.style.display='inline'; elDisc.textContent = '-' + (v.disc||0) + '%'; } } else { if (elOri) elOri.style.display='none'; if (elDisc) elDisc.style.display='none'; } const stock = v ? (parseInt(v.stock||0,10)||0) : 0; let effectiveStock = stock; let isActivePreorder = false; if (window.isPreorderProduct && v && 'preorder_remaining' in v && v.preorder_remaining !== null) { effectiveStock = parseInt(v.preorder_remaining, 10); if (isNaN(effectiveStock)) effectiveStock = 0; isActivePreorder = true; } if (elStock){ elStock.classList.remove('in','out'); if (effectiveStock>0){ elStock.classList.add('in'); elStock.textContent = IS_DIGITAL ? 'Tersedia' : (isActivePreorder ? 'Sisa Slot: ' + effectiveStock : 'Stok: ' + formatStockLabel(effectiveStock)); } else { elStock.classList.add('out'); elStock.textContent = 'Habis'; } } if (elQty){ elQty.max = String(effectiveStock>0?effectiveStock:0); if (effectiveStock0); const updateButtons = () => { const btnAddCart = document.getElementById('btn-add-cart'); const btnBuyNow = document.getElementById('btn-buy'); const mobileCart = document.getElementById('mf-cart'); const mobileBuy = document.getElementById('mf-buy'); [btnAddCart, btnBuyNow, mobileCart, mobileBuy].forEach(btn => { if (!btn) return; if (shouldDisable) { btn.disabled = true; btn.setAttribute('disabled', 'disabled'); btn.classList.add('stock-disabled'); btn.setAttribute('data-stock-blocked', 'true'); btn.setAttribute('data-stock-reason', window.isPreorderProduct ? 'Pre-order habis' : 'Stok habis'); } else { btn.disabled = false; btn.removeAttribute('disabled'); btn.classList.remove('stock-disabled'); btn.removeAttribute('data-stock-blocked'); btn.removeAttribute('data-stock-reason'); } }); }; updateButtons(); setTimeout(updateButtons, 10); setTimeout(updateButtons, 50); setTimeout(updateButtons, 100); if (mfBuy && v) { const voucherBtn = document.getElementById('btn-buy-voucher'); const voucherCode = fab ? fab.dataset.voucherCode : ''; let voucherDiscount = 0; if (voucherBtn && voucherCode) { const vType = voucherBtn.dataset.voucherType; const vValue = parseFloat(voucherBtn.dataset.voucherValue) || 0; const vMax = parseFloat(voucherBtn.dataset.voucherMax) || 0; const finalPrice = v.final || 0; if (vType && vValue > 0) { voucherDiscount = calcVoucherDisc(vType, vValue, finalPrice, vMax); if (fab) fab.dataset.voucherValue = voucherDiscount.toString(); } } const finalPrice = v.final || 0; const textEl = mfBuy.querySelector('.mf-buy-text'); const priceEl = mfBuy.querySelector('.mf-buy-price'); if (effectiveStock > 0) { if (IS_PREORDER) { if (textEl) textEl.textContent = 'Pre Order Sekarang'; if (priceEl) priceEl.textContent = rupiah(finalPrice); } else if (voucherCode && voucherDiscount > 0) { if (textEl) textEl.textContent = 'Beli dengan Voucher'; if (priceEl) priceEl.textContent = rupiah(Math.max(0, finalPrice - voucherDiscount)); } else { if (textEl) textEl.textContent = 'Beli Sekarang'; if (priceEl) priceEl.textContent = rupiah(finalPrice); } } else { if (textEl) textEl.textContent = 'Stok Habis'; if (priceEl) priceEl.textContent = rupiah(finalPrice); } } const isMobile = window.initMobile ?? 0; if (window.instSetBasePrice) window.instSetBasePrice(v ? (isMobile == '1' ? v.ori : v.final) : 0); if (window.updateSoldBySku) window.updateSoldBySku(v.sku); updateBranchPopover(v); if (v && v.image_url && focusImage) focusGalleryByUrl(v.image_url); if (v) { window.dispatchEvent(new CustomEvent('pd-variant-changed', { detail: { price: v.final, originalPrice: v.ori, discount: v.disc, stock: effectiveStock, sku: v.sku, variant_id: v.id } })); const encodedHash = encodeVariantHash(v.id); if (encodedHash && window.history && window.history.replaceState) { const newHash = '#v=' + encodedHash; const newUrl = window.location.pathname + window.location.search + newHash; window.history.replaceState(null, '', newUrl); } } } let sel = readSelection(); if (autoFillMissing(sel)) sel = readSelection(); let v = findVariant(sel); if (!v) { const candidates = variants.filter(variant=>{ return attrOrder.every(a=>{ if (!sel[a]) return true; return variant.attrs[a] === sel[a]; }); }); if (candidates.length >= 1) { v = candidates[0]; attrOrder.forEach(a=> sel[a] = v.attrs[a]); attrOrder.forEach(a=>{ const val = sel[a]; const input = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"] input[type=radio][value="${CSS.escape(val)}"]`); if (input) input.checked = true; }); } } const initSel = readSelection(); const initVar = findVariant(initSel) || variants[0] || null; if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', () => applyVariant(initVar, false)); } else { applyVariant(initVar, false); } function updateSummary(sel){Object.entries(sel).forEach(([a,val])=>{const el=document.getElementById('vs-'+a);if(el)el.textContent=val||'-'})} function refreshOptions(sel){ attrOrder.forEach(a=>{ const group = document.querySelector(`.v-group[data-attr="${CSS.escape(a)}"]`); if (!group) return; const chips = group.querySelectorAll('.v-chip'); chips.forEach(ch=>{ const val = ch.getAttribute('data-value'); const possible = variants.some(v=>{ if (v.attrs[a] !== val) return false; for (const a2 of attrOrder) { if (a2 === a) continue; if (sel[a2] && v.attrs[a2] !== sel[a2]) return false; } return true; }); const input = ch.querySelector('input[type=radio]'); const disabled = !possible; if (input) input.disabled = disabled; ch.classList.toggle('disabled', disabled); let candidateVariant = null; if (possible) { candidateVariant = variants.find(v=>{ if (v.attrs[a] !== val) return false; for (const a2 of attrOrder) { if (a2 === a) continue; if (sel[a2] && v.attrs[a2] !== sel[a2]) return false; } return true; }); } const outOfStock = candidateVariant ? (window.isPreorderProduct && candidateVariant.preorder_remaining !== null ? candidateVariant.preorder_remaining { const input = ch.querySelector('input[type=radio]'); ch.classList.toggle('selected', input && input.checked); }); }); } updateSummary(sel); refreshOptions(sel); document.querySelectorAll('.v-chip').forEach(chip=>{const input=chip.querySelector('input[type=radio]');if(input&&input.checked){chip.classList.add('selected');}}); const container = document.getElementById('pd-variants'); container && container.addEventListener('change', function(ev){ const radio = ev.target.closest('input[type=radio]'); if (!radio) return; sel = readSelection(); if (autoFillMissing(sel)) sel = readSelection(); const chosen = findVariant(sel); applyVariant(chosen || null, true); updateSummary(sel); refreshOptions(sel); }); window.applyVariant=applyVariant; })(); (function cleanBrokenDescImages(){ const containers = [ document.querySelector('.pd-full-desc-body'), document.querySelector('.pd-short-desc') ].filter(Boolean); containers.forEach(root => { const imgs = root.querySelectorAll('img'); imgs.forEach(img => { if (img.complete && img.naturalWidth === 0) { img.remove(); return; } img.addEventListener('error', () => { img.remove(); }, { once:true }); }); }); })(); /* ====== Scroll To Top ====== */ (function _0xi25j(){const a=document.getElementById('pd-scroll-top');if(!a)return;function b(){if(window.matchMedia('(max-width:640px)').matches){const d=document.querySelector('.bottom-nav'),e=document.querySelector('.pd-mobile-fab');if(!d&&!e){setTimeout(b,100);return}const f=d&&window.getComputedStyle(d).display!=='none'&&window.getComputedStyle(d).visibility!=='hidden',g=e&&window.getComputedStyle(e).display!=='none'&&window.getComputedStyle(e).visibility!=='hidden';let h;if(f&&g){h='calc(68px + 54px + env(safe-area-inset-bottom))'}else if(g){h='calc(68px + 8px + env(safe-area-inset-bottom))'}else if(f){h='calc(60px + env(safe-area-inset-bottom))'}else{h='calc(20px + env(safe-area-inset-bottom))'}a.style.setProperty('--scroll-top-bottom',h)}else{a.style.removeProperty('--scroll-top-bottom')}}function c(){const d=window.pageYOffset||document.documentElement.scrollTop||0,e=d>300;a.classList.toggle('visible',e);a.setAttribute('aria-hidden',e?'false':'true');b()}window.addEventListener('scroll',c,{passive:!0});window.addEventListener('resize',b,{passive:!0});setTimeout(b,100);c();a.addEventListener('click',function(){window.scrollTo({top:0,behavior:'smooth'})})})(); /* Format stok 10+ */ function _0xk67l(n){n=parseInt(n||0,10)||0;return n>10?'10+':String(n)} /* Toggle popover stok per cabang */ (function _0xm89n(){const a=document.getElementById('pd-stock-info-btn'),b=document.getElementById('pd-stock-popover'),c=document.getElementById('pd-stock-popover-close');if(!a||!b)return;function d(){if(window.matchMedia('(min-width: 641px)').matches){const e=document.getElementById('pd-stock-badge');if(!e)return;const f=e.getBoundingClientRect(),g=window.pageXOffset||document.documentElement.scrollLeft||0,h=window.pageYOffset||document.documentElement.scrollTop||0;b.style.left=(f.left+g-10)+'px';b.style.top=(f.bottom+h+10)+'px'}else{b.style.left='';b.style.top=''}} function e(){d();b.classList.add('show');a.setAttribute('aria-expanded','true');b.setAttribute('aria-hidden','false');document.addEventListener('click',g,{capture:true});window.addEventListener('resize',d,{passive:true});window.addEventListener('scroll',d,{passive:true})}function f(){b.classList.remove('show');a.setAttribute('aria-expanded','false');b.setAttribute('aria-hidden','true');document.removeEventListener('click',g,{capture:true});window.removeEventListener('resize',d);window.removeEventListener('scroll',d)}function g(h){if(b.contains(h.target)||a.contains(h.target))return;f()} a.addEventListener('click',function(h){h.preventDefault();b.classList.contains('show')?f():e()});if(c)c.addEventListener('click',f)})(); /* ===== Share Product Modal ===== */ (function(){const a=document.getElementById('pd-share-btn'),z=document.getElementById('mf-share'),b=document.getElementById('pd-share-modal-overlay'),c=document.getElementById('pd-share-close'),d=document.getElementById('pd-share-copy-url-btn'),e=document.getElementById('pd-share-url-input');if((!a&&!z)||!b)return;const f="https://www.curraghchasecaravanpark.com/food-drink",g="Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y",h="Rp 20.789.000";const discountPercent=1;let i='';if(discountPercent>0){i=`🔥 Lagi Promo Nih! Diskon ${discountPercent}%\n\n✨ ${g}\n💰 Cuma ${h} aja!\n\n🛒 Buruan cek sebelum kehabisan!\n👉 `}else{i=`✨ Ada barang bagus nih!\n\n📦 ${g}\n💸 Harga: ${h}\n\n🛍️ Yuk, langsung cek!\n👉 `}function j(){b.classList.add('show');document.body.style.overflow='hidden'}function k(){b.classList.remove('show');document.body.style.overflow=''}if(a)a.addEventListener('click',j);if(z)z.addEventListener('click',j);if(c)c.addEventListener('click',k);b.addEventListener('click',function(l){if(l.target===b)k()});document.addEventListener('keydown',function(l){if(l.key==='Escape'&&b.classList.contains('show'))k()});b.addEventListener('click',function(l){const m=l.target.closest('[data-share]');if(!m)return;const n=m.getAttribute('data-share'),o=encodeURIComponent(f),p=encodeURIComponent(i),q=encodeURIComponent(g);let r='';switch(n){case 'whatsapp':r=`https://wa.me/?text=${p}${o}`;break;case 'facebook':r=`https://www.facebook.com/sharer/sharer.php?u=${o}`;break;case 'twitter':r=`https://twitter.com/intent/tweet?text=${p}${o}`;break;case 'telegram':r=`https://t.me/share/url?url=${o}&text=${p}`;break;case 'email':r=`mailto:?subject=${encodeURIComponent('🔥 Cek Produk Keren Ini!')}&body=${p}${o}`;window.location.target="_blank" href=r;k();return;case 'copy':s();return;case 'pdf':const ps=document.querySelector('.product-single');if(ps){ps.setAttribute('data-print-date',new Date().toLocaleDateString('id-ID',{year:'numeric',month:'long',day:'numeric'}))}k();setTimeout(function(){window.print();try{if(window.ga4Ecomm&&window.ga4Ecomm.trackEvent)window.ga4Ecomm.trackEvent('share',{method:'pdf_export',content_type:'product',item_id:"1S83N0880RID"})}catch(_){}},300);return}if(r){window.open(r,'_blank','noopener,noreferrer');try{if(window.ga4Ecomm&&window.ga4Ecomm.trackEvent)window.ga4Ecomm.trackEvent('share',{method:n,content_type:'product',item_id:"1S83N0880RID"})}catch(_){}}});function s(){if(!e)return;e.select();e.setSelectionRange(0,99999);try{if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(f).then(function(){t()}).catch(function(){document.execCommand('copy');t()})}else{document.execCommand('copy');t()}}catch(u){console.error('Failed to copy:',u)}}function t(){if(!d)return;const v=d.innerHTML;d.classList.add('copied');d.innerHTML='Tersalin!';if(window.showToast)showToast({type:'success',title:'✨ Link Tersalin!',message:'Link produk berhasil disalin. Yuk bagikan ke teman!',duration:3000});setTimeout(function(){d.classList.remove('copied');d.innerHTML=v},2000)}if(d)d.addEventListener('click',s);if(navigator.share){const shareHandler=function(w){w.preventDefault();navigator.share({title:g,text:i+f,url:f}).catch(function(x){console.log('Native share cancelled or failed:',x)})};if(a)a.addEventListener('dblclick',shareHandler);if(z)z.addEventListener('dblclick',shareHandler)}})(); /* ===== Embedding variants (server → client) ===== */ (function(){ window.__PD_VARIANTS_WITH_BRANCH__ = []; })(); /* ===== Helper: update angka popover ===== */ function updateStockPopoverForVariant(v){ try{ const elMeg = document.getElementById('sp-qty-meg'); const elMdf = document.getElementById('sp-qty-mdf'); const elBda = document.getElementById('sp-qty-bda'); if (typeof v?.smm === 'number' && elMeg) elMeg.textContent = formatStockLabel(Math.max(0, v.smm|0)); if (typeof v?.smf === 'number' && elMdf) elMdf.textContent = formatStockLabel(Math.max(0, v.smf|0)); if (typeof v?.sba === 'number' && elBda) elBda.textContent = formatStockLabel(Math.max(0, v.sba|0)); }catch(_){} } /* ===== applyVariant: 10+ dan update popover ===== */ (function patchApplyVariant(){ if (typeof applyVariant !== 'function') return; const original = applyVariant; window.applyVariant = function(v){ original(v); try { const elStock = document.getElementById('pd-stock-badge'); if (elStock){ let txt = elStock.textContent || ''; let m = txt.match(/\d+/); if (m) { const n = parseInt(m[0]||'0',10)||0; elStock.textContent = (n>0) ? ('Stok: ' + formatStockLabel(n)) : 'Habis'; } } } catch(_){} if(window.__PD_VARIANTS_WITH_BRANCH__&&v){const vv=window.__PD_VARIANTS_WITH_BRANCH__.find(x=>x.id===v.id)||v;updateStockPopoverForVariant(vv)} }; })(); (function initCurrentVariantBranch(){ const list = window.__PD_VARIANTS_WITH_BRANCH__ || []; if (!list.length) return; const hid = document.getElementById('pd-variant-id'); const vid = hid ? parseInt(hid.value||'0',10) : 0; const current = list.find(x => x.id === vid) || list[0] || null; if (current) updateStockPopoverForVariant(current); })(); (function(){ if (!window.ga4Ecomm) return; const catSegs = ["Komputer & Laptop","Laptop","Gaming"]; window.ga4Ecomm.viewItem({ currency: 'IDR', value: 20789000, item_id: "1S83N0880RID", item_name: "Lenovo Legion Go 8ASP2 - 83N0000RID /AMD Ryzen Z2 Extreme/32GB/1TB SSD/AMD Radeon Graphics/8.8\" WUXGA OLED Touch/Win 11 Home/Eclipse Black/3Y", item_brand: "Lenovo ", item_category: catSegs && catSegs.length ? catSegs.join(' / ') : '' }); })(); (function patchApplyVariantFocus(){ if (typeof applyVariant !== 'function') return; const original = applyVariant; window.applyVariant = function(v, focusImage = true){ original(v, focusImage); if (focusImage && v && v.image_url) { _0xau1v(v.image_url); } }; })(); (function() { var soldMap = []; var soldTotalLabel = "Terjual 2"; function formatSoldLabel(qty) { if (qty >= 1000000) { var v = Math.floor((qty / 100000) ) / 10; return 'Terjual ' + (String(v).replace('.', ',')) + 'jt+'; } if (qty >= 1000) { var v2 = Math.floor((qty / 100) ) / 10; return 'Terjual ' + (String(v2).replace('.', ',')) + 'rb+'; } if (qty >= 100) { var v2 = Math.floor((qty / 100) ) * 100; return 'Terjual ' + (String(v2).replace('.', ',')) + '+'; } if (qty >= 10) { var v2 = Math.floor((qty / 10) ) * 10; return 'Terjual ' + (String(v2).replace('.', ',')) + '+'; } return 'Terjual ' + (qty.toLocaleString('id-ID')); } function updateSoldLabel(labelText) { var el = document.querySelector('#pd-sold-inline, [data-role="sold-chip"]'); if (el) el.textContent = labelText; } window.updateSoldBySku = function(sku) { if (!sku || typeof sku !== 'string') { updateSoldLabel(soldTotalLabel); return; } var qty = soldMap[sku] || 0; updateSoldLabel(formatSoldLabel(qty)); }; updateSoldLabel(soldTotalLabel); })(); (function(){const h=document.getElementById('pd-sticky-header');if(!h)return;const p=document.getElementById('pd-price-anchor');const ac=document.getElementById('pd-sticky-add-cart');const by=document.getElementById('pd-sticky-buy');let lt=window.scrollY;let tk=false;function u(){if(!p)return;const r=p.getBoundingClientRect();const s=window.scrollY;if(r.top0){pd.variant_id=variantId}if(variantSummary){pd.variant_summary=variantSummary}return pd} const ch=document.getElementById('pd-sticky-chat');if(ch){ch.addEventListener('click',function(e){e.preventDefault();if(!window.plazaChat){console.warn('Chat widget not loaded');return}window.plazaChat.attachProduct(getChatProductData());window.plazaChat.openWidget()})}const dch=document.getElementById('btn-chat-icon');if(dch){dch.addEventListener('click',function(e){e.preventDefault();if(!window.plazaChat){console.warn('Chat widget not loaded');return}window.plazaChat.attachProduct(getChatProductData());window.plazaChat.openWidget()})}const mch=document.getElementById('mf-chat');if(mch){mch.addEventListener('click',function(e){e.preventDefault();if(!window.plazaChat){console.warn('Chat widget not loaded');return}window.plazaChat.attachProduct(getChatProductData());window.plazaChat.openWidget()})}window.addEventListener('pd-variant-changed',function(e){const d=e.detail||{};if(d.price!==undefined){const sp=document.getElementById('pd-sticky-price');if(sp){sp.textContent=formatRupiah(d.price)}}if(d.originalPrice!==undefined&&d.originalPrice>d.price){const so=document.getElementById('pd-sticky-price-original');if(so){so.textContent=formatRupiah(d.originalPrice);so.style.display=''}}else{const so=document.getElementById('pd-sticky-price-original');if(so){so.style.display='none'}}if(d.discount!==undefined&&d.discount>0){const sd=document.getElementById('pd-sticky-discount');if(sd){sd.textContent='-'+d.discount+'%';sd.style.display=''}}else{const sd=document.getElementById('pd-sticky-discount');if(sd){sd.style.display='none'}}const hs=d.stock>0;if(ac){ac.disabled=!hs}if(by){by.disabled=!hs}});function formatRupiah(n){return'Rp'+Math.floor(n).toLocaleString('id-ID')}})(); (function(){const t=document.getElementById('pdv-toggle-btn');const v=document.getElementById('pd-voucher-section');if(t&&v){const h=v.querySelectorAll('.pdv-min-hidden');const n=h.length;t.addEventListener('click',function(){const e=t.classList.toggle('expanded');h.forEach(function(i){if(e){i.classList.remove('pdv-min-hidden')}else{i.classList.add('pdv-min-hidden')}});t.textContent=e?'Tutup':'+'+n})}const m=document.getElementById('voucher-detail-modal');const mc=document.getElementById('voucher-modal-close');const ma=document.getElementById('voucher-modal-cancel');const mcp=document.getElementById('voucher-modal-copy');if(m){const bb=document.querySelectorAll('.pdv-badge-btn');bb.forEach(function(btn){btn.addEventListener('click',function(){if(btn.disabled)return;const c=btn.getAttribute('data-voucher-code');const nm=btn.getAttribute('data-voucher-name');const dl=btn.getAttribute('data-discount-label');const bl=btn.getAttribute('data-badge-label');const mp=parseInt(btn.getAttribute('data-min-purchase'));const md=parseInt(btn.getAttribute('data-max-discount'));const vu=btn.getAttribute('data-valid-until');document.getElementById('voucher-modal-badge').innerHTML=''+dl+''+bl+'';document.getElementById('voucher-modal-code').textContent=c;document.getElementById('voucher-modal-name').textContent=nm;const me=document.getElementById('voucher-modal-min');if(mp>0){me.style.display='';document.getElementById('voucher-modal-min-val').textContent=fr(mp)}else{me.style.display='none'}const xe=document.getElementById('voucher-modal-max');if(md>0){xe.style.display='';document.getElementById('voucher-modal-max-val').textContent=fr(md)}else{xe.style.display='none'}if(vu){const d=new Date(vu);const ft=d.toLocaleDateString('id-ID',{day:'numeric',month:'long',year:'numeric',hour:'2-digit',minute:'2-digit'});document.getElementById('voucher-modal-valid-val').textContent=ft}mcp.setAttribute('data-code',c);m.classList.add('show');document.body.style.overflow='hidden'})});function cm(){m.classList.remove('show');document.body.style.overflow=''}if(mc)mc.addEventListener('click',cm);if(ma)ma.addEventListener('click',cm);m.addEventListener('click',function(e){if(e.target===m)cm()});if(mcp){mcp.addEventListener('click',function(){const c=mcp.getAttribute('data-code');if(!c)return;if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(c).then(function(){smc()}).catch(function(err){fc(c)})}else{fc(c)}})}}const b=document.querySelectorAll('.pdv-min-copy');b.forEach(function(btn){btn.addEventListener('click',function(){if(btn.disabled)return;const code=btn.getAttribute('data-code');if(!code)return;if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(code).then(function(){sc(btn)}).catch(function(err){fc(code,btn)})}else{fc(code,btn)}})});function fc(text,btn){const tx=document.createElement('textarea');tx.value=text;tx.style.position='fixed';tx.style.opacity='0';document.body.appendChild(tx);tx.select();try{document.execCommand('copy');if(btn)sc(btn);else smc()}catch(err){}document.body.removeChild(tx)}function sc(btn){const o=btn.textContent;btn.classList.add('copied');btn.textContent='✓ Tersalin';setTimeout(function(){btn.classList.remove('copied');btn.textContent=o},2000)}function smc(){const o=mcp.textContent;mcp.textContent='✓ Kode Tersalin';mcp.style.background='#c52222';setTimeout(function(){mcp.textContent=o;mcp.style.background=''},2000)}function fr(a){return'Rp'+Math.floor(a).toLocaleString('id-ID')}})();

Butuh Bantuan?

Hubungi kami melalui Official WhatsApp interaktif sekarang.

Kirim Pesan

Ikuti kami:

Tentang RAJABANDOT

PT PRIMAJAYA MULTI TECHNOLOGY

JL. Asia Raya Blok BB No. 12-A, Kel. Sukaramai II, Kec.

Medan Area, Kota Medan, Sumatera Utara, 20216

TISU-AJAIB © 2026 PT TISU-AJAIB. All rights reserved.