function loadBillingLength(n){var e=window[n+"_intervals"];if(e){for(var s=jQuery("#"+n+"_unit").val(),i=e[s].min,c=e[s].max,r=jQuery("#"+n+"_length"),a=r.val(),t="",o=i;o<=c;o++){t+=""}r.html(t)}}function cancel_subscription(n){confirm(gaddon_payment_strings.subscriptionCancelWarning)&&(jQuery("#subscription_cancel_spinner").show(),jQuery("#cancelsub").prop("disabled",!0),jQuery.post(ajaxurl,{action:"gaddon_cancel_subscription",entry_id:n,gaddon_cancel_subscription:gaddon_payment_strings.subscriptionCancelNonce},function(n){jQuery("#subscription_cancel_spinner").hide(),!0===n.success?(jQuery("#gform_payment_status").html(gaddon_payment_strings.subscriptionCanceled),jQuery("#cancelsub").hide()):(jQuery("#cancelsub").prop("disabled",!1),!1===n.success&&alert(gaddon_payment_strings.subscriptionError))}))}/*! elementor-pro - v3.13.2 - 22-05-2023 */ "use strict"; (self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["woocommerce-checkout-page"],{ /***/ "../modules/woocommerce/assets/js/frontend/handlers/base.js": /*!******************************************************************!*\ !*** ../modules/woocommerce/assets/js/frontend/handlers/base.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class Base extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { stickyRightColumn: '.e-sticky-right-column' }, classes: { stickyRightColumnActive: 'e-sticky-right-column--active' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $stickyRightColumn: this.$element.find(selectors.stickyRightColumn) }; } bindEvents() { // Add our wrapper class around the select2 whenever it is opened. elementorFrontend.elements.$document.on('select2:open', event => { this.addSelect2Wrapper(event); }); } addSelect2Wrapper(event) { // The select element is recaptured every time because the markup can refresh const selectElement = jQuery(event.target).data('select2'); if (selectElement.$dropdown) { selectElement.$dropdown.addClass('e-woo-select2-wrapper'); } } isStickyRightColumnActive() { const classes = this.getSettings('classes'); return this.elements.$stickyRightColumn.hasClass(classes.stickyRightColumnActive); } activateStickyRightColumn() { const elementSettings = this.getElementSettings(), $wpAdminBar = elementorFrontend.elements.$wpAdminBar, classes = this.getSettings('classes'); let stickyOptionsOffset = elementSettings.sticky_right_column_offset || 0; if ($wpAdminBar.length && 'fixed' === $wpAdminBar.css('position')) { stickyOptionsOffset += $wpAdminBar.height(); } if ('yes' === this.getElementSettings('sticky_right_column')) { this.elements.$stickyRightColumn.addClass(classes.stickyRightColumnActive); this.elements.$stickyRightColumn.css('top', stickyOptionsOffset + 'px'); } } deactivateStickyRightColumn() { if (!this.isStickyRightColumnActive()) { return; } const classes = this.getSettings('classes'); this.elements.$stickyRightColumn.removeClass(classes.stickyRightColumnActive); } /** * Activates the sticky column * * @return {void} */ toggleStickyRightColumn() { if (!this.getElementSettings('sticky_right_column')) { this.deactivateStickyRightColumn(); return; } if (!this.isStickyRightColumnActive()) { this.activateStickyRightColumn(); } } equalizeElementHeight($element) { if ($element.length) { $element.removeAttr('style'); // First remove the custom height we added so that the new height can be re-calculated according to the content let maxHeight = 0; $element.each((index, element) => { maxHeight = Math.max(maxHeight, element.offsetHeight); }); if (0 < maxHeight) { $element.css({ height: maxHeight + 'px' }); } } } /** * WooCommerce prints the Purchase Note separated from the product name by a border and padding. * In Elementor's Order Summary design, the product name and purchase note are displayed un-separated. * To achieve this design, it is necessary to access the Product Name line before the Purchase Note line to adjust * its padding. Since this cannot be achieved in CSS, it is done in this method. * * @param {Object} $element * * @return {void} */ removePaddingBetweenPurchaseNote($element) { if ($element) { $element.each((index, element) => { jQuery(element).prev().children('td').addClass('product-purchase-note-is-below'); }); } } /** * `elementorPageId` and `elementorWidgetId` are added to the url in the `_wp_http_referer` input which is then * received when WooCommerce does its cart and checkout ajax requests e.g `update_order_review` and `update_cart`. * These query strings are extracted from the url and used in our `load_widget_before_wc_ajax` method. */ updateWpReferers() { const selectors = this.getSettings('selectors'), wpHttpRefererInputs = this.$element.find(selectors.wpHttpRefererInputs), url = new URL(document.location); url.searchParams.set('elementorPageId', elementorFrontend.config.post.id); url.searchParams.set('elementorWidgetId', this.getID()); wpHttpRefererInputs.attr('value', url); } } exports["default"] = Base; /***/ }), /***/ "../modules/woocommerce/assets/js/frontend/handlers/checkout-page.js": /*!***************************************************************************!*\ !*** ../modules/woocommerce/assets/js/frontend/handlers/checkout-page.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _base = _interopRequireDefault(__webpack_require__(/*! ./base */ "../modules/woocommerce/assets/js/frontend/handlers/base.js")); class Checkout extends _base.default { getDefaultSettings() { const defaultSettings = super.getDefaultSettings(...arguments); return { selectors: { ...defaultSettings.selectors, container: '.elementor-widget-woocommerce-checkout-page', loginForm: '.e-woocommerce-login-anchor', loginSubmit: '.e-woocommerce-form-login-submit', loginSection: '.e-woocommerce-login-section', showCouponForm: '.e-show-coupon-form', couponSection: '.e-coupon-anchor', showLoginForm: '.e-show-login', applyCoupon: '.e-apply-coupon', checkoutForm: 'form.woocommerce-checkout', couponBox: '.e-coupon-box', address: 'address', wpHttpRefererInputs: '[name="_wp_http_referer"]' }, classes: defaultSettings.classes, ajaxUrl: elementorProFrontend.config.ajaxurl }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { ...super.getDefaultElements(...arguments), $container: this.$element.find(selectors.container), $loginForm: this.$element.find(selectors.loginForm), $showCouponForm: this.$element.find(selectors.showCouponForm), $couponSection: this.$element.find(selectors.couponSection), $showLoginForm: this.$element.find(selectors.showLoginForm), $applyCoupon: this.$element.find(selectors.applyCoupon), $loginSubmit: this.$element.find(selectors.loginSubmit), $couponBox: this.$element.find(selectors.couponBox), $checkoutForm: this.$element.find(selectors.checkoutForm), $loginSection: this.$element.find(selectors.loginSection), $address: this.$element.find(selectors.address) }; } bindEvents() { super.bindEvents(...arguments); this.elements.$showCouponForm.on('click', event => { event.preventDefault(); this.elements.$couponSection.slideToggle(); }); this.elements.$showLoginForm.on('click', event => { event.preventDefault(); this.elements.$loginForm.slideToggle(); }); this.elements.$applyCoupon.on('click', event => { event.preventDefault(); this.applyCoupon(); }); this.elements.$loginSubmit.on('click', event => { event.preventDefault(); this.loginUser(); }); elementorFrontend.elements.$body.on('updated_checkout', () => { this.applyPurchaseButtonHoverAnimation(); this.updateWpReferers(); }); } onInit() { super.onInit(...arguments); this.toggleStickyRightColumn(); this.updateWpReferers(); this.equalizeElementHeight(this.elements.$address); // Equalize
boxes height if (elementorFrontend.isEditMode()) { this.elements.$loginForm.show(); this.elements.$couponSection.show(); this.applyPurchaseButtonHoverAnimation(); } } onElementChange(propertyName) { if ('sticky_right_column' === propertyName) { this.toggleStickyRightColumn(); } } onDestroy() { super.onDestroy(...arguments); this.deactivateStickyRightColumn(); } applyPurchaseButtonHoverAnimation() { const purchaseButtonHoverAnimation = this.getElementSettings('purchase_button_hover_animation'); if (purchaseButtonHoverAnimation) { // This element is recaptured every time because the checkout markup can refresh jQuery('#place_order').addClass('elementor-animation-' + purchaseButtonHoverAnimation); } } applyCoupon() { // Wc_checkout_params is required to continue, ensure the object exists // eslint-disable-next-line camelcase if (!wc_checkout_params) { return; } this.startProcessing(this.elements.$couponBox); const data = { // eslint-disable-next-line camelcase security: wc_checkout_params.apply_coupon_nonce, coupon_code: this.elements.$couponBox.find('input[name="coupon_code"]').val() }; jQuery.ajax({ type: 'POST', // eslint-disable-next-line camelcase url: wc_checkout_params.wc_ajax_url.toString().replace('%%endpoint%%', 'apply_coupon'), context: this, data, success(code) { jQuery('.woocommerce-error, .woocommerce-message').remove(); this.elements.$couponBox.removeClass('processing').unblock(); if (code) { this.elements.$checkoutForm.before(code); this.elements.$couponSection.slideUp(); elementorFrontend.elements.$body.trigger('applied_coupon_in_checkout', [data.coupon_code]); elementorFrontend.elements.$body.trigger('update_checkout', { update_shipping_method: false }); } }, dataType: 'html' }); } loginUser() { this.startProcessing(this.elements.$loginSection); const data = { action: 'elementor_woocommerce_checkout_login_user', username: this.elements.$loginSection.find('input[name="username"]').val(), password: this.elements.$loginSection.find('input[name="password"]').val(), nonce: this.elements.$loginSection.find('input[name="woocommerce-login-nonce"]').val(), remember: this.elements.$loginSection.find('input#rememberme').prop('checked') }; jQuery.ajax({ type: 'POST', url: this.getSettings('ajaxUrl'), context: this, data, success(code) { code = JSON.parse(code); this.elements.$loginSection.removeClass('processing').unblock(); const messages = jQuery('.woocommerce-error, .woocommerce-message'); messages.remove(); if (code.logged_in) { location.reload(); } else { this.elements.$checkoutForm.before(code.message); elementorFrontend.elements.$body.trigger('checkout_error', [code.message]); } } }); } startProcessing($form) { if ($form.is('.processing')) { return; } /** * .block() is from a jQuery blockUI plugin loaded by WooCommerce. This code is based on WooCommerce * core in order for the Checkout widget to behave the same as WooCommerce Checkout pages. */ $form.addClass('processing').block({ message: null, overlayCSS: { background: '#fff', opacity: 0.6 } }); } } exports["default"] = Checkout; /***/ }) }]); //# sourceMappingURL=woocommerce-checkout-page.bf88689aec2ee294a5e8.bundle.js.map
Scroll to Top
April 2024

April 2024

Скачать И Играть В Slotomania Slots Casino Games на Пк Или Mac С Эмулятор

Скачать И Играть В Slotomania Slots Casino Games на Пк Или Mac С Эмулятор” и Новосибирской Области станет Судить Организатора Подпольных Казино Kp Ru Content Как Мы составят Список Надежных Онлайн Клубов Служба Поддержки ⚖️ Российские Законы же Правила Об Азартных Играх Безопасные💰 Интернет Казино С Реальными Выплатами Лучшие Онлайн-казино а России All Right Casino Daddy […]

Скачать И Играть В Slotomania Slots Casino Games на Пк Или Mac С Эмулятор Read More »

За кулисами гемблинга: как работают онлайн-казино и букмекерские компании

Игрок подает заявку, указывает сумму и подтверждает транзакцию. Вывод осуществляется по тем же реквизитам, с которых пополнялся счет. После подачи заявки необходимо подождать завершения ее обработки. Операция по идентификации внедрена службой безопасности для защиты от работы с несовершеннолетними и неблагонадежными лицами. Для верификации могут использоваться удостоверения личности, выписки из банка и счета за коммунальные платежи.

За кулисами гемблинга: как работают онлайн-казино и букмекерские компании Read More »

Ставки На Спорт Онлайн Ggbe

Ставки На Спорт Онлайн Ggbet “букмекерская Контора Betboom официальному Сайт В россии Ставки На Спорт На Реальные кварплату В Лучшей Букмекерской Конторе! Content об Ставках И Букмекерах От Редакции Sportsbookmakers Часто Задаваемые вопрос О Ставках и Ggbet Делаем Ставки в Спорт И Футбол – Спортивные Ставки Онлайн Ставки На Спорт и Украине — очень Футбольных

Ставки На Спорт Онлайн Ggbe Read More »

GGPokerOK скачать клиент PokerOK на ПК, играть в браузере бесплатно или на деньги

Если вы действующий или бывший игрок данного покер-рума, обязательно поделитесь своим мнением. Хотите узнать больше подробностей об игре в руме – читайте отзывы на GGPokerOK. Только реальные отзывы реальных людей помогут вам лучше понять, насколько в действительности хороша площадка, и стоит ли тратить время на игру в ней. Можете ознакомиться с ними, либо оставить собственное

GGPokerOK скачать клиент PokerOK на ПК, играть в браузере бесплатно или на деньги Read More »

Онлайн казино Cat играть на официальном сайте

Также стоит отметить, что большой интерес к индустрии азартных игр привел на рынок парочку-другую ненадежных компаний. Вот почему важно осторожно подходить к процессу поиска подходящего онлайн-казино, прежде чем сломя голову регистрироваться на сайте. Вейджер – сумма, которое необходимо отыграть чтоб получить возможность вывести бонусные средства с игрового счета. Например, X10 – означает что бонусную сумму

Онлайн казино Cat играть на официальном сайте Read More »

Gambling establishment Ports: A Comprehensive Guide to one of the most Popular Game Of Chance

In the world of gambling enterprises, fruit machine are undeniably the stars of the program. These thrilling and vivid games bring in millions of players worldwide, offering endless enjoyment and the possibility to win large. Whether you are a skilled gambler or a newbie, comprehending the ins and outs of casino site ports is crucial.

Gambling establishment Ports: A Comprehensive Guide to one of the most Popular Game Of Chance Read More »

Casino Siteleri En Sağlam ve Güvenli 10 Casino Sitesi İncelemesi

Bettilt ödeme yöntemleri olarak MasterCard, Revolut, Skrill gibi e-cüzdanları kabul etmektedir. Minimum para yatırma limiti 5€ olarak seçilmiştir ayrıca para çekme işlemleri 3 ila 5 gün arasında banka hesabınıza geçmektedir. Ödeme süresinin uzun olması bir eksi gibi gözüksede Bettilt sadece KYC doğrulaması ile para çekimi yapılmasına izin vererek bunu telafi etmektedir. Oyunlarda kaybedenler ve yenı

Casino Siteleri En Sağlam ve Güvenli 10 Casino Sitesi İncelemesi Read More »

1xbet Зеркало И 1хбет Вход На Официальный Сай

1xbet Зеркало И 1хбет Вход На Официальный Сайт Фрибет За Регистрацию Букмекерские Конторы С Фрибетом 2024 Список Как Выиграть В Онлайн Казино? Максимальная И Минимальная Суммы Вывода Как Выбрать Лучшее Онлайн Казино Из Рейтинга Фрибет Без Депозита 2024: Где Получить Как Получить Фрибет В Бк? С Чего Начать: Регистрация И Вход На Сайт 1xbet Как

1xbet Зеркало И 1хбет Вход На Официальный Сай Read More »

Gambling Enterprises that Accept Neteller: A Comprehensive Guide

When it pertains to on-line gambling, there are numerous aspects to consider. One of one of the most essential facets is casinounique the settlement approach you select. Neteller is a popular e-wallet that provides a safe and secure and hassle-free way to move funds. In this post, we will certainly explore casino sites that approve

Gambling Enterprises that Accept Neteller: A Comprehensive Guide Read More »

Scroll to Top
Scroll to Top