1ACC.silentorderpost = { 2 3 spinner: $("<img>").attr("src", ACC.config.commonResourcePath + "/images/spinner.gif"), 4 5 bindUseDeliveryAddress: function () 6 { 7 $('#useDeliveryAddress').on('change', function () 8 { 9 if ($('#useDeliveryAddress').is(":checked")) 10 { 11 var options = {'countryIsoCode': $('#useDeliveryAddressData').data('countryisocode'), 'useDeliveryAddress': true}; 12 ACC.silentorderpost.enableAddressForm(); 13 ACC.silentorderpost.displayCreditCardAddressForm(options, ACC.silentorderpost.useDeliveryAddressSelected); 14 ACC.silentorderpost.disableAddressForm(); 15 } 16 else 17 { 18 ACC.silentorderpost.clearAddressForm(); 19 ACC.silentorderpost.enableAddressForm(); 20 } 21 }); 22 23 if ($('#useDeliveryAddress').is(":checked")) 24 { 25 var options = {'countryIsoCode': $('#useDeliveryAddressData').data('countryisocode'), 'useDeliveryAddress': true}; 26 ACC.silentorderpost.enableAddressForm(); 27 ACC.silentorderpost.displayCreditCardAddressForm(options, ACC.silentorderpost.useDeliveryAddressSelected); 28 ACC.silentorderpost.disableAddressForm(); 29 } 30 }, 31 32 bindSubmitSilentOrderPostForm: function () 33 { 34 $('.submit_silentOrderPostForm').click(function () 35 { 36 $('.bse-checkout-steps .checkout-loader').show(); 37 $('.submit_silentOrderPostForm').text(''); 38 ACC.common.blockFormAndShowProcessingMessage($(this)); 39 ACC.silentorderpost.enableAddressForm(); 40 41 //force tab to get token if tokenizer isn't blurred before submitting 42 if ($("body, input").is(":focus")) { 43 $('#silentOrderPostForm').submit(); 44 }else{ 45 $(this).trigger("keydown", [9]); 46 //fraction of a second delay before submit to allow token to load 47 setTimeout(function () { 48 $('#silentOrderPostForm').submit(); 49 }, 1000); 50 } 51 52 }); 53 }, 54 55 bindCardConnectEvents: function () { 56 window.addEventListener('message', function (event) { 57 if(event.origin && event.origin.includes("cardconnect")) { 58 var token = JSON.parse(event.data); 59 if (token.validationError === undefined) { 60 $("#CardNumberErrorMessage").hide(); 61 $("#CardNumberErrorMessage").closest(".form-group").removeClass("has-error"); 62 $("#card_accountNumber").val(token.message); 63 } else { 64 $("#CardNumberErrorMessage").show(); 65 $("#CardNumberErrorMessage").closest(".form-group").addClass("has-error"); 66 $("#card_accountNumber").val(""); 67 } 68 } 69 }, false); 70 }, 71 72 bindCycleFocusEvent: function () 73 { 74 $('#lastInTheForm').blur(function () 75 { 76 $('#silentOrderPostForm [tabindex$="10"]').focus(); 77 }) 78 }, 79 80 isEmpty: function (obj) 81 { 82 if (typeof obj == 'undefined' || obj === null || obj === '') return true; 83 return false; 84 }, 85 86 disableAddressForm: function () 87 { 88 $('input[id^="address\\."]').prop('disabled', true); 89 $('select[id^="address\\."]').prop('disabled', true); 90 }, 91 92 enableAddressForm: function () 93 { 94 $('input[id^="address\\."]').prop('disabled', false); 95 $('select[id^="address\\."]').prop('disabled', false); 96 }, 97 98 clearAddressForm: function () 99 { 100 $('input[id^="address\\."]').val(""); 101 $('select[id^="address\\."]').val(""); 102 $('select[id="address\\.country"]').val("US"); 103 }, 104 105 useDeliveryAddressSelected: function () 106 { 107 if ($('#useDeliveryAddress').is(":checked")) 108 { 109 $('#address\\.country').val($('#useDeliveryAddressData').data('countryisocode')); 110 ACC.silentorderpost.disableAddressForm(); 111 } 112 else 113 { 114 ACC.silentorderpost.clearAddressForm(); 115 ACC.silentorderpost.enableAddressForm(); 116 } 117 }, 118 119 120 121 bindCreditCardAddressForm: function () 122 { 123 $('#billingCountrySelector :input').on("change", function () 124 { 125 var countrySelection = $(this).val(); 126 var options = { 127 'countryIsoCode': countrySelection, 128 'useDeliveryAddress': false 129 }; 130 ACC.silentorderpost.displayCreditCardAddressForm(options); 131 }) 132 }, 133 134 displayCreditCardAddressForm: function (options, callback) 135 { 136 $.ajax({ 137 url: ACC.config.encodedContextPath + '/checkout/multi/sop/billingaddressform', 138 async: true, 139 data: options, 140 dataType: "html", 141 beforeSend: function () 142 { 143 $('#billingAddressForm').html(ACC.silentorderpost.spinner); 144 } 145 }).done(function (data) 146 { 147 $("#billingAddressForm").html(data); 148 if (typeof callback == 'function') 149 { 150 callback.call(); 151 } 152 }); 153 } 154} 155 156$(document).ready(function () 157{ 158 ACC.silentorderpost.bindUseDeliveryAddress(); 159 ACC.silentorderpost.bindSubmitSilentOrderPostForm(); 160 ACC.silentorderpost.bindCreditCardAddressForm(); 161 ACC.silentorderpost.bindCardConnectEvents(); 162 163 var sopUseDeliveryAddress = $('#sopUseDeliveryAddress').val(); 164 if (sopUseDeliveryAddress == "true") { 165 $("#useDeliveryAddress").prop("checked", true); 166 } 167});
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.