PageSourceSearch

https://ridesharemechanic.com/wp-content/themes/angle180/build/js/all.js?v=1791129272

js ridesharemechanic.com collected 2026-10-04 15:55:01 UTC 43,071 bytes, 1,217 lines download raw bytes

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.