PageSourceSearch

https://www.boschautoparts.com/o/bosch-autoparts-theme/js/custom.j…=js&languageId=en_US&t=1787670722000

js boschautoparts.com collected 2026-10-04 00:31:24 UTC 9,390 bytes, 282 lines download raw bytes

1/*1787670476000*/
2$(document).ready(function () {
3
4    $("#bap-category-carousel").owlCarousel({
5        autoPlay: 3000, //Set AutoPlay to 3 seconds
6        responsiveClass: true,
7        responsive: {
8            0: {
9                items: 1,
10                nav: true
11            },
12            768: {
13                items: 3,
14                nav: true
15            },
16            1024: {
17                items: 4,
18                nav: true
19            }
20        },
21        navText: [
22            '<i class="bap-icon bap-left" aria-hidden="true"></i>',
23            '<i class="bap-icon bap-right" aria-hidden="true"></i>'
24        ]
25    });
26
27    $('.item-text-wrapper').click(function () {
28        var currentItemTextWrapper = $(this);
29        var currentItemLinkWrapper = currentItemTextWrapper.find('.item-link-wrapper');
30        var currentItemIcon = currentItemTextWrapper.find('.item-icon');
31
32        currentItemLinkWrapper.slideToggle();
33
34        $('.item-link-wrapper').not(currentItemLinkWrapper).slideUp();
35
36        currentItemIcon.toggleClass('bap-plus bap-minus');
37
38        $('.item-icon').not(currentItemIcon).removeClass('bap-minus').addClass('bap-plus');
39    });
40
41    var owl = $('.banner-carousel');
42    owl.owlCarousel({
43        // autoplay: 5000,
44        autoplay:true,
45        autoplayTimeout:7000,
46        autoplayHoverPause:true,
47        items: 1,
48        loop: false,
49        rewind: true,
50        nav: true,
51        onInitialized: counter, //When the plugin has initialized.
52        onTranslated: counter, //When the translation of the stage has finished.
53        dots: true
54    });
55
56    function counter(event) {
57        var items = event.item.count;     // Number of items
58        var item = event.item.index + 1;     // Position of the current item
59        // it loop is true then reset counter from 1
60        if (item > items) {
61            item = item - items;
62        }
63        $('#hero-banner .owl-nav button.owl-prev').html(item + "/" + items)
64        $('#banner-image-with-desc .owl-nav button.owl-prev').html(item + "/" + items)
65    }
66    $('#hero-banner .owl-dots').wrap('<div class="slide-text-container"></div>');
67    $('#hero-banner .owl-nav').wrap('<div class="container"></div>');
68
69    $('.search-box-container').click(function () {
70        $('.search-box-wrapper').toggleClass('hide show');
71        $('.search-box-wrapper .webcontentSearchKeyword').focus();
72    });
73
74    $('.search-box-wrapper .btn-close-wrapper').click(function () {
75        $('.search-box-wrapper').toggleClass('hide show');
76        $('.search-box-wrapper .webcontentSearchKeyword').val('');
77        $('.search-box-wrapper .listElements').val('');
78    });
79
80    $('.dropdown-menu').mousedown(function (e) {
81        e.preventDefault();
82    });
83
84    handleADAOnHomePage();
85
86    //handle sticky header
87    handleStickyHeader();
88
89    //handleCustomLanguageSelector();
90
91    if (window.location.href.indexOf("product") > -1) {
92        $('a#products-tab').addClass('active-color')
93    }
94
95    // show/hide view all link in Navigation
96    showViewAll();
97
98    loadVehicleDataInViewFullCatalogLink();
99
100
101    // Custom Accordion Code
102
103    var rotateH = {
104        transform: 'rotateZ(90deg)',
105        left: 0
106    };
107
108    var rotateH_Rev = {
109        transform: 'rotateZ(0deg)',
110        top: '50%'
111    };
112
113    // var rotateV = {
114    //     transform: 'rotateZ(90deg)',
115    //     top: 0
116    // };
117
118    $('.bosch-accordion-toggle').on('click', '.inactive', evt => {
119        var $currTarg = $(evt.currentTarget);
120        // var $accordion = $currTarg.next('.bosch-accordion-body');
121        var $lineH = $currTarg.find('.line-h');
122        $('.bosch-accordion-title.active').trigger('click');
123        $lineH.css(rotateH);
124        setTimeout(() => {
125            $lineH.parent().css({ transform: 'rotateZ(90deg)' });
126            $currTarg.toggleClass('inactive active');
127        }, 150);
128    });
129
130    $('.bosch-accordion-toggle').on('click', '.active', evt => {
131        var $currTarg = $(evt.currentTarget);
132        // var $accordion = $currTarg.next('.bosch-accordion-body');
133        var $lineH = $currTarg.find('.line-h');
134        $currTarg.find('.glyph-wrapper').css({ transform: 'rotateZ(-90deg)' });
135        setTimeout(() => {
136            $lineH.css(rotateH_Rev);
137            $currTarg.toggleClass('inactive active');
138        }, 150);
139    });
140
141    $('.default').trigger('click');
142});
143
144$(document).on("click", function (event) {
145    var $trigger = $(".dropdown");
146    var $triggersb = $(".search-box-container");
147    var $triggersl = $(".search-result-link");
148
149    if (($trigger !== event.target && !$trigger.has(event.target).length) && ($triggersb !== event.target && !$triggersb.has(event.target).length) && !($triggersl !== event.target && !$triggersl.has(event.target).length)) {
150        $(".dropdown-menu").slideUp("fast", function () {
151            $('.search-box-wrapper').removeClass('box-shadow');
152            var $trigger2 = $(".search-box-container");
153            if ($trigger2 !== event.target && !$trigger2.has(event.target).length) {
154                var container = $(".search-box-section");
155                if (!container.is(event.target) && container.has(event.target).length === 0) {
156                    $('.search-box-wrapper').addClass('hide');
157                    $('.search-box-wrapper').removeClass('show');
158                }
159            }
160        });
161    }
162
163});
164
165function handleADAOnHomePage() {
166    $(".owl-dot").each(function () {
167        $(this).attr("aria-label", "owl-dot");
168    });
169
170    $(".owl-prev").each(function () {
171        $(this).attr("aria-label", "Prev");
172    });
173
174    $(".owl-next").each(function () {
175        $(this).attr("aria-label", "Next");
176    });
177}
178
179function handleStickyHeader() {
180    $(window).scroll(function () { handleOnScroll() });
181
182    var bapNavigation = document.getElementById("p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_");
183    var sticky = bapNavigation.offsetTop;
184
185    function handleOnScroll() {
186        if (window.pageYOffset > sticky) {
187            bapNavigation.classList.add("sticky");
188        } else {
189            bapNavigation.classList.remove("sticky");
190        }
191    }
192}
193
194function handleCustomLanguageSelector() {
195    $('.liferay-language-selector .dropdown-toggle').addClass('language-selector');
196    $('.liferay-language-selector .dropdown-toggle').append(' <span class="bap-icon bap-down"></span>');
197    $('.liferay-language-selector .dropdown-toggle').attr('role', 'menu');
198    $('.liferay-language-selector .inline-item').addClass('d-none');
199    $('.liferay-language-selector').removeClass('d-none');
200    $('.liferay-language-selector svg').addClass('d-none');
201}
202
203function showViewAll() {
204
205    let key;
206    if (bapConfigurations.countryCode.toLowerCase() === "mx") {
207        key = "activeVehicle_mx";
208    } else {
209        key = "activeVehicle";
210    }
211    var cookieArr = document.cookie.split(";");
212
213    for (var i = 0; i < cookieArr.length; i++) {
214        var cookiePair = cookieArr[i].split("=");
215        if (cookiePair[0].trim() == key) {
216            $('.view-all-link').removeClass("d-none");
217            break;
218        }
219        else {
220            $('.view-all-link').addClass("d-none");
221        }
222    }
223};
224
225function loadVehicleDataInViewFullCatalogLink() {
226    getActiveVehicleData().then((activeVehicleData) => {
227        if (activeVehicleData) {
228            var viewFullCatalogBaseUrl = bapConfigurations.productsPageUrl;
229            var viewFullCatalogUrl = viewFullCatalogBaseUrl + `?baseVehicleId=${activeVehicleData.baseVehicleId}&engineBlockType=${activeVehicleData.engineBlockType}&engineCyl=${activeVehicleData.engineCyl}&fuelTypeId=${activeVehicleData.fuelTypeId}&engineLiter=${activeVehicleData.engineLiter}&VehicleTypeGroupId=${activeVehicleData.VehicleTypeGroupId}`;
230
231            $('.view-all-link a').attr('href', viewFullCatalogUrl);
232        }
233    })
234}
235
236async function getActiveVehicleData() {
237    const storedVehicles = await getStoredVehicles();
238    const activeVehicleIndex = getActiveVehicleIndex();
239    let activeVehicle;
240    if (activeVehicleIndex !== undefined) {
241        activeVehicle = storedVehicles[activeVehicleIndex];
242    }
243    return activeVehicle;
244};
245
246function getStoredVehicles() {
247    let storedVehicles;
248    if (bapConfigurations.countryCode.toLowerCase() === "mx") {
249        storedVehicles = localStorage.getItem("bap.vehicles_mx");
250    } else {
251        storedVehicles = localStorage.getItem("bap.vehicles");
252    }
253    return storedVehicles ? JSON.parse(storedVehicles) : [];
254};
255
256
257function getActiveVehicleIndex() {
258    let activeVehicleString;
259    if (bapConfigurations.countryCode.toLowerCase() === "mx") {
260        activeVehicleString = getCookie("activeVehicle_mx");
261    } else {
262        activeVehicleString = getCookie("activeVehicle");
263    }
264    let vehicleName;
265    if (activeVehicleString != undefined || activeVehicleString != null) {
266        let activeVehicleDetails = activeVehicleString.split("&");
267
268        activeVehicleDetails.forEach((activeVehicleDetail) => {
269            let keyValueArray = activeVehicleDetail.split("=");
270            if (keyValueArray[0] === "activeVehicleIndex") {
271                vehicleName = JSON.parse(keyValueArray[1]);
272            }
273        });
274    }
275    return vehicleName;
276};
277
278function getCookie(key) {
279    var b = document.cookie.match("(^|;)\\s*" + key + "\\s*=\\s*([^;]+)");
280    return b ? b.pop() : "";
281}
282

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.