1"use strict"; 2 3var $j = jQuery.noConflict(); 4 5$j(document).bind("gform_post_render", function (event, form_id) { 6 var spfMainData = window["spfMainData_" + form_id]; 7 8 if (!spfMainData) { 9 return; 10 } 11 var arr_el = spfMainData.elements; 12 13 $j.each(arr_el, function (index, name) { 14 var obj = name; 15 var options = { 16 utilsScript: spfMainData.utilsScript, 17 }; 18 19 for (var i = 0; i < obj.length; i++) { 20 var inputTel = obj[0], 21 autoIp = obj[1], 22 intCountry = obj[2], 23 preCountry = obj[3], 24 hiddenInput = obj[4], 25 flagOption = obj[6]; 26 27 if ( 28 (intCountry != "none" && autoIp === false) || 29 (intCountry != "none" && autoIp === "") 30 ) { 31 options.initialCountry = intCountry; 32 } 33 34 if (preCountry != "none") { 35 options.preferredCountries = preCountry; 36 } 37 38 if (flagOption != "flagdial") { 39 options.hiddenInput = hiddenInput; 40 options.autoHideDialCode = false; 41 options.nationalMode = false; 42 } else { 43 options.separateDialCode = true; 44 options.autoHideDialCode = true; 45 options.nationalMode = true; 46 } 47 48 if (autoIp === true) { 49 options.initialCountry = "auto"; 50 options.geoIpLookup = function (success, failure) { 51 $j.get("https://ipinfo.io", function () {}, "jsonp").always( 52 function (resp) { 53 var countryCode = 54 resp && resp.country ? resp.country : ""; 55 success(countryCode); 56 } 57 ); 58 }; 59 } 60 } 61 62 $j(inputTel).intlTelInput(options); 63 }); 64 65 /* 66 * Phone number validation 67 */ 68 69 $j.each(arr_el, function (index, name) { 70 var inputId = "#" + index, 71 teleInput = $j(inputId), 72 seInputID = "spf_" + index, 73 setCountryCode = "spf_c_" + index, 74 flagWidth = 75 teleInput.closest("div").find(".iti__flag-container").width() + 76 3, 77 flagOption = name[6]; 78 79 teleInput.keyup(function () { 80 var rawNumber = teleInput.intlTelInput("getNumber"); 81 var country = teleInput.intlTelInput("getSelectedCountryData"); 82 if (flagOption != "flagdial") { 83 sessionStorage.setItem(seInputID, rawNumber); 84 teleInput.closest("div").find("input:hidden").val(rawNumber); 85 } 86 sessionStorage.setItem(setCountryCode, country.iso2); 87 }); 88 89 if (flagOption != "flagdial") { 90 var ova = teleInput.val(); 91 if (!ova.length) { 92 sessionStorage.removeItem(seInputID); 93 } else { 94 sessionStorage.setItem(seInputID, ova); 95 } 96 teleInput.on("change", function () { 97 var nno = $j(this).val(); 98 if (!nno.length) { 99 sessionStorage.removeItem(seInputID); 100 } 101 }); 102 teleInput.css("padding-left", flagWidth + "px"); 103 } 104 105 if ( 106 sessionStorage.getItem(seInputID) != undefined && 107 flagOption != "flagdial" 108 ) { 109 teleInput 110 .closest("div") 111 .find("input:hidden") 112 .val(sessionStorage.getItem(seInputID)); 113 } 114 115 if (sessionStorage.getItem(setCountryCode) != undefined) { 116 teleInput.intlTelInput( 117 "setCountry", 118 sessionStorage.getItem(setCountryCode) 119 ); 120 } 121 122 teleInput.blur(function () { 123 isInputValid($j(this)); 124 }); 125 126 teleInput.keydown(function () { 127 hideInputValidation($j(this)); 128 }); 129 130 function hideInputValidation(phoneID) { 131 phoneID.removeClass("error"); 132 phoneID 133 .parent() 134 .parent() 135 .parent() 136 .find(".valid-msg") 137 .addClass("hide"); 138 phoneID 139 .parent() 140 .parent() 141 .parent() 142 .find(".error-msg") 143 .addClass("hide"); 144 } 145 146 function isInputValid(phoneID) { 147 var errorMsg = phoneID 148 .parent() 149 .parent() 150 .parent() 151 .find(".error-msg"), 152 validMsg = phoneID 153 .parent() 154 .parent() 155 .parent() 156 .find(".valid-msg"); 157 if ($j.trim(phoneID.val())) { 158 if (phoneID.intlTelInput("isValidNumber")) { 159 validMsg.removeClass("hide"); 160 errorMsg.addClass("hide"); 161 } else { 162 phoneID.addClass("error"); 163 errorMsg.removeClass("hide"); 164 validMsg.addClass("hide"); 165 } 166 } 167 } 168 }); 169}); 170 171$j(document).on("gform_confirmation_loaded", function (event, formId) { 172 var spfData = window["spfMainData_" + formId]; 173 if (!spfData) { 174 return; 175 } 176 var arr_el = spfData.elements; 177 178 $j.each(arr_el, function (index) { 179 var getInputID = "spf_" + index, 180 setCountryCode = "spf_c_" + index; 181 sessionStorage.removeItem(getInputID); 182 sessionStorage.removeItem(setCountryCode); 183 }); 184});
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.