/* * @author Przelewy24 * @copyright Przelewy24 * @license https://www.gnu.org/licenses/lgpl-3.0.en.html */ function p24onResize() { if ($(window).width() <= 640) { $('.pay-method-list').addClass('mobile'); } else { $('.pay-method-list').removeClass('mobile'); } } function p24DisplayOrderDetail(extrachargeText, extracharge) { if ('undefined' !== typeof extracharge && 0 !== $('.line-total').length) { $('.line-total').before( '' + '' + extrachargeText + '' + '' + extracharge + '' + ''); } } function p24DisplayExtrachargeReturn(extrachargeText, extrachargeReturnFormatted, currency) { if ('undefined' !== typeof currency && 0 !== $('.order-confirmation-table .font-weight-bold').length) { $('.order-confirmation-table .font-weight-bold').before( '' + '' + extrachargeText + '' + '' + extrachargeReturnFormatted + ' '+currency+'' + ''); } } function p24DisplayExtrachargeAdmin(extrachargeText, extrachargeReturnFormatted, currency) { if ('undefined' !== typeof currency && 0 !== $('.panel .panel-total .table #total_order').length) { $('.panel .panel-total .table #total_order').before( '' + '' + extrachargeText + '' + '' + extrachargeReturnFormatted + ' '+currency+'' + ''); } } function p24setMethod(method) { $('form#przelewy24Form input[name=p24_method]').val(parseInt(method) > 0 ? parseInt(method) : ""); } function p24RememberCard(action, data) { jQuery.ajax({ url: action, method: 'POST', data: data // like: {order: order} }); } // global settings var formObject = { 'formAction': '', 'btnTextSubmit': '' }; function formSend() { var actionForm = $('.p24-register-card-wrapper').attr('data-action-payment-check'); $.ajax(actionForm, { method: 'POST', data: { cartId : $('.p24-register-card-wrapper').attr('data-card-cart-id') } }).done(function (data) { if (1 === data) { location.reload(); } }); return true } $(document).ready(function () { $('#przelewy24Form').on('submit', function(){ var haveInvoice = formSend(); if(haveInvoice) { return true; } return false; }); if (0 !== $('#extracharge_text').length) { p24DisplayOrderDetail($('#extracharge_text').val(), $('#extracharge').val()); } if (0 !== $('#extrachargeReturn').length) { p24DisplayExtrachargeReturn($('#extracharge_text').val(), $('#extrachargeReturnFormatted').val(), $('#currencySign').val()); } if (0 !== $('#extracharge').length) { p24DisplayExtrachargeAdmin($('#extracharge_text').val(), $('#extrachargeFormatted').val(), $('#currencySign').val()); } $( "#P24FormArea" ).click(function( event ) { event.stopPropagation(); }); $('.bank-box').click(function () { var isSelected = false; var $btn = $('form#przelewy24Form button[type="submit"]'); if ($(this).hasClass('selected')) { isSelected = true; } $('.bank-box').removeClass('selected').addClass('inactive'); if (isSelected) { if (formObject.formAction.length) { $("form#przelewy24Form").attr('action', formObject.formAction); $btn.text(formObject.btnTextSubmit); $('.p24-small-text').show(); } p24setMethod(0); $('.bank-box').removeClass('inactive'); } else { if ($(this).attr('data-action')) { // if (!formObject.formAction) { formObject.formAction = $("form#przelewy24Form").attr('action'); } $("form#przelewy24Form").attr('action', $(this).attr('data-action')); $('form input[name="p24_card_customer_id"]').val($(this).attr('data-card-id')); var btnText = $btn.attr('data-text-oneclick'); if (!formObject.btnTextSubmit) { formObject.btnTextSubmit = $btn.text(); } $btn.text(btnText); $('.p24-small-text').hide(); } else { p24setMethod($(this).attr('data-id')); if (formObject.formAction.length) { $("form#przelewy24Form").attr('action', formObject.formAction); $btn.text(formObject.btnTextSubmit); $('.p24-small-text').show(); } } $(this).addClass('selected').removeClass('inactive'); } }); // show more / less payments method $('.p24-more-stuff').click(function () { $(this).fadeOut(100, function () { $('.p24-less-stuff').fadeIn(); }); $('.pay-method-list-second').slideDown(); }); $('.p24-less-stuff').click(function () { $(this).fadeOut(100, function () { $('.p24-more-stuff').fadeIn(); }); $('.pay-method-list-second').slideUp(); }); //oneClick $(".p24-payment-return-page input.p24-remember-my-card").change(function () { var action = $(this).attr('data-action'); var remember = 0; if ($(this).is(':checked')) { remember = 1; } var data = {'remember': remember}; p24RememberCard(action, data); if ($('#P24_registerCard').length) { if ($('.p24-remember-my-card').is(':checked')) { $('#P24_registerCard').prop('checked', true); } else{ $('#P24_registerCard').prop('checked', false); } } }); if ($(".p24-payment-return-page input.p24-remember-my-card:checked")) { var action = $("input.p24-remember-my-card:checked").attr('data-action'); var data = {'remember': 1}; if (!!action) { p24RememberCard(action, data); } } p24onResize(); if ($('#P24FormArea').length) { var targetNode = document.getElementById('P24FormArea'); var config = { attributes: true, childList: true }; var callback = function (mutation) { try { document.getElementById('P24_registerCard').style.display = 'none'; document.getElementById('register-text').style.display = 'none'; document.getElementById("P24_registerCard").checked = document.getElementById("p24-remember-my-card").checked; } catch(ex) { } }; var observer = new MutationObserver(callback); observer.observe(targetNode, config); } if (0 !== $('.refundAmount').length) { $('.refundAmount').submit(function () { return confirm($('#refundAmountText').val()); }); } }); $(window).resize(function () { p24onResize(); }); function hidePayJsPopup() { $('#P24FormAreaHolder').fadeOut(); $('#proceedPaymentLink:not(:visible)').closest('a').fadeIn(); } function showRegisterCardButton() { $('.p24-register-card-wrapper .p24-add-credit-card').show(); } function hideRegisterCardButton() { $('.p24-register-card-wrapper .p24-add-credit-card').hide(); } function showPayJsPopup() { formSend(); setP24method(""); $('#P24FormAreaHolder').appendTo('body'); $('#proceedPaymentLink').closest('a').fadeOut(); $('#P24FormAreaHolder').fadeIn(); if ('object' !== typeof P24_Transaction) { requestJsAjaxCard(); } } function hidePayJsPopup() { $('#P24FormAreaHolder').fadeOut(); p24setMethod(0); $('.bank-box').removeClass('selected'); $('.bank-box').removeClass('inactive'); $('#proceedPaymentLink:not(:visible)').closest('a').fadeIn(); } function setP24method(method) { $('form#przelewy24Form input[name=p24_method]').val(parseInt(method) > 0 ? parseInt(method) : ""); } var sessionId = false; var sign = false; var payInShopScriptRequested = false; function requestJsAjaxCard() { p24showLoader(); var actionForm = $('.p24-register-card-wrapper').attr('data-action-register-card-form'); $.ajax(actionForm, { method: 'POST', type: 'POST', data: { action: $('.p24-register-card-wrapper').attr('data-card-action'), cartId: $('.p24-register-card-wrapper').attr('data-card-cart-id') }, error: function () { payInShopFailure(); }, success: function (response) { p24hideLoader(); var data = JSON.parse(response); if (data.error) { $('#p24-register-card-form').fadeIn(200).html('

' + data.error + '

'); } else { sessionId = data.sessionId; sign = data.p24_sign; var dictionary = $('.p24-register-card-wrapper').attr('data-dictionary'); $('#P24FormArea').html(""); var p24FormContainer = $("
") .attr('id', 'P24FormContainer') .attr('data-sign', data.p24_sign) .attr('data-successCallback', $('.p24-register-card-wrapper').attr('data-successCallback')) .attr('data-failureCallback', $('.p24-register-card-wrapper').attr('data-failureCallback')) .attr('data-client-id', data.client_id) .attr('data-dictionary', dictionary) .appendTo('#P24FormArea'); setTimeout(function() { setFormCenter(); $('#P24FormArea').fadeIn("slow", function() { $('#p24-card-loader').fadeOut(); }); }, 200); if (document.createStyleSheet) { document.createStyleSheet(data.p24cssURL); } else { $('head').append(''); } if (!payInShopScriptRequested) { $.getScript(data.p24jsURL, function () { P24_Transaction.init(); $('#P24FormContainer').removeClass('loading'); payInShopScriptRequested = false; window.setTimeout(function () { $('#P24FormContainer button').on('click', function () { if (P24_Card.validate()) { $(this).after(''); $('#card-loader').fadeIn('slow'); } }); }, 1000); }); } payInShopScriptRequested = true; } } }); } function setFormCenter() { var p24FormArea = $('#P24FormArea'); p24FormArea.css('display', 'none'); p24FormArea.css('visibility', 'visible'); } function registerCardInPanelSuccess(orderId) { $('#P24FormArea').fadeOut(function () { $('#p24-card-loader').fadeIn(); }); } function registerCardInPanelFailure(error) { p24hideLoader(); $('#P24FormArea').fadeOut(function () { var message = $('.p24-account-card-form').attr('data-translate-error'); if (undefined !== error && null !== error) { if (error.errorMessagePl) { message = error.errorMessagePl; } else if(error.errorMessage){ message = error.errorMessage; }else{ message = error; } } $('#p24-card-alert').html('
' + message + '
'); P24_Transaction = undefined; $('#p24-card-alert').fadeIn(); }); } function payInShopSuccess(orderId, oneclickOrderId) { action = $('.p24-register-card-wrapper').attr('data-action-remember_order_id'); $.ajax(action, { method: 'POST', type: 'POST', data: { 'sessionId': sessionId, 'orderId': orderId, 'oneclickOrderId': oneclickOrderId, 'sign': sign }, }); setTimeout(function() { href = $('.p24-register-card-wrapper').attr('data-action-payment-success'); window.location.href = href; }, 500); } function payInShopFailure() { p24hideLoader(); setTimeout(function() { href = $('.p24-register-card-wrapper').attr('data-action-payment-failed'); window.location.href = href; }, 500); } function p24showLoader() { $('.p24-loader').fadeIn(400); $('.p24-loader-bg').fadeIn(300); } function p24hideLoader() { $('.p24-loader').fadeOut(300); $('.p24-loader-bg').fadeOut(300); } function formSubmit(description) { var form = document.getElementById('przelewy24Form'); var descriptionInput = $("[name='p24_description']"); if (undefined !== description && null !== description) { descriptionInput.val(description); } form.submit(); } function proceedPayment(cartId) { $.when(formSend()).done(function() { $action = $('#submitButton').attr('data-validation-link'); $.ajax($action, { method: 'POST', data: { action: 'makeOrder', cartId: cartId }, error: function () { formSubmit(); }, success: function (response) { formSubmit(response.description); } }); }); } /* Fix hardcoded images. */ $(function() { var rx = /logo_(\d+)/; var $images = $('img[src*=\'/template/201312/bank/logo_\']'); $images.each(function (idx, elm) { var $elm = $(elm); var $parent = $elm.parent(); var src = $elm.attr('src'); var executedRx = rx.exec(src); if (!executedRx) { return; } var $newBox = $('').addClass('bank-logo').addClass('bank-logo-' + executedRx[1]); $parent.append($newBox); $elm.remove(); }) });