1/** 2 * Copyright ETS Software Technology Co., Ltd 3 * 4 * NOTICE OF LICENSE 5 * 6 * This file is not open source! Each license that you purchased is only available for 1 website only. 7 * If you want to use this file on more websites (or projects), you need to purchase additional licenses. 8 * You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party. 9 * 10 * DISCLAIMER 11 * 12 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer 13 * versions in the future. 14 * 15 * @author ETS Software Technology Co., Ltd 16 * @copyright ETS Software Technology Co., Ltd 17 * @license Valid for 1 website (or project) for each purchase of license 18 */ 19var wpcfu = { 20 "apiSettings": { 21 "root": "http:\/\/web.prestahero.com\/chung\/wp494\/wp-json\/contact-form-7\/v1", 22 "namespace": "contact-form-7\/v1" 23 }, "recaptcha": {"messages": {"empty": "Please verify that you are not a robot."}} 24}; 25(function ($) { 26 27 'use strict'; 28 if (typeof wpcfu === 'undefined' || wpcfu === null) { 29 return; 30 } 31 32 wpcfu = $.extend({ 33 cached: 0, 34 inputs: [] 35 }, wpcfu); 36 37 $(function () { 38 wpcfu.supportHtml5 = (function () { 39 var features = {}; 40 var input = document.createElement('input'); 41 42 features.placeholder = 'placeholder' in input; 43 44 var inputTypes = ['email', 'url', 'tel', 'number', 'range', 'date']; 45 46 $.each(inputTypes, function (index, value) { 47 input.setAttribute('type', value); 48 features[value] = input.type !== 'text'; 49 }); 50 return features; 51 })(); 52 53 $('div.wpcfu > form').each(function () { 54 var $form = $(this); 55 wpcfu.initForm($form); 56 57 if (wpcfu.cached) { 58 wpcfu.refill($form); 59 } 60 }); 61 }); 62 63 wpcfu.getId = function (form) { 64 return parseInt($('input[name="_wpcfu"]', form).val(), 10); 65 }; 66 67 wpcfu.initForm = function (form) { 68 var $form = $(form); 69 $form.submit(function (event) { 70 if (typeof window.FormData !== 'function') { 71 return; 72 } 73 wpcfu.submit($form); 74 event.preventDefault(); 75 }); 76 if ($form.find('.ajax-loader').length <= 0) 77 $form.find('.wpcfu-submit').after('<span class="ajax-loader"></span>'); 78 wpcfu.toggleSubmit($form); 79 80 $form.on('click', '.wpcfu-acceptance', function () { 81 wpcfu.toggleSubmit($form); 82 }); 83 84 // Exclusive Checkbox 85 $('.wpcfu-exclusive-checkbox', $form).on('click', 'input:checkbox', function () { 86 var name = $(this).attr('name'); 87 $form.find('input:checkbox[name="' + name + '"]').not(this).prop('checked', false); 88 }); 89 90 // Free Text Option for Checkboxes and Radio Buttons 91 $('.wpcfu-list-item.has-free-text', $form).each(function () { 92 var $freetext = $(':input.wpcfu-free-text', this); 93 var $wrap = $(this).closest('.wpcfu-form-control'); 94 if ($(':checkbox, :radio', this).is(':checked')) { 95 $freetext.prop('disabled', false); 96 } else { 97 $freetext.prop('disabled', true); 98 } 99 $wrap.on('change', ':checkbox, :radio', function () { 100 var $cb = $('.has-free-text', $wrap).find(':checkbox, :radio'); 101 if ($cb.is(':checked')) { 102 $freetext.prop('disabled', false).focus(); 103 } else { 104 $freetext.prop('disabled', true); 105 } 106 }); 107 }); 108 109 // Placeholder Fallback 110 if (!wpcfu.supportHtml5.placeholder) { 111 $('[placeholder]', $form).each(function () { 112 $(this).val($(this).attr('placeholder')); 113 $(this).addClass('placeheld'); 114 115 $(this).focus(function () { 116 if ($(this).hasClass('placeheld')) { 117 $(this).val('').removeClass('placeheld'); 118 } 119 }); 120 121 $(this).blur(function () { 122 if ('' === $(this).val()) { 123 $(this).val($(this).attr('placeholder')); 124 $(this).addClass('placeheld'); 125 } 126 }); 127 }); 128 } 129 130 if (wpcfu.jqueryUi && !wpcfu.supportHtml5.date) { 131 $form.find('input.wpcfu-date[type="date"]').each(function () { 132 $(this).datepicker({ 133 dateFormat: 'yy-mm-dd', 134 minDate: new Date($(this).attr('min')), 135 maxDate: new Date($(this).attr('max')), 136 changeMonth: true, 137 changeYear: true, 138 }); 139 }); 140 } 141 142 if (wpcfu.jqueryUi && !wpcfu.supportHtml5.number) { 143 $form.find('input.wpcfu-number[type="number"]').each(function () { 144 $(this).spinner({ 145 min: $(this).attr('min'), 146 max: $(this).attr('max'), 147 step: $(this).attr('step') 148 }); 149 }); 150 } 151 152 // Character Count 153 $('.wpcfu-character-count', $form).each(function () { 154 var $count = $(this); 155 var name = $count.attr('data-target-name'); 156 var down = $count.hasClass('down'); 157 var starting = parseInt($count.attr('data-starting-value'), 10); 158 var maximum = parseInt($count.attr('data-maximum-value'), 10); 159 var minimum = parseInt($count.attr('data-minimum-value'), 10); 160 161 var updateCount = function (target) { 162 var $target = $(target); 163 var length = $target.val().length; 164 var count = down ? starting - length : length; 165 $count.attr('data-current-value', count); 166 $count.text(count); 167 168 if (maximum && maximum < length) { 169 $count.addClass('too-long'); 170 } else { 171 $count.removeClass('too-long'); 172 } 173 174 if (minimum && length < minimum) { 175 $count.addClass('too-short'); 176 } else { 177 $count.removeClass('too-short'); 178 } 179 }; 180 181 $(':input[name="' + name + '"]', $form).each(function () { 182 updateCount(this); 183 184 $(this).keyup(function () { 185 updateCount(this); 186 }); 187 }); 188 }); 189 190 // URL Input Correction 191 $form.on('change', '.wpcfu-validates-as-url', function () { 192 var val = $.trim($(this).val()); 193 194 if (val 195 && !val.match(/^[a-z][a-z0-9.+-]*:/i) 196 && -1 !== val.indexOf('.')) { 197 val = val.replace(/^\/+/, ''); 198 val = 'http://' + val; 199 } 200 201 $(this).val(val); 202 }); 203 }; 204 205 wpcfu.grecaptchaReset = function () { 206 207 } 208 209 wpcfu.submit = function (form) { 210 if (typeof tinyMCE !== 'undefined' && tinyMCE.editors.length > 0 && $('.autoload_rte_cfu').length) { 211 tinyMCE.triggerSave(); 212 } 213 if (typeof window.FormData !== 'function') { 214 return; 215 } 216 var $form = $(form); 217 if ($form.hasClass('is-active')) 218 return false; 219 $('.ajax-loader', $form).addClass('is-active'); 220 $form.addClass('is-active'); 221 $('[placeholder].placeheld', $form).each(function (i, n) { 222 $(n).val(''); 223 }); 224 225 wpcfu.clearResponse($form); 226 227 var formData = new FormData($form.get(0)); 228 229 var detail = { 230 id: $form.closest('div.wpcfu').attr('id'), 231 status: 'init', 232 inputs: [], 233 formData: formData 234 }; 235 236 $.each($form.serializeArray(), function (i, field) { 237 if ('_wpcfu' == field.name) { 238 detail.contactFormId = field.value; 239 } else if ('_ets_cfu_version' == field.name) { 240 detail.pluginVersion = field.value; 241 } else if ('_ets_cfu_locale' == field.name) { 242 detail.contactFormLocale = field.value; 243 } else if ('_ets_cfu_unit_tag' == field.name) { 244 detail.unitTag = field.value; 245 } else if ('_ets_cfu_container_post' == field.name) { 246 detail.containerPostId = field.value; 247 } else if (field.name.match(/^_ets_cfu_\w+_free_text_/)) { 248 var owner = field.name.replace(/^_ets_cfu_\w+_free_text_/, ''); 249 detail.inputs.push({ 250 name: owner + '-free-text',
251 value: field.value 252 }); 253 } else if (field.name.match(/^_/)) { 254 // do nothing 255 } else { 256 detail.inputs.push(field); 257 } 258 }); 259 wpcfu.triggerEvent($form.closest('div.wpcfu'), 'beforesubmit', detail); 260 var ajaxSuccess = function (data, status, xhr, $form) { 261 262 detail.id = $(data.into).attr('id'); 263 detail.status = data.status; 264 detail.apiResponse = data; 265 var $message = $('.wpcfu-response-output', $form); 266 267 $message.removeClass('alert-warning'); 268 $message.removeClass('alert-success'); 269 if (data.status && typeof grecaptcha !== "undefined" && $form.find(':input[name=g-recaptcha-response]').length > 0) { 270 if (!ets_cfu_recaptcha_v3) { 271 grecaptcha.reset(); 272 } 273 } 274 switch (data.status) { 275 case 'validation_failed': 276 $.each(data.invalidFields, function (i, n) { 277 $(n.into, $form).each(function () { 278 wpcfu.notValidTip(this, n.message); 279 $('.wpcfu-form-control', this).addClass('wpcfu-not-valid'); 280 $('[aria-invalid]', this).attr('aria-invalid', 'true'); 281 }); 282 }); 283 $message.addClass('alert alert-warning'); 284 $form.addClass('invalid'); 285 wpcfu.triggerEvent(data.into, 'invalid', detail); 286 break; 287 case 'acceptance_missing': 288 $message.addClass('alert alert-warning'); 289 $form.addClass('unaccepted'); 290 wpcfu.triggerEvent(data.into, 'unaccepted', detail); 291 break; 292 case 'spam': 293 $message.addClass('alert alert-warning'); 294 $form.addClass('spam'); 295 $('[name="g-recaptcha-response"]', $form).each(function () { 296 if ('' === $(this).val()) { 297 var $recaptcha = $(this).closest('.wpcfu-form-control-wrap'); 298 wpcfu.notValidTip($recaptcha, wpcfu.recaptcha.messages.empty); 299 } 300 }); 301 wpcfu.triggerEvent(data.into, 'spam', detail); 302 break; 303 case 'aborted': 304 $message.addClass('alert alert-warning'); 305 $form.addClass('aborted'); 306 307 wpcfu.triggerEvent(data.into, 'aborted', detail); 308 break; 309 case 'mail_sent': 310 $message.addClass('alert alert-success'); 311 $form.addClass('sent'); 312 wpcfu.triggerEvent(data.into, 'mailsent', detail); 313 break; 314 case 'mail_failed': 315 $message.addClass('alert alert-warning'); 316 $form.addClass('failed'); 317 wpcfu.triggerEvent(data.into, 'mailfailed', detail); 318 break; 319 case 'mail_redirect': 320 $message.hide().remove(); 321 window.location.href = data.message; 322 break; 323 case 'load_thank_page': 324 $message.hide().remove(); 325 window.location.href = data.message; 326 break; 327 case 'not_found': 328 $message.addClass('alert alert-danger'); 329 $form.addClass('failed'); 330 break; 331 default: 332 var customStatusClass = 'custom-' + data.status.replace(/[^0-9a-z]+/i, '-'); 333 $message.addClass('wpcfu-' + customStatusClass); 334 $form.addClass(customStatusClass); 335 } 336 337 wpcfu.refill($form, data); 338 339 wpcfu.triggerEvent(data.into, 'submit', detail); 340 341 if ('mail_sent' === data.status) { 342 $form.each(function () { 343 this.reset(); 344 }); 345 } 346 347 $form.find('[placeholder].placeheld').each(function (i, n) { 348 $(n).val($(n).attr('placeholder')); 349 }); 350 351 $message.html('').append(data.message).slideDown('fast'); 352 $message.attr('role', 'alert'); 353 354 $('.screen-reader-response', $form.closest('.wpcfu')).each(function () { 355 var $response = $(this); 356 $response.html('').attr('role', '').append(data.message); 357 358 if (data.invalidFields) { 359 var $invalids = $('<ul></ul>'); 360 361 $.each(data.invalidFields, function (i, n) { 362 if (n.idref) { 363 var $li = $('<li></li>').append($('<a></a>').attr('href', '#' + n.idref).append(n.message)); 364 } else { 365 var $li = $('<li></li>').append(n.message); 366 } 367 368 $invalids.append($li); 369 }); 370 371 $response.append($invalids); 372 } 373 374 $response.attr('role', 'alert').focus(); 375 }); 376 }; 377 $.ajax({
378 type: 'POST', 379 url: $form.attr('action'), 380 data: formData, 381 dataType: 'json', 382 processData: false, 383 contentType: false 384 }).done(function (data, status, xhr) { 385 ajaxSuccess(data, status, xhr, $form); 386 $('.ajax-loader', $form).removeClass('is-active'); 387 $form.removeClass('is-active'); 388 if ($form.find('.pa-captcha-refesh').length) 389 refeshImage($form.find('.pa-captcha-refesh')); 390 }).fail(function (xhr, status, error) { 391 $form.find('.wpcfu-response-output').removeClass('alert-warning'); 392 $form.find('.wpcfu-response-output').removeClass('alert-success'); 393 $form.find('.wpcfu-response-output').html('There was a technical error when submitting the form. Please contact webmaster for more information'); 394 $form.find('.wpcfu-response-output').addClass('alert alert-warning'); 395 $form.find('.wpcfu-response-output').addClass('invalid').show(); 396 $form.find('.ajax-loader').removeClass('is-active'); 397 $form.removeClass('is-active'); 398 if ($form.find('.pa-captcha-refesh')) 399 refeshImage($form.find('.pa-captcha-refesh')); 400 }); 401 }; 402 wpcfu.triggerEvent = function (target, name, detail) { 403 var $target = $(target); 404 405 /* DOM event */ 406 var event = new CustomEvent('wpcfu' + name, { 407 bubbles: true, 408 detail: detail 409 }); 410 /* jQuery event */ 411 $target.trigger('wpcfu:' + name, detail); 412 $target.trigger(name + '.wpcfu', detail); // deprecated 413 }; 414 415 wpcfu.toggleSubmit = function (form, state) { 416 var $form = $(form); 417 var $submit = $('input:submit', $form); 418 419 if (typeof state !== 'undefined') { 420 $submit.prop('disabled', !state); 421 return; 422 } 423 424 if ($form.hasClass('wpcfu-acceptance-as-validation')) { 425 return; 426 } 427 $submit.prop('disabled', false); 428 429 $('.wpcfu-acceptance', $form).each(function () { 430 var $span = $(this); 431 var $input = $('input:checkbox', $span); 432 433 if (!$span.hasClass('optional')) { 434 if ($span.hasClass('invert') && $input.is(':checked') 435 || !$span.hasClass('invert') && !$input.is(':checked')) { 436 $submit.prop('disabled', true); 437 return false; 438 } 439 } 440 }); 441 }; 442 443 wpcfu.notValidTip = function (target, message) { 444 var $target = $(target); 445 $('.wpcfu-not-valid-tip', $target).remove(); 446 $('<span role="alert" class="wpcfu-not-valid-tip"></span>') 447 .text(message).appendTo($target); 448 449 if ($target.is('.use-floating-validation-tip *')) { 450 var fadeOut = function (target) { 451 $(target).not(':hidden').animate({ 452 opacity: 0 453 }, 'fast', function () { 454 $(this).css({'z-index': -100}); 455 }); 456 }; 457 458 $target.on('mouseover', '.wpcfu-not-valid-tip', function () { 459 fadeOut(this); 460 }); 461 462 $target.on('focus', ':input', function () { 463 fadeOut($('.wpcfu-not-valid-tip', $target)); 464 }); 465 } 466 }; 467 468 wpcfu.refill = function (form, data) { 469 var $form = $(form); 470 471 var refillCaptcha = function ($form, items) { 472 $.each(items, function (i, n) { 473 $form.find(':input[name="' + i + '"]').val(''); 474 $form.find('img.wpcfu-captcha-' + i).attr('src', n); 475 var match = /([0-9]+)\.(png|gif|jpeg)$/.exec(n); 476 $form.find('input:hidden[name="_ets_cfu_captcha_challenge_' + i + '"]').attr('value', match[1]); 477 }); 478 }; 479 480 var refillQuiz = function ($form, items) { 481 $.each(items, function (i, n) { 482 $form.find(':input[name="' + i + '"]').val(''); 483 $form.find(':input[name="' + i + '"]').siblings('span.wpcfu-quiz-label').text(n[0]);
484 $form.find('input:hidden[name="_ets_cfu_quiz_answer_' + i + '"]').attr('value', n[1]); 485 }); 486 }; 487 488 if (typeof data === 'undefined') { 489 $.ajax({ 490 type: 'GET', 491 url: wpcfu.apiSettings.getRoute( 492 '/contact-forms/' + wpcfu.getId($form) + '/refill'), 493 beforeSend: function (xhr) { 494 var nonce = $form.find(':input[name="_wpnonce"]').val(); 495 496 if (nonce) { 497 xhr.setRequestHeader('X-WP-Nonce', nonce); 498 } 499 }, 500 dataType: 'json' 501 }).done(function (data, status, xhr) { 502 if (data.captcha) { 503 refillCaptcha($form, data.captcha); 504 } 505 506 if (data.quiz) { 507 refillQuiz($form, data.quiz); 508 } 509 }); 510 511 } else { 512 if (data.captcha) { 513 refillCaptcha($form, data.captcha); 514 } 515 516 if (data.quiz) { 517 refillQuiz($form, data.quiz); 518 } 519 } 520 }; 521 522 wpcfu.clearResponse = function (form) { 523 var $form = $(form); 524 $form.removeClass('invalid spam sent failed'); 525 $form.siblings('.screen-reader-response').html('').attr('role', ''); 526 527 $('.wpcfu-not-valid-tip', $form).remove(); 528 $('[aria-invalid]', $form).attr('aria-invalid', 'false'); 529 $('.wpcfu-form-control', $form).removeClass('wpcfu-not-valid'); 530 531 $('.wpcfu-response-output', $form) 532 .hide().empty().removeAttr('role') 533 .removeClass('wpcfu-mail-sent-ok wpcfu-mail-sent-ng wpcfu-validation-errors wpcfu-spam-blocked'); 534 }; 535 536 wpcfu.apiSettings.getRoute = function (path) { 537 var url = wpcfu.apiSettings.root; 538 539 url = url.replace( 540 wpcfu.apiSettings.namespace, 541 wpcfu.apiSettings.namespace + path); 542 543 return url; 544 }; 545 546})(jQuery); 547 548 549 function parseQueryString(queryString) { 550 var params = {}; 551 var queries = queryString.split("&"); 552 $.each(queries, function(i, query) { 553 var pair = query.split("="); 554 params[pair[0]] = decodeURIComponent(pair[1]); 555 }); 556 return params; 557 } 558 559$(document ).ajaxComplete(function( event, xhr, settings ) { 560 var data_post = settings.data; 561 562 if($('.ps-shown-by-js .btn').length){ 563 $('.ps-shown-by-js .btn').show(); 564 if(typeof data_post!= 'object' && data_post ) 565 { 566 567 if(data_post.indexOf('module_name')>=0 && data_post.indexOf('module_name')>=0 ){ 568 569 let dataObj = parseQueryString(data_post); 570 let paymentOption = dataObj.module_name; 571 console.log("sadasda", paymentOption); 572 if(paymentOption == "ps_checkout-paypal"){ 573 console.log("sadasda2", paymentOption); 574 $('.ps-shown-by-js .btn').hide(); 575 //Paypal 576 } else if(paymentOption == "ps_checkout-card"){ 577 //Carta di Credito 578 } else if(paymentOption == "ps_checkout-mybank"){ 579 //Maybank 580 } else if(paymentOption == "ps_wirepayment"){ 581 //Bonifico 582 } else if(paymentOption == "amazonpay"){ 583 //AmazonPay 584 } else if(paymentOption == "ps_cashondelivery"){ 585 //Grenke 586 } else if(paymentOption == "satispay"){ 587 //Satispay 588 } else if(paymentOption == "alma"){ 589 //Alma 590 } else if(paymentOption == "heidipay"){ 591 //Pagolight 592 } 593 } 594 } 595 } 596 597 if (xhr.responseText && xhr.responseText.indexOf('quickview_html')) { 598 599 $('div.wpcfu > form').each(function () { 600 var $form = $(this); 601 wpcfu.initForm($form); 602 603 if (wpcfu.cached) { 604 wpcfu.refill($form); 605 } 606 }); 607 } 608 // if(typeof data_post!= 'object' && data_post ) 609 // { 610 // if(data_post.indexOf('addDiscount')>=0 && data_post.indexOf('discount_name')>=0 ) 611 // $('.loading').removeClass('loading'); 612 // } 613 // if(xhr.responseText && xhr.responseText.indexOf("cart_detailed")>=0) 614 // { 615 // var json= $.parseJSON(xhr.responseText); 616 //
617 // if($('.block-shopping-cart').attr('data-change-cart')) 618 // { 619 // $('.block-shopping-cart').attr('data-change-cart',''); 620 // ets_refresh_shipping_cart(true); 621 // } 622 // $(document).trigger('updatePayMentMethod'); 623 // $(document).trigger('DOMContentLoaded'); 624 // } 625}); 626 627 628/* 629 * Polyfill for Internet Explorer 630 * See https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent 631 */ 632(function () { 633 if (typeof window.CustomEvent === "function") return false; 634 635 function CustomEvent(event, params) { 636 params = params || {bubbles: false, cancelable: false, detail: undefined}; 637 var evt = document.createEvent('CustomEvent'); 638 evt.initCustomEvent(event, 639 params.bubbles, params.cancelable, params.detail); 640 return evt; 641 } 642 643 CustomEvent.prototype = window.Event.prototype; 644 645 window.CustomEvent = CustomEvent; 646})(); 647 648$(document).ready(function () { 649 $('.wpcfu input[type="url"]').each(function () { 650 if ($(this).val()) { 651 $(this).val($(this).val().replace('default:current_url', window.location.href)); 652 } 653 }); 654 $(document).on('click', '.wpcfu .ets_cfu_show_hide', function () { 655 if ($(this).find('i.svg-eye-slash').length > 0) { 656 $(this).find('i').removeClass('svg-eye-slash').addClass('svg-eye'); 657 $(this).prev('input').attr('type', 'text'); 658 } else { 659 $(this).find('i').removeClass('svg-eye').addClass('svg-eye-slash'); 660 $(this).prev('input').attr('type', 'password'); 661 } 662 }); 663 $(document).on('click', '.ctf_click_open_contactform7', function () { 664 var id = $(this).attr('data-id'); 665 $('#ctf-popup-wapper-' + id).addClass('show'); 666 if (!$(this).hasClass('addlogded')) { 667 ajaxAddLoger($('#ctf-popup-wapper-' + id).find('.wpcfu').attr('data-id')); 668 $(this).addClass('addlogded'); 669 } 670 }); 671 $(document).on('click', '.wpcfu.hook', function () { 672 var id = $(this).attr('data-id'); 673 $('#ctf-popup-wapper-' + id).addClass('show'); 674 if (!$(this).hasClass('addlogded')) { 675 ajaxAddLoger(id); 676 $(this).addClass('addlogded'); 677 } 678 }); 679 $(document).on('click', '.ctf_close_popup', function () { 680 $(this).closest('.ctf-popup-wapper').removeClass('show'); 681 }); 682 $(document).mouseup(function (e) { 683 var container = $('.ctf-popup-content'); 684 var datepicker = $('.ui-datepicker'); 685 if (!container.is(e.target) && container.has(e.target).length === 0 && !datepicker.is(e.target) && datepicker.has(e.target).length === 0) { 686 $('.ctf-popup-wapper').removeClass('show'); 687 } 688 }); 689 $(document).keyup(function (e) { 690 if (e.keyCode == 27) { // escape key maps to keycode `27` 691 $('.ctf-popup-wapper').removeClass('show'); 692 } 693 }); 694 if ($(".wpcfu .datetimepicker").length > 0) { 695 $(".wpcfu .datetimepicker").datetimepicker({ 696 timepicker: true, 697 format: 'Y-m-d h:i', 698 dateFormat: 'yy-mm-dd', 699 timeFormat: 'hh:mm', 700 changeMonth: true, 701 changeYear: true, 702 }); 703 } 704 if ($(".wpcfu .datepicker").length > 0) { 705 $(".wpcfu .datepicker").datepicker({ 706 timepicker: false, 707 format: 'Y-m-d', 708 dateFormat: 'yy-mm-dd', 709 changeMonth: true, 710 changeYear: true, 711 }); 712 } 713 $('.pa-captcha-refesh').click(function () { 714 refeshImage($(this)); 715 return false; 716 }); 717 if ($('input[type="range"]').length) { 718 $('input[type="range"]').each(function () { 719 if ($(this).prev('.rang-value').length > 0) 720 $(this).prev('.rang-value').html($(this).val()); 721 }); 722 } 723 $('input[type="range"]').change(function () { 724 if ($(this).prev('.rang-value').length > 0) 725 $(this).prev('.rang-value').html($(this).val()); 726 });
727 728 729 //Init MCE 730 if (typeof tinyMCE !== 'undefined' && $('.autoload_rte_cfu').length > 0) { 731 tinyMCE.init({ 732 selector: '.autoload_rte_cfu', 733 plugins: "align link image media code emoticons", 734 browser_spellcheck: true, 735 toolbar1: "emoticons,bold,italic,underline,link,align,bulli,numlist,table,image", 736 convert_urls: false, 737 }); 738 } 739}); 740 741function getDataContent(object) { 742 var idEl = object[0].id, 743 body = tinyMCE.get(idEl).getBody(), 744 text = body.innerText || body.textContent; 745 var re = /\n$/g; 746 var OK = re.exec(text); 747 if (OK) { 748 text = text.replace(/\n$/g, ''); 749 } 750 return { 751 idEl: idEl, 752 chars: text.replace(/[\t\n]+/g, ' ').length, 753 words: text.split(/[\w\u2019\'-]+/).length 754 }; 755}; 756 757function excuteType(objectData) { 758 var elMax = $('#' + objectData['idEl']).next('.number_max'), 759 elIndex = elMax.find('.index_type').first(); 760 761 if (parseInt(objectData['chars']) >= parseInt($('#' + objectData['idEl']).attr('maxlength'))) { 762 elIndex.html(parseInt($('#' + objectData['idEl']).attr('maxlength'))); 763 return false; 764 } 765 elIndex.html(parseInt(objectData['chars'])); 766 return true; 767} 768 769 770function refeshImage($this) { 771 if ($this.prev('.pa-captcha-img-data').length) { 772 originalCapcha = $this.prev('.pa-captcha-img-data').attr('src'); 773 originalCode = $this.attr('data-rand'); 774 newCode = Math.random(); 775 $this.prev('.pa-captcha-img-data').attr('src', originalCapcha.replace(originalCode, newCode)); 776 $this.attr('data-rand', newCode); 777 $('input[type="captcha"]').val(''); 778 } 779} 780 781function ajaxAddLoger(id_contact) { 782 $.ajax({
783 type: 'POST', 784 headers: {"cache-control": "no-cache"}, 785 url: link_contact_ets, 786 dataType: "json", 787 data: 'action=etsCfuAddLogger&id_contact=' + id_contact, 788 success: function (jsonData) { 789 790 } 791 }); 792} 793 794function ets_cfu_loading_captcha() { 795 var img = $('.pa-captcha-img-data:not(.loaded)').first(); 796 if (img.length > 0) { 797 img.load(function () { 798 if (!img.hasClass('loaded')) { 799 ets_cfu_refresh_captcha(img); 800 } 801 if (img[0].complete && img.hasClass('loaded')) { 802 ets_cfu_loading_captcha(); 803 } 804 }).filter(function () { 805 return this.complete; 806 }).load(); 807 } 808} 809 810function ets_cfu_refresh_captcha(img) { 811 if (img.length && !img.hasClass('loaded')) { 812 var org_link = img.attr('src'), 813 org_code = img.attr('data-rand'), 814 rand = Math.random(); 815 img.attr({'src': org_link.replace(org_code, rand), 'data-rand': rand}); 816 if (!img.hasClass('loaded')) { 817 img.addClass('loaded'); 818 } 819 img.next(".pa-captcha-refesh").attr('data-rand', rand); 820 } 821} 822 823document.addEventListener("DOMContentLoaded", function (event) { 824 if ($('.pa-captcha-img-data').length > 1) { 825 ets_cfu_loading_captcha(); 826 } 827}); 828 829var ets_cfu_update = { 830 init: function () { 831 this.check_maxlength_number(); 832 this.caculate_maxleng(); 833 this.hidden_reference(); 834 }, 835 check_maxlength_number: function () { 836 var input_number = $('.ets_cfu_form-control-wrap input[type="number"]'); 837 if (input_number.length > 0) { 838 input_number.on("keyup", function (e) { 839 var $field = $(this), 840 val = this.value; // retrieve the index 841 if (val.length > Number($field.attr("maxlength"))) { 842 val = val.slice(0, $field.attr('maxlength')); 843 $field.val(val); 844 } 845 }); 846 } 847 }, 848 caculate_maxleng: function () { 849 $(document).on('keyup', 'input[maxlength], textarea[maxlength]', function () { 850 var leng = $(this).val().length; 851 if (leng > $(this).attr('maxlength')) { 852 return; 853 } 854 var el_numbermax = $(this).next('.number_max'); 855 el_numbermax.find('.index_type').first().html(leng); 856 }); 857 }, 858 hidden_reference: function () { 859 if ($('.ets_cfu_input_reference').length > 0 && typeof hidden_reference !== "undefined" && hidden_reference) { 860 $('.ets_cfu_input_reference').hide(); 861 } 862 if ($('.ets_cfu_input_referrence').length > 0 && typeof hidden_reference !== "undefined" && hidden_reference) { 863 $('.ets_cfu_input_referrence').hide(); 864 } 865 }, 866}; 867 868$(document).ready(function () { 869 ets_cfu_update.init(); 870}); 871 872$(document).on('click', '.ets_cfu_form-control-wrap .number_plus,.ets_cfu_form-control-wrap .number_minus', function () { 873 var $qty = $(this).closest('.ets_cfu_form-control-wrap').find('.ets_cfu-number').first(), 874 currentVal = parseFloat($qty.val()), 875 max = parseFloat($qty.attr('max')), 876 min = parseFloat($qty.attr('min')), 877 step = $qty.attr('step'); 878 879 // Format values 880 if (!currentVal || currentVal === '' || currentVal === 'NaN') currentVal = 0; 881 if (max === '' || max === 'NaN') max = ''; 882 if (min === '' || min === 'NaN') min = 0; 883 if (step === 'any' || step === '' || step === undefined || parseFloat(step) === 'NaN') step = 1; 884 885 // Change the value 886 if ($(this).is('.ets_cfu_form-control-wrap .number_plus')) { 887 if (max && (currentVal >= max)) { 888 $qty.val(max); 889 } else { 890 $qty.val((currentVal + parseFloat(step))); 891 } 892 } else { 893 if (min && (currentVal <= min)) { 894 $qty.val(min); 895 } else if (currentVal > 0) { 896 $qty.val((currentVal - parseFloat(step))); 897 } 898 } 899 900 // Trigger change event 901 $qty.trigger('change'); 902}); 903 904$(".access_numer input").keypress(function (event) { 905 var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; 906 if ((keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122)) 907 return false; 908 else return true; 909}); 910 911 912//newCode: 913const ETS_CFU_DO_SHOW = 1; 914const ETS_CFU_DO_HIDE = 2; 915const ETS_CFU_DO_SHOW_MULTIPLE = 3; 916const ETS_CFU_DO_HIDE_MULTIPLE = 4; 917 918const ETS_CFU_OPERATOR_CONTAINER = 1; 919const ETS_CFU_OPERATOR_DO_NOT_CONTAINER = 2; 920const ETS_CFU_OPERATOR_EMPTY = 3; 921const ETS_CFU_OPERATOR_FILLED = 4; 922const ETS_CFU_OPERATOR_EQUAL = 5; 923const ETS_CFU_OPERATOR_NOT_EQUAL = 6; 924const ETS_CFU_OPERATOR_LESS_THAN = 7; 925const ETS_CFU_OPERATOR_GREATER_THAN = 8; 926const ETS_CFU_OPERATOR_BEFORE = 9; 927const ETS_CFU_OPERATOR_AFTER = 10; 928 929const ETS_CFU_INPUT_TYPES = ['menu', 'radio', 'checkbox']; 930 931function ets_cfu_init_condition_form(form, load) { 932 if (!form) { 933 form = $('form.ets-cfu-form:not(.ets-cfu-condition-loaded)'); 934 } 935 if (!form.length > 0) 936 return; 937 form.each(function () { 938 let _this = $(this) 939 , id = _this.attr('data-id') 940 ; 941 try { 942 if (typeof eval(`ETS_CFU_CONDITION_FF_${id}`) === typeof undefined) return; 943 } catch (error) { 944 return error; 945 } 946 let fields_form = eval(`ETS_CFU_CONDITION_FF_${id}`) 947 , ifs = eval(`ETS_CFU_CONDITION_IF_${id}`) 948 , operators = eval(`ETS_CFU_CONDITION_OP_${id}`) 949 , values = eval(`ETS_CFU_CONDITION_VL_${id}`) 950 , dos = eval(`ETS_CFU_CONDITION_DO_${id}`) 951 , fields = eval(`ETS_CFU_CONDITION_FI_${id}`) 952 ; 953 if (typeof ifs !== typeof undefined) { 954 let keys = Object.keys(ifs); 955 keys.forEach((key) => { 956 let field = ets_cfu_get_field_form(fields_form, ifs[key]) 957 , selector = `form[data-id=${id}] [name^=${ifs[key]}]` 958 , selectorForm = `form[data-id=${id}]` 959 ; 960 if (load) { 961 let _this = $(selector); 962 ets_cfu_condition(selectorForm, _this, key, ifs, operators, values, dos, fields, field); 963 } 964 $(document).on('change keyup', selector, function (e) { 965 e.preventDefault(); 966 let _this = $(this); 967 ets_cfu_condition(selectorForm, _this, key, ifs, operators, values, dos, fields, field); 968 }); 969 }); 970 } 971 });
972} 973 974function ets_cfu_condition(selectorForm, _this, key, ifs, operators, values, dos, fields, field) { 975 let logic = false; 976 switch (operators[key]) { 977 case `${ETS_CFU_OPERATOR_CONTAINER}`: 978 if (_this.val().indexOf(values[key]) !== -1) { 979 logic = true; 980 } 981 break; 982 case `${ETS_CFU_OPERATOR_DO_NOT_CONTAINER}`: 983 if (_this.val().indexOf(values[key]) === -1) { 984 logic = true; 985 } 986 break; 987 case `${ETS_CFU_OPERATOR_EMPTY}`: 988 if (_this.val().trim() === '') { 989 logic = true; 990 } 991 break; 992 case `${ETS_CFU_OPERATOR_FILLED}`: 993 if (_this.val().trim() !== '') { 994 logic = true; 995 } 996 break; 997 case `${ETS_CFU_OPERATOR_EQUAL}`: 998 let eq = ets_cfu_convert_value(_this, values[key], field.type); 999 if (eq[0] === eq[1]) { 1000 logic = true; 1001 } 1002 break; 1003 case `${ETS_CFU_OPERATOR_NOT_EQUAL}`: 1004 let not_eq = ets_cfu_convert_value(_this, values[key], field.type); 1005 if (not_eq[0] !== not_eq[1]) { 1006 logic = true; 1007 } 1008 break; 1009 case `${ETS_CFU_OPERATOR_BEFORE}`: 1010 case `${ETS_CFU_OPERATOR_LESS_THAN}`: 1011 let le = ets_cfu_convert_value(_this, values[key], field.type); 1012 if (le[0] < le[1]) { 1013 logic = true; 1014 } 1015 break; 1016 case `${ETS_CFU_OPERATOR_AFTER}`: 1017 case `${ETS_CFU_OPERATOR_GREATER_THAN}`: 1018 let gt = ets_cfu_convert_value(_this, values[key], field.type); 1019 if (gt[0] > gt[1]) { 1020 logic = true; 1021 } 1022 break; 1023 } 1024 ets_cfu_do_field(selectorForm, dos[key], fields[key], logic); 1025} 1026 1027function ets_cfu_convert_value(_this, value2, type) { 1028 let convert1 = null, convert2 = null; 1029 switch (type) { 1030 case 'number': 1031 convert1 = new Number(_this.val()); 1032 convert2 = new Number(value2); 1033 break; 1034 case 'date': 1035 convert1 = new Date(_this.val()).getTime(); 1036 convert2 = new Date(value2).getTime(); 1037 break; 1038 case 'checkbox': 1039 convert1 = 0; 1040 convert2 = 1; 1041 let values = $(`input[name="${_this.attr('name')}"]:checked`), list = []; 1042 if (values.length > 0) { 1043 values.each(function () { 1044 list.push($(this).val()); 1045 }); 1046 } 1047 if (value2.length > 0 && list.length > 0 && value2.length === list.length) { 1048 convert1 = 1; 1049 convert2 = 1; 1050 list.forEach((item) => { 1051 if (value2.indexOf(item) === -1) { 1052 convert1 = 0; 1053 convert2 = 1; 1054 return [convert1, convert2]; 1055 } 1056 }); 1057 } 1058 break; 1059 case 'radio': 1060 convert1 = $(`input[name="${_this.attr('name')}"]:checked`).length > 0 ? $(`input[name="${_this.attr('name')}"]:checked`).val().trim() : null; 1061 convert2 = value2[0].trim(); 1062 break; 1063 case 'menu': 1064 convert1 = _this.val(); 1065 convert2 = value2.trim(); 1066 if (_this.attr('multiple') === 'multiple') { 1067 if (convert1 !== null && convert1.length > 0) {
1068 convert1.forEach((item) =>{ 1069 if (item === convert2) { 1070 convert1 = item; 1071 return [convert1, convert2]; 1072 } 1073 }); 1074 } 1075 } 1076 break; 1077 default: 1078 convert1 = _this.val().trim(); 1079 convert2 = value2.trim(); 1080 break; 1081 } 1082 return [convert1, convert2]; 1083} 1084 1085function ets_cfu_do_field(selectorForm, _do, fields, logic) { 1086 if (!_do || !fields) 1087 return; 1088 switch (_do) { 1089 case `${ETS_CFU_DO_HIDE}`: 1090 case `${ETS_CFU_DO_HIDE_MULTIPLE}`: 1091 fields.forEach((field) => { 1092 let wrapper_field = $(`${selectorForm} [name^=${field}]`).closest('.ets_cfu_input'); 1093 if (logic) 1094 wrapper_field.hide(); 1095 else 1096 wrapper_field.show(); 1097 }); 1098 break; 1099 case `${ETS_CFU_DO_SHOW}`: 1100 case `${ETS_CFU_DO_SHOW_MULTIPLE}`: 1101 fields.forEach((field) => { 1102 let wrapper_field = $(`${selectorForm} [name=${field}]`).closest('.ets_cfu_input'); 1103 if (logic) 1104 wrapper_field.show(); 1105 else 1106 wrapper_field.hide(); 1107 }); 1108 break; 1109 } 1110} 1111 1112function ets_cfu_get_field_form(fields_form, name) { 1113 if (!fields_form) 1114 return {}; 1115 let find = {}; 1116 fields_form.forEach((field) => { 1117 if (name === field.name) { 1118 find = field; 1119 } 1120 }); 1121 return find; 1122} 1123 1124$(document).ready(function () { 1125 ets_cfu_init_condition_form(false, true); 1126}); 1127
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.