1"use strict"; 2var $ = jQuery; 3 4function updateWrapper() { 5 var windowHeight = $(window).height(); 6 var headerHeight = $("#pageHeaderWrapper").outerHeight(); 7 var footerHeight = $(".footer-wrapper").outerHeight(); 8 var takeHeight = $(".takeHeight").outerHeight(); 9 //var bottomCta = $(".bottom-cta").outerHeight(); 10 $(".giveHeight").css({ height: takeHeight }); 11 //$(".margin-container").css({ marginTop: headerHeight }); 12 //$(".banner .spacer,.banner .img-holder").css({ paddingBottom: windowHeight - headerHeight }); 13 //$(".footer-wrapper").css({ paddingTop: bottomCta / 2 }); 14 //$(".has-bottom-cta").css({ paddingBottom: bottomCta / 2 }); 15 //$(".bottom-cta").css({ marginTop: - bottomCta }); 16 //console.log("height " + headerHeight); 17 if ($(window).width() > 1920) { 18 //$(".topNavWrapper").css({ height: headerHeight }); 19 $(".thankyou-img").css({ paddingBottom: windowHeight - headerHeight }); 20 } 21} 22 23$(document).ready(function () { 24 updateWrapper(); 25 $(window).resize(function () { 26 updateWrapper(); 27 }); 28 $(window).scroll(function () { 29 if ($(this).scrollTop() > 0) { 30 $('#pageHeaderWrapper').addClass('is-sticky'); 31 $('.progress-wrap').addClass('show'); 32 33 } else { 34 $("#pageHeaderWrapper").removeClass("is-sticky"); 35 $('.progress-wrap').removeClass('show'); 36 } 37 }); 38}); 39$(document).ready(function () { 40 //Comment it for Megamenu 41 // $(".nav-container .nav").meanmenu({ 42 // meanScreenWidth: "1199.98", 43 // }); 44 //Comment it for Megamenu END 45}); 46$(document).ready(function () { 47 updateContainer(); 48 $(window).resize(function () { 49 updateContainer(); 50 }); 51}); 52 53function updateContainer() { 54 // $(".inner-menu").next().remove("a.mean-expand"); 55} 56//Match title height 57function MatchHeight() { 58 $(".equalheight").matchHeight(); 59 $(".equalheight1").matchHeight(); 60 $(".equalheight2").matchHeight(); 61 $(".equalheight3").matchHeight(); 62 $(".equalheight4").matchHeight(); 63 $(".equalheight5").matchHeight(); 64 $(".equalheight .grid-header").matchHeight(); 65 $(".equalheight .grid-title").matchHeight(); 66 $(".equalheight .grid-info").matchHeight(); 67 $(".equalheight .grid-footer").matchHeight(); 68 $(".equalheight .grid-content").matchHeight(); 69 $(".equalheight .news-meta").matchHeight(); 70 $(".tab-nav-holder .nav-tabs .nav-item .nav-link").matchHeight(); 71} 72 73//(document).ready function- START 74$(document).ready(function () { 75 76 //Comment it for Megamenu 77 // jQuery(".meanmenu-reveal").on("click", function () { 78 // jQuery(".mean-nav").toggleClass("active"); 79 // jQuery("body").toggleClass("body-noscroll"); 80 // }); 81 // One Page Mean Menu 82 // if ($(window).width() < 1199.98) { 83 // jQuery(".mean-nav ul li a").on("click", function () { 84 // jQuery(".mean-nav").toggleClass("active"); 85 // jQuery("body").toggleClass("body-noscroll"); 86 // }); 87 // } 88 // One Page Mean Menu END 89 //Comment it for Megamenu END 90 91 $('[data-bs-toggle="tooltip"]').tooltip({ 92 placement: "auto" 93 }); 94 95 $('a[data-bs-toggle="tab"]').on("shown.bs.tab", function () { 96 MatchHeight(); 97 }); 98 $(".tab-content,.accordion").on("hidden.bs.collapse", function () { 99 MatchHeight(); 100 }); 101 102 //fancybox 103 Fancybox.bind('[data-fancybox]', { 104 Thumbs: false, 105 Toolbar: false, 106 107 Carousel: { 108 Navigation: { 109 prevTpl: `<i class="fa-solid fa-angle-left"></i>`, 110 nextTpl: `<i class="fa-solid fa-angle-right"></i>` 111 } 112 }, 113 on: { 114 done: () => { 115 setTimeout(() => { 116 $(".slick-slider").slick("setPosition"); 117 }, 0); // important delay 118 } 119 } 120 }); 121 //fancybox END 122 123 // Slick Slider START 124 /*- How to USE 125 <div class="slider" 126 data-show="6" 127 data-resp='[{"bp":1200, "show":5},{"bp":992, "show":4},{"bp":768, "show":3},{"bp":576, "show":2}]' 128 data-autoplay="true" 129 data-autoplay-speed="2500" 130 data-speed="1200" 131 data-fade="false" 132 data-center="false" 133 data-center-padding="0" 134 data-variable="false" 135 data-append-arrows="#slider-arrow1" 136 data-append-dots="#slider-dots1" 137 data-rows="2" 138 data-custom-paging="true" 139 data-asnavfor="#gallery-nav" 140 data-vertical="true"
141 data-vertical-swiping="true" 142 143</div> 144 145<div class="custom-arrows" id="slider-arrow1"></div> 146<div class="slider" data-append-arrows="#slider-arrow1"> 147 148<div class="custom-dots" id="slider-dots1"></div> 149<div class="slider" data-append-dots="#slider-dots1"> 150-*/ 151 152 /*--Add slide-last and .slide-first to first and last visible slide--*/ 153 function initSlickSlider(selector, options = {}) { 154 $(selector).each(function () { 155 let $slider = $(this); 156 157 // Inline attributes 158 let inlineShow = $slider.data("show"); 159 let inlineResp = $slider.data("resp"); 160 let inlineAutoplay = $slider.data("autoplay"); 161 let inlineAutoplaySpeed = $slider.data("autoplay-speed"); 162 let inlineSpeed = $slider.data("speed"); 163 let inlineFade = $slider.data("fade"); 164 let inlineCenter = $slider.data("center"); 165 let inlineCenterPadding = $slider.data("center-padding"); 166 let inlineVariable = $slider.data("variable"); 167 let inlineArrows = $slider.data("append-arrows"); 168 let inlineDots = $slider.data("append-dots"); 169 let inlineRows = $slider.data("rows"); 170 let inlineCustomPaging = $slider.data("custom-paging"); 171 let inlineAsNavFor = $slider.data("asnavfor"); 172 let inlinePrevArrow = $slider.data("prev-arrow"); 173 let inlineNextArrow = $slider.data("next-arrow"); 174 let inlineInfinite = $slider.data("infinite"); 175 let inlineVertical = $slider.data("vertical"); 176 let inlineVerticalSwiping = $slider.data("vertical-swiping"); 177 let inlineAdaptiveHeight = $slider.data("adaptive-height"); 178 let inlinePauseOnHover = $slider.data("pause-on-hover"); 179 180 181 const defaultOptions = { 182 slidesToShow: 1, 183 slidesToScroll: 1, 184 speed: 1000, 185 autoplay: true, 186 autoplaySpeed: 2000, 187 dots: true, 188 arrows: true, 189 infinite: true, 190 pauseOnHover: true, 191 focusOnSelect: true, 192 centerMode: false, 193 centerPadding: 0, 194 vertical: false, 195 verticalSwiping: false, 196 adaptiveHeight: false, 197 prevArrow: 198 '<button class="slick-prev" type="button"><i class="arrow-icon"></i></button>', 199 nextArrow: 200 '<button class="slick-next" type="button"><i class="arrow-icon"></i></button>' 201 }; 202 203 // options mapping 204 if (inlineShow) defaultOptions.slidesToShow = parseInt(inlineShow); 205 if (inlineResp) { 206 try { 207 let respArray = typeof inlineResp === "string" ? JSON.parse(inlineResp) : inlineResp; 208 defaultOptions.responsive = respArray.map(item => ({ 209 breakpoint: item.bp, 210 settings: { slidesToShow: item.show } 211 })); 212 } catch (e) { console.warn("Invalid data-resp format", e); } 213 } 214 215 if (inlineAutoplay !== undefined) defaultOptions.autoplay = inlineAutoplay === true || inlineAutoplay === "true"; 216 if (inlineAutoplaySpeed) defaultOptions.autoplaySpeed = parseInt(inlineAutoplaySpeed); 217 if (inlineSpeed) defaultOptions.speed = parseInt(inlineSpeed); 218 if (inlineFade !== undefined) defaultOptions.fade = inlineFade === true || inlineFade === "true"; 219 if (inlineCenter !== undefined) defaultOptions.centerMode = inlineCenter === true || inlineCenter === "true"; 220 if (inlineCenterPadding) defaultOptions.centerPadding = inlineCenterPadding; 221 if (inlineVariable !== undefined) defaultOptions.variableWidth = inlineVariable === true || inlineVariable === "true"; 222 if (inlineArrows) defaultOptions.appendArrows = $(inlineArrows); 223 if (inlineDots) defaultOptions.appendDots = $(inlineDots); 224 if (inlineRows) defaultOptions.rows = parseInt(inlineRows); 225 if (inlineCustomPaging) defaultOptions.customPaging = () => '<a><span>0' + (i + 1) + '</span></a>'; 226 if (inlineAsNavFor) defaultOptions.asNavFor = inlineAsNavFor; 227 if (inlineInfinite !== undefined) defaultOptions.infinite = inlineInfinite === true || inlineInfinite === "true"; 228 if (inlineVertical !== undefined) defaultOptions.vertical = inlineVertical === true || inlineVertical === "true"; 229 if (inlineVerticalSwiping !== undefined) defaultOptions.verticalSwiping = inlineVerticalSwiping === true || inlineVerticalSwiping === "true"; 230 if (inlinePrevArrow) defaultOptions.prevArrow = $(inlinePrevArrow).length ? $(inlinePrevArrow) : inlinePrevArrow; 231 if (inlineNextArrow) defaultOptions.nextArrow = $(inlineNextArrow).length ? $(inlineNextArrow) : inlineNextArrow; 232 if (inlineAdaptiveHeight !== undefined) defaultOptions.adaptiveHeight = inlineAdaptiveHeight === true || inlineAdaptiveHeight === "true"; 233 if (inlinePauseOnHover !== undefined) { defaultOptions.pauseOnHover = inlinePauseOnHover === true || inlinePauseOnHover === "true"; 234 } 235 236 // initialize slick 237 $slider.slick($.extend(true, {}, defaultOptions, options)); 238 }); 239 } 240 initSlickSlider(".slider"); 241 // Slick Slider END 242 243 244 245 246 247 $(".modal").on("shown.bs.modal", function () { 248 $(".slick-slider").slick("setPosition"); 249 }); 250 /*--tab + accordion + slick slider + matchheight--*/ 251 $('a[data-toggle="tab"]').on("shown.bs.tab", function () { 252 setTimeout(function () { 253 MatchHeight(); 254 $(".slick-slider").slick("setPosition"); 255 }, 10); 256 $(".slick-slider").slick("setPosition"); 257 }); 258 $(".accordion").on("shown.bs.collapse", function () { 259 setTimeout(function () { 260 MatchHeight(); 261 $(".slick-slider").slick("setPosition"); 262 }, 10); 263 $(".slick-slider").slick("setPosition"); 264 }); 265 $(".card").on("shown.bs.collapse", function () { 266 setTimeout(function () { 267 MatchHeight(); 268 $(".slick-slider").slick("setPosition"); 269 }, 10); 270 $(".slick-slider").slick("setPosition"); 271 }); 272 /*-tab + accordion + slick slider + matchheight- END*/ 273 274 $("#quickSearch").on("shown.bs.modal", function () { 275 $("input[name=quickSearch]").trigger("focus"); 276 }); 277 //Search END 278 279 // Load-more , <div class="row gutters-15 grid-15 loadmore-list" data-limit="6" data-load="1000" data-btn="#btn1"> 280 $(".loadmore-list").each(function () { 281 let $list = $(this); 282 // Get limit & load values from data attributes 283 let limit = parseInt($list.data("limit")) || 9; 284 let load = parseInt($list.data("load")) || 9; 285
286 // Responsive adjustment Deducted by 1 287 const w = $(window).width(); 288 if (w < 992) { limit--; load--; } 289 if (w < 768) { limit--; load--; } 290 291 // Find external button using data-btn selector 292 let btnSelector = $list.data("btn"); 293 let $btn = $(btnSelector); 294 295 $list.loadMore({ 296 selector: ".loadmore-item", 297 loadBtn: $btn, // external button 298 limit: limit, 299 load: load, 300 animate: false, 301 //animateIn: 'fadeInUp', 302 }); 303 }); 304 // Load-more END 305 306 307 //fileinput 308 $(".fileinput").fileinput({ 309 browseIcon: "", 310 browseClass: "custom-button button-title button-rounded has-icon btn-upload", 311 browseLabel: "Choose File", 312 showPreview: false, 313 showRemove: false, 314 removeClass: "button", 315 showCancel: false, 316 showUpload: false, 317 initialCaption: "No file chosen", 318 }); 319 //fileinput END 320 //DropZone 321 $(".dropzone").dropzone({ 322 //url: 'upload.php', 323 margin: 0, 324 text: `<div class="dropzone-content"> 325 <i class="fa-solid fa-arrow-up-from-bracket title size-30"></i> 326 <p class="size-16 text-uppercase bld-sm"><span class="primary">Drop or Upload</span> your CV / Resume here</p> 327 </div>`, 328 width: null, 329 height: null, 330 progressBarWidth: null, 331 filesName: 'files', 332 border: '', 333 background: '', 334 zIndex: 100, 335 textColor: '', 336 textAlign: 'center', 337 uploadMode: 'single', 338 progressContainer: '', 339 src: '', 340 dropzoneWraper: 'nniicc-dropzoneParent', 341 files: [], 342 maxFileSize: '10MB', 343 allowedFileTypes: '*', 344 clickToUpload: true, 345 showTimer: false, 346 removeComplete: true, 347 preview: false, 348 uploadOnPreview: false, 349 uploadOnDrop: true, 350 load: null, 351 progress: null, 352 uploadDone: null, 353 error: null, 354 previewDone: null, 355 params: { 356 'action': 'save' 357 }, 358 success: function (res, index) { 359 console.log(res, index); 360 } 361 }); 362 //DropZone END 363 //NiceSelect 364 $(".NiceSelect select").niceSelect(); 365 $("select").on("change", function () { 366 $(this).parent().addClass("nice-selected"); 367 }); 368 //NiceSelect END 369 // Form-Floating-Lables 370 $(".floating-label .form-control").focus(function () { 371 $(this).parent().addClass("focus"); 372 $(this).parent().parent().addClass("focus"); 373 }); 374 $(".floating-label .form-control").focusout(function () { 375 $(this).parent().removeClass("focus"); 376 $(this).parent().parent().removeClass("focus"); 377 }); 378 $(".floating-label .form-control").blur(function () { 379 var tmpval = $(this).val(); 380 if (tmpval == "") { 381 $(this).parent().addClass("empty"); 382 $(this).parent().removeClass("not-empty"); 383 $(this).parent().parent().addClass("empty"); 384 $(this).parent().parent().removeClass("not-empty"); 385 } else { 386 $(this).parent().addClass("not-empty"); 387 $(this).parent().removeClass("empty"); 388 $(this).parent().parent().addClass("not-empty"); 389 $(this).parent().parent().removeClass("empty"); 390 } 391 }); 392 var inputs = $(".floating-label .form-control"); 393 for (var i = 0; i < inputs.length; i++) { 394 if ($(inputs[i]).val() == "") { 395 $(inputs[i]).parent().addClass("empty"); 396 $(inputs[i]).parent().removeClass("not-empty"); 397 $(inputs[i]).parent().parent().addClass("empty"); 398 $(inputs[i]).parent().parent().removeClass("not-empty"); 399 } else { 400 $(inputs[i]).parent().addClass("not-empty"); 401 $(inputs[i]).parent().removeClass("empty"); 402 $(inputs[i]).parent().parent().addClass("not-empty"); 403 $(inputs[i]).parent().parent().removeClass("empty"); 404 } 405 } 406 // Form-Floating-Lables END 407 /*--Custom-checkbox--*/ 408 $(".checkbox label input").change(function () { 409 if ($(this).is(":checked")) { 410 $(this).parent("label").addClass("label-selected"); 411 } else { 412 $(this).parent("label").removeClass("label-selected"); 413 } 414 });
415 /*--Custom-checkbox END--*/ 416 MatchHeight(); 417 //Slick Slider in Tab-Accordion 418 $('.nav-tabs .nav-link,.accordion-header a').click(function () { 419 $('.slick-slider').slick('setPosition'); 420 MatchHeight(); 421 }); 422 //Slick Slider in Tab-Accordion END 423 jQuery('.comment-form-cookies-consent').addClass('checkbox'); 424 425 jarallax(document.querySelectorAll(".jarallax"), { speed: 0.5, }); 426 427 //headerInfoBar 428 $(".header-close").on("click", function (event) { 429 $("#headerInfoBar").remove(); 430 $(".header-container").addClass('headerInfo-removed'); 431 $(".margin-container").addClass('headerInfo-removed'); 432 updateWrapper(); 433 event.preventDefault(); 434 }); 435 //headerInfoBar END 436 437 // Tabs Scroll + Arrows 438 document.querySelectorAll(".nav-tabs").forEach((scroller) => { 439 // Wrap scroller in a container 440 const wrapper = document.createElement("div"); 441 wrapper.classList.add("tabs-wrapper"); 442 scroller.parentNode.insertBefore(wrapper, scroller); 443 wrapper.appendChild(scroller); 444 445 // Create arrows 446 const leftArrow = document.createElement("button"); 447 leftArrow.className = "tab-scroll-arrow arleft"; 448 leftArrow.innerHTML = "<i class='fa-solid fa-angle-left'></i>"; 449 const rightArrow = document.createElement("button"); 450 rightArrow.className = "tab-scroll-arrow arright"; 451 rightArrow.innerHTML = "<i class='fa-solid fa-angle-right'></i>"; 452 453 wrapper.appendChild(leftArrow); 454 wrapper.appendChild(rightArrow); 455 456 // Mouse wheel â horizontal scroll 457 scroller.addEventListener( 458 "wheel", 459 (e) => { 460 if (Math.abs(e.deltaY) > Math.abs(e.deltaX)) { 461 scroller.scrollLeft += e.deltaY; 462 e.preventDefault(); 463 } 464 }, 465 { passive: false } 466 ); 467 468 // Click & drag scroll 469 let isDown = false, 470 startX = 0, 471 startLeft = 0; 472 scroller.addEventListener("mousedown", (e) => { 473 isDown = true; 474 startX = e.pageX; 475 startLeft = scroller.scrollLeft; 476 }); 477 window.addEventListener("mouseup", () => { 478 isDown = false; 479 }); 480 scroller.addEventListener("mouseleave", () => { 481 isDown = false; 482 }); 483 scroller.addEventListener("mousemove", (e) => { 484 if (!isDown) return; 485 e.preventDefault(); 486 const dx = e.pageX - startX; 487 scroller.scrollLeft = startLeft - dx; 488 }); 489 490 // Arrow click scroll 491 const scrollAmount = 150; 492 leftArrow.addEventListener("click", () => { 493 scroller.scrollBy({ left: -scrollAmount, behavior: "smooth" }); 494 }); 495 rightArrow.addEventListener("click", () => { 496 scroller.scrollBy({ left: scrollAmount, behavior: "smooth" }); 497 }); 498 499 // Check scrollable & arrows 500 function updateUI() { 501 if (scroller.scrollWidth <= scroller.clientWidth) { 502 scroller.classList.add("centered"); 503 leftArrow.style.display = "none"; 504 rightArrow.style.display = "none"; 505 } else { 506 scroller.classList.remove("centered"); 507 // leftArrow.style.display = scroller.scrollLeft > 0 ? "flex" : "flex"; 508 // rightArrow.style.display = scroller.scrollLeft + scroller.clientWidth < scroller.scrollWidth ? "flex" : "flex"; 509 //Use below and comment upper if want to hide Arrow if scroll ends JJJ 510 leftArrow.style.display = scroller.scrollLeft > 0 ? "flex" : "none"; 511 rightArrow.style.display = scroller.scrollLeft + scroller.clientWidth < scroller.scrollWidth ? "flex" : "none"; 512 } 513 } 514 515 scroller.addEventListener("scroll", updateUI); 516 window.addEventListener("resize", updateUI); 517 updateUI(); // init 518 519 // Center active tab on click 520 scroller.querySelectorAll("li, .nav-link, button").forEach((tab) => { 521 tab.addEventListener("click", () => { 522 setTimeout(() => { 523 const tabRect = tab.getBoundingClientRect(); 524 const scrollerRect = scroller.getBoundingClientRect(); 525 526 const offset = 527 tab.offsetLeft - 528 scroller.offsetWidth / 2 + 529 tab.offsetWidth / 2; 530 531 scroller.scrollTo({ 532 left: offset, 533 behavior: "smooth", 534 }); 535 }, 50); // thodu delay for active class update 536 }); 537 }); 538 }); 539 // Tabs Scroll END 540 541 // Counter 542 const stats = document.querySelectorAll(".counter");
543 stats.forEach((stat) => { 544 // pattern used to seperate input number from html into an array of numbers and non numbers. EX $65.3M -> ["$65.3M", "$", "65", ".", "3", "M"] 545 const patt = /(\D+)?(\d+)(\D+)?(\d+)?(\D+)?/; 546 const time = 10; 547 let result = [...patt.exec(stat.textContent)]; 548 let fresh = true; 549 let ticks; 550 // Remove first full match from result array (we dont need the full match, just the individual match groups). 551 result.shift(); 552 // Remove undefined values from result array where they didnt have a match in one of the optional regex groups 553 result = result.filter((res) => res != null); 554 while (stat.firstChild) { 555 stat.removeChild(stat.firstChild); 556 } 557 for (let res of result) { 558 if (isNaN(res)) { 559 stat.insertAdjacentHTML("beforeend", `<span>${res}</span>`); 560 } else { 561 for (let i = 0; i < res.length; i++) { 562 stat.insertAdjacentHTML("beforeend", `<span data-value="${res[i]}"> 563 <span>0</span> 564 ${Array(parseInt(res[i]) + 1) 565 .join(0) 566 .split(0) 567 .map((x, j) => `<span>${j}</span>`) 568 .join("")} 569 </span>`); 570 } 571 } 572 } 573 ticks = [...stat.querySelectorAll("span[data-value]")]; 574 let activate = () => { 575 let top = stat.getBoundingClientRect().top; 576 let offset = window.innerHeight * 0.8; 577 setTimeout(() => { 578 fresh = false; 579 }, time); 580 if (top < offset) { 581 setTimeout( 582 () => { 583 for (let tick of ticks) { 584 let dist = parseInt(tick.getAttribute("data-value")) + 1; 585 tick.style.transform = `translateY(-${dist * 100}%)`; 586 } 587 }, fresh ? time : 0); 588 window.removeEventListener("scroll", activate); 589 } 590 }; 591 window.addEventListener("scroll", activate); 592 activate(); 593 }); 594 // Counter 595 596 //Footer Nav Accordion in Mobile 597 if ($(window).width() < 768) { 598 $(".ftbox h6").on("click", function (event) { 599 event.preventDefault(); 600 const $thisBox = $(this).closest(".ftbox"); 601 const $thisNav = $thisBox.find(".inner"); 602 // Hide all other .footer-nav elements 603 $(".ftbox .inner").not($thisNav).slideUp(); 604 // Remove "relative" class from all h6s except the one clicked 605 $(".ftbox h6").not(this).removeClass("active"); 606 // Toggle this one 607 $(this).toggleClass("active"); 608 $thisNav.stop(true, true).slideToggle(); 609 updateWrapper(); 610 }); 611 } 612 //Footer Nav Accordion in Mobile END 613 614 $('#SmartControlSection1').on('click', function () { 615 $('.home-control').toggleClass('active'); 616 }); 617 618 // Image Div Hove Content Div Active 619 const imageDivs = document.querySelectorAll('.image-div'); 620 const contentDivs = document.querySelectorAll('.content-div'); 621 622 imageDivs.forEach((img, index) => { 623 img.addEventListener('mouseenter', () => { 624 625 // badha content mathi active remove karo 626 contentDivs.forEach(content => { 627 content.classList.remove('active'); 628 }); 629 630 // related content ma active add karo 631 contentDivs[index].classList.add('active'); 632 }); 633 634 img.addEventListener('mouseleave', () => { 635 contentDivs[index].classList.remove('active'); 636 }); 637 }); 638 // Image Div Hove Content Div Active END 639 640}); 641//(document).ready function-END 642 643// Date Time Picker 644$(function () { 645 $(".datepicker").datetimepicker({ 646 format: "DD/MM/YYYY", 647 minDate: new Date(), 648 }); 649}); 650$(function () { 651 $(".inline-datepicker").datetimepicker({ 652 format: "DD/MM/YYYY", 653 inline: true 654 }); 655}); 656$(function () { 657 $(".timepicker").datetimepicker({ 658 format: "LT", 659 stepping: 15 660 }); 661}); 662// Date Time Picker END 663 664//mCustomScrollbar 665(function (jQuery) { 666 jQuery(window).load(function () { 667 $(".Scrollcontent").mCustomScrollbar({ 668 //axis:"x", // horizontal scrollbar 669 //axis:"y", // vertical scrollbar 670 theme: "dark", 671 //scrollbarPosition: 'outside', 672 //autoHideScrollbar:false, 673 autoExpandScrollbar: true, 674 mouseWheel: { 675 enable: true 676 }, 677 keyboard: { 678 enable: true 679 }, 680 advanced: { 681 autoExpandHorizontalScroll: true, 682 updateOnContentResize: true, 683 autoScrollOnFocus: false, 684 }, 685 updateOnContentResize: true, 686 }); 687 var amount = Math.max.apply(Math, $(".Scrollcontent-horizontal-list li").map(function () { 688 return $(this).outerWidth(true); 689 }).get()); 690 $(".Scrollcontent-horizontal-list").mCustomScrollbar({ 691 axis: "x", // horizontal scrollbar 692 //axis:"y", // vertical scrollbar 693 theme: "dark", 694 //scrollbarPosition: 'outside', 695 //autoHideScrollbar:false, 696 autoExpandScrollbar: true, 697 mouseWheel: { 698 enable: true 699 }, 700 keyboard: { 701 enable: true 702 }, 703 advanced: { 704 autoExpandHorizontalScroll: true, 705 updateOnContentResize: true, 706 autoScrollOnFocus: false, 707 }, 708 updateOnContentResize: true, 709 }) 710 }); 711})(jQuery); 712//mCustomScrollbar END 713 714//AOS 715window.addEventListener('load', function () { 716 setTimeout(function () { 717 AOS.init({ 718 duration: 1200, 719 //easing: 'ease-in-out-sine', 720 once: true, 721 disable: function () { 722 //return window.innerWidth < 992; 723 }, 724 }); 725 AOS.refresh(); 726 }, 100); 727}); 728//AOS END 729 730//SSCROLL 731window.addEventListener("load", function () { 732 const hash = window.location.hash; 733 if (!hash) return; 734 const target = document.querySelector(hash); 735 const header = document.querySelector("#pageHeaderWrapper"); // change selector if needed 736 737 if (target && header) { 738 const headerHeight = header.offsetHeight; 739 740 setTimeout(() => { 741 const elementPosition = 742 target.getBoundingClientRect().top + window.pageYOffset; 743 window.scrollTo({ 744 top: elementPosition - headerHeight, 745 behavior: "smooth" 746 }); 747 }, 300); 748 } 749}); 750//SSCROLL END 751$(window).load(function () { 752 $(".targetDiv").hide(); 753 $(".targetDiv").first().show(); 754 $(".showSingle").click(function () { 755 $(".targetDiv").hide(); 756 $(".showSingle").removeClass("selected"); 757 $("#div" + $(this).attr("target")).show(); 758 $(this).addClass("selected"); 759 }); 760}); 761 762/*---Accordion accordion-item Active---*/ 763$(document).on('click', '.accordion-header a', function (e) { 764 e.preventDefault(); 765 766 const $item = $(this).closest('.accordion-item'); 767 const $group = $(this).closest('.accordion'); 768 769 $group.find('.accordion-item').not($item).removeClass('active'); 770 $item.toggleClass('active'); 771}); 772/*---Accordion accordion-item Active 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.