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.