1import{closeModal as w,openModal as Q}from"./actions-CotCyyH5.js";import{l as X,a as z}from"./app-DdIkYXVQ.js";import"./module.esm-S4M4TpEG.js";const B=new Date,R=document.querySelector('meta[name="csrf-token"]')?.getAttribute("content"),x={"Content-Type":"application/json",Accept:"application/json",...R&&{"X-CSRF-TOKEN":R}},$=document.getElementById("logout-btn");$&&$.addEventListener("click",async e=>{e.preventDefault(),await X(),toastr.success("ÐÑ Ð²ÑÑли из ÑиÑÑемÑ"),window.location.reload&&window.location.reload()});const k=document.getElementById("login-email-input"),D=document.getElementById("login-password-input"),f=document.getElementById("login-btn");function O(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}function l(e,o){e.classList.add("border-secondary"),e.classList.remove("border-secondary"),toastr.error(o)}function m(e){e.classList.remove("border-secondary")}const V=document.querySelector("#login-form");f&&f.addEventListener("click",async e=>{e.preventDefault(),m(k),m(D);const o=k.value.trim(),i=D.value;let s=!0;if(o||(l(k,"ÐожалÑйÑÑа, введиÑе E-mail или логин."),s=!1),i||(l(D,"ÐожалÑйÑÑа, введиÑе паÑолÑ."),s=!1),!s)return;f.disabled=!0,f.textContent="ÐÑ
од...";const a=await z(o,i);console.log("РезÑлÑÑÐ°Ñ Ð°Ð²ÑоÑизаÑии:",a),a.success?(toastr.success("ÐÑ
од вÑполнен!"),w("login-modal"),V&&V.reset(),window.location.pathname==="/default-page"?window.location.replace("/"):setTimeout(()=>{window.location.reload()},1e3)):(l(k,a.error),toastr.error(a.error),f.disabled=!1,f.textContent="ÐойÑи")});const _=document.getElementById("register-name-input"),S=document.getElementById("register-login-input"),E=document.getElementById("register-email-input"),I=document.getElementById("register-password-input"),j=document.getElementById("register-repeat-password-input"),G=document.getElementById("register-agreement-input"),p=document.getElementById("register-btn"),M=document.querySelector("#register-form");p&&p.addEventListener("click",async e=>{e.preventDefault(),m(_),m(S),m(E),m(I),m(j);const o=_.value.trim(),i=S.value.trim(),s=E.value.trim(),a=I.value,d=j.value,c=G.checked;let t=!0;if(o||(l(_,"ÐожалÑйÑÑа, введиÑе название агенÑÑÑва."),t=!1),i||(l(S,"ÐожалÑйÑÑа, введиÑе логин."),t=!1),s?O(s)||(l(E,"ÐекоÑÑекÑнÑй ÑоÑÐ¼Ð°Ñ E-mail."),t=!1):(l(E,"ÐожалÑйÑÑа, введиÑе E-mail."),t=!1),a?a.length<8&&(l(I,"ÐаÑÐ¾Ð»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ Ð½Ðµ менее 8 Ñимволов."),t=!1):(l(I,"ÐожалÑйÑÑа, введиÑе паÑолÑ."),t=!1),a!==d&&(l(j,"ÐаÑоли не ÑовпадаÑÑ."),t=!1),c||(toastr.error("ÐожалÑйÑÑа, пÑимиÑе ÑÑÐ»Ð¾Ð²Ð¸Ñ ÑоглаÑениÑ."),t=!1),!!t){p.disabled=!0,p.textContent="РегиÑÑÑаÑиÑ...";try{const r=await fetch("/api/agency-registrations",{method:"POST",headers:x,credentials:"include",body:JSON.stringify({company_name:o,email:s,login:i,password:a,agreement:c})}),n=await r.json();if(r.ok)toastr.success("РегиÑÑÑаÑÐ¸Ñ ÑÑпеÑно завеÑÑена! ÐÐ¾Ð¼ÐµÑ Ð·Ð°Ñвки: "+n.request_number+". ÐаÑа заÑвка бÑÐ´ÐµÑ ÑаÑÑмоÑÑена админиÑÑÑаÑоÑом. ÐоÑле одобÑÐµÐ½Ð¸Ñ Ð²Ñ ÑможеÑе войÑи в ÑиÑÑемÑ."),w("register-modal"),Q("register-success-modal"),M&&M.reset(),window.location.pathname==="/default-page"&&window.location.replace("/");else{let u="ÐÑибка ÑегиÑÑÑаÑии.";if(n.errors){const h=Object.values(n.errors)[0];u=Array.isArray(h)?h[0]:h}else n.message&&(u=n.message);toastr.error(u),n.errors?.email&&l(E,n.errors.email[0]),n.errors?.login&&l(S,n.errors.login[0]),n.errors?.company_name&&l(_,n.errors.company_name[0]),n.errors?.password&&l(I,n.errors.password[0])}}catch(r){console.error("СеÑÐµÐ²Ð°Ñ Ð¾Ñибка пÑи оÑпÑавке:",r),toastr.error("Ðе ÑдалоÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ðº ÑеÑвеÑÑ.")}finally{p.disabled=!1,p.textContent="ÐаÑегиÑÑÑиÑоваÑÑÑÑ"}}});const v=document.getElementById("forgot-password-email-input"),C=document.getElementById("forgot-password-input"),A=document.getElementById("forgot-password-repeat-input"),g=document.getElementById("forgot-password-btn-1"),y=document.getElementById("forgot-password-btn-2"),N=document.querySelector("#forgot-password-form-1");g&&g.addEventListener("click",async e=>{e.preventDefault(),m(v);const o=v.value.trim();let i=!0;if(o?O(o)||(l(v,"ÐекоÑÑекÑнÑй ÑоÑÐ¼Ð°Ñ E-mail."),i=!1):(l(v,"ÐожалÑйÑÑа, введиÑе E-mail."),i=!1),!!i){g.disabled=!0,g.textContent="ÐÑпÑавка...";try{const s=await fetch("/api/agency/forgot-password",{method:"POST",headers:x,credentials:"include",body:JSON.stringify({email:o})});if(s.ok){const a=await s.json();toastr.success(a.message),w("forgot-password-1-modal"),N&&N.reset()}else{const a=await s.json().catch(()=>({}));let d="ÐÑибка пÑи оÑпÑавке.";if(a.errors){const c=Object.values(a.errors)[0];Array.isArray(c)&&c.length>0&&(d=c[0])}else a.message&&(d=a.message);toastr.error(d),a.errors?.email&&l(v,d)}}catch(s){console.error("СеÑÐµÐ²Ð°Ñ Ð¾Ñибка пÑи оÑпÑавке:",s),toastr.error("Ðе ÑдалоÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ðº ÑеÑвеÑÑ.")}finally{g.disabled=!1,g.textContent="ÐÑпÑавиÑÑ"}}});
1const J=document.querySelector("#forgot-password-form-2");y&&y.addEventListener("click",async e=>{e.preventDefault(),m(C),m(A);const o=C.value,i=A.value;let s=!0;if(o?o.length<8&&(l(C,"ÐаÑÐ¾Ð»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ Ð½Ðµ менее 8 Ñимволов."),s=!1):(l(C,"ÐожалÑйÑÑа, введиÑе паÑолÑ."),s=!1),o!==i&&(l(A,"ÐаÑоли не ÑовпадаÑÑ."),s=!1),!s)return;y.disabled=!0,y.textContent="ÐÑпÑавка...";const a=document.getElementById("forgot-password-email-hidden"),d=document.getElementById("forgot-password-token-hidden"),c=a?a.value:null,t=d?d.value:null;if(!c||!t){toastr.error("ÐÑÑÑÑÑÑвÑÑÑ Ð´Ð°Ð½Ð½Ñе Ð´Ð»Ñ ÑбÑоÑа паÑолÑ. ÐожалÑйÑÑа, пеÑейдиÑе по ÑÑÑлке из пиÑÑма.");return}try{const r=await fetch("/api/agency/reset-password",{method:"POST",headers:x,credentials:"include",body:JSON.stringify({email:c,token:t,password:o,password_confirmation:i})});if(r.ok){const n=await r.json();toastr.success(n.message),w("forgot-password-2-modal"),J&&J.reset(),setTimeout(()=>{const u=new Date;u.setTime(u.getTime()+365*24*60*60*1e3);const h="expires="+u.toUTCString();document.cookie="user_type=agencies;"+h+";path=/;SameSite=Lax",window.location.href="/?user_type=agencies"},2e3)}else{const n=await r.json().catch(()=>({})),u=n.message||n.errors?.token?.[0]||n.errors?.email?.[0]||"ÐÑибка ÑоÑ
ÑанениÑ. ÐÑовеÑÑÑе пÑавилÑноÑÑÑ Ð´Ð°Ð½Ð½ÑÑ
.";toastr.error(u),r.status===422&&(n.errors?.token||u.includes("Ñокен"))&&setTimeout(()=>{w("forgot-password-2-modal"),window.location.href="/"},3e3)}}catch(r){console.error("СеÑÐµÐ²Ð°Ñ Ð¾Ñибка пÑи оÑпÑавке:",r),toastr.error("Ðе ÑдалоÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ðº ÑеÑвеÑÑ.")}finally{y.disabled=!1,y.textContent="СоÑ
ÑаниÑÑ"}});const F=document.getElementById("request-name-input"),q=document.getElementById("request-email-input"),T=document.getElementById("request-phone-input"),W=document.getElementById("request-text-input"),Z=document.getElementById("reviews-agreement-input"),b=document.getElementById("request-btn"),ee="/api/tour-requests";function te(e){return/^[\d\s()+-]{10,}$/.test(e)}const Y=document.querySelector("#request-form");b&&b.addEventListener("click",async e=>{e.preventDefault(),m(F),m(q),m(T);const o=F.value.trim(),i=q.value.trim(),s=T.value.trim(),a=W.value.trim(),d=Z.checked;let c=!0;if(o||(l(F,"ÐожалÑйÑÑа, введиÑе ваÑе имÑ."),c=!1),i?O(i)||(l(q,"ÐекоÑÑекÑнÑй ÑоÑÐ¼Ð°Ñ E-mail."),c=!1):(l(q,"ÐожалÑйÑÑа, введиÑе E-mail."),c=!1),s?te(s)||(l(T,"ÐекоÑÑекÑнÑй ÑоÑÐ¼Ð°Ñ ÑелеÑона."),c=!1):(l(T,"ÐожалÑйÑÑа, введиÑе Ð½Ð¾Ð¼ÐµÑ ÑелеÑона."),c=!1),d||(console.error("ÐÑибка: ÐеобÑ
одимо пÑинÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ ÑоглаÑениÑ."),toastr.error("ÐожалÑйÑÑа, пÑимиÑе ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð±ÑабоÑки даннÑÑ
."),c=!1),!!c)try{b.disabled=!0;const t=await fetch(ee,{method:"POST",headers:x,body:JSON.stringify({name:o,email:i,phone:s,comments:a||null,adults:1,agreement:!0,source_page:window.location.pathname+window.location.search})}),r=await t.json();if(t.ok)toastr.success("ÐаÑа заÑвка пÑинÑÑа! ÐÑ ÑкоÑо ÑвÑжемÑÑ Ñ Ð²Ð°Ð¼Ð¸."),Y&&Y.reset(),w("request-modal");else{const n=r.message||"ÐÑибка пÑи оÑпÑавке заÑвки.";toastr.error(n),console.error("ÐÑибка ÑеÑвеÑа:",r)}}catch(t){console.error("СеÑÐµÐ²Ð°Ñ Ð¾Ñибка пÑи оÑпÑавке заÑвки:",t),toastr.error("Ðе ÑдалоÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ðº ÑеÑвеÑÑ.")}finally{b.disabled=!1,b.textContent="ÐÑпÑавиÑÑ"}});const U=document.getElementById("reviews-date-input");U&&flatpickr(U,{mode:"range",dateFormat:"d.m.Y",locale:"ru",maxDate:B});const P=document.getElementById("exchange-rates-input");if(P){let i=function(t){const r=String(t.getDate()).padStart(2,"0"),n=String(t.getMonth()+1).padStart(2,"0"),u=t.getFullYear();return`${r}.${n}.${u}`},s=function(t){const r=t.split(".");return r.length===3?`${r[2]}-${r[1]}-${r[0]}`:null},a=function(t){return!t&&t!==0?"â":parseFloat(t).toFixed(4).replace(".",",")};const e=document.getElementById("exchange-rate-usd"),o=document.getElementById("exchange-rate-eur");async function d(t){const r=s(t);if(r)try{const n=await fetch(`/api/exchange-rates/by-date?date=${r}`);if(n.ok){const u=await n.json();e&&(e.textContent=a(u.usd)),o&&(o.textContent=a(u.eur))}else console.error("ÐÑибка пÑи полÑÑении кÑÑÑов валÑÑ"),e&&(e.textContent="â"),o&&(o.textContent="â")}catch(n){console.error("ÐÑибка пÑи запÑоÑе кÑÑÑов валÑÑ:",n),e&&(e.textContent="â"),o&&(o.textContent="â")}}const c=i(B);P.value=c,flatpickr(P,{dateFormat:"d.m.Y",locale:"ru",maxDate:B,onChange:function(t,r,n){r&&d(r)}}),d(c)}const H=document.getElementById("tours-date-from-input");H&&flatpickr(H,{dateFormat:"d.m.Y",locale:"ru",minDate:B});const K=document.getElementById("tours-date-to-input");K&&flatpickr(K,{dateFormat:"d.m.Y",locale:"ru",minDate:B});function L(e){const o=parseFloat(e.value),i=parseFloat(e.min),s=parseFloat(e.max);if(s>i){const a=(o-i)/(s-i)*100;e.style.setProperty("--range-percentage",a+"%")}}window.updateRangeStyle=L;
1document.querySelectorAll(".range-slider").forEach(e=>{L(e),e.addEventListener("input",()=>L(e))});document.querySelectorAll(".js-subscribe-btn").forEach(e=>{const o=e.closest(".js-subscribe-block"),i=o?o.querySelector(".js-subscribe-input"):document.querySelector(".js-subscribe-input"),s=e.closest("form")||e.closest("[data-list-type]")||o;e.addEventListener("click",async a=>{a.preventDefault();const d=i?i.value.trim():"";if(!d){toastr.error("ÐожалÑйÑÑа, введиÑе Ð²Ð°Ñ email.");return}let c="tourists";s&&s.dataset.listType?c=s.dataset.listType:window.Alpine&&window.Alpine.store&&window.Alpine.store("user")&&(c=window.Alpine.store("user").currentUserType==="agencies"?"agencies":"tourists");try{const t=await fetch("/api/newsletter-subscriptions",{method:"POST",headers:x,body:JSON.stringify({email:d,list_type:c})});if(t.ok){const r=await t.json();toastr.success(r.message),i&&(i.value="")}else{const r=await t.json();toastr.error(r.message||"ÐÑибка пÑи оÑпÑавке.")}}catch(t){console.error("СеÑÐµÐ²Ð°Ñ Ð¾Ñибка пÑи оÑпÑавке:",t),toastr.error("Ðе ÑдалоÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ðº ÑеÑвеÑÑ.")}})});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.