"use strict";document.addEventListener("DOMContentLoaded",(function(){let e=e=>document.getElementById(e),t=(e="")=>e.replace(/[&<>"']/g,(e=>({"&":"&","<":"<",">":">",'"':""","'":"'"}[e]))),n=null,a=0,s=null,i=null,o=1500,l=!0,r=!1,c=0,d=e("messages"),m=e("messageInput"),u=e("adminName"),p=e("unreadBadge");if(!d)return;let h,y=0;function v(){p&&(c>0?(p.textContent=c,p.style.display="inline-flex"):p.style.display="none")}let f=()=>d.scrollTop=d.scrollHeight;function w(e){let n=`
${t(e)}
`;d.insertAdjacentHTML("beforeend",n),f()}async function g(){if(!n||!l)return L();i?.abort(),i=new AbortController;try{let s=await fetch(`/livechat/fetch.php?session=${encodeURIComponent(n)}&last=${a}`,{signal:i.signal,cache:"no-store"}),r=await s.json();Array.isArray(r)&&r.forEach((n=>{if(n.id>a){var s;let i;a=n.id,i="","system"===(s=n).sender?i=`
\n ${t(s.admin_name||"System")} ${t(s.text)}\n
`:"admin"===s.sender?(function(e){if(!(e<=y)){y=e;try{h||=new(window.AudioContext||window.webkitAudioContext),"suspended"===h.state&&h.resume();let e=h.createOscillator(),t=h.createGain();e.frequency.value=900,t.gain.value=.15,e.connect(t),t.connect(h.destination),e.start(),e.stop(h.currentTime+.15)}catch{}}}(s.id),navigator.vibrate&&navigator.vibrate([120,60,120]),l&&e("chatBox")?.classList.contains("open")||(c++,v()),i=`
\n ${t(s.admin_name||"Support")}
\n ${t(s.text)}\n
`,u&&(u.textContent=s.admin_name||"Support")):"user"===s.sender&&(i=`
${t(s.text)}
`),i&&(d.insertAdjacentHTML("beforeend",i),f())}})),o=1500}catch{o=Math.min(1.5*o,8e3)}L()}function L(e=o){clearTimeout(s),s=setTimeout(g,e)}document.addEventListener("visibilitychange",(()=>{(l=!document.hidden)&&(c=0,v()),l&&n&&L(500)})),window.startChat=async()=>{let t=e("chatName")?.value.trim(),s=e("chatPhone")?.value.trim(),i=e("chatCity")?.value.trim(),o=e("chatEmail")?.value.trim();if(t&&s&&i)try{let l=await fetch("/livechat/session.php",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({name:t,phone:s,city:i,email:o})}),r=await l.json();if(!r.session)return;n=r.session,a=0,y=0,c=0,v(),e("userForm")?.style.setProperty("display","none"),e("chatInput")?.style.setProperty("display","flex"),d.style.display="flex",d.innerHTML="",w("You are now connected to our support team."),L(300)}catch{alert("Chat connection failed")}else alert("Please fill required fields")},window.sendMessage=()=>{if(!n)return;let e=m.value.trim();e&&(m.value="",fetch("/livechat/send.php",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({session:n,message:e})}))},m?.addEventListener("keydown",(e=>{"Enter"===e.key&&sendMessage()})),window.endChat=()=>{n&&(fetch("/livechat/close.php",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({session:n})}),w("You have left the chat."),n=null,a=0,y=0,c=0,v(),e("chatInput")?.style.setProperty("display","none"),e("userForm")?.style.setProperty("display","flex"),d.style.display="none",d.innerHTML="",e("chatBox")?.classList.remove("open"))},e("chatToggle")?.addEventListener("click",(()=>{e("chatBox")?.classList.toggle("open"),e("chatBox")?.classList.contains("open")&&(c=0,v()),r||(r=!0,L(500))})),e("closeBtn")?.addEventListener("click",(()=>e("chatBox")?.classList.remove("open"))),e("menuBtn")?.addEventListener("click",(t=>{t.stopPropagation();let n=e("chatMenu");n&&(n.style.display="block"===n.style.display?"none":"block")})),document.addEventListener("click",(()=>{let t=e("chatMenu");t&&(t.style.display="none")})),window.addEventListener("beforeunload",(()=>{n&&navigator.sendBeacon("/livechat/close.php",new URLSearchParams({session:n}))}))}),{once:!0});