1/* ASYR Hotel â interactions & i18n */ 2 3(function () { 4 "use strict"; 5 6 const yearEl = document.getElementById("year"); 7 if (yearEl) yearEl.textContent = String(new Date().getFullYear()); 8 9 /* Sticky header state */ 10 const header = document.querySelector(".site-header"); 11 const onScroll = () => { 12 if (!header) return; 13 header.classList.toggle("is-scrolled", window.scrollY > 8); 14 }; 15 window.addEventListener("scroll", onScroll, { passive: true }); 16 onScroll(); 17 18 /* Mobile nav toggle */ 19 const nav = document.getElementById("mainNav"); 20 const toggle = document.querySelector(".nav-toggle"); 21 const closeNav = () => { 22 if (!nav || !toggle) return; 23 nav.classList.remove("is-open"); 24 toggle.setAttribute("aria-expanded", "false"); 25 }; 26 if (nav && toggle) { 27 toggle.addEventListener("click", () => { 28 const open = nav.classList.toggle("is-open"); 29 toggle.setAttribute("aria-expanded", open ? "true" : "false"); 30 }); 31 nav.querySelectorAll(".nav-link:not(.nav-dd-toggle), .nav-dd-link").forEach((el) => { 32 el.addEventListener("click", closeNav); 33 }); 34 document.addEventListener("click", (e) => { 35 if ( 36 nav.classList.contains("is-open") && 37 !nav.contains(e.target) && 38 !toggle.contains(e.target) 39 ) { 40 closeNav(); 41 } 42 }); 43 window.addEventListener("keydown", (e) => { 44 if (e.key === "Escape") closeNav(); 45 }); 46 } 47 48 /* Hero background video (self-hosted, autoplay safeguard) */ 49 const heroVideoEl = document.getElementById("hero-video"); 50 if (heroVideoEl) { 51 heroVideoEl.muted = true; 52 const tryPlay = () => { 53 const p = heroVideoEl.play(); 54 if (p && typeof p.catch === "function") p.catch(() => {}); 55 }; 56 tryPlay(); 57 // Some browsers block autoplay until first interaction â retry then. 58 ["click", "touchstart", "scroll"].forEach((evt) => 59 window.addEventListener(evt, tryPlay, { once: true, passive: true }) 60 ); 61 heroVideoEl.addEventListener("error", () => { 62 const wrap = heroVideoEl.closest(".hero-video"); 63 if (wrap) wrap.style.display = "none"; 64 }); 65 } 66 67 /* Carousels */ 68 document.querySelectorAll("[data-carousel]").forEach((root) => { 69 const track = root.querySelector(".carousel-track"); 70 const slides = Array.from(root.querySelectorAll(".carousel-slide")); 71 const prev = root.querySelector(".carousel-prev"); 72 const next = root.querySelector(".carousel-next"); 73 const dotsWrap = root.querySelector(".carousel-dots"); 74 if (!track || slides.length === 0) return; 75 let index = 0; 76 77 const dots = slides.map((_, i) => { 78 const b = document.createElement("button"); 79 b.type = "button"; 80 b.addEventListener("click", () => go(i, true)); 81 dotsWrap && dotsWrap.appendChild(b); 82 return b; 83 }); 84 85 function go(i, user) { 86 index = (i + slides.length) % slides.length; 87 track.style.transform = `translateX(-${index * 100}%)`; 88 dots.forEach((d, di) => d.classList.toggle("active", di === index)); 89 if (user) restart(); 90 } 91 92 prev && prev.addEventListener("click", () => go(index - 1, true)); 93 next && next.addEventListener("click", () => go(index + 1, true)); 94 95 let timer = null; 96 const delay = parseInt(root.getAttribute("data-autoplay"), 10); 97 function restart() { 98 if (!delay) return; 99 clearInterval(timer); 100 timer = setInterval(() => go(index + 1), delay); 101 } 102 if (delay) { 103 restart(); 104 root.addEventListener("mouseenter", () => clearInterval(timer)); 105 root.addEventListener("mouseleave", restart); 106 } 107 go(0); 108 }); 109 110 /* Gallery & reviews lightbox */ 111 const lightbox = document.getElementById("lightbox"); 112 if (lightbox) { 113 const lbImg = document.getElementById("lightbox-img"); 114 const closeBtn = lightbox.querySelector(".lightbox-close"); 115 const prevBtn = lightbox.querySelector(".lightbox-prev"); 116 const nextBtn = lightbox.querySelector(".lightbox-next"); 117 let items = []; 118 let current = 0; 119 120 function open(i) { 121 if (!items.length) return; 122 current = (i + items.length) % items.length; 123 lbImg.src = items[current].src; 124 lbImg.alt = items[current].alt || ""; 125 lightbox.classList.add("is-open"); 126 lightbox.setAttribute("aria-hidden", "false"); 127 document.body.style.overflow = "hidden"; 128 } 129 function close() { 130 lightbox.classList.remove("is-open"); 131 lightbox.setAttribute("aria-hidden", "true"); 132 document.body.style.overflow = ""; 133 } 134
135 document.querySelectorAll("[data-lightbox]").forEach((grid) => { 136 const imgs = Array.from(grid.querySelectorAll("img")); 137 imgs.forEach((img, i) => { 138 const trigger = 139 img.closest(".gallery-item, .review-proof, button") || img; 140 if (!trigger || trigger === grid) return; 141 trigger.style.cursor = "pointer"; 142 trigger.addEventListener("click", (e) => { 143 e.preventDefault(); 144 items = imgs; 145 open(i); 146 }); 147 }); 148 }); 149 150 closeBtn && closeBtn.addEventListener("click", close); 151 prevBtn && prevBtn.addEventListener("click", () => open(current - 1)); 152 nextBtn && nextBtn.addEventListener("click", () => open(current + 1)); 153 lightbox.addEventListener("click", (e) => { 154 if (e.target === lightbox) close(); 155 }); 156 window.addEventListener("keydown", (e) => { 157 if (!lightbox.classList.contains("is-open")) return; 158 if (e.key === "Escape") close(); 159 if (e.key === "ArrowLeft") open(current - 1); 160 if (e.key === "ArrowRight") open(current + 1); 161 }); 162 } 163 164 /* Scroll reveal */ 165 const revealEls = document.querySelectorAll( 166 ".hotel-block, .card-item, .conference-content, .restaurant-content, .about-content, .offer-panel, .benefit, .review-card" 167 ); 168 revealEls.forEach((el, i) => { 169 el.classList.add("reveal"); 170 el.style.setProperty("--i", String(i % 8)); 171 }); 172 173 if ("IntersectionObserver" in window) { 174 const io = new IntersectionObserver( 175 (entries) => { 176 entries.forEach((entry) => { 177 if (entry.isIntersecting) { 178 entry.target.classList.add("is-visible"); 179 io.unobserve(entry.target); 180 } 181 }); 182 }, 183 { threshold: 0.12, rootMargin: "0px 0px -40px 0px" } 184 ); 185 revealEls.forEach((el) => io.observe(el)); 186 } else { 187 revealEls.forEach((el) => el.classList.add("is-visible")); 188 } 189 190 /* Default dates: today / tomorrow */ 191 const today = new Date(); 192 const tomorrow = new Date(today); 193 tomorrow.setDate(tomorrow.getDate() + 1); 194 const fmt = (d) => d.toISOString().slice(0, 10); 195 196 const checkin = document.getElementById("checkin"); 197 const checkout = document.getElementById("checkout"); 198 const offerDates = document.getElementById("offer-dates"); 199 if (checkin) { 200 checkin.value = fmt(today); 201 checkin.min = fmt(today); 202 } 203 if (checkout) { 204 checkout.value = fmt(tomorrow); 205 checkout.min = fmt(tomorrow); 206 } 207 if (offerDates) { 208 offerDates.value = fmt(today); 209 offerDates.min = fmt(today); 210 } 211 212 if (checkin && checkout) { 213 checkin.addEventListener("change", () => { 214 const next = new Date(checkin.value); 215 next.setDate(next.getDate() + 1); 216 checkout.min = fmt(next); 217 if (checkout.value <= checkin.value) checkout.value = fmt(next); 218 }); 219 } 220 221 /* âââ i18n RU / EN âââ */ 222 const dict = { 223 ru: { 224 tagline: "СеÑÑ Ð¾Ñелей в ÐÑÑане", 225 nav_home: "ÐлавнаÑ", 226 nav_hotels: "ÐÑели", 227 nav_all_hotels: "ÐÑе ÑилиалÑ", 228 nav_advantages: "ÐÑеимÑÑеÑÑва", 229 nav_rooms: "ÐомеÑа", 230 nav_conference: "ÐонÑеÑенÑ-зал", 231 nav_restaurant: "РеÑÑоÑан", 232 nav_about: "РнаÑ", 233 nav_contacts: "ÐонÑакÑÑ", 234 cta_book: "ÐабÑониÑоваÑÑ Ð½Ð¾Ð¼ÐµÑ", 235 cta_hotels: "ÐÑбÑаÑÑ Ð¾ÑелÑ", 236 cta_find: "ÐайÑи ÑвободнÑй номеÑ", 237 cta_wa: "ÐапиÑаÑÑ Ð² WhatsApp", 238 wa_text: "ÐдÑавÑÑвÑйÑе, пиÑÑ Ñ ÑайÑа. (ÐÑоÑим ÐÐ ÑдалÑÑÑ Ð³Ð¾Ñовое ÑообÑение).", 239 cta_tg: "СвÑзаÑÑÑÑ Ð² Telegram", 240 hero_title: "ÐознайÑе иÑÑинное ÐºÐ°Ð·Ð°Ñ Ñкое гоÑÑепÑиимÑÑво в ÐÑÑане", 241 hero_desc: 242 "СеÑÑ ÑовÑеменнÑÑ Ð¾Ñелей ASYR â ÑÑо идеалÑнÑй вÑÐ±Ð¾Ñ Ð´Ð»Ñ ÑÐµÑ , кÑо ÑÐµÐ½Ð¸Ñ Ð¸ÑкÑеннее Ñепло, домаÑний ÑÑÑ Ð¸ безÑпÑеÑнÑй ÑеÑÐ²Ð¸Ñ Ð² Ñамом ÑеÑдÑе делового ÑенÑÑа ÑÑолиÑÑ. ÐÑоÑÑоÑнÑе номеÑа, ÑиÑина и внимание к каждой деÑали Ð´Ð»Ñ Ð²Ð°Ñего оÑдÑÑ Ð° и Ð²Ð´Ð¾Ñ Ð½Ð¾Ð²ÐµÐ½Ð¸Ñ.", 243 eb_hero: "ÐÑÑана · ÐÐ°Ð·Ð°Ñ ÑÑан", 244 eb_booking: "Ðнлайн-бÑониÑование", 245 eb_hotels: "ÐаÑи оÑели", 246 eb_gallery: "ФоÑогалеÑеÑ", 247 eb_reviews: "ÐÑзÑвÑ", 248 reviews_title: "ÐÑзÑÐ²Ñ Ð³Ð¾ÑÑей", 249 gallery_title: "ÐÑмоÑÑеÑа оÑелей ASYR", 250 gal1: "ФаÑÐ°Ð´Ñ Ð¸ ÑеÑÑиÑоÑиÑ", 251 gal2: "ÐÑоÑÑоÑнÑе номеÑа", 252 gal3: "ÐавÑÑаки и ÑеÑÑоÑанÑ", 253 gal4: "ÐонÑеÑенÑ-зал", 254 gal5: "ÐаÑÑейн и ÑиÑнеÑ", 255 gal6: "Ðобби и Ð·Ð¾Ð½Ñ Ð¾ÑдÑÑ Ð°", 256 gallery_note: 257 "ÐамениÑе плейÑÑ Ð¾Ð»Ð´ÐµÑÑ Ð½Ð° ÑеалÑнÑе ÑоÑогÑаÑии оÑелей в папке images/gallery.", 258 eb_adv: "ÐÑеимÑÑеÑÑва", 259 eb_conf: "ÐеÑопÑиÑÑиÑ", 260 eb_aud: "ÐÐ»Ñ ÐºÐ¾Ð³Ð¾", 261 eb_about: "РбÑенде", 262 eb_offer: "ÐÑÑмое бÑониÑование", 263 stat1_prefix: "", 264 stat1_label: "оÑÐµÐ»Ñ Ð² ÐÑÑане", 265 stat2_label: "номеÑов", 266 qb1: "10 минÑÑ Ð¾Ñ Ð°ÑÑопоÑÑа â бÑÑÑÑÑй маÑÑÑÑÑ Ð±ÐµÐ· пÑобок.", 267 qb2: "ÐеликолепнÑй вид на EXPO â паноÑамнÑе Ð²Ð¸Ð´Ñ Ð½Ð° главнÑÑ Ð´Ð¾ÑÑопÑимеÑаÑелÑноÑÑÑ.", 268 qb3: "100 паÑковоÑнÑÑ Ð¼ÐµÑÑ Ð±ÐµÑплаÑно â болÑÑÐ°Ñ Ð¿Ð°Ñковка Ð´Ð»Ñ Ð²Ð°Ñего авÑо.", 269 qb4: "ÐкÑÑнÑй завÑÑак вклÑÑен â ÑÑÑное наÑало Ð´Ð½Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ гоÑÑÑ.", 270 booking_lead: "ÐÑбеÑиÑе даÑÑ Ð¿Ð¾ÐµÐ·Ð´ÐºÐ¸", 271 booking_lead2: "и забÑониÑÑйÑе лÑÑÑий номеÑ", 272 booking_lead_hl: "за 1 минÑÑÑ", 273 label_checkin: "Ðаезд", 274 label_checkout: "ÐÑезд", 275 label_hotel: "ÐÑелÑ", 276 label_dates: "ÐÑÐ±Ð¾Ñ Ð´Ð°Ñ", 277 label_hotel_pick: "ÐÑÐ±Ð¾Ñ Ð¾ÑелÑ", 278 exely_note: "", 279 hotels_title: "ÐÑбеÑиÑе ÑдобнÑй Ð´Ð»Ñ Ð²Ð°Ñ Ñилиал Asyr Hotel в ÐÑÑане", 280 hotel3_badge: "СкоÑо оÑкÑÑÑие", 281 hotel1_address: 282 "г. ÐÑÑана, пÑоÑÐ¿ÐµÐºÑ Ðабанбай баÑÑÑа, 53 (на ÑеÑÑиÑоÑии кампÑÑа ÐазаÑбаев УнивеÑÑиÑеÑа)", 283 hotel1_rooms: "60 комÑоÑÑнÑÑ Ð½Ð¾Ð¼ÐµÑов", 284 hotel1_desc: 285 "Ð¢Ð¸Ñ Ð¸Ð¹, зелÑнÑй и Ð¾Ñ ÑанÑемÑй Ñайон, в двÑÑ ÑÐ°Ð³Ð°Ñ Ð¾Ñ Ð¢Ð Ð¦ MEGA Silk Way. ÐодойдÑÑ Ð¸ Ð´Ð»Ñ Ñемейного оÑдÑÑ Ð°, и Ð´Ð»Ñ Ð´ÐµÐ»Ð¾Ð²ÑÑ Ð¿Ð¾ÐµÐ·Ð´Ð¾Ðº.", 286 hotel1_cta: "ÐабÑониÑоваÑÑ Ð½Ð° Ðабанбай", 287 hotel_more: "ÐодÑобнее о Ñилиале", 288 branch_name_qb: "Филиал на пÑоÑпекÑе Ðабанбай баÑÑÑа", 289 branch_name_ex: "Филиал на ÐкÑпо", 290 branch_name_tu: "Филиал на пÑоÑпекÑе ТÑÑан", 291 branches_other: "ÐÑÑгие ÑÐ¸Ð»Ð¸Ð°Ð»Ñ ASYR Hotel", 292 branch_photos: "ФоÑогÑаÑии", 293 branch_breakfast_kicker: "ÐавÑÑаки", 294 branch_breakfast_title: "ШведÑкий ÑÑол и завÑÑаки ASYR", 295 branch_address_label: "ÐдÑеÑ:", 296 branch_wa: "WhatsApp", 297 branch_wa_action: "ÐапиÑаÑÑ", 298 branch_routes: "ÐоÑÑÑоиÑÑ Ð¼Ð°ÑÑÑÑÑ", 299 branch_call: "ÐозвониÑÑ", 300 branch_map_hint: "Ðак добÑаÑÑÑÑ", 301 hotel2_address: "г. ÐÑÑана, Ñл. ТÑÑÐ°Ñ Ð ÑÑкÑлова, 5/1", 302 hotel2_rooms: "16 ÑовÑеменнÑÑ Ð½Ð¾Ð¼ÐµÑов", 303 hotel2_desc: 304 "СÑилÑнÑй оÑÐµÐ»Ñ Ð² непоÑÑедÑÑвенной близоÑÑи Ð¾Ñ Ð²ÑÑÑавоÑного комплекÑа EXPO и СÑеÑÑ Â«ÐÑÑ Ðлем». ÐÑекÑаÑнÑе паноÑамнÑе Ð²Ð¸Ð´Ñ Ð½Ð° Ñ
304ÑÑÑÑиÑÑиÑеÑкÑÑ Ð°ÑÑ Ð¸ÑекÑÑÑÑ ÑÑолиÑÑ, вÑÑокий ÑÑÐ¾Ð²ÐµÐ½Ñ ÑиÑÐ¸Ð½Ñ Ð¸ комÑоÑÑа Ð´Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾Ñенного оÑдÑÑ Ð° поÑле пÑодÑкÑивного днÑ.", 305 hotel2_cta: "ÐабÑониÑоваÑÑ Ð½Ð° ÐкÑпо", 306 hotel3_address: "г. ÐÑÑана, Ñл. Ðбикена ÐекÑÑÑова, 4/1", 307 hotel3_rooms: "41 Ð½Ð¾Ð¼ÐµÑ Ð¿Ð¾Ð²ÑÑенной комÑоÑÑноÑÑи", 308 hotel3_desc: 309 "ÐовÑй Ñилиал ÑеÑи в ÑпоÑÑивной и медиÑинÑкой ÑаÑÑи гоÑода. Ð Ñдом â главнÑе аÑÐµÐ½Ñ Ð¸ медиÑинÑкие ÑенÑÑÑ. СовÑеменнÑй инÑеÑÑеÑ, пÑодÑманнÑе номеÑа и ÑÑадиÑионное гоÑÑепÑиимÑÑво ASYR.", 310 hotel3_cta: "ÐабÑониÑоваÑÑ Ð½Ð° ТÑÑан", 311 adv_title: "ÐоÑÐµÐ¼Ñ Ð³Ð¾ÑÑи вÑбиÑаÑÑ ÑеÑÑ Ð¾Ñелей ASYR?", 312 adv1_title: "ÐÑоÑÑоÑнÑе номеÑа", 313 adv1_text: 314 "ÐлоÑÐ°Ð´Ñ Ð½Ð¾Ð¼ÐµÑов доÑÑÐ¸Ð³Ð°ÐµÑ ÑекоÑднÑÑ 40â50 кв.м. â в ÑÐ°Ð·Ñ Ð±Ð¾Ð»ÑÑе ÑÑандаÑÑнÑÑ Ð³Ð¾ÑÑиниÑнÑÑ Ð½Ð¾Ð¼ÐµÑов.", 315 adv2_title: "ÐолÑÑой Ñонд", 316 adv2_text: 317 "ÐÑего 117 ÑÑÑнÑÑ Ð¸ пÑодÑманнÑÑ Ð½Ð¾Ð¼ÐµÑов ÑазлиÑнÑÑ ÐºÐ°ÑегоÑий в ÑеÑи (Ð¾Ñ Junior Suite до Family Suite номеÑов).", 318 adv3_title: "ХалÑлÑнÑй ÑоÑÐ¼Ð°Ñ Ð¿ÑоживаниÑ", 319 adv3_text: 320 "ÐÑ Ñважаем ÑÑадиÑии наÑÐ¸Ñ Ð³Ð¾ÑÑей. РнаÑÐ¸Ñ ÑеÑÑоÑÐ°Ð½Ð°Ñ Ð¸ на завÑÑÐ°ÐºÐ°Ñ Ð¿Ð¾Ð´Ð°ÑÑÑÑ Ð¸ÑклÑÑиÑелÑно Ñ Ð°Ð»ÑлÑ-блÑда, а в оÑелÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ Ð±ÐµÐ·Ð°Ð»ÐºÐ¾Ð³Ð¾Ð»ÑнаÑ, ÑÐ¿Ð¾ÐºÐ¾Ð¹Ð½Ð°Ñ Ð¸ ÑиÑÑÐ°Ñ Ð°ÑмоÑÑеÑа.", 321 adv4_title: "ÐÑемиÑм-локаÑиÑ", 322 adv4_text: 323 "ÐÑ Ð½Ð°Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð² Ñамом ÑазвиÑом Ñайоне левого беÑега â ÑÑдом Ñ EXPO, ТРЦ MEGA Silk Way, ÑÑадионом «ÐÑÑана ÐÑена» и ледовÑм двоÑÑом «ÐлаÑ».", 324 adv5_title: "Ð¢ÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸ÑноÑÑÑ", 325 adv5_text: 326 "ÐаждÑй Ð½Ð¾Ð¼ÐµÑ Ð¾ÑнаÑен ÑовÑеменнÑм Smart TV Ð´Ð»Ñ Ð²Ð°Ñего каÑеÑÑвенного доÑÑга и оÑдÑÑ Ð°.", 327 adv6_title: "ÐомаÑний ÑÑÑ", 328 adv6_text: 329 "ÐеÑплаÑнÑй Ñай, коÑе и вÑе Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе пÑинадлежноÑÑи в каждом номеÑе обновлÑÑÑÑÑ ÐµÐ¶ÐµÐ´Ð½ÐµÐ²Ð½Ð¾.", 330 adv7_title: "ÐÑгода Ð´Ð»Ñ Ð±Ð¸Ð·Ð½ÐµÑа", 331 adv7_text: 332 "СпеÑиалÑнÑе комплекÑнÑе пÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° аÑÐµÐ½Ð´Ñ ÐºÐ¾Ð½ÑеÑенÑ-зала пÑи одновÑеменном бÑониÑовании номеÑов Ð´Ð»Ñ Ð³Ð¾ÑÑей.", 333 adv8_title: "ÐдоÑовÑе и ÑпоÑÑ", 334 adv8_text: 335 "ÐÐ»Ñ Ð½Ð°ÑÐ¸Ñ Ð³Ð¾ÑÑей доÑÑÑпен беÑплаÑнÑй доÑÑÑп в баÑÑейн олимпийÑкого клаÑÑа и ÑиÑнеÑ-зал Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð°Ð½Ð¸Ñ ÑоÑмÑ.", 336 conf_title: "СовÑеменнÑй конÑеÑенÑ-зал Ð´Ð»Ñ Ð²Ð°ÑÐ¸Ñ Ð¼ÐµÑопÑиÑÑий", 337 conf_usp: 338 "ÐÑоведиÑе ÑобÑÑие на вÑÑÑем ÑÑовне в деловом ÑенÑÑе ÑÑолиÑÑ Ñ Ð¿Ñоживанием Ð´Ð»Ñ Ð²Ñей ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð² одном здании!", 339 conf_desc: 340 "ÐÑеÑе идеалÑное меÑÑо Ð´Ð»Ñ Ð¿ÑÐ¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð±Ð¸Ð·Ð½ÐµÑ-вÑÑÑеÑи, ÑеминаÑа, воÑкÑопа или пÑезенÑаÑии? ÐÐ°Ñ Ð¼ÑлÑÑимедийнÑй зал ÑпÑоекÑиÑован Ñак, ÑÑÐ¾Ð±Ñ Ð¾Ð±ÐµÑпеÑиÑÑ Ð¼Ð°ÐºÑималÑнÑй ÑокÑÑ Ð¸ комÑоÑÑ ÑÑаÑÑников:", 341 conf1: "ÐмеÑÑимоÑÑÑ Ð´Ð¾ 60 Ñеловек â гибкие ваÑианÑÑ ÑаÑÑадки под лÑбой ÑоÑмаÑ.", 342 conf2: 343 "ЯÑкий инÑеÑакÑивнÑй ÑкÑан â безÑпÑеÑÐ½Ð°Ñ Ð²Ð¸Ð·ÑализаÑÐ¸Ñ Ð¿ÑезенÑаÑий, гÑаÑиков и медиа-конÑенÑа.", 344 conf3: "ÐÑÑокие поÑолки 7 меÑÑов â обилие ÑвеÑа, пÑоÑÑÑанÑÑва и Ñвежего воздÑÑ Ð°.", 345 conf4: 346 "СпеÑпÑедложение на пÑоживание: пÑи оÑганизаÑии меÑопÑиÑÑÐ¸Ñ â ÑкÑклÑзивнÑе Ñкидки на ÑазмеÑение ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¸Ð»Ð¸ ÑпикеÑов.", 347 conf_cta: "ÐабÑониÑоваÑÑ ÐºÐ¾Ð½ÑеÑенÑ-зал", 348 eb_rest: "РеÑÑоÑан", 349 rest_title: "РеÑÑоÑан оÑÐµÐ»Ñ ASYR", 350 rest_text: 351 "РеÑÑоÑан оÑÐµÐ»Ñ Ð¿ÑÐµÐ´Ð»Ð°Ð³Ð°ÐµÑ ÑÑÑнÑе завÑÑаки Ð´Ð»Ñ Ð³Ð¾ÑÑей, а Ñакже ÑвÐ
351»ÑеÑÑÑ Ð¸Ð´ÐµÐ°Ð»Ñной плоÑадкой Ð´Ð»Ñ Ð¿ÑÐ¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð±Ð°Ð½ÐºÐµÑов и меÑопÑиÑÑий вмеÑÑимоÑÑÑÑ Ð´Ð¾ 100 Ñеловек. Ðал полноÑÑÑÑ Ð³Ð¾Ñов к ваÑÐµÐ¼Ñ ÑобÑÑÐ¸Ñ Ð¸ оÑнаÑен ÑовÑеменнÑм инÑеÑакÑивнÑм LED-ÑкÑаном Ð´Ð»Ñ ÑÑанÑлÑÑии лÑбого медиаконÑенÑа.", 352 rest_f1: "СÑÑнÑе завÑÑаки Ð´Ð»Ñ Ð³Ð¾ÑÑей оÑелÑ", 353 rest_f2: "ÐанкеÑÑ Ð¸ меÑопÑиÑÑÐ¸Ñ Ð´Ð¾ 100 Ñеловек", 354 rest_f3: "ÐнÑеÑакÑивнÑй LED-ÑкÑан Ð´Ð»Ñ Ð¼ÐµÐ´Ð¸Ð°ÐºÐ¾Ð½ÑенÑа", 355 rest_f4: "ХалÑлÑное Ð¼ÐµÐ½Ñ Ð±ÐµÐ· алкоголÑ", 356 rest_cta: "ÐабÑониÑоваÑÑ Ð±Ð°Ð½ÐºÐµÑ", 357 aud_title: "ÐÑели ASYR ÑÐ¾Ð·Ð´Ð°Ð½Ñ Ð´Ð»Ñ ÑÐµÑ , кÑо ÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼ÑоÑÑ", 358 aud1_title: "СемÑи", 359 aud1_text: 360 "ÐÑоÑÑоÑнÑе номеÑа позволÑÑÑ Ñ Ð¾ÑоÑо оÑÐ´Ð¾Ñ Ð½ÑÑÑ Ñ ÑемÑей, к ÑÐ¾Ð¼Ñ Ð¶Ðµ ÑеÑÑиÑоÑÐ¸Ñ Ð¾ÑÐµÐ»Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°Ñна Ð´Ð»Ñ Ð´ÐµÑей.", 361 aud2_title: "РодÑÑвенники", 362 aud2_text: 363 "ÐомÑоÑÑное Ñ Ð°Ð»ÑлÑ-ÑазмеÑение Ð±Ð»Ð¸Ð·ÐºÐ¸Ñ Ð²Ð¾ вÑÐµÐ¼Ñ ÑемейнÑÑ ÑоÑжеÑÑв (ÐÑдалÑк, ТÑÑаÑ-кеÑеÑ) Ñ ÑеÑÑоÑаннÑм обÑлÑживанием.", 364 aud3_title: "ÐомандиÑовоÑнÑе", 365 aud3_text: 366 "РабоÑÐ°Ñ Ð·Ð¾Ð½Ð° в номеÑÐ°Ñ , вÑÑокоÑкоÑоÑÑной Wi-Fi, оÑÑеÑнÑе докÑменÑÑ, пÑаÑеÑÐ½Ð°Ñ Ð¸ идеалÑÐ½Ð°Ñ ÑиÑина Ð´Ð»Ñ ÑабоÑÑ.", 367 aud4_title: "ÐÑÑпповÑе заездÑ", 368 aud4_text: 369 "ÐозможноÑÑÑ ÐµÐ´Ð¸Ð½Ð¾Ð²Ñеменного ÑаÑÑÐµÐ»ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÑÑÐ¸Ñ Ð³ÑÑпп ÑÑаÑÑников ÑоÑÑмов, вÑÑÑавок EXPO и коÑпоÑаÑивнÑÑ Ð³Ð¾ÑÑей.", 370 aud5_title: "СпоÑÑÑменÑ", 371 aud5_text: 372 "ÐлизоÑÑÑ Ðº главнÑм ÑпоÑÑивнÑм комплекÑам («ÐÑÑана ÐÑена», «ÐлаÑ»), Ñ Ð°Ð»ÑлÑное менÑ.", 373 aud6_title: "ТÑÑиÑÑÑ", 374 aud6_text: 375 "10 минÑÑ Ð¾Ñ Ð°ÑÑопоÑÑа и Ð²Ñ Ð² ÑенÑÑе главнÑÑ ÑÑÑÑÑиÑÑиÑеÑÐºÐ¸Ñ Ð´Ð¾ÑÑопÑимеÑаÑелÑноÑÑей ÑÑолиÑÑ.", 376 about_title: "ÐÑенд ASYR â Ñиноним иÑкÑенней забоÑÑ", 377 about_p1: 378 "ASYR â ÑÑо ÑаÑÑÑÑÐ°Ñ ÑеÑÑ Ð¾Ñелей в ÐÑÑане. ÐаÑа Ð³Ð»Ð°Ð²Ð½Ð°Ñ Ð·Ð°Ð´Ð°Ñа пÑоÑÑа: ÑÑÐ¾Ð±Ñ ÐºÐ°Ð¶Ð´Ñй гоÑÑÑ ÑÑвÑÑвовал забоÑÑ Ð¸ внимание. ÐÑ Ð¾Ð±Ñединили ÑовÑеменнÑй ÑеÑÐ²Ð¸Ñ Ð¼Ð¸Ñового ÑÑÐ¾Ð²Ð½Ñ Ñ Ð½Ð°ÑÑоÑÑим домаÑним ÑÑÑом.", 379 about_p2: 380 "У Ð½Ð°Ñ Ð²Ñ Ð½Ð°Ð¹Ð´ÑÑе не пÑоÑÑо Ð½Ð¾Ð¼ÐµÑ Ð´Ð»Ñ Ð½Ð¾Ñлега, а Ñдобное пÑоÑÑÑанÑÑво, где пÑиÑÑно оÑдÑÑ Ð°ÑÑ, ÑабоÑаÑÑ Ð¸ набиÑаÑÑÑÑ Ñил. СовÑем ÑкоÑо оÑкÑоем новÑе ÑеÑÑоÑÐ°Ð½Ñ Ð¸ Ð·Ð°Ð»Ñ Ñо ÑведÑким ÑÑолом. ÐобÑо пожаловаÑÑ Ð² ASYR â здеÑÑ Ð²Ð°Ð¼ иÑкÑенне ÑÐ°Ð´Ñ Ð² лÑбое вÑÐµÐ¼Ñ ÑÑÑок!", 381 offer_title: "ÐланиÑÑеÑе Ð¿Ð¾ÐµÐ·Ð´ÐºÑ Ð² ÐÑÑанÑ?", 382 offer_sub: 383 "ÐабÑониÑÑйÑе Ð½Ð¾Ð¼ÐµÑ Ð½Ð°Ð¿ÑÑмÑÑ Ð½Ð° оÑиÑиалÑном ÑайÑе пÑÑмо ÑейÑÐ°Ñ Ð¸ полÑÑиÑе лÑÑÑÑÑ ÑенÑ!", 384 offer_alt: 385 "Ðли пÑоÑÑо напиÑиÑе нам, и Ð¼Ñ Ð¿Ð¾Ð´Ð±ÐµÑем Ð½Ð¾Ð¼ÐµÑ Ð¿Ð¾Ð´ Ð²Ð°Ñ Ð±ÑÐ´Ð¶ÐµÑ Ð·Ð° 3 минÑÑÑ:", 386 footer_about: 387 "СеÑÑ Ð¾Ñелей в ÐÑÑане Ñ Ð¸ÑкÑенним ÐºÐ°Ð·Ð°Ñ Ñким гоÑÑепÑиимÑÑвом и Ñ Ð°Ð»ÑлÑ-ÑоÑмаÑом пÑоживаниÑ.", 388 footer_nav: "ÐавигаÑиÑ", 389 footer_branches: "ФилиалÑ", 390 footer_contacts_h: "ÐонÑакÑÑ", 391 footer_city: "ÐÑÑана, ÐÐ°Ð·Ð°Ñ ÑÑан", 392 footer_rights: "ÐÑе пÑава заÑиÑенÑ.", 393 }, 394 en: { 395 tagline: "Hotel chain in Astana", 396 nav_home: "Home", 397 nav_hotels: "Hotels", 398 nav_all_hotels: "All branches", 399 nav_advantages: "Advantages", 400 nav_rooms: "Rooms",
401 nav_conference: "Conference", 402 nav_restaurant: "Restaurant", 403 nav_about: "About", 404 nav_contacts: "Contacts", 405 cta_book: "Book a room", 406 cta_hotels: "Choose a hotel", 407 cta_find: "Find available room", 408 cta_wa: "Message on WhatsApp", 409 wa_text: "Hello, I'm writing from the website. (Please do NOT delete this pre-filled message).", 410 cta_tg: "Contact on Telegram", 411 hero_title: "Experience true Kazakh hospitality in Astana", 412 hero_desc: 413 "ASYR is a modern hotel chain for those who value genuine warmth, home-like comfort and impeccable service in the heart of the capitalâs business district. Spacious rooms, quiet and attention to every detail for your rest and inspiration.", 414 eb_hero: "Astana · Kazakhstan", 415 eb_booking: "Online booking", 416 eb_hotels: "Our hotels", 417 eb_gallery: "Gallery", 418 eb_reviews: "Reviews", 419 reviews_title: "Guest reviews", 420 gallery_title: "The atmosphere of ASYR hotels", 421 gal1: "Facades & grounds", 422 gal2: "Spacious rooms", 423 gal3: "Breakfasts & dining", 424 gal4: "Conference hall", 425 gal5: "Pool & fitness", 426 gal6: "Lobby & lounges", 427 gallery_note: 428 "Replace the placeholders with real hotel photos in the images/gallery folder.", 429 eb_adv: "Advantages", 430 eb_conf: "Events", 431 eb_aud: "Who it's for", 432 eb_about: "The brand", 433 eb_offer: "Direct booking", 434 stat1_prefix: "", 435 stat1_label: "hotels in Astana", 436 stat2_label: "rooms", 437 qb1: "10 minutes from the airport â a fast route without traffic jams.", 438 qb2: "Magnificent EXPO views â panoramic vistas of the landmark.", 439 qb3: "100 free parking spaces â a large parking lot for your car.", 440 qb4: "Delicious breakfast included â a hearty start to the day for every guest.", 441 booking_lead: "Choose your travel dates", 442 booking_lead2: "and book the best room", 443 booking_lead_hl: "in 1 minute", 444 label_checkin: "Check-in", 445 label_checkout: "Check-out", 446 label_hotel: "Hotel", 447 label_dates: "Select dates", 448 label_hotel_pick: "Select hotel", 449 exely_note: "", 450 hotels_title: "Choose the ASYR Hotel branch that suits you in Astana", 451 hotel3_badge: "Opening soon", 452 hotel1_address: 453 "Astana, Kabanbay Batyr Ave. 53 (Nazarbayev University campus)", 454 hotel1_rooms: "60 comfortable rooms", 455 hotel1_desc: 456 "A quiet, green and secured neighbourhood, a short walk from MEGA Silk Way mall. Suitable for family stays and business trips.", 457 hotel1_cta: "Book on Kabanbay Avenue", 458 hotel_more: "About this branch", 459 branch_name_qb: "Branch on Kabanbay Batyr Avenue", 460 branch_name_ex: "Branch at Expo", 461 branch_name_tu: "Branch on Turan Avenue", 462 branches_other: "Other ASYR Hotel branches", 463 branch_photos: "Photos", 464 branch_breakfast_kicker: "Breakfast", 465 branch_breakfast_title: "Buffet breakfast at ASYR", 466 branch_address_label: "Address:", 467 branch_wa: "WhatsApp", 468 branch_wa_action: "Message", 469 branch_routes: "Get directions", 470 branch_call: "Call", 471 branch_map_hint: "How to get there", 472 hotel2_address: "Astana, Turar Ryskulov St. 5/1", 473 hotel2_rooms: "16 modern rooms", 474 hotel2_desc: 475 "A stylish hotel next to the EXPO complex and Nur Alem Sphere. Fine panoramic views of the capitalâs futuristic architecture, with quiet and comfort for a full rest after a productive day.", 476 hotel2_cta: "Book at Expo branch", 477 hotel3_address: "Astana, Abiken Bekturov St. 4/1", 478 hotel3_rooms: "41 premium comfort rooms", 479 hotel3_desc: 480 "A new branch of the chain in the sports and medical part of the city. Nearby are the main arenas and medical centres. Modern interiors, thoughtfully designed rooms and ASYRâs traditional hospitality.", 481 hotel3_cta: "Book on Turan Avenue", 482 adv_title: "Why guests choose the ASYR hotel chain", 483 adv1_title: "Spacious rooms", 484 adv1_text:
485 "Room size reaches a record 40â50 sq.m. â several times larger than standard hotel rooms.", 486 adv2_title: "Large inventory", 487 adv2_text: 488 "117 cozy, thoughtfully designed rooms across categories (from Junior Suite to Family Suite rooms).", 489 adv3_title: "Halal stay format", 490 adv3_text: 491 "We respect our guestsâ traditions. Restaurants and breakfasts serve only halal dishes; hotels maintain an alcohol-free, calm and clean atmosphere.", 492 adv4_title: "Premium location", 493 adv4_text: 494 "We are in the most developed Left Bank area â near EXPO, MEGA Silk Way, Astana Arena and Alau ice palace.", 495 adv5_title: "Technology", 496 adv5_text: 497 "Every room has a modern Smart TV for quality leisure and rest.", 498 adv6_title: "Home comfort", 499 adv6_text: 500 "Free tea, coffee and essentials in every room are refreshed daily.", 501 adv7_title: "Business value", 502 adv7_text: 503 "Special package offers for conference hall rental when booking rooms for guests at the same time.", 504 adv8_title: "Health & sport", 505 adv8_text: 506 "Guests enjoy free access to an Olympic-class pool and fitness gym.", 507 conf_title: "A modern conference hall for your events", 508 conf_usp: 509 "Host a top-level event in the capitalâs business hub with accommodation for the whole team in one building!", 510 conf_desc: 511 "Looking for the ideal place for a business meeting, seminar, workshop or presentation? Our multimedia hall is designed for maximum focus and participant comfort:", 512 conf1: "Capacity up to 60 people â flexible seating for any format.", 513 conf2: 514 "Bright interactive screen â flawless visualization of presentations, charts and media.", 515 conf3: "7-meter high ceilings â plenty of light, space and fresh air.", 516 conf4: 517 "Special stay offer: exclusive discounts on rooms for your team or speakers when hosting an event.", 518 conf_cta: "Book the conference hall", 519 eb_rest: "Restaurant", 520 rest_title: "ASYR hotel restaurant", 521 rest_text: 522 "The hotel restaurant offers hearty breakfasts for guests and is an ideal venue for banquets and events for up to 100 people. The hall is fully ready for your event and equipped with a modern interactive LED screen for broadcasting any media content.", 523 rest_f1: "Hearty breakfasts for hotel guests", 524 rest_f2: "Banquets and events for up to 100 people", 525 rest_f3: "Interactive LED screen for media content", 526 rest_f4: "Halal menu, alcohol-free", 527 rest_cta: "Book a banquet", 528 aud_title: "ASYR hotels are made for those who value comfort", 529 aud1_title: "Families", 530 aud1_text: 531 "Spacious rooms let you rest well with your family; the hotel grounds are safe for children.", 532 aud2_title: "Relatives", 533 aud2_text: 534 "Comfortable halal stays for loved ones during family celebrations (Kudalyk, Tusau-keser) with restaurant service.", 535 aud3_title: "Business travelers", 536 aud3_text: 537 "Work area in rooms, high-speed Wi-Fi, reporting documents, laundry and ideal quiet for work.", 538 aud4_title: "Group arrivals", 539 aud4_text: 540 "Simultaneous accommodation for large groups of forum, EXPO and corporate guests.", 541 aud5_title: "Athletes", 542 aud5_text: 543 "Close to major sports venues (Astana Arena, Alau), halal menu.", 544 aud6_title: "Tourists", 545 aud6_text: 546 "10 minutes from the airport and you are at the heart of the capitalâs futuristic landmarks.", 547 about_title: "The ASYR brand â a synonym for sincere care", 548 about_p1: 549 "ASYR is a growing hotel chain in Astana. Our main task is simple: to make every guest feel care and attention. We combine modern world-class service with genuine home comfort.", 550 about_p2: 551 "Here you will find not just a room for the night, but a comfortable space where it is pleasant to rest, work and recharge. Very soon we will open new restaurants and buffet halls. Welcome to ASYR â here you are sincerely welcome at any time of day.", 552 offer_title: "Planning a trip to Astana?", 553 offer_sub: 554 "Book a room directly on the official website now and get the best price!", 555 offer_alt: 556 "Or simply message us and we will find a room for your budget in 3 minutes:", 557 footer_about:
558 "A hotel chain in Astana with sincere Kazakh hospitality and a halal stay format.", 559 footer_nav: "Navigation", 560 footer_branches: "Branches", 561 footer_contacts_h: "Contacts", 562 footer_city: "Astana, Kazakhstan", 563 footer_rights: "All rights reserved.", 564 }, 565 kz: { 566 tagline: "ÐÑÑанадаÒÑ ÒÐ¾Ð½Ð°Ò Ò¯Ð¹Ð»ÐµÑ Ð¶ÐµÐ»ÑÑÑ", 567 nav_home: "ÐаÑÑÑ Ð±ÐµÑ", 568 nav_hotels: "ÒÐ¾Ð½Ð°Ò Ò¯Ð¹Ð»ÐµÑ", 569 nav_all_hotels: "ÐаÑлÑÒ ÑилиалдаÑ", 570 nav_advantages: "ÐÑÑÑÒÑÑлÑÒÑаÑ", 571 nav_rooms: "ÐөмÑÑлеÑ", 572 nav_conference: "ÐонÑеÑенÑ-зал", 573 nav_restaurant: "ÐейÑÐ°Ð¼Ñ Ð°Ð½Ð°", 574 nav_about: "ÐÑз ÑÑÑалÑ", 575 nav_contacts: "ÐайланÑÑ", 576 cta_book: "ÐөмÑÑ Ð±ÑондаÑ", 577 cta_hotels: "ÒÐ¾Ð½Ð°Ò Ò¯Ð¹ ÑаңдаÑ", 578 cta_find: "ÐÐ¾Ñ Ð½Ó©Ð¼ÑÑ ÑабÑ", 579 cta_wa: "WhatsApp-Òа жазÑ", 580 wa_text: "СÓлемеÑÑÑз бе, ÑайÑÑан жазÑп оÑÑÑмÑн. (ÐайÑн Ñ Ð°Ð±Ð°ÑÐ»Ð°Ð¼Ð°Ð½Ñ Ó¨Ð¨ÐÐ ÐÐÒ¢ÐÐ).", 581 cta_tg: "Telegram аÑÒÑÐ»Ñ Ð±Ð°Ð¹Ð»Ð°Ð½ÑÑÑ", 582 hero_title: "ÐÑÑанада наÒÑз ÒазаÒи ÒонаÒжайлÑлÑÒÑÑ ÑезÑнÑÒ£Ñз", 583 hero_desc: 584 "ASYR заманаÑи ÒÐ¾Ð½Ð°Ò Ò¯Ð¹Ð»ÐµÑ Ð¶ÐµÐ»ÑÑÑ â ÑÑÐ½Ð°Ð¹Ñ Ð¶ÑлÑлÑÒÑÑ, үй жайлÑлÑÒÑн жÓне мÑнÑÑз ÒÑзмеÑÑÑ Ð±Ð°ÒалайÑÑÐ½Ð´Ð°Ñ Ò¯ÑÑн елоÑда оÑÑалÑÒÑндаÒÑ Ò¯Ð·Ð´Ñк ÑаңдаÑ.", 585 eb_hero: "ÐÑÑана · ÒазаÒÑÑан", 586 eb_booking: "Ðнлайн бÑондаÑ", 587 eb_hotels: "ÐÑздÑÒ£ ÒÐ¾Ð½Ð°Ò Ò¯Ð¹Ð»ÐµÑ", 588 eb_gallery: "ФоÑогалеÑеÑ", 589 eb_reviews: "ÐÑкÑÑлеÑ", 590 reviews_title: "ÒонаÒÑаÑдÑÒ£ пÑкÑÑлеÑÑ", 591 gallery_title: "ASYR ÒÐ¾Ð½Ð°Ò Ò¯Ð¹Ð»ÐµÑÑнÑÒ£ аÑмоÑÑеÑаÑÑ", 592 gal1: "ÒаÑбеÑÑÐµÑ Ð¼ÐµÐ½ аÑмаÒ", 593 gal2: "Ðең нөмÑÑлеÑ", 594 gal3: "ТаңÒÑ Ð°Ñ Ð¿ÐµÐ½ мейÑÐ°Ð¼Ñ Ð°Ð½Ð°Ð»Ð°Ñ", 595 gal4: "ÐонÑеÑенÑ-зал", 596 gal5: "ÐаÑÑейн мен ÑиÑнеÑ", 597 gal6: "Ðобби мен демалÑÑ Ð°Ð¹Ð¼Ð°ÒÑаÑÑ", 598 gallery_note: 599 "images/gallery ÒалÑаÑÑндаÒÑ Ð¿Ð»ÐµÐ¹ÑÑ Ð¾Ð»Ð´ÐµÑлеÑÐ´Ñ Ð½Ð°ÒÑÑ ÑоÑоÑÑÑеÑÑеÑмен аÑÑÑÑÑÑÑÒ£Ñз.", 600 eb_adv: "ÐÑÑÑÒÑÑлÑÒÑаÑ", 601 eb_conf: "ÐÑ-ÑаÑалаÑ", 602 eb_aud: "ÐÑÐ¼Ð´ÐµÑ Ò¯ÑÑн", 603 eb_about: "ÐÑенд ÑÑÑалÑ", 604 eb_offer: "ТÑкелей бÑондаÑ", 605 stat1_prefix: "ÐÑÑанада", 606 stat1_label: "ÒÐ¾Ð½Ð°Ò Ò¯Ð¹", 607 stat2_label: "нөмÑÑ", 608 qb1: "ÓÑежайдан 10 минÑÑ â кепÑелÑÑÑÑз жÑлдам жол.", 609 qb2: "EXPO-Òа ÑамаÑа көÑÑнÑÑ â баÑÑÑ ÐºÓ©ÑÑкÑÑ Ð¶ÐµÑдÑÒ£ паноÑамаÑÑ.", 610 qb3: "100 ÑегÑн ÑÒ±ÑÐ°Ò Ð¾ÑÐ½Ñ â көлÑгÑÒ£Ñзге аÑналÒан үлкен ÑÒ±ÑаÒ.", 611 qb4: "ÐÓÐ¼Ð´Ñ ÑаңÒÑ Ð°Ñ ÐºÑÑÐµÐ´Ñ â ÓÑ ÒонаÒÒа ÑойÑÐ¼Ð´Ñ ÐºÒ¯Ð½ баÑÑаÑÑ.", 612 booking_lead: "Ð¡Ð°Ð¿Ð°Ñ ÐºÒ¯Ð½Ð´ÐµÑÑн ÑаңдаңÑз", 613 booking_lead2: "жÓне ең жаÒÑÑ Ð½Ó©Ð¼ÑÑдÑ", 614 booking_lead_hl: "1 минÑÑÑа бÑондаңÑз", 615 label_checkin: "ÐÑÑÑ", 616 label_checkout: "ШÑÒÑ", 617 label_hotel: "ÒÐ¾Ð½Ð°Ò Ò¯Ð¹", 618 label_dates: "ÐүндеÑÐ´Ñ ÑаңдаÑ", 619 label_hotel_pick: "ÒÐ¾Ð½Ð°Ò Ò¯Ð¹ ÑаңдаÑ", 620 exely_note: "", 621 hotels_title: "ÐÑÑанадаÒÑ Ó©Ð·ÑÒ£Ñзге ÑÒ£ÒÐ°Ð¹Ð»Ñ ASYR Hotel-Ð´Ñ ÑаңдаңÑз", 622 hotel3_badge: "ÐаÒÑнда аÑÑладÑ", 623 hotel1_address: 624 "ÐÑÑана Ò., Òабанбай баÑÑÑ Ð´Ð°Ò£ÒÑлÑ, 53 (ÐазаÑбаев УнивеÑÑиÑеÑÑ ÐºÐ°Ð¼Ð¿ÑÑÑ Ð°ÑмаÒÑнда)", 625 hotel1_rooms: "60 Ð¶Ð°Ð¹Ð»Ñ Ð½Ó©Ð¼ÑÑ", 626 hotel1_desc: 627 "ТÑнÑÑ, жаÑÑл ÓÑÑ ÐºÒ¯Ð·ÐµÑÑлеÑÑн аÑдан, MEGA Silk Way СÐÐ-дан ÐµÐºÑ Òадам жеÑде. ÐÑбаÑÑлÑÒ Ð´ÐµÐ¼Ð°Ð»ÑÑÒа да, ÑÑкеÑлÑк ÑапаÑлаÑÒа да Ñай.", 628 hotel1_cta: "Òабанбай даңÒÑлÑндаÒÑ Ñилиалда бÑондаÑ", 629 hotel_more: "Филиал ÑÑÑÐ°Ð»Ñ ÑолÑÒÑÑаÒ", 630 branch_name_qb: "Òабанбай баÑÑÑ Ð´Ð°Ò£ÒÑлÑндаÒÑ Ñилиал", 631 branch_name_ex: "ÐкÑподаÒÑ Ñилиал", 632 branch_name_tu: "ТұÑан даңÒÑлÑндаÒÑ Ñилиал", 633 branches_other: "ÐаÑÒа ASYR Hotel ÑилиалдаÑÑ", 634 branch_photos: "ФоÑоÑÑÑеÑÑеÑ", 635 branch_breakfast_kicker: "ТаңÒÑ Ð°Ñ", 636 branch_breakfast_title: "ASYR Ñвед Ò¯ÑÑÐµÐ»Ñ Ð¼ÐµÐ½ ÑаңÒÑ Ð°ÑÑ", 637 branch_address_label: "Ðекенжай:", 638 branch_wa: "WhatsApp", 639 branch_wa_action: "ÐазÑ", 640 branch_routes: "ÐаÑÑÑÑÑ ÒÒ±ÑÑ", 641 branch_call: "ÒоңÑÑÐ°Ñ ÑалÑ", 642 branch_map_hint: "Òалай жеÑÑге боладÑ", 643 hotel2_address: "ÐÑÑана Ò., ТұÑÐ°Ñ Ð ÑÑÒұлов көÑеÑÑ, 5/1", 644 hotel2_rooms: "16 заманаÑи нөмÑÑ", 645 hotel2_desc: 646 "EXPO көÑме кеÑÐµÐ½Ñ Ð¼ÐµÐ½ «ÐÒ±Ñ Óлем» ÑÑеÑаÑÑна жаÒÑн оÑналаÑÒан ÑÓÐ½Ð´Ñ ÒоÐ
646½Ð°Ò үй. ÐлоÑданÑÒ£ ÑÑÑÑÑиÑÑÑк ÑÓÑлеÑÑне паноÑамалÑÒ ÐºÓ©ÑÑнÑÑÑеÑ, ÑÑнÑÑÑÑÒ Ð¿ÐµÐ½ жайлÑлÑÒÑÑÒ£ жоÒаÑÑ Ð´ÐµÒ£Ð³ÐµÐ¹Ñ.", 647 hotel2_cta: "ÐкÑподаÒÑ Ñилиалда бÑондаÑ", 648 hotel3_address: "ÐÑÑана Ò., ÓбÑкен ÐекÑÒ±Ñов көÑеÑÑ, 4/1", 649 hotel3_rooms: "41 жоÒаÑÑ Ð¶Ð°Ð¹Ð»ÑлÑÒÑаÒÑ Ð½Ó©Ð¼ÑÑ", 650 hotel3_desc: 651 "ÒаланÑÒ£ ÑпоÑÑÑÑÒ Ð¶Óне медиÑиналÑÒ Ð±Ó©Ð»ÑгÑÐ½Ð´ÐµÐ³Ñ Ð¶ÐµÐ»ÑнÑÒ£ жаңа ÑилиалÑ. ÐаÒÑн жеÑде â баÑÑÑ Ð°ÑÐµÐ½Ð°Ð»Ð°Ñ Ð¼ÐµÐ½ медиÑиналÑÒ Ð¾ÑÑалÑÒÑаÑ. ÐаманаÑи инÑеÑÑеÑ, ойлаÑÑÑÑÑлÒан нөмÑÑÐ»ÐµÑ Ð¶Óне ASYR дÓÑÑÒ¯ÑÐ»Ñ ÒонаÒжайлÑлÑÒÑ.", 652 hotel3_cta: "ТұÑан даңÒÑлÑндаÒÑ Ñилиалда бÑондаÑ", 653 adv_title: "Ðеге ÒонаÒÑÐ°Ñ ASYR ÒÐ¾Ð½Ð°Ò Ò¯Ð¹Ð»ÐµÑ Ð¶ÐµÐ»ÑÑÑн ÑаңдайдÑ?", 654 adv1_title: "Ðең нөмÑÑлеÑ", 655 adv1_text: 656 "ÐөмÑÑÐ»ÐµÑ Ð°ÑÐ´Ð°Ð½Ñ 40â50 Ñ.м-ге жеÑÐµÐ´Ñ â ÑÑандаÑÑÑÑдан бÑÑнеÑе еÑе үлкен.", 657 adv2_title: "Үлкен ÒоÑ", 658 adv2_text: 659 "ÓÑÑÒ¯ÑÐ»Ñ ÑанаÑÑаÒÑ 117 ойлаÑÑÑÑÑлÒан нөмÑÑ â Junior Suite-Ñен Family нөмеÑлеÑÑне дейÑн.", 660 adv3_title: "Халал ÑоÑмаÑ", 661 adv3_text: 662 "Тек Ñ Ð°Ð»Ð°Ð» ÑаÒамдаÑ, алкоголÑÑÑз, ÑÑнÑÑ ÓÑÑ Ñаза оÑÑа.", 663 adv4_title: "ÐÑемиÑм оÑналаÑÑ", 664 adv4_text: 665 "Сол жаÒалаÑдÑÒ£ ең дамÑÒан аÑÐ´Ð°Ð½Ñ â EXPO, MEGA Silk Way, «ÐÑÑана ÐÑена» жÓне «ÐлаÑ» жанÑнда.", 666 adv5_title: "Ð¢ÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸ÑлÑлÑÒ", 667 adv5_text: 668 "ÓÑ Ð½Ó©Ð¼ÑÑ ÑÐ°Ð¿Ð°Ð»Ñ Ð´ÐµÐ¼Ð°Ð»ÑÑ Ò¯ÑÑн заманаÑи Smart TV-мен жабдÑÒÑалÒан.", 669 adv6_title: "Үй жайлÑлÑÒÑ", 670 adv6_text: 671 "ТегÑн Ñай, коÑе жÓне баÑлÑÒ ÒажеÑÑÑ ÐºÐµÑек-жаÑаÒÑÐ°Ñ ÐºÒ¯Ð½ ÑайÑн жаңаÑÑÑладÑ.", 672 adv7_title: "ÐизнеÑке ÑиÑмдÑ", 673 adv7_text: 674 "ÒонаÒÑаÑÒа нөмÑÑ Ð±ÑондаÒанда конÑеÑенÑ-Ð·Ð°Ð»Ð´Ñ Ð¶Ð°Ð»Òа алÑÒа кеÑÐµÐ½Ð´Ñ Ò±ÑÑнÑÑÑаÑ.", 675 adv8_title: "ÐенÑаÑлÑÒ Ð¿ÐµÐ½ ÑпоÑÑ", 676 adv8_text: 677 "ÒонаÒÑаÑÒа олимпиадалÑÒ Ð±Ð°ÑÑейн мен ÑиÑнеÑ-залÒа ÑегÑн кÑÑÑ Ð¼Ò¯Ð¼ÐºÑндÑгÑ.", 678 conf_title: "ÐÑ-ÑаÑалаÑÑÒ£ÑзÒа аÑналÒан заманаÑи конÑеÑенÑ-зал", 679 conf_usp: 680 "ÐлоÑданÑÒ£ ÑÑкеÑлÑк оÑÑалÑÒÑнда бүкÑл ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð½Ñ Ð±ÑÑ ÒимаÑаÑÑа оÑналаÑÑÑÑа оÑÑÑÑп, ÑÑ-ÑаÑÐ°Ð½Ñ Ð¶Ð¾ÒаÑÑ Ð´ÐµÒ£Ð³ÐµÐ¹Ð´Ðµ Ó©ÑкÑзÑÒ£Ñз.", 681 conf_desc: 682 "ÐÑкеÑлÑк кездеÑÑлеÑге, ÑеминаÑлаÑÒа, воÑкÑопÑаÑÒа жÓне пÑезенÑаÑиÑлаÑÒа аÑналÒан мÑлÑÑимедиÑлÑÒ Ð·Ð°Ð» â ÒаÑÑÑÑÑÑлаÑдÑÒ£ макÑÐ¸Ð¼Ð°Ð»Ð´Ñ Ð½Ð°Ð·Ð°ÑÑ Ð¼ÐµÐ½ жайлÑлÑÒÑ Ò¯ÑÑн:", 683 conf1: "60 адамÒа дейÑн ÑÑйÑмдÑлÑÒ â кез келген ÑоÑмаÑÒа Ð¸ÐºÐµÐ¼Ð´Ñ Ð¾ÑналаÑÑÑÑÑ.", 684 conf2: 685 "ÐаÑÒÑн инÑеÑакÑивÑÑ ÑкÑан â пÑезенÑаÑиÑÐ»Ð°Ñ Ð¼ÐµÐ½ медианÑÒ£ мÑнÑÑз визÑализаÑиÑÑÑ.", 686 conf3: "7 меÑÑлÑк биÑк ÑÓ©Ð±ÐµÐ»ÐµÑ â мол жаÑÑÒ, кеңÑÑÑÑк пен Ñаза аÑа.", 687 conf4: 688 "ÐÑÐ½Ð°Ð¹Ñ Ò±ÑÑнÑÑ: команда мен ÑпикеÑлеÑÐ´Ñ Ð¾ÑналаÑÑÑÑÑÒа ÑкÑклÑзивÑÑ Ð¶ÐµÒ£ÑлдÑкÑеÑ.", 689 conf_cta: "ÐонÑеÑенÑ-Ð·Ð°Ð»Ð´Ñ Ð±ÑондаÑ", 690 eb_rest: "ÐейÑÐ°Ð¼Ñ Ð°Ð½Ð°", 691 rest_title: "ASYR ÒÐ¾Ð½Ð°Ò Ò¯Ð¹ÑнÑÒ£ мейÑÐ°Ð¼Ñ Ð°Ð½Ð°ÑÑ", 692 rest_text: 693 "ÒÐ¾Ð½Ð°Ò Ò¯Ð¹ мейÑÐ°Ð¼Ñ Ð°Ð½Ð°ÑÑ ÒонаÒÑаÑÒа ÑойÑÐ¼Ð´Ñ ÑаңÒÑ Ð°Ñ Ò±ÑÑнадÑ, Ñондай-Ð°Ò 100 адамÒа дейÑн банкеÑÑÐµÑ Ð¼ÐµÐ½ ÑÑ-ÑаÑÐ°Ð»Ð°Ñ Ó©ÑкÑзÑге аÑналÒан ÑамаÑа алаң. Ðал ÑÑздÑÒ£ ÑÑ-ÑаÑаңÑзÒа ÑолÑÒ Ð´Ð°Ð¹Ñн жÓне кез келген медиаконÑенÑÑÑ ÐºÓ©ÑÑеÑÑге аÑналÒан заманаÑи инÑеÑакÑивÑÑ LED-ÑкÑанмен жабдÑÒÑалÒан.", 694 rest_f1: "ÒÐ¾Ð½Ð°Ò Ò¯Ð¹ ÒонаÒÑаÑÑна ÑойÑÐ¼Ð´Ñ ÑаңÒÑ Ð°Ñ", 695 rest_f2: "100 адамÒа дейÑн банкеÑÑÐµÑ Ð¼ÐµÐ½ ÑÑ-ÑаÑалаÑ", 696 rest_f3: "ÐедиаконÑенÑке аÑналÒан инÑеÑакÑивÑÑ LED-ÑкÑан", 697 rest_f4: "ÐлкоголÑÑÑз Ñ Ð°Ð»Ð°Ð» Ð°Ñ Ð¼ÓзÑÑÑ", 698 rest_cta: "ÐÐ°Ð½ÐºÐµÑ Ð±ÑондаÑ", 699 aud_title: "ASYR ÒÐ¾Ð½Ð°Ò Ò¯Ð¹Ð»ÐµÑÑ Ð¶Ð°Ð¹Ð»ÑлÑÒÑÑ Ð±Ð°ÒалайÑÑÐ½Ð´Ð°Ñ Ò¯ÑÑн жаÑалÒан", 700 aud1_title: "ÐÑбаÑÑлаÑ", 701 aud1_text: 702 "Ðең нөмÑÑÐ»ÐµÑ Ð¾ÑбаÑÑÒ£Ñзбен жаÒÑÑ Ð´ÐµÐ¼Ð°Ð»ÑÒа мүмкÑндÑк беÑедÑ, онÑмен ÒоÑа, ÒонаÒүйдÑÒ£ аймаÒÑ ÒаÑÑп
702ÑÑз.", 703 aud2_title: "ТÑÑÑÑаÑ", 704 aud2_text: 705 "ÐÑбаÑÑлÑÒ ÑойлаÑда (ÒұдалÑÒ, ТұÑаÑкеÑеÑ) жаÒÑндаÑÐ´Ñ Ñ Ð°Ð»Ð°Ð» оÑналаÑÑÑÑÑ, мейÑÐ°Ð¼Ñ Ð°Ð½Ð°Ð»ÑÒ ÒÑÐ·Ð¼ÐµÑ ÐºÓ©ÑÑеÑÑ.", 706 aud3_title: "ÐÑÑапаÑÑÑлаÑ", 707 aud3_text: 708 "ÐөмÑÑÐ´ÐµÐ³Ñ Ð¶Ò±Ð¼ÑÑ Ð°Ð¹Ð¼Ð°ÒÑ, жоÒаÑÑ Ð¶ÑлдамдÑÒÑÑ Wi-Fi, еÑеп ÒұжаÑÑаÑÑ, кÑÑ Ð¶ÑÑ Ð¶Óне мÑнÑÑз ÑÑнÑÑÑÑÒ.", 709 aud4_title: "ТопÑÑÒ Ð¾ÑналаÑÑ", 710 aud4_text: 711 "ФоÑÑмдаÑ, EXPO көÑмелеÑÑ Ð¼ÐµÐ½ коÑпоÑаÑивÑÑк ÒонаÒÑаÑдÑÒ£ үлкен ÑопÑаÑÑн бÑÑ Ð¼ÐµÐ·Ð³Ñлде оÑналаÑÑÑÑÑ.", 712 aud5_title: "СпоÑÑÑÑлаÑ", 713 aud5_text: 714 "«ÐÑÑана ÐÑена» мен «ÐлаÑ»-Òа жаÒÑндÑÒ, Ñ Ð°Ð»Ð°Ð» Ð°Ñ Ð¼ÓзÑÑÑ.", 715 aud6_title: "ТÑÑиÑÑеÑ", 716 aud6_text: 717 "ÓÑежайдан 10 минÑÑ â ÑÑз елоÑданÑÒ£ баÑÑÑ ÑÑÑÑÑиÑÑÑк көÑÑкÑÑ Ð¶ÐµÑлеÑÑнÑÒ£ оÑÑалÑÒÑндаÑÑз.", 718 about_title: "ASYR бÑÐµÐ½Ð´Ñ â ÑÑÐ½Ð°Ð¹Ñ ÒамÒоÑлÑÒÑÑÒ£ ÑинонимÑ", 719 about_p1: 720 "ASYR â ÐÑÑанадаÒÑ Ó©ÑÑп келе жаÑÒан ÒонаÒÒ¯Ð¹Ð»ÐµÑ Ð¶ÐµÐ»ÑÑÑ. ÐаÑÑÑ Ð¼Ð°ÒÑаÑÑмÑз ÒаÑапайÑм: ÓÑ ÒÐ¾Ð½Ð°Ò ÒамÒоÑлÑÒ Ð¿ÐµÐ½ назаÑÐ´Ñ ÑезÑнÑÑн. ÐÑз ÓлемдÑк Ð´ÐµÒ£Ð³ÐµÐ¹Ð´ÐµÐ³Ñ Ð·Ð°Ð¼Ð°Ð½Ð°Ñи ÑеÑвиÑÑÑ Ð½Ð°ÒÑз үй жайлÑлÑÒÑмен бÑÑÑкÑÑÑдÑк.", 721 about_p2: 722 "ÐÑзде ÑÑз Ñек ÑүнеÑге аÑналÒан нөмÑÑ ÐµÐ¼ÐµÑ, демалÑÒа, жұмÑÑ ÑÑÑеÑге жÓне ÐºÒ¯Ñ Ð¶Ð¸Ð½Ð°ÑÒа ÑÒ£ÒÐ°Ð¹Ð»Ñ ÐºÐµÒ£ÑÑÑÑк ÑабаÑÑз. ÐаÒÑнда жаңа мейÑÐ°Ð¼Ñ Ð°Ð½Ð°Ð»Ð°Ñ Ð¼ÐµÐ½ Ñвед Ò¯ÑÑÐµÐ»Ñ Ð·Ð°Ð»Ð´Ð°ÑÑн аÑамÑз. ASYR-ге ÒÐ¾Ñ ÐºÐµÐ»Ð´ÑÒ£Ñз â мұнда ÑÑÐ·Ð´Ñ ÑÓÑлÑкÑÑÒ£ кез келген ÑаÒÑÑÑнда ÑÑн жүÑекÑен ÒаÑÑÑ Ð°Ð»Ð°Ð´Ñ!", 723 offer_title: "ÐÑÑанаÒа ÑÐ°Ð¿Ð°Ñ Ð¶Ð¾ÑпаÑлап жүÑÑÑз бе?", 724 offer_sub: 725 "РеÑми ÑайÑÑа ÑÑкелей бÑондап, ең жаÒÑÑ Ð±Ð°ÒÐ°Ð½Ñ Ð°Ð»ÑÒ£Ñз!", 726 offer_alt: 727 "ÐемеÑе бÑзге жазÑÒ£Ñз â бÑджеÑÑÒ£Ñзге Ñай нөмÑÑÐ´Ñ 3 минÑÑÑа Ñаңдап беÑемÑз:", 728 footer_about: 729 "ÐÑÑанадаÒÑ ÑÑÐ½Ð°Ð¹Ñ ÒÐ°Ð·Ð°Ò ÒонаÒжайлÑлÑÒÑ Ð¼ÐµÐ½ Ñ Ð°Ð»Ð°Ð» ÑÒ±ÑÑ ÑоÑмаÑÑ Ð±Ð°Ñ ÒÐ¾Ð½Ð°Ò Ò¯Ð¹Ð»ÐµÑ Ð¶ÐµÐ»ÑÑÑ.", 730 footer_nav: "ÐавигаÑиÑ", 731 footer_branches: "ФилиалдаÑ", 732 footer_contacts_h: "ÐайланÑÑ", 733 footer_city: "ÐÑÑана, ÒазаÒÑÑан", 734 footer_rights: "ÐаÑлÑÒ ÒÒ±ÒÑÒÑÐ°Ñ ÒоÑÒалÒан.", 735 }, 736 }; 737 738 if (window.ASYR_PAGE_I18N) { 739 for (const lang of ["ru", "en", "kz"]) { 740 Object.assign(dict[lang], window.ASYR_PAGE_I18N[lang] || {}); 741 } 742 } 743 744 const FLAGS = { ru: "ð·ðº", kz: "ð°ð¿", en: "ð¬ð§" }; 745 const WA_PHONE = "77775986571"; 746 747 function waUrl(lang, phone) { 748 const pack = dict[lang] || dict.ru; 749 const text = encodeURIComponent(pack.wa_text || dict.ru.wa_text); 750 return `https://wa.me/${phone || WA_PHONE}?text=${text}`; 751 } 752 753 function updateWaLinks(lang) { 754 document.querySelectorAll("[data-wa-link]").forEach((el) => { 755 el.href = waUrl(lang, el.getAttribute("data-wa-phone") || WA_PHONE); 756 }); 757 } 758 759 function applyLang(lang) { 760 const pack = dict[lang] || dict.ru; 761 document.documentElement.lang = lang; 762 document.querySelectorAll("[data-i18n]").forEach((el) => { 763 const key = el.getAttribute("data-i18n"); 764 if (pack[key] != null) el.textContent = pack[key]; 765 }); 766 const titleKey = document.body && document.body.getAttribute("data-i18n-title"); 767 if (titleKey && pack[titleKey]) document.title = pack[titleKey]; 768 const descKey = document.body && document.body.getAttribute("data-i18n-desc"); 769 const metaDesc = document.querySelector('meta[name="description"]'); 770 if (descKey && metaDesc && pack[descKey]) { 771 metaDesc.setAttribute("content", pack[descKey]); 772 } 773 document.querySelectorAll("[data-policy-lang]").forEach((el) => { 774 el.hidden = el.getAttribute("data-policy-lang") !== lang; 775 }); 776 document.querySelectorAll(".lang-btn, .lang-opt").forEach((btn) => { 777 btn.classList.toggle("active", btn.dataset.lang === lang); 778 }); 779 const dd = document.getElementById("langDd"); 780 if (dd) { 781 const flag = dd.querySelector("[data-flag]"); 782 const code = dd.querySelector("[data-code]"); 783 if (flag) flag.textContent = FLAGS[lang] || ""; 784 if (code) code.textContent = lang.toUpperCase(); 785 } 786 updateWaLinks(lang); 787 if (typeof window.updateTrackingLinks === "function") { 788 window.updateTrackingLinks(); 789 } 790 try { 791 localStorage.setItem("asyr-lang", lang); 792 } catch (_) {} 793 } 794 795 /* Hotels nav dropdown */ 796 document.querySelectorAll(".nav-dd").forEach((dd) => { 797 const toggle = dd.querySelector(".nav-dd-toggle"); 798 if (!toggle) return; 799 toggle.addEventListener("click", (e) => { 800 e.stopPropagation(); 801 const open = dd.classList.toggle("is-open"); 802 toggle.setAttribute("aria-expanded", open ? "true" : "false"); 803 }); 804 }); 805 document.addEventListener("click", (e) => { 806 document.querySelectorAll(".nav-dd.is-open").forEach((dd) => { 807 if (!dd.contains(e.target)) { 808 dd.classList.remove("is-open"); 809 const t = dd.querySelector(".nav-dd-toggle"); 810 if (t) t.setAttribute("aria-expanded", "false"); 811 } 812 }); 813 }); 814 window.addEventListener("keydown", (e) => { 815 if (e.key !== "Escape") return; 816 document.querySelectorAll(".nav-dd.is-open").forEach((dd) => { 817 dd.classList.remove("is-open"); 818 const t = dd.querySelector(".nav-dd-toggle"); 819 if (t) t.setAttribute("aria-expanded", "false"); 820 }); 821 }); 822 823 /* Language dropdown (header) */ 824 const langDd = document.getElementById("langDd"); 825 function closeLangDd() { 826 if (!langDd) return; 827 langDd.classList.remove("is-open"); 828 const t = langDd.querySelector(".lang-dd-toggle"); 829 if (t) t.setAttribute("aria-expanded", "false"); 830 } 831 if (langDd) { 832 const ddToggle = langDd.querySelector(".lang-dd-toggle"); 833 if (ddToggle) { 834 ddToggle.addEventListener("click", (e) => { 835 e.stopPropagation(); 836 const open = langDd.classList.toggle("is-open"); 837 ddToggle.setAttribute("aria-expanded", open ? "true" : "false"); 838 }); 839 } 840 document.addEventListener("click", (e) => { 841 if (!langDd.contains(e.target)) closeLangDd(); 842 }); 843 window.addEventListener("keydown", (e) => { 844 if (e.key === "Escape") closeLangDd(); 845 }); 846 } 847 848 document.querySelectorAll(".lang-btn, .lang-opt").forEach((btn) => { 849 btn.addEventListener("click", () => { 850 const next = btn.dataset.lang; 851 if (!next) return; 852 let prev = "ru";
853 try { 854 prev = localStorage.getItem("asyr-lang") || "ru"; 855 } catch (_) {} 856 applyLang(next); 857 closeLangDd(); 858 if ( 859 next !== prev && 860 document.querySelector("[id^='be-search-form'], #be-booking-form") 861 ) { 862 window.location.reload(); 863 } 864 }); 865 }); 866 867 let initial = "ru"; 868 try { 869 const params = new URLSearchParams(window.location.search); 870 const fromUrl = (params.get("lang") || "").toLowerCase(); 871 if (fromUrl === "en" || fromUrl === "ru" || fromUrl === "kz") { 872 initial = fromUrl; 873 } else { 874 const saved = localStorage.getItem("asyr-lang"); 875 if (saved === "en" || saved === "ru" || saved === "kz") initial = saved; 876 } 877 } catch (_) {} 878 applyLang(initial); 879})();
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.