PageSourceSearch

https://www.enbrel.com/-/media/Themes/Amgen/Enbrel-com/Enbrel-com/…/brite-verify-library-02062025.js

js enbrel.com collected 2026-09-24 19:50:31 UTC 17,350 bytes, 398 lines download raw bytes

1var btv_res;
2var briteVerifyLibrary = (function() {
3  var briteVerifySugg_flag=false;
4  var formModified=false;
5  var formModifiedAddressFields = false;
6  var hasEmail = false;
7  var hasPhone = false;
8  var hasAddress = false;
9  var addressFields = ["btv_address", "btv_address2", "btv_city", "btv_state", "btv_zip"];
10  var emailField = "btv_email";
11  var phoneNumberField = "btv_PhoneNumber";
12  var form=false;
13  var suggested_addressFields=[];
14  var emailError = false;
15  var addressError = false;
16  var phoneError = false;
17  var functionName;
18  var addressAccepted = false;
19  
20  function initBriteVerify(formId, error_displayClearFn, formSubmitFn) {
21    form = $("#"+formId);
22    functionName=formSubmitFn;
23    if (form.length > 0) {
24      // Check if the form has the required fields
25      if (formId) {
26        if (addressFields.every(classExists)) {
27          console.log(
28            "%c ✓",
29            "color: green; background: yellow; font-size: 15px",
30            " All address fields are available for briteverify"
31          );
32        } else {
33          console.log("Address fields are missing or have incorrect class.");
34        }
35        if (form.find('.' + emailField).length > 0) {
36          console.log(
37            "%c ✓",
38            "color: green; background: yellow; font-size: 15px",
39            " Element with class '" + emailField + "' is available for briteverify"
40          );
41        } else {
42          console.log("Email field is missing or has an incorrect class.");
43        }
44        if (form.find('.' + phoneNumberField).length > 0) {
45          console.log(
46            "%c ✓",
47            "color: green; background: yellow; font-size: 15px",
48            " Phone number is available for briteverify"
49          );
50        } else {
51          console.log(
52            "Phone number field is missing or has an incorrect class."
53          );
54        }
55      } else {
56        console.log("Form ID is missing.");
57      }
58    } else {
59      console.log("Form not found.");
60    }
61    function classExists(className) {
62      return form.find('.' + className).length > 0;
63    }
64    if (error_displayClearFn == null || error_displayClearFn == " ") {
65      console.log("Default error handling should follow");
66    } else {
67      console.log(
68        "%c ⓘ",
69        "color: orange; font-size: 15px",
70        " Make sure the form have custom error handling function"
71      );
72    }
73    if (formSubmitFn == null || formSubmitFn == " ") {
74      console.log(
75        "%c ⓘ",
76        "color: orange; font-size: 15px",
77        " Please specify the form submission function which we want to submit"
78      );
79    } else {
80      console.log(
81        "%c ✓",
82        "color: green; background: yellow; font-size: 15px",
83        " Form submission function mentioned"
84      );
85    }
86    // Initialize BriteVerify on the specified form
87    if (!briteVerifySugg_flag || formModified || emailError || addressError  || phoneError ) {
88      try {
89        form.find(".btv_submitBtn").attr("disabled", true);
90        briteVerify(event, null, errorMsgCallback, null, formId);
91      } catch (err) {
92        console.log("Error in BriteVerify");
93      }
94    } else {
95      // Submit the form
96      if (typeof functionName === 'function') {
97        // Call the passed function
98        form.find(".btv_submitBtn").attr("disabled", true);
99        defaultFormErrorHandling("removeAll")
100        functionName();
101      } else {
102        console.error('There is not form submission function');
103      }
104    }
105  }
106  function errorMsgCallback(res) {
107    $.each(res, function(index, item) {
108      if (item.FieldName === "email") {
109        hasEmail = true;
110      }
111      if (item.FieldName === "PhoneNumber" || item.FieldName === "phone") {
112        hasPhone = true;
113      }
114      if (item.FieldName === "") {
115        hasAddress = true;
116      }
117    });
118    console.log(res);
119    btv_res=res;
120    if (res.length > 0) {
121      // Clear previous error messages
122      defaultFormErrorHandling("removeAll");
123      const errorCodesToCheckAddress = [
124        "address_default_error_code",
125        "zip_code_invalid",
126        "missing_minimum_inputs",
127        "suite_missing",
128        "suite_invalid",
129        "street_number_invalid",
130        "multiple_match",
131        "unknown_street",
132        "directionals_invalid",
133        "street_number_missing",
134        "box_number_invalid",
135        "box_number_missing",
136        "pmb_required"
137      ];
138      registeSelcetion(form)
139      for (var i = 0; i < res.length; i++) {
140        var response = res[i];
141        if (response.ResponseStatus === "invalid" || response.ResponseStatus === "unknown") {
142          if(hasAddress){
143            if (errorCodesToCheckAddress.some(errorCode => response.ErrorResponse.includes(errorCode))) {
144              addressError = true; 
145              if(response.IsAddressCorrected){
146                briteVerifySugg_flag=true;
147                formModified=false;
148                // Collect data for entered address suggestion box 
149                var complete_address = "";
150                for (var i = 0; i < addressFields.length; i++) {
151                  form.find('.' + phoneNumberField).length > 0
152                  var field =form.find('.' + addressFields[i]).val()
153                  if (field) {
154                    complete_address += (complete_address ? ", " : "") + field;
155                  }
156                }
157                // updateFormWithSuggestedAddress();
158                form.find(".entered-address-block-txt").html(complete_address); // Appended entered address
159                
160                // Collect data for suggested address suggestion box 
161                suggested_addressFields = [response.AddessResponse.Address1, response.AddessResponse.Address2, response.AddessResponse.City, response.AddessResponse.State, response.AddessResponse.Zipcode];
162                var concatenatedSuggestedAddress = suggested_addressFields.filter(function (value) {
163                  return value.trim() !== ""; // Filter out empty or whitespace-only strings
164                }).join(", ");
165                form.find(".suggested-address-block-txt").html(concatenatedSuggestedAddress); // Appended suggested address.
166                // form.find("#addsuggbox").removeClass("d-none"); // Show suggested address.
167                if($('[name="rdoaddsuggest"]').is(':checked')) {
168                  form.find("#addsuggbox").addClass("d-none");
169                  if (formModifiedAddressFields) {
170                    form.find("#addsuggbox").removeClass("d-none");
171                  }
172                } else {
173                  form.find("#addsuggbox").removeClass("d-none"); // Show suggested address.
174                }
175                formModifiedAddressFields = false;
176                form.find(".btv_submitBtn").attr("disabled", true); // make sure that the form have a similar class.
177              }
178              if(!addressAccepted) {
179                addressError = true;
180              } else {
181                addressError = false;
182              }
183            } 
184          }
185        } else if (!response.IsAddressCorrected) {
186          addressError = false;
187          if(!$('#addsuggbox').hasClass('d-none')) {
188            form.find("#addsuggbox").addClass("d-none");
189          }
190        }
191        if(hasEmail){// Check email validity (considering "accept_all" as valid)
192        const isEmailValid = ["valid", "accept_all", "unknown"].includes(res.find(item => item).ResponseStatus);
193          if(!isEmailValid) {
194            emailError = true;
195          } else {
196            emailError = false;
197          }
198        }
199        if(hasPhone){// Check phone number validity
200        // const isPhoneNumberValid = res.find(item => item.FieldName === "PhoneNumber").ResponseStatus === "valid";
201        const isPhoneNumberValid = res.find(item => ["PhoneNumber", "phone"].includes(item.FieldName) && item.ResponseStatus === "valid");
202          if(!isPhoneNumberValid) {
203            phoneError = true;
204          } else {
205            phoneError = false;
206          }
207        }
208      }
209      // Check if there are any errors related to address, phone, and email fields
210      if (addressError || phoneError || emailError) {
211        // Handle errors for individual fields
212        if (addressError && hasAddress && !addressAccepted) {
213          form.find(".btv_submitBtn").removeAttr("disabled");
214          defaultFormErrorHandling("addressOnlayAdd");
215          $('#bv-address-error').remove();
216          $('.btv_address').after('<span class="error bv-error" id="bv-address-error">Please enter a valid address</span>');
217        }
218        if (phoneError && hasPhone) {
219          form.find(".btv_submitBtn").removeAttr("disabled");
220          defaultFormErrorHandling("phoneOnlayAdd");
221          $('#bv-phone-error').remove();
222          $('.btv_PhoneNumber').after('<span class="error bv-error" id="bv-phone-error">Please enter a valid phone number</span>');
223        }
224        if (emailError && hasEmail) {
225          form.find(".btv_submitBtn").removeAttr("disabled");
226          defaultFormErrorHandling("emailOnlayAdd");
227          $('#bv-email-error').remove();
228          $('.btv_email').after('<span class="error bv-error" id="bv-email-error">Please enter a valid email address</span>');
229        }
230        // Scroll to the top of the form to display the error messages
231        if($('.defult_briteVerifError').length > 0){
232          $(".defult_briteVerifError:visible").show()[0].scrollIntoView({ behavior: "smooth", block: "center" });
233        }
234      } else {
235        // Clear any existing error messages
236        defaultFormErrorHandling("removeAll");
237        // Check if at least one of the fields (phone, address, or email) is present
238        if (hasPhone || hasAddress || hasEmail) {
239          validFlag = 1;
240          // Submit the form
241          if (typeof functionName === 'function') {
242            // Call the passed function
243            form.find(".btv_submitBtn").attr("disabled", true);
244            defaultFormErrorHandling("removeAll")
245            functionName();
246          } else {
247            console.error('There is not form submission function');
248          }
249        } else {
250          // Handle the case where none of the fields are present (you may add appropriate error handling)
251          console.log("No response from the API...")
252          $('.btn-continue').prop('disabled', false);
253        }
254      }
255    }
256  }
257  function defaultFormErrorHandling (errorType){
258    if(errorType=="addAll"){
259      if(hasAddress){
260        $.each(addressFields, function(index, fieldName) {
261          form.find('.' + fieldName ).addClass('defult_briteVerifError');
262        });
263        if($('.btv_state').hasClass('jcf-hidden')){
264          $(".jcf-select-btv_state").addClass('defult_briteVerifError');
265        }
266      } 
267      if(hasEmail){
268        form.find('.' + emailField ).addClass('defult_briteVerifError');
269      } 
270      if(hasPhone){
271        form.find('.' + phoneNumberField ).addClass('defult_briteVerifError');
272      }
273    } else if(errorType=="removeAll"){
274      if(hasAddress) {
275        $.each(addressFields, function(index, fieldName) {
276          form.find('.' + fieldName ).removeClass('defult_briteVerifError');
277        });
278        if($('.btv_state').hasClass('jcf-hidden')){
279          $(".jcf-select-btv_state").removeClass('defult_briteVerifError');
280        }
281      } 
282      if (hasEmail){
283        form.find('.' + emailField ).removeClass('defult_briteVerifError');
284      } 
285      if(hasPhone){
286        form.find('.' + phoneNumberField ).removeClass('defult_briteVerifError');
287      }  
288    } else if(errorType=="addressOnlayAdd" && !addressAccepted){
289      form.find('.btv_address').addClass('defult_briteVerifError');
290      if ( form.find('.btv_address2').val() != "") {
291        form.find('.btv_address2').addClass('defult_briteVerifError');
292      }
293      form.find('.btv_zip').addClass('defult_briteVerifError');
294      form.find('.btv_city').addClass('defult_briteVerifError');
295      form.find('.btv_state').addClass('defult_briteVerifError');
296      if($('.btv_state').hasClass('jcf-hidden')){
297        $(".jcf-select-btv_state").addClass('defult_briteVerifError');
298      }
299    } else if(errorType=="addressOnlayRemove"){
300      form.find('.btv_address').removeClass('defult_briteVerifError');
301      if ( form.find('.btv_address2').val() != "") {
302        form.find('.btv_address2').removeClass('defult_briteVerifError');
303      }
304      form.find('.btv_zip').removeClass('defult_briteVerifError');
305      form.find('.btv_city').removeClass('defult_briteVerifError');
306      form.find('.btv_state').removeClass('defult_briteVerifError');
307      if($('.btv_state').hasClass('jcf-hidden')){
308        $(".jcf-select-btv_state").removeClass('defult_briteVerifError');
309      }
310    } else if(errorType=="emailOnlayAdd"){
311        form.find('.' + emailField ).addClass('defult_briteVerifError');
312    } else if(errorType=="emailOnlayRemove"){
313        form.find('.' + emailField ).removeClass('defult_briteVerifError');
314    } else if(errorType=="phoneOnlayAdd"){
315        form.find('.' + phoneNumberField ).addClass('defult_briteVerifError');
316    } else if(errorType=="phoneOnlayRemove"){
317        form.find('.' + phoneNumberField ).removeClass('defult_briteVerifError');
318    }
319  }
320  function updateFormWithSuggestedAddress(){
321    $("#addsuggbox").append(htmlToAppend);
322   // registeSelcetion(form)
323  };
324  function registeSelcetion(form){
325    //------------Select suggested/enter address 
326    form.find('[name="rdoaddsuggest"]').click(function () {
327      // This code will run when either of the radio buttons is clicked
328      var selectedValue = $(this).val(); // Get the value of the selected radio button
329      addressAccepted = true;
330      $(".btv_address, .btv_address2, .btv_city, .btv_zip, .btv_state").removeClass('defult_briteVerifError');
331      $('.btv_state').next('.jcf-select').removeClass('defult_briteVerifError');
332      $('.btv_address').next('.bv-error').remove();
333      if (selectedValue == "rdosuggestaddress") {
334        form.find('.btv_address').val(suggested_addressFields[0]);
335        if ( form.find('.btv_address2').val() != "") {
336          form.find('.btv_address2').val(suggested_addressFields[1]);
337        }
338        form.find('.btv_zip').val(suggested_addressFields[4].slice(0, -5));
339        form.find('.btv_city').val(suggested_addressFields[2]);
340        form.find('.btv_state').find('option[value="' + suggested_addressFields[3] + '"]').prop('selected', true)
341        form.find('.btv_state').next('.jcf-select').find('.jcf-select-text span').text(suggested_addressFields[3]);
342      }
343      form.find('.btv_address').removeClass('error_field');
344      form.find('.btv_address2').removeClass('error_field');
345      form.find('.btv_zip').removeClass('error_field');
346      form.find('.btv_city').removeClass('error_field');
347      form.find('.btv_state').removeClass('error_field');
348      $(".jcf-select-btv_state").removeClass('defult_briteVerifError');
349      form.find('#addsuggbox').addClass("d-none");
350      if (!form.find('.suggestedAddress_Box').is(":visible")) {
351        form.find(".btv_submitBtn").removeAttr('disabled'); // remove disable of submit button
352      }
353      addressError=false;
354    });
355    form.find('.btv_address, .btv_zip, .btv_address2, .btv_city, .btv_zip').on("input", function() {
356      addressAccepted = false;
357      if(briteVerifySugg_flag==true){
358        formModified = true;
359        formModifiedAddressFields = true;
360      }
361      // $(this).removeClass('defult_briteVerifError');
362      $(".btv_address, .btv_address2, .btv_city, .btv_zip, .btv_state").removeClass('defult_briteVerifError');
363      $('.btv_state').next('.jcf-select').removeClass('defult_briteVerifError');
364      $('.btv_address').next('.bv-error').remove();
365      form.find(".btv_submitBtn").removeAttr('disabled');
366    });
367    form.find('.btv_email').on("input", function() {
368      if(briteVerifySugg_flag==true){
369        formModified = true;
370      }
371      $(this).removeClass('defult_briteVerifError');
372      $(this).nextAll('.error.bv-error').remove();
373      form.find(".btv_submitBtn").removeAttr('disabled');
374    });
375    form.find('.btv_PhoneNumber').on("input", function() {
376      if(briteVerifySugg_flag==true){
377        formModified = true;
378      }
379      $(this).removeClass('defult_briteVerifError');
380      $(this).nextAll('.error.bv-error').remove();
381      form.find(".btv_submitBtn").removeAttr('disabled');
382    });
383    form.find('.btv_state').on("change", function() {
384      addressAccepted = false;
385      if(briteVerifySugg_flag==true){
386        formModified = true;
387        formModifiedAddressFields = true;
388      }
389      $(".btv_address, .btv_address2, .btv_city, .btv_zip, .btv_state").removeClass('defult_briteVerifError');
390      $(this).next('.jcf-select').removeClass('defult_briteVerifError');
391      $('.btv_address').next('.bv-error').remove();
392      form.find(".btv_submitBtn").removeAttr('disabled');
393    });
394  }
395  return {
396    init: initBriteVerify
397  };
398})();

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.