PageSourceSearch

https://portal.uhfcu.com/js/app/loanApplicationService.js?v=2026092521

js uhfcu.com collected 2026-09-26 04:46:15 UTC 14,575 bytes, 514 lines download raw bytes

1;(function (root, init) {
2    if (typeof root.jQuery === "undefined") {
3        throw "This module requires jQuery, please install."
4    }
5
6    init(root.LoanAppService = root.LoanAppService || {}, root.jQuery);
7})(window, function (exports, $) {
8    'use strict';
9
10    var pageSetting = {}, appJsonRequest, appNewURLAJsonRequest;
11    var MAIN_TAG_SELECTOR = '#main';
12
13    //#region Function declaration
14    /**
15     * Get data from main tag
16     * @param name
17     * @returns {*|undefined}
18     */
19    pageSetting.get = function (name) {
20        var $main = $(MAIN_TAG_SELECTOR);
21        return $main.length > 0 ? $main.attr('data-' + name) : undefined;
22    }
23
24    /**
25     * Set data to main tag
26     * @param name
27     * @param value
28     */
29    pageSetting.set = function (name, value) {
30        var $main = $(MAIN_TAG_SELECTOR);
31
32        if ($main.length > 0) {
33            $main.data('name', value);
34            $main.attr('data-' + name, value);
35        }
36    }
37
38    appJsonRequest = function (action, payload, opts) {
39        var ajaxOptions = $.extend(true, opts || {}, {
40            url: "/scripts/scriptsApp.php",
41            type: "POST",
42            data: JSON.stringify($.extend(true, payload, {
43                action: action
44            })),
45            headers: {
46                "Content-Type": "application/json"
47            }
48        });
49
50        return $.ajax(ajaxOptions);
51    }
52
53    appNewURLAJsonRequest = function (action, payload) {
54        payload = payload || {};
55        payload.isNewURLA = 1;
56
57        return appJsonRequest(action, payload);
58    }
59
60    //#endregion Function declaration
61
62    exports.pageSetting = pageSetting;
63    exports.appJsonRequest = appJsonRequest;
64    exports.appNewURLAJsonRequest = appNewURLAJsonRequest;
65});
66
67;(function (exports, global) {
68    'use strict';
69
70    var getLocationByZipcode, getSystemError;
71
72    //#region Function declaration
73    /**
74     * Fetch location information by zipcode
75     * @param zipcode
76     */
77    getLocationByZipcode = function (zipcode) {
78        return LoanAppService.appJsonRequest("getLocationFromZipcode", {
79            zipcode: zipcode
80        });
81    };
82
83    getSystemError = function () {
84        var verbiage = typeof global.verbiage !== "undefined" ? global.verbiage.get('UnexpectedError') : "";
85        return typeof verbiage === "undefined" || verbiage === null || verbiage.toString().trim().length === 0
86            ? "An error occurred. Please contact your loan officer for assistance."
87            : verbiage;
88    };
89    //#endregion Function declaration
90
91    // Publish for usage
92    exports.getLocationByZipcode = getLocationByZipcode;
93    exports.getSystemError = getSystemError;
94
95})(window.LoanAppService.Utils = window.LoanAppService.Utils || {}, window);
96
97
98/**
99 * [Loan Asset] Define service API for loan asset
100 */
101;(function (exports, global) {
102    'use strict';
103
104    var master = global.LoanAppService, remove, add, verify;
105
106    var handler = function (payload) {
107        return master.appNewURLAJsonRequest('assetHandler', payload);
108    };
109
110    remove = function (loanPublicID, assetID) {
111        return handler({
112             subAction: 'removeAsset',
113             assetID: assetID,
114             publicLoanID: loanPublicID
115        });
116    };
117
118    add = function (loanPublicID, assetInfo) {
119        return handler({
120             subAction: 'addAsset',
121             assetInfo: assetInfo,
122             publicLoanID: loanPublicID
123        });
124    };
125
126    verify = function (loanPublicID, pageData) {
127        return handler({
128             subAction: 'verifyAssets',
129             pageData: pageData,
130             publicLoanID: loanPublicID
131        });
132    };
133
134    // For global usage.
135    exports.remove = remove;
136    exports.add = add;
137    exports.verify = verify;
138
139    /**
140    * For particular loan usage.
141    * @param loanPublicID
142    * @returns {{}}
143    */
144    exports.create = function (loanPublicID) {
145        var s = {};
146
147        s.add = function (assetInfo) {
148            return add(loanPublicID, assetInfo)
149        };
150
151        s.remove = function (assetID) {
152            return remove(loanPublicID, assetID)
153        };
154
155        s.verify = function (pageData) {
156            return verify(loanPublicID, pageData)
157        };
158
159        return s;
160    };
161
162})(window.LoanAppService.Asset = window.LoanAppService.Asset || {}, window);
163
164/**
165 * [Loan Liability] Define service API for loan liability
166 */
167;(function (exports, global) {
168    'use strict';
169
170    var master = global.LoanAppService, remove, add, verify, addNewProperty;
171
172    var handler = function (payload) {
173        return master.appNewURLAJsonRequest('liabilityHandler', payload);
174    }
175
176    remove = function (loanPublicID, liabilityID) {
177        return handler({
178            subAction: 'removeLiability',
179            liabilityID: liabilityID,
180            publicLoanID: loanPublicID
181        });
182    };
183
184    add = function (loanPublicID, liabilityInfo) {
185        return handler({
186            subAction: 'addLiability',
187            liabilityInfo: liabilityInfo,
188            publicLoanID: loanPublicID
189        });
190    };
191
192    verify = function (loanPublicID, pageData) {
193        return handler({
194            subAction: 'verifyLiabilities',
195            pageData: pageData,
196            publicLoanID: loanPublicID
197        });
198    };
199
200    addNewProperty = function (loanPublicID) {
201        return handler({
202            subAction: 'addNewProperty',
203            publicLoanID: loanPublicID
204        });
205    };
206
207    // For global usage.
208    exports.remove = remove;
209    exports.add = add;
210    exports.verify = verify;
211    exports.addNewProperty = addNewProperty;
212
213    /**
214     * For particular loan usage.
215     * @param loanPublicID
216     * @returns {{}}
217     */
218    exports.create = function (loanPublicID) {
219        var s = {};
220
221        s.add = function (liabilityInfo) {
222            return add(loanPublicID, liabilityInfo)
223        };
224
225        s.remove = function (liabilityID) {
226            return remove(loanPublicID, liabilityID)
227        }
228
229        s.verify = function (pageData) {
230            return verify(loanPublicID, pageData)
231        }
232
233        s.addNewProperty = function () {
234            return addNewProperty(loanPublicID)
235        }
236
237        return s;
238    };
239
240})(window.LoanAppService.Liability = window.LoanAppService.Liability || {}, window);
241
242/**
243 * [Loan REO] Define service API for loan REOs
244 */
245;(function (exports, global) {
246    'use strict';
247    var add, remove, verify;
248
249    var appService = global.LoanAppService;
250    var loanPublicID = appService.pageSetting.get('loanpublicid');
251    var handler = 'realEstateOwnedHandler';
252
253    add = function (payLoad) {
254        return appService.appNewURLAJsonRequest(handler, $.extend(true, payLoad, {
255            subAction: 'addRealEstate',
256            publicLoanID: loanPublicID
257        }));
258    };
259
260    remove = function(payLoad) {
261        return appService.appNewURLAJsonRequest(handler, $.extend(true, payLoad, {
262            subAction: 'removeREO',
263            publicLoanID: loanPublicID
264        }));
265    };
266
267    verify = function (payLoad) {
268        return appService.appNewURLAJsonRequest(handler, $.extend(true, payLoad, {
269            subAction: 'saveRealEstate',
270            publicLoanID: loanPublicID
271        }));
272    };
273
274    // Publish for usage
275    exports.add = add;
276    exports.remove = remove;
277    exports.verify = verify;
278})(window.LoanAppService.REO = window.LoanAppService.REO || {}, window);
279
280/**
281 * [Loan Employment] Define service API for loan Employment
282 */
283;(function (exports, global) {
284    'use strict';
285    var appService = global.LoanAppService, add, remove, submit, process;
286    var loanPublicID = appService.pageSetting.get('loanpublicid');
287    var lenderPublicID = appService.pageSetting.get('lenderpublicid');
288
289    var handler = function (payload) {
290        return appService.appNewURLAJsonRequest('employmentHandler', $.extend(true, payload, {
291            publicLoanID: loanPublicID,
292            publicLenderID: lenderPublicID
293        }));
294    }
295
296    add = function(payload) {
297        return handler($.extend(true, {
298            subAction:'add'
299        }, payload));
300    }
301
302    remove = function(payload) {
303        return handler($.extend(true, {
304            subAction:'remove'
305        }, payload));
306    }
307
308    submit = function(payload) {
309        return handler($.extend(true, {
310            subAction:'submit'
311        }, payload));
312    }
313
314    process = function(payload) {
315        return handler($.extend(true, {
316            subAction:'process'
317        }, payload));
318    }
319
320    exports.add = add;
321    exports.remove = remove;
322    exports.submit = submit;
323    exports.process = process;
324})(window.LoanAppService.Employment = window.LoanAppService.Employment || {}, window);
325
326/**
327 * [Loan GiftGrant] Define service API for loan GiftGrant
328 */
329;(function (exports, global) {
330    'use strict';
331    var add, remove, verify;
332
333    var appService = global.LoanAppService;
334    var loanPublicID = appService.pageSetting.get('loanpublicid');
335    var handler = 'giftGrantHandler';
336    add = function (payLoad) {
337        return appService.appNewURLAJsonRequest(handler, $.extend(true, payLoad, {
338            subAction: 'addGiftGrant',
339            publicLoanID: loanPublicID
340        }));
341    };
342
343    remove = function (payLoad) {
344        return appService.appNewURLAJsonRequest(handler, $.extend(true, payLoad, {
345            subAction: 'removeGiftGrant',
346            publicLoanID: loanPublicID
347        }));
348    };
349
350    verify = function (payLoad) {
351        return appService.appNewURLAJsonRequest(handler, $.extend(true, payLoad, {
352            subAction: 'verifyGiftGrant',
353            publicLoanID: loanPublicID
354        }));
355    };
356    // Publish for usage
357    exports.add = add;
358    exports.remove = remove;
359    exports.verify = verify;
360})(window.LoanAppService.GiftGrant = window.LoanAppService.GiftGrant || {}, window);
361
362;(function ($) {
363    $.fn.autoPopulateAddressInfoByZipcode = function () {
364        var populate = function ($el, info) {
365            var empty = {
366                city: $el.attr('data-city-empty') || "",
367                state: $el.attr('data-state-empty') || "",
368            };
369
370            info = $.extend({}, empty, info);
371            $($el.attr('data-city-target')).val(info.city);
372            var $stateInput = $($el.attr('data-state-target'));
373
374            if ($stateInput.find('option[value="' + info.state.toString().toLowerCase() + '"]').length > 0) {
375                $stateInput.val(info.state.toString().toLowerCase());
376            }
377            else if ($stateInput.find('option[value="' + info.state + '"]').length > 0) {
378                $stateInput.val(info.state);
379            }
380            else {
381                $stateInput.val(empty.state);
382            }
383        };
384
385        $(this).each(function () {
386            $(this).change(function () {
387                var $self = $(this);
388                var zipcode = $self.val();
389                zipcode = typeof zipcode === "undefined" || zipcode === null ? "" : z
389ipcode.toString();
390
391                if (zipcode.trim().length > 0) {
392                    LoanAppService.Utils.getLocationByZipcode(zipcode).then(function (res) {
393                        populate($self, res);
394                    }).catch(function () {
395                        populate($self, {});
396                    });
397                }
398                else {
399                    populate($self, {});
400                }
401            });
402        });
403    };
404
405})(jQuery);
406
407function determineNumUnits(propType){
408    let units = 1;
409    if ( propType === "SingleFamily" ) {
410        units =  1;
411    } else if ( ["Condominium", "Townhouse", "Cooperative", "ManufacturedMobileHome"].indexOf( propType ) !== -1 ) {
412        units =  1
413    } else if ( propType === "Duplex" || propType === "TwoToFourUnitProperty") {
414        units =  2;
415    } else if ( propType === "Triplex" ) {
416        units =  3;
417    } else if ( propType === "Quadplex" ) {
418        units =  4;
419    } else if ( propType === "MultiFamily2To4" ) {
420        units = 4;
421    } else {
422        units = 1;
423    }
424    return units;
425}
426
427/**
428 * [Turbo Vendor] Define service API for Turbo vendor
429 */
430;(function (exports, global) {
431    'use strict';
432
433    var master = global.LoanAppService, chooseQuote, dismissModalQuoteOffer, updateNumberOfCloseTime, updateViewQuoteConsent, getQuote;
434
435    var handler = function (payload) {
436        return master.appJsonRequest('turboHandler', payload);
437    };
438
439    chooseQuote = function (loanPublicID, quoteResponseID ,quoteID) {
440        return handler({
441            subAction: 'chooseQuote',
442            quoteID: quoteID,
443            quoteResponseID: quoteResponseID,
444            publicLoanID: loanPublicID
445        });
446    };
447
448    dismissModalQuoteOffer = function (loanPublicID) {
449        return handler({
450            subAction: 'dismissModalQuoteOffer',
451            publicLoanID: loanPublicID
452        });
453    };
454
455    updateNumberOfCloseTime = function (loanPublicID) {
456        return handler({
457            subAction: 'updateNumberOfCloseTime',
458            publicLoanID: loanPublicID
459        });
460    };
461
462    updateViewQuoteConsent = function (loanPublicID) {
463        return handler({
464            subAction: 'updateViewQuoteConsent',
465            publicLoanID: loanPublicID
466        });
467    };
468
469    getQuote = function (loanPublicID) {
470        return handler({
471            subAction: 'getQuote',
472            publicLoanID: loanPublicID
473        });
474    };
475
476    // For global usage.
477    exports.chooseQuote = chooseQuote;
478    exports.dismissModalQuoteOffer = dismissModalQuoteOffer;
479    exports.updateNumberOfCloseTime = updateNumberOfCloseTime;
480    exports.updateViewQuoteConsent = updateViewQuoteConsent;
481    exports.getQuote = getQuote;
482
483    /**
484     * For particular loan usage.
485     * @param loanPublicID
486     * @returns {{}}
487     */
488    exports.create = function (loanPublicID) {
489        var s = {};
490
491        s.chooseQuote = function (quoteResponseID, quoteID) {
492            return chooseQuote(loanPublicID, quoteResponseID, quoteID);
493        };
494
495        s.dismissModalQuoteOffer = function () {
496            return dismissModalQuoteOffer(loanPublicID);
497        };
498
499        s.updateNumberOfCloseTime = function () {
500            return updateNumberOfCloseTime(loanPublicID);
501        };
502
503        s.updateViewQuoteConsent = function() {
504            return updateViewQuoteConsent(loanPublicID);
505        };
506
507        s.getQuote = function () {
508            return getQuote(loanPublicID);
509        };
510
511        return s;
512    };
513
514})(window.LoanAppService.VendorTurbo = window.LoanAppService.VendorTurbo || {}, window);

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.