PageSourceSearch

https://www.sportaberdeen.co.uk/wp-content/plugins/mage-eventpress…/mp_style/mpwem_global.js?ver=1790252082

js sportaberdeen.co.uk collected 2026-09-24 12:15:19 UTC 45,186 bytes, 978 lines download raw bytes

1//======================================================Price Format==============//
2function mpwem_price_format(price) {
3    if (typeof price === 'string') {
4        price = Number(price);
5    }
6    price = price.toFixed(mpwem_num_of_decimal);
7    let total_part = price.toString().split(".");
8    total_part[0] = total_part[0].replace(/\B(?=(\d{3})+(?!\d))/g, mpwem_currency_thousands_separator);
9    price = total_part.join(mpwem_currency_decimal);
10    let price_text = '';
11    if (mpwem_currency_position === 'right') {
12        price_text = price + mpwem_currency_symbol;
13    } else if (mpwem_currency_position === 'right_space') {
14        price_text = price + ' ' + mpwem_currency_symbol;
15    } else if (mpwem_currency_position === 'left') {
16        price_text = mpwem_currency_symbol + price;
17    } else {
18        price_text = mpwem_currency_symbol + ' ' + price;
19    }
20    return price_text;
21}
22//=======================================================Loader==============//
23function mpwem_loader(target) {
24    if (target.find('div[class*="dLoader"]').length < 1) {
25        target.addClass('pRelative').append('<div class="dLoader"><span class="fas fa-spinner fa-pulse"></span></div>');
26    }
27}
28function mpwem_loader_xs(target) {
29    if (target.find('div[class*="dLoader"]').length < 1) {
30        target.addClass('pRelative').append('<div class="dLoader_xs"><span class="fas fa-spinner fa-pulse"></span></div>');
31    }
32}
33function mpwem_loader_spin(target) {
34    target.css('position', 'relative');
35    target.append('<div class="spinner_loading"><div class="icon_loader"><span class="fas fa-spinner fa-pulse"></span></div></div>');
36}
37function mpwem_loader_spin_xs(target) {
38    target.css('position', 'relative');
39    target.append('<div class="spinner_loading"><div class="icon_loader_xs"><span class="fas fa-spinner fa-pulse"></span></div></div>');
40}
41function mpwem_loader_spin_remove(target) {
42    target.find('.spinner_loading').remove();
43}
44function mpwem_loader_simple(target) {
45    if (target.find('div[class*="simpleSpinner"]').length < 1) {
46        target.addClass('pRelative').append('<div class="simpleSpinner"><span class="fas fa-spinner fa-pulse"></span></div>');
47    }
48}
49function mpwem_loader_simple_remove(target = jQuery('body')) {
50    target.removeClass('noScroll');
51    target.removeClass('pRelative').find('div[class*="simpleSpinner"]').remove();
52}
53function mpwem_loader_body() {
54    let body = jQuery('body');
55    if (body.find('div[class*="dLoader"]').length < 1) {
56        body.addClass('noScroll').append('<div class="dLoader _p_fixed"><span class="fas fa-spinner fa-pulse"></span></div>');
57    }
58}
59function mpwem_loader_body_xs() {
60    let body = jQuery('body');
61    if (body.find('div[class*="dLoader"]').length < 1) {
62        body.addClass('noScroll').append('<div class="dLoader_xs _p_fixed"><span class="fas fa-spinner fa-pulse"></span></div>');
63    }
64}
65function mpwem_loader_circle(target) {
66    if (target.find('div[class*="dLoader"]').length < 1) {
67        target.addClass('pRelative').append('<div class="dLoader border_spin_loader"><span class="circle"></span></div>');
68    }
69}
70function mpwem_loader_circle_xs_circle(target) {
71    if (target.find('div[class*="dLoader"]').length < 1) {
72        target.addClass('pRelative').append('<div class="dLoader_xs border_spin_loader"><span class="circle"></span></div>');
73    }
74}
75function mpwem_loader_remove(target = jQuery('body')) {
76    target.removeClass('noScroll');
77    target.removeClass('pRelative').find('div[class*="dLoader"]').remove();
78}
79function mpwem_loader_placeholder(target) {
80    target.addClass('mpwem_loader_placeholder');
81}
82function mpwem_loader_placeholder_remove(target) {
83    target.each(function () {
84        target.removeClass('mpwem_loader_placeholder');
85    })
86}
87//======================================================Page Scroll==============//
88function mpwem_page_scroll_to(target) {
89    jQuery('html, body').animate({
90        scrollTop: target.offset().top -= 150
91    }, 1000);
92}
93//====================================================Load Date picker==============//
94function mpwem_load_date_picker(parent = jQuery('.mpwem_style')) {
95    parent.find(".date_type.hasDatepicker").each(function () {
96        jQuery(this).removeClass('hasDatepicker').attr('id', '').removeData('datepicker').unbind();
97    }).promise().done(function () {
98        parent.find(".date_type").datepicker({
99            dateFormat: mpwem_date_format,
100            //showButtonPanel: true,
101            autoSize: true,
102            changeMonth: true,
103            changeYear: true,
104            yearRange: '1900:' + (new Date().getFullYear() + 10), // from 1900 to 10 years ahead
105            onSelect: function (dateString, data) {
106                let date = data.selectedYear + '-' + ('0' + (parseInt(data.selectedMonth) + 1)).slice(-2) + '-' + ('0' + parseInt(data.selectedDay)).slice(-2);
107                jQuery(this).closest('label').find('input[type="hidden"]').val(date).trigger('change');
108            },
109        });
110        // parent.find("#mep_load_date_picker").datepicker({
111        //     dateFormat: mpwem_date_format,
112        //     //showButtonPanel: true,
113        //     autoSize: true,
114        //     changeMonth: true,
115        //     changeYear: true,
116        //     yearRange: '1900:' + (new Date().getFullYear() + 10), // from 1900 to 10 years ahead
117        //     onSelect: function (dateString, data) {
118        //         let date = data.selectedYear + '-' + ('0' + (parseInt(data.selectedMonth) + 1)).slice(-2) + '-' + ('0' + parseInt(data.selectedDay)).slice(-2);
119        //         jQuery(this).closest('label').find('input[type="hidden"]').val(date).trigger('change');
120        //     },
121        // });
122    });
123    parent.find(".new-date_type.hasDatepicker").each(function () {
124        jQuery(this).removeClass('hasDatepicker').attr('id', '').removeData('datepicker').unbind();
125    }).promise().done(function () {
126        parent.find(".new-date_type").datepicker({
127            dateFormat: mpwem_date_format,
128            //showButtonPanel: true,
129            minDate: new Date(),
130            autoSize: true,
131            changeMonth: true,
132            changeYear: true,
133            yearRange: '1900:' + (new Date().getFullYear() + 10), // from 1900 to 10 years ahead
134            onSelect: function (dateString, data) {
135                let date = data.selectedYear + '-' + ('0' + (parseInt(data.selectedMonth) + 1)).slice(-2) + '-' + ('0' + parseInt(data.selectedDay)).slice(-2);
136                jQuery(this).closest('label').find('input[type="hidden"]').val(date).trigger('change');
137            },
138        });
139    });
140    parent.find(".new-particular-date_type.hasDatepicker").each(function () {
141        jQuery(this).removeClass('hasDatepicker').attr('id', '').removeData('datepicker').unbind();
142    }).promise().done(function () {
143        parent.find(".new-particular-date_type").datepicker({
144            dateFormat: mpwem_date_format,
145            //showButtonPanel: true,
146            minDate: new Date(),
147            autoSize: true,
148            changeMonth: true,
149            changeYear: true,
150            yearRange: '1900:' + (new Date().getFullYear() + 10), // from 1900 to 10 years ahead
151            onSelect: function (dateString, data) {
152                let date = data.selectedYear + '-' + ('0' + (parseInt(data.selectedMonth) + 1)).slice(-2) + '-' + ('0' + parseInt(data.selectedDay)).slice(-2);
153                jQuery(this).closest('label').find('input[type="hidden"]').val(date).trigger('change');
154            },
155        });
156    });
157    parent.find(".new-date_type-new.hasDatepicker").each(function () {
158        jQuery(this).removeClass('hasDatepicker').attr('id', '').removeData('datepicker').unbind();
159    }).promise().done(function () {
160        parent.find(".new-date_type-new").datepicker({
161            dateFormat: mpwem_date_format,
162            //showButtonPanel: true,
163            //minDate: new Date(),
164            autoSize: true,
165            changeMonth: true,
166            changeYear: true,
167            yearRange: '1900:' + (new Date().getFullYear() + 10), // from 1900 to 10 years ahead
168            onSelect: function (dateString, data) {
169                let date = data.selectedYear + '-' + ('0' + (parseInt(data.selectedMonth) + 1)).slice(-2) + '-' + ('0' + parseInt(data.selectedDay)).slice(-2);
170                jQuery(this).closest('label').find('input[type="hidden"]').val(date).trigger('change');
171            },
172        });
173    });
174}
175//========================================================Alert==============//
176function mpwem_alert($this, attr = 'alert') {
177    alert($this.data(attr));
178}
179//=====================================================Load initial=================//
180(function ($) {
181    "use strict";
182    $(document).ready(function () {
183        mpwem_load_date_picker();
184        $("div.mpwem_style .date_type").on("keydown", function (e) {
185            e.preventDefault();
186        });
187        $("div.mpwem_style .mpwem_date_reset").on("click", function () {
188            let parent = $(this).closest('label');
189            parent.find('input').val('');
190            parent.find('.date_type.hasDatepicker').datepicker('setDate', null);
191        });
192    });
193}(jQuery));
194//====================================================================Load Bg Image=================//
195function mpwem_load_bg_image() {
196    jQuery('body').find('div.mpwem_style [data-bg-image]:visible').each(function () {
197        let target = jQuery(this);
198        if (target.closest('.sliderAllItem').length === 0) {
199            let width = target.outerWidth();
200            let height = target.outerHeight();
201            if (target.css('background-image') === 'none' || width === 0 || height === 0) {
202                let bg_url = target.data('bg-image');
203                if (!bg_url || bg_url.width === 0 || bg_url.width === 'undefined') {
204                    bg_url = mpwem_empty_image_url;
205                }
206                mpwem_resize_bg_image_area(target, bg_url);
207                target.css('background-image', 'url("' + bg_url + '")').promise().done(function () {
208                    mpwem_loader_remove(jQuery(this));
209                });
210            }
211        }
212    });
213    jQuery('body').find('div.mpwem_style .sliderAllItem').each(function () {
214        let target = jQuery(this);
215        mpwem_slider_resize(target)
216    });
217    return true;
218}
219function mpwem_slider_resize(target) {
220    let all_height = [];
221    let totalHeight = 0;
222    let imgCount = 0;
223    let main_div_width = target.innerWidth();
224    //console.log(main_div_width);
225    let item_count = target.find('.sliderItem').length;
226    target.find('[data-bg-image]').each(function () {
227        let width = jQuery(this).outerWidth();
228        let height = jQuery(this).outerHeight();
229        // if (jQuery(this).css('background-image') === 'none' || width === 0 || height === 0) {
230        let bg_url = jQuery(this).data('bg-image');
231        if (!bg_url || bg_url.width === 0 || bg_url.width === 'undefined') {
232            bg_url = mpwem_empty_image_url;
233        }
234        let imgWidth = jQuery(this).data('width');
235        let imgHeight = jQuery(this).data('height');
236        all_height.push(imgHeight);
237        totalHeight = totalHeight + (imgHeight * main_div_width) / imgWidth;
238        imgCount++;
239        if (imgCount === item_count) {
240            let slider_height_type = target.closest('.superSlider').find('input[name="slider_height_type"]').val();
241            let height_content = totalHeight / imgCount;
242            if (slider_height_type === 'min') {
243                height_content = Math.min(...all_height);
244                target.find('.sliderItem').css({"min-height": height_content});
245                target.find('.sliderItem').css({"max-height": height_content});
246            } else if (slider_height_type === 'max') {
247                height_content = Math.max(...all_height);
248                target.find('.sliderItem').css({"min-height": height_content});
249                target.find('.sliderItem').css({"max-height": height_content});
250            } else {
251                target.find('.sliderItem').css({"min-height": height_content});
252                target.find('.sliderItem').css({"max-height": height_content});
253            }
254            target.css({"max-height": height_content});
255            target.siblings('.sliderShowcase').css({"max-height": height_content});
256        }
257        jQuery(this).css('background-image', 'url("' + bg_url + '")').promise().done(function () {
258            mpwem_loader_remove(jQuery(this));
259        });
260        // }
261    });
262}
263function mpwem_resize_bg_image_area(target, bg_url) {
264    let tmpImg = new Image();
265    tmpImg.src = bg_url;
266    jQuery(tmpImg).one('load', function () {
267        let imgWidth = tmpImg.width;
268        let imgHeight = tmpImg.height;
269        let height = target.outerWidth() * imgHeight / imgWidth;
270        target.css({"min-height": height});
271    });
272}
273(function ($) {
274    let bg_image_load = false;
275    $(document).ready(function () {
276        $('body').find('div.mpwem_style [data-bg-image]').each(function () {
277            mpwem_loader($(this));
278        });
279        $(window).on('load', function () {
280            load_initial();
281        });
282        if (!bg_image_load) {
283            load_initial();
284            $(document).scroll(function () {
285                load_initial();
286            });
287        }
288    });
289    $(document).on('click', 'div.mpwem_style [data-href]', function () {
290        let href = $(this).data('href');
291        if (href) {
292            let blank = $(this).data('blank');
293            if (blank) {
294                window.open(href, '_blank');
295            } else {
296                window.location.href = href;
297            }
298        }
299    });
300    $(window).on('load , resize', function () {
301        $('body').find('div.mpwem_style [data-bg-image]:visible').each(function () {
302            let target = $(this);
303            if (target.closest('.sliderAllItem').length === 0) {
304                let bg_url = target.data('bg-image');
305                if (!bg_url || bg_url.width === 0 || bg_url.width === 'undefined') {
306                    bg_url = mpwem_empty_image_url;
307                }
308                mpwem_resize_bg_image_area(target, bg_url);
309            }
310        });
311        jQuery('body').find('div.mpwem_style .sliderAllItem:visible').each(function () {
312            let target = jQuery(this);
313            mpwem_slider_resize(target)
314        });
315    });
316    function load_initial() {
317        if (!bg_image_load) {
318            if (mpwem_load_bg_image()) {
319                bg_image_load = true;
320                mpwem_loader_placeholder_remove($('.mpwem_style.mpwem_loader_placeholder'))
321            }
322        }
323    }
324}(jQuery));
325//=============================================================================Change icon and text=================//
326function mpwem_content_icon_change(currentTarget) {
327    let openIcon = currentTarget.data('open-icon');
328    let closeIcon = currentTarget.data('close-icon');
329    if (openIcon || closeIcon) {
330        currentTarget.find('[data-icon]').toggleClass(closeIcon).toggleClass(openIcon);
331    }
332}
333function mpwem_content_text_change(currentTarget) {
334    let openText = currentTarget.data('open-text');
335    openText = openText ? openText.toString() : '';
336    let closeText = currentTarget.data('close-text');
337    closeText = closeText ? closeText : '';
338    if (openText || closeText) {
339        let text = currentTarget.find('[data-text]').html();
340        text = text ? text.toString() : ''
341        if (text !== openText) {
342            currentTarget.find('[data-text]').html(openText);
343        } else {
344            currentTarget.find('[data-text]').html(closeText);
345        }
346    }
347}
348function mpwem_content_class_change(currentTarget) {
349    let clsName = currentTarget.data('add-class');
350    if (clsName) {
351        if (currentTarget.find('[data-class]').length > 0) {
352            currentTarget.find('[data-class]').toggleClass(clsName);
353        } else {
354            currentTarget.toggleClass(clsName);
355        }
356    }
357}
358function mpwem_content_input_value_change(currentTarget) {
359    currentTarget.find('[data-value]').each(function () {
360        let value = jQuery(this).val();
361        if (value) {
362            jQuery(this).val('');
363        } else {
364            jQuery(this).val(jQuery(this).data('value'));
365        }
366        jQuery(this).trigger('change');
367    });
368}
369function mpwem_all_content_change($this) {
370    mpwem_load_bg_image();
371    mpwem_content_class_change($this);
372    mpwem_content_icon_change($this);
373    mpwem_content_text_change($this);
374    mpwem_content_input_value_change($this);
375}
376(function ($) {
377    "use strict";
378    $(document).on('click', '.mpwem_load_more_text_area [data-read]', function (e) {
379        e.stopPropagation();
380        let parent = $(this).closest('.mpwem_load_more_text_area');
381        let open_text = parent.find('[data-read-open]').html();
382        let close_text = parent.find('[data-read-close]').html();
383        parent.find('[data-read-close]').html(open_text);
384        parent.find('[data-read-open]').html(close_text);
385        mpwem_content_text_change($(this));
386    });
387    $(document).on('click', 'div.mpwem_style [data-all-change]', function () {
388        mpwem_all_content_change($(this));
389    });
390    $(document).on('click', 'div.mpwem_style [data-icon-change]', function () {
391        mpwem_content_icon_change($(this));
392    });
393    $(document).on('click', 'div.mpwem_style [data-text-change]', function () {
394        mpwem_content_text_change($(this));
395    });
396    $(document).on('click', 'div.mpwem_style [data-class-change]', function () {
397        mpwem_content_class_change($(this));
398    });
399    $(document).on('click', 'div.mpwem_style [data-value-change]', function () {
400        mpwem_content_input_value_change($(this));
401    });
402    $(document).on('keyup change', '.mpwem_style [data-input-text]', function () {
403        let input_value = $(this).val();
404        let input_id = $(this).data('input-text');
405        $("[data-input-change='" + input_id + "']").each(function () {
406            $(this).html(input_value);
407        });
408    });
409    $(document).on('keyup change', '.mpwem_style [data-target-same-input]', function () {
410        let input_value = $(this).val();
411        let input_id = $(this).data('target-same-input');
412        $("[data-same-input='" + input_id + "']").each(function () {
413            $(this).val(input_value);
414        });
415    });
416}(jQuery));
417//==============================================================================Input use as select================//
418(function ($) {
419    "use strict";
420    $(document).on("click", "div.mpwem_style .mpwem_input_select .mpwem_input_select_list li", function (e) {
421        e.preventDefault();
422        let current = $(this);
423        let parent = $(this).closest('.mpwem_input_select');
424        let value = current.data('value');
425        let text = current.html();
426        parent.find('.mpwem_input_select_list').slideUp(250);
427        if (parent.find('input[type="hidden"]').length > 0) {
428            parent.find('input.formControl').val(text);
429            parent.find('input[type="hidden"]').val(value).trigger('mpwem_change');
430        } else {
431            parent.find('input.formControl').val(value).trigger('mpwem_change');
432        }
433    });
434    $(document).on({
435        keyup: function () {
436            let input = $(this).val().toLowerCase();
437            $(this).closest('.mpwem_input_select').find('.mpwem_input_select_list li').each(function () {
438                let input_length = input.length;
439                $(this).toggle($(this).attr('data-value').toLowerCase().substring(0, input_length) === input);
440            });
441            $(this).closest('.mpwem_input_select').find('.mpwem_input_select_list').slideDown(200);
442        },
443        click: function () {
444            $('body').find('.mpwem_input_select .mpwem_input_select_list').slideUp(250);
445            let input = $(this).val().toLowerCase();
446            $(this).closest('.mpwem_input_select').find('.mpwem_input_select_list li').each(function () {
447                let data = $(this).attr('data-value').toLowerCase();
448                if (!input || input === data) {
449                    $(this).slideDown('fast');
450                }
451            });
452            $(this).closest('.mpwem_input_select').find('.mpwem_input_select_list').slideDown(250);
453        }
454    }, 'div.mpwem_style .mpwem_input_select input.formControl');
455}(jQuery));
456//============================================================================Sticky================//
457function mpwem_sticky_management() {
458    if (jQuery('.mpwem_style .mpwem_sticky_area').length > 0) {
459        window.onscroll = function () {
460            jQuery('.mpwem_style .mpwem_sticky_area').each(function () {
461                let current = jQuery(this);
462                let target_scroll = current.find('.mpwem_sticky_area');
463                let parent = current.closest('.mpwem_sticky_section');
464                let target_content = parent.find('.mpwem_sticky_depend_area');
465                let scroll_top = jQuery(window).scrollTop();
466                let content_top = target_content.offset().top;
467                let scroll_height = target_content.innerHeight() - current.innerHeight();
468                if (jQuery('body').outerWidth() > 800) {
469                    console.log(target_content.innerHeight() + ' - ' + current.innerHeight() + ' = ' + scroll_height);
470                    console.log(scroll_top + ' + ' + scroll_height + ' = ' + scroll_top + scroll_height);
471                    //console.log(content_top);
472                    //console.log(scroll_top+scroll_height);
473                    if (scroll_top > content_top + scroll_height - 100) {
474                        if (!current.hasClass('stickyFixed')) {
475                            current.removeClass('mpSticky').addClass('stickyFixed');
476                        }
477                    } else if (scroll_top > content_top - 100) {
478                        if (!current.hasClass('mpSticky')) {
479                            current.addClass('mpSticky').removeClass('stickyFixed');
480                        }
481                    } else {
482                        current.removeClass('mpSticky').removeClass('stickyFixed');
483                    }
484                } else {
485                    current.removeClass('mpSticky').removeClass('stickyFixed');
486                }
487            });
488        };
489    }
490}
491(function ($) {
492    "use strict";
493    $(document).ready(function () {
494        mpwem_sticky_management();
495    });
496}(jQuery));
497//============================================================================Tabs================//
498(function ($) {
499    "use strict";
500    function active_next_tab(parent, targetTab) {
501        parent.height(parent.height());
502        let tabsContent = parent.find('.tabsContentNext:first');
503        let target_tabContent = tabsContent.children('[data-tabs-next="' + targetTab + '"]');
504        let index = target_tabContent.index() + 1;
505        let num_of_tab = parent.find('.tabListsNext:first').children('[data-tabs-target-next]').length;
506        let i = 1;
507        for (i; i <= num_of_tab; i++) {
508            let target_tab = parent.find('.tabListsNext:first').children('[data-tabs-target-next]:nth-child(' + i + ')');
509            if (i <= index) {
510                target_tab.addClass('active');
511            } else {
512                target_tab.removeClass('active');
513            }
514            if (i === index - 1) {
515                mpwem_all_content_change(target_tab);
516            }
517        }
518        if (index < 2 && num_of_tab > index) {
519            parent.find('.nextTab_next').slideDown('fast');
520            parent.find('.nextTab_prev').slideUp('fast');
521        } else if (num_of_tab === index) {
522            parent.find('.nextTab_next').slideUp('fast');
523            parent.find('.nextTab_prev').slideDown('fast');
524        } else {
525            parent.find('.nextTab_next').slideDown('fast');
526            parent.find('.nextTab_prev').slideDown('fast');
527        }
528        target_tabContent.slideDown(350);
529        tabsContent.children('[data-tabs-next].active').slideUp(350).removeClass('active').promise().done(function () {
530            target_tabContent.addClass('active').promise().done(function () {
531                mpwem_page_scroll_to(tabsContent);
532                parent.height('auto').promise().done(function () {
533                    mpwem_load_bg_image();
534                    mpwem_sticky_management();
535                    mpwem_loader_remove(parent);
536                });
537            });
538        });
539    }
540    $(document).on('click', '.mpwem_style .tabs_next .nextTab_prev_link', function () {
541        let parent = $(this).closest('.tabs_next');
542        if (parent.find('[data-tabs-target-next].active').length > 1) {
543            parent.find('.nextTab_prev').trigger('click');
544        }
545    });
546    $(document).on('click', '.mpwem_style .tabs_next .nextTab_next', function () {
547        let parent = $(this).closest('.tabs_next');
548        let target = parent.find('.tabListsNext:first');
549        let num_of_tab = target.children('[data-tabs-target-next].active').length + 1;
550        let targetTab = target.children('[data-tabs-target-next]:nth-child(' + num_of_tab + ')').data('tabs-target-next');
551        active_next_tab(parent, targetTab);
552    });
553    $(document).on('click', '.mpwem_style .tabs_next .nextTab_prev', function () {
554        let parent = $(this).closest('.tabs_next');
555        let target = parent.find('.tabListsNext:first');
556        let num_of_tab = target.children('[data-tabs-target-next].active').length - 1;
557        let targetTab = target.children('[data-tabs-target-next]:nth-child(' + num_of_tab + ')').data('tabs-target-next');
558        active_next_tab(parent, targetTab);
559    });
560    $(document).ready(function () {
561        $('.mpwem_style .mpTabs').each(function () {
562            let tabLists = $(this).find('.tabLists:first');
563            let activeTab = tabLists.find('[data-tabs-target].active');
564            let targetTab = activeTab.length > 0 ? activeTab : tabLists.find('[data-tabs-target]').first();
565            targetTab.trigger('click');
566        });
567        $('.mpwem_style .tabs_next').each(function () {
568            let parent = $(this);
569            if (parent.find('[data-tabs-target-next].active').length < 1) {
570                mpwem_loader(parent);
571                let tabLists = parent.find('.tabListsNext:first');
572                let targetTab = tabLists.find('[data-tabs-target-next]').first().data('tabs-target-next')
573                active_next_tab(parent, targetTab);
574            }
575        });
576    });
577    $(document).on('click', '.mpwem_style [data-tabs-target]', function () {
578        if (!$(this).hasClass('active')) {
579            let tabsTarget = $(this).data('tabs-target');
580            let parent = $(this).closest('.mpTabs');
581            parent.height(parent.height());
582            let tabLists = $(this).closest('.tabLists');
583            let tabsContent = parent.find('.tabsContent:first');
584            tabLists.find('[data-tabs-target].active').each(function () {
585                $(this).removeClass('active').promise().done(function () {
586                    mpwem_all_content_change($(this))
587                });
588            });
589            $(this).addClass('active').promise().done(function () {
590                mpwem_all_content_change($(this))
591            });
592            tabsContent.children('[data-tabs="' + tabsTarget + '"]').slideDown(350);
593            tabsContent.children('[data-tabs].active').slideUp(350).removeClass('active').promise().done(function () {
594                tabsContent.children('[data-tabs="' + tabsTarget + '"]').addClass('active').promise().done(function () {
595                    //mpwem_loader_remove(tabsContent);
596                    mpwem_load_bg_image();
597                    parent.height('auto');
598                });
599            });
600        }
601    });
602}(jQuery));
603//======================================================================Collapse=================//
604(function ($) {
605    "use strict";
606    $(document).on('click', '.mpwem_style [data-collapse-target]', function () {
607        let currentTarget = $(this);
608        let target_id = currentTarget.data('collapse-target');
609        let close_id = currentTarget.data('close-target');
610        let target = $('[data-collapse="' + target_id + '"]');
611        if (target_close(close_id, target_id) && collapse_close_inside(currentTarget) && target_collapse(target, currentTarget)) {
612            mpwem_all_content_change(currentTarget);
613        }
614    });
615    $(document).on('change', '.mpwem_style select[data-collapse-target]', function () {
616        let currentTarget = $(this);
617        let value = currentTarget.val();
618        currentTarget.find('option').each(function () {
619            if ($(this).attr('data-option-target-multi')) {
620                let target_ids = $(this).data('option-target-multi');
621                target_ids = target_ids.toString().split(" ");
622                target_ids.forEach(function (target_id) {
623                    let target = $('[data-collapse="' + target_id + '"]');
624                    target.slideUp(350).removeClass('mActive');
625                });
626            } else {
627                let target_id = $(this).data('option-target');
628                let target = $('[data-collapse="' + target_id + '"]');
629                target.slideUp('fast').removeClass('mActive');
630            }
631        }).promise().done(function () {
632            currentTarget.find('option').each(function () {
633                let current_value = $(this).val();
634                if (current_value === value) {
635                    if ($(this).attr('data-option-target-multi')) {
636                        let target_ids = $(this).data('option-target-multi');
637                        target_ids = target_ids.toString().split(" ");
638                        target_ids.forEach(function (target_id) {
639                            let target = $('[data-collapse="' + target_id + '"]');
640                            target.slideDown(350).removeClass('mActive');
641                        });
642                    } else {
643                        let target_id = $(this).data('option-target');
644                        let target = $('[data-collapse="' + target_id + '"]');
645                        target.slideDown(350).removeClass('mActive');
646                    }
647                }
648            });
649        });
650    });
651    function target_close(close_id, target_id) {
652        $('body').find('[data-close="' + close_id + '"]:not([data-collapse="' + target_id + '"])').slide
652Up(250);
653        return true;
654    }
655    function target_collapse(target, $this) {
656        if ($this.is('[type="radio"]')) {
657            target.slideDown(250);
658        } else {
659            target.each(function () {
660                $(this).slideToggle(250).toggleClass('mActive');
661            });
662        }
663        return true;
664    }
665    function collapse_close_inside(currentTarget) {
666        let parent_target_close = currentTarget.data('collapse-close-inside');
667        if (parent_target_close) {
668            $(parent_target_close).find('[data-collapse]').each(function () {
669                if ($(this).hasClass('mActive')) {
670                    let collapse_id = $(this).data('collapse');
671                    let target_collapse = $('[data-collapse-target="' + collapse_id + '"]');
672                    if (collapse_id !== currentTarget.data('collapse-target')) {
673                        $(this).slideUp(250).removeClass('mActive');
674                        let clsName = target_collapse.data('add-class');
675                        if (clsName) {
676                            target_collapse.removeClass(clsName);
677                        }
678                        mpwem_content_text_change(target_collapse);
679                        mpwem_content_icon_change(target_collapse);
680                    }
681                }
682            })
683        }
684        return true;
685    }
686}(jQuery));
687//=====================================================================Group Check box==========//
688(function ($) {
689    "use strict";
690    $(document).on('click', 'div.mpwem_style .groupCheckBox .customCheckboxLabel', function () {
691        let parent = $(this).closest('.groupCheckBox');
692        let value = '';
693        let separator = ',';
694        parent.find(' input[type="checkbox"]').each(function () {
695            if ($(this).is(":checked")) {
696                let currentValue = $(this).attr('data-checked');
697                value = value + (value ? separator : '') + currentValue;
698            }
699        }).promise().done(function () {
700            parent.find('input[type="hidden"]').val(value);
701        });
702    });
703    // radio
704    $(document).on('click', 'div.mpwem_style [data-radio]', function () {
705        let target = $(this).closest('label');
706        let value = $(this).attr('data-radio');
707        target.find('.customRadio').removeClass('active');
708        $(this).addClass('active');
709        target.find('input').val(value).trigger('change');
710    });
711    $(document).on('click', 'div.mpwem_style .checkbox_item', function () {
712        let target = $(this);
713        let value = '';
714        if (target.hasClass('on')) {
715            value = 'off';
716            target.removeClass('on').addClass('off');
717        } else {
718            value = 'on';
719            target.removeClass('off').addClass('on');
720        }
721        target.find('input').val(value).trigger('change');
722    });
723    $(document).on('click', 'div.mpwem_style .groupRadioBox [data-group-radio]', function () {
724        let parent = $(this).closest('.groupRadioBox');
725        let $this = $(this);
726        let value = $this.data('group-radio');
727        parent.find('[data-group-radio]').each(function () {
728            $(this).removeClass('active');
729        }).promise().done(function () {
730            $this.addClass('active');
731            parent.find('input[type="text"]').val(value);
732        });
733    });
734    //Group radio like checkbox
735    $(document).on('click', 'div.mpwem_style .groupRadioCheck [data-radio-check]', function () {
736        //e.stopPropagation();
737        let parent = $(this).closest('.groupRadioCheck');
738        let $this = $(this);
739        if (!$this.hasClass('mpActive')) {
740            let value = $this.data('radio-check');
741            parent.find('.mpActive[data-radio-check]').each(function () {
742                $(this).removeClass('mpActive');
743                mpwem_all_content_change($(this));
744            }).promise().done(function () {
745                $this.addClass('mpActive');
746                mpwem_all_content_change($this);
747                parent.find('input[type="hidden"]').val(value).trigger('change');
748            });
749        }
750    });
751}(jQuery));
752//=======================================================validation ==============//
753function mpwem_check_required(input) {
754    if (input.val() !== '') {
755        input.removeClass('mpRequired');
756        return true;
757    } else {
758        input.addClass('mpRequired');
759        return false;
760    }
761}
762(function ($) {
763    "use strict";
764    $(document).on('keyup change', '.mpwem_style .number_validation', function () {
765        let n = $(this).val();
766        $(this).val(n.replace(/\D/g, ''));
767        return true;
768    });
769    $(document).on('keyup change', '.mpwem_style .price_validation', function () {
770        let n = $(this).val();
771        $(this).val(n.replace(/[^\d.]/g, ''));
772        return true;
773    });
774    $(document).on('keyup change', '.mpwem_style .id_validation', function () {
775        let n = $(this).val();
776        $(this).val(n.replace(/[^\d_a-zA-Z]/g, ''));
777        return true;
778    });
779    $(document).on('keyup change', '.mpwem_style .name_validation', function () {
780        let n = $(this).val();
781        $(this).val(n.replace(/[@%'":;&_]/g, ''));
782        return true;
783    });
784}(jQuery));
785//==========================================================pagination==========//
786function mpwem_pagination_page_management(parent, pagination_page, total_item) {
787    let per_page_item = parseInt(parent.find('input[name="pagination_per_page"]').val());
788    let total_active_page = Math.floor(total_item / per_page_item) + ((total_item % per_page_item) > 0 ? 1 : 0);
789    let page_limit_start = (pagination_page > 2) ? (pagination_page - 2) : 0;
790    let page_limit_end = (pagination_page > 2) ? (pagination_page + 2) : 4;
791    let limit_dif = total_active_page - pagination_page;
792    if (total_active_page > 5 && limit_dif < 3) {
793        page_limit_start = page_limit_start - ((limit_dif > 1) ? 1 : 2);
794    }
795    let total_page = parent.find('[data-pagination]').length;
796    for (let i = 0; i < total_page; i++) {
797        if (i < total_active_page && i >= page_limit_start && i <= page_limit_end) {
798            parent.find('[data-pagination="' + i + '"]').slideDown(200);
799        } else {
800            parent.find('[data-pagination="' + i + '"]').slideUp(200);
801        }
802    }
803    if (pagination_page > 0) {
804        parent.find('.page_prev').removeAttr('disabled');
805    } else {
806        parent.find('.page_prev').prop('disabled', true);
807    }
808    if (pagination_page > 2 && total_active_page > 5) {
809        parent.find('.ellipse_left').slideDown(200);
810    } else {
811        parent.find('.ellipse_left').slideUp(200);
812    }
813    if (pagination_page < total_active_page - 3 && total_active_page > 5) {
814        parent.find('.ellipse_right').slideDown(200);
815    } else {
816        parent.find('.ellipse_right').slideUp(200);
817    }
818    if (pagination_page < total_active_page - 1) {
819        parent.find('.page_next').removeAttr('disabled');
820    } else {
821        parent.find('.page_next').prop('disabled', true);
822    }
823    return true;
824}
825function mpwem_load_more_scroll(parent, pagination_page) {
826    let per_page_item = parseInt(parent.find('input[name="pagination_per_page"]').val());
827    let start_item = pagination_page > 0 ? pagination_page * per_page_item : 0;
828    let target = parent.find('.pagination_item:nth-child(' + (start_item + 1) + ')');
829    mpwem_page_scroll_to(target);
830}
831(function ($) {
832    "use strict";
833    $(document).on('click', 'div.mpwem_style .pagination_area .page_prev', function (e) {
834        e.preventDefault();
835        let parent = $(this).closest('.pagination_area');
836        let page_no = parseInt(parent.find('.active_pagination').data('pagination')) - 1;
837        parent.find('[data-pagination="' + page_no + '"]').trigger('click');
838    });
839    $(document).on('click', 'div.mpwem_style .pagination_area .page_next', function (e) {
840        e.preventDefault();
841        let parent = $(this).closest('.pagination_area');
842        let page_no = parseInt(parent.find('.active_pagination').data('pagination')) + 1;
843        parent.find('[data-pagination="' + page_no + '"]').trigger('click');
844    });
845    //*************** Pagination Load More ***************//
846    $(document).on('click', 'div.mpwem_pagination_area  .pagination_load_more', function () {
847        let pagination_page = parseInt($(this).attr('data-load-more')) + 1;
848        let parent = $(this).closest('div.mpwem_pagination_area');
849        let per_page_item = parseInt(parent.find('input[name="pagination_per_page"]').val());
850        let count = 0;
851        let end_item = per_page_item * pagination_page + per_page_item;
852        $(this).attr('data-load-more', pagination_page).promise().done(function () {
853            parent.find('.pagination_item').each(function () {
854                if (count < end_item) {
855                    $(this).slideDown(250);
856                }
857                count++;
858            });
859        }).promise().done(function () {
860            lode_more_init(parent);
861        }).promise().done(function () {
862            mpwem_load_bg_image();
863        });
864    });
865    function lode_more_init(parent) {
866        if (parent.find('.pagination_item:hidden').length === 0) {
867            parent.find('[data-load-more]').attr('disabled', 'disabled');
868        } else {
869            parent.find('[data-load-more]').removeAttr('disabled');
870        }
871    }
872}(jQuery));
873//==============================================================Modal / Popup==========//
874(function ($) {
875    "use strict";
876    $(document).on('click', '.mpwem_style [data-target-popup]', function () {
877        let target = $(this).attr('data-active-popup', '').data('target-popup');
878        $('body').addClass('noScroll').find('[data-popup="' + target + '"]').addClass('in').promise().done(function () {
879            mpwem_load_bg_image();
880            return true;
881        });
882    });
883    $(document).on('click', 'div.mpPopup  .popup_close', function () {
884        $(this).closest('[data-popup]').removeClass('in');
885        $('body').removeClass('noScroll').find('[data-active-popup]').removeAttr('data-active-popup');
886        return true;
887    });
888}(jQuery));
889//==============================================================Slider=================//
890(function ($) {
891    "use strict";
892    //=================initial call============//
893    $('div.mpwem_style .superSlider').each(function () {
894        sliderItemActive($(this), 1);
895    });
896    //==============Slider===================//
897    $(document).on('click', 'div.mpwem_style .superSlider [data-sli
897de-target]', function () {
898        if (!$(this).hasClass('activeSlide')) {
899            let activeItem = $(this).data('slide-target');
900            let parent = $(this).closest('.superSlider');
901            sliderItemActive(parent, activeItem);
902            parent.find('[data-slide-target]').removeClass('activeSlide');
903            $(this).addClass('activeSlide');
904        }
905    });
906    $(document).on('click', 'div.mpwem_style .superSlider .iconIndicator', function () {
907        let parent = $(this).closest('.superSlider');
908        let activeItem = parseInt(parent.find('.sliderAllItem').first().find('.sliderItem.activeSlide').data('slide-index'));
909        if ($(this).hasClass('nextItem')) {
910            ++activeItem;
911        } else {
912            --activeItem;
913        }
914        sliderItemActive(parent, activeItem);
915    });
916    function sliderItemActive(parent, activeItem) {
917        let itemLength = parent.find('.sliderAllItem').first().find('[data-slide-index]').length;
918        let currentItem = getSliderItem(parent, activeItem);
919        let activeCurrent = parseInt(parent.find('.sliderAllItem').first().find('.sliderItem.activeSlide').data('slide-index'));
920        let i = 1;
921        for (i; i <= itemLength; i++) {
922            let target = parent.find('.sliderAllItem').first().find('[data-slide-index="' + i + '"]').first();
923            if (i < currentItem && currentItem !== 1) {
924                sliderClassControl(target, currentItem, activeCurrent, 'prevSlider', 'nextSlider');
925            }
926            if (i === currentItem) {
927                parent.find('.sliderAllItem').first().find('[data-slide-index="' + currentItem + '"]').removeClass('prevSlider nextSlider').addClass('activeSlide');
928            }
929            if (i > currentItem && currentItem !== itemLength) {
930                sliderClassControl(target, currentItem, activeCurrent, 'nextSlider', 'prevSlider');
931            }
932            if (i === itemLength && itemLength > 1) {
933                if (currentItem === 1) {
934                    target = parent.find('.sliderAllItem').first().find('[data-slide-index="' + itemLength + '"]');
935                    sliderClassControl(target, currentItem, activeCurrent, 'prevSlider', 'nextSlider');
936                }
937                if (currentItem === itemLength) {
938                    target = parent.find('.sliderAllItem').first().find('[data-slide-index="1"]');
939                    sliderClassControl(target, currentItem, activeCurrent, 'nextSlider', 'prevSlider');
940                }
941            }
942        }
943    }
944    function sliderClassControl(target, currentItem, activeCurrent, add_class, remove_class) {
945        if (target.hasClass('activeSlide')) {
946            if (currentItem > activeCurrent) {
947                target.removeClass('activeSlide').addClass(add_class);
948            } else {
949                target.removeClass('activeSlide').removeClass(remove_class).addClass(add_class);
950            }
951        } else if (target.hasClass(remove_class)) {
952            target.removeClass(remove_class).delay(600).addClass(add_class);
953        } else {
954            if (!target.hasClass(add_class)) {
955                target.addClass(add_class);
956            }
957        }
958    }
959    function getSliderItem(parent, activeItem) {
960        let itemLength = parent.find('.sliderAllItem').first().find('[data-slide-index]').length;
961        activeItem = activeItem < 1 ? itemLength : activeItem;
962        activeItem = activeItem > itemLength ? 1 : activeItem;
963        return activeItem;
964    }
965    //popup
966    $(document).on('click', 'div.mpwem_style .superSlider [data-target-popup]', function () {
967        let target = $(this).data('target-popup');
968        let activeItem = $(this).data('slide-index');
969        $('body').addClass('noScroll').find('[data-popup="' + target + '"]').addClass('in').promise().done(function () {
970            sliderItemActive($(this), activeItem);
971            mpwem_load_bg_image();
972        });
973    });
974    $(document).on('click', '.superSlider .popup_close', function () {
975        $(this).closest('[data-popup]').removeClass('in');
976        $('body').removeClass('noScroll');
977    });
978}(jQuery));

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.