1JTC_CSP.component.RefundPaymentMethod=function(n,t){function o(u){i=t(u).find("#csp_refund_payment_method_form");r=t(u).find("#nextToRefundMethod");i.find('input[name="PaymentMethod"]:checked').length>0&&f!=e.VIEW?r.prop("disabled",!1):r.prop("disabled",!0);i.find('input[name="PaymentMethod"]').on("change",function(){i.find('input[name="PaymentMethod"]:checked').length>0?r.prop("disabled",!1):r.prop("disabled",!0)});let o=n.formValidatorFactory(i),s=Object.fromEntries(Object.entries({ignore:":hidden"}).concat(Object.entries(n.formSettings)).concat(Object.entries(o)));t(i).validate(s);r.on("click",function(n){n.preventDefault();i.valid()?i.submit():i.validate().showErrors()})}let u={},i,r,f=t("#Mode").val();const e={EDIT:"Edit",VIEW:"View"};return u.init=function(){const n=t("#csp_refund_payment_method");n.each(function(n,t){o(t)})},u}(JTC_CSP||{},jQuery);JTC_CSP.register("RefundPaymentMethod",JTC_CSP.component.RefundPaymentMethod,JTC_CSP.component.RefundPaymentMethod.init);JTC_CSP.ready(function(){JTC_CSP.component.ApplyeGiroForm=function(n,t){function r(i){function l(n){e.empty();const t=f(n,v);e.append("<option value=''>Select a Bank<\/option>");e.prop("selectedIndex",0);s(t,e);setTimeout(w,10)}function w(){e.setDropDown()}function b(){const t=u(r);n.apiwrapper({url:baseUrl+"/Egiro/RedirectToBank",method:n.postMethod,params:t}).done(k)}function k(t){t&&t.bankUrl&&(window.open(t.bankUrl,"_blank"),n.handleGlobalModal({heading:"www.jtc.gov.sg says",message:`<p class="mb-0"> 2 Waiting for Bank Response 3 </p>`,hidePrimaryBtn:!0,disableClose:!0,enableStaticBackdrop:!0}),setTimeout(d,6e4),setTimeout(g,6e5))}function d(){c=setInterval(nt,5e3)}function g(){clearInterval(c);window.location.href=window.location.href+"&GiroApplyStatus=Failed"}function nt(){let t=viewModel.AccountNumber;n.apiwrapper({url:baseUrl+"/Egiro/Status",method:n.getMethod,params:{accountNumber:t}}).done(tt)}function tt(n){n.entity.isCallbackCompleted&&(clearInterval(c),it(n))}function it(n){window.location.href=n.entity.isGiroApplyFailed?baseUrl+"/Egiro/Apply?accountNumber="+n.entity.accountNumber+"&GiroApplyStatus=Failed":baseUrl+"/Egiro/Detail?accountNumber="+n.entity.accountNumber}function ft(t){t.preventDefault();r.valid()?n.handleGlobalModal({type:"confirmation",heading:"csp.jtc.gov.sg says",message:` 4 <div class="d-flex align-items-center"> 5 <span class="info-black-icon pr-40"></span> 6 <p class="csp-h4-tag mb-0"> 7 You are now leaving JTCâs website 8 </p> 9 </div> 10 <p class="font-body mt-3 mb-0">Please ensure that our Customer Service Portal window remains open while you apply for GIRO.</p> 11 `,primaryBtnText:"OK",primaryFnCallBack:et,theme:"black"}):r.validate().showErrors()}function et(){b()}const o=t(i),r=o.find("#apply-eGiro-form"),a=t(i).find("#submiteGiroFormBtn"),h=o.find("input[name=selectedBankType]"),e=o.find("select[name=selectedBankId]");let c,v=viewModel.BankDetails,y=o.find("[download]");y.on("click",function(i){i.preventDefault();const r=t(this),u=r.data("documenttype");n.handleDownloadSingleFile({params:{blobDocumentName:u},url:baseUrl+"/Offer/GetAboutOfferPdfContent"})});let p=h.filter(":checked").val();l(p);h.on("change",function(){let n=h.filter(":checked").val();l(n)});let rt=n.formValidatorFactory(r),ut=Object.fromEntries(Object.entries({ignore:":hidden"}).concat(Object.entries(n.formSettings)).concat(Object.entries(rt)));t(r).validate(ut);a.on("click",ft)}function u(n){let i=new URLSearchParams(window.location.search);const r=i.get("accountNumber"),u=new FormData(n[0]),t={};return u.forEach((n,i)=>{t[i]=n}),t.accountNumber=r,t}function f(n,t){const i=t.filter(t=>e(t,n));return i.sort((n,t)=>n.bankSequence!==t.bankSequence?n.bankSequence-t.bankSequence:n.bankName.localeCompare(t.bankName))}function e(n,t){return n.bankType===t&&n.isActive}function o(n){return t("<option>",{value:n.id,text:n.bankName})}
11function s(n,t){n.forEach(n=>t.append(o(n)))}let i={};return i.init=function(){const n=t(".apply-eGiro-component");n.each(function(n,t){r(t)})},i}(JTC_CSP||{},jQuery);JTC_CSP.register("ApplyeGiroForm",JTC_CSP.component.ApplyeGiroForm,JTC_CSP.component.ApplyeGiroForm.init)});JTC_CSP.ready(function(){JTC_CSP.component.ManageGiroAccountBilling=function(n,t){function r(i){function e(n){let t=new URL(window.location.href);t.searchParams.set("PageNumber",n);window.location.href=t.toString()}const u=t(i),f=u.find(".csp-responsive-div-table");f.tableSorting(function(t){n.showPageSpinner();let i=new URL(window.location.href);i.searchParams.set("PageNumber",1);i.searchParams.set("SortBy",t.column);i.searchParams.set("SortDirection",t.order);window.location.href=i.toString()});const r=t("#manage-giro-listing-pagination");r.CSPCustomPagination();r.on("jqp.pagination.valueChanged",function(n,t){let i=t.pageIndex;e(i)})}let i={};return i.init=function(){const n=t(".csp_manage-giro-account-billing");n.each(function(n,t){r(t)})},i}(JTC_CSP||{},jQuery);JTC_CSP.register("ManageGiroAccountBilling",JTC_CSP.component.ManageGiroAccountBilling,JTC_CSP.component.ManageGiroAccountBilling.init)});JTC_CSP.ready(function(){JTC_CSP.component.UpdateBillingAddressComponent=function(n,t){function r(i){function w(t){n.apiwrapper({method:n.getMethod,url:baseUrl+"/User/GetAddressByPostalCode",params:{postalcode:t}}).done(b)}function b(n){n&&(n.postalCode>0?(s(n),n.multipleRecord==1?o(!0):o(!1)):(o(!1),s(),p.showErrors({postalCode:"Sorry, we are unable to locate your postal address. Please fill in your address details below."})))}function o(n){u.attr("readonly",n);f.attr("readonly",n);e.attr("readonly",n)}function s(n){n?(u.val(n.blockOrHouseNo).blur(),f.val(n.streetName).blur(),e.val(n.buildingName).blur(),t("#Billing_city").val(n.city),t("#Billing_state").val(n.state)):(u.val(""),f.val(""),e.val(""),t("#Billing_city").val(""),t("#Billing_state").val(""))}const h=t(i),r=h.find("#updateBilling_Address_component-form"),c=t(i).find("#submitCnfrmDetailBtn"),l=t(i).find("#getGetAddressBtn"),a=t(i).find("#postalCode"),u=t(i).find("#blockHouseNumber"),f=t(i).find("#streetName"),e=t(i).find("#buildingName");let v=n.formValidatorFactory(r),y=Object.fromEntries(Object.entries({ignore:":hidden"}).concat(Object.entries(n.formSettings)).concat(Object.entries(v))),p=t(r).validate(y);l.on("click",function(){let n=a.val();n.length==6&&w(n)});c.on("click",function(n){n.preventDefault();r.valid()?r.submit():r.validate().showErrors()})}let i={};return i.init=function(){const n=t(".updateBilling_Address_component");n.each(function(n,t){r(t)})},i}(JTC_CSP||{},jQuery);JTC_CSP.register("UpdateBillingAddressComponent",JTC_CSP.component.UpdateBillingAddressComponent,JTC_CSP.component.UpdateBillingAddressComponent.init)});JTC_CSP.component.AboutOfferDashboard=function(n,t){function r(i){const r=t(i);let u=r.find("[download]"),f=r.find("#requestTimeExtension");u.on("click",function(i){i.preventDefault();const r=t(this),u=r.data("documenttype"),f=r.data("ismultiple"),e=r.data("filename");f?n.handleDownloadZipFile({params:{blobDocumentName:u,isMultipleFileDownload:!0},url:baseUrl+"/Offer/GetAboutOfferPdfContent",fileName:e}):n.handleDownloadSingleFile({params:{blobDocumentName:u},url:baseUrl+"/Offer/GetAboutOfferPdfContent"})});f.on("click",function(t){t.preventDefault();n.component.offerRequestTimeExtensionPopup.ShowTimeExtensionPopup()})}let i={};return i.init=function(){const n=t("#aboutoffer-letter-dashboard");n.each(function(n,t){r(t)})},i}(JTC_CSP||{},jQuery);JTC_CSP.register("AboutOfferDashboard",JTC_CSP.component.AboutOfferDashboard,JTC_CSP.component.AboutOfferDashboard.init);JTC_CSP.component.offerRequestTimeExtensionPopup=function(n,t){function e(e){function nt(){i.show();o.hide();y.show();s.hide()}function tt(){i.hide();o.show();y.hide();s.show()}const p=t(e);let v=t(e).find("#requestTimeExtension-acceptAffer-modal");u=p.find("form[name='requestTimeExtension-acceptAffer-form']");i=t(e).find("#requestTimeExtOfferSubmitBtn");let o=t(e).find("#requestTimeExtCloseBtn"),y=t(e).find("#request-time-extension-offer--submit"),s=t(e).find("#request-time-extension-offer-receive-request");r=viewModel;s.hide();o.hide();s.removeAttr("hidden");o.removeAttr("hidden");let h=new Date(r.Offeracceptancedate);h=h.setDate(h.getDate()+1);let c=new Date(r.Offeracceptancedate);c=c.setDate(c.getDate()+r.OfferAcceptanceMaxDays);let l=new Date(h),a=new Date(c),w=l.getMonth()+1,b=a.getMonth(),k=l.getDate()+"/"+w+"/"+l.getFullYear(),d=a.getDate()+"/"+b+"/"+a.getFullYear();n.datePicker(t("#submissionDeadline"),{format:"dd/mm/yyyy",startDate:k,endDate:d});let g=Object.fromEntries(Object.entries(n.formSettings).concat(Object.entries({rules:{submissionDeadline:"required"},messages:{submissionDeadline:"Please indicate new offer acceptance deadline."}})));t(u).validate(g);i.on("click",function(f){if(f.preventDefault(),u.valid()){i.attr("disabled","disabled");let u=t("#submissionDeadline").val(),f={CaseId:r.CaseId,RevisedOfferAcceptanceDate:u};n.apiwrapper({url:baseUrl+"/Offer/RequestForOfferTimeExtension",method:n.postMethod,params:{extensionRequest:f}}).done(function(n){n.isSuccess&&tt();i.removeAttr("disabled")})}else u.validate().showErrors()});f.ShowTimeExtensionPopup=function(){nt();v.modal("show")};v.on("hidden.bs.modal",function(){location.reload()})}let f={},u,i,r;return f.init=function(){const n=t("#requestTimeExtension-acceptAffer");n.each(function(n,t){e(t)})},f}(JTC_CSP||{},jQuery);JTC_CSP.register("offerRequestTimeExtensionPopup",JTC_CSP.component.offerRequestTimeExtensionPopup,JTC_CSP.component.offerRequestTimeExtensionPopup.init);JTC_CSP.component.AboutOfferConfirmation=function(n,t){function r(i){const r=t(i);let u=r.find("[download]");u.on("click",function(i){i.preventDefault();const r=t(this),u=r.data("documenttype"),f=r.data("ismultiple"),e=r.data("filename");f?n.handleDownloadZipFile({params:{blobDocumentName:u,isMultipleFileDownload:!0},url:baseUrl+"/Offer/GetAboutOfferPdfContent",fileName:e}):n.handleDownloadSingleFile({params:{blobDocumentName:u},url:baseUrl+"/Offer/GetAboutOfferPdfContent"})})}let i={};return i.init=function(){const n=t("#offer-confirmation-page");n.each(function(n,t){r(t)})},i}(JTC_CSP||{},jQuery);JTC_CSP.register("AboutOfferConfirmation",JTC_CSP.component.AboutOfferConfirmation,JTC_CSP.component.AboutOfferConfirmation.init);JTC_CSP.component.AcceptOfferComponent=function(n,t){function u(i){function ht(){let i=e.val(),t=w.find(n=>n.id===i);nt.val(t.bankName);tt.val(t.swiftCode);const r=new FormData(f[0]);n.apiwrapper({url:`${baseUrl}/Offer/ApplyEgiro`,method:n.postMethod,contentType:n.multipartFormData,params:r}).done(ct)}function ct(t){t?.bankUrl&&(window.open(t.bankUrl,"_blank"),n.handleGlobalModal({heading:"www.jtc.gov.sg says",message:`<p class="mb-0"> 12 Waiting for Bank Response 13 </p>`,hidePrimaryBtn:!0,disableClose:!0,enableStaticBackdrop:!0}),setTimeout(lt,6e4),setTimeout(at,6e5))}function lt(){y=setInterval(vt,5e3)}function at(){clearInterval(y);window.location.href=window.location.href+"&GiroApplyStatus=Failed"}function vt(){let t=viewModel.AccountNumber;n.apiwrapper({url:`${baseUrl}/Egiro/Status`,method:n.getMethod,params:{accountNumber:t}}).done(yt)}function yt(n){n?.entity?.isCallbackCompleted&&(clearInterval(y),pt(n))}function pt(n){let t=it.val();n.entity.isGiroApplyFailed&&(t=t+"&GiroApplyStatus=Failed");window.location.href=t}function wt(n,t){if(t?.length){const i=t.filter(t=>bt(t,n));return i.sort((n,t)=>n.bankSequence!==t.bankSequence?n.bankSequence-t.bankSequence:n.bankName.localeCompare(t.bankName))}return[]}function bt(n,t){return n.bankType===t&&n.isActive}function kt(n){return t("<option>",{value:n.id,text:n.bankName})}
13function dt(n,t){n.forEach(n=>t.append(kt(n)));t.append('<option value="00000000-0000-0000-0000-000000000000">Others<\/option>')}function b(n){e.empty();const t=wt(n,w);e.append('<option value="">Select a Bank<\/option>');e.prop("selectedIndex",0);dt(t,e);setTimeout(gt,10)}function gt(){e.setDropDown()}function k(){let n=e.val();n==p.OTHERS?(v.show(),a.hide()):(v.hide(),a.show())}function d(){o&&o.Mode==r.EDIT&&st.checkForm()?c.prop("disabled",!1):c.prop("disabled",!0)}const u=t(i),f=u.find("#accept-offer-component-form"),c=u.find("#goToPaymentBtn"),g=u.find("#submitApplyEgiro"),l=u.find("input[name=selectedBankType]"),e=u.find("select[name=selectedBankId]"),nt=u.find("#selectedBankName"),tt=u.find("#selectedBankCode"),a=u.find("#onlineGiroSection"),v=u.find("#offlineGiroSection"),s=u.find("#IsconsentAccepted"),it=u.find("#redirectionBackUrl"),rt=u.find("#filledGiroForm");let y,o=viewModel,w=viewModel.BankListName,h="";h=e?e.val():o.SelectedBankName;let ut=l.filter(":checked").val();b(ut);l.on("change",function(){let n=l.filter(":checked").val();b(n)});e.on("change",function(){h=t(this).val();k();h!=p.OTHERS?s.attr("disabled","disabled").prop("checked",!1):s.removeAttr("disabled").prop("checked",!1)});const p={OTHERS:"00000000-0000-0000-0000-000000000000"};let ft=u.find("[download]");a.removeAttr("hidden");v.removeAttr("hidden");let et=n.formValidatorFactory(f),ot=Object.fromEntries(Object.entries({ignore:":hidden"}).concat(Object.entries(n.formSettings)).concat(Object.entries(et)));t(f).validate(ot);let st=f.validate();rt.on("change",function(){const n=t(this).prop("files");n.length>0||o.UploadedGiroFormName?s.removeAttr("disabled"):s.attr("disabled","disabled")});ft.on("click",function(i){i.preventDefault();const r=t(this),u=r.data("documenttype"),f=r.data("ismultiple"),e=r.data("filename");f?n.handleDownloadZipFile({params:{blobDocumentName:u,isMultipleFileDownload:!0},url:baseUrl+"/Offer/GetAboutOfferPdfContent",fileName:e}):n.handleDownloadSingleFile({params:{blobDocumentName:u},url:baseUrl+"/Offer/GetAboutOfferPdfContent"})});c.on("click",function(i){if(i.preventDefault(),f.valid()){const i=new FormData(f[0]);n.showPageSpinner();t.ajax({url:baseUrl+"/Offer/AcceptOfferPayment",type:n.postMethod,data:i,processData:!1,contentType:!1,success:function(n){n===!0&&(window.location.href=window.location.origin+baseUrl+"/Offer/OfferPayment?offerid="+o.OfferId)},error:function(t,i,r){n.hidePageSpinner();console.log("Error fetching data.",r)}})}else f.validate().showErrors()});g.on("click",function(t){t.preventDefault();f.valid()?n.handleGlobalModal({type:"confirmation",heading:"csp.jtc.gov.sg says",message:` 14 <div class="d-flex align-items-center"> 15 <span class="info-black-icon pr-40"></span> 16 <p class="csp-h4-tag mb-0"> 17 You are now leaving JTCâs website 18 </p> 19 </div> 20 <p class="font-body mt-3 mb-0">Please ensure that our Customer Service Portal window remains open while you apply for GIRO.</p> 21 `,primaryBtnText:"OK",primaryFnCallBack:function(){ht()},theme:"black"}):f.validate().showErrors()});o.IsEGiroApplied||o.IsGiroExisting||!h||h==p.OTHERS||s.attr("disabled","disabled");(o.Mode!=r.EDIT||o.LapsedDate<0)&&(s.attr("disabled","disabled"),t("#IsGiroArrangementflag").attr("disabled","disabled"));t(f).on("change","input[type = 'text'], input[type='checkbox'], input[type='file'], input[type='radio']",d);k();setTimeout(()=>{d()},100)}let i={};const r={EDIT:0,VIEW:1};return i.init=function(){const n=t("#accept-offer-component");n.each(function(n,t){u(t)})},i}(JTC_CSP||{},jQuery);JTC_CSP.register("AcceptOfferComponent",JTC_CSP.component.AcceptOfferComponent,JTC_CSP.component.AcceptOfferComponent.init);JTC_CSP.component.RefundPaynowBankTransfer=function(n,t){function f(r){function nt(){let i=l.val(),r=a.val(),u=k.val(),f=t("#file-upload")[0].files[0],n=new FormData;return n.append("UploadedFile",f),Object.keys(o).forEach(t=>{o[t]!==null&&o[t]!==undefined&&n.append(t,o[t])}),n.set("BankAccountNumber",i),n.set("BankSwiftcode",r),n.set("BankNameGuid",u),n}function tt(t){n.apiwrapper({url:baseUrl+p,method:n.postMethod,contentType:n.multipartFormData,params:t}).done(it)}function it(n){n&&(rt(),ut())}function rt(){e.show();t("html, body").animate({scrollTop:e.offset().top},500);setTimeout(function(){e.hide()},6e3)}function ut(){let n=new Date,t=ft(n);et(t);s.show()}function ft(n){let t=n.getFullYear(),i=String(n.getMonth()+1).padStart(2,"0"),r=String(n.getDate()).padStart(2,"0"),u=String(n.getHours()).padStart(2,"0"),f=String(n.getMinutes()).padStart(2,"0"),e=String(n.getSeconds()).padStart(2,"0"),o=String(n.getMilliseconds()).padStart(7,"0");return`${t}-${i}-${r}T${u}:${f}:${e}.${o}`}function et(t){const i=n.createUpdateLastSavedTime(y);i(t)}const f=t(r);i=f.find("#csp_refund_Paynow_Banktransfer_method_form");u=f.find("#proceed");let e=f.find("#save-as-draft-refund-banktransfer"),v=f.find("#saveAsdraft-btn"),h=f.find("#file-upload"),y=f.find("#lastSavedTime"),s=f.find("#lastSavedTime_ctn"),p="/Refund/SaveRefundDtls";const c=/^([a-zA-Z0-9]+)$/,w=/^\d+$/,b=f.find("#suffix"),l=f.find("#BankAccountNumber"),a=f.find("#BankSwiftcode"),k=f.find("#select-bank");let o=viewModel;e.hide();e.removeAttr("hidden");s.hide();s.removeAttr("hidden");let d=n.formValidatorFactory(i),g=Object.fromEntries(Object.entries({ignore:":hidden"}).concat(Object.entries(n.formSettings)).concat(Object.entries(d)));t(i).validate(g);b.on("keypress",function(n){const t=n.key;c.test(t)||n.preventDefault()});a.on("keypress",function(n){const t=n.key;c.test(t)||n.preventDefault()});l.on("keypress",function(n){const t=n.key;w.test(t)||n.preventDefault()});h.on("change",function(){const n=this.files[0];
21n&&t(i).validate().element(h)});u.on("click",function(n){n.preventDefault();i.valid()?i.submit():i.validate().showErrors()});v.on("click",function(){let n=nt();tt(n)})}let r={},i,u;return r.init=function(){const n=t("#csp_refund_Paynow_Banktransfer_method");n.each(function(n,t){f(t)})},r}(JTC_CSP||{},jQuery);JTC_CSP.register("RefundPaynowBankTransfer",JTC_CSP.component.RefundPaynowBankTransfer,JTC_CSP.component.RefundPaynowBankTransfer.init);JTC_CSP.ready(function(){JTC_CSP.component.EditCspUserValidation=function(n,t){function f(n){u=n}function e(r){function et(t){t?.length===6&&n.apiwrapper({method:n.getMethod,url:baseUrl+"/User/GetAddressByPostalCode",params:{postalcode:t}}).done(ot)}function ot(n){n&&(n.postalCode>0?(a(n),n.multipleRecord==1?l(!0):l(!1)):(l(!1),a(),ut.showErrors({postalCode:"Sorry, we are unable to locate your postal address. Please fill in your address details below."})))}function l(n){o.attr("readonly",n);h.attr("readonly",n);c.attr("readonly",n)}function a(n){n?(o.val(n.blockOrHouseNo).blur(),h.val(n.streetName).blur(),c.val(n.buildingName).blur()):(o.val(""),h.val(""),c.val(""))}getMasterErrorData(f,"UserLogon");const u=t(r);i=u.find("form[id='update-profile']");const p=u.find("#btn_myinfoAddress"),w=u.find("#ddl_saluation"),b=u.find("#txt_firstName"),k=u.find("#txt_lastName"),d=u.find("#txt_designation"),v=u.find("#txt_mobileNo"),y=u.find("#txt_email"),e=u.find("#txt_postalcode"),o=u.find("#txt_blockno"),h=u.find("#txt_streetName"),c=u.find("#txt_buildingName"),g=u.find("#txt_levelNo"),nt=u.find("#txt_unitlNo"),tt=u.find("input[name='EStatementRadio']");let it=n.formValidatorFactory(i),rt=Object.fromEntries(Object.entries({ignore:":hidden"}).concat(Object.entries(n.formSettings)).concat(Object.entries(it))),ut=t(i).validate(rt),ft=[{element:w,name:"required",errorKey:"ER7"},{element:b,name:"required",errorKey:"ER8"},{element:k,name:"required",errorKey:"ER9"},{element:d,name:"required",errorKey:"ER10"},{element:v,name:"required",errorKey:"ER11"},{element:v,name:"validLength",errorKey:"ER11"},{element:y,name:"required",errorKey:"ER12"},{element:y,name:"validEmail",errorKey:"ER12"},{element:e,name:"required",errorKey:"ER2"},{element:e,name:"validLength",errorKey:"ER2"},{element:o,name:"required",errorKey:"ER3"},{element:h,name:"required",errorKey:"ER4"},{element:g,name:"required",errorKey:"ER5"},{element:nt,name:"required",errorKey:"ER6"},{element:tt,name:"required",errorKey:"ER22"},];ft.forEach(function(n){s(n.element,n.name,n.errorKey)});e.on("input",function(){a()});p.on("click",function(n){n.preventDefault();let t=e.val();et(t)})}function o(n){let t=u.find(function(t){return t.errorKey===n});return t?t.errorValue:""}function s(n,t,i){const u=o(i),r={};r[t]=u;n.rules("add",{messages:r})}let r={},i,u;return r.init=function(){const n=t(".edit-csp-user");n.each(function(n,t){e(t)})},r}(JTC_CSP||{},jQuery);JTC_CSP.register("EditCspUserValidation",JTC_CSP.component.EditCspUserValidation,JTC_CSP.component.EditCspUserValidation.init)});JTC_CSP.ready(function(){JTC_CSP.component.AddCspUserValidation=function(n,t){function e(n){u=n}function o(r){function at(t){t?.length===6&&n.apiwrapper({method:n.getMethod,url:baseUrl+"/User/GetAddressByPostalCode",params:{postalcode:t}}).done(vt)}function vt(n){n&&(n.postalCode>0?(b(n),n.multipleRecord==1?w(!0):w(!1)):(w(!1),b(),ct.showErrors({postalCode:"Sorry, we are unable to locate your postal address. Please fill in your address details below."})))}function w(n){l.attr("readonly",n);a.attr("readonly",n);p.attr("readonly",n)}function b(n){n?(l.val(n.blockOrHouseNo).blur(),a.val(n.streetName).blur(),p.val(n.buildingName).blur()):(l.val(""),a.val(""),p.val(""))}getMasterErrorData(e,"UserLogon");const u=t(r);i=u.find("form[id='update-profile']");const g=u.find("#btn_myinfoAddress"),o=u.find("#txt_singpass"),y=u.find("#validsingpassid"),nt=u.find("#ddl_saluation"),tt=u.find("#txt_firstName"),it=u.find("#txt_lastName"),rt=u.find("#txt_designation"),k=u.find("#txt_mobileNo"),d=u.find("#txt_email"),c=u.find("#txt_postalcode"),l=u.find("#txt_blockno"),a=u.find("#txt_streetName"),p=u.find("#txt_buildingName"),ut=u.find("#txt_levelNo"),ft=u.find("#txt_unitlNo"),et=u.find("input[name='EStatementRadio']"),ot=u.find("input[name='BillPaymentRadio']");o.on("input",function(){y.hide();this.value=this.value.replace(/[^a-zA-Z0-9]/g,"").trim().toUpperCase();o.valid()});let st=n.formValidatorFactory(i),ht=Object.fromEntries(Object.entries({ignore:":hidden"}).concat(Object.entries(n.formSettings)).concat(Object.entries(st))),ct=t(i).validate(ht),v="";o.rules("add",{required:!0,remote:{url:"/User/CheckSingpassExist",type:"GET",data:{singpassid:function(){return o.val()}},complete:function(){let n=i.data("validator");n.errorMap.singpass&&n.showErrors({singpassid:v})},dataFilter:function(n){try{const t=JSON.parse(n);return t?(v="User already has an account on Customer Service Portal.",y.hide(),!1):(y.show(),!0)}catch(t){return v="An unexpected error occurred. Please try again.",!1}}},messages:{required:f("ER15"),remote:()=>v}});let lt=[{element:nt,name:"required",errorKey:"ER7"},{element:tt,name:"required",errorKey:"ER8"},{element:it,name:"required",errorKey:"ER9"},{element:rt,name:"required",errorKey:"ER10"},{element:k,name:"required",errorKey:"ER11"},{element:k,name:"validLength",errorKey:"ER11"},{element:d,name:"required",errorKey:"ER12"},{element:d,name:"validEmail",errorKey:"ER12"},{element:c,name:"required",errorKey:"ER2"},{element:c,name:"validLength",errorKey:"ER2"},{element:l,name:"required",errorKey:"ER3"},{element:a,name:"required",errorKey:"ER4"},{element:ut,name:"required",errorKey:"ER5"},{element:ft,name:"required",errorKey:"ER6"},{element:et,name:"required",errorKey:"ER22"},{element:ot,name:"required",errorKey:"ER22"},];lt.forEach(function(n){s(n.element,n.name,n.errorKey)});o.on("blur",function(){let n=o.val();if(n.includes("â¢")&&(n=o.data("original")||n),o.valid()){o.data("original",n);const t=h(n);o.val(t)}});o.on("focus",function(){const n=o.data("original");n&&o.val(n)});c.on("input",function(){b()});g.on("click",function(n){n.preventDefault();let t=c.val();at(t)})}function f(n){let t=u.find(function(t){return t.errorKey===n});return t?t.errorValue:""}function s(n,t,i){const u=f(i),r={};r[t]=u;n.rules("add",{messages:r})}function h(n){if(!n)return n;const t=n.length;return t<=1?n:t<=5?n[0]+"â¢".repeat(4)+n.slice(-1):n[0]+"â¢".repeat(4)+n.slice(-4)}let r={},i,u;return r.init=function(){const n=t(".add-csp-user-page");n.each(function(n,t){o(t)})},r}(JTC_CSP||{},jQuery);
21JTC_CSP.register("AddCspUserValidation",JTC_CSP.component.AddCspUserValidation,JTC_CSP.component.AddCspUserValidation.init)});JTC_CSP.ready(function(){JTC_CSP.component.UserInformationValidation=function(n,t){function h(n){e=n}function c(f){getMasterErrorData(h,"UserLogon");const e=t(f);u=e.find("form#register-account, form#update-profile");const nt=e.find("#UserMyInfo_Salutationdropdown"),tt=e.find("#UserMyInfo_FirstName"),it=e.find("#UserMyInfo_LastName"),rt=e.find("#UserMyInfo_Designation"),w=e.find("#UserMyInfo_MobileNumber"),b=e.find("#UserMyInfo_Email"),ut=e.find("#btn_myinfoAddress"),c=e.find("#UserMyInfo_PostalCode"),k=e.find("#UserMyInfo_HouseNumber"),d=e.find("#UserMyInfo_StreetName"),ft=e.find("#UserMyInfo_BuildingName"),et=e.find("#UserMyInfo_LevelNumber"),ot=e.find("#UserMyInfo_UnitNumber"),st=e.find("#btn_mailaddress"),l=e.find("#Mailing_PostalCode"),a=e.find("#Mailing_HouseNumber"),y=e.find("#Mailing_StreetName"),ht=e.find("#Mailing_BuildingName"),ct=e.find("Mailing_LevelNumber"),lt=e.find("Mailing_UnitNumber");let at=n.formValidatorFactory(u),vt=Object.fromEntries(Object.entries({ignore:":hidden"}).concat(Object.entries(n.formSettings)).concat(Object.entries(at)));o=t(u).validate(vt);let yt=[{element:nt,name:"required",errorKey:"ER7"},{element:tt,name:"required",errorKey:"ER8"},{element:it,name:"required",errorKey:"ER9"},{element:rt,name:"required",errorKey:"ER10"},{element:w,name:"required",errorKey:"ER11"},{element:w,name:"validLength",errorKey:"ER11"},{element:b,name:"required",errorKey:"ER12"},{element:b,name:"validEmail",errorKey:"ER12"},{element:c,name:"required",errorKey:"ER2"},{element:c,name:"validLength",errorKey:"ER2"},{element:k,name:"required",errorKey:"ER3"},{element:d,name:"required",errorKey:"ER4"},{element:et,name:"required",errorKey:"ER5"},{element:ot,name:"required",errorKey:"ER6"},{element:l,name:"required",errorKey:"ER2"},{element:l,name:"validLength",errorKey:"ER2"},{element:a,name:"required",errorKey:"ER3"},{element:y,name:"required",errorKey:"ER4"},{element:ct,name:"required",errorKey:"ER5"},{element:lt,name:"required",errorKey:"ER6"},];yt.forEach(function(n){v(n.element,n.name,n.errorKey)});let g={blockNo:k,streetName:d,buildingName:ft,type:"info"},p={blockNo:a,streetName:y,buildingName:ht,type:"mailing"};a.val()&&y.val()&&i(p,!0);ut.on("click",function(n){n.preventDefault();s(c.val(),g,"MyinfoPostalcode")});st.on("click",function(n){n.preventDefault();s(l.val(),p,"MailingPostalcode")});c.on("input",function(){r(g)});l.on("input",function(){r(p)})}function s(t,i,r){t?.length===6&&n.apiwrapper({method:n.getMethod,url:baseUrl+"/User/GetAddressByPostalCode",params:{postalcode:t}}).done(n=>l(n,i,r))}function l(n,t,u){if(n)if(n.postalCode>0)r(t,n),n.multipleRecord==1?i(t,!0):i(t,!1);else{i(t,!1);r(t);let n={};n[u]="Sorry, we are unable to locate your postal address. Please fill in your address details below.";o.showErrors(n)}}function i(n,t){n.blockNo.attr("readonly",t);n.streetName.attr("readonly",t);n.buildingName.attr("readonly",t)}function r(n,i){i?(n.blockNo.val(i.blockOrHouseNo).blur(),n.streetName.val(i.streetName).blur(),n.buildingName.val(i.buildingName).blur(),n.type==="info"&&(t("#City").val(i.city),t("#State").val(i.state),t("#Country").val(i.country)),n.type==="mailing"&&(t("#Mailing_city").val(i.city),t("#Mailing_state").val(i.state))):(n.blockNo.val(""),n.streetName.val(""),n.buildingName.val(""),n.type==="info"&&(t("#City").val(""),t("#State").val(""),t("#Country").val("")),n.type==="mailing"&&(t("#Mailing_city").val(""),t("#Mail
21ing_state").val("")))}function a(n){let t=e.find(function(t){return t.errorKey===n});return t?t.errorValue:""}function v(n,t,i){const u=a(i),r={};r[t]=u;n.rules("add",{messages:r})}let f={},u,e,o;return f.init=function(){const n=t(".update-profile.register-account, .update-profile-page");n.each(function(n,t){c(t)})},f}(JTC_CSP||{},jQuery);JTC_CSP.register("UserInformationValidation",JTC_CSP.component.UserInformationValidation,JTC_CSP.component.UserInformationValidation.init)})
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.