diff --git a/Layout/default/Address/Form.php b/Layout/default/Address/Form.php index 44935e98b..756a6ec79 100644 --- a/Layout/default/Address/Form.php +++ b/Layout/default/Address/Form.php @@ -472,201 +472,180 @@ var check = parseInt(iban.substr(2, 2)); var account = iban.substr(4); - var searchRange = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(''); - //var replaceRange = []; - var checkStr = account + cc + "00"; - for(var i = 0; i <= 25; i++) { - checkStr = checkStr.replace(searchRange[i], i + 10); - }; - // make checksum - var checksum = parseInt(checkStr.substr(0,1)); - for(pos = 1; pos < checkStr.length; pos++) { - checksum *= 10; - checksum += parseInt(checkStr.substr(pos, 1)); - checksum %= 97; - } - - if(98 - checksum == check) { - return true; - } else { - return false; - } - } - - function validateIbanBic(iban, bic) { - if(!iban) return false; - iban = iban.toUpperCase().replace(/\s+/, ''); - - $.post("", { - do: "validateIbanBic", - iban: iban, - bic: bic - }, - function(success) { - if(success.status == "OK") { - var data = success.result; - $("#bank-error").hide(); - $("#bank-error").text(""); - - if(data.iban_correct && data.bic_correct && (!data.iban_sus || data.iban_sus === "www")) { - bankdata_valid = true; - $('#addressForm').submit(); - return; - } - - var bank_error = []; - - if(!data.iban_correct) { - $("#bank_account_iban").addClass("invalid"); - bank_error.push("Ungültige IBAN!"); - } - if(data.iban_sus && data.iban_sus !== "www") { - $("#bank_account_iban").addClass("invalid"); - bank_error.push("IBAN verdächtig (" + data.iban_sus + ")!"); - } - if(!data.bic_correct) { - $("#bank_account_bic").addClass("invalid"); - bank_error.push("Ungültige BIC!"); - if(Array.isArray(data.bic)) { - bank_error.push(" Mögliche korrekte BIC: " + data.bic.join(", ")); - } - } - - $("#bank-error").html(bank_error.join("
\n")); - $("#bank-error").show(); - $('html, body').animate( {scrollTop: $('#billing-data').offset().top - 230}, 200); - - - + var searchRange = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(''); + //var replaceRange = []; + var checkStr = account + cc + "00"; + for(var i = 0; i <= 25; i++) { + checkStr = checkStr.replace(searchRange[i], i + 10); + }; + // make checksum + var checksum = parseInt(checkStr.substr(0,1)); + for(pos = 1; pos < checkStr.length; pos++) { + checksum *= 10; + checksum += parseInt(checkStr.substr(pos, 1)); + checksum %= 97; + } + + if(98 - checksum == check) { + return true; } else { - $("#bank-error").text("Beim Validieren der Bankdaten ist ein Fehler aufgetreten."); + return false; } - }, - "json" - ); - - - return false; - } - - $('#addressForm').submit(function(e) { - $("#error").hide(); - $("#bank-error").hide(); - - if($('#billing_type').val() == "sepa") { - console.log("bankdata_valid (1): " + bankdata_valid); - if(bankdata_valid) { - return true; - } - - if(!validateIbanFormat($("#bank_account_iban").val())) { - $("#error").show(); - console.log("nope"); - } - - console.log("bankdata_valid: " + bankdata_valid); - if($("#bank_account_iban").val() != "bank_account_iban?>" || $("#bank_account_bic").val() != "bank_account_bic?>") { - validateIbanBic($("#bank_account_iban").val(), $("#bank_account_bic").val()); - } else { - return true; - } + } - // Format IBAN with Spaces - function formatIBAN(input) { - let iban = input.value.replace(/\s/g, ''); + function validateIbanBic(iban, bic) { + if(!iban) return false; + iban = iban.toUpperCase().replace(/\s+/, ''); - let formattedIBAN = ''; - for (let i = 0; i < iban.length; i++) { - if (i > 0 && i % 4 === 0) { - formattedIBAN += ' '; - } - formattedIBAN += iban[i]; - } + $.post("", { + do: "validateIbanBic", + iban: iban, + bic: bic + }, + function(success) { + if(success.status == "OK") { + var data = success.result; + $("#bank-error").hide(); + $("#bank-error").text(""); - input.value = formattedIBAN; - } + if(data.iban_correct && data.bic_correct && (!data.iban_sus || data.iban_sus === "www")) { + bankdata_valid = true; + $('#addressForm').submit(); + return; + } - $("#bank_account_iban").on("input", function () { - formatIBAN(this); - }); - formatIBAN(document.getElementById('bank_account_iban')); + var bank_error = []; + + if(!data.iban_correct) { + $("#bank_account_iban").addClass("invalid"); + bank_error.push("Ungültige IBAN!"); + } + if(data.iban_sus && data.iban_sus !== "www") { + $("#bank_account_iban").addClass("invalid"); + bank_error.push("IBAN verdächtig (" + data.iban_sus + ")!"); + } + if(!data.bic_correct) { + $("#bank_account_bic").addClass("invalid"); + bank_error.push("Ungültige BIC!"); + if(Array.isArray(data.bic)) { + bank_error.push(" Mögliche korrekte BIC: " + data.bic.join(", ")); + } + } + + $("#bank-error").html(bank_error.join("
\n")); + $("#bank-error").show(); + $('html, body').animate( {scrollTop: $('#billing-data').offset().top - 230}, 200); - $('#addressForm').submit(function (e) { - $("#error").hide(); - $("#bank-error").hide(); - if ($('#billing_type').val() == "sepa") { - console.log("bankdata_valid (1): " + bankdata_valid); - if (bankdata_valid) { - return true; - } - - if (!validateIbanFormat($("#bank_account_iban").val().replace(/\s/g, ''))) { - $("#error").show(); - console.log("nope"); - } - - console.log("bankdata_valid: " + bankdata_valid); - if ($("#bank_account_iban").val().replace(/\s/g, '') != "bank_account_iban?>" || $("#bank_account_bic").val() != "bank_account_bic?>") { - validateIbanBic($("#bank_account_iban").val().replace(/\s/g, ''), $("#bank_account_bic").val()); } else { - return true; + $("#bank-error").text("Beim Validieren der Bankdaten ist ein Fehler aufgetreten."); } + }, + "json" + ); - $("#bank_account_iban").val($("#bank_account_iban").val().replace(/\s/g, '')); - e.preventDefault(); - return false; + return false; + } + + function formatIBAN(input) { + let iban = input.value.replace(/\s/g, ''); + + let formattedIBAN = ''; + for (let i = 0; i < iban.length; i++) { + if (i > 0 && i % 4 === 0) { + formattedIBAN += ' '; } - }); + formattedIBAN += iban[i]; + } + + input.value = formattedIBAN; + } + + $("#bank_account_iban").on("input", function () { + formatIBAN(this); + }); + formatIBAN(document.getElementById('bank_account_iban')); - /* - * link autocomplete - */ + $('#addressForm').submit(function(e) { + $("#error").hide(); + $("#bank-error").hide(); + $("#bbank_account_iban").val($("#bank_account_iban").val().replace(/\s/g, '')); - $('.link-autocomplete').autoComplete(); - $('.link-autocomplete').keydown(function () { - if (event.keyCode == 13) { - event.preventDefault(); - return false; + if($('#billing_type').val() == "sepa") { + console.log("bankdata_valid (1): " + bankdata_valid); + if(bankdata_valid) { + return true; } - }); - /* - * Links autocomplete - */ - $('.link-autocomplete').on("autocomplete.select", function(evt, item) { - autocompleteSelect(evt,item); - }); - - function autocompleteSelect(evt, item) { - if(item && item.value === 0) { - $('.link-autocomplete').autoComplete('set', null); - return; + if(!validateIbanFormat($("#bank_account_iban").val())) { + $("#error").show(); + console.log("nope"); + } + + console.log("bankdata_valid: " + bankdata_valid); + if($("#bank_account_iban").val() != "bank_account_iban?>" || $("#bank_account_bic").val() != "bank_account_bic?>") { + validateIbanBic($("#bank_account_iban").val(), $("#bank_account_bic").val()); + } else { + return true; + } + + e.preventDefault(); + return false; + } + }); + + + + + + /* + * link autocomplete + */ + + $('.link-autocomplete').autoComplete(); + $('.link-autocomplete').keydown(function() { + if(event.keyCode == 13) { + event.preventDefault(); + return false; + } + }); + + /* + * Links autocomplete + */ + $('.link-autocomplete').on("autocomplete.select", function(evt, item) { + autocompleteSelect(evt,item); + }); + + function autocompleteSelect(evt, item) { + if(item && item.value === 0) { + $('.link-autocomplete').autoComplete('set', null); + return; + } + + var match = evt.currentTarget.id.match(/links_(\d+)_address_id/); + var link_num = match[1]; + if(!link_num) { + console.log("Couldn't find selected Address"); + } + addLink(Number(link_num) + 1); } - - var match = evt.currentTarget.id.match(/links_(\d+)_address_id/); - var link_num = match[1]; - if(!link_num) { - console.log("Couldn't find selected Address"); - } - addLink(Number(link_num) + 1); - } - - function addLink(linknum) { - if(!linknum) { - console.log("no linknum"); - return false; - } - - if($("#links_" + linknum + "_address_id").length) { - console.log("gibs scho"); - return false; - } - - var new_link = '