https://terrapass.com/wp-content/themes/TerraPass-twentytwenty/assets/js/terrapass.js?ver=1789991979
1$ = jQuery; 2var siteUrl = document.location.origin; 3 4/*function redirectEurope() { 5 const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone; 6 7 const BlockedCountries = ["America/Havana", "Asia/Tehran", "Asia/Pyongyang", "Asia/Damascus", "Europe/Kiev", "Europe/Moscow"]; 8 9 const UKcountries = ["Europe/London", "Europe/Brussels", "Europe/Berlin", "Europe/Madrid", "Europe/Paris", "Europe/Rome", "Europe/Budapest", "Europe/Tallinn", "Europe/Helsinki", "Europe/Athens", "Europe/Riga", "Europe/Vilnius", "Europe/Bucharest", "Europe/Stockholm", "Asia/Famagusta", "Europe/Amsterdam", "Europe/Vienna", "Europe/Warsaw", "Europe/Luxembourg", "Europe/Zagreb", "Europe/Prague", "Europe/Copenhagen", "Europe/Dublin", "Europe/Malta", "Europe/Lisbon", "Europe/Bratislava", "Europe/Ljubljana", "Europe/Sofia"] 10 console.log( "Timezone is : " + timezone ); 11 12 if ( timezone === "" || !timezone ) { 13 return null; 14 } 15 16 if (BlockedCountries.includes(timezone)) 17 { 18 let FullPageUrl = window.location.href; 19 let Url = (new URL(FullPageUrl)); 20 21 const pathValue = Url.pathname; 22 23 if(pathValue.length> 1) { 24 window.location.assign("https://" + Url.hostname); 25 } 26 } 27 28 if (UKcountries.includes(timezone)) 29 { 30 let Url = window.location.hostname; 31 let Newurl = Url.replace( ".com",".co.uk" ); 32 let Params = '?utm_source=' + Url + '&utm_medium=referral&utm_campaign=redirect'; 33 34 window.location.replace( 'https://' + Newurl + Params ); 35 } 36 37} 38 39redirectEurope(); 40*/ 41 42jQuery(document).ready(function ($) { 43 $("a.more-link").html(function () { 44 return $(this).html().replace("read more", "Read article"); 45 }); 46 47 $(window).on("scroll", function () { 48 if ($(this).scrollTop() > 600) { 49 $(".arrow-up").fadeIn(); 50 } else { 51 $(".arrow-up").fadeOut(); 52 } 53 }); 54 55 $(".arrow-up a").click(function (event) { 56 event.preventDefault(); 57 $("html, body").animate({ scrollTop: 0 }, "slow"); 58 return false; 59 }); 60 61 $(".terrapass-testimonial-slider-js").slick({ 62 dots: true, 63 speed: 300, 64 slidesToShow: 1, 65 adaptiveHeight: true, 66 fade: true, 67 cssEase: "linear", 68 responsive: [ 69 { 70 breakpoint: 1025, 71 settings: { 72 arrows: false, 73 }, 74 }, 75 ] 76 }); 77 78 // Carousel on projects and client pages 79 $(".projectsCarousel").slick({ 80 infinite: false, 81 slidesToShow: 3, 82 slidesToScroll: 3, 83 dots: true, 84 infinite: false, 85 dots: true, 86 accessibility: false, 87 responsive: [ 88 { 89 breakpoint: 980, 90 settings: { 91 slidesToShow: 1, 92 slidesToScroll: 1, 93 }, 94 }, 95 { 96 breakpoint: 1500, 97 settings: { 98 slidesToShow: 2, 99 slidesToScroll: 2, 100 }, 101 }, 102 ], 103 }); 104 105 // Woo commerce Product listing page slider 106 $(".wc-product-listings").slick({ 107 dots: true, 108 infinite: true, 109 speed: 500, 110 fade: true, 111 cssEase: "linear", 112 responsive: [ 113 { 114 breakpoint: 1500, 115 settings: { 116 arrows: false, 117 }, 118 }, 119 ], 120 }); 121 122 $(".category-nav").click(function () { 123 var selectcatid = $(this).find("a").attr("data-id"); 124 $(".subcategories-list li").removeClass("active"); 125 $(this).addClass("active"); 126 $(".terrapass-product-tabcontent ").hide(); 127 $("#category-id-" + selectcatid).show(); 128 }); 129 130 /* 131 * Feature Partner code start 132 */ 133 $("#feature-industry").change(function () { 134 var featureindustry = $("#feature-industry").val(); 135 var featureprogram = $("#feature-program").val(); 136 $.ajax({
137 type: "POST", 138 url: siteUrl + "/wp-admin/admin-ajax.php", 139 data: { 140 featureindustry: featureindustry, 141 featureprogram: featureprogram, 142 action: "fetch_featured_partner", 143 }, 144 dataType: "json", 145 beforeSend: function () { 146 $(".partner-feature-list").empty(); 147 $(".show-loading-msg").text("Please Wait ..."); 148 $(".load-more-feature").attr("data-count", 2); 149 }, 150 complete: function (response) { 151 $(".show-loading-msg").text(""); 152 if (response.responseText == "No result found") { 153 $(".partner-feature-list").append(response.responseText); 154 $(".load-more-feature").hide(); 155 } else { 156 $(".partner-feature-list").append(response.responseText); 157 $(".load-more-feature").show(); 158 $(".load-more-msg").remove(); 159 160 var parseTextToHtml = $.parseHTML(response.responseText); 161 162 if (parseTextToHtml.length < 9) { 163 $(".load-more-feature").hide(); 164 $(".load-more-msg").remove(); 165 } 166 } 167 }, 168 }); 169 }); 170 171 $("#feature-program").change(function () { 172 var featureindustry = $("#feature-industry").val(); 173 var featureprogram = $("#feature-program").val(); 174 $.ajax({
175 type: "POST", 176 url: siteUrl + "/wp-admin/admin-ajax.php", 177 data: { 178 featureindustry: featureindustry, 179 featureprogram: featureprogram, 180 action: "fetch_featured_partner", 181 }, 182 dataType: "json", 183 beforeSend: function () { 184 $(".partner-feature-list").empty(); 185 $(".show-loading-msg").text("Please Wait ..."); 186 $(".load-more-feature").attr("data-count", 2); 187 }, 188 complete: function (response) { 189 $(".show-loading-msg").text(""); 190 if (response.responseText == "No result found") { 191 $(".partner-feature-list").append(response.responseText); 192 $(".load-more-feature").hide(); 193 } else { 194 $(".partner-feature-list").append(response.responseText); 195 $(".load-more-feature").show(); 196 $(".load-more-msg").remove(); 197 198 var parseTextToHtml = $.parseHTML(response.responseText); 199 200 if (parseTextToHtml.length < 9) { 201 $(".load-more-feature").hide(); 202 } 203 } 204 }, 205 }); 206 }); 207 208 $(".load-more-feature").click(function () { 209 var featureindustry = $("#feature-industry").val(); 210 var featureprogram = $("#feature-program").val(); 211 var datacounter = $(this).attr("data-count"); 212 $.ajax({
213 type: "POST", 214 url: siteUrl + "/wp-admin/admin-ajax.php", 215 data: { 216 featureindustry: featureindustry, 217 featureprogram: featureprogram, 218 page: datacounter, 219 action: "fetch_featured_partner", 220 }, 221 dataType: "json", 222 beforeSend: function () { 223 $(".show-loading-msg").text("Please Wait ..."); 224 $(".load-more-feature").text("Loading ..."); 225 }, 226 complete: function (response) { 227 $(".show-loading-msg").text(""); 228 if (response.responseText == "No result found") { 229 $(".msg-contain").append( 230 "<div class='load-more-msg'>No More Results</div>" 231 ); 232 $(".load-more-feature").hide(); 233 } else { 234 datacounter = parseInt(datacounter) + parseInt(1); 235 $(".load-more-feature").attr("data-count", datacounter); 236 $(".partner-feature-list").append(response.responseText); 237 238 $(".load-more-feature").show(); 239 $(".load-more-msg").remove(); 240 241 var parseTextToHtml = $.parseHTML(response.responseText); 242 243 if (parseTextToHtml.length < 9) { 244 $(".load-more-feature").hide(); 245 } 246 } 247 $(".load-more-feature").text("Load More"); 248 }, 249 }); 250 }); 251 252 /* 253 * Feature project code start 254 */ 255 $("#portfolio-year").change(function () { 256 var portfolioyear = $("#portfolio-year").val(); 257 var projecttype = $("#project-type").val(); 258 $.ajax({
259 type: "POST", 260 url: siteUrl + "/wp-admin/admin-ajax.php", 261 data: { 262 portfolioyear: portfolioyear, 263 projecttype: projecttype, 264 action: "fetch_featured_project", 265 }, 266 dataType: "json", 267 beforeSend: function () { 268 $(".project-feature-list").empty(); 269 $(".show-loading-msg").text("Please Wait ..."); 270 $(".load-more-feature-project").attr("data-count", 2); 271 }, 272 complete: function (response) { 273 $(".show-loading-msg").text(""); 274 if (response.responseText == "No result found") { 275 $(".project-feature-list").append(response.responseText); 276 $(".load-more-feature-project").hide(); 277 } else { 278 $(".project-feature-list").append(response.responseText); 279 $(".load-more-feature-project").show(); 280 $(".load-more-msg").remove(); 281 } 282 }, 283 }); 284 }); 285 286 // Project desktop filter 287 $("#project-type-filter select").on("change", function (e) { 288 e.preventDefault(); 289 $(this).addClass("active"); 290 var projecttype = $(this).val(); 291 var projectportfolio = $("#project-portfolio-filter select").val(); 292 293 $.ajax({
294 type: "POST", 295 url: siteUrl + "/wp-admin/admin-ajax.php", 296 data: { 297 projecttype: projecttype, 298 projectportfolio: projectportfolio, 299 action: "fetch_featured_project_portfolio", 300 }, 301 dataType: "json", 302 beforeSend: function () { 303 $(".project-feature-list").empty(); 304 $(".show-loading-msg").text("Please Wait ..."); 305 $(".load-more-feature-project").attr("data-count", 2); 306 $(".load-more-feature-project").attr("data-api", "fetch-project-portfolio"); 307 }, 308 complete: function (response) { 309 $(".show-loading-msg").text(""); 310 if (response.responseText == "No result found") { 311 $(".project-feature-list").append(response.responseText); 312 $(".load-more-feature-project").hide(); 313 } else { 314 $(".project-feature-list").append(response.responseText); 315 if (!projecttype && !projectportfolio) { 316 $(".load-more-feature-project").show(); 317 } else { 318 $(".load-more-feature-project").hide(); 319 } 320 $(".load-more-msg").remove(); 321 } 322 }, 323 }); 324 }); 325 326 // Project Portfolio Filter 327 $("#project-portfolio-filter select").on("change", function (e) { 328 e.preventDefault(); 329 $(this).addClass("active"); 330 var projectportfolio = $(this).val(); 331 var projecttype = $("#project-type-filter select").val(); 332 333 $.ajax({
334 type: "POST", 335 url: siteUrl + "/wp-admin/admin-ajax.php", 336 data: { 337 projecttype: projecttype, 338 projectportfolio: projectportfolio, 339 action: "fetch_featured_project_portfolio", 340 }, 341 dataType: "json", 342 beforeSend: function () { 343 $(".project-feature-list").empty(); 344 $(".show-loading-msg").text("Please Wait ..."); 345 $(".load-more-feature-project").attr("data-count", 2); 346 $(".load-more-feature-project").attr("data-api", "fetch-project-portfolio"); 347 }, 348 complete: function (response) { 349 $(".show-loading-msg").text(""); 350 if (response.responseText == "No result found") { 351 $(".project-feature-list").append(response.responseText); 352 $(".load-more-feature-project").hide(); 353 } else { 354 $(".project-feature-list").append(response.responseText); 355 if (!projecttype && !projectportfolio) { 356 $(".load-more-feature-project").show(); 357 } else { 358 $(".load-more-feature-project").hide(); 359 } 360 $(".load-more-msg").remove(); 361 } 362 }, 363 }); 364 }); 365 366 // Project mobile filter 367 $("#project-type").change(function () { 368 var portfolioyear = $("#portfolio-year").val(); 369 var projecttype = $("#project-type").val(); 370 $.ajax({
371 type: "POST", 372 url: siteUrl + "/wp-admin/admin-ajax.php", 373 data: { 374 portfolioyear: portfolioyear, 375 projecttype: projecttype, 376 action: "fetch_featured_project", 377 }, 378 dataType: "json", 379 beforeSend: function () { 380 $(".project-feature-list").empty(); 381 $(".show-loading-msg").text("Loading Please Wait ..."); 382 $(".load-more-feature-project").attr("data-count", 2).hide(); 383 }, 384 complete: function (response) { 385 $(".show-loading-msg").text(""); 386 if (response.responseText == "No result found") { 387 $(".project-feature-list").append(response.responseText); 388 $(".load-more-feature-project").hide(); 389 } else { 390 $(".project-feature-list").append(response.responseText); 391 $(".load-more-msg").remove(); 392 393 if (projecttype === "all") { 394 $(".load-more-feature-project").show(); 395 } 396 } 397 }, 398 }); 399 }); 400 401 // Load more projects 402 $(".load-more-feature-project").click(function () { 403 var datacounter = $(this).attr("data-count"); 404 var datapages = $(this).attr("data-pages"); 405 var api = $(this).attr("data-api"); 406 407 $.ajax({
408 type: "POST", 409 url: siteUrl + "/wp-admin/admin-ajax.php", 410 data: { 411 page: datacounter, 412 action: api === "fetch-project-portfolio" ? "fetch_featured_project_portfolio" 413 : "fetch_featured_project", 414 }, 415 dataType: "json", 416 beforeSend: function () { 417 $(".load-more-feature-project").text("Loading please wait..."); 418 }, 419 complete: function (response) { 420 if (response.responseText == "No result found") { 421 $(".msg-contain").append( 422 "<div class='load-more-msg'>No More Results</div>" 423 ); 424 $(".load-more-feature-project").hide(); 425 } else { 426 datacounter = parseInt(datacounter) + parseInt(1); 427 if (datacounter <= datapages) { 428 $(".load-more-feature-project") 429 .show() 430 .attr("data-count", datacounter) 431 .text("Load More"); 432 } else { 433 $(".load-more-feature-project").hide(); 434 } 435 $(".project-feature-list").append(response.responseText); 436 $(".load-more-msg").remove(); 437 } 438 }, 439 }); 440 }); 441 442 // Load more press posts 443 $(".show-more-press-posts").click(function () { 444 var datacounter = $(this).attr("data-count"); 445 var datapages = $(this).attr("data-pages"); 446 var totalpost = $(this).attr("data-totalpost"); 447 var offset = 6; 448 $.ajax({
449 type: "POST", 450 url: siteUrl + "/wp-admin/admin-ajax.php", 451 data: { 452 page: datacounter, 453 offset: offset, 454 action: "fetch_press_posts", 455 }, 456 dataType: "json", 457 beforeSend: function () { 458 $(".show-more-press-posts").text("Loading please wait..."); 459 }, 460 complete: function (response) { 461 if (response.responseText == "No result found") { 462 $(".show-more-press-posts").hide(); 463 $(".show-more-press-posts") 464 .attr("data-count", datacounter) 465 .text("No More Results"); 466 } else { 467 var remainingPosts = totalpost - datacounter * 2; 468 datacounter = parseInt(datacounter) + parseInt(1); 469 console.log(datacounter); 470 console.log(datapages); 471 if (datacounter < datapages && remainingPosts > offset) { 472 $(".show-more-press-posts") 473 .show() 474 .attr("data-count", datacounter) 475 .html( 476 '<i class="fa fa-caret-down" aria-hidden="true"></i> Show More' 477 ); 478 } else { 479 $(".show-more-press-posts").hide(); 480 } 481 482 $(".terrapass-press-page-result").append(response.responseText); 483 } 484 }, 485 }); 486 }); 487 488 // code for TPSC FAQs Accordion 489 $(document).on("click", ".et_pb_toggle_title_", function (evt) { 490 $(this).toggleClass("active"); 491 if ($(this).next().is(":visible")) { 492 $(this).next().slideUp("slow"); 493 } else { 494 $(this).next().slideDown("slow"); 495 } 496 }); 497 498 // Scroll down to the particular FAQ when user clicks the "Click here" 499 $("#frequently_asked_questions a").click(function (event) { 500 var attr = $(this).attr("href"); 501 $(attr).find(".et_pb_toggle_title_").addClass("active"); 502 $(attr).find(".et_pb_toggle_content_").slideDown("slow"); 503 }); 504 505 // User scrolls down to the particular FAQ when its id is in the URL 506 $(window).scroll(function () { 507 if (window.location.href.indexOf("tpsc-q") > -1) { 508 var url = window.location.href; 509 var faqsId = url.substring(url.lastIndexOf("#") + 1); 510 $("#" + faqsId) 511 .find(".et_pb_toggle_title_") 512 .addClass("active"); 513 $("#" + faqsId) 514 .find(".et_pb_toggle_content_") 515 .slideDown("slow"); 516 } 517 }); 518 519 // function checking valid crypto address 520 $(".woocommerce-crypto-wallet-form").submit(function () { 521 $("#wc_crypto_wallet").removeClass("crypto_error_field"); 522 if ($("#wc_crypto_wallet").val() == "") { 523 $("#wc_crypto_wallet").addClass("crypto_error_field"); 524 $(".crypto_field_error_message").remove(); 525 $("#wc_crypto_wallet").after( 526 '<div class="crypto_field_error_message">Please enter a valid Ethereum ERC-20 address</div>' 527 ); 528 return false; 529 } 530 }); 531 532 // Crypto Wallet field validation 533 var typingTimer; 534 var doneTypingInterval = 1000; 535 var $input = $("input[name=crypto_wallet_address]"); 536 $(".woocommerce-crypto-wallet-form button").prop("disabled", true); 537 $input.on("change input", function () { 538 $("#wc_crypto_wallet").removeClass("crypto_error_field"); 539 $(".crypto_field_error_message").remove(); 540 clearTimeout(typingTimer); 541 typingTimer = setTimeout(doneTyping, doneTypingInterval); 542 }); 543 544 function doneTyping() { 545 var pattern = /^0x[a-fA-F0-9]{40}$/i; 546 if ( 547 !pattern.test($("#wc_crypto_wallet").val()) && 548 $("#wc_crypto_wallet").val() !== "" 549 ) { 550 $("#wc_crypto_wallet").addClass("crypto_error_field"); 551 $("#wc_crypto_wallet").after( 552 '<div class="crypto_field_error_message">Please enter a valid Ethereum ERC-20 address</div>' 553 ); 554 $(".woocommerce-crypto-wallet-form button").prop("disabled", true); 555 } else { 556 $(".woocommerce-crypto-wallet-form button").prop("disabled", false); 557 } 558 } 559 560 var user = 561 '<a href="/my-account" class="icon-user user-sm-login" aria-label="My Account"></a>'; 562 $(user).insertBefore(".et_pb_menu__cart-button"); 563 564 var year = new Date().getFullYear(); 565 566 $('<span class="copyright">©' + year + " Terrapass</span>").insertBefore( 567 ".footer-links .et_pb_menu__wrap #menu-footer-links li:first-child" 568 ); 569 570 // Load more blog posts 571 $(".show-more-blog-page-posts").click(function () { 572 var pathname = window.location.pathname; 573 var category; 574 var offset; 575 if (pathname.indexOf("category") > -1) { 576 var pathArr = pathname.split("/"); 577 category = pathArr.pop();
578 } 579 var datacounter = $(this).attr("data-count"); 580 var datapages = $(this).attr("data-pages"); 581 var totalpost = $(this).attr("data-totalpost"); 582 var offset = 9; //9 = Hero Blog Post + Next 8 Recent Posts 583 if (typeof category !== "undefined") { 584 offset = 8; // Blog Page 585 } else { 586 offset = 9; // Home Page 587 } 588 $.ajax({ 589 type: "POST", 590 url: siteUrl + "/wp-admin/admin-ajax.php", 591 data: { 592 page: datacounter, 593 offset: offset, 594 category: category, 595 action: "terrpass_blog_ajax_posts", 596 }, 597 dataType: "json", 598 beforeSend: function () { 599 $(".show-more-blog-page-posts").text("Loading please wait..."); 600 }, 601 complete: function (response) { 602 if (response.responseText == "No result found") { 603 $(".show-more-blog-page-posts").hide(); 604 $(".show-more-blog-page-posts") 605 .attr("data-count", datacounter) 606 .text("No More Results"); 607 } else { 608 var remainingPosts = totalpost - datacounter * 4; 609 datacounter = parseInt(datacounter) + parseInt(1); 610 if (datacounter < datapages && remainingPosts > offset) { 611 $(".show-more-blog-page-posts") 612 .show() 613 .attr("data-count", datacounter) 614 .html("Older Entries"); 615 } else { 616 $(".show-more-blog-page-posts").hide(); 617 } 618 $(".terrapass-blog-page-result").append(response.responseText); 619 } 620 }, 621 }); 622 }); 623 624 // Gravity Forms: Disable past date from being selected 625 gform.addFilter( 626 "gform_datepicker_options_pre_init", 627 function (optionsObj, formId, fieldId) { 628 if ( 629 (formId == 29 && fieldId == 57) || 630 fieldId == 20 || 631 fieldId == 55 || 632 fieldId == 56 || 633 fieldId == 58 || 634 fieldId == 24 635 ) { 636 optionsObj.minDate = 0; 637 } 638 return optionsObj; 639 } 640 ); 641 642 // Make anything sticky onScroll 643 $(window).scroll(function () { 644 var scroll = $(window).scrollTop(); 645 646 if ($(window).width() < 599) { 647 // Do nothing 648 } else { 649 if (scroll >= 200) { 650 $("#payment").addClass("sticky"); 651 } else { 652 $("#payment").removeClass("sticky"); 653 } 654 } 655 }); 656 657 // AffiliateWP login toggle 658 $('.toggle-login').on('click', function(e){ 659 e.preventDefault(); 660 $('#hidden-login-form').slideToggle(); 661 }); 662 663 // AffiliateWP - Add class to label when input is required 664 $('.affwp-form input[required]').each( function() { 665 $($(this).parent()).find('label').addClass('required'); 666 }); 667 668 // Individual and Business categories listing dropdown 669 $("#terrapass-subcategories-list").on("change", function () { 670 var currentCategory = $(this).val(); 671 console.log("dd"); 672 $.ajax({
673 type: "POST", 674 url: siteUrl + "/wp-admin/admin-ajax.php", 675 data: { 676 currentCategory: currentCategory, 677 action: "terrapass_archive_product_ajax_posts", 678 }, 679 dataType: "json", 680 beforeSend: function () { 681 $("#terrapass-current-category-products").html( 682 "<div class='loading-response'><strong>Loading please wait...</strong></div>" 683 ); 684 }, 685 complete: function (response) { 686 $("#terrapass-current-category-products").html(response.responseText); 687 }, 688 }); 689 }); 690 691 function showLoader(){ 692 // Create the HTML element 693 var loader = $('<div>', { 694 class: 'loder-container', 695 html: $('<div>', {class: 'lds-spinner'}).append( 696 $('<span>'), $('<span>'), $('<span>'), $('<span>'), 697 $('<span>'), $('<span>'), $('<span>'), $('<span>'), 698 $('<span>'), $('<span>'), $('<span>'), $('<span>'), 699 $('<div class="loading-text">LOADING</div>') 700 ) 701 }); 702 703 // Append the element to the body 704 $('#main-content').append(loader); 705 706 // Remove spinner after 8 sec 707 setTimeout( function() { 708 $('.loder-container').remove(); 709 }, 8000); 710 } 711 712 //Display the loader at checkout 713 $('.woocommerce-page button[type="submit"], a.btn.btn-primary.w-100').on('click', function(){ 714 showLoader(); 715 }); 716});
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.