1'use strict'; 2var coupon = jQuery(".checkout_coupon"); 3 coupon.insertAfter('.shop_table.woocommerce-checkout-review-order-table'); 4 5var coupon1 = jQuery(".woocommerce-form-coupon-toggle"); 6 coupon1.insertAfter('.shop_table.woocommerce-checkout-review-order-table'); 7 8;(function ($, window, document, undefined) { 9 10 $.fn.doubleTapToGo = function (params) { 11 12 if (!('ontouchstart' in window) && !navigator.msMaxTouchPoints && !navigator.userAgent.toLowerCase().match(/windows phone os 7/i)) return false; 13 14 this.each(function () { 15 16 var curItem = false; 17 18 $(this).on('click', function (e) { 19 var item = $(this); 20 if (item[0] != curItem[0]) { 21 e.preventDefault(); 22 curItem = item; 23 } 24 }); 25 26 $(document).on('click touchstart touchend MSPointerDown', function (e) { 27 28 var resetItem = true, 29 parents = $(e.target).parents(); 30 31 for (var i = 0; i < parents.length; i++) { 32 if (parents[i] == curItem[0]) resetItem = false; 33 }if (resetItem) curItem = false; 34 }); 35 }); 36 37 return this; 38 }; 39})(jQuery, window, document); 40'use strict'; 41 42var rmClass = function rmClass(el, class_name) { 43 44 if (el.classList) { 45 46 el.classList.remove(class_name); 47 } else { 48 49 el.className = el.className.replace(new RegExp('(^|\\b)' + class_name.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); 50 } 51}; 52 53var addClass = function addClass(el, class_name) { 54 55 if (el.classList) { 56 57 el.classList.add(class_name); 58 } else { 59 60 el.className += ' ' + class_name; 61 } 62}; 63 64var toogleClass = function toogleClass(el, class_name) { 65 66 if (el.classList) { 67 68 el.classList.toggle(class_name); 69 } else { 70 71 var classes = el.className.split(' '); 72 var existingIndex = classes.indexOf(class_name); 73 74 if (existingIndex >= 0) { 75 76 classes.splice(existingIndex, 1); 77 } else { 78 79 classes.push(class_name); 80 } 81 82 el.className = classes.join(' '); 83 } 84}; 85 86var hasClass = function hasClass(el, class_name) { 87 88 if (el.classList) { 89 90 return el.classList.contains(class_name); 91 } else { 92 93 return new RegExp('(^| )' + class_name + '( |$)', 'gi').test(el.className); 94 } 95}; 96 97var throttle = function throttle(func, interval) { 98 99 var lastCall = 0; 100 101 return function () { 102 103 var now = Date.now(); 104 105 if (lastCall + interval < now) { 106 107 lastCall = now; 108 return func.apply(this, arguments); 109 } 110 }; 111}; 112 113var ajaxQuery = function ajaxQuery(type, url, data) { 114 115 return new Promise(function (resolve, reject) { 116 117 var request = new XMLHttpRequest(); 118 request.open(type, url, true); 119 120 request.onload = function () { 121 122 if (request.status >= 200 && request.status < 400) { 123 // Success! 124 var resp = request.responseText; 125 // console.log(resp); 126 127 resolve(resp); 128 } else { 129 // We reached our target server, but it returned an error 130 reject(request); 131 } 132 }; 133 134 // request.onprogress = function () { 135 // console.log("PROGRESS:", request.responseText) 136 // } 137 138 request.onerror = function () { 139 // There was a connection error of some sort 140 }; 141 142 request.send(data); 143 }); 144}; 145'use strict'; 146 147/** 148 * @author ( Angle180 LLC ) 149 * @copyright Copyright (C) 2014 Angle180 LLC. All rights reserved. 150 * @license Commercial Template. Do not use without written permission on Angle180 LLC. 151 */ 152 153// "use strict"; 154 155// const preloader = new Array( 156// ) 157 158// Document Ready state 159// preload images 160// do stuff while page is not renderd 161// document.onready = function() { 162// //Preload images 163// if (preloader.length > 0) { 164// preload(preloader) 165// } 166// } 167 168function getUrlParam(name) { 169 name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]'); 170 var regex = new RegExp('[\\?&]' + name + '=([^&#]*)'); 171 var results = regex.exec(location.search); 172 return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); 173} 174 175// Window Read state 176// Page is rendered now can display 177// some elements! 178window.onload = function () { 179 // backToTop(); 180 menu(); 181 fixedHeader(); 182 smoothScroll(); 183 adjustHeight(); 184 formAddons(); 185 modal(); 186 card(); 187 iframeOverlay(); 188 bodyOverlay(); 189 viewMoreLess(); 190}; 191 192window.parent.redirect = function (url) { 193 window.location.href = url; 194}; 195 196//Window Resize action 197window.onresize = function () { 198 adjustHeight(); 199}; 200 201window.onscroll = function () { 202 fixedHeader(); 203}; 204 205/*
206 * Functions: 207 * - preload(preloader) => Preload images in array of preload variable 208 */ 209 210// function preload(images) { 211// const img = new Array(); 212// for (let x=0; x<=(images.length-1); x++) { 213// img[x] = new Image() 214// img[x].src=images[x] 215// } 216// } 217"use strict"; 218 219var backToTop = function backToTop() { 220 221 var id = "#back_to_top"; 222 223 if (jQuery(id).length < 1) { 224 return false; 225 } 226 227 var scrollTopBtn = jQuery(id); 228 var class_name = "active"; 229 230 var offset = 300; 231 var scrollTopDuration = 700; 232 var lastScrollTop = 0; 233 234 jQuery(window).scroll(function () { 235 236 var st = jQuery(this).scrollTop(); 237 238 if (jQuery(this).scrollTop() > offset) { 239 240 if (st >= lastScrollTop) { 241 242 scrollTopBtn.removeClass(class_name); 243 } else { 244 245 scrollTopBtn.addClass(class_name); 246 } 247 248 lastScrollTop = st; 249 } else { 250 251 scrollTopBtn.removeClass(class_name); 252 lastScrollTop = 0; 253 } 254 }); 255 256 jQuery(document).on('click', id, function (e) { 257 258 e.preventDefault(); 259 jQuery('body, html').animate({ scrollTop: 0 }, scrollTopDuration); 260 }); 261}; 262"use strict"; 263 264var card = function card() { 265 266 jQuery(".card .btn-link").on("click", function () { 267 268 var $card = jQuery(this).closest(".card"); 269 270 jQuery(this).toggleClass("collapsed"); 271 $card.find(".card-content").toggleClass("show"); 272 273 var count = jQuery(".card .btn-link").length; 274 var has_class = 0; 275 jQuery(".card .btn-link").each(function (i, el) { 276 277 if (jQuery(el).hasClass("collapsed")) { 278 has_class++; 279 } 280 }); 281 282 if (count <= has_class) { 283 jQuery("#expand_all_cards").html("Expand all").removeClass("img-collapsed"); 284 } else if (has_class == 0) { 285 jQuery("#expand_all_cards").html("Collapse all").addClass("img-collapsed"); 286 } 287 }); 288 289 jQuery("#expand_all_cards").on("click", function () { 290 291 if (jQuery(this).html() == "Expand all") { 292 293 jQuery(".card .btn-link").removeClass("collapsed"); 294 jQuery(".card-content").addClass("show"); 295 296 jQuery(this).html("Collapse all").addClass("img-collapsed"); 297 } else { 298 299 jQuery(".card .btn-link").addClass("collapsed"); 300 jQuery(".card-content").removeClass("show"); 301 302 jQuery(this).html("Expand all").removeClass("img-collapsed"); 303 } 304 }); 305}; 306"use strict"; 307 308function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } 309 310var equalHeight = function equalHeight(items, applyto) { 311 312 var $nodelist = document.querySelectorAll(items); 313 if ($nodelist.length < 1) { 314 return false; 315 } 316 317 var $items = applyHeight([].concat(_toConsumableArray($nodelist))); // reset heights to auto 318 319 var all_heights = $items.map(function (item) { 320 return item.clientHeight; 321 }); 322 323 var highest = Math.max.apply(null, all_heights) + "px"; 324 325 if (typeof applyto !== "undefined") { 326 applyHeight([].concat(_toConsumableArray(applyto)), highest); 327 } else {
328 applyHeight($items, highest); 329 } 330}; 331 332var applyHeight = function applyHeight(arr) { 333 var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'auto'; 334 return arr.map(function (el) { 335 el.style.height = height; 336 return el; 337 }); 338}; 339 340var adjustHeight = throttle(function () { 341 342 setTimeout(function () { 343 344 equalHeight(".list-with-images li"); 345 equalHeight(".mySlides"); 346 equalHeight("main .col-md-6 .blog-card--item_content"); 347 // equalHeight(".products li.product"); 348 // equalHeight(".product-item"); 349 }, 300); 350}, 200); 351"use strict"; 352 353var fixedHeader = function fixedHeader() { 354 355 var $window = jQuery(window); 356 357 if ($window.width() > 767) { 358 359 var $fixed_header = jQuery("header"); 360 361 if ($window.scrollTop() === 0) { 362 363 $fixed_header.removeClass("minified"); 364 } 365 366 if ($window.scrollTop() >= $fixed_header.height()) { 367 368 $fixed_header.addClass("minified"); 369 } else { 370 371 $fixed_header.removeClass("minified"); 372 } 373 } 374}; 375'use strict'; 376 377function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } 378 379var formAddons = function formAddons() { 380 381 var updateRequiredCheckboxButtons = function updateRequiredCheckboxButtons($form) { 382 383 var $input_hidden = $form.querySelector('input[name="checkbox-hidden[]"]'); 384 var are_checked = [].concat(_toConsumableArray($form.querySelectorAll('.input-checkbox input[type="checkbox"]'))).map(function ($input) { 385 386 return $input.checked; 387 }); 388 389 var field_other_state = are_checked[2]; 390 391 if (field_other_state == false) { 392 jQuery(".other-text").removeClass("active"); 393 jQuery('input[name="other-text"]').val(""); 394 jQuery('input[name="other-action"]').val(""); 395 // $form.querySelector('select[name="other-action"]').value = ""; 396 } 397 398 // are_checked.pop(); //remove field's "Other" value 399 400 // console.log("ARE_CHECKED", are_checked); 401 402 // let other_action = $form.querySelector('select[name="other-action"]').value; 403 // console.log("OTHER_ACTION",other_action) 404 // let other_action_value = other_action == "" ? false : true; 405 // console.log("OTHER_ACTION",other_action_value) 406 // are_checked.push(other_action_value); 407 // console.log("ARE_CHECKED_UPDATED", are_checked); 408 409 if (are_checked.some(isTrue)) { 410 $input_hidden.checked = true; 411 } else { 412 $input_hidden.checked = false; 413 } 414 }; 415 416 var updateRequiredRadioButtons = function updateRequiredRadioButtons(event) { 417 418 var $checkbox = event.target; 419 var $radio_block = $checkbox.closest(".checkbox-wrapper").querySelector(".radio-boxes"); 420 421 var $form = $checkbox.closest("form"); 422 updateRequiredCheckboxButtons($form); 423 424 if ($checkbox.checked) { 425 $radio_block.style = "display: block"; 426 } else { 427 $radio_block.style = "display: none"; 428 [].concat(_toConsumableArray($radio_block.querySelectorAll('input[type="radio"]'))).forEach(function (input) { 429 return input.checked = false; 430 }); 431 } 432 }; 433 434 var $nodelist_checkboxes = document.querySelectorAll('.wpcf7-form .input-checkbox input[type="checkbox"]'); 435 [].concat(_toConsumableArray($nodelist_checkboxes)).forEach(function ($el) { 436 return $el.addEventListener("change", updateRequiredRadioButtons); 437 }); 438 439 jQuery('input[name="other-checkbox[]"]').on("change", function (event) { 440 441 var $form = event.target.closest("form"); 442 updateRequiredCheckboxButtons($form); 443 444 if (!jQuery(this).attr("checked")) { 445 446 jQuery('select[name="other-select"]').val(""); 447 jQuery('input[name="other-action"]').attr("checked", false); 448 } 449 }); 450 451 jQuery('select[name="other-select"]').on("change", function (event) { 452 453 jQuery(".other-text").removeClass("active"); 454 455 var selected_value = jQuery(this).val(); 456 if (selected_value == "") { 457 jQuery('input[name="other-action"]').attr("checked", false); 458 jQuery('input[name="other-action"]').val(""); 459 } else if (selected_value == "Other") { 460 jQuery('input[name="other-action"]').attr("checked", false); 461 jQuery(".other-text").addClass("active"); 462 jQuery('input[name="other-action"]').val(""); 463 } else { 464 jQuery('input[name="other-action"]').attr("checked", true); 465 jQuery('input[name="other-action"]').val(selected_value); 466 } 467 }); 468 469 jQuery('input[name="other-text"]').on("keyup blur focus", function () { 470 471 var value = jQuery(this).val(); 472 var $input = jQuery('input[name="other-action"]'); 473 474 if (value != "") { 475 $input.attr("checked", true); 476 $input.val(value); 477 } else { 478 $input.attr("checked", false); 479 $input.val(""); 480 } 481 }); 482 483 // jQuery('select[name="other-action"]').on("change", function(event) { 484 // let $form = event.target.closest("form"); 485 // updateRequiredCheckboxButtons($form); 486 // }); 487 488 jQuery(".radio-boxes .wpcf7-list-item-label, .inspection-type .wpcf7-list-item-label").on("click", function () { 489 jQuery(this).siblings("input").attr("checked", true); 490 }); 491 492 function isTrue(element) { 493 return element == true; 494 } 495 496 var updateHiddenFields = function updateHiddenFields() { 497 498 var regex = /Uber|Lyft|EATS/gi; 499 [].concat(_toConsumableArray(document.querySelectorAll(".radio-boxes .wpcf7-list-item-label"))).forEac
499h(function (label) { 500 return label.innerHTML = label.innerHTML.replace(regex, "", label.innerHTML); 501 }); 502 503 var page_title = document.querySelectorAll('input[name="page-title"]'); 504 var page_url = document.querySelectorAll('input[name="page-url"]'); 505 var user_ip = document.querySelectorAll('input[name="user-ip"]'); 506 var lead_source = document.querySelectorAll('input[name="lead-source"]'); 507 508 [].concat(_toConsumableArray(page_title)).forEach(function (el) { 509 el.value = wp.pageInfo.page_title; 510 }); 511 512 [].concat(_toConsumableArray(page_url)).forEach(function (el) { 513 el.value = wp.pageInfo.page_url; 514 }); 515 516 [].concat(_toConsumableArray(user_ip)).forEach(function (el) { 517 el.value = wp.pageInfo.user_ip; 518 }); 519 520 [].concat(_toConsumableArray(lead_source)).forEach(function (el) { 521 el.value = wp.pageInfo.lead_source; 522 }); 523 }; 524 525 updateHiddenFields(); 526 527 // const updateInspectionTypes = () => { 528 529 // let $inspection_types = jQuery(".inspection-type"); 530 // // $inspection_types.find(".wpcf7-list-item").addClass("tooltip"); 531 532 // $inspection_types.find(".wpcf7-list-item.first .wpcf7-list-item-label").append('<div class="tooltip"><span class="tooltip-circle"></span><span class="tooltiptext"><span class="tooltiptext-title">Immediate inspection</span> Wait times are usually under 15 minutes. An agent will reach out to you as soon as possible to start the inspection.</span></div>'); 533 // $inspection_types.find(".wpcf7-list-item.last .wpcf7-list-item-label").append('<div class="tooltip"><span class="tooltip-circle"></span><span class="tooltiptext"><span class="tooltiptext-title">Scheduled inspection</span> We will complete your inspection at a time that is convenient for you. An agent will reach out to you at the time of your inspection.</span></div>'); 534 535 // }; 536 537 // updateInspectionTypes(); 538 539 var sendBingGoals = function sendBingGoals(form_id) { 540 541 var form_name = ''; 542 543 switch (form_id) { 544 case "111": 545 form_name = "inspection_form_green"; 546 break; 547 case "110": 548 form_name = "inspection_form_gray"; 549 break; 550 case "204": 551 form_name = "contact_form"; 552 break; 553 default: 554 break; 555 } 556 557 if (form_name != '') { 558 window.uetq = window.uetq || []; 559 uetq.push({ 'ec': form_name + '_category', 'ea': form_name + '_action', 'el': form_name + '_label' }); 560 } 561 562 return false; 563 }; 564 565 var sendGAGoals = function sendGAGoals(form_id, url) { 566 567 var callback = function callback() { 568 if (typeof url != 'undefined') { 569 window.location = url; 570 } 571 }; 572 form_id = parseInt(form_id); 573 var form_name = ''; 574 575 switch (form_id) { 576 case 111: 577 form_name = "inspection_form_green"; 578 break; 579 case 110: 580 form_name = "inspection_form_gray"; 581 break; 582 case 174: 583 // This goal is separately defined in prepare page template, here it doesn't do anything for now. 584 form_name = "prepare_form"; 585 break; 586 case 204: 587 form_name = "contact_form"; 588 break; 589 case 289: 590 case 2663: 591 // Maven and Getaround prepare forms also uses this goal 592 form_name = "bs_inspection_form_green"; 593 break; 594 case 288: 595 form_name = "bs_inspection_form_gray"; 596 break; 597 case 517: 598 form_name = "es_inspection_form_green"; 599 break; 600 case 516: 601 form_name = "es_inspection_form_gray"; 602 break; 603 case 965: 604 form_name = "newsletter_subscription"; 605 break; 606 case 1780: 607 form_name = "offers_subscription"; 608 break; 609 default: 610 break; 611 } 612 613 if (form_name != '') { 614 gtag('event', form_name + '_action', { 615 'event_category': form_name + '_category', 616 'event_label': form_name + '_label', 617 'event_callback': callback 618 }); 619 } 620 }; 621 622 var redirectUrl = function redirectUrl(form_html_id) { 623 624 /*if (window.location.href.indexOf("uzurv") > -1) { 625 window.location.href = '/schedule-uzurv-vehicle-inspection' + query_string; 626 }else if (window.location.href.indexOf("getaround") > -1){ 627 window.location.href = '/schedule-getaround-vehicle-inspection' + query_string; 628 }else{ 629 window.location.href = '/schedule-your-inspection' + query_string; 630 }*/ 631 632 if (window.location.href.indexOf("uzurv") > -1) { 633 var url = "https://book.ridesharemechanic.com/Home?categoryId=60f46cb6-3789-47e1-a820-1d38d4b33cdc"; 634 //var url = "/schedule-uzurv-vehicle-inspection"; 635 }else if (window.location.href.indexOf("turoacctmgr") > -1){ 636 // console.log("turoacctmgr") 637 var url = 'https://book.ridesharemechanic.com/Home?categoryId=7fc1d806-615d'; 638 }else if (window.location.href.indexOf("lyft-two") > -1){ 639 // console.log("lyft Two") 640 var url = 'https://book.ridesharemechanic.com/Home?categoryId=982a5532-43bc'; 641 }else if (window.location.href.indexOf("lyft-one") > -1){ 642 // console.log("lyft One") 643 var url = 'https://book.ridesharemechanic.com/Home?categoryId=c20fab5c-3398'; 644 }else if (window.location.href.indexOf("turofrench") > -1){ 645 // alert("turofrench"); 646 var url = 'https://book.ridesharemechanic.com/Home?categoryId=a767eb6e-997b'; 647 }else if (window.location.href.indexOf("turocanada") > -1){ 648 // alert("turofrench"); 649 var url = 'https://book.ridesharemechanic.com/Home?categoryId=0d0ad7a1-660e'; 650 }else if (window.location.href.indexOf("ubergetaround") > -1){ 651 //alert("hop"); 652 //var url = "/schedule-your-inspection"; 653 var url = 'https://book.ridesharemechanic.com/Home?categoryId=d9d9a9d6-9e56'; 654 }else if(window.location.href.indexOf("ridezum") > -1){ 655 //var url = "/schedule-getaround-vehicle-inspection"; 656 var url = 'https://book.ridesharemechanic.com/Home?categoryId=e70f325c-4306'; 657 }else if(window.location.href.indexOf("getaround") > -1){ 658 //var url = "/schedule-getaround-vehicle-inspection"; 659 var url = 'https://book.ridesharemechanic.com/Home?categoryId=cea224cc-f405-4254-81b5-7d02f5da6925'; 660 }else if(window.location.href.indexOf("turo") > -1){ 661 //alert("turo"); 662 var url = 'https://book.ridesharemechanic.com/Home?categoryId=538c673e-6e50-47f7-a849-b32c1240b520'; 663 //var url = "/schedule-turo-vehicle-inspection"; 664 }else if (window.location.href.indexOf("hopskipdrive") > -1){ 665 //alert("hop"); 666 //var url = "/schedule-your-inspection"; 667 var url = 'https://book.ridesharemechanic.com/Home?categoryId=bca8c19f-7dd5'; 668 }else if (window.location.href.indexOf("uber") > -1){ 669 // alert("hopskipdrive"); 670 var url = 'https://book.ridesharemechanic.com/Home?categoryId=fec3714a-f720'; 671 }else if (window.location.href.indexOf("lyft-vehicle-inspection") > -1){ 672 // alert("hopskipdrive"); 673 // console.log("lyft") 674 //var url = 'http://rsmscheduler.ridesharemechanic.com/Home?categoryId=c65d86cf-a90d'; 675 var url = 'https://book.ridesharemechanic.com/Home?categoryId=7b007f2f-f313'; 676 }else if (window.location.href.indexOf("lyft") > -1){ 677 // alert("hopskipdrive"); 678 //var url = 'https://book.ridesharemechanic.com/Home?categoryId=7b007f2f-f313'; 679 var url = 'https://book.ridesharemechanic.com/Home?categoryId=54fe908b-ddc7'; 680 681 }else if (window.location.href.indexOf("as") > -1){ 682 683 var url = 'https://book.ridesharemechanic.com/Home?categoryId=2a2974f3-74f2'; 684 }else if (window.location.href.indexOf("kango") > -1){ 685 686 var url = 'https://book.ridesharemechanic.com/Home?categoryId=4769c9a8-aec1-45a1-8346-976561aa4640'; 687 }else if (window.location.href.indexOf("") > -1){ 688 // alert("bundle"); 689 var url = 'https://book.ridesharemechanic.com/Home?categoryId=77125508-d26c'; 690 }else{ 691 var url = "/schedule-your-inspection"; 692 } 693 var id = '#' + form_html_id; 694 var state = jQuery(id + ' select[name="state"]').val(); 695 var type = inspection_links_by_state; 696 697 if (jQuery(id + ' input[name="uber-checkbox[]"]').prop("checked") || jQuery(id + ' input[name="ubereats-checkbox[]"]').prop("checked")) { 698 699 url = typeof type.uber[state] == "string" ? type.uber[state]
699: url; 700 } else if (jQuery(id + ' input[name="lyft-checkbox[]"]').prop("checked")) { 701 702 url = typeof type.lyft[state] == "string" ? type.lyft[state] : url; 703 } 704 705 return url; 706 }; 707 708 document.addEventListener('wpcf7mailsent', function (event) { 709 710 var form_id = event.detail.contactFormId; 711 var form_html_id = event.detail.id; 712 713 if (form_id != 212 && form_id != 204 && form_id != 965 && form_id != 1780 && form_id != 2035 && form_id != 2466) { 714 // Not Contact us form, Not Subscription form, Not offers form, Not partners form Not Feedback form 715 716 jQuery(".radio-boxes").css("display", "none").find(".wpcf7-list-item-label").siblings("input").attr("checked", false); 717 718 var inputs = {}; 719 event.detail.inputs.map(function (el) { 720 return inputs[el.name] = el.value; 721 }); 722 723 var first_name = inputs["first-name"] || ""; 724 var last_name = inputs["last-name"] || ""; 725 var email_address = inputs["email-address"] || ""; 726 var phone_number = inputs["phone-number"] || ""; 727 var state = inputs["state"] || ""; 728 var page_url = inputs["page-url"] || ""; 729 730 var uber_action = inputs["uber-action"] || ""; 731 var is_new_uber = uber_action == "Brand New Driver" ? "true" : "false"; 732 var is_old_uber = uber_action == "Updating Profile" ? "true" : "false"; 733 734 // let inspection_type = inputs["inspection-type"] || ""; 735 736 var redirect_url = ""; 737 738 if (form_id == 516 || form_id == 517) { 739 // Spanish forms 740 redirect_url = 'https://book.ridesharemechanic.com/Home?categoryId=77125508-d26c'; 741 // redirect_url = '/es/agenda-tu-cita'; 742 } else { 743 744 redirect_url = redirectUrl(form_html_id); 745 } 746 var query_string = '?first_name=' + first_name + '&last_name=' + last_name + '&email=' + email_address + '&phone=' + phone_number + '&state=' + state + '&page_url=' + page_url + '&is_new_uber=' + is_new_uber + '&is_old_uber=' + is_old_uber + '&redirect=' + redirect_url; 747 // var query_string_uzurv = '?id=e99346f23fec7f99fdb6a747062a4305'; 748 // console.log(inputs); 749 // console.log(redirect_url); return false; 750 751 sendBingGoals(form_id); 752 753 // sendGAGoals(form_id, redirect_url); 754 sendGAGoals(form_id); 755 756 window.location.href = '/middleware-inspection.php' + query_string; 757 758 } else { 759 760 sendBingGoals(form_id); 761 762 sendGAGoals(form_id); 763 } 764 }, false); 765 766 var $sidebar_fixed = document.getElementById("sidebar_fixed"); 767 var $footer = document.getElementsByTagName("footer")[0]; 768 var footer_offset = $footer.offsetTop; 769 770 var toggleSidebarFormVisibility = function toggleSidebarFormVisibility() { 771 772 var $sidebar_fixed_inner = document.querySelector(".inner-wrapper-sticky"); 773 774 var window_height = window.innerHeight; 775 var window_bottom = window.pageYOffset + window_height + window_height / 4; 776 777 if (window_bottom < footer_offset) { 778 $sidebar_fixed_inner.style.marginTop = 0; 779 } else { 780 $sidebar_fixed_inner.style.marginTop = -($sidebar_fixed.clientHeight + 200) + "px"; 781 } 782 }; 783 784 if ($sidebar_fixed !== null) { 785 window.addEventListener("load", toggleSidebarFormVisibility); 786 window.addEventListener("scroll", toggleSidebarFormVisibility); 787 } 788 789 var phones = document.querySelectorAll('input[name="phone-number"]'); 790 var phone_pattern = "(999) 999-9999"; 791 phones.forEach(function (phone) { 792 // new IMask(phone, { 793 // mask: '(000) 000-0000' 794 // }); 795 VMasker(phone).maskPattern(phone_pattern); 796 }); 797 798 jQuery(phones).on("blur", function () { 799 800 var $this = jQuery(this); 801 jQuery('.check-phone').remove(); 802 803 // if ($this.val().length != phone_pattern.length) { 804 var $btn_submit = $this.closest("form").find('[type="submit"]'); 805 if ($this.closest(".form-es").length > 0) { 806 jQuery('<div class="check-phone"><img src="/wp-content/themes/angle180/images/info-yellow.svg" alt="info">Asegúrese de que este es el número de teléfono correcto: ' + $this.val() + '</div>').insertBefore($btn_submit); 807 } else { 808 jQuery('<div class="check-phone"><img src="/wp-content/themes/angle180/images/info-yellow.svg" alt="info">Please make sure this is the correct phone number: ' + $this.val() + '</div>').insertBefore($btn_submit); 809 } 810 // } 811 }); 812 813 var zips = document.querySelectorAll('input[name="zip"]'); 814 var zip_pattern = "99999"; 815 zips.forEach(function (zip) { 816 VMasker(zip).maskPattern(zip_pattern); 817 }); 818 819 jQuery(zips).on("blur", function () { 820 var $this = jQuery(this); 821 822 if ($this.val().length === 4) { 823 $this.val("0" + $this.val()); 824 $this.trigger("keyup"); 825 } 826 }); 827 828 if (jQuery("form .zip").length > 0) { 829 830 var temp_zip = 0; 831 832 var $forms = jQuery("form"); 833 834 $forms.find(".form-row-location .city input").attr("readonly", true); 835 $forms.find(".form-row-location .state select").attr("readonly", true); 836 837 $forms.find(".zip").on("keyup", function (e) { 838 839 var $this = jQuery(this); 840 var zip = $this.find("input").val(); 841 842 if (/\D/g.test(zip)) { 843 // Filter non-digits from input value. 844 $this.find("input").val(this.value.replace(/\D/g, '')); 845 } 846 847 if (temp_zip === zip) { 848 return false;
849 } 850 851 // console.log("ZIP", $zip.length); 852 853 854 if (zip.length === 5) { 855 856 temp_zip = zip; 857 858 $this.closest(".form-row-location").addClass("disabled"); 859 $this.closest(".form-row-location").find(".city input").attr("readonly", true); 860 $this.closest(".form-row-location").find(".state select").attr("readonly", true); 861 862 jQuery.ajax({ 863 url: '/wp-admin/admin-ajax.php', 864 dataType: "json", 865 data: { 866 action: 'zipapi_ajax_request', 867 zip: zip, 868 security: jQuery("#wp_nonce_zip").val() 869 } 870 }).done(function (res) { 871 // console.log(res) 872 873 if (res.status) { 874 875 $this.closest(".form-row-location").find(".city input").val(res.city); 876 if (res.state == "DC") { 877 res.state_fullname = "Washington DC"; 878 } 879 $this.closest(".form-row-location").find(".state select").val(res.state_fullname); 880 $this.closest(".form-row-location").find(".city input").attr("readonly", true); 881 $this.closest(".form-row-location").find(".state select").attr("readonly", true); 882 } else { 883 console.warn("Message:", res.message); 884 $this.closest(".form-row-location").removeClass("disabled"); 885 $this.closest(".form-row-location").find(".city input").val(""); 886 $this.closest(".form-row-location").find(".state select").val(""); 887 $this.closest(".form-row-location").find(".city input").attr("readonly", false); 888 $this.closest(".form-row-location").find(".state select").attr("readonly", false); 889 } 890 }).fail(function () { 891 console.warn("Message:", "API error"); 892 $this.closest(".form-row-location").removeClass("disabled"); 893 $this.closest(".form-row-location").find(".city input").val(""); 894 $this.closest(".form-row-location").find(".state select").val(""); 895 $this.closest(".form-row-location").find(".city input").attr("readonly", false); 896 $this.closest(".form-row-location").find(".state select").attr("readonly", false); 897 }); 898 } 899 }); 900 } 901}; 902"use strict"; 903 904var body_margin = 0; 905 906var menu = function menu() { 907 908 var fixedBody = function fixedBody(active_elem) { 909 910 var offset = document.scrollingElement.scrollTop; 911 var $html = document.querySelector("html"); 912 var $body = document.querySelector("body"); 913 914 if (!hasClass(active_elem, "active")) { 915 916 rmClass($html, "fixed-body"); 917 rmClass($body, "fixed-body"); 918 document.scrollingElement.scrollTop = body_margin; 919 } else { 920 921 addClass($html, "fixed-body"); 922 addClass($body, "fixed-body"); 923 body_margin = offset; 924 } 925 926 $body.style.marginTop = offset * -1 + "px"; 927 }; 928 929 var $btn_mobile_menu = document.querySelector(".btn-hamburger"); 930 var $navigation = document.querySelector(".header-nav"); 931 var $mobile_menu = document.querySelector(".mobile-menu");
932 var $overlay = document.querySelector(".overlay"); 933 934 var menuMobileBtn = function menuMobileBtn() { 935 if ($btn_mobile_menu == null) { 936 return false; 937 } 938 $btn_mobile_menu.classList.toggle("active"); 939 $navigation.classList.toggle("active"); 940 $mobile_menu.classList.toggle("active"); 941 $overlay.classList.toggle("active"); 942 fixedBody($btn_mobile_menu); 943 }; 944 945 var menuMobileBackground = function menuMobileBackground() { 946 947 if ($btn_mobile_menu == null) { 948 return false; 949 } 950 951 var offset = jQuery($btn_mobile_menu).offset().top; 952 953 if (offset > 50) { 954 addClass($btn_mobile_menu, "bg-primary"); 955 } else { 956 rmClass($btn_mobile_menu, "bg-primary"); 957 } 958 }; 959 960 if ($btn_mobile_menu != null) { 961 $btn_mobile_menu.addEventListener("click", menuMobileBtn); 962 } 963 window.addEventListener("scroll", menuMobileBackground); 964 965 var $btn_schedule = document.querySelector(".header-nav button"); 966 var $form_bottom = document.querySelector("footer .form-green"); 967 968 var fixedMobileBottom = function fixedMobileBottom() { 969 970 if ($btn_schedule == null) { 971 return false; 972 } 973 974 var is_mobile = window.innerWidth < 992; 975 976 if ($form_bottom.getBoundingClientRect().top + document.scrollingElement.scrollTop < window.pageYOffset + window.innerHeight && is_mobile) { 977 $btn_schedule.style.bottom = "-70px";return false; 978 } else if (window.innerHeight < window.pageYOffset && is_mobile) { 979 $btn_schedule.style.bottom = 0; 980 } else if (is_mobile) { 981 $btn_schedule.style.bottom = "-70px"; 982 } else { 983 $btn_schedule.style.bottom = "auto"; 984 } 985 }; 986 987 window.addEventListener("load", fixedMobileBottom); 988 window.addEventListener("scroll", fixedMobileBottom); 989 window.addEventListener("resize", fixedMobileBottom); 990 991 jQuery('.menu-main a[href*="#"]').not('.menu-main a[href="#"]').on("click", function (event) { 992 993 if (window.innerWidth < 768) { 994 995 menuMobileBtn(); 996 997 var $this = jQuery(event.target); 998 var $element_to_scroll = jQuery("#" + $this.attr("href").replace("/#", "")); 999 1000 if ($element_to_scroll.length > 0) { 1001 1002 jQuery('html, body').animate({ 1003 scrollTop: $element_to_scroll.offset().top 1004 }); 1005 } 1006 } 1007 }); 1008 1009 jQuery('.menu-item > a[href="#"]').parent().addClass("active"); 1010 jQuery(".menu-item-has-children > .btn-toggle-subitems").on("click", function () { 1011 1012 jQuery(this).parent().toggleClass("active"); 1013 }); 1014 1015 var secondary_menu_items = jQuery(".secondary-menu > ul > li").addClass("smenu").clone(); 1016 jQuery(".menu-main > ul").append(secondary_menu_items); 1017}; 1018"use strict"; 1019 1020function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } 1021 1022var modal = function modal() { 1023 1024 var $btn_modal_video = document.querySelectorAll(".anchor-modal.video"); 1025 1026 var modal_video = document.getElementById('modal_video'); 1027 1028 var $close_modal_video = document.querySelector("#modal_video .close"); 1029 1030 if ($btn_modal_video != null && modal_video != null && $close_modal_video != null) { 1031 1032 var showVideoModal = function showVideoModal(event) { 1033 var $btn = event.target.closest(".anchor-modal"); 1034 modal_video.style.display = "block"; 1035 var modal_video_body = modal_video.querySelector(".modal-body"); 1036 var modal_video_body_width = modal_video_body.offsetWidth; 1037 modal_video_body.innerHTML = '<iframe src="' + $btn.dataset.src + '" style="height:' + modal_video_body_width / (16 / 9) + 'px;width:100%;border:none;" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"></iframe>'; 1038 }; 1039 1040 [].concat(_toConsumableArray($btn_modal_video)).forEach(function ($btn) { 1041 $btn.addEventListener("click", showVideoModal); 1042 }); 1043 1044 $close_modal_video.addEventListener("click", function () { 1045 modal_video.style.display = "none"; 1046 modal_video.querySelector(".modal-body").innerHTML = ""; 1047 }); 1048 } 1049 1050 var $btn_modal_terms = document.querySelectorAll(".anchor-modal.terms"); 1051 1052 var modal_terms = document.getElementById('modal_terms'); 1053 1054 var $close_modal_terms = document.querySelector("#modal_terms .close"); 1055 1056 if ($btn_modal_terms != null && modal_terms != null && $close_modal_terms != null) { 1057 1058 var showTermsModal = function showTermsModal(event) { 1059 event.preventDefault(); 1060 var $btn = event.target || event.target.closest(".anchor-modal"); 1061 modal_terms.style.display = "block"; 1062 var modal_terms_body = modal_terms.querySelector(".modal-body"); 1063 // modal_terms_body_width = modal_terms_body.offsetWidth; 1064 modal_terms_body.innerHTML = '<iframe src="' + $btn.dataset.src + '" style="height:80vh"></iframe>'; 1065 }; 1066
1067 [].concat(_toConsumableArray($btn_modal_terms)).forEach(function ($btn) { 1068 $btn.addEventListener("click", showTermsModal); 1069 }); 1070 1071 $close_modal_terms.addEventListener("click", function () { 1072 modal_terms.style.display = "none"; 1073 }); 1074 } 1075 1076 var $btn_modal_calendly = document.querySelectorAll(".anchor-modal.calendly"); 1077 1078 var modal_calendly = document.getElementById('modal_calendly'); 1079 1080 var $close_modal_calendly = document.querySelector("#modal_calendly .close"); 1081 1082 if ($btn_modal_calendly != null && modal_calendly != null && $close_modal_calendly != null) { 1083 1084 var showCalendlyModal = function showCalendlyModal(event) { 1085 event.preventDefault(); 1086 // let $btn = event.target || event.target.closest(".anchor-modal"); 1087 modal_calendly.style.display = "block"; 1088 var modal_calendly_body = modal_calendly.querySelector(".modal-body"); 1089 modal_calendly_body.innerHTML = '<iframe src="https://calendly.com/ridesharemechanic/inspection" style="height:80vh;"></iframe>'; 1090 }; 1091 1092 [].concat(_toConsumableArray($btn_modal_calendly)).forEach(function ($btn) { 1093 $btn.addEventListener("click", showCalendlyModal); 1094 }); 1095 1096 $close_modal_calendly.addEventListener("click", function () { 1097 modal_calendly.style.display = "none"; 1098 }); 1099 } 1100 1101 // When the user clicks anywhere outside of the modal, close it 1102 // window.onclick = function(event) { 1103 // if (event.target == modal) { 1104 // modal.style.display = "none"; 1105 // modal_video.style.display = "none"; 1106 // } 1107 // } 1108}; 1109"use strict"; 1110 1111var iframeOverlay = function iframeOverlay() { 1112 1113 jQuery(".iframe.mask").on("click", function () { 1114 1115 jQuery(this).removeClass("mask"); 1116 }); 1117}; 1118 1119var bodyOverlay = function bodyOverlay() { 1120 1121 jQuery("header .menu-item-has-children, .header-cart-menu, .header-user-menu").on("mouseenter", function () { 1122 jQuery(".overlay").addClass("active"); 1123 }); 1124 1125 jQuery("header .menu-item-has-children, .header-cart-menu, .header-user-menu").on("mouseleave", function () { 1126 jQuery(".overlay").removeClass("active"); 1127 }); 1128}; 1129'use strict'; 1130 1131function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } 1132 1133var smoothScroll = function smoothScroll() { 1134 1135 var header_height = document.querySelector("header").offsetHeight; 1136 var padding_top = 15; 1137 1138 if (window.outerWidth < 768) { 1139 header_height = 80; 1140 padding_top = 50; 1141 } 1142 1143 if (window.location.hash) { 1144 1145 scroll(0, 0); 1146 setTimeout(function () { 1147 scroll(0, 0); 1148 }, 1); 1149 1150 var $element = jQuery(window.location.hash); 1151 1152 if ($element.length > 0) { 1153 1154 // smooth scroll to the anchor id 1155 jQuery('html, body').animate({ 1156 scrollTop: jQuery(window.location.hash).offset().top - header_height 1157 }, 1000, 'swing'); 1158 } 1159 } 1160 1161 var scrollToElement = function scrollToElement(event) { 1162 1163 var $this = jQuery(event.target); 1164 var scroll_element = $this.data("scroll") || $this.closest('[data-scroll]').data("scroll") || $this.data("scrollMobile") || $this.closest('[data-scroll]').data("scrollMobile"); 1165 1166 if (jQuery(window).width() < 768) { 1167 scroll_element = $this.data("scrollMobile") || $this.closest('[data-scroll]').data("scrollMobile") || scroll_element; 1168 } 1169 1170 var form_top = void 0; 1171 if (jQuery('[data-scroll-target="' + scroll_element + '"]').length > 0) { 1172 form_top = jQuery('[data-scroll-target="' + scroll_element + '"]').offset().top - header_height + padding_top; 1173 } else if (jQuery('[data-scroll-target="form_2"]').length > 0) { 1174 form_top = jQuery('[data-scroll-target="form_2"]').offset().top - header_height + padding_top; 1175 } else { 1176 var href = $this.attr("href"); 1177 form_top = jQuery("#" + href).offset().top - header_height + padding_top; 1178 } 1179 1180 jQuery('html, body').animate({ 1181 scrollTop: form_top 1182 // scrollTop: jQuery('[data-scroll-target="'+scroll_element+'"]').offset().top - header_height + padding_top 1183 }, 300, function () { 1184 if (jQuery(window).width() > 767) { 1185 jQuery('[data-scroll-target="' + scroll_element + '"]').addClass("anim-box"); 1186 } 1187 }); 1188 1189 jQuery('[data-scroll-target="' + scroll_element + '"]').removeClass("anim-box"); 1190 }; 1191 1192 var $btn_scroll = document.querySelectorAll("[data-scroll]");
1193 [].concat(_toConsumableArray($btn_scroll)).forEach(function ($btn) { 1194 return $btn.addEventListener("click", scrollToElement); 1195 }); 1196 1197 jQuery('a[href*="#"]').not('[href^="/"]').not('[href="#"]').not('[data-scroll]').not('a[href^="http"]').not('.wc-tabs a').not('.btn-copytext').on('click', function (event) { 1198 1199 event.preventDefault(); 1200 1201 jQuery('html, body').animate({ 1202 scrollTop: jQuery(jQuery.attr(this, 'href')).offset().top - header_height 1203 }, 500); 1204 }); 1205}; 1206"use strict"; 1207 1208var viewMoreLess = function viewMoreLess() { 1209 1210 jQuery(".view-more-btn").on("click", function () { 1211 1212 var $this = jQuery(this); 1213 1214 $this.closest(".view-more-wrap").toggleClass("active"); 1215 }); 1216}; 1217//# sourceMappingURL=all.js.map
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.