PageSourceSearch

https://www.skyclarys.com/etc.clientlibs/dxp-2/components/form/gen…ibs.min.00e917a7f6361b8113c666cac0a1361a.js

js skyclarys.com collected 2026-10-08 09:30:53 UTC 20,498 bytes, 399 lines download raw bytes

1var $genericFormEl;
2var $genericFormID;
3var genericFormCtxObj;
4var genricFormsyncFlag = false;
5var internalEmailRecipientsVal,
6    internalEmailSubjectVal;
7var validateEmailRecipientsAndSubjectFlag=false;
8BIOG.genericForm = {
9    _init: function($genericFormEl) {
10		genericFormCtxObj = this;
11        genericFormCtxObj._bindEvents($genericFormEl);
12        /*To get locator results if queryparameter is available*/
13        if($genericFormEl.find('input[name=geoAddress]').length > 0){ //EC error avoid---dif
14            BIOG.TreatmentLocatorResults.populateResults($genericFormEl);
15        }
16		if($genericFormEl.find('.btl-locator-tool').length){
17        	BIOG.BtlLocatorResults.btlPopulateResults($genericFormEl);
18        }
19        if ($genericFormEl.hasClass('reminder-form')) {
20		    if (sessionStorage && sessionStorage.getItem("entityId")) {
21		        let entityIdInputStr = '<input type="hidden" name="entityId" value="' + sessionStorage.getItem("entityId") + '">';
22		        $genericFormEl.append(entityIdInputStr);
23		    }
24		}
25        if($genericFormEl.find('input[name=cheqRequestId]').length){
26            setTimeout(function(){ 
27                const cheqRequestId = window.cheqRequestId;
28                $('.generic-form').find('input[name=cheqRequestId]').val(cheqRequestId);
29            }, 3000);
30        }
31    },
32    _validateEmailRecipientsAndSubject: function(){
33        var internalEmailRecipientsValCheck = $('.generic-form').find('input[name=internalEmailRecipients]').val(),
34            internalEmailSubjectValCheck = $('.generic-form').find('input[name=internalEmailSubject]').val();
35        if(internalEmailRecipientsValCheck !=='' && internalEmailRecipientsValCheck !== internalEmailRecipientsVal){
36            $('.generic-form').find('input[name=internalEmailRecipients]').val(internalEmailRecipientsVal);
37        }
38        if(internalEmailSubjectValCheck !== '' && internalEmailSubjectValCheck != internalEmailSubjectVal) {
39            $('.generic-form').find('input[name=internalEmailSubject]').val(internalEmailSubjectVal);
40        }
41    },
42
43    _bindEvents: function($genericFormEl) {
44        $genericFormEl.find('.cmp-form-button').on('click', function(ev) {
45           var allowedIds = ["ms_form_continue", "custom_form_submit"];
46           if (allowedIds.includes($(this).attr("id"))) {
47                var valid = validateEconsentFormPage();
48                if (valid) {
49                  genericFormCtxObj._genericFormSubmit(ev);
50                }
51            } else if($(this).attr("id") === "msEconsent_final_submit"){
52                genericFormCtxObj._updateEconsentIndividualsHiddenField('.conditional-container .conditional');
53				genericFormCtxObj._genericFormSubmit(ev);
54
55            }else{
56                genericFormCtxObj._genericFormSubmit(ev); 
57            }
58        });
59    },
60    /** 
61	  * Function handler for Sign In form submit button.
62	  * 
63	  */
64    _genericFormSubmit: function(ev){
65        if(validateEmailRecipientsAndSubjectFlag){
66            genericFormCtxObj._validateEmailRecipientsAndSubject();
67        }
68        ev.preventDefault();
69        if (ev.screenX == 0 && ev.screenY == 0) {
70            return false; // do not submit form on Keyboard press.
71        }
72        genricFormsyncFlag = false;
73        $genericFormEl = $('#' + ev.target.closest('form').id);
74        var formFlag = BIOG.options.validateFormFields($genericFormEl),
75        $genericFormErrorElem =  $genericFormEl.prev('.generic-form-wrapper .alert-danger');
76        $genericFormErrorElem.addClass('hidden');
77        var customValidate = false;
78        var allValue="icon-checkbox-all";
79		
80		if((typeof search_results_selected_location !== 'undefined') && (document.getElementsByName('geoAddress').length) && (document.getElementsByName('geoAddress')[0].value !== "") && (search_results_selected_location !== document.getElementsByName('geoAddress')[0].value)){
81            //$(".locationDDErrorMessage").removeClass('hidden');
82            document.getElementsByName('geoAddress')[0].classList.add('highlightError');
83            $(".btl-results-error").removeClass('hidden');
84            checkErr = true;
85			formFlag = false;
86        }
87		
88        if(formFlag){
89        	customValidate = BIOG.genericFormHandler._customValidations($genericFormEl);
90        }
91        if($genericFormEl.find('.has-error').is(':visible')){
92			$genericFormEl.find('.custom-error').remove();
93        }
94		if(formFlag && customValidate) {
95			var captchaResponse = true;
96			var customErrorDynamicFlag = true;
97			if($genericFormEl.find('.g-recaptcha').length > 0 ) {
98				captchaResponse = BIOG.Recaptcha._validateCaptchaResponse($genericFormEl.find('.g-recaptcha'));
99			}
100			// added method for showing conditional error message on the check-box status generic form
101            if((typeof customSubmissionDynamicErrorMsg === 'function')) {
102                customErrorDynamicFlag = customSubmissionDynamicErrorMsg();
103            }
104			if(captchaResponse && customErrorDynamicFlag && !($genericFormEl.data('enablethirdpartyapi'))) {
105                if($genericFormEl.find('input[name=formInfoUUid]').length === 0){ //EC error avoid---
106                    if (typeof BIOG.TreatmentLocatorResults != "undefined") {
107                    	BIOG.TreatmentLocatorResults.smsTrigger($genericFormEl); // added to click on button to trigger SMS
108                    }
109                }
110	            if(typeof customNpiInputReset === 'function'){
111					customNpiInputReset($genericFormEl); // Reset the hidden npi number field while submission
112				}
113				genericFormCtxObj._preSubmit();
114				var formURL = $genericFormEl.attr('action'),
115				formType = $genericFormEl.attr('method'),
116				formElem = $genericFormEl,
117				form_data= BIOG.options._ignoreFieldFromSubmit(formElem,allValue).serialize();
118	            if(typeof customAPIFilterNpiData === 'function'){
119					form_data = customAPIFilterNpiData(form_data); // remove duplicate npi number while sending to service
120				}
121				BIOG.UTILS._showLoader($genericFormEl);
122				if(genricFormsyncFlag == false){
123					BIOG.options.ajaxCallHandler($genericFormEl,formType,formURL,form_data,true, false, genericFormCtxObj.callbackSucess,genericFormCtxObj.callbackFailure);
124				} 
125			}else{
126				if(typeof customAPIsubmission === 'function'){
127					customAPIsubmission();
128				}
129            }
130		}
131		else{ 
132			BIOG.genericForm._scrollOnError($genericFormErrorElem);
133		}
134	},
135	_scrollOnError: function($genericFormErrorElem){
136		var errorSummary = $('.generic-form').find('input[name=error-summary]').val(),
137			errorScroll = $('.generic-form').find('input[name=scroll-to-error]').val();
138		if(errorScroll == 'topOfPage'){
139			$("html, body").animate({ scrollTop: 0 }, "slow");
140		}
141		else if(errorSummary && errorScroll == 'summaryMsg'){
142			var countError= BIOG.options._countErrorFields($genericFormEl);
143			if(errorSummary.indexOf("{errorCount}") > -1){
144				errorSummary = errorSummary.replace("{errorCount}",countError);
145			}
146			$genericFormErrorElem.text(errorSummary).removeClass('hidden');
147			BIOG.options.scrollToFocusElem($genericFormEl);
148		}
149		else if(errorScroll == 'default' || errorSummary == ''){
150            if($genericFormEl.find('.hasError').length > 0){
151            	 if($genericFormEl.closest('.modal-body').length>0){
152                     $('#genericLightbox').find(".modal-content .modal-body").animate({
153                        scrollTop: $(".hasError:first").offset().top - 150
154                    },100);
155                }else{
156                    $('html, body').animate({
157                        scrollTop: $(".hasError:first").offset().top - 150
158                    },100);
159                }
160            }
161		}
162    },
163	callbackSucess:function(response){
164		BIOG.genericFormHandler._responsehandler($genericFormEl,response);
165		BIOG.genericForm.quizResultgenericForm($genericFormEl);
166		// added method for fam look up to show server error and hide the result panel
167        if ($genericFormEl.find(".cmp-fam-lookup").length > 0) {
168             BIOG.FamLookupResults.noresultsdisplay($genericFormEl, response);
169        }
170
171		if (response === undefined || response === '' || response.error === false || response.responseJe !== undefined) {
172            if (response?.responseCode === 200 && $(".approvalIdDataFetch.hidden").length > 0) {
173                const responseData = response.eConsentResponse;
174                fetcheConsentdata(responseData);
175                return;
176            }
177
178           if ( response?.responseCode === 200 && response?.response && $('input[name="npiNumber"]:not([data-npi-override-mode="noChange"])').length > 0) {
179                const responseData = response.response;
180                populateNpiData(responseData);
181    			return;
182			}
183
184			var redirectUrl = $genericFormEl.find('.form-success-redirect').attr('href');
185			if (redirectUrl && redirectUrl.indexOf('.html') < 0) {
186				redirectUrl = redirectUrl + '.html';
187				$genericFormEl.find('.form-success-redirect').attr('href', redirectUrl);
188			}
189
190            // Spinraza eConsent NPI data.
191            if ($genericFormEl.closest('.treatment-locator').find('#npiNumber').length > 0) {
192                localStorage.setItem('formeConsentData', JSON.stringify(response.eConsentResponse));
193            }
194                
195			if (redirectUrl != undefined && $('.docusign-form').length <= 0) {
196				$genericFormEl.find('.form-success-redirect')[0].click();
197			}
198			// Added below code to redirect on docusign url when we will get redirectUrl value from response  
199			else if(response && response.redirectUrl !== undefined && response.redirectUrl !== '' && $('.docusign-form')){
200                var redirectDocusignUrl = response.redirectUrl;
201                if(redirectDocusignUrl.indexOf('http://') > -1 || redirectDocusignUrl.indexOf('https://') > -1){
202                    window.location.href = redirectDocusignUrl;
203                }
204                else{
205                    window.location.href = window.location.origin + redirectDocusignUrl;
206                }
207			}
208			// added method for hiding the generic form and show the success msg on model instead of redirect
209			if((typeof customAPIsubmissionModelMsg === 'function')) {
210				customAPIsubmissionModelMsg();
211			}
212            // added method for showing conditional message on the checkbox status generic form
213			if((typeof customSubmissionDynamicMsg === 'function')) {
214				customSubmissionDynamicMsg();
215			}
216		}
217	},
218	callbackFailure:function(response){
219		if($genericFormEl.find(".map-results-container").length >0){
220            if($genericFormEl.find(".locator-tool-container").length >0){
221            	BIOG.TreatmentLocatorResults.noresultsdisplay($genericFormEl);
222            }
223			else if($genericFormEl.find(".btl-locator-tool-container").length >0){
224				BIOG.BtlLocatorResults.noresultsdisplay($genericFormEl);
225            }
226            else if($genericFormEl.find(".cmp-fam-lookup").length >0){
227				BIOG.FamLookupResults.noresultsdisplay($genericFormEl);
228            }
229            else {
230				BIOG.TreatmentResults.noresultsdisplay($genericFormEl);
231            }
232		}
233	},
234	_preSubmit:function(){
235        if($genericFormEl.find('input[name=formInfoUUid]').length === 0){ //EC error avoid---
236             if (typeof BIOG.geoAddress != "undefined") {
237            	BIOG.geoAddress._handleFormPreSubmit($genericFormEl,genericFormCtxObj.callbackSucess,genericFormCtxObj.callbackFailure);
238             }
239        }
240    },
241	quizResultgenericForm:function($genericFormEl){
242		if($genericFormEl.parents().find('.quiz-wrap').length>0){
243            $genericFormEl.hide();
244            $('.quiz-results').show();
245            BIOG.options.scrollToFocusElem($('.quiz-results'));
246            $('.quiz-results .info-message.answer').show();
247            $.cookie('quizuserEmailFound', 'true', {path: '/',expires: 30});
248        }
249	},
250    _updateEconsentIndividualsHiddenField:function(containerClass) {
251        const individulasEntries = [];
252        // Loop through each patient entry and collect data
253        $(containerClass).each(function () {
254            const patientFName = $(this).find('input[name="firstName"]').val();
255			const patientLName = $(this).find('input[name="lastName"]').val();
256			const patientAddress1 = $(this).find('input[name="street_address1"]').val();
257            const patientAddress2 = $(this).find('input[name="street_address2"]').val();
258			const pcity = $(this).find('input[name="city"]').val();
259            const pstate = $(this).find('select[name="state"]').val();
260			const pzipCode = $(this).find('input[name="postalCode"]').val();
261            const patient_relation = $(this).find('select[name="relationshipPatient"]').val();
262			const phType = $(this).find('select[name="phoneType"]').val();
263            const phone_number = $(this).find('input[name="phoneNumber"]').val();
264            const email = $(this).find('input[name="email"]').val();
265            // Push collected values into the JSON array
266            individulasEntries.push({
267                firstname: patientFName,
268                lastname: patientLName,
269                street: patientAddress1,
270				street2: patientAddress2,
271                city: pcity,
272                state: pstate,
273                postal_code: pzipCode,
274				relationship: patient_relation,
275                phoneType: phType,
276                phone: phone_number,
277                email: email
278            });
279        });
280
281		if($('input[name=receive_confidential_info]:checked').val() === "yes") {
282		// Ensure hidden field is up-to-date with all entries
283            $('.genericForm').find('input[name=individualsdata]').val(JSON.stringify(individulasEntries));
284        }else {
285        	$('.genericForm').find('input[name=individualsdata]').val(null);
286        }
287    }
288}
289$(document).ready(function() {
290	if ($('.genericForm').length) {
291		$('.genericForm').each(function() {
292			BIOG.genericForm._init($(this));
293            if($('.genericForm').find('[name="radius"]').length > 0){ //EC error avoid---dif
294                BIOG.TreatmentBindValidations._init($(this));
295            }
296            BIOG.options.conditionalFunction($(this));
297		});
298	}	
299});
300
301$(document).ready(function() {
302	//hide error message on input change
303    $("input[name='geoAddress']:first").on('change keydown paste input', function(){
304        $(".btl-results-error").addClass('hidden');
305    });
306
307	//append error div
308	$("input[name='geoAddress']:first").after('<span class="btl-results-error hidden">Please select a value from dropdown</span>');
309
310    //fetch internalEmailRecipients and internalEmailSubject values
311    if($('.generic-form').find('input[name=internalEmailRecipients]').length && $('.generic-form').find('input[name=internalEmailSubject]').length){
312        internalEmailRecipientsVal = $('.generic-form').find('input[name=internalEmailRecipients]').val();
313        internalEmailSubjectVal = $('.generic-form').find('input[name=internalEmailSubject]').val();
314        validateEmailRecipientsAndSubjectFlag = true;
315    }
316});
317
318BIOG.serviceTags = (function() {
319    return {
320        smaLocator: 'biogen-systems:biogen-services/smalocator-service',
321        alzLocator: 'biogen-systems:biogen-services/alzlocator-service',
322		btlLocator: 'biogen-systems:biogen-services/btllocator-service',
323        infusionCenter: 'biogen-systems:biogen-services/infusioncenter-service',
324        prescriberLocator: 'biogen-systems:biogen-services/prescriber-service',
325        addressService: 'biogen-systems:biogen-services/geo-address-service',
326        myEvents: 'biogen-systems:biogen-services/my-events-service',
327        viewReminderService: 'biogen-systems:biogen-services/view-reminder-service',
328        logoutService: 'biogen-systems:biogen-services/ciam-services/ciam-logout-service/v1',
329        dxpReference: 'biogen-systems:biogen-services/dxp-reference-service',
330        getProfile: 'biogen-systems:biogen-services/ciam-services/ciam-get-profile-service/v1',
331        userSessionExtenstion: 'biogen-systems:biogen-services/ciam-services/ciam-extend-user-session-service/v1',
332        savedarticlelist: 'biogen-systems:biogen-services/saved-article-list-service',
333        pdfGenerator: 'biogen-systems:biogen-services/ciam-services/pdf-generator-service/v1'
334    };
335})();
336BIOG.constants = (function() {
337    return {
338        actionUrl: '/bin/dxp/generic.json'
339    };
340})();
341
342BIOG.genericFormHandler = {
343    _customValidations: function($genericFormEl) {
344        var serviceTag = $genericFormEl.find('[name="serviceTags"]').val();
345        if (serviceTag != undefined && ((serviceTag.indexOf(BIOG.serviceTags.infusionCenter) != -1) || (serviceTag.indexOf(BIOG.serviceTags.prescriberLocator) != -1) || (serviceTag.indexOf(BIOG.serviceTags.smaLocator) != -1))) {
346            return BIOG.TreatmentBindValidations._locServiceValidateForm($genericFormEl);
347        }
348        return true;
349    },
350    _responsehandler: function($genericFormEl, response) {
351        if (response != undefined && response != "") {
352            var serviceTag = $genericFormEl.find('[name="serviceTags"]').val();
353            var locatorTypeVal = $genericFormEl.find('[name="treatmentLocator"]').filter(":checked").val();
354            var data = response;            
355			if (serviceTag.indexOf(BIOG.serviceTags.smaLocator) != -1 ||serviceTag.indexOf(BIOG.serviceTags.smaLocatorv2) != -1) {
356			var smaData = data.SMALocatorSitesV2 || data.SMALocatorSites || [];
357
358			if(($genericFormEl.find('.mapresults-v2')).length>0){
359			    BIOG.TreatmentResults_v2._init($genericFormEl,smaData,$genericFormEl.find('.smaLocatorData'),$genericFormEl.find('.smaMapData'));
360			}else if(($genericFormEl.find('.locator')).length>0){
361			    BIOG.TreatmentLocatorResults._init($genericFormEl, data,$genericFormEl.find('.locatorData'),$genericFormEl.find('.locatorMapData'));
362			}else{
363			    BIOG.TreatmentResults._init($genericFormEl,smaData,$genericFormEl.find('.smaLocatorData'),$genericFormEl.find('.smaMapData'));
364			}
365            } else if (serviceTag.indexOf(BIOG.serviceTags.alzLocator) != -1) {
366            	 if(($genericFormEl.find('.locator')).length>0){
367                 	BIOG.TreatmentLocatorResults._init($genericFormEl, data, $genericFormEl.find('.locatorData'), $genericFormEl.find('.locatorMapData'));
368                 }
369            }
370			else if (serviceTag.indexOf(BIOG.serviceTags.btlLocator) != -1) {
371            	 if(($genericFormEl.find('.btl-locator')).length>0){
372                 	BIOG.BtlLocatorResults._init($genericFormEl, data, $genericFormEl.find('.btlLocatorData'), $genericFormEl.find('.btlLocatorMapData'));
373                 }
374            }
375           else if ($genericFormEl.find('.cmp-fam-lookup').length > 0) {
376                BIOG.FamLookupResults._getFamResponse($genericFormEl, response, $genericFormEl.find('.cmp-fam-lookup'));
377            }
378            else if (locatorTypeVal == undefined) {
379                if (serviceTag.indexOf(BIOG.serviceTags.infusionCenter) != -1) {
380                    BIOG.TreatmentResults._init($genericFormEl, data.InfusionCenters, $genericFormEl.find('.infusionLocatorData'), $genericFormEl.find('.infusionMap
380Data'));
381                }
382                if (serviceTag.indexOf(BIOG.serviceTags.prescriberLocator) != -1) {
383                    BIOG.TreatmentResults._init($genericFormEl, data.prescriberLocators, $genericFormEl.find('.prescriberLocatorData'), $genericFormEl.find('.prescriberMapData'));
384                }
385            } else {
386                if (locatorTypeVal != undefined) {
387                    if ((serviceTag.indexOf(BIOG.serviceTags.infusionCenter) != -1) || (serviceTag.indexOf(BIOG.serviceTags.prescriberLocator) != -1)) {
388                        if (locatorTypeVal === BIOG.serviceTags.infusionCenter) {
389                            BIOG.TreatmentResults._init($genericFormEl, data.InfusionCenters, $genericFormEl.find('.infusionLocatorData'), $genericFormEl.find('.infusionMapData'));
390                        }
391                        if (locatorTypeVal === BIOG.serviceTags.prescriberLocator) {
392                            BIOG.TreatmentResults._init($genericFormEl, data.prescriberLocators, $genericFormEl.find('.prescriberLocatorData'), $genericFormEl.find('.prescriberMapData'));
393                        }
394                    }
395                }
396            }
397        }
398    }
399}

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.