1window.onload = function() { 2 3 /* Ays image lightbox all pages | Start */ 4 /* 5 Selector > ays-image-lightbox 6 Attribute > data-src 7 */ 8 var aysImages = document.querySelectorAll('.ays-image-lightbox'); 9 10 if (aysImages.length > 0) { 11 for (var i = 0; i < aysImages.length; i++) { 12 aysImages[i].addEventListener('click', function (event) { 13 var _this = this; 14 var dataSrc = _this.getAttribute('data-src'); 15 var imgPreladerSrc = "https://ays-pro.com/images/articles/aro/loaders/tail-spin.svg"; 16 17 if (dataSrc != null && dataSrc != "") { 18 var aysImagesOverlayBox = document.querySelectorAll('.ays-image-lightbox-container'); 19 20 if (aysImagesOverlayBox.length > 0) { 21 var mainDiv = document.querySelector(".ays-image-lightbox-container"); 22 var createdImgTag = document.querySelector(".ays-image-lightbox-img"); 23 24 createdImgTag.src = dataSrc; 25 mainDiv.style.display = "flex"; 26 } else { 27 var bodyTag = document.getElementsByTagName("body")[0]; 28 29 var overlayContainer = document.createElement('div'); 30 overlayContainer.setAttribute('class', 'ays-image-lightbox-container'); 31 32 var imgBox = document.createElement('div'); 33 imgBox.setAttribute('class', 'ays-image-lightbox-img-box'); 34 35 var imgTag = document.createElement('img'); 36 imgTag.classList.add("ays-image-lightbox-img"); 37 imgTag.src = dataSrc; 38 39 imgTag.addEventListener("load", function () { 40 this.style.zIndex = "102"; 41 }); 42 43 var imgPreloader = document.createElement('img'); 44 imgPreloader.classList.add("ays-image-lightbox-preloader"); 45 imgPreloader.src = imgPreladerSrc; 46 47 var closeTag = document.createElement('span'); 48 closeTag.setAttribute('class', 'ays-image-lightbox-close-button'); 49 closeTag.setAttribute('onclick', 'aysImageLightboxClose()'); 50 51 imgBox.appendChild(imgTag); 52 overlayContainer.appendChild(imgBox); 53 overlayContainer.appendChild(closeTag); 54 overlayContainer.appendChild(imgPreloader); 55 bodyTag.appendChild(overlayContainer); 56 57 document.querySelector(".ays-image-lightbox-close-button").innerHTML = "×"; 58 59 var mainDiv = document.querySelector(".ays-image-lightbox-container"); 60 mainDiv.style.display = "flex"; 61 } 62 } 63 }); 64 } 65 } 66 67 /* Ays image lightbox all pages | End */ 68 69 // Xcho reviews slider start 70 71 var prevButton = document.querySelector('.xays_prev'); 72 var nextButton = document.querySelector('.xays_next'); 73 var slideshowContainer = document.querySelector('.xays_slideshow_container'); 74 var dotElements = document.querySelectorAll('.xays_dot'); 75 76 prevButton?.addEventListener('click', function () { 77 plusSlides(-1); 78 }); 79 80 nextButton?.addEventListener('click', function () { 81 plusSlides(1); 82 }); 83 84 slideshowContainer?.addEventListener('mouseover', function () { 85 stopTimer(); 86 }); 87 88 slideshowContainer?.addEventListener('mouseleave', function () { 89 sliderTimer(); 90 }); 91 92 for (var i = 0; i < dotElements.length; i++) { 93 dotElements[i].addEventListener('click', (function (index) { 94 return function () { 95 currentSlide(index + 1); 96 }; 97 })(i)); 98 } 99 100 // Xcho reviews slider end 101 102 // Popup landing page open video start 103 var playButton = document.getElementById('ays-pro-pb-video-play-button'); 104 var videoBox = document.getElementById('ays-pro-pb-video-box'); 105 var closeButton = document.getElementById('ays-pro-pb-popup-close-button'); 106 var plansButton = document.getElementById('ays-pro-pb-popup-plans-bttn-iframe'); 107 var videoPopupBox = document.getElementById('ays-pro-pb-video-popup-box'); 108 var otherTypesBox = document.querySelector('.ays-pro-pb-option-other-types-box'); 109 110 playButton?.addEventListener('mouseover', function () { 111 this.style.transform = 'rotate(-240deg)'; 112 this.style.transition = '0.5s'; 113 }); 114 115 playButton?.addEventListener('mouseleave', function () { 116 this.style.transform = 'rotate(0deg)'; 117 this.style.transition = '0.5s'; 118 }); 119 120 videoBox?.addEventListener('click', function () { 121 document.querySelector('#ays-pro-pb-video-popup-box').style.display = 'flex'; 122 document.querySelector('body').style.overflow = 'hidden'; 123 }); 124 125 var closeEventElements = [closeButton, plansButton, videoPopupBox]; 126 // console.log(closeEventElements); 127 for (var i = 0; i < closeEventElements.length; i++) { 128 closeEventElements[i]?.addEventListener('click', function () { 129 document.querySelector('#ays-pro-pb-iframe-video').src = 'about:blank'; 130 document.querySelector('#ays-pro-pb-video-popup-box').style.display = 'none'; 131 document.querySelector('body').style.overflow = 'auto'; 132 }); 133 } 134 135 // Popup landing page open all types 136 otherTypesBox?.addEventListener('click', function () { 137 var thisParent = this.closest('.ays-pro-pb-plugin-options-row'); 138 var typesRow2 = thisParent.querySelector('.ays-pro-pb-plugin-options-row_2'); 139 140 if (!typesRow2.classList.contains('display-none')) { 141 typesRow2.classList.add('display-none'); 142 } else { 143 typesRow2.classList.remove('display-none'); 144 } 145 }); 146 147 // Popup landing page open video end 148 149 150 // Easy form js start 151 /* -- video popup start -- */ 152 var playButtonBoxes = document.querySelectorAll('.ays-pro-ef-video-play-button-box-sg'); 153 var videoContainer = document.querySelector('.ays-pro-ef-about-video-container-sg'); 154 var closeButtons = document.querySelectorAll('.ays-pro-ef-popup-close-button-sg, .ays-pro-ef-popup-plans-bttn-iframe-sg, .ays-pro-ef-video-popub-box-sg'); 155 var videoPopupBox = document.querySelector('.ays-pro-ef-video-popub-box-sg'); 156 157 for (var i = 0; i < playButtonBoxes.length; i++) { 158 playButtonBoxes[i].addEventListener('mouseover', function () { 159 this.style.transform = 'rotate(-240deg)'; 160 this.style.transition = '0.5s'; 161 }); 162 163 playButtonBoxes[i].addEventListener('mouseleave', function () { 164 this.style.transform = 'rotate(0deg)'; 165 this.style.transition = '0.5s'; 166 }); 167 } 168 169 videoContainer?.addEventListener('click', function () { 170 document.querySelector('.ays-pro-ef-iframe-video-sg').src = 'https://www.youtube.com/embed/2K_uiNo33zc'; 171 document.querySelector('.ays-pro-ef-video-popub-box-sg').style.display = 'flex'; 172 document.querySelector('body').style.overflow = 'hidden'; 173 }); 174 175 for (var i = 0; i < closeButtons.length; i++) { 176 closeButtons[i].addEventListener('click', function () { 177 document.querySelector('.ays-pro-ef-iframe-video-sg').src = 'about:blank'; 178 document.querySelector('.ays-pro-ef-video-popub-box-sg').style.display = 'none'; 179 document.querySelector('body').style.overflow = 'auto'; 180 }); 181 } 182 183 document.addEventListener("keydown", function (e) { 184 var popUpDiv = document.querySelector(".ays-pro-ef-video-popub-box-sg"); 185 if (e.key == 27 && document.querySelector(".ays-pro-ef-video-popub-box-sg:visible")) { 186 var closeButton = document.querySelector(".ays-pro-ef-popup-close-button-sg"); 187 closeButton.click(); 188 } 189 }); 190 191 /* -- video popup end -- */ 192 193 // Popup for youtube videos in each product page 194 195 var playButtonBoxesForYoutube = document.querySelectorAll(".ays-pro-play-button-box-for-youtube"); 196 var youtubePopupCloseButtons = document.querySelectorAll(".ays-pro-youtube-popup-close-button, .ays-pro-youtube-popup-plans-bttn-iframe, .ays-pro-youtube-video-popub-box"); 197 198 for (var i = 0; i < playButtonBoxesForYoutube.length; i++) { 199 playButtonBoxesForYoutube[i].addEventListener("click", function () { 200 var youTubeLink = this.getAttribute("data-yt-link"); 201 var currentParent = this.closest('.ays-pro-sm-content-row-sg'); 202 var currentParentSibling = document.querySelector('.ays-pro-youtube-video-popub-box'); 203 currentParentSibling.style.display = "flex"; 204 currentParentSibling.querySelector('.ays-pro-youtube-iframe-video').src = youTubeLink; 205 document.querySelector('body').style.overflow = 'hidden'; 206 }); 207 } 208 209 for (var i = 0; i < youtubePopupCloseButtons.length; i++) { 210 youtubePopupCloseButtons[i].addEventListener("click", function () { 211 var currentParent = this.closest('.ays-pro-youtube-video-popub-box'); 212 currentParent.style.display = "none"; 213 currentParent.querySelector('.ays-pro-youtube-iframe-video').src = "about:blank"; 214 document.querySelector('body').style.overflow = 'auto'; 215 }); 216 } 217 218 document.addEventListener("keydown", function (e) { 219 var popUpDiv = document.querySelector(".ays-pro-youtube-video-popub-box"); 220 if (e.key == 27 && document.querySelector(".ays-pro-youtube-video-popub-box:visible")) { 221 var closeButton = document.querySelector(".ays-pro-youtube-popup-close-button"); 222 closeButton.click(); 223 } 224 }); 225 226 //Popup for youtube videos in each product page 227 228 /* -- buttons hover styles start -- */ 229 230 var hoverButtons = document.querySelectorAll(".ays-pro-ef-docs-demo-button-sg, .ays-pro-sm-docs-demo-button-sg, .ays-pro-cb-docs-demo-button-sg"); 231 232 for (var i = 0; i < hoverButtons.length; i++) { 233 hoverButtons[i].addEventListener("mouseover", function () { 234 var imageHoverUrl = this.getAttribute("data-image-hover-link"); 235 var hoverText = this.querySelector("span"); 236 var hoverImg = this.querySelector("img"); 237 238 this.style.background = "#fff"; 239 this.style.border = "1px solid #344157"; 240 hoverText.style.color = "#344157"; 241 242 hoverImg.setAttribute("src", imageHoverUrl); 243 }); 244 245 hoverButtons[i].addEventListener("mouseleave", function () { 246 var imageMainUrl = this.getAttribute("data-image-link"); 247 var hoverText = this.querySelector("span"); 248 var hoverImg = this.querySelector("img"); 249 250 this.style.background = "#344157"; 251 this.style.border = "1px solid #fff"; 252 hoverText.style.color = "#fff"; 253 254 hoverImg.setAttribute("src", imageMainUrl); 255 }); 256 } 257 258 /* -- buttons hover styles end -- */ 259 260 261 /* -- change demo start -- */ 262 var chooseDemoButtons = document.querySelectorAll(".ays-pro-all-demo-buttons-sg"); 263 264 for (var i = 0; i < chooseDemoButtons.length; i++) { 265 chooseDemoButtons[i].addEventListener("click", function () { 266 var allDemoButtons = document.querySelectorAll(".ays-pro-all-demo-buttons-sg"); 267 for (var j = 0; j < allDemoButtons.length; j++) { 268 allDemoButtons[j].classList.remove("ays-pro-all-active-demo-buttons-sg"); 269 } 270 this.classList.add("ays-pro-all-active-demo-buttons-sg"); 271 272 var demoContainer = this.closest(".ays-pro-all-demos-container-sg"); 273 var demoImg = demoContainer.querySelector(".ays-pro-all-demos-content-sg > img"); 274 var demoLink = demoContainer.querySelector(".ays-pro-all-demos-link-box-sg a"); 275 demoLink.href = this.getAttribute("data-link"); 276 var imageMainUrl = this.getAttribute("data-image-url"); 277 demoImg.src = imageMainUrl; 278 }); 279 } 280 /* -- change demo end -- */ 281 282 /* -- review slider start -- */ 283 var sliderChangeButtons = document.querySelectorAll(".ays-pro-ef-choose-circle-sg"); 284 285 for (var i = 0; i < sliderChangeButtons.length; i++) { 286 sliderChangeButtons[i].addEventListener("click", function () { 287 if (!this.classList.contains("ays-pro-ef-active-choose-circle-sg")) { 288 var reviewsContainer = document.querySelector(".ays-pro-ef-reviews-container-sg"); 289 var reviewRows = document.querySelectorAll(".ays-pro-ef-active-row-sg"); 290 var next = this.dataset.efReviewSg; 291 292 for (var j = 0; j < sliderChangeButtons.length; j++) { 293 sliderChangeButtons[j].classList.remove("ays-pro-ef-active-choose-circle-sg"); 294 } 295 this.classList.add("ays-pro-ef-active-choose-circle-sg"); 296 297 for (var k = 0; k < reviewRows.length; k++) { 298 reviewRows[k].classList.remove("ays-pro-ef-active-row-sg"); 299 } 300 reviewsContainer.querySelector('.ays-pro-ef-reviews-container-content-sg[data-ef-review-sg="' + next + '"]').classList.add("ays-pro-ef-active-row-sg"); 301 } 302 }); 303 }
304 /* -- review slider end -- */ 305 // Easy form js end 306 307 var pricingTableFirstRow = document.querySelector(".ays-pro-all-list-plans-table-sg > thead"); 308 309 window.onscroll = function () { 310 if (pricingTableFirstRow) { 311 if (window.scrollY === pricingTableFirstRow.offsetTop || window.scrollY === pricingTableFirstRow.offsetTop - 70) { 312 pricingTableFirstRow.style.boxShadow = "0px 9px 5px -6px #80808073"; 313 } else { 314 pricingTableFirstRow.style.boxShadow = "none"; 315 } 316 } 317 }; 318 319 320 /* -- New landing pages -- */ 321 322 var hoverButtonsSurvey = document.querySelectorAll(".ays-pro-sm-docs-demo-button-sg"); 323 for (var i = 0; i < hoverButtonsSurvey.length; i++) { 324 hoverButtonsSurvey[i].addEventListener("mouseover", function () { 325 var hoverText = this.querySelector("span"); 326 var hoverImg = this.querySelector("img"); 327 328 this.style.background = "#fff"; 329 this.style.border = "1px solid #344157"; 330 hoverText.style.color = "#344157"; 331 332 if (hoverText.textContent.toLowerCase() == "documentation") { 333 hoverImg.setAttribute("src", "https://ays-pro.com/images/easyform/svg/documentation_dark.svg"); 334 } else { 335 hoverImg.setAttribute("src", "https://ays-pro.com/images/easyform/svg/demo_icon_dark.svg"); 336 } 337 }); 338 339 hoverButtonsSurvey[i].addEventListener("mouseleave", function () { 340 var hoverText = this.querySelector("span"); 341 var hoverImg = this.querySelector("img"); 342 343 this.style.background = "#344157"; 344 this.style.border = "1px solid #fff"; 345 hoverText.style.color = "#fff"; 346 347 if (hoverText.textContent.toLowerCase() == "documentation") { 348 hoverImg.setAttribute("src", "https://ays-pro.com/images/easyform/svg/documentation.svg"); 349 } else { 350 hoverImg.setAttribute("src", "https://ays-pro.com/images/easyform/svg/demo_icon.svg"); 351 } 352 }); 353 } 354 355 356 /* -- change steps start -- */ 357 var stepBttn = document.querySelectorAll(".ays-pro-cb-user-manual-step-sg"); 358 var stepImg = document.querySelector(".ays-pro-cb-user-manual-result-box-sg img"); 359 360 for (var i = 0; i < stepBttn.length; i++) { 361 stepBttn[i].addEventListener("click", function () { 362 var newStepId = this.getAttribute("step-id"); 363 for (var j = 0; j < stepBttn.length; j++) { 364 stepBttn[j].style.backgroundColor = "#fff"; 365 } 366 this.style.backgroundColor = "#ffdfdf"; 367 stepImg.setAttribute("src", newStepId); 368 }); 369 } 370 /* -- change steps end -- */ 371 372 373 var sliderChangeButtonSurvey = document.querySelectorAll(".ays-pro-sm-choose-circle-sg"); 374 var reviewsContainer = document.querySelector(".ays-pro-sm-reviews-container-sg"); 375 var reviewRows = document.querySelectorAll(".ays-pro-sm-active-row-sg"); 376 377 for (var i = 0; i < sliderChangeButtonSurvey.length; i++) { 378 sliderChangeButtonSurvey[i].addEventListener("click", function () { 379 if (!this.classList.contains("ays-pro-sm-active-choose-circle-sg")) { 380 var next = this.getAttribute("data-sm-review-sg"); 381 for (var j = 0; j < sliderChangeButtonSurvey.length; j++) { 382 sliderChangeButtonSurvey[j].classList.remove("ays-pro-sm-active-choose-circle-sg"); 383 } 384 this.classList.add("ays-pro-sm-active-choose-circle-sg"); 385 for (var k = 0; k < reviewRows.length; k++) { 386 reviewRows[k].classList.remove("ays-pro-sm-active-row-sg"); 387 } 388 reviewsContainer.querySelector('.ays-pro-sm-reviews-container-content-sg[data-sm-review-sg="' + next + '"]').classList.add("ays-pro-sm-active-row-sg"); 389 } 390 }); 391 } 392 393 /* -- New landing pages -- */ 394 395 // FAQ Hasmik 396 var acc = document.getElementsByClassName("ays-pro-asked-question__header"); 397 var i; 398 399 for (i = 0; i < acc.length; i++) { 400 acc[i].addEventListener("click", function () { 401 402 var panel = this.nextElementSibling; 403 404 405 if (panel.style.maxHeight) { 406 panel.style.maxHeight = null; 407 this.children[1].children[0].style.transform = "rotate(0deg)"; 408 } else { 409 panel.style.maxHeight = panel.scrollHeight + "px"; 410 this.children[1].children[0].style.transform = "rotate(180deg)"; 411 } 412 }); 413 } 414 415 //end FAQ Hasmik 416 417 418 419 if (typeof jQuery !== 'undefined') { 420 // Checkout page JS start XCHO 421 jQuery(document).on('focus', '.ays-pro-sign-up-page-labels-box-inputs input,.b2j-contact-group-class input', function(){ 422 var thisParent = jQuery(this).parents('.ays-pro-sign-up-page-labels-boxes-parent,.control-group'); 423 thisParent.find('.ays-pro-sign-up-page-labels-box-texts label,.control-label').css('color', '#525FFF'); 424 }); 425 jQuery(document).on('blur', '.ays-pro-sign-up-page-labels-box-inputs input,.b2j-contact-group-class input', function(){ 426 var thisParent = jQuery(this).parents('.ays-pro-sign-up-page-labels-boxes-parent,.control-group'); 427 thisParent.find('.ays-pro-sign-up-page-labels-box-texts label,.control-label').css('color', '#000000'); 428 }); 429 430 jQuery(document).on('input', '.ays-pro-sign-up-page-labels-email-box-input input#ays_email', function(){ 431 jQuery(this).parents('.ays-pro-sign-up-page-labels-email-box').removeClass('ays-pro-sign-up-email-has-error'); 432 }); 433 // Checkout page JS end 434 435 // Apply coupon start 436 jQuery(document).on('click', '#ays_apply_coupon', function(){ 437 var $this = jQuery(this); 438 var $thisLabelBox = $this.parents('.ays-pro-sign-up-page-labels-boxes'); 439 var $thisMainParent = $this.parents('.ays-pro-sign-up-page-labels-coupon-box'); 440 var $thisGlobalParent = $this.parents('.ays-pro-sign-up-page-main-box'); 441 var callUrl = $this.attr('data-call-url'); 442 var prodId = $thisGlobalParent.find("#ays_p_id").val(); 443 var prodType = $thisGlobalParent.find("#ays_p_type").val(); 444 445 var getCoupon = $thisMainParent.find('#ays_coupon').val(); 446 getCoupon = getCoupon.trim(); 447 448 if(!getCoupon || getCoupon == ''){ 449 $thisLabelBox.addClass('ays-pro-sign-up-has-error'); 450 $thisMainParent.find('.ays-pro-sign-up-page-message-box-for-coupon').text('Coupon field is empty'); 451 $thisMainParent.find('.ays-pro-sign-up-page-message-box-for-coupon').addClass('ays-pro-sign-up-page-message-box-for-fail'); 452 } 453 else{ 454 $thisLabelBox.removeClass('ays-pro-sign-up-has-error'); 455 var loaderImage = $thisMainParent.find('.ays-pro-sign-up-page-labels-coupon-apply-loader') 456 loaderImage.removeClass('display-none-loader'); 457 $this.addClass('disabled-button'); 458 459 460 var prodPrintedPrice = $thisMainParent.find('.ays-pro-sign-up-page-product-price-for-coupon .ays-pro-sign-up-page-product-just-price-for-coupon').text(); 461 prodPrintedPrice = prodPrintedPrice.trim().replace('$', ''); 462 463 var sendData = { 464 prod_id: prodId, 465 prod_type: prodType, 466 user_coupon: getCoupon, 467 }; 468 469 jQuery.ajax({ 470 url: callUrl, 471 type: 'post', 472 dataType: 'json', 473 data: sendData, 474 success:function (response) { 475 loaderImage.addClass('display-none-loader'); 476 if(response.status){ 477 var discountPercent = typeof response.coupon_discount != 'undefined' && response.coupon_discount ? +response.coupon_discount : 0; 478 var productDBPrice = typeof response.product_price != 'undefined' && response.product_price ? +response.product_price : 0; 479 if(discountPercent > 0 && productDBPrice > 0){ 480 var readyPrice = productDBPrice - ((productDBPrice * discountPercent) / 100); 481 readyPrice = readyPrice.toFixed(); 482 $thisMainParent.find('.ays-pro-sign-up-page-product-price-for-coupon .ays-pro-sign-up-page-product-just-price-for-coupon').text(readyPrice); 483 $thisMainParent.find('.ays-pro-sign-up-page-message-box-for-coupon').text(response.message); 484 $thisMainParent.find('.ays-pro-sign-up-page-message-box-for-coupon').addClass('ays-pro-sign-up-page-message-box-for-success'); 485 setTimeout(function(){ 486 $thisMainParent.find('.ays-pro-sign-up-page-message-box-for-coupon').removeClass('ays-pro-sign-up-page-message-box-for-success'); 487 }, 5000) 488 } 489 } 490 else{ 491 $thisMainParent.find('.ays-pro-sign-up-page-message-box-for-coupon').text(response.message); 492 $thisMainParent.find('.ays-pro-sign-up-page-message-box-for-coupon').addClass('ays-pro-sign-up-page-message-box-for-fail'); 493 $this.removeClass('disabled-button'); 494 setTimeout(function(){ 495 $thisMainParent.find('.ays-pro-sign-up-page-message-box-for-coupon').removeClass('ays-pro-sign-up-page-message-box-for-fail'); 496 }, 5000) 497 } 498 } 499 }); 500 } 501 }); 502 // Apply coupon end 503 } 504}; 505
506// Xachik reviews slider start 507var startTimer; 508if (document.getElementById("xays_slideshow_container") !== null) 509 sliderTimer(); 510 511function sliderTimer() { 512 stopTimer(); 513 startTimer = setInterval(function () { 514 var getDataId = document.getElementById("xays_slideshow_container").getAttribute("data-id"); 515 var z = parseInt(getDataId); 516 z++; 517 showSlides(z); 518 }, 3500); 519} 520 521function stopTimer() { 522 clearInterval(startTimer); 523} 524 525function plusSlides(n) { 526 stopTimer(); 527 var getDataId = document.getElementById("xays_slideshow_container").getAttribute("data-id"); 528 var z = parseInt(getDataId); 529 showSlides(z += n); 530} 531 532 533function currentSlide(n) { 534 stopTimer(); 535 var getDataId = document.getElementById("xays_slideshow_container").getAttribute("data-id"); 536 var z = parseInt(getDataId); 537 showSlides(z = n); 538} 539 540function showSlides(n) { 541 var i; 542 var getMainDiv = document.getElementById('xays_slideshow_container'); 543 var z = parseInt(getMainDiv.getAttribute("data-id")); 544 var slides = document.getElementsByClassName("xays_slides"); 545 var dots = document.getElementsByClassName("xays_dot"); 546 547 if (n > slides.length) { 548 n = 1; 549 getMainDiv.setAttribute("data-id", n); 550 } 551 if (n < 1) { 552 n = slides.length; 553 getMainDiv.setAttribute("data-id", n); 554 } 555 getMainDiv.setAttribute("data-id", n); 556 for (i = 0; i < slides.length; i++) { 557 slides[i].style.display = "none"; 558 } 559 for (i = 0; i < dots.length; i++) { 560 dots[i].className = dots[i].className.replace(" active", ""); 561 } 562 563 slides[n - 1].style.display = "flex"; 564 dots[n - 1].className += " active"; 565 566} 567// Xachik reviews slider end 568 569function aysImageLightboxClose() { 570 var mainDiv = document.querySelector(".ays-image-lightbox-container"); 571 mainDiv.style.display = "none"; 572 573 var imgTag = document.querySelector(".ays-image-lightbox-img"); 574 imgTag.style.zIndex = "100"; 575} 576 577 578/* New Homepage Design JS | 2026 | Start */ 579 580function initReviewsSlider() { 581 var slider = document.querySelector('[data-ays-pro-homepage-reviews]'); 582 583 if (!slider) { 584 return; 585 } 586 587 var slides = slider.querySelectorAll('[data-ays-pro-homepage-review-slide]'); 588 var controls = slider.querySelectorAll('[data-ays-pro-homepage-review-control]'); 589 var currentIndex = 0; 590 var timer = null; 591 var interval = 6500; 592 var reducedMotion = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; 593 594 function showReview(index) { 595 var normalizedIndex = (index + slides.length) % slides.length; 596 var i; 597 598 if (normalizedIndex === currentIndex) { 599 return; 600 } 601 602 for (i = 0; i < slides.length; i++) { 603 slides[i].classList.remove('ays-pro-homepage-review-slide-active'); 604 slides[i].setAttribute('aria-hidden', 'true'); 605 controls[i].classList.remove('ays-pro-homepage-review-control-active'); 606 controls[i].setAttribute('aria-current', 'false'); 607 } 608 609 slides[normalizedIndex].classList.add('ays-pro-homepage-review-slide-active'); 610 slides[normalizedIndex].setAttribute('aria-hidden', 'false'); 611 controls[normalizedIndex].classList.add('ays-pro-homepage-review-control-active'); 612 controls[normalizedIndex].setAttribute('aria-current', 'true'); 613 currentIndex = normalizedIndex; 614 } 615 616 function stopAutoplay() { 617 if (timer !== null) { 618 window.clearInterval(timer); 619 timer = null; 620 } 621 } 622 623 function startAutoplay() { 624 stopAutoplay(); 625 626 if (reducedMotion || document.hidden) { 627 return; 628 } 629 630 timer = window.setInterval(function () { 631 showReview(currentIndex + 1); 632 }, interval); 633 } 634 635 function selectReview(index) { 636 showReview(index); 637 startAutoplay(); 638 } 639 640 function bindControl(control) { 641 control.addEventListener('click', function () { 642 selectReview(parseInt(control.getAttribute('data-ays-pro-homepage-review-control'), 10)); 643 }); 644 } 645 646 var i; 647 for (i = 0; i < controls.length; i++) {
648 bindControl(controls[i]); 649 } 650 651 slider.addEventListener('mouseenter', stopAutoplay); 652 slider.addEventListener('mouseleave', startAutoplay); 653 slider.addEventListener('focusin', stopAutoplay); 654 slider.addEventListener('focusout', function () { 655 window.setTimeout(function () { 656 if (!slider.contains(document.activeElement)) { 657 startAutoplay(); 658 } 659 }, 0); 660 }); 661 slider.addEventListener('keydown', function (event) { 662 if (event.key === 'ArrowLeft') { 663 event.preventDefault(); 664 selectReview(currentIndex - 1); 665 } else if (event.key === 'ArrowRight') { 666 event.preventDefault(); 667 selectReview(currentIndex + 1); 668 } 669 }); 670 document.addEventListener('visibilitychange', function () { 671 if (document.hidden) { 672 stopAutoplay(); 673 } else { 674 startAutoplay(); 675 } 676 }); 677 678 startAutoplay(); 679} 680 681function initFaqAccordion() { 682 var accordion = document.querySelector('[data-ays-pro-homepage-faq]'); 683 684 if (!accordion) { 685 return; 686 } 687 688 var items = accordion.querySelectorAll('[data-ays-pro-homepage-faq-item]'); 689 var questions = accordion.querySelectorAll('[data-ays-pro-homepage-faq-question]'); 690 691 function setItemState(item, isOpen) { 692 var question = item.querySelector('[data-ays-pro-homepage-faq-question]'); 693 var answer = item.querySelector('[data-ays-pro-homepage-faq-answer]'); 694 695 if (isOpen) { 696 item.classList.add('ays-pro-homepage-faq-item-active'); 697 } else { 698 item.classList.remove('ays-pro-homepage-faq-item-active'); 699 } 700 701 question.setAttribute('aria-expanded', isOpen ? 'true' : 'false'); 702 answer.setAttribute('aria-hidden', isOpen ? 'false' : 'true'); 703 } 704 705 function toggleItem(selectedItem) { 706 var isOpen = selectedItem.classList.contains('ays-pro-homepage-faq-item-active'); 707 var i; 708 709 for (i = 0; i < items.length; i++) { 710 setItemState(items[i], false); 711 } 712 713 if (!isOpen) { 714 setItemState(selectedItem, true); 715 } 716 } 717 718 function focusQuestion(index) { 719 var normalizedIndex = (index + questions.length) % questions.length; 720 questions[normalizedIndex].focus(); 721 } 722 723 function bindQuestion(question, index) { 724 question.addEventListener('click', function () { 725 toggleItem(question.parentNode); 726 }); 727 728 question.addEventListener('keydown', function (event) { 729 if (event.key === 'ArrowDown') { 730 event.preventDefault(); 731 focusQuestion(index + 1); 732 } else if (event.key === 'ArrowUp') { 733 event.preventDefault(); 734 focusQuestion(index - 1); 735 } else if (event.key === 'Home') { 736 event.preventDefault(); 737 focusQuestion(0); 738 } else if (event.key === 'End') { 739 event.preventDefault(); 740 focusQuestion(questions.length - 1); 741 } 742 }); 743 } 744 745 var i; 746 for (i = 0; i < questions.length; i++) { 747 bindQuestion(questions[i], i); 748 } 749} 750 751function initHomepage() { 752 initReviewsSlider(); 753 initFaqAccordion(); 754} 755 756if (document.readyState === 'loading') { 757 document.addEventListener('DOMContentLoaded', initHomepage); 758} else { 759 initHomepage(); 760} 761 762/* New Homepage Design JS | 2026 | End */ 763 764 765/* New Homepage Design JS | 2026 | End */ 766 767/* Shared header navigation | 2026 | Start */ 768function initSiteNavigation() { 769 var header = document.querySelector('.ays-site-header'); 770 771 if (!header || header.getAttribute('data-navigation-ready') === 'true') { 772 return; 773 } 774 775 var menuButton = header.querySelector('.dd_menu_trigger'); 776 var drawer = header.querySelector('.ays-site-header__drawer'); 777 var overlay = header.querySelector('.jmenu_bg'); 778 var submenuButtons = header.querySelectorAll('.ays-submenu-toggle'); 779 var mobileMedia = window.matchMedia('(max-width: 1100px)'); 780 781 if (!menuButton || !drawer || !overlay) { 782 return; 783 } 784 785 header.setAttribute('data-navigation-ready', 'true'); 786 787 function setSubmenuState(button, isOpen) { 788 var parentItem = button.parentNode; 789 790 parentItem.classList.toggle('ays-submenu-open', isOpen); 791 button.setAttribute('aria-expanded', isOpen ? 'true' : 'false'); 792 } 793 794 function closeSubmenus(exceptButton) { 795 for (var i = 0; i < submenuButtons.length; i++) { 796 if (submenuButtons[i] !== exceptButton) { 797 setSubmenuState(submenuButtons[i], false); 798 } 799 } 800 } 801 802 function openMenu() { 803 header.classList.add('ays-menu-open'); 804 document.body.classList.add('ays-menu-open'); 805 menuButton.setAttribute('aria-expanded', 'true'); 806 menuButton.setAttribute('aria-label', 'Close navigation menu'); 807 808 window.setTimeout(function () { 809 var firstLink = drawer.querySelector('a'); 810 811 if (firstLink) { 812 firstLink.focus(); 813 } 814 }, 180); 815 } 816 817 function closeMenu(restoreFocus) { 818 header.classList.remove('ays-menu-open'); 819 document.body.classList.remove('ays-menu-open'); 820 menuButton.setAttribute('aria-expanded', 'false'); 821 menuButton.setAttribute('aria-label', 'Open navigation menu'); 822 closeSubmenus(); 823 824 if (restoreFocus) { 825 menuButton.focus(); 826 } 827 } 828 829 function bindSubmenuButton(button) { 830 var parentItem = button.parentNode; 831 832 button.addEventListener('click', function (event) { 833 var shouldOpen = button.getAttribute('aria-expanded') !== 'true'; 834 835 event.preventDefault(); 836 event.stopPropagation(); 837 closeSubmenus(button); 838 setSubmenuState(button, shouldOpen); 839 }); 840 841 parentItem.addEventListener('mouseenter', function () { 842 if (!mobileMedia.matches) { 843 closeSubmenus(button); 844 setSubmenuState(button, true); 845 } 846 }); 847 848 parentItem.addEventListener('mouseleave', function () { 849 if (!mobileMedia.matches && !parentItem.contains(document.activeElement)) { 850 setSubmenuState(button, false); 851 } 852 }); 853 854 parentItem.addEventListener('focusout', function () { 855 window.setTimeout(function () { 856 if (!mobileMedia.matches && !parentItem.contains(document.activeElement)) { 857 setSubmenuState(button, false); 858 } 859 }, 0); 860 }); 861 } 862 863 for (var i = 0; i < submenuButtons.length; i++) { 864 bindSubmenuButton(submenuButtons[i]); 865 } 866 867 menuButton.addEventListener('click', function () { 868 if (header.classList.contains('ays-menu-open')) { 869 closeMenu(false); 870 } else { 871 openMenu(); 872 } 873 }); 874 875 overlay.addEventListener('click', function () { 876 closeMenu(true); 877 }); 878 879 drawer.addEventListener('click', function (event) { 880 var clickedLink = event.target.closest ? event.target.closest('a') : null; 881 882 if (mobileMedia.matches && clickedLink) { 883 closeMenu(false); 884 } 885 }); 886 887 document.addEventListener('keydown', function (event) { 888 if (event.key !== 'Escape') { 889 return; 890 } 891 892 if (header.classList.contains('ays-menu-open')) { 893 closeMenu(true); 894 } else { 895 closeSubmenus(); 896 } 897 }); 898 899 function resetNavigation() { 900 closeMenu(false); 901 } 902 903 if (typeof mobileMedia.addEventListener === 'function') { 904 mobileMedia.addEventListener('change', resetNavigation); 905 } else if (typeof mobileMedia.addListener === 'function') { 906 mobileMedia.addListener(resetNavigation); 907 } 908} 909 910if (document.readyState === 'loading') { 911 document.addEventListener('DOMContentLoaded', initSiteNavigation); 912} else { 913 initSiteNavigation(); 914} 915/* Shared header navigation | 2026 | End */
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.