{"version":3,"file":"main.b49767fb908c9e3d.js","mappings":"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lB;AAED,wEAAwB;KACrB,eAAe,CAAC,sDAAS,CAAC;KAC1B,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACnE,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,GACP,0EAA0E,CAAC;IAC7E,IAAI,GAAG,EAAE;QACP,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,OAAO,GAAG,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;SACnC;aAAM;YACL,OAAO,GAAG,SAAS,GAAG,GAAG,CAAC;SAC3B;KACF;IACD,aAAc,CAAC,WAAW,GAAG,KAAK,CAAC;IACnC,eAAgB,CAAC,WAAW,GAAG,OAAO,CAAC;AACzC,CAAC,CAAC,CAAC;;;;;;;;;;;AC9BL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACnSA;;;;;;;;;;ACAA;;;;;;;;;;ACAA","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/appload/module/appload.module.ts","./src/app/appload/service/appload.service.ts","./src/app/features/common/common.module.ts","./src/app/features/common/components/changepassword/changepassword.component.ts","./src/app/features/common/components/changepassword/changepassword.component.html","./src/app/features/common/components/changepassword/password-change/password-change.component.ts","./src/app/features/common/components/changepassword/password-change/password-change.component.html","./src/app/features/common/components/contact/contact.component.ts","./src/app/features/common/components/contact/contact.component.html","./src/app/features/common/components/creditcard/credit-card-success-common/credit-card-success-common.component.ts","./src/app/features/common/components/creditcard/credit-card-success-common/credit-card-success-common.component.html","./src/app/features/common/components/creditcard/creditcard-cancel/creditcard-cancel.component.ts","./src/app/features/common/components/creditcard/creditcard-cancel/creditcard-cancel.component.html","./src/app/features/common/components/creditcard/creditcard-success/creditcard-success.component.ts","./src/app/features/common/components/creditcard/creditcard-success/creditcard-success.component.html","./src/app/features/common/components/creditcard/creditcard.component.ts","./src/app/features/common/components/creditcard/creditcard.component.html","./src/app/features/common/components/faq/employer-faq/employer-faq.component.ts","./src/app/features/common/components/faq/employer-faq/employer-faq.component.html","./src/app/features/common/components/faq/faq.component.ts","./src/app/features/common/components/faq/faq.component.html","./src/app/features/common/components/faq/ncp-faq/ncp-faq.component.ts","./src/app/features/common/components/faq/ncp-faq/ncp-faq.component.html","./src/app/features/common/components/forgotpassword/forgot-password/forgot-password.component.ts","./src/app/features/common/components/forgotpassword/forgot-password/forgot-password.component.html","./src/app/features/common/components/forgotpassword/forgotpassword.component.ts","./src/app/features/common/components/forgotpassword/forgotpassword.component.html","./src/app/features/common/components/forgotusername/forgot-username/forgot-username.component.ts","./src/app/features/common/components/forgotusername/forgot-username/forgot-username.component.html","./src/app/features/common/components/forgotusername/forgotusername.component.ts","./src/app/features/common/components/forgotusername/forgotusername.component.html","./src/app/features/common/components/home/home.component.ts","./src/app/features/common/components/home/home.component.html","./src/app/features/common/components/howtos/howtos.component.ts","./src/app/features/common/components/howtos/howtos.component.html","./src/app/features/common/components/login/login.component.ts","./src/app/features/common/components/login/login.component.html","./src/app/features/common/components/logoutwarning/logoutwarning.component.ts","./src/app/features/common/components/logoutwarning/logoutwarning.component.html","./src/app/features/common/components/privacypolicy/privacypolicy.component.ts","./src/app/features/common/components/privacypolicy/privacypolicy.component.html","./src/app/features/common/components/register/register.component.ts","./src/app/features/common/components/register/register.component.html","./src/app/features/common/components/securitypolicy/securitypolicy.component.ts","./src/app/features/common/components/securitypolicy/securitypolicy.component.html","./src/app/features/common/components/termsandconditions/termsandconditions.component.ts","./src/app/features/common/components/termsandconditions/termsandconditions.component.html","./src/app/features/common/components/webaccessibility/webaccessibility.component.ts","./src/app/features/common/components/webaccessibility/webaccessibility.component.html","./src/app/features/employer/components/achd/information/achd-information.component.ts","./src/app/features/employer/components/achd/information/achd-information.component.html","./src/app/features/employer/components/achd/landing/achd.landing.component.ts","./src/app/features/employer/components/achd/landing/achd.landing.component.html","./src/app/features/employer/components/achd/payment/payment.component.ts","./src/app/features/employer/components/achd/payment/payment.component.html","./src/app/features/employer/components/achd/paymentaccount/paymentaccountlist.component.ts","./src/app/features/employer/components/achd/paymentaccount/paymentaccountlist.component.html","./src/app/features/employer/components/creditcard/landing/creditcard.landing.component.ts","./src/app/features/employer/components/creditcard/landing/creditcard.landing.component.html","./src/app/features/employer/components/creditcard/payment/creditcard.payment.component.ts","./src/app/features/employer/components/creditcard/payment/creditcard.payment.component.html","./src/app/features/employer/components/creditcard/payment/empsecurity-code-help/empsecurity-code-help.component.ts","./src/app/features/employer/components/creditcard/payment/empsecurity-code-help/empsecurity-code-help.component.html","./src/app/features/employer/components/creditcard/payment/interactive-credit-card-emp/interactive-credit-card-emp.component.ts","./src/app/features/employer/components/creditcard/payment/interactive-credit-card-emp/interactive-credit-card-emp.component.html","./src/app/features/employer/components/eft/createfile/createfile.component.ts","./src/app/features/employer/components/eft/createfile/createfile.component.html","./src/app/features/employer/components/eft/information/eft-information.component.ts","./src/app/features/employer/components/eft/information/eft-information.component.html","./src/app/features/employer/components/eft/landing/eft.landing.component.ts","./src/app/features/employer/components/eft/landing/eft.landing.component.html","./src/app/features/employer/components/home/home.component.ts","./src/app/features/employer/components/home/home.component.html","./src/app/features/employer/components/profile/employer-profile-account/employer-profile-account.component.ts","./src/app/features/employer/components/profile/employer-profile-account/employer-profile-account.component.html","./src/app/features/employer/components/profile/empprofile-security/empprofile-security.component.ts","./src/app/features/employer/components/profile/empprofile-security/empprofile-security.component.html","./src/app/features/employer/components/profile/profile.component.ts","./src/app/features/employer/components/profile/profile.component.html","./src/app/features/employer/components/register/employer.register.component.ts","./src/app/features/employer/components/register/employer.register.component.html","./src/app/features/employer/components/register/secondary-registration/empsecondary-registration/empsecondary-registration.component.ts","./src/app/features/employer/components/register/secondary-registration/empsecondary-registration/empsecondary-registration.component.html","./src/app/features/employer/components/register/secondary-registration/secondary-registration.component.ts","./src/app/features/employer/components/register/secondary-registration/secondary-registration.component.html","./src/app/features/employer/employer-routing.module.ts","./src/app/features/employer/employer.module.component.ts","./src/app/features/employer/employer.module.component.html","./src/app/features/employer/employer.module.ts","./src/app/features/employer/services/employer.service.ts","./src/app/features/layout/base-layout.module.ts","./src/app/features/layout/footer/footer.component.ts","./src/app/features/layout/footer/footer.component.html","./src/app/features/layout/global-nav/global-nav.component.ts","./src/app/features/layout/global-nav/global-nav.component.html","./src/app/features/layout/page-content/page-content.component.ts","./src/app/features/layout/page-content/page-content.component.html","./src/app/helpers/components/error-dialog/error-dialog.component.ts","./src/app/helpers/components/error-dialog/error-dialog.component.html","./src/app/helpers/interceptors/busy.interceptor.ts","./src/app/helpers/interceptors/request.interceptor.ts","./src/app/helpers/interceptors/token.interceptor.ts","./src/app/helpers/services/autologout.service.ts","./src/app/helpers/services/credit-card-payment.service.ts","./src/app/helpers/services/universal.device.detector.service.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale|sync|/^/.*$","ignored|C:\\agent1\\_work\\10\\s\\epay-web-ok\\node_modules\\xlsx|crypto","ignored|C:\\agent1\\_work\\10\\s\\epay-web-ok\\node_modules\\xlsx|fs","ignored|C:\\agent1\\_work\\10\\s\\epay-web-ok\\node_modules\\xlsx|stream"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { HomeComponent } from './features/common/components/home/home.component';\r\nimport { LogoutWarningComponent } from './features/common/components/logoutwarning/logoutwarning.component';\r\nimport { ChangePasswordComponent } from './features/common/components/changepassword/changepassword.component';\r\nimport { PrivacyPolicyComponent } from './features/common/components/privacypolicy/privacypolicy.component';\r\nimport { FaqComponent } from './features/common/components/faq/faq.component';\r\nimport { SecurityPolicyComponent } from './features/common/components/securitypolicy/securitypolicy.component';\r\nimport { ContactComponent } from './features/common/components/contact/contact.component';\r\nimport { TermsAndConditionsComponent } from './features/common/components/termsandconditions/termsandconditions.component';\r\nimport { WebAccessibilityComponent } from './features/common/components/webaccessibility/webaccessibility.component';\r\nimport { HowTosComponent } from './features/common/components/howtos/howtos.component';\r\nimport { RegisterComponent } from './features/common/components/register/register.component';\r\nimport { CreditCardComponent } from './features/common/components/creditcard/creditcard.component';\r\nimport { LoginComponent } from './features/common/components/login/login.component';\r\nimport { ForgotPasswordComponent } from './features/common/components/forgotpassword/forgotpassword.component';\r\nimport { ForgotUsernameComponent } from './features/common/components/forgotusername/forgotusername.component';\r\nimport { CreditCardSuccessComponent } from '../app/features/common/components/creditcard/creditcard-success/creditcard-success.component';\r\nimport { CreditCardCancelComponent } from '../app/features/common/components/creditcard/creditcard-cancel/creditcard-cancel.component';\r\nimport { EmployerFAQComponent } from './features/common/components/faq/employer-faq/employer-faq.component';\r\nimport { NcpFAQComponent } from './features/common/components/faq/ncp-faq/ncp-faq.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'home', component: HomeComponent },\r\n {\r\n path: 'employer',\r\n loadChildren: () =>\r\n import('./features/employer/employer.module').then(\r\n (m) => m.EmployerModule\r\n ),\r\n },\r\n {\r\n path: 'ncp',\r\n loadChildren: () =>\r\n import('./features/ncp/ncp.module').then((m) => m.NcpModule),\r\n },\r\n { path: 'login', component: LoginComponent },\r\n { path: 'forgotpassword', component: ForgotPasswordComponent },\r\n { path: 'forgotusername', component: ForgotUsernameComponent },\r\n { path: 'register', component: RegisterComponent },\r\n { path: 'creditcard', component: CreditCardComponent },\r\n { path: 'creditcardsuccess', component: CreditCardSuccessComponent },\r\n { path: 'creditcardcancel', component: CreditCardCancelComponent },\r\n { path: 'logoutwarning', component: LogoutWarningComponent },\r\n { path: 'changepassword', component: ChangePasswordComponent },\r\n { path: 'privacypolicy', component: PrivacyPolicyComponent },\r\n { path: 'securitypolicy', component: SecurityPolicyComponent },\r\n { path: 'contact', component: ContactComponent },\r\n { path: 'demo', component: HowTosComponent },\r\n { path: 'termsandconditions', component: TermsAndConditionsComponent },\r\n { path: 'webaccessibility', component: WebAccessibilityComponent },\r\n { path: 'faq', component: FaqComponent },\r\n { path: 'employerFAQ', component: EmployerFAQComponent },\r\n { path: 'ncpFAQ', component: NcpFAQComponent },\r\n { path: '', redirectTo: 'home', pathMatch: 'full' },\r\n { path: '**', component: HomeComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload' })],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BREAKPOINTS, BusyService } from 'epay-library';\r\nimport { AppLoadService } from '../app/appload/service/appload.service';\r\n\r\nimport { AuthService } from 'epay-library';\r\nimport { ErrorHandlerService } from 'epay-library';\r\nimport { ViewportService, CommonSettings } from 'epay-library';\r\nimport { AutoLogoutService } from './helpers/services/autologout.service';\r\nimport { observeOn } from 'rxjs/operators';\r\nimport { asapScheduler } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\n\r\nexport class AppComponent implements OnInit, OnDestroy{\r\n title = CommonSettings.Title;\r\n baseurl = CommonSettings.BaseApi;\r\n\r\n websiteMessage: any;\r\n isLoggedIn = false;\r\n isMobile = false;\r\n username = '';\r\n usertype = '';\r\n busy = false;\r\n message = '';\r\n errorMessage = '';\r\n\r\n constructor(\r\n private authservice: AuthService,\r\n private router: Router,\r\n private appLoadService: AppLoadService,\r\n private busyService: BusyService,\r\n private errorHandlerService: ErrorHandlerService,\r\n public viewpointService: ViewportService,\r\n public autologoutService: AutoLogoutService) {\r\n busyService.busyState$\r\n // asapScheduler ensures this is async; remove this and look in console to see nasty error without this\r\n .pipe(observeOn(asapScheduler))\r\n .subscribe((bs) => {\r\n this.busy = bs.isBusy;\r\n this.message = bs.message ? bs.message : '';\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.viewpointService.IsMobile.subscribe(\r\n (ismobile: boolean) => this.isMobile = ismobile\r\n );\r\n this.router.routeReuseStrategy.shouldReuseRoute = function () {\r\n return false;\r\n };\r\n }\r\n\r\n ngOnDestroy() {\r\n this.authservice.logout(this.baseurl);\r\n }\r\n\r\n logError(error: Error) {\r\n this.errorHandlerService.logError(error);\r\n }\r\n\r\n handleError(error: number) {\r\n console.log(this.errorMessage);\r\n console.log('error', error);\r\n this.errorHandlerService.handleErrorMessage(error, this.baseurl);\r\n }\r\n}\r\n","<div id=\"page\" class=\"page page-tn\">\r\n <div class=\"main\">\r\n <epay-global-nav [baseurl]=\"baseurl\"\r\n [isMobile]=\"isMobile\">\r\n </epay-global-nav>\r\n <div class=\"spinner-overlay\" [hidden]=\"!busy\">\r\n <div class=\"spinner-center\">\r\n <mat-spinner diameter=\"85\">\r\n </mat-spinner>\r\n {{message}}\r\n </div>\r\n </div>\r\n <div [hidden]=\"busy\" class=\"masterpanel\">\r\n <router-outlet>\r\n </router-outlet>\r\n </div>\r\n </div>\r\n <epay-footer></epay-footer>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { CommonEpayModule } from './features/common/common.module';\r\nimport { EmployerModule } from './features/employer/employer.module';\r\nimport { DatePipe } from '@angular/common';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { TokenInterceptor } from './helpers/interceptors/token.interceptor';\r\nimport { BusyInterceptor } from './helpers/interceptors/busy.interceptor';\r\nimport { UniversalDeviceDetectorService } from './helpers/services/universal.device.detector.service';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { BaseLayoutModule } from './features/layout/base-layout.module';\r\nimport { ApploadModule } from './appload/module/appload.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { HomeComponent } from './features/common/components/home/home.component';\r\nimport { FooterComponent } from './features/layout/footer/footer.component';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { AngularMyDatePickerModule } from 'angular-mydatepicker';\r\nimport { ngxInputRegulateModule } from 'ngx-input-regulate';\r\nimport { RequestInterceptor } from './helpers/interceptors/request.interceptor';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\r\nimport { ErrorDialogComponent } from './helpers/components/error-dialog/error-dialog.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HomeComponent,\r\n FooterComponent,\r\n ErrorDialogComponent\r\n ],\r\n imports: [\r\n ApploadModule,\r\n AppRoutingModule,\r\n BaseLayoutModule,\r\n BrowserAnimationsModule,\r\n BrowserModule,\r\n CommonEpayModule,\r\n EmployerModule,\r\n HttpClientModule,\r\n MatProgressSpinnerModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatExpansionModule,\r\n MatSelectModule,\r\n MatAutocompleteModule,\r\n NgbModule,\r\n RouterModule,\r\n AngularMyDatePickerModule,\r\n ngxInputRegulateModule,\r\n \r\n ],\r\n providers: [\r\n DatePipe,\r\n { provide: HTTP_INTERCEPTORS, useClass: TokenInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: BusyInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: RequestInterceptor, multi: true },\r\n {\r\n provide: DeviceDetectorService,\r\n useClass: UniversalDeviceDetectorService,\r\n },\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AppLoadService } from '../service/appload.service';\r\n\r\n// export function getSettings(apploadservice: AppLoadService) {\r\n// return () => apploadservice.getParameterSettings();\r\n// }\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [HttpClientModule, CommonModule],\r\n providers: [\r\n {\r\n provide: APP_INITIALIZER,\r\n deps: [AppLoadService],\r\n multi: true,\r\n useFactory: (appLoadService: AppLoadService) => {\r\n return () => {\r\n return appLoadService.getConfigSettings().then(() => {\r\n return appLoadService.getParameterSettings();\r\n });\r\n };\r\n },\r\n },\r\n ],\r\n})\r\nexport class ApploadModule {}\r\n","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { CommonSettings } from 'epay-library';\r\nimport { lastValueFrom, Observable, throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AppLoadService {\r\n constructor(private httpClient: HttpClient) {}\r\n\r\n async getParameterSettings(): Promise<any> {\r\n let apiCmd = 'Parameters';\r\n let gateway = 'EPayGateway/EPay/api/v1/';\r\n\r\n const obsParameterValue = this.httpClient\r\n .get<any>(CommonSettings.BaseApi + gateway + apiCmd, {\r\n headers: new HttpHeaders({\r\n Client: CommonSettings.ClientID,\r\n }),\r\n })\r\n .pipe(\r\n map((parameterValues: any) => {\r\n console.log('Loading settings....');\r\n CommonSettings.NumOfDaysForPaymentHistory =\r\n parameterValues.EPay_NumOfDaysForPaymentHistory;\r\n CommonSettings.NumOfDaysOutForCalendar =\r\n parameterValues.EPay_NumOfDaysOutForCalendar;\r\n CommonSettings.DaysToShowEFTFileHistory =\r\n parameterValues.EPay_DaysToShowEFTFileHistory;\r\n CommonSettings.Timezone = parameterValues.EPay_ClientTimeZone;\r\n CommonSettings.EmpWebsiteCode = parameterValues.EPay_EmpWebsiteCode;\r\n CommonSettings.AppInsightsConnectionString =\r\n parameterValues.EPay_AppInsightConnectionString;\r\n CommonSettings.AppInsightsEnableAutoRouteTracking =\r\n parameterValues.EPay_AppInsightEnableAutoRouteTracking;\r\n CommonSettings.CreditCardVendorID =\r\n parameterValues.EPay_CreditCardVendorID;\r\n CommonSettings.FortPointAccessToken =\r\n parameterValues.EPay_FortPointAccessToken;\r\n CommonSettings.FortPointCreditCardUrl =\r\n parameterValues.EPay_FortPointCreditCardUrl;\r\n CommonSettings.FortPointStateCode =\r\n parameterValues.EPay_FortPointStateCode;\r\n CommonSettings.ChatUrl = parameterValues.EPay_Chat_url;\r\n return parameterValues;\r\n }),\r\n catchError(this.handleError)\r\n );\r\n\r\n return await lastValueFrom(obsParameterValue);\r\n }\r\n\r\n async getConfigSettings(): Promise<any> {\r\n //Get settings from config file\r\n const configSettings = this.httpClient\r\n .get<any>('/assets/config/config.json')\r\n .pipe(\r\n map((configs: any) => {\r\n CommonSettings.Title = configs.title;\r\n CommonSettings.BaseApi = configs.baseApi;\r\n CommonSettings.TokenApi = configs.tokenApi;\r\n CommonSettings.ClientID = configs.clientID.toString();\r\n CommonSettings.ClientName = configs.clientName;\r\n CommonSettings.StateName = configs.stateName;\r\n CommonSettings.TimeOutInMins = configs.timeoutInMins.toString();\r\n CommonSettings.Environment = configs.environment;\r\n\r\n CommonSettings.CanCreateNewEmployer = this.toBoolean(configs.canCreateNewEmployer);\r\n CommonSettings.UseEmailForLogin = this.toBoolean(configs.useEmailForLogin);\r\n CommonSettings.CanRegisterWithClosedCase =\r\n this.toBoolean(configs.canRegisterWithClosedCase);\r\n CommonSettings.CanMakePaymentsToClosedCases =\r\n this.toBoolean(configs.canMakePaymentsToClosedCases);\r\n CommonSettings.EmployerUseCaseNumberForPayments =\r\n this.toBoolean(configs.employerUseCaseNumberForPayments);\r\n CommonSettings.NCPUseCaseNumberForPayments =\r\n this.toBoolean(configs.ncpUseCaseNumberForPayment);\r\n CommonSettings.SaveEmployeesForPayments =\r\n this.toBoolean(configs.saveEmployeesForPayments);\r\n CommonSettings.AllowEINSearch = this.toBoolean(configs.allowEINSearch);\r\n CommonSettings.CanInactivateNCPAccount =\r\n this.toBoolean(configs.canInactivateNCPAccount);\r\n\r\n return configs;\r\n }),\r\n catchError(this.handleError)\r\n );\r\n\r\n return await lastValueFrom(configSettings);\r\n }\r\n\r\n toBoolean(value: string): boolean {\r\n if (value === 'true')\r\n return true;\r\n else\r\n return false;\r\n }\r\n\r\n private handleError(err: HttpErrorResponse) {\r\n let errorMessage = '';\r\n if (err.error instanceof ErrorEvent) {\r\n errorMessage = `An Error Occurred: ${err.error.message}`;\r\n } else {\r\n errorMessage = `Server returned code: ${err.status}, error message is: ${err.message}`;\r\n console.log('Error Occurred: ' + errorMessage);\r\n }\r\n return throwError(() => err);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ChangePasswordComponent } from './components/changepassword/changepassword.component';\r\nimport { ContactComponent } from './components/contact/contact.component';\r\nimport { CreditCardComponent } from './components/creditcard/creditcard.component';\r\nimport { FaqComponent } from './components/faq/faq.component';\r\nimport { HowTosComponent } from './components/howtos/howtos.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { ForgotPasswordComponent } from './components/forgotpassword/forgotpassword.component';\r\nimport { ForgotUsernameComponent } from './components/forgotusername/forgotusername.component';\r\nimport { PrivacyPolicyComponent } from './components/privacypolicy/privacypolicy.component';\r\nimport { RegisterComponent } from './components/register/register.component';\r\nimport { SecurityPolicyComponent } from './components/securitypolicy/securitypolicy.component';\r\nimport { TermsAndConditionsComponent } from './components/termsandconditions/termsandconditions.component';\r\nimport { WebAccessibilityComponent } from './components/webaccessibility/webaccessibility.component';\r\nimport { CreditCardSuccessComponent } from './components/creditcard/creditcard-success/creditcard-success.component';\r\nimport { CreditCardCancelComponent } from './components/creditcard/creditcard-cancel/creditcard-cancel.component';\r\nimport { LogoutWarningComponent } from './components/logoutwarning/logoutwarning.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { BaseLayoutModule } from '../layout/base-layout.module';\r\nimport { CommonLibraryModule, HelperLibraryModule, MaterialLibraryModule } from 'epay-library';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { EmployerFAQComponent } from './components/faq/employer-faq/employer-faq.component';\r\nimport { NcpFAQComponent } from './components/faq/ncp-faq/ncp-faq.component';\r\nimport { PasswordChangeComponent } from './components/changepassword/password-change/password-change.component';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { ngxInputRegulateModule } from 'ngx-input-regulate';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { CommonForgotPasswordComponent } from './components/forgotpassword/forgot-password/forgot-password.component';\r\nimport { CommonForgotUsernameComponent } from './components/forgotusername/forgot-username/forgot-username.component';\r\nimport { CreditCardSuccessCommonComponent } from './components/creditcard/credit-card-success-common/credit-card-success-common.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ChangePasswordComponent,\r\n ContactComponent,\r\n CreditCardComponent,\r\n FaqComponent,\r\n HowTosComponent,\r\n LoginComponent,\r\n PrivacyPolicyComponent,\r\n RegisterComponent,\r\n SecurityPolicyComponent,\r\n TermsAndConditionsComponent,\r\n WebAccessibilityComponent,\r\n CreditCardSuccessComponent,\r\n CreditCardCancelComponent,\r\n LogoutWarningComponent,\r\n ForgotPasswordComponent,\r\n ForgotUsernameComponent,\r\n EmployerFAQComponent,\r\n NcpFAQComponent,\r\n PasswordChangeComponent,\r\n CommonForgotPasswordComponent,\r\n CommonForgotUsernameComponent,\r\n CreditCardSuccessCommonComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n BaseLayoutModule,\r\n CommonLibraryModule,\r\n MatExpansionModule,\r\n MatCardModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HelperLibraryModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MaterialLibraryModule,\r\n ngxInputRegulateModule\r\n ],\r\n exports: [\r\n ChangePasswordComponent,\r\n ContactComponent,\r\n CreditCardComponent,\r\n FaqComponent,\r\n HowTosComponent,\r\n LoginComponent,\r\n PrivacyPolicyComponent,\r\n RegisterComponent,\r\n SecurityPolicyComponent,\r\n TermsAndConditionsComponent,\r\n WebAccessibilityComponent,\r\n CreditCardSuccessComponent,\r\n CreditCardCancelComponent,\r\n LogoutWarningComponent,\r\n ],\r\n})\r\nexport class CommonEpayModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-changepassword',\r\n templateUrl: './changepassword.component.html',\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n pagetitle = 'Change Password';\r\n baseurl: string;\r\n constructor() {\r\n this.baseurl = CommonSettings.BaseApi;\r\n }\r\n\r\n ngOnInit() {}\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <!-- <epay-lib-common-changepassword\r\n [baseurl]=\"baseurl\">\r\n </epay-lib-common-changepassword> -->\r\n\r\n <password-change [baseurl]=\"baseurl\"></password-change>\r\n</epay-page-content>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { AbstractControl, FormControl, FormGroupDirective, NgForm, FormBuilder, Validators } from '@angular/forms';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { ErrorHandlerService, RegisterLibraryService, AuthService } from 'epay-library';\r\nimport { Router } from '@angular/router';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { error } from '@angular/compiler/src/util';\r\nimport { debounceTime } from 'rxjs';\r\n\r\nfunction passwordMatcher(\r\n c: AbstractControl\r\n): { [key: string]: boolean } | null {\r\n const password1Ctrl = c.get('newpassword1');\r\n const password2Ctrl = c.get('newpassword2');\r\n if (password1Ctrl === null || password2Ctrl === null) {\r\n return null;\r\n }\r\n if (password1Ctrl.pristine || password2Ctrl.pristine) {\r\n return null;\r\n }\r\n if (password1Ctrl.value === password2Ctrl.value) {\r\n return null;\r\n }\r\n return { doNotMatch: true };\r\n}\r\n\r\n/** Error when the parent is invalid */\r\nclass CrossFieldErrorMatcher implements ErrorStateMatcher {\r\n isErrorState(\r\n control: FormControl | null,\r\n form: FormGroupDirective | NgForm | null\r\n ): boolean {\r\n if (control) {\r\n return (control.dirty || control.touched) && control.parent!.invalid;\r\n }\r\n return false;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'password-change',\r\n templateUrl: './password-change.component.html'\r\n})\r\nexport class PasswordChangeComponent implements OnInit {\r\n @Input() baseurl = '';\r\n\r\n errorMatcher = new CrossFieldErrorMatcher();\r\n passwordFrmGp: any;\r\n currentPasswordHide = true;\r\n passwordHide = true;\r\n passwordConfirmHide = true;\r\n errorMessage = '';\r\n loginPattern =\r\n /(?=^[A-Za-z\\d]{8,12}$)(?=(.*[A-Za-z]){6,8})(?=(.*\\d){2,4})^.*/;\r\n\r\n passwordPattern = /(?=^[A-Za-z!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\\d]{8,12}$)(?=(.*[A-Za-z]){6})(?=(.*[!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]){1})(?=(.*\\d){2})^.*/;\r\n\r\n oldPasswordError = false;\r\n\r\n openConfirmation = false;\r\n confirmationTitle = '';\r\n confirmationMessage = '';\r\n confirmationNumber = '';\r\n goToPrimaryUrl = '';\r\n goToPrimary = '';\r\n restart = false;\r\n passwordHint =\r\n 'Must contain at least 6 letters, 2 numbers, and at least 1 special character with a maximum of 12 characters in length.';\r\n\r\n constructor(\r\n private formbuilder: FormBuilder,\r\n private router: Router,\r\n private errorHandlerService: ErrorHandlerService,\r\n private registerService: RegisterLibraryService,\r\n private authservice: AuthService,\r\n public snackbar: MatSnackBar\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.loadFormGroups();\r\n }\r\n\r\n toggleCurrentPasswordHide() {\r\n this.currentPasswordHide = !this.currentPasswordHide;\r\n }\r\n\r\n togglePasswordHide() {\r\n this.passwordHide = !this.passwordHide;\r\n }\r\n\r\n toggleConfirmPasswordHide() {\r\n this.passwordConfirmHide = !this.passwordConfirmHide;\r\n }\r\n\r\n changePassword() {\r\n const updatepassword = {\r\n oldPassword: this.passwordFrmGp.get('currentpassword').value,\r\n newPassword: this.passwordFrmGp.get('newpassword1').value,\r\n confirmNewPassword: this.passwordFrmGp.get('newpassword2').value,\r\n };\r\n this.registerService.resetPassword(this.baseurl, updatepassword).subscribe({\r\n next: (result: any) => {\r\n this.onSaveComplete(result.confirmationNumber);\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n\r\n onSaveComplete(confirmationNum: string) {\r\n this.passwordFrmGp.reset();\r\n this.confirmationTitle = 'Success';\r\n this.confirmationMessage = `Your password has been changed. Please click \"Log Out\" below to login with new password.`;\r\n this.confirmationNumber = confirmationNum;\r\n this.goToPrimaryUrl = '/login';\r\n this.goToPrimary = 'Log Out';\r\n this.restart = true;\r\n this.openConfirmation = true;\r\n }\r\n\r\n loadFormGroups() {\r\n this.passwordFrmGp = this.formbuilder.group(\r\n {\r\n currentpassword: ['', Validators.required],\r\n newpassword1: [\r\n '',\r\n [\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(12),\r\n Validators.pattern(this.passwordPattern),\r\n ],\r\n ],\r\n newpassword2: ['', Validators.required],\r\n },\r\n { validator: passwordMatcher }\r\n );\r\n }\r\n\r\n logError(error: Error) {\r\n this.errorHandlerService.logError(error);\r\n }\r\n\r\n handleError(error: number) {\r\n console.log('error', error);\r\n this.errorHandlerService.handleErrorMessage(error, this.baseurl);\r\n }\r\n}\r\n\r\n","<div class=\"container m--full-bleed mt-2\">\r\n <div class=\"row m--full-bleed justify-content-center\">\r\n <div class=\"col-12 flex-input-col\">\r\n <div *ngIf=\"!openConfirmation\" class=\"form-display-card\">\r\n <form [formGroup]=\"passwordFrmGp\" (ngSubmit)=\"changePassword()\">\r\n <mat-card class=\"max-w max-gs card-container\">\r\n <mat-card-header>\r\n <mat-card-title>Change Password is Required</mat-card-title>\r\n </mat-card-header>\r\n \r\n <div class=\"row\">\r\n <div class=\"flex-input-col col-lg-6\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Current Password\" [type]=\"currentPasswordHide ? 'password' : 'text'\"\r\n formControlName=\"currentpassword\">\r\n <mat-icon matSuffix (click)=\"toggleCurrentPasswordHide()\">{{currentPasswordHide ?\r\n 'visibility_off'\r\n :\r\n 'visibility'}}\r\n </mat-icon>\r\n <mat-error *ngIf=\"passwordFrmGp.get('currentpassword').hasError('required')\">Required.</mat-error>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n \r\n \r\n <div class=\"flex-input-col\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"New Password\" [type]=\"passwordHide ? 'password' : 'text'\"\r\n formControlName=\"newpassword1\">\r\n <mat-hint>{{passwordHint}}</mat-hint>\r\n <mat-icon matSuffix (click)=\"togglePasswordHide()\">{{passwordHide ? 'visibility_off' :\r\n 'visibility'}}\r\n </mat-icon>\r\n <mat-error *ngIf=\"passwordFrmGp.get('newpassword1').hasError('pattern')\">\r\n Must contain at least 6 letters, 2 numbers, and at least 1 special character with a maximum of 12 characters in length.\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput [errorStateMatcher]=\"errorMatcher\" placeholder=\"Confirm New Password\"\r\n [type]=\"passwordConfirmHide ? 'password' : 'text'\" formControlName=\"newpassword2\">\r\n <mat-icon matSuffix (click)=\"toggleConfirmPasswordHide()\">{{passwordConfirmHide ?\r\n 'visibility_off' :\r\n 'visibility'}}\r\n </mat-icon>\r\n <mat-error *ngIf=\"passwordFrmGp.hasError('doNotMatch')\">\r\n Passwords do not match.\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n \r\n <div>\r\n <button [disabled]=\"passwordFrmGp.invalid\" class=\"btn btn-submit mt-4\" mat-raised-button\r\n type=\"submit\">Save</button>\r\n </div>\r\n </mat-card>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n \r\n <epay-lib-common-confirmation *ngIf=\"openConfirmation\" [baseurl]=\"baseurl\" [confirmationTitle]=\"confirmationTitle\"\r\n [confirmationMessage]=\"confirmationMessage\" [confirmationNumber]=\"confirmationNumber\" [restart]=\"restart\"\r\n [goToPrimary]=\"goToPrimary\" [goToPrimaryUrl]=\"goToPrimaryUrl\">\r\n </epay-lib-common-confirmation>","import { Component, OnInit } from '@angular/core';\r\nimport { CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-contact',\r\n templateUrl: './contact.component.html',\r\n})\r\nexport class ContactComponent implements OnInit {\r\n pagetitle = 'Contact Information';\r\n chaturl = '';\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.chaturl = CommonSettings.ChatUrl;\r\n }\r\n\r\n openChat() {\r\n window.open(this.chaturl, '', 'width=510, height=900');\r\n }\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"box-panel shadow max-w max-gs\">\r\n <div class=\"m--pa4\">\r\n <h2 class=\"mb-5\">Contact Us</h2>\r\n <h3>Address</h3>\r\n Oklahoma Centralized Support Registry <br>\r\n P.O. Box 268809 <br>\r\n Oklahoma City, OK 73126-8809 <br>\r\n <br>\r\n <h3>Telephone</h3>\r\n 1-855-363-1754\r\n <div style=\"font-size: smaller;\"><i>Note: If you are calling from a cell phone and have free long distance, \r\n please call the local number instead of the toll free number.</i></div>\r\n <br>\r\n <h3>E-mail</h3>\r\n <address>\r\n <a href=\"mailto:okecsupport@smimail.net\">\r\n <u>okecsupport@smimail.net</u>\r\n </a>\r\n </address>\r\n <div style=\"font-size: smaller;\"><i>Note: All questions related to a child support case should be directed to CARE at 1-800-522-2922.</i>\r\n </div>\r\n <br>\r\n <!-- <h3>Live Chat</h3>\r\n <div>\r\n <span>\r\n <img (click)=\"openChat()\" src=\"../../../../../assets/images/chaticonmid.png\">\r\n </span>\r\n </div> -->\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CreditCardService, ErrorHandlerService } from 'epay-library';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'credit-card-success-common',\r\n templateUrl: './credit-card-success-common.component.html'\r\n})\r\nexport class CreditCardSuccessCommonComponent implements OnInit {\r\n @Input() baseurl = '';\r\n @Input() encryptedTransactionId = '';\r\n @Input() clientId = '';\r\n\r\n paymentDate = '';\r\n empName = '';\r\n confirmationId = '';\r\n amount = 0;\r\n processFee = 0;\r\n totalAmount = 0;\r\n transactionId = '';\r\n payorType = '';\r\n\r\n errorMessage = '';\r\n\r\n constructor(\r\n private router: Router,\r\n private creditcardservice: CreditCardService,\r\n private errorhandleservice: ErrorHandlerService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.creditcardservice\r\n .getCreditCardAttemptLogDetails(\r\n this.baseurl,\r\n this.encryptedTransactionId,\r\n this.clientId\r\n )\r\n .subscribe({\r\n next: (response: any) => {\r\n this.paymentDate = response[0].logEntryTime;\r\n this.empName = response[0].employerName;\r\n this.confirmationId = response[0].confirmationNumber;\r\n this.amount = +response[0].paymentAmount;\r\n this.processFee = +response[0].convenienceAmount;\r\n this.totalAmount = +response[0].totalPaymentAmount;\r\n this.transactionId = response[0].transactionNumber;\r\n this.payorType = response[0].payorType;\r\n },\r\n error: (error: any) => {\r\n console.log(error);\r\n this.logError(error);\r\n this.handleError(error.staus);\r\n },\r\n });\r\n }\r\n\r\n Print() {\r\n window.print();\r\n }\r\n\r\n GoToHomePage() {\r\n this.router.navigateByUrl('home');\r\n }\r\n\r\n logError(error: Error) {\r\n this.errorhandleservice.logError(error);\r\n }\r\n\r\n handleError(error: number) {\r\n console.log(this.errorMessage);\r\n this.errorhandleservice.handleErrorMessage(error, this.baseurl);\r\n }\r\n}\r\n","<div class=\"container m--full-bleed\">\r\n <div class=\"form-display-card\">\r\n <mat-card class='mat-card-display mb-5'>\r\n <mat-card-header>\r\n <mat-card-title class=\"justify-content-right\">\r\n <h2 class=\"mat-card-title align-items-start\">\r\n <span class=\"fa fa-credit-card fa-md-black mr-2\"></span> Credit Card Payment Successful\r\n </h2>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div class=\"section-to-print\">\r\n <p class=\"mb-5\">Your payment has been successfully processed and a receipt has been sent to the email\r\n address you provided.</p>\r\n <div class=\"row m--full-bleed\">\r\n <!-- Employer, if applicable -->\r\n <div *ngIf=\"payorType === 'EMP'\" class=\"col-12\">\r\n <dl class=\"account-details-sum\">\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Employer Name</dt>\r\n <dd class=\"account-dt-info\">{{empName}}</dd>\r\n </div>\r\n </dl>\r\n </div>\r\n <div class=\"col-12 col-md-6\">\r\n <!-- overview-->\r\n <dl class=\"account-details-sum\">\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Date</dt>\r\n <dd class=\"account-dt-info\">{{paymentDate | validDate}}</dd>\r\n </div>\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Confirmation Number</dt>\r\n <dd class=\"account-dt-info\">{{confirmationId}}</dd>\r\n </div>\r\n </dl>\r\n </div>\r\n <div class=\"col-12 col-md-6\">\r\n <!-- payment details -->\r\n <dl class=\"account-details-sum\">\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Amount</dt>\r\n <dd class=\"account-dt-info\">{{amount | currency}}</dd>\r\n </div>\r\n <!-- <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Service Fee</dt>\r\n <dd class=\"account-dt-info\">{{processFee | currency}}</dd>\r\n </div> -->\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Total Amount</dt>\r\n <dd class=\"account-dt-info\">{{totalAmount | currency}}</dd>\r\n </div>\r\n </dl>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n <div class=\"t-alignC pt-2 pb-2\">\r\n <button class=\"btn\" (click)=\"GoToHomePage()\">Home</button>\r\n <button class=\"btn\" (click)=Print()>Print</button>\r\n </div>\r\n </div>\r\n </div>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'epay-creditcard-cancel',\r\n templateUrl: './creditcard-cancel.component.html'\r\n})\r\nexport class CreditCardCancelComponent implements OnInit {\r\n pagetitle = \"Credit Card Payment Cancelled\";\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main\" id=\"page-content-main\">\r\n <div class=\"row justify-content-center\">\r\n <mat-card class=\"col-5 mt-3\">\r\n <mat-card-content>\r\n <div class=\"row justify-content-center\">\r\n <p>Your payment attempt has been cancelled. The information was not saved.</p>\r\n <div class=\"next-links mb-3\">\r\n <a class=\"btn-link mt-3\" [routerLink]=\"['/login']\">Login</a>\r\n <a class=\"btn-link mt-3\" [routerLink]=\"['/home']\">Home</a>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-creditcard-success',\r\n templateUrl: './creditcard-success.component.html'\r\n})\r\nexport class CreditCardSuccessComponent implements OnInit {\r\n pagetitle = \"Credit Card Payment Success\";\r\n encryptedTransactionId: string;\r\n baseurl = CommonSettings.BaseApi;\r\n clientId = CommonSettings.ClientID;\r\n\r\n constructor(private route: ActivatedRoute) {\r\n this.encryptedTransactionId = '';\r\n }\r\n\r\n ngOnInit(): void {\r\n this.route.queryParams.subscribe(params => {\r\n this.encryptedTransactionId = params['tid'];\r\n });\r\n }\r\n\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main box-panel shadow max-w max-gs\" id=\"page-content-main\">\r\n <!-- <epay-lib-common-creditcard-success [encryptedTransactionId]=\"encryptedTransactionId\" [baseurl]=\"baseurl\"\r\n [clientId]=\"clientId\">\r\n </epay-lib-common-creditcard-success> -->\r\n\r\n <credit-card-success-common [encryptedTransactionId]=\"encryptedTransactionId\" [baseurl]=\"baseurl\"\r\n [clientId]=\"clientId\"></credit-card-success-common>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'epay-creditcard',\r\n templateUrl: './creditcard.component.html'\r\n})\r\nexport class CreditCardComponent implements OnInit {\r\n pagetitle = \"New Credit Card Payment\";\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main box-panel shadow t-alignC max-w max-gs\" id=\"page-content-main\">\r\n <h2 class=\"mb-5\">Select Your Account Type</h2>\r\n <div class=\"account-link-options\">\r\n <a class=\"btn-link mx-3 mb-3\" [routerLink]=\"['/ncp/creditcard']\">Noncustodial Parent</a>\r\n <a class=\"btn-link mx-3 mb-3\" [routerLink]=\"['/login']\" [state]=\"{ creditCardMessage: 'To make a credit card payment, please login and select Credit Card Payment in the drop-down menu.' }\">Employer</a>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'app-employer-faq',\r\n templateUrl: './employer-faq.component.html'\r\n})\r\nexport class EmployerFAQComponent implements OnInit {\r\n chaturl: string ='';\r\n\r\n constructor() {\r\n this.chaturl = CommonSettings.ChatUrl;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openChat() {\r\n window.open(this.chaturl, '', 'width=510, height=900');\r\n }\r\n}\r\n","<div class=\"container \" id=\"page-content-main\">\r\n <div class=\"mt-4\">\r\n <div class=\"\">\r\n <mat-card class=\"mb-3\" style=\"border-radius: 10px\">\r\n <mat-card-content>\r\n <a [routerLink]=\"['/home']\" class=\"ts-l tw-b\">\r\n <span class=\"fa fa-chevron-circle-left fa-sm-blue\" matTooltip=\"GO BACK\"\r\n matTooltipClass=\"tooltip-md\">\r\n </span>\r\n Back\r\n </a>\r\n <br><br>\r\n <div class=\"container-fluid\">\r\n <h2>Employer FAQ</h2>\r\n <p>\r\n <div class=\"accordion accordion-flush\" id=\"accordionFlushExample\">\r\n\r\n <!-------ACH CREDIT ------------->\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingOne\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseOne\" aria-expanded=\"false\" aria-controls=\"flush-collapseOne\"\r\n style=\"font-weight: bold;\">\r\n ACH Credit (EFT/ EDI)\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseOne\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingOne\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!---------------------------------------------------------------------------------------------->\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n How can I obtain information on the EFT/ EDI process?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Download an information packet at this web site or contact the Oklahoma Employer Services Center at 1-866-553-2368.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!---------------------------------------------------------------------------------------------->\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n I recently arranged for a prenote transmission, when can I stop mailing in checks?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Five business days are required to validate bank account information that has not been\r\n previously verified. You should continue to remit a check for your employees’\r\n child support withholdings during this five business day period. You will be\r\n notified if the prenote is unsuccessful, at which point you must continue to\r\n remit a check until your bank account information has been successfully verified.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!---------------------------------------------------------------------------------------------->\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What should I do if the wrong amount is withheld from an employee’s paycheck?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Contact OKESC at 1-866-553-2368.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!---------------------------------------------------------------------------------------------->\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Can I transmit a debit transaction (reversal) if there is a mistake?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n No, debit transactions are not allowed.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n </div>\r\n </div>\r\n </div>\r\n <!-------ACH DEBIT---------------------->\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingTwo\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseTwo\" aria-expanded=\"false\" aria-controls=\"flush-collapseTwo\"\r\n style=\"font-weight: bold;\">\r\n ACH Debit\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseTwo\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingTwo\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!------REGISTRATION and PASSWORDS------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Questions about Registering and Scheduling a Bank Draft\r\n </mat-expansion-panel-header>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n What should I do to have child support payments automatically withdrawn from my bank account?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n Click Employer at this web site, register an account, and schedule a payment.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n What information is required to register an account on the web site?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <ul class=\"list-bullet mx-4\">\r\n <li>Employer Name</li>\r\n <li>Contact Name</li> \r\n <li>Telephone Number</li>\r\n <li>Valid Email Address</li>\r\n <li>Bank information: bank name, routing number, account number, type of account; checking or savings</li>\r\n </ul>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n Can I schedule more than one payment, for example, a payment on the 20th of the month, as well as a \r\n payment every two weeks on Friday?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n Yes, however, you will need to schedule each payment separately.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------BANK DRAFT------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Questions about Scheduling a Bank Draft\r\n </mat-expansion-panel-header>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n What should I do to have child support payments automatically withdrawn from my bank account?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n Click Employer at this web site, register an account, and schedule a payment.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n Can I schedule more than one payment, for example, a payment on the 20th of the month,\r\n as well as a payment every two weeks on Friday?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n Yes, however, you will need to schedule each payment separately.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n Can I have more than one bank account authorized for a payment?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n No, you can only authorize one bank account for a payment.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n What day will funds be withdrawn from my bank account?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n Funds will be withdrawn on the scheduled payment date. If that date falls on a\r\n Saturday, Sunday, or bank holiday the funds will be withdrawn the next business day.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n How long will it take for Oklahoma Child Support Services to receive a child support payment \r\n once it is withdrawn from my bank account? \r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n The payment will be processed on the scheduled date unless there are technical difficulties. Your \r\n employees will receive credit for the payment in two to three business days.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <!-- <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n How long will it take for Oklahoma Child Support Services to receive a child support\r\n payment once it is withdrawn from my bank account?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n The payment will be processed on the scheduled date unless there are technical difficulties.\r\n Your employees will receive credit for the payment on the same date.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion> -->\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n What happens if my payment is scheduled for a weekend or a holiday?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n If a withdrawal falls on a Saturday, Sunday, or bank holiday,\r\n the funds will be withdrawn the next business day. Your\r\n employees will receive credit for the payment in two to three business days.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n What is the earliest date that I can schedule a payment?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n Your payment start date must be at least five business days from the date you register your account.\r\n This will allow sufficient time for your bank account information to be verified (prenote).\r\n If your account has been previously verified then the payment must be scheduled at least two business\r\n days prior to its due date.\r\n <br><br>\r\n <span style=\"font-weight: 600;\">Example:</span> If you register your account on Monday the 1st, you must set your payment\r\n start date no earlier than Tuesday the 9th.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n I entered a start date and the web site calculated a different date for my first payment. What am I doing wrong?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n If you entered a start date that is less than five business days from today's date, your date will be\r\n automatically adjusted to include the five business day verification (prenote) period.\r\n <br><br>\r\n <span style=\"font-weight: 600;\">Example:</span> Today is January 26 (Monday) and you entered January 30 (Friday) as your payment start date.\r\n The web site calculates the start date as February 3, taking the five business day verification period\r\n into consideration; January 27 - February 2.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------PRENOTE------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Questions about Verification (Prenote) Period\r\n </mat-expansion-panel-header>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n What happens after I register an account and schedule a payment?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n If your bank account information has not been previously verified, it will be\r\n submitted to your bank for verification (prenote). If the prenote is successful,\r\n your payments will be withdrawn as scheduled. If the prenote is unsuccessful,\r\n you will be notified by e-mail and no payment will be processed.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n Why would a prenote be returned as unsuccessful?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n Most prenotes are returned as unsuccessful when the bank account information was entered incorrectly.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n I received an e-mail that the prenote was unsuccessful. What should I do now?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n Edit your bank account information through this web site and reschedule your payment.\r\n The prenote will be resubmitted. You may want to contact your bank if you need assistance\r\n identifying the routing and account numbers.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------EDIT OR CHANGE BANK ACCOUNTS------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Questions about Editing or Changing Bank Accounts\r\n </mat-expansion-panel-header>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n I changed my bank account, what should I do?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n Submit your new bank account information when you schedule your next payment. A prenote will be sent to \r\n verify the new bank account information. If your payment is due before the end of the five business day \r\n verification (prenote) period, you will need to mail your employees’ withholdings to the Oklahoma \r\n Centralized Support Registry in order to avoid delinquency on their child support accounts.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n I authorized a bank draft and now I want to cancel it. What should I to do?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n Change or cancel your payment through this web site. You must allow two business\r\n days prior to the payment's scheduled date to cancel your payment.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------UNAVAILABLE FUNDS------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Questions about Unavailable Funds\r\n </mat-expansion-panel-header>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n What if my bank account does not have sufficient funds to cover a payment?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n You must cancel your payment at least two business days prior to its scheduled date.\r\n You can cancel your payment at this web site.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n What if I fail to cancel the payment two business days prior to its\r\n scheduled date and there are insufficient funds in my account?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n Your account will be placed on hold and your automatic withdrawal will be cancelled. You will be \r\n required to remit all future payments with a guaranteed payment instrument such as a money \r\n order, cashier's check, or certified check. Call CARE at 1-800-522-2922 as soon as possible, \r\n as it may be possible to stop or prevent the issuance of erroneous funds, thereby avoiding a bad debt.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"m-3\">\r\n Why is my bank account on hold?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n We attempted to withdraw the funds from your bank account and they were not available.\r\n You will be required to remit all future payments by a guaranteed instrument such as a\r\n money order, cashier's check, or certified check, or credit card.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!----- PASSWORD ------------------------------------------------------------------------------------------->\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingFour\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseFour\" aria-expanded=\"false\" aria-controls=\"flush-collapseFour\"\r\n style=\"font-weight: bold;\">\r\n Password FAQs\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseFour\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingFour\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"mt-3\">\r\n I am having trouble creating a password.\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n Your password must consist of at least two numbers and six letters, and not exceed 12\r\n characters in length. In addition, it cannot contain any special characters.\r\n For example, question marks, number signs, periods.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"mt-3\">\r\n Can my password be the same as my user ID?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n No, it must be different from your user ID.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"mt-3\">\r\n Does my password ever expire?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n No, your password does not expire.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"mt-3\">\r\n I forgot my password. What should I do?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n On the login page, click \"Forgot your password?\", enter the required information, and create a new password.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n <div class=\"mt-3\">\r\n If I forget my password and change it but remember it later and want to change it back to the original password can I?\r\n </div>\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-4\">\r\n Yes, you can.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <!-----CREDIT CARDS------------------------------------------------------------------------------------->\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingThree\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseThree\" aria-expanded=\"false\" aria-controls=\"flush-collapseThree\"\r\n style=\"font-weight: bold;\">\r\n Credit Card FAQs\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseThree\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingThree\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What credit cards do you accept?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n You may use your MasterCard® or Visa® to make a child support payment.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <!-- <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What browsers do you support for e-wallet payments?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Apple Pay payments must be made with an Apple device. Google Pay and PayPal payments\r\n may be made with any browser. You must use Safari (iOS) or Chrome (Android) when\r\n making a payment through Venmo.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br> -->\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What information is required to make a credit card payment?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n The following information is required to make a credit card payment: <br>\r\n\r\n <ul class=\"list-bullet mx-3\">\r\n <br>\r\n <li>Credit card holder's name.</li>\r\n <li>Credit card holder's billing address.</li>\r\n <li>Valid e-mail address.</li>\r\n <li>MasterCard® or Visa® credit card number and expiration date and CVV2/ CVC2 3-digit security code.</li>\r\n </ul>\r\n </div>\r\n\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What should I do if I don't have an e-mail address?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n A valid e-mail address is required in order for us to communicate with you electronically.\r\n If you do not have an e-mail address we cannot send you information such as a confirmation\r\n of your transactions. Free e-mail accounts are available on the Internet. To locate one,\r\n use any search engine and search for \"free e-mail\".\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <!-- <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Can I make a credit card payment by phone?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Yes, you can make a non-recurring payment for an employee by calling 1.844.324.3856.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br> -->\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Is there a minimum payment requirement?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Yes, there is a minimum payment requirement of $1.00.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What is the maximum payment that I can make?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n The maximum payment that you can make in one transaction is $9,999.99; if your card has\r\n that amount of credit available. Multiple transactions can be made in one day if each\r\n transaction does not exceed $9,999.99, and the appropriate amount of credit is available.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <!-- <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What is the purpose of the service fee?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n The credit card service fee is charged for the convenience of using this easy\r\n payment method. Without the service fee, the cost of providing this service would be prohibitive.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br> -->\r\n <!------------------------------------------------------------------------------------------------>\r\n <!-- <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n How much is the service fee?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n The service fee for using this service is 2.50% of the amount of the primary child support payment.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br> -->\r\n <!------------------------------------------------------------------------------------------------>\r\n <!-- <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Will the service fee be applied to my child support obligation?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n The service fee is separate from your child support obligation and is not applied to it.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br> -->\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n When will my credit card be charged for my child support payment?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Your credit card is charged at the time you submit the transaction, and your credit card company authorizes it.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n When will my payment be applied to my employees' child support accounts?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n They will receive credit in two to three business days.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What is the CVV2/ CVC2 3 or 4-digit security code and where do I find it?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n The CVV2/ CVC2 3-digit security code is an added security measure. It is used to establish that you are \r\n in possession of the credit card. The code is printed just above the signature panel in reverse italics \r\n on the back of your card. Usually your card number precedes it.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n My credit card transaction was declined, what should I do?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n You will need to contact your credit card company to determine why the payment was not authorized.\r\n It could have been declined for one of the following reasons: <br>\r\n \r\n <br />\r\n • The credit card number and/ or CVV2/ CVC2 security code was incorrectly entered.<br>\r\n \r\n <br />\r\n • There is a discrepancy between the address you entered and the billing address that\r\n is on file with the card-issuing bank. You must enter the billing address that appears on your credit card statement. <br>\r\n \r\n <br />\r\n • A foreign address (a country other than the US) was entered. The web site is unable\r\n to process credit card payments with a foreign address.<br>\r\n \r\n <br />\r\n • There is insufficient credit available for the payment amount.\r\n <br>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <!-- <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n How do I obtain a refund on a credit card payment made through this website?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n You will need to contact Oklahoma Child Support Customer Service at 1-855-363-1754.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion> -->\r\n <br>\r\n </div>\r\n </div>\r\n </div>\r\n <!-----GENERAL ------------------------------------------------------------------------------------------->\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingFour\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseFour\" aria-expanded=\"false\" aria-controls=\"flush-collapseFour\"\r\n style=\"font-weight: bold;\">\r\n General FAQs\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseFour\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingFour\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Are employers required to send child support payments electronically?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Employers are not required to remit payments electronically. However,\r\n by submitting electronically, employers can reduce their cost for submitting child support payments.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <!-- <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n I tried to register my employer on the web site, but my company name could not be located. What should I do?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Contact the Oklahoma Centralized Support Registry at 1-855-363-1754 and report the problem. \r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br> -->\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Why am I unable to upload or download files with my employees’ payment information?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Microsoft Excel must be installed on your device to upload or download files.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n </div>\r\n </div>\r\n </div>\r\n <!-----TECHNICAL ISSUES---------------------------------------------------------------------------->\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingFive\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseFive\" aria-expanded=\"false\" aria-controls=\"flush-collapseFive\"\r\n style=\"font-weight: bold;\">\r\n Technical Issues\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseFive\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingFive\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n It appears there is a problem with the web site. What should I do?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Contact the Oklahoma Centralized Support Registry at 1-855-363-1754 and report the problem. \r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n </div>\r\n </div>\r\n </div>\r\n <!-----UNAUTHORIZED ACCESS TO ACCOUNT---------------------------------------------------------------------------->\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingSix\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseSix\" aria-expanded=\"false\" aria-controls=\"flush-collapseSix\"\r\n style=\"font-weight: bold;\">\r\n Unauthorized Access of an Account\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseSix\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingSix\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n I believe someone has access to my web site user ID and password. What do I need to do?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Change your user ID and password through this web site.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Money has been withdrawn from my account without my permission. What should I do?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Contact the Oklahoma Centralized Support Registry at 1-855-363-1754 immediately. You will be \r\n asked to submit your claim in writing.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--------CONTACT INFORMATION------------------------------------------------------------------------------------>\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingSeven\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseSeven\" aria-expanded=\"false\" aria-controls=\"flush-collapseSeven\"\r\n style=\"font-weight: bold;\">\r\n Contact Information\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseSeven\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingSeven\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body mx-3\">\r\n Assistance with web site and payment schedules: 1-855-363-1754, Oklahoma Centralized Support Registry\r\n <br />\r\n\r\n <br />\r\n Assistance with employer-related questions: 1-866-553-2368, Oklahoma Employer Services Center\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'epay-faq',\r\n templateUrl: './faq.component.html',\r\n})\r\nexport class FaqComponent implements OnInit {\r\n pagetitle = 'FAQs';\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n}\r\n","<epay-page-content>\r\n <div class=\"page-content-main box-panel shadow t-alignC max-w max-gs\" id=\"page-content-main\">\r\n <h2 class=\"mb-5\">Select Account Type</h2>\r\n <div class=\"account-type-links mx-5\">\r\n <div class=\"mb-3\">\r\n <a class=\"btn-link mx-3 mb-3\"[routerLink]=\"['/ncpFAQ']\">Noncustodial Parent</a>\r\n <a class=\"btn-link mx-3 mb-3\"[routerLink]=\"['/employerFAQ']\">Employer</a>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'app-ncp-faq',\r\n templateUrl: './ncp-faq.component.html'\r\n})\r\nexport class NcpFAQComponent implements OnInit {\r\n chaturl: string ='';\r\n\r\n constructor() {\r\n this.chaturl = CommonSettings.ChatUrl;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openChat() {\r\n window.open(this.chaturl, '', 'width=510, height=900');\r\n }\r\n\r\n}\r\n","<div class=\"container \" id=\"page-content-main\">\r\n <div class=\"mt-4\">\r\n <div class=\"\">\r\n <mat-card class=\"mb-3\" style=\"border-radius: 10px\">\r\n <mat-card-content>\r\n <a [routerLink]=\"['/home']\" class=\"ts-l tw-b\">\r\n <span class=\"fa fa-chevron-circle-left fa-sm-blue\" matTooltip=\"GO BACK\"\r\n matTooltipClass=\"tooltip-md\">\r\n </span>\r\n Back\r\n </a>\r\n <br><br>\r\n <div class=\"container-fluid\">\r\n <h2>Noncustodial Parent FAQ</h2>\r\n <p>\r\n Welcome to the OK Child Support Internet Payment Web Site. This site allows child support payors to initiate bank \r\n draft authorizations to satisfy child support court orders via the web. Although a user may be registered to access \r\n OK Child Support case information, a separate registration is required to submit child support payments through the \r\n OK Child Support Internet Payment Web Site.\r\n </p>\r\n <div class=\"accordion accordion-flush\" id=\"accordionFlushExample\">\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingOne\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseOne\" aria-expanded=\"false\" aria-controls=\"flush-collapseOne\"\r\n style=\"font-weight: bold;\">\r\n Questions About Registering\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseOne\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingOne\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!---------------------------------------------------------------------------------------------->\r\n <br>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c; padding-top: 20px\">\r\n Can I have child support payments automatically withdrawn from my bank account if I am under an Income Withholding Order?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Yes, but income withholding will remain in effect and not be terminated.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!---------------------------------------------------------------------------------------------->\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n If I elect to have child support payments automatically withdrawn from my bank account, can I pay what I want?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Yes, however, we encourage you to schedule your payments in an amount equal\r\n to your current child support obligation(s) to avoid delinquency.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!---------------------------------------------------------------------------------------------->\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What do I need to do to have child support payments automatically withdrawn from my bank account?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Click Non-Custodial Parent at this web site, register an account, and schedule a payment. You must have a valid e-mail address.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!---------------------------------------------------------------------------------------------->\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What if I want to use the web site but I don't have an e-mail address?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n A valid e-mail address is required in order for us to communicate with you electronically.\r\n If you do not have an e-mail address we cannot send you information such as a confirmation\r\n of your transactions. Free e-mail accounts are available on the Internet. To locate one,\r\n use any search engine and search for \"free e-mail.\"\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!---------------------------------------------------------------------------------------------->\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What information is required to register an account on the web site?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n If you want to register an account for yourself, the following information is required:\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <h5 class=\"mt-3\"><u>Personal Information</u></h5>\r\n <ul>\r\n <li>Full Legal Name</li>\r\n <li>Address</li>\r\n <li>Social Security Number</li>\r\n <li>Family group number (FGN)</li>\r\n <li>Telephone Number</li>\r\n <li>Valid E-mail Address</li>\r\n </ul>\r\n </div>\r\n <div class=\"col\">\r\n <h5 class=\"mt-3\"><u>Bank Information</u></h5>\r\n <ul>\r\n <li>Bank Name</li>\r\n <li>Routing Number</li>\r\n <li>Account Number</li>\r\n <li>Type of Account: Checking or Savings</li>\r\n </ul>\r\n </div>\r\n </div>\r\n <br>\r\n\r\n If you want to register an account and make a payment for someone else, you will need to provide the following information for yourself:\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <h5 class=\"mt-3\"><u>Your Contact Information</u></h5>\r\n <ul>\r\n <li>Full Legal Name</li>\r\n <li>Address</li>\r\n <li>Relation To Payor</li>\r\n <li>Telephone Number</li>\r\n <li>Valid E-mail Address</li>\r\n </ul>\r\n </div>\r\n <div class=\"col\">\r\n <h5 class=\"mt-3\"><u>Payor Information</u></h5>\r\n <ul>\r\n <li>Full Legal Name</li>\r\n <li>Social Security Number</li>\r\n <li>Address</li>\r\n <li>Family group number (FGN) of the payor</li>\r\n <li>Telephone Number</li>\r\n </ul>\r\n </div>\r\n <div class=\"col\">\r\n <h5 class=\"mt-3\"><u>Bank Information</u></h5>\r\n <ul>\r\n <li>Bank Name</li>\r\n <li>Routing Number</li>\r\n <li>Account Number</li>\r\n <li>Type of Account: Checking or Savings</li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!---------------------------------------------------------------------------------------------->\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Where can I find my family group number (FGN)? \r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Your FGN is located on your payor coupons, child support court order, and other documents related to your \r\n child support order. You may also contact Oklahoma SDU Customer Service at 1-855-363-1754 or contact CARE \r\n at 1-800-522-2922 for this information.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!---------------------------------------------------------------------------------------------->\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Can I have more than one bank account authorized for a payment?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n No, you can only authorize one bank account for a payment.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingTwo\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseTwo\" aria-expanded=\"false\" aria-controls=\"flush-collapseTwo\"\r\n style=\"font-weight: bold;\">\r\n Questions About Setting Up a Payment\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseTwo\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingTwo\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What are my payment options?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n You may schedule a one-time only (non-recurring) payment or you may schedule recurring payments using one of the following options:\r\n <br><br>\r\n <ul>\r\n <li>Weekly: Monday, Tuesday, Wednesday, Thursday, or Friday </li><br>\r\n <li>Every two weeks: Monday, Tuesday, Wednesday, Thursday, or Friday </li><br>\r\n <li>Semi-Monthly: two payments per month based on the following schedule:\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <table class=\"table table-borderd\">\r\n <tr>\r\n <td>1st & 16th</td>\r\n <td>6th & 21st</td>\r\n <td>11th & 26th</td>\r\n </tr>\r\n <tr>\r\n <td>2nd & 17th</td>\r\n <td>7th & 22nd</td>\r\n <td>12th & 27th</td>\r\n </tr>\r\n <tr>\r\n <td>3rd & 18th</td>\r\n <td>8th & 23rd</td>\r\n <td>13th & 28th</td>\r\n </tr>\r\n <tr>\r\n <td>4th & 19th</td>\r\n <td>9th & 24th</td>\r\n <td>14th & 29th</td>\r\n </tr>\r\n <tr>\r\n <td>5th & 20th</td>\r\n <td>10th & 25th</td>\r\n <td>15th & 30th</td>\r\n </tr>\r\n </table>\r\n </div>\r\n </div>\r\n </li>\r\n <li>Monthly: 1st-31st</li><br>\r\n </ul>\r\n <span style=\"font-weight: 600;\"> Note:</span> Semi-monthly and monthly payments will occur on the last day of the month in months with fewer days than the date scheduled. For example, if the 15th and 30th are selected, February's payments would occur on the 15th and 28th (the last day of the month).\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Can I schedule more than one payment, for example,\r\n a payment on the 20th of the month, as well as a payment every two weeks on Friday?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Yes, however, you will need to schedule each payment separately.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What day will funds be withdrawn from my bank account?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Funds will be withdrawn on the scheduled payment date. If that date falls on\r\n a Saturday, Sunday, or bank holiday the funds will be withdrawn the next business day.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n How long will it take for Oklahoma Child Support Services to receive a payment once it is withdrawn from my bank account? \r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n You will receive credit for the payment in two to three business days. </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What happens if my payment is scheduled for a weekend or a holiday?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n If a withdrawal falls on a Saturday, Sunday, or a bank or state holiday, the funds will be\r\n withdrawn the next business day. You will receive credit for the payment in two to three business days.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n When may I schedule a payment?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n A payment must be scheduled at least two business days prior to its due date,\r\n assuming that your bank account information has been previously verified (prenote).\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What is the earliest date that I can select for my first payment date?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Your first payment date must be at least five business days from the date you register your account.\r\n This will allow sufficient time for your bank account information to be verified (prenote).\r\n If your account has been previously verified then the payment must be scheduled at least two\r\n business days prior to its due date.\r\n <br><br>\r\n <span style=\"font-weight: 600;\">Example:</span> If you register your account and establish a payment schedule on Monday the 1st,\r\n you must set your first payment date no earlier than Monday the 8th.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n I entered a start date and the web site calculated a different date for my first payment. What am I doing wrong?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n If you entered a start date that is less than five business days from today's date,\r\n your date will be automatically adjusted to include the five business day verification (prenote) process.\r\n <br><br>\r\n <span style=\"font-weight: 600;\">Example:</span> Today is January 26 (Monday) and a payment frequency of semi-monthly (15th and 30th) is selected.\r\n Friday the 30th is entered as the first payment date. The first payment date is set to February 16. <br />\r\n <br />\r\n The 16th is determined by calculating five business days (January 27 - February 2), and then determining if\r\n the 15th is a business day. Since the 15th is on a Sunday your first payment date is set to the 16th.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingThree\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseThree\" aria-expanded=\"false\" aria-controls=\"flush-collapseThree\"\r\n style=\"font-weight: bold;\">\r\n Questions About the Verification (Prenote) Period\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseThree\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingThree\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What happens after I register an account and establish a payment schedule?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n If your bank account information has not been previously verified, it will be\r\n submitted to your bank for verification (prenote). If the prenote is successful,\r\n your payments will be withdrawn as scheduled. If the prenote is unsuccessful,\r\n you will be notified by e-mail and no payment will be processed.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Why would a prenote be returned as unsuccessful?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Most prenote's are returned as unsuccessful when the bank account information was entered incorrectly.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n I received an e-mail that the prenote was unsuccessful. What should I do now?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Edit your bank account information through this web site and reschedule your payment.\r\n The prenote will be resubmitted. You may want to contact your bank if you need assistance\r\n identifying the routing and account numbers.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingFour\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseFour\" aria-expanded=\"false\" aria-controls=\"flush-collapseFour\"\r\n style=\"font-weight: bold;\">\r\n Questions About Editing or Changing an Account\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseFour\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingFour\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n How do I make a change to my account?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Make your changes through this web site.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n I changed my bank account, what should I do?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Edit your bank account information through this web site. A prenote will be sent to\r\n verify the new bank account information. In addition, you will need to establish a\r\n new payment schedule since any existing payment schedule(s) will be cancelled when\r\n you edit your bank account information.\r\n <br><br>\r\n If a child support payment is due before the end of the five business day verification (prenote) period, you will\r\n need to mail your payment in order to avoid delinquency.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n How do I reactivate a bank draft that I previously cancelled?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Establish another payment schedule through this web site.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n I authorized a bank draft and now I want to change it. What do I need to do?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Change or cancel your payment through this web site. You must allow two business\r\n days prior to the payment's scheduled date to make your changes.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingFive\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseFive\" aria-expanded=\"false\" aria-controls=\"flush-collapseFive\"\r\n style=\"font-weight: bold;\">\r\n Questions About Unavailable Funds\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseFive\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingFive\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What if my bank account does not have sufficient funds to cover a payment?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n You must cancel your payment at least two business days prior to its scheduled date. You can cancel your payment at this web site.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What if I fail to cancel the payment two business days prior to its scheduled date and there are insufficient funds in my account?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Your account will be placed on hold and your automatic withdrawal will be cancelled. You will then be required to \r\n remit all future payments by a guaranteed payment instrument such as a money order, cashier's check, certified \r\n check, or credit card. Call CARE at 1-800-522-2922 to notify OCSS in case we are able to stop the payment from \r\n issuing.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Why is my account on hold?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n We attempted to withdraw the funds from your bank account and they were not available.\r\n You will be required to remit all future payments by a guaranteed instrument such as a\r\n money order, cashier's check, or certified check, or credit card.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingSix\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseSix\" aria-expanded=\"false\" aria-controls=\"flush-collapseSix\"\r\n style=\"font-weight: bold;\">\r\n Credit Card FAQs\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseSix\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingSix\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What credit cards do you accept?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n You may use your MasterCard® or Visa® to make a child support payment.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <!-- <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What browsers do you support for e-wallet payments?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Apple Pay payments must be made with an Apple device. Google Pay and PayPal payments\r\n may be made with any browser. You must use Safari (iOS) or Chrome (Android) when\r\n making a payment through Venmo.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br> -->\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What information is required to make a credit card payment?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-3\">\r\n The following information is required to make a credit card payment: <br>\r\n\r\n <br />\r\n • Non-custodial parent's first and last name.<br>\r\n\r\n <br />\r\n • Non-custodial parent's social security number.<br>\r\n\r\n <br />\r\n • Noncustodial parent's family group number(FGN).<br>\r\n\r\n <br />\r\n • Credit card holder's name.<br>\r\n\r\n <br />\r\n • Credit card holder's billing address.<br>\r\n\r\n <br />\r\n • Valid e-mail address.<br>\r\n\r\n <br />\r\n • MasterCard® or Visa® credit card number and expiration date and CVV2/ CVC2 3-digit security code.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What should I do if I don't have an e-mail address?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n A valid e-mail address is required in order for us to communicate with you electronically.\r\n If you do not have an e-mail address we cannot send you information such as a confirmation\r\n of your transactions. Free e-mail accounts are available on the Internet. To locate one,\r\n use any search engine and search for \"free e-mail\".\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n How can I obtain my Family Group Number (FGN)?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Your FGN is located on your payor coupons, child support court order, and other documents related to \r\n your child support order. You may also contact Oklahoma SDU Customer Service at 1-855-363-1754 or CARE \r\n at 1-800-522-2922 for this information.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Can I make a credit card payment if I am under an Order for Income Withholding?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Yes, but income withholding will remain in effect and will not be terminated.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <!-- <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Can I make a credit card payment by phone?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Yes, you can make a non-recurring payment by calling 1.844.324.3856.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br> -->\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Is there a minimum payment requirement?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Yes, there is a minimum payment requirement of $1.00.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What is the maximum payment that I can make?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n The maximum payment that you can make in one transaction is $9,999.99; assuming that your card has\r\n that amount of credit available. Multiple transactions can be made in one day if each\r\n transaction does not exceed $9,999.99, and the appropriate amount of credit is available.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <!-- <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What is the purpose of the service fee?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n The credit card service fee is charged for the convenience of using this easy\r\n payment method. Without the service fee, the cost of providing this service would be prohibitive.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br> -->\r\n <!------------------------------------------------------------------------------------------------>\r\n <!-- <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n How much is the service fee?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n The service fee for using this service is 2.50% of the amount of the primary child support payment.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br> -->\r\n <!------------------------------------------------------------------------------------------------>\r\n <!-- <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Will the service fee be applied to my child support obligation?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n The service fee is separate from your child support obligation and is not applied to it.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br> -->\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n When will my credit card be charged for my child support payment?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Your credit card is charged at the time you submit the transaction, and your credit card company authorizes it.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n When will my payment be applied to my child support account?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n You will receive credit for the payment in two to three business days.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Can I make a payment for a non-custodial parent with my credit card?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Yes, you can use your credit card to make a payment for a noncustodial parent; however, you will \r\n need their first and last name, social security number, and family group number (FGN).\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n What is the CVV2/ CVC2 3 or 4-digit security code and where do I find it?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n The CVV2/ CVC2 3-digit security code is an added security measure. It is used to establish that \r\n you are in possession of the credit card. The code is printed just above the signature panel in \r\n reverse italics on the back of your card. Usually your card number precedes it.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n My credit card transaction was declined, what should I do?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n You will need to contact your credit card company to determine why the payment was not authorized.\r\n It could have been declined for one of the following reasons: <br>\r\n\r\n <ul class=\"list-bullet mx-3\">\r\n <li>\r\n The credit card number and/ or CVV2/ CVC2 security code was incorrectly entered. <br />\r\n </li>\r\n \r\n <li>\r\n There is a discrepancy between the address you entered and the billing address that is on \r\n file with the card-issuing bank. You must enter the billing address that appears on your credit \r\n card statement. <br />\r\n </li>\r\n \r\n <li>\r\n A foreign address (a country other than the US) was entered. The web site is unable to process \r\n credit card payments with a foreign address. <br />\r\n </li>\r\n \r\n <li>\r\n There is insufficient credit available for the payment amount. <br />\r\n </li>\r\n </ul>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <!-- <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n How do I obtain a refund on a credit card payment made through this website?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n You will need to contact Oklahoma Child Support Customer Service at 1-855-363-1754.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br> -->\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingSeven\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseSeven\" aria-expanded=\"false\" aria-controls=\"flush-collapseSeven\"\r\n style=\"font-weight: bold;\">\r\n Questions About Security\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseSeven\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingSeven\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n I am having trouble creating a user ID or password.\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Your user ID and password must each consist of at least two numbers, six letters,\r\n and not exceed 12 characters in length. In addition, they cannot contain any special\r\n characters. For example, question marks, number signs, periods.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Can my password be the same as my user ID?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n No, it must be different from your user ID.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Does my password ever expire?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n No, your password does not expire.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n I forgot my password. What do I need to do?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n On the login page, click \"Forgot your password?\", enter the required information, and create a new password.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n If I forget my password and change it, but remember it later and want to change it back to the original password can I?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Yes, you can.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n I tried to register an account on the web site and received the message \"user not found.\" What should I do now?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Contact Oklahoma SDU Customer Service at 1-855-363-1754 and verify that your name, address, and social security \r\n number are correct in the child support system. \r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingNine\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseNine\" aria-expanded=\"false\" aria-controls=\"flush-collapseNine\"\r\n style=\"font-weight: bold;\">\r\n Questions About Technical Issues\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseNine\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingNine\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n It appears there is a problem with the web site. What do I need to do?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Contact Oklahoma SDU Customer Service at 1-855-363-1754 to report the problem.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingEight\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseEight\" aria-expanded=\"false\" aria-controls=\"flush-collapseEight\"\r\n style=\"font-weight: bold;\">\r\n Unauthorized Access of an Account\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseEight\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingEight\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n I believe someone has access to my web site user ID and password. What do I need to do?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Change your user ID and password through this web site.\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n <!------------------------------------------------------------------------------------------------>\r\n <mat-accordion multi>\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header style=\"font-weight: 600; color: #174a7c\">\r\n Money has been withdrawn from my account without my permission. What should I do?\r\n </mat-expansion-panel-header>\r\n <div class=\"mx-2\">\r\n Contact Oklahoma SDU Customer Service at 1-855-363-1754 immediately. You will be asked to submit your claim in writing. \r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n <br>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingTen\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseTen\" aria-expanded=\"false\" aria-controls=\"flush-collapseTen\"\r\n style=\"font-weight: bold;\">\r\n Contact Information\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseTen\" class=\"accordion-collapse collapse\" aria-labelledby=\"flush-headingTen\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body mx-3\">\r\n <h3>Address</h3>\r\n Oklahoma Centralized Support Registry <br>\r\n P.O. Box 268809 <br>\r\n Oklahoma City, OK 73126-8809 <br>\r\n <br>\r\n <h3>Telephone</h3>\r\n <div style=\"color:#174a7c;\">Oklahoma SDU Customer Service:</div>\r\n 1-855-363-1754\r\n <br>\r\n <br>\r\n <h3>E-mail</h3>\r\n <address>\r\n <a href=\"mailto:okecsupport@smimail.net\">\r\n <u>okecsupport@smimail.net</u>\r\n </a>\r\n </address>\r\n <div><STRONG>Note: All questions related to a child support case should be \r\n directed to CARE at 1-800-522-2922.</STRONG>\r\n </div>\r\n <br>\r\n <!-- <h3>Live Chat</h3>\r\n <div>\r\n <span>\r\n <img (click)=\"openChat()\" src=\"../../../../../assets/images/chaticonmid.png\">\r\n </span>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n","import { StepperOrientation } from '@angular/cdk/stepper';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { AbstractControl, FormControl, FormGroupDirective, NgForm, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\r\nimport { IChallengeQuestion, ErrorHandlerService, ViewportService, CommonService, RegisterLibraryService } from 'epay-library';\r\nimport { Router } from '@angular/router';\r\nimport { debounceTime } from 'rxjs';\r\n\r\nfunction passwordMatcher(\r\n c: AbstractControl\r\n): { [key: string]: boolean } | null {\r\n const password1Ctrl = c.get('newpassword1');\r\n const password2Ctrl = c.get('newpassword2');\r\n if (password1Ctrl === null || password2Ctrl === null) {\r\n return null;\r\n }\r\n if (password1Ctrl.pristine || password2Ctrl.pristine) {\r\n return null;\r\n }\r\n if (password1Ctrl.value === password2Ctrl.value) {\r\n return null;\r\n }\r\n return { doNotMatch: true };\r\n}\r\n\r\n/** Error when the parent is invalid */\r\nclass CrossFieldErrorMatcher implements ErrorStateMatcher {\r\n isErrorState(\r\n control: FormControl | null,\r\n form: FormGroupDirective | NgForm | null\r\n ): boolean {\r\n if (control) {\r\n return (control.dirty || control.touched) && control.parent!.invalid;\r\n }\r\n return false;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'common-forgot-password',\r\n templateUrl: './forgot-password.component.html'\r\n})\r\nexport class CommonForgotPasswordComponent implements OnInit {\r\n @Input() baseurl = '';\r\n\r\n isMobile = false;\r\n stepperOrientation: StepperOrientation = 'horizontal';\r\n errorMatcher = new CrossFieldErrorMatcher();\r\n errorMessage = '';\r\n userQuestion: any;\r\n loginErrorMessage = '';\r\n emailErrorMessage = '';\r\n accountSuccessMessage = '';\r\n accountErrorMessage = '';\r\n challengeSuccessMessage = '';\r\n challengeErrorMessage = '';\r\n isCheckingLogin = false;\r\n isCheckingAnswer = false;\r\n isValidAccount = false;\r\n isValidAnswer = false;\r\n isValidLogin = false;\r\n passwordHide = true;\r\n passwordConfirmHide = true;\r\n\r\n openConfirmation = false;\r\n confirmationTitle = '';\r\n confirmationMessage = '';\r\n confirmationEmailAddress = '';\r\n confirmationNumber = '';\r\n goToPrimary = '';\r\n goToPrimaryUrl = '';\r\n\r\n questions: IChallengeQuestion[] = [];\r\n usernameFrmGp: FormGroup = new FormGroup({});\r\n securityFrmGp: FormGroup = new FormGroup({});\r\n passwordFrmGp: FormGroup = new FormGroup({});\r\n\r\n // loginPattern =\r\n // /((?=^[A-Za-z\\d]{8,12}$)(?=(.*[A-Za-z]){6,8})(?=(.*\\d){2,4})^.*)/;\r\n\r\n loginPattern = /^[a-zA-Z0-9.@]*$/;\r\n\r\n // usernamePattern =\r\n // /((?=^[A-Za-z\\d]{8,12}$)(?=(.*[A-Za-z]){6,8})(?=(.*\\d){2,4})^.*) || \\S+@\\S+\\.\\S+/;\r\n\r\n passwordPattern = /(?=^[A-Za-z!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\\d]{8,12}$)(?=(.*[A-Za-z]){6})(?=(.*[!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]){1})(?=(.*\\d){2})^.*/;\r\n\r\n passwordErrorMessage = '';\r\n passwordHintMessage = 'Must contain at least 6 letters, 2 numbers, and at least one special character with a maximum of 12 characters.';\r\n\r\n validationLoginIdMessages: { [key: string]: string } = {\r\n required: 'Username is required.',\r\n pattern: 'Invalid username',\r\n };\r\n\r\n validationEmailMessages: { [key: string]: string } = {\r\n required: 'Email is required.',\r\n email: 'Email format is invalid.',\r\n notFound: 'Account is not found.',\r\n };\r\n\r\n validationPasswordMessages: { [key: string]: string } = {\r\n required: 'Password is required.',\r\n pattern:\r\n 'Invalid Password. Must contain at least 6 letters, 2 numbers, and one special character with a maximum of 12 characters.',\r\n isSameAsLogin: 'Invalid Password. Password cannot be same as username.',\r\n };\r\n\r\n validationChallengeMessages: { [key: string]: string } = {\r\n required: 'Answer is required.',\r\n notverified: 'Challenge answer is incorrect.',\r\n };\r\n\r\n constructor(\r\n private formbuilder: FormBuilder,\r\n private router: Router,\r\n private errorHandlerService: ErrorHandlerService,\r\n private viewpointService: ViewportService,\r\n private commonService: CommonService,\r\n private registerService: RegisterLibraryService,\r\n public snackbar: MatSnackBar\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.loadFormGroups();\r\n const emailCtrl = this.usernameFrmGp.get('email');\r\n const loginIdCtrl = this.usernameFrmGp.get('loginId');\r\n const answerCtrl = this.securityFrmGp.get('challengeAnswer');\r\n const password1Ctrl = this.passwordFrmGp.get('newpassword1');\r\n\r\n this.viewpointService.IsMobile.subscribe(\r\n (ismobile: boolean) => (this.isMobile = ismobile)\r\n );\r\n\r\n this.viewpointService.StepperOrient.subscribe(\r\n (orient) => (this.stepperOrientation = orient)\r\n );\r\n\r\n password1Ctrl!.valueChanges\r\n .pipe(debounceTime(500))\r\n .subscribe((passwrd) => this.setPasswordMessage(password1Ctrl!, passwrd));\r\n\r\n loginIdCtrl!.valueChanges.pipe(debounceTime(500)).subscribe((username) => {\r\n this.resetAccountCheck();\r\n emailCtrl!.setErrors(null);\r\n emailCtrl!.updateValueAndValidity();\r\n\r\n if ((loginIdCtrl!.touched || loginIdCtrl!.dirty) && loginIdCtrl!.errors) {\r\n // this.loginErrorMessage = Object.keys(loginIdCtrl!.errors)\r\n // .map((key) => this.validationLoginIdMessages[key])\r\n // .join(' ');\r\n } else if (\r\n (emailCtrl!.touched || emailCtrl!.dirty) &&\r\n emailCtrl!.errors\r\n ) {\r\n this.emailErrorMessage = Object.keys(emailCtrl!.errors)\r\n .map((key) => this.validationEmailMessages[key])\r\n .join(' ');\r\n } else if (\r\n (emailCtrl!.touched || emailCtrl!.dirty) &&\r\n !emailCtrl!.errors\r\n ) {\r\n this.isCheckingLogin = true;\r\n const user = {\r\n loginId: username,\r\n email: this.usernameFrmGp.get('email')!.value,\r\n };\r\n this.registerService\r\n .getUserChallengeQuestion(this.baseurl, user)\r\n .subscribe({\r\n next: (result: any) => {\r\n this.setAccountMessage(loginIdCtrl!, emailCtrl!, result);\r\n this.securityFrmGp.patchValue({\r\n challengeQuestion: result.challengeQuestion,\r\n });\r\n },\r\n error: (error: any) => {\r\n this.resetAccountCheck();\r\n this.errorMessage = error as any;\r\n this.handleError(error.status);\r\n },\r\n complete: () => (this.isCheckingLogin = false),\r\n });\r\n }\r\n });\r\n\r\n emailCtrl!.valueChanges\r\n .pipe(debounceTime(500))\r\n .subscribe((emailAddress) => {\r\n this.resetAccountCheck();\r\n if ((emailCtrl!.touched || emailCtrl!.dirty) && emailCtrl!.errors) {\r\n this.emailErrorMessage = Object.keys(emailCtrl!.errors)\r\n .map((key) => this.validationEmailMessages[key])\r\n .join(' ');\r\n } else if (\r\n (loginIdCtrl!.touched || loginIdCtrl!.dirty) &&\r\n loginIdCtrl!.errors\r\n ) {\r\n this.emailErrorMessage = Object.keys(loginIdCtrl!.errors)\r\n .map((key) => this.validationLoginIdMessages[key])\r\n .join(' ');\r\n } else if (\r\n (loginIdCtrl!.touched || loginIdCtrl!.dirty) &&\r\n !loginIdCtrl!.errors\r\n ) {\r\n this.isCheckingLogin = true;\r\n const user = {\r\n loginId: this.usernameFrmGp.get('loginId')!.value,\r\n email: emailAddress,\r\n };\r\n this.registerService\r\n .getUserChallengeQuestion(this.baseurl, user)\r\n .subscribe({\r\n next: (result: any) => {\r\n this.setAccountMessage(loginIdCtrl!, emailCtrl!, result);\r\n this.securityFrmGp.patchValue({\r\n challengeQuestion: result.challengeQuestion,\r\n });\r\n },\r\n error: (error: any) => {\r\n this.resetAccountCheck();\r\n this.errorMessage = error as any;\r\n this.handleError(error.status);\r\n },\r\n complete: () => (this.isCheckingLogin = false),\r\n });\r\n }\r\n });\r\n\r\n answerCtrl!.valueChanges.pipe(debounceTime(500)).subscribe((answer) => {\r\n if ((answerCtrl!.touched || answerCtrl!.dirty) && answerCtrl!.errors) {\r\n this.emailErrorMessage = Object.keys(answerCtrl!.errors)\r\n .map((key) => this.validationEmailMessages[key])\r\n .join(' ');\r\n } else {\r\n this.isCheckingAnswer = true;\r\n const answerObj = {\r\n loginId: this.usernameFrmGp.get('loginId')!.value,\r\n email: this.usernameFrmGp.get('email')!.value,\r\n answer: this.securityFrmGp.get('challengeAnswer')!.value,\r\n };\r\n this.registerService\r\n .validateChallengeAnswer(this.baseurl, answerObj)\r\n .subscribe({\r\n next: (result: any) => {\r\n this.setChallengeMessage(answerCtrl!, result);\r\n },\r\n error: (error: any) => {\r\n this.resetChallengeCheck();\r\n this.errorMessage = error as any;\r\n this.handleError(error.status);\r\n },\r\n complete: () => (this.isCheckingAnswer = false),\r\n });\r\n }\r\n });\r\n }\r\n\r\n resetAccountCheck() {\r\n this.isValidAccount = false;\r\n this.isCheckingLogin = false;\r\n this.accountSuccessMessage = '';\r\n this.accountErrorMessage = '';\r\n this.emailErrorMessage = '';\r\n this.loginErrorMessage = '';\r\n this.userQuestion = '';\r\n }\r\n\r\n resetChallengeCheck() {\r\n this.isCheckingAnswer = false;\r\n this.securityFrmGp.patchValue({\r\n challengeAnswer: '',\r\n });\r\n }\r\n\r\n saveNewPassword() {\r\n const newpassword = {\r\n validated: true,\r\n emailAddress: this.usernameFrmGp.get('email')!.value,\r\n loginID: this.usernameFrmGp.get('loginId')!.value,\r\n challengeAnswer: this.securityFrmGp.get('challengeAnswer')!.value,\r\n newPassword1: this.passwordFrmGp.get('newpassword1')!.value,\r\n newPassword2: this.passwordFrmGp.get('newpassword2')!.value,\r\n };\r\n this.registerService.forgotPassword(this.baseurl, newpassword).subscribe({\r\n next: (result: any) => {\r\n if (result.validated) {\r\n this.onSaveComplete(result.confirmation.confirmationNumber);\r\n } else {\r\n this.handleError(500);\r\n }\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n\r\n setPasswordMessage(passwordControl: AbstractControl, passwrd: any) {\r\n this.passwordErrorMessage = '';\r\n const username = this.usernameFrmGp.get('loginId')!.value;\r\n\r\n if (\r\n (passwordControl.touched || passwordControl.dirty) &&\r\n passwordControl.errors\r\n ) {\r\n this.passwordErrorMessage = Object.keys(passwordControl.errors)\r\n .map((key) => this.validationPasswordMessages[key])\r\n .join(' ');\r\n } else if (\r\n (passwordControl.touched || passwordControl.dirty) &&\r\n !passwordControl.errors\r\n ) {\r\n if (username === passwrd) {\r\n passwordControl.setErrors({ isSameAsLogin: true });\r\n this.passwordErrorMessage = Object.keys(passwordControl.errors!)\r\n .map((key) => this.validationPasswordMessages[key])\r\n .join(' ');\r\n } else {\r\n passwordControl.setErrors(null);\r\n passwordControl.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n\r\n setAccountMessage(\r\n loginControl: AbstractControl,\r\n emailControl: AbstractControl,\r\n result: any\r\n ) {\r\n this.accountErrorMessage = '';\r\n this.accountSuccessMessage = '';\r\n\r\n if (\r\n (loginControl.dirty || loginControl.touched) &&\r\n (emailControl.dirty || emailControl.touched)\r\n ) {\r\n this.isValidAccount = result.challengeQuestionIndex === -1 ? false : true;\r\n if (this.isValidAccount) {\r\n this.accountSuccessMessage = 'Account found.';\r\n } else {\r\n emailControl.setErrors({ notFound: true });\r\n this.accountErrorMessage = Object.keys(emailControl.errors!)\r\n .map((key) => this.validationEmailMessages[key])\r\n .join(' ');\r\n }\r\n }\r\n }\r\n\r\n setChallengeMessage(answerControl: AbstractControl, result: any) {\r\n if (answerControl.dirty || answerControl.touched) {\r\n this.isValidAnswer = result.verified;\r\n if (this.isValidAnswer) {\r\n this.challengeSuccessMessage = 'Correct!';\r\n } else {\r\n answerControl.setErrors({ notverified: true });\r\n this.challengeErrorMessage = Object.keys(answerControl.errors!)\r\n .map((key) => this.validationChallengeMessages[key])\r\n .join(' ');\r\n }\r\n }\r\n }\r\n\r\n togglePasswordHide() {\r\n this.passwordHide = !this.passwordHide;\r\n }\r\n\r\n toggleConfirmPasswordHide() {\r\n this.passwordConfirmHide = !this.passwordConfirmHide;\r\n }\r\n\r\n loadFormGroups() {\r\n this.usernameFrmGp = this.formbuilder.group({\r\n loginId: [\r\n '',\r\n [Validators.required, Validators.pattern(this.loginPattern)],\r\n ],\r\n email: ['', [Validators.email, Validators.required]],\r\n });\r\n\r\n this.securityFrmGp = this.formbuilder.group({\r\n challengeQuestion: ['', Validators.required],\r\n challengeAnswer: ['', Validators.required],\r\n });\r\n\r\n this.passwordFrmGp = this.formbuilder.group(\r\n {\r\n newpassword1: [\r\n '',\r\n [Validators.required, Validators.pattern(this.passwordPattern)],\r\n ],\r\n newpassword2: ['', Validators.required],\r\n },\r\n { validator: passwordMatcher }\r\n );\r\n }\r\n\r\n openSnackBar(message: string, time: number, style: string) {\r\n const config = new MatSnackBarConfig();\r\n config.horizontalPosition = 'center';\r\n config.verticalPosition = 'top';\r\n config.duration = time;\r\n config.panelClass = style;\r\n this.snackbar.open(message, '', config);\r\n }\r\n\r\n onSaveComplete(confirmationNum: string) {\r\n (this.confirmationEmailAddress = this.usernameFrmGp.get('email')!.value),\r\n this.usernameFrmGp.reset();\r\n this.securityFrmGp.reset();\r\n this.passwordFrmGp.reset();\r\n this.confirmationTitle = 'Success';\r\n this.confirmationMessage = `Your password has been changed. `;\r\n this.confirmationNumber = confirmationNum;\r\n this.goToPrimaryUrl = 'login';\r\n this.goToPrimary = 'Login';\r\n this.openConfirmation = true;\r\n }\r\n\r\n goToLogin() {\r\n this.router.navigateByUrl('login');\r\n }\r\n\r\n logError(error: Error) {\r\n this.errorHandlerService.logError(error);\r\n }\r\n\r\n handleError(error: number) {\r\n console.log(this.errorMessage);\r\n console.log('error', error);\r\n this.errorHandlerService.handleErrorMessage(error, this.baseurl);\r\n }\r\n}\r\n\r\n","<div *ngIf=\"!openConfirmation\" class=\"stepper-panel\">\r\n <div class=\"form-panel\">\r\n <mat-stepper [orientation]=\"stepperOrientation\" #stepper linear=\"true\">\r\n <!-- Current Username & Email -->\r\n <mat-step class=\"stepper-icon\" [stepControl]=\"usernameFrmGp\">\r\n <form [formGroup]=\"usernameFrmGp\">\r\n <ng-template matStepLabel>Enter Your Current Username</ng-template>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Username\" #loginId formControlName=\"loginId\" autocomplete=\"off\" required>\r\n <!-- <mat-error>{{loginErrorMessage}}</mat-error> -->\r\n <mat-error *ngIf=\"usernameFrmGp.get('loginId')?.hasError('pattern')\">Invalid Username.</mat-error>\r\n <mat-error *ngIf=\"usernameFrmGp.get('loginId')?.hasError('required')\">Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Current Email\" formControlName=\"email\" autocomplete=\"off\" required>\r\n <mat-hint *ngIf=\"isValidAccount && !isCheckingLogin\" class=\"mat-hint-success\">{{accountSuccessMessage}}\r\n </mat-hint>\r\n <span *ngIf=\"isCheckingLogin\" matSuffix><i class=\"fa fa-refresh fa-spin fa-3x fa-fw\"></i></span>\r\n <span *ngIf=\"isValidAccount\" matSuffix><i class=\"fa fa-check ts-l c-green0\"></i></span>\r\n <mat-error *ngIf=\"!accountErrorMessage?.length\">{{emailErrorMessage}}</mat-error>\r\n <mat-error *ngIf=\"accountErrorMessage?.length\">{{accountErrorMessage}}</mat-error>\r\n\r\n <mat-error *ngIf=\"usernameFrmGp.get('email')?.hasError('required')\">Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button (click)=\"goToLogin()\">Back</button>\r\n <button class=\"btn btn-primary-short\" mat-button matStepperNext [disabled]=\"!isValidAccount\">Next</button>\r\n </div>\r\n </form>\r\n </mat-step>\r\n <!-- 2. Security Question -->\r\n <mat-step class=\"stepper-icon\" [stepControl]=\"securityFrmGp\">\r\n <form [formGroup]=\"securityFrmGp\">\r\n <ng-template matStepLabel>Answer Your Security Question</ng-template>\r\n <div class=\"flex-input-col\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"challengeQuestion\" readonly>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Challenge Answer\" formControlName=\"challengeAnswer\" autocomplete=\"off\">\r\n <mat-hint *ngIf=\"isValidAnswer && !isCheckingAnswer\" class=\"c-green0\">{{challengeSuccessMessage}}\r\n </mat-hint>\r\n <span *ngIf=\"isCheckingAnswer\" matSuffix><i class=\"fa fa-refresh fa-spin fa-3x fa-fw\"></i></span>\r\n <span *ngIf=\"isValidAnswer\" matSuffix><i class=\"fa fa-check ts-l c-green0\"></i></span>\r\n <mat-error *ngIf=\"securityFrmGp.get('challengeAnswer')?.hasError('notverified')\">{{challengeErrorMessage}}\r\n </mat-error>\r\n <mat-error *ngIf=\"securityFrmGp.get('challengeAnswer')?.hasError('required')\">Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button matStepperPrevious>Back</button>\r\n <button class=\"btn btn-primary-short\" mat-button matStepperNext [disabled]=\"!isValidAnswer\">Next</button>\r\n </div>\r\n </form>\r\n </mat-step>\r\n <!-- 3. Reset -->\r\n <mat-step class=\"stepper-icon\" [stepControl]=\"passwordFrmGp\">\r\n <form [formGroup]=\"passwordFrmGp\">\r\n <ng-template matStepLabel>Complete Information Below</ng-template>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"New Password\" [type]=\"passwordHide ? 'password' : 'text'\"\r\n formControlName=\"newpassword1\" autocomplete=\"off\">\r\n <mat-hint>{{passwordHintMessage}}</mat-hint>\r\n <mat-icon matSuffix (click)=\"togglePasswordHide()\">{{passwordHide ? 'visibility_off' : 'visibility'}}\r\n </mat-icon>\r\n <mat-error>{{passwordErrorMessage}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput [errorStateMatcher]=\"errorMatcher\" placeholder=\"Confirm Password\"\r\n [type]=\"passwordConfirmHide ? 'password' : 'text'\" formControlName=\"newpassword2\" autocomplete=\"off\">\r\n <mat-icon matSuffix (click)=\"toggleConfirmPasswordHide()\">{{passwordConfirmHide ? 'visibility_off' :\r\n 'visibility'}}</mat-icon>\r\n <mat-error *ngIf=\"passwordFrmGp.hasError('doNotMatch')\">\r\n Passwords do not match.\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button matStepperPrevious>Back</button>\r\n <button [disabled]=\"!passwordFrmGp.valid\" class=\"btn btn-primary-short\" mat-button\r\n (click)=\"saveNewPassword()\">Change Password</button>\r\n </div>\r\n </form>\r\n </mat-step>\r\n </mat-stepper>\r\n </div>\r\n </div>\r\n \r\n <epay-lib-common-confirmation *ngIf=\"openConfirmation\" [confirmationTitle]=\"confirmationTitle\"\r\n [confirmationMessage]=\"confirmationMessage\" [confirmationEmailAddress]=\"confirmationEmailAddress\"\r\n [confirmationNumber]=\"confirmationNumber\" [restart]=\"true\" [goToPrimary]=\"goToPrimary\"\r\n [goToPrimaryUrl]=\"goToPrimaryUrl\">\r\n </epay-lib-common-confirmation>\r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-forgotpassword',\r\n templateUrl: './forgotpassword.component.html',\r\n})\r\nexport class ForgotPasswordComponent implements OnInit {\r\n pagetitle = 'Forgot Password';\r\n baseurl = '';\r\n\r\n constructor() {\r\n this.baseurl = CommonSettings.BaseApi;\r\n }\r\n\r\n ngOnInit() {}\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main max-w max-gl\" id=\"page-content-main\">\r\n <!-- <epay-lib-common-forgotpassword [baseurl]=\"baseurl\">\r\n </epay-lib-common-forgotpassword> -->\r\n\r\n <common-forgot-password [baseurl]=\"baseurl\"></common-forgot-password>\r\n </div>\r\n</epay-page-content>\r\n","import { StepperOrientation } from '@angular/cdk/stepper';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, AbstractControl, Validators } from '@angular/forms';\r\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\r\nimport { IChallengeQuestion, ErrorHandlerService, ViewportService, RegisterLibraryService } from 'epay-library';\r\nimport { Router } from '@angular/router';\r\nimport { debounceTime } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'common-forgot-username',\r\n templateUrl: './forgot-username.component.html'\r\n})\r\nexport class CommonForgotUsernameComponent implements OnInit {\r\n @Input() baseurl = '';\r\n\r\n isMobile = false;\r\n stepperOrientation: StepperOrientation = 'horizontal';\r\n\r\n errorMessage = '';\r\n userQuestion: any;\r\n loginErrorMessage = '';\r\n emailErrorMessage = '';\r\n accountSuccessMessage = '';\r\n accountErrorMessage = '';\r\n challengeSuccessMessage = '';\r\n challengeErrorMessage = '';\r\n displayUsername = '';\r\n isCheckingLogin = false;\r\n isCheckingAnswer = false;\r\n isValidAccount = false;\r\n isValidAnswer = false;\r\n passwordHide = true;\r\n\r\n questions: IChallengeQuestion[] = [];\r\n passwordFrmGp: FormGroup = new FormGroup({});\r\n securityFrmGp: FormGroup = new FormGroup({});\r\n submitFrmGp: FormGroup = new FormGroup({});\r\n\r\n passwordHintMessage = 'Must contain at least 6 letters, 2 numbers, and at least one special character with a maximum of 12 characters.';\r\n\r\n loginPattern =\r\n /(?=^[A-Za-z\\d]{8,12}$)(?=(.*[A-Za-z]){6,8})(?=(.*\\d){2,4})^.*/;\r\n\r\n //passwordPattern = /(?=^[A-Za-z!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\\d]{8,12}$)(?=(.*[A-Za-z]){6})(?=(.*[!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]){1})(?=(.*\\d){2})^.*/;\r\n\r\n validationPasswordMessages: { [key: string]: string } = {\r\n required: 'Password is required.',\r\n minlength: 'Invalid password. Passwords must be between 8 to 12 characters in length.',\r\n maxlength: 'Invalid password. Passwords must be between 8 to 12 characters in length.',\r\n pattern:\r\n 'Invalid Password. Must contain at least 6 letters, 2 numbers, and one special character with a maximum of 12 characters.',\r\n };\r\n\r\n validationEmailMessages: { [key: string]: string } = {\r\n required: 'Email is required.',\r\n email: 'Email format is invalid.',\r\n notFound: 'Account is not found.',\r\n };\r\n\r\n validationChallengeMessages: { [key: string]: string } = {\r\n required: 'Answer is required.',\r\n notVerified: 'Challenge answer is incorrect.',\r\n };\r\n\r\n constructor(\r\n private formbuilder: FormBuilder,\r\n private router: Router,\r\n private errorHandlerService: ErrorHandlerService,\r\n private viewpointService: ViewportService,\r\n private registerService: RegisterLibraryService,\r\n public snackbar: MatSnackBar\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.loadFormGroups();\r\n const passwordCtrl = this.passwordFrmGp.get('password');\r\n const emailCtrl = this.passwordFrmGp.get('email');\r\n const answerCtrl = this.securityFrmGp.get('challengeAnswer');\r\n\r\n this.viewpointService.IsMobile.subscribe(\r\n (ismobile: boolean) => (this.isMobile = ismobile)\r\n );\r\n\r\n this.viewpointService.StepperOrient.subscribe(\r\n (orient) => (this.stepperOrientation = orient)\r\n );\r\n\r\n passwordCtrl!.valueChanges\r\n .pipe(debounceTime(200))\r\n .subscribe((currentPassword) => {\r\n this.resetAccountCheck();\r\n emailCtrl!.setErrors(null);\r\n emailCtrl!.updateValueAndValidity();\r\n if (\r\n (passwordCtrl!.touched || passwordCtrl!.dirty) &&\r\n passwordCtrl!.errors\r\n ) {\r\n // this.loginErrorMessage = Object.keys(passwordCtrl!.errors)\r\n // .map((key) => this.validationPasswordMessages[key])\r\n // .join(' ');\r\n } else if (\r\n (emailCtrl!.touched || emailCtrl!.dirty) &&\r\n emailCtrl!.errors\r\n ) {\r\n this.emailErrorMessage = Object.keys(emailCtrl!.errors)\r\n .map((key) => this.validationEmailMessages[key])\r\n .join(' ');\r\n } else if (\r\n (emailCtrl!.touched || emailCtrl!.dirty) &&\r\n !emailCtrl!.errors\r\n ) {\r\n this.isCheckingLogin = true;\r\n const user = {\r\n password: currentPassword,\r\n email: this.passwordFrmGp.get('email')!.value,\r\n };\r\n this.registerService\r\n .getUserChallengeQuestion(this.baseurl, user)\r\n .subscribe({\r\n next: (result: any) => {\r\n this.setAccountMessage(passwordCtrl!, emailCtrl!, result);\r\n this.securityFrmGp.patchValue({\r\n challengeQuestion: result.challengeQuestion,\r\n });\r\n this.isCheckingLogin = false;\r\n },\r\n error: (error: any) => {\r\n this.resetAccountCheck();\r\n this.errorMessage = error as any;\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n });\r\n\r\n emailCtrl!.valueChanges\r\n .pipe(debounceTime(500))\r\n .subscribe((emailAddress) => {\r\n this.resetAccountCheck();\r\n if ((emailCtrl!.touched || emailCtrl!.dirty) && emailCtrl!.errors) {\r\n this.emailErrorMessage = Object.keys(emailCtrl!.errors)\r\n .map((key) => this.validationEmailMessages[key])\r\n .join(' ');\r\n return;\r\n } else if (\r\n (passwordCtrl!.touched || passwordCtrl!.dirty) &&\r\n passwordCtrl!.errors\r\n ) {\r\n // this.emailErrorMessage = Object.keys(passwordCtrl!.errors)\r\n // .map((key) => this.validationPasswordMessages[key])\r\n // .join(' ');\r\n return;\r\n } else if (\r\n (passwordCtrl!.touched || passwordCtrl!.dirty) &&\r\n !passwordCtrl!.errors\r\n ) {\r\n this.isCheckingLogin = true;\r\n const user = {\r\n password: this.passwordFrmGp.get('password')!.value,\r\n email: emailAddress,\r\n };\r\n this.registerService\r\n .getUserChallengeQuestion(this.baseurl, user)\r\n .subscribe({\r\n next: (result: any) => {\r\n this.setAccountMessage(passwordCtrl!, emailCtrl!, result);\r\n this.securityFrmGp.patchValue({\r\n challengeQuestion: result.challengeQuestion,\r\n });\r\n this.isCheckingLogin = false;\r\n },\r\n error: (error: any) => {\r\n this.resetAccountCheck();\r\n this.errorMessage = error as any;\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n });\r\n\r\n answerCtrl!.valueChanges.pipe(debounceTime(500)).subscribe((answer) => {\r\n if ((answerCtrl!.touched || answerCtrl!.dirty) && answerCtrl!.errors) {\r\n this.emailErrorMessage = Object.keys(answerCtrl!.errors)\r\n .map((key) => this.validationEmailMessages[key])\r\n .join(' ');\r\n } else {\r\n this.isCheckingAnswer = true;\r\n const answerObj = {\r\n password: this.passwordFrmGp.get('password')!.value,\r\n email: this.passwordFrmGp.get('email')!.value,\r\n answer: this.securityFrmGp.get('challengeAnswer')!.value,\r\n };\r\n this.registerService\r\n .validateChallengeAnswer(this.baseurl, answerObj)\r\n .subscribe({\r\n next: (result: any) => {\r\n this.setChallengeMessage(answerCtrl!, result);\r\n this.isCheckingAnswer = false;\r\n },\r\n error: (error: any) => {\r\n this.resetChallengeCheck();\r\n this.errorMessage = error as any;\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n });\r\n }\r\n\r\n togglePasswordHide() {\r\n this.passwordHide = !this.passwordHide;\r\n }\r\n\r\n resetAccountCheck() {\r\n this.isValidAccount = false;\r\n this.isCheckingLogin = false;\r\n this.accountSuccessMessage = '';\r\n this.accountErrorMessage = '';\r\n this.emailErrorMessage = '';\r\n this.loginErrorMessage = '';\r\n this.userQuestion = '';\r\n }\r\n\r\n resetChallengeCheck() {\r\n this.isCheckingAnswer = false;\r\n this.securityFrmGp.patchValue({\r\n challengeAnswer: '',\r\n });\r\n }\r\n\r\n retrieveUsername() {\r\n if (this.securityFrmGp.valid) {\r\n const username = {\r\n validated: true,\r\n emailAddress: this.passwordFrmGp.get('email')!.value,\r\n password: this.passwordFrmGp.get('password')!.value,\r\n challengeAnswer: this.securityFrmGp.get('challengeAnswer')!.value,\r\n };\r\n this.registerService.forgotUsername(this.baseurl, username).subscribe({\r\n next: (result: any) => {\r\n this.displayUsername = result.loginID;\r\n },\r\n error: (error: any) => {\r\n this.errorMessage = error as any;\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n }\r\n\r\n setAccountMessage(\r\n passwordControl: AbstractControl,\r\n emailControl: AbstractControl,\r\n result: any\r\n ) {\r\n this.accountErrorMessage = '';\r\n this.accountSuccessMessage = '';\r\n\r\n if (passwordControl.dirty && emailControl.dirty) {\r\n this.isValidAccount = result.challengeQuestionIndex === -1 ? false : true;\r\n if (this.isValidAccount) {\r\n this.accountSuccessMessage = 'Account found.';\r\n } else {\r\n emailControl.setErrors({ notFound: true });\r\n this.accountErrorMessage = Object.keys(emailControl.errors!)\r\n .map((key) => this.validationEmailMessages[key])\r\n .join(' ');\r\n }\r\n }\r\n }\r\n\r\n setChallengeMessage(answerControl: AbstractControl, result: any) {\r\n if (answerControl.dirty || answerControl.touched) {\r\n this.isValidAnswer = result.verified;\r\n if (this.isValidAnswer) {\r\n this.challengeSuccessMessage = 'Correct!';\r\n } else {\r\n answerControl.setErrors({ notVerified: true });\r\n this.challengeErrorMessage = Object.keys(answerControl.errors!)\r\n .map((key) => this.validationChallengeMessages[key])\r\n .join(' ');\r\n }\r\n }\r\n }\r\n\r\n loadFormGroups() {\r\n this.passwordFrmGp = this.formbuilder.group({\r\n email: ['', [Validators.email, Validators.required]],\r\n password: [\r\n '',\r\n [Validators.required, Validators.minLength(8), Validators.maxLength(12)],\r\n ],\r\n });\r\n\r\n this.securityFrmGp = this.formbuilder.group({\r\n challengeQuestion: ['', Validators.required],\r\n challengeAnswer: ['', Validators.required],\r\n });\r\n }\r\n\r\n openSnackBar(message: string, time: number, style: string) {\r\n const config = new MatSnackBarConfig();\r\n config.horizontalPosition = 'center';\r\n config.verticalPosition = 'top';\r\n config.duration = time;\r\n config.panelClass = style;\r\n this.snackbar.open(message, '', config);\r\n }\r\n\r\n onSaveComplete() {\r\n this.passwordFrmGp.reset();\r\n this.securityFrmGp.reset();\r\n this.passwordFrmGp.reset();\r\n this.router.navigate(['login']);\r\n }\r\n\r\n goToLogin() {\r\n this.passwordFrmGp.reset();\r\n this.securityFrmGp.reset();\r\n this.passwordFrmGp.reset();\r\n this.router.navigateByUrl('login');\r\n }\r\n\r\n logError(error: Error) {\r\n this.errorHandlerService.logError(error);\r\n }\r\n\r\n handleError(error: number) {\r\n console.log(this.errorMessage);\r\n console.log('error', error);\r\n this.errorHandlerService.handleErrorMessage(error, this.baseurl);\r\n }\r\n}\r\n","<div class=\"stepper-panel username-recovery-flow\">\r\n <div class=\"form-panel panel-desktop\">\r\n <mat-stepper [orientation]=\"stepperOrientation\" #stepper linear=\"true\">\r\n <!-- 1. Current Pass & Email -->\r\n <mat-step class=\"stepper-icon\" [stepControl]=\"passwordFrmGp\">\r\n <form [formGroup]=\"passwordFrmGp\">\r\n <ng-template matStepLabel>Enter Your Current Password</ng-template>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field> <input matInput placeholder=\"Current Password\" [type]=\"passwordHide ? 'password' : 'text'\"\r\n formControlName=\"password\" autocomplete=\"off\">\r\n <mat-icon matSuffix (click)=\"togglePasswordHide()\">{{passwordHide ? 'visibility_off' : 'visibility'}}\r\n </mat-icon>\r\n <mat-error>{{loginErrorMessage}}</mat-error>\r\n <mat-error *ngIf=\"passwordFrmGp.get('password')?.hasError('required')\">Required</mat-error>\r\n <mat-error *ngIf=\"passwordFrmGp.get('password')?.hasError('maxlength')\">Invalid password. Passwords must be between 8 to 12 characters in length.</mat-error>\r\n <mat-error *ngIf=\"passwordFrmGp.get('password')?.hasError('minlength')\">Invalid password. Passwords must be between 8 to 12 characters in length.</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Current Email\" formControlName=\"email\" autocomplete=\"off\">\r\n <mat-hint *ngIf=\"isValidAccount && !isCheckingLogin\" class=\"c-green0\">\r\n {{accountSuccessMessage}}</mat-hint>\r\n <span *ngIf=\"isCheckingLogin\" matSuffix><i class=\"fa fa-refresh fa-spin fa-3x fa-fw\"></i></span>\r\n <span *ngIf=\"isValidAccount\" matSuffix><i class=\"fa fa-check ts-l c-green0\"></i></span>\r\n <mat-error *ngIf=\"!accountErrorMessage?.length\">{{emailErrorMessage}}</mat-error>\r\n <mat-error *ngIf=\"accountErrorMessage?.length\">{{accountErrorMessage}}</mat-error>\r\n <mat-error *ngIf=\"passwordFrmGp.get('password')?.hasError('required')\">Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button (click)=\"goToLogin()\">Back</button>\r\n <button class=\"btn btn-primary-short\" mat-button matStepperNext [disabled]=\"!isValidAccount\">Next</button>\r\n </div>\r\n </form>\r\n </mat-step>\r\n <!-- 2. Security Question -->\r\n <mat-step class=\"stepper-icon\" [stepControl]=\"securityFrmGp\">\r\n <form [formGroup]=\"securityFrmGp\">\r\n <ng-template matStepLabel>Answer your Security Question</ng-template>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"challengeQuestion\" readonly>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Challenge Answer\" formControlName=\"challengeAnswer\" autocomplete=\"off\">\r\n <span *ngIf=\"isCheckingAnswer\" matSuffix><i class=\"fa fa-refresh fa-spin fa-3x fa-fw\"></i></span>\r\n <span *ngIf=\"isValidAnswer\" matSuffix><i class=\"fa fa-check ts-l c-green0\"></i></span>\r\n <mat-hint *ngIf=\"isValidAnswer && !isCheckingAnswer\" class=\"c-green0\">\r\n {{challengeSuccessMessage}}</mat-hint>\r\n <mat-error>{{challengeErrorMessage}}</mat-error>\r\n <mat-error *ngIf=\"securityFrmGp.get('challengeAnswer')?.hasError('required')\">Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button matStepperPrevious>Back</button>\r\n <button class=\"btn btn-primary-short\" (click)=\"retrieveUsername()\" mat-button matStepperNext\r\n [disabled]=\"!isValidAnswer\">Next</button>\r\n </div>\r\n </form>\r\n </mat-step>\r\n <!-- 3. Retrieve Username -->\r\n <mat-step class=\"stepper-icon\">\r\n <ng-template matStepLabel>Retrieve Username</ng-template>\r\n <div class=\"pt-2 pb-2\">\r\n <p>Your Username is: </p>\r\n <h2>{{displayUsername}}</h2>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-submit\" mat-raised-button (click)=\"goToLogin()\">Go to Login</button>\r\n </div>\r\n </mat-step>\r\n </mat-stepper>\r\n </div>\r\n </div>\r\n ","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-forgotusername',\r\n templateUrl: './forgotusername.component.html',\r\n})\r\nexport class ForgotUsernameComponent implements OnInit {\r\n isMobile = false;\r\n baseurl = '';\r\n pagetitle = 'Forgot Username';\r\n\r\n constructor() {\r\n this.baseurl = CommonSettings.BaseApi;\r\n }\r\n\r\n ngOnInit() {}\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main max-w max-gl\" id=\"page-content-main\">\r\n <!-- <epay-lib-common-forgotusername [baseurl]=\"baseurl\">\r\n </epay-lib-common-forgotusername> -->\r\n\r\n <common-forgot-username [baseurl]=\"baseurl\"></common-forgot-username>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService, ErrorHandlerService } from 'epay-library';\r\nimport { CommonSettings } from 'epay-library';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\n\r\n@Component({\r\n selector: 'epay-home',\r\n templateUrl: './home.component.html',\r\n})\r\nexport class HomeComponent implements OnInit {\r\n message1 = '';\r\n message2 = '';\r\n message3 = '';\r\n baseurl: string;\r\n empWebsiteCode: string;\r\n isIE = false;\r\n ieMessage = '';\r\n mobileMessage = '';\r\n deviceInfo: any;\r\n isMobile = false;\r\n isTablet = false;\r\n isDesktop = false;\r\n pagetitle = '';\r\n\r\n constructor(\r\n private router: Router,\r\n private authservice: AuthService,\r\n private errorHandlerService: ErrorHandlerService,\r\n private deviceService: DeviceDetectorService\r\n ) {\r\n this.baseurl = CommonSettings.BaseApi;\r\n this.empWebsiteCode = CommonSettings.EmpWebsiteCode;\r\n this.pagetitle = 'SMART Oklahoma Child Support Home';\r\n }\r\n\r\n ngOnInit() {\r\n this.authservice\r\n .getWebsiteMessage(this.baseurl, this.empWebsiteCode)\r\n .subscribe({\r\n next: (message: any) => {\r\n if (message.length) {\r\n if (message[0].isActive === true) {\r\n this.message1 = message[0].messageText1;\r\n this.message2 = message[0].messageText2;\r\n this.message3 = message[0].messageText3;\r\n }\r\n } else {\r\n this.message1 = '';\r\n this.message2 = '';\r\n this.message3 = '';\r\n }\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n this.checkBrowser();\r\n this.checkDevice();\r\n }\r\n\r\n checkBrowser() {\r\n this.isIE = false;\r\n this.ieMessage = '';\r\n\r\n const match = navigator.userAgent.search(/(?:Edge|MSIE|Trident\\/.*; rv:)/);\r\n if (match !== -1) {\r\n this.isIE = true;\r\n }\r\n this.ieMessage = `You are using Internet Explorer.\r\n Some functions and tasks are not supported in this browser.\r\n Please switch to Chrome, Edge, or another modern browser.`;\r\n }\r\n\r\n checkDevice() {\r\n this.deviceInfo = this.deviceService.getDeviceInfo();\r\n this.isMobile = this.deviceService.isMobile();\r\n this.isTablet = this.deviceService.isTablet();\r\n this.isDesktop = this.deviceService.isDesktop();\r\n\r\n if (this.isMobile) {\r\n this.mobileMessage = `You are using a mobile device. Some functions and tasks are not supported\r\n using a mobile device. Please switch to a desktop for use of all functions.`;\r\n }\r\n }\r\n\r\n logError(error: Error) {\r\n this.errorHandlerService.logError(error);\r\n }\r\n\r\n handleError(error: number) {\r\n this.errorHandlerService.handleErrorMessage(error, this.baseurl);\r\n }\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <!-- TODO: user flow for employer / ncp; existing / new user; ACH / credit -->\r\n <div class=\"page-content-main max-w max-gxs t-alignC\" id=\"page-content-main\">\r\n <div class=\"box-panel ie-note mb-5\" *ngIf=\"isIE\">\r\n <div class=\"small-note-block alert-note\">\r\n <p class=\"c-red1\">\r\n {{ieMessage}}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-content-main max-w max-gs t-alignC\" id=\"page-content-main\">\r\n <div class=\"box-panel translucent-panel access-panel mb-5\">\r\n <h1>Welcome to Our New Website</h1>\r\n <p style=\"font-size: larger;\">\r\n Our redesigned website has a fresh new look and is easy to navigate.<br>\r\n The same options are available as on our previous website.<br>\r\n A Helpful Links menu is available if you need assistance.\r\n </p>\r\n\r\n </div>\r\n </div>\r\n <div class=\"page-content-main max-w max-gxs t-alignC\" id=\"page-content-main\">\r\n <div class=\"box-panel translucent-panel access-panel mb-5\">\r\n <p class=\"mb-2\">This Oklahoma Child Support Internet Payment Website is dedicated to providing quality\r\n customer service to noncustodial parents and employers who need assistance with the child support payment\r\n process.</p>\r\n <!-- Start here -->\r\n <div class=\"access-links m--pa4 mb-5\">\r\n <div class=\"mb-3\">\r\n <a class=\"db btn-link mt-3\" [routerLink]=\"['/login']\">Login</a>\r\n <a class=\"db btn-link mt-3\" [routerLink]=\"['/register']\">Create Account</a>\r\n <a class=\"db btn-link mt-3\" [routerLink]=\"['/ncp/creditcard']\">NCP Credit Card Payment</a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"small-note-block alert-note mb-2\">\r\n <p class=\"c-red1\">This Website Does Not Accept Payments Drawn on a Foreign Bank Account</p>\r\n </div>\r\n <div class=\"small-note-block xs-note\">\r\n <p>Note: This website requires that cookies be enabled in your\r\n browser. By accessing this site, you agree to have cookies stored on your computer. You can read more about\r\n how this site uses cookies in our <a [routerLink]=\"['/privacypolicy']\">Privacy Policy</a>\r\n </p>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"page-content-main max-w max-gs t-alignC\">\r\n <div class=\"message-panel\" *ngIf=\"message1\">\r\n <div class=\"box-panel\">\r\n <p class=\"c-red1b\">{{message1}}</p>\r\n <p class=\"c-red1b\">{{message2}}</p>\r\n <p class=\"c-red1b\">{{message3}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'epay-howtos',\r\n templateUrl: './howtos.component.html'\r\n})\r\nexport class HowTosComponent implements OnInit {\r\n\r\n pagetitle = 'Oklahoma Child Support Website Help';\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"container\">\r\n <div class=\"shadow max-w max-gs\" id=\"page-content-main\">\r\n <mat-card class=\"\" style=\"border-radius: 10px\">\r\n <mat-card-content>\r\n <h4 style=\"color: rgb(92, 92, 92); margin-left: 1vw\">Helpful Links</h4>\r\n\r\n <div class=\"accordion-flush\" id=\"accordionExample\">\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"headingOne\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#collapseOne\" aria-expanded=\"true\" aria-controls=\"collapseOne\">\r\n <h3>Noncustodial Parent Links</h3>\r\n </button>\r\n </h2>\r\n <div id=\"collapseOne\" class=\"accordion-collapse collapse\" aria-labelledby=\"headingOne\"\r\n data-bs-parent=\"#accordionExample\">\r\n <div class=\"accordion-body\">\r\n <div class=\"mb-5 mt-3\">\r\n <h2 class=\"h3 mb-1 panel-default\">Noncustodial Parent Registration</h2>\r\n <p><a target=\"_blank\" href=\"/assets/help/How To Register_NCP_Self.pdf\">\r\n How to Register a New Account (for self)\r\n <i class=\"fa fa-download\" aria-hidden=\"true\"></i>\r\n </a></p>\r\n <p><a target=\"_blank\" href=\"/assets/help/How To Register_NCP_Third_Party.pdf\">\r\n How to Register a New Account (for someone else)\r\n <i class=\"fa fa-download\" aria-hidden=\"true\"></i>\r\n </a></p>\r\n </div>\r\n <div class=\"mb-5\">\r\n <h2 class=\"h3 mb-1\">Bank Account</h2>\r\n <p><a target=\"_blank\" href=\"/assets/help/How To Add Bank Account_NCP.pdf\">\r\n How to Add a Bank Account\r\n <i class=\"fa fa-download\" aria-hidden=\"true\"></i>\r\n </a></p>\r\n </div>\r\n <div class=\"mb-5\">\r\n <h2 class=\"h3 mb-1\">ACHD Payments</h2>\r\n <p><a target=\"_blank\" href=\"/assets/help/How To Create Payments_NCP.pdf\">\r\n How to Create a New Payment\r\n <i class=\"fa fa-download\" aria-hidden=\"true\"></i>\r\n </a></p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"headingTwo\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#collapseTwo\" aria-expanded=\"false\" aria-controls=\"collapseTwo\">\r\n <h3>Employer Links</h3>\r\n </button>\r\n </h2>\r\n <div id=\"collapseTwo\" class=\"accordion-collapse collapse\" aria-labelledby=\"headingTwo\"\r\n data-bs-parent=\"#accordionExample\">\r\n <div class=\"accordion-body\">\r\n <div class=\"mb-5 mt-3\">\r\n <h2 class=\"h3 mb-1\">Employer Registration</h2>\r\n <p><a target=\"_blank\" href=\"/assets/help/How To Register.pdf\">\r\n How to Register a New Account\r\n <i class=\"fa fa-download\" aria-hidden=\"true\"></i>\r\n </a></p>\r\n </div>\r\n <div class=\"mb-5\">\r\n <h2 class=\"h3 mb-1\">Bank Account</h2>\r\n <p><a target=\"_blank\" href=\"/assets/help/How To Add Bank Account.pdf\">\r\n How to Add a Bank Account\r\n <i class=\"fa fa-download\" aria-hidden=\"true\"></i>\r\n </a></p>\r\n </div>\r\n <div class=\"mb-5\">\r\n <h2 class=\"h3 mb-1\">ACHD Payments</h2>\r\n <p><a target=\"_blank\" href=\"/assets/help/How To Create Payments.pdf\">\r\n How to Create a New Payment\r\n <i class=\"fa fa-download\" aria-hidden=\"true\"></i>\r\n </a></p>\r\n </div>\r\n <div class=\"\">\r\n <h2 class=\"h3 mb-1\">EFT/EDI</h2>\r\n <p><a target=\"_blank\" href=\"/assets/help/How To Reconcile Employees Create File.pdf\">\r\n How to Reconcile Employees and/or Create File\r\n <i class=\"fa fa-download\" aria-hidden=\"true\"></i>\r\n </a></p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService, ErrorHandlerService, CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-login',\r\n templateUrl: './login.component.html',\r\n})\r\nexport class LoginComponent implements OnInit {\r\n pagetitle = 'Login';\r\n creditCardMessage: string;\r\n loginType: string;\r\n tokenurl: string;\r\n baseurl: string;\r\n timeoutInMins: string;\r\n clientId: string;\r\n\r\n message1 = '';\r\n message2 = '';\r\n message3 = '';\r\n empWebsiteCode = '';\r\n\r\n constructor(\r\n private authservice: AuthService,\r\n private errorHandlerService: ErrorHandlerService\r\n ) {\r\n this.creditCardMessage = '';\r\n this.loginType = '';\r\n this.tokenurl = CommonSettings.TokenApi;\r\n this.baseurl = CommonSettings.BaseApi;\r\n this.timeoutInMins = CommonSettings.TimeOutInMins;\r\n this.clientId = CommonSettings.ClientID;\r\n this.empWebsiteCode = CommonSettings.EmpWebsiteCode;\r\n }\r\n\r\n ngOnInit() {\r\n this.authservice\r\n .getWebsiteMessage(this.baseurl, this.empWebsiteCode)\r\n .subscribe({\r\n next: (message: any) => {\r\n if (message.length) {\r\n if (message[0].isActive === true) {\r\n this.message1 = message[0].messageText1;\r\n this.message2 = message[0].messageText2;\r\n this.message3 = message[0].messageText3;\r\n }\r\n } else {\r\n this.message1 = '';\r\n this.message2 = '';\r\n this.message3 = '';\r\n }\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n if (history.state.creditCardMessage) {\r\n this.creditCardMessage = history.state.creditCardMessage;\r\n } else {\r\n this.creditCardMessage = '';\r\n }\r\n }\r\n\r\n logError(error: Error) {\r\n this.errorHandlerService.logError(error);\r\n }\r\n\r\n handleError(error: number) {\r\n this.errorHandlerService.handleErrorMessage(error, this.baseurl);\r\n }\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div *ngIf=\"creditCardMessage\" class=\"row justify-content-center\">\r\n <div class=\"col-8 box-panel mt-5 text-center\">\r\n {{creditCardMessage}}\r\n </div>\r\n </div>\r\n <epay-lib-common-login [tokenurl]=\"tokenurl\" [baseurl]=\"baseurl\" [sessionTimeout]=\"timeoutInMins\"\r\n [clientId]=\"clientId\">\r\n </epay-lib-common-login>\r\n <br>\r\n <div class=\"page-content-main max-w max-gs t-alignC\">\r\n <div class=\"message-panel\" *ngIf=\"message1\">\r\n <div class=\"box-panel\">\r\n <p class=\"c-red1b\">{{message1}}</p>\r\n <p class=\"c-red1b\">{{message2}}</p>\r\n <p class=\"c-red1b\">{{message3}}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatSnackBarConfig } from '@angular/material/snack-bar';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Location } from '@angular/common';\r\nimport { AuthService, CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-logoutwarning',\r\n templateUrl: './logoutwarning.component.html',\r\n})\r\nexport class LogoutWarningComponent implements OnInit {\r\n pagetitle = '';\r\n\r\n constructor(\r\n private location: Location,\r\n private authservice: AuthService,\r\n public snackbar: MatSnackBar\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.pagetitle = 'Logout Warning';\r\n }\r\n\r\n stayLoggedIn() {\r\n this.location.back();\r\n }\r\n logout() {\r\n this.authservice.logout(CommonSettings.BaseApi);\r\n this.openSnackBar(\r\n 'You have been successfully logged out.',\r\n 3500,\r\n 'snackbar-success'\r\n );\r\n }\r\n\r\n openSnackBar(message: string, time: number, style: string) {\r\n const config = new MatSnackBarConfig();\r\n config.horizontalPosition = 'center';\r\n config.verticalPosition = 'top';\r\n config.duration = time;\r\n config.panelClass = style;\r\n this.snackbar.open(message, '', config);\r\n }\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"box-panel shadow max-w max-gs\">\r\n <div class=\"m--pa4\">\r\n <!-- <div class=\"col-10\"> -->\r\n <h3>Your session is about to expire.</h3>\r\n <!-- </div> -->\r\n <!-- <div class=\"col-10\"> -->\r\n <p>\r\n You've been inactive for a while. For your security, we'll automatically sign you out\r\n in approximately 30 seconds. You may choose \"Stay Signed In\" to continue or \"Sign Out\" if you're done.\r\n </p>\r\n <!-- </div> -->\r\n <div class=\"flex-btn-col pt-2 pb-2\">\r\n <button class=\"btn btn-primary\" style=\"border-color: gray; background-color: gray; \"\r\n (click)=\"stayLoggedIn()\">Stay\r\n Signed In</button>\r\n <button class=\"btn btn-primary ml-2\" (click)=\"logout()\">Sign Out</button>\r\n </div>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'epay-privacypolicy',\r\n templateUrl: './privacypolicy.component.html'\r\n})\r\nexport class PrivacyPolicyComponent implements OnInit {\r\n pagetitle = 'Privacy Policy';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main box-panel shadow max-w max-gm\" id=\"page-content-main\">\r\n <div class=\"m--pa4\" style=\"max-height: 30rem; overflow-y:scroll\">\r\n\r\n <h2>Privacy Statement</h2>\r\n <i class=\"text-muted\">Last Updated: 03/18/2024</i>\r\n <hr>\r\n\r\n This policy addresses how information obtained through your use of this web site is collected, stored, and used. The following \r\n topics are covered: <br />\r\n <br />\r\n\r\n <ul class=\"list-bullet mx-3\">\r\n <li>\r\n Collection and storage of technical information <br />\r\n </li>\r\n\r\n <li>\r\n Collection and storage of personal information <br />\r\n </li>\r\n\r\n <li>\r\n Collection and storage of account information <br />\r\n </li>\r\n\r\n <li>\r\n Disclosure of personal and account information <br />\r\n </li>\r\n\r\n <li>\r\n International transactions <br />\r\n </li>\r\n\r\n <li>\r\n Securing the web site\r\n </li>\r\n </ul>\r\n <br />\r\n\r\n <STRONG>Collection and Storage of Technical Information </STRONG>\r\n <hr>\r\n \r\n Whenever you browse the web site or download forms, we collect and store information about your visit. This information \r\n does not identify you personally and consists of: \r\n <br />\r\n\r\n <br />\r\n <ul class=\"list-bullet mx-3\">\r\n <li>\r\n Your Internet protocol address. This is a numerical identifier assigned either to your Internet service provider or your computer. \r\n It can often be translated to determine the domain name of your service provider. <br />\r\n </li>\r\n\r\n <li>\r\n The date and time of your first and last visit to this site. <br />\r\n </li>\r\n\r\n <li>\r\n The web pages or services you accessed during your visit. <br />\r\n </li>\r\n </ul>\r\n <br />\r\n\r\n <STRONG>Collection and Storage of Personal Information</STRONG>\r\n <hr>\r\n \r\n Certain personal information is required when you choose to submit a child support payment via our web site. This information is \r\n collected and stored and readily identifies you; for example, your name, address, telephone number, e-mail address, social security \r\n number, or case identifier.\r\n <br />\r\n\r\n <br>\r\n <STRONG>Collection and Storage of Account Information</STRONG>\r\n <hr>\r\n \r\n If you register for our bank draft service, the checking or savings account number that you provide is stored for processing purposes. \r\n If you choose to make a child support payment with your credit card, your card information is collected so we can process your payment, \r\n however it is not stored. If you choose to make another payment with your credit card at a future time, you will be required to resubmit \r\n your credit card information. The authorization number provided by your credit card company (when your payment is approved) is collected \r\n and stored. \r\n <br />\r\n\r\n <br />\r\n <STRONG>Disclosure of Personal and Account Information</STRONG>\r\n <hr>\r\n \r\n It is our policy to treat all personal and account information as confidential. However, we may disclose information to third parties \r\n about your account, or the transactions you make, in the following situations: \r\n <br />\r\n\r\n <br />\r\n <div class=\"mx-3\">\r\n 1. Where it is necessary for completing transactions, such as to the processing financial institution; <br />\r\n <br />\r\n \r\n 2. In order to verify existence and condition of your account for a third party such as a credit bureau or merchant; <br />\r\n <br />\r\n \r\n 3. If you give us your written permission; and <br />\r\n <br />\r\n \r\n 4. Where required by law or in other appropriate circumstances. <br />\r\n <br />\r\n </div>\r\n\r\n The personal information that you submit, such as a social security number, may become part of the child support file, however, \r\n all child support files are confidential. <br />\r\n\r\n <br />\r\n <STRONG>International Transactions</STRONG>\r\n <hr>\r\n \r\n All payments made through this web site are intended only for payments not associated with a foreign bank account, which would \r\n classify it as an international ACH transaction (IAT). \r\n <br />\r\n\r\n <br />\r\n <STRONG>Securing the Web Site</STRONG>\r\n <hr>\r\n \r\n We have taken reasonable steps to safeguard the integrity of the data that we collect and store, along with preventing unauthorized \r\n access to information maintained by the web site. These measures are designed and intended to prevent corruption of data, block unknown \r\n or unauthorized access to our systems and information, and to provide reasonable protection of private information in our possession. \r\n Please be advised that, given the inherent nature of technology and the Internet, no security measures can ever be assumed to be 100% \r\n fail-safe.\r\n <br />\r\n\r\n <br />\r\n <STRONG>Cookies</STRONG>\r\n <hr>\r\n \r\n Cookies are very commonly used when browsing websites. It allows the website to store information on your computer in order to keep \r\n track of your unique session on the site. There are different types of cookies, and this site only uses a session cookie. Session \r\n cookies are stored temporarily and then deleted as soon as your web session has completed. It allows you to securely navigate the \r\n website using a unique session identifier, and the website is able to keep track of who you are. The storage of information related \r\n to the web session is temporary and the cookie will immediately be deleted as soon as you close or navigate away from the site. For \r\n security purposes, our website requires the use of session cookies.\r\n <br />\r\n\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'epay-register',\r\n templateUrl: './register.component.html'\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n pagetitle = 'New Account Registration'\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main box-panel shadow t-alignC max-w max-gs\" id=\"page-content-main\">\r\n <h2 class=\"mb-5\">Select New Account Type</h2>\r\n <div class=\"account-type-links\">\r\n <a class=\"btn-link mx-3 mb-3\" [routerLink]=\"['/ncp/register']\">Noncustodial Parent</a>\r\n <a class=\"btn-link mx-3 mb-3\" [routerLink]=\"['/employer/register']\">Employer</a>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'epay-securitypolicy',\r\n templateUrl: './securitypolicy.component.html'\r\n})\r\nexport class SecurityPolicyComponent implements OnInit {\r\n pagetitle = 'Security Measures';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main box-panel shadow max-w max-gm\" id=\"page-content-main\">\r\n <div class=\"m--pa4\">\r\n <div class=\"mb-5\">\r\n <h2 class=\"mb-5\">Security Statement</h2>\r\n <p>Every time you use this web site, the data transmitted to or from your PC is sent encrypted\r\n over a 128 bit secure socket layer (SSL). SSL encrypts all information exchanged between this\r\n web site and your PC, such as credit card numbers and other personal data, using a unique\r\n session key. Each session key is used only once, during a single session (which may include\r\n one or more transactions) with a single user. These layers of privacy protection ensure that\r\n information cannot be viewed if it is intercepted by unauthorized parties. When a message is\r\n sent, the sending and receiving computers each generate a code based on the message content.\r\n If even a single character in the message content is altered en route, the receiving computer\r\n will generate a different code, and then alert the recipient that the message is not legitimate.\r\n With message integrity, both parties involved in the transaction know that what they’re seeing is\r\n exactly what the other party sent.</p>\r\n <p>A trusted third party certificate authority issues this site’s certificate so you can be\r\n assured this web site is authentic and belongs to the Oklahoma E-Commerce Solution.</p>\r\n </div>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { EmployerService } from '../../../employer/services/employer.service';\r\n\r\n@Component({\r\n selector: 'epay-termsandconditions',\r\n templateUrl: './termsandconditions.component.html'\r\n})\r\nexport class TermsAndConditionsComponent implements OnInit {\r\n pagetitle = 'Terms and Conditions'\r\n terms = '';\r\n constructor(private employerService: EmployerService) { }\r\n\r\n ngOnInit() {\r\n this.employerService.getEmployerTerms().subscribe(\r\n (result: any) => {\r\n this.terms = result;\r\n }\r\n );\r\n }\r\n\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main box-panel shadow max-w max-gm\" id=\"page-content-main\">\r\n <div class=\"terms-panel\" [innerHTML]=\"terms\">\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'epay-webaccessibility',\r\n templateUrl: './webaccessibility.component.html'\r\n})\r\nexport class WebAccessibilityComponent implements OnInit {\r\n pagetitle = 'Accessibility';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main box-panel shadow max-w max-gs\" id=\"page-content-main\">\r\n <div class=\"m--pa4\">\r\n <h2 class=\"mb-5\">Accessibility Statement</h2>\r\n <p>\r\n This site has been evaluated for compliance with existing accessibility guidelines,\r\n including Section 508 of the US Rehabilitation Act and the W3C’s Web Content\r\n Accessibility Guidelines (WCAG).\r\n </p>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { EmployerService } from '../../../services/employer.service';\r\nimport { CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-achd-information',\r\n templateUrl: './achd-information.component.html'\r\n})\r\nexport class EMPACHDInformationComponent implements OnInit {\r\n pagetitle = 'ACH Debit Infomation'\r\n achdInfo = '';\r\n baseurl = '';\r\n\r\n constructor(private employerService: EmployerService) { }\r\n\r\n ngOnInit() {\r\n this.baseurl = CommonSettings.BaseApi;\r\n this.employerService.getACHDInfo().subscribe(\r\n result => {\r\n this.achdInfo = result;\r\n }\r\n );\r\n }\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main box-panel shadow max-w max-gs\" id=\"page-content-main\">\r\n <div class=\"\">\r\n <epay-lib-employer-achd-home [baseurl]=\"baseurl\" [achdInfo]=\"achdInfo\">\r\n </epay-lib-employer-achd-home>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService, CommonSettings, PhoneHelperService, ViewportService } from 'epay-library';\r\nimport { RegisterLibraryService } from 'epay-library';\r\nimport { ConfirmDialogModel, ConfirmDialogComponent } from 'epay-library';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { PaymentService } from 'epay-library';\r\nimport { DatePipe } from '@angular/common';\r\n\r\nimport { EMPLOYER_PROFILE_SETTINGS_URL } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-achd-landing',\r\n templateUrl: './achd.landing.component.html',\r\n})\r\nexport class EMPACHDLandingComponent implements OnInit {\r\n pagetitle = 'ACH Debit Home';\r\n secondaryIdAlias = 'Family Group #';\r\n\r\n paymentaccounts: any[] = [];\r\n username = '';\r\n usertype = '';\r\n isManager = '';\r\n numOfUsers = 0;\r\n accountKeys: string[];\r\n isLoggedIn = false;\r\n isLoading = false;\r\n accountAddress = '';\r\n accountCSZ = '';\r\n accountEmail = '';\r\n accountPhone = '';\r\n employerName = '';\r\n baseurl = '';\r\n numOfDaysForPaymentHistory: number;\r\n setupresult = '';\r\n isPaymentAccountSetup = false;\r\n hasSecondaryAccount = false;\r\n isMobile = false;\r\n showParticipantCase = false;\r\n phoneMask = '';\r\n countryId = '';\r\n\r\n confirmationSender = '';\r\n confirmationTitle = '';\r\n confirmationMessage = '';\r\n confirmationNumber = '';\r\n goToPrimary = '';\r\n goToPrimaryUrl = '';\r\n openConfirmation = false;\r\n\r\n profileSettingsUrl = EMPLOYER_PROFILE_SETTINGS_URL;\r\n\r\n constructor(\r\n private authservice: AuthService,\r\n private paymentservice: PaymentService,\r\n private viewpointService: ViewportService,\r\n private dialog: MatDialog,\r\n private datepipe: DatePipe,\r\n private router: Router,\r\n private phoneHelperService: PhoneHelperService\r\n ) {\r\n this.baseurl = CommonSettings.BaseApi;\r\n this.numOfDaysForPaymentHistory =\r\n +CommonSettings.NumOfDaysForPaymentHistory;\r\n this.accountKeys = [];\r\n this.showParticipantCase = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.authservice.currentUserName.subscribe(\r\n (name: string) => (this.username = name.toUpperCase())\r\n );\r\n this.authservice.currentUserType.subscribe(\r\n (type: string) => (this.usertype = type)\r\n );\r\n this.authservice.currentAccountAddress.subscribe((address: string) => {\r\n this.accountAddress = address;\r\n this.countryId = address.slice(-2);\r\n this.setPhoneMask(this.countryId)!;\r\n console.log(this.countryId + ' ' + this.phoneMask);\r\n });\r\n this.authservice.currentAccountPhone.subscribe(\r\n (phone: string) => (this.accountPhone = phone)\r\n );\r\n this.authservice.currentAccountEmail.subscribe(\r\n (email: string) => (this.accountEmail = email)\r\n );\r\n this.authservice.currentEmployerName.subscribe(\r\n (empName: string) => (this.employerName = empName)\r\n );\r\n this.authservice.currentUserAccountManager.subscribe(\r\n (manager: string) => (this.isManager = manager)\r\n );\r\n this.authservice.currentNumberofAccountUsers.subscribe(\r\n (acctCount: string) => (this.numOfUsers = +acctCount)\r\n );\r\n\r\n this.viewpointService.IsMobile.subscribe(\r\n (mobile: any) => (this.isMobile = mobile)\r\n );\r\n\r\n this.paymentservice\r\n .getPaymentAccounts(this.baseurl)\r\n .subscribe((accounts: any) => {\r\n this.paymentaccounts = this.filterOldAccount(accounts);\r\n if (this.paymentaccounts.length === 0) {\r\n this.isPaymentAccountSetup = false;\r\n setTimeout(() => {\r\n this.setupPaymentAccount();\r\n }, 3000);\r\n } else {\r\n this.isPaymentAccountSetup = true;\r\n }\r\n });\r\n }\r\n\r\n setPhoneMask(regionCode: string) {\r\n this.phoneMask = this.phoneHelperService.getMask(regionCode);\r\n }\r\n\r\n setupPaymentAccount() {\r\n if (sessionStorage.getItem('askForBankAccount')?.toString() !== 'false') {\r\n const message = `You do not have a Bank Account setup. Would you like to add one now?`;\r\n const acctdetail = '';\r\n const dialogData = new ConfirmDialogModel(\r\n 'Setup Bank Account',\r\n message,\r\n acctdetail,\r\n '',\r\n '',\r\n '',\r\n ''\r\n );\r\n\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n maxWidth: '600px',\r\n data: dialogData,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe({\r\n next: (dialogResult: any) => (this.setupresult = dialogResult),\r\n error: (error: any) => console.log(error),\r\n complete: () => {\r\n if (this.setupresult) {\r\n this.router.navigate(['employer/achd/paymentaccounts']);\r\n } else {\r\n //sessionStorage.setItem('askForBankAccount', 'false');\r\n this.router.navigate(['employer/home']);\r\n }\r\n },\r\n });\r\n\r\n sessionStorage.setItem('askForBankAccount', 'false');\r\n }\r\n }\r\n\r\n filterOldAccount(accounts: any[]) {\r\n return accounts.filter(\r\n (account) =>\r\n this.datepipe.transform(account.inactiveDate, 'yyyy-MM-dd') ===\r\n '9999-12-31'\r\n );\r\n }\r\n\r\n displayConfirmationPage(result: any) {\r\n if (result.success) {\r\n this.confirmationSender = result.sender;\r\n this.confirmationTitle = 'Success';\r\n this.confirmationMessage = result.message;\r\n this.confirmationNumber = result.confirmationNumber;\r\n this.goToPrimaryUrl = 'employer/home';\r\n this.goToPrimary = 'Home';\r\n this.openConfirmation = true;\r\n }\r\n }\r\n\r\n hideConfirmationPage(result: any) {\r\n this.openConfirmation = !result.hideConfirmation;\r\n }\r\n\r\n // goToProfile() {\r\n // this.router.navigate(['/employer/profile']);\r\n // }\r\n\r\n goToPaymentAccounts() {\r\n this.router.navigate(['employer/paymentaccounts']);\r\n }\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main max-w max-gl\" id=\"page-content-main\">\r\n <div *ngIf=\"!openConfirmation\">\r\n <div class=\"container m--full-bleed\">\r\n <!--Scheduled payments-->\r\n <div class=\"row m--full-bleed mb-3\">\r\n <div class=\"col-12\">\r\n <mat-card class=\"card-container\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n <h2 class=\"mat-card-title mb-0\">Scheduled Payments\r\n <a target=\"_blank\" href=\"/assets/help/How To Create Payments.pdf\" class=\"dib ml-1\">\r\n <span class=\"fa fa-question-circle fa-sm-blue\" matTooltip=\"HOW TO SETUP A SCHEDULED PAYMENT\"\r\n matTooltipClass=\"tooltip-md\">\r\n </span>\r\n </a>\r\n </h2>\r\n <div *ngIf=\"isPaymentAccountSetup\">\r\n <a [routerLink]=\"['/employer/achd/payment']\" class=\"ts-s\">\r\n Add\r\n <span class=\"fa fa-plus-circle fa-sm-blue\" matTooltip=\"ADD NEW PAYMENT\"\r\n matTooltipClass=\"tooltip-md\">\r\n </span>\r\n </a>\r\n </div>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div class=\"max-height-scrollable-block\">\r\n <epay-lib-employer-paymentlist [baseurl]=\"baseurl\"\r\n [secondaryIdAlias]=\"secondaryIdAlias\"\r\n (deletePaymentEmitter)=\"displayConfirmationPage($event)\">\r\n </epay-lib-employer-paymentlist>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n <!--Payment history-->\r\n <div class=\"row m--full-bleed\">\r\n <div class=\"col-12 col-lg-8\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Payment History</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <epay-lib-employer-paymenthistory [baseurl]=\"baseurl\"\r\n [secondaryIdAlias]=\"secondaryIdAlias\"\r\n [numOfDaysForPaymentHistory]=\"numOfDaysForPaymentHistory\" [showParticipantCase]=\"showParticipantCase\">\r\n </epay-lib-employer-paymenthistory>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <div *ngIf=\"!isMobile\" class=\"col-12 col-lg-4 form-display-card\">\r\n <div class=\"\">\r\n <mat-card class=\"info-help-panel\">\r\n <mat-card-header>\r\n <mat-card-title>My Account</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div class=\"flex-ico-row mb-3\">\r\n <div class=\"flex-ico\">\r\n <span class=\"fa fa-address-card-o fa-lg-gray\"></span>\r\n </div>\r\n <div class=\"flex-text\">\r\n <h3 class=\"mb-1\">{{username}} {{isManager && '(Manager)'}}\r\n </h3>\r\n <address class=\"ts-s\">\r\n {{accountAddress}} {{accountCSZ}}\r\n </address>\r\n </div>\r\n </div>\r\n <dl class=\"account-details-sum\">\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Employer</dt>\r\n <dd class=\"account-dt-info\">{{employerName}} </dd>\r\n </div>\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Phone</dt>\r\n <dd class=\"account-dt-info\">{{accountPhone | mask: phoneMask}} </dd>\r\n </div>\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Email</dt>\r\n <dd class=\"account-dt-info\">{{accountEmail}} </dd>\r\n </div>\r\n </dl>\r\n </mat-card-content>\r\n <hr>\r\n <div *ngIf=\"numOfUsers === 1 && isManager\" class=\"text-center\">\r\n <mat-card-content>\r\n <div class=\"ts-base\">\r\n <strong>No additional user found.</strong><br />\r\n Click <a [routerLink]=\"['/employer/profile/settings']\" [state]=\"{display: 'account'}\"><i\r\n class=\"fa fa-user-plus\"></i> HERE</a> to add an additional user.\r\n </div>\r\n </mat-card-content>\r\n <hr>\r\n </div>\r\n <mat-card-content>\r\n <div class=\"t-alignC\">\r\n <a class=\"btn-link mx-3 mb-3\" [routerLink]=\"profileSettingsUrl\">Profile and Settings</a>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <!-- <div class=\"row mt-3\">\r\n <mat-card class=\"info-help-panel\">\r\n <mat-card-header>\r\n <mat-card-title>Need Help</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div class=\"row\">\r\n <span class=\"fa fa-question fa-lg-gray\"></span>\r\n <div class=\"col-sm ml-2\">\r\n <div class=\"row\"><a href=\"employer/faq\">Frequently Asked Questions</a></div>\r\n <div class=\"row\"><a href=\"employer/contact\">Contact Us</a></div>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n <hr>\r\n <mat-card-content>\r\n <div class=\"row justify-content-center\">\r\n <button class=\"btn btn-primary\">Help and Support</button>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>-->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <epay-lib-common-confirmation *ngIf=\"openConfirmation\" [sender]=\"confirmationSender\"\r\n [confirmationTitle]=\"confirmationTitle\" [confirmationMessage]=\"confirmationMessage\"\r\n [confirmationNumber]=\"confirmationNumber\" [goToPrimary]=\"goToPrimary\" [goToPrimaryUrl]=\"goToPrimaryUrl\"\r\n (confirmationEmitter)=\"hideConfirmationPage($event)\">\r\n </epay-lib-common-confirmation>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { EmployerService } from '../../../services/employer.service';\r\nimport { CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-payment',\r\n templateUrl: './payment.component.html',\r\n})\r\nexport class EMPPaymentComponent implements OnInit {\r\n pagetitle = 'Employer: Create ACHD Debit Payment';\r\n baseurl = '';\r\n clientName = '';\r\n termsContent = '';\r\n validateCaseNumber: boolean = false;\r\n saveEmployees: boolean = false;\r\n\r\n constructor(private employerService: EmployerService) {\r\n this.baseurl = CommonSettings.BaseApi;\r\n this.clientName = CommonSettings.ClientName;\r\n this.validateCaseNumber = CommonSettings.EmployerUseCaseNumberForPayments;\r\n this.saveEmployees = CommonSettings.SaveEmployeesForPayments;\r\n }\r\n\r\n ngOnInit() {\r\n this.employerService.getEmployerTerms().subscribe((result) => {\r\n this.termsContent = result;\r\n });\r\n }\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main \" id=\"page-content-main\">\r\n <div class=\"\">\r\n <epay-lib-employer-payment\r\n [baseurl]=\"baseurl\"\r\n [termsContent]=\"termsContent\"\r\n [clientName]=\"clientName\"\r\n [saveEmployees]=\"saveEmployees\"\r\n [validateCaseNumber]=\"validateCaseNumber\">\r\n </epay-lib-employer-payment>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-paymentaccountlist',\r\n templateUrl: './paymentaccountlist.component.html'\r\n})\r\nexport class EMPPaymentAccountListComponent implements OnInit {\r\n pagetitle = 'ACH Debit Bank Accounts';\r\n baseurl: string;\r\n routingHelpImage: string;\r\n\r\n constructor() {\r\n this.baseurl = CommonSettings.BaseApi;\r\n this.routingHelpImage = '../../../../assets/help/aba.jpg';\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main max-w max-gl\" id=\"page-content-main\">\r\n <div class=\"\">\r\n <epay-lib-employer-paymentaccountlist [baseurl]=\"baseurl\" [routingHelpImage]=\"routingHelpImage\">\r\n </epay-lib-employer-paymentaccountlist>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService, PhoneHelperService, ViewportService } from 'epay-library';\r\nimport { CommonSettings } from 'epay-library';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { EMPLOYER_PROFILE_SETTINGS_URL } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-creditcard-landing',\r\n templateUrl: './creditcard.landing.component.html',\r\n})\r\nexport class EMPCreditCardLandingComponent implements OnInit {\r\n pagetitle = 'Employer: Create Credit Card Payment';\r\n baseurl = '';\r\n daysToShowCCHistory: number;\r\n username = '';\r\n usertype = '';\r\n isManager = '';\r\n numOfUsers = 0;\r\n accountKeys: string[] = [];\r\n isLoggedIn = false;\r\n isLoading = false;\r\n accountAddress = '';\r\n accountCSZ = '';\r\n accountEmail = '';\r\n accountPhone = '';\r\n employerName = '';\r\n employerEin = '';\r\n isMobile = false;\r\n profileSettingsUrl = EMPLOYER_PROFILE_SETTINGS_URL;\r\n phoneMask = '';\r\n countryId = '';\r\n\r\n constructor(\r\n private authservice: AuthService,\r\n private router: Router,\r\n private viewpointService: ViewportService,\r\n private phoneHelperService: PhoneHelperService\r\n ) {\r\n this.baseurl = CommonSettings.BaseApi;\r\n this.daysToShowCCHistory = +CommonSettings.DaysToShowEFTFileHistory;\r\n }\r\n\r\n ngOnInit() {\r\n this.authservice.isLoggedIn.subscribe(\r\n (status: any) => (this.isLoggedIn = status)\r\n );\r\n if (this.isLoggedIn) {\r\n this.authservice.currentUserName.subscribe(\r\n (name: string) => (this.username = name.toUpperCase())\r\n );\r\n this.authservice.currentUserType.subscribe(\r\n (type: string) => (this.usertype = type)\r\n );\r\n this.authservice.currentAccountAddress.subscribe((address: string) => {\r\n this.accountAddress = address;\r\n this.countryId = address.slice(-2);\r\n this.setPhoneMask(this.countryId)!;\r\n console.log(this.countryId + ' ' + this.phoneMask);\r\n });\r\n this.authservice.currentAccountPhone.subscribe(\r\n (phone: string) => (this.accountPhone = phone)\r\n );\r\n this.authservice.currentAccountEmail.subscribe(\r\n (email: string) => (this.accountEmail = email)\r\n );\r\n this.authservice.currentEmployerName.subscribe(\r\n (empName: string) => (this.employerName = empName)\r\n );\r\n this.authservice.currentUserAccountManager.subscribe(\r\n (manager: string) => (this.isManager = manager)\r\n );\r\n this.authservice.currentNumberofAccountUsers.subscribe(\r\n (acctCount: string) => (this.numOfUsers = +acctCount)\r\n );\r\n this.authservice.currentEmployerEIN.subscribe(\r\n (ein: string) => (this.employerEin = ein)\r\n );\r\n }\r\n this.viewpointService.IsMobile.subscribe(\r\n (mobile: any) => (this.isMobile = mobile)\r\n );\r\n }\r\n\r\n goToProfile() {\r\n this.router.navigate([EMPLOYER_PROFILE_SETTINGS_URL]);\r\n }\r\n\r\n setPhoneMask(regionCode: string) {\r\n this.phoneMask = this.phoneHelperService.getMask(regionCode);\r\n }\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"container m--full-bleed mt-2\">\r\n <div class=\"row m--full-bleed justify-content-center\">\r\n <div class=\"col-12 col-lg-8\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>\r\n <h2 class=\"mat-card-title mb-0\">Credit Card Payment History <a target=\"_blank\"\r\n href=\"../../../../../../assets/help/How To Make a Credit Card Payment.pdf\" class=\"dib ml-1\">\r\n <span class=\"fa fa-question-circle fa-sm-blue\" matTooltip=\"HOW TO MAKE A CREDIT CARD PAYMENT\"\r\n matTooltipClass=\"tooltip-md\">\r\n </span>\r\n </a></h2>\r\n <div>\r\n <a [routerLink]=\"['/employer/creditcard/payment']\" class=\"ts-s\">\r\n Add\r\n <span class=\"fa fa-plus-circle fa-sm-blue\" matTooltip=\"NEW CREDIT CARD PAYMENT\"\r\n matTooltipClass=\"tooltip-md\">\r\n </span>\r\n </a>\r\n </div>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content style=\"max-height: 50vh; overflow: auto;\">\r\n <epay-lib-common-creditcard-history [baseurl]=\"baseurl\"\r\n [daysToShowCCHistory]=\"daysToShowCCHistory\">\r\n </epay-lib-common-creditcard-history>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <div *ngIf=\"!isMobile\" class=\"col-12 col-lg-4 form-display-card\">\r\n <div class=\"row m--full-bleed\">\r\n <mat-card class=\"info-help-panel\">\r\n <mat-card-header>\r\n <mat-card-title>My Account</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div class=\"flex-ico-row mb-3\">\r\n <div class=\"flex-ico\">\r\n <span class=\"fa fa-address-card-o fa-lg-gray\"></span>\r\n </div>\r\n <div class=\"flex-text\">\r\n <h3 class=\"mb-1\">{{username}} {{isManager && '(Manager)'}}\r\n </h3>\r\n <address class=\"ts-s\">\r\n {{accountAddress}} {{accountCSZ}}\r\n </address>\r\n </div>\r\n </div>\r\n <dl class=\"account-details-sum\">\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Employer</dt>\r\n <dd class=\"account-dt-info\">{{employerName}} </dd>\r\n </div>\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Phone</dt>\r\n <dd class=\"account-dt-info\">{{accountPhone | mask: phoneMask}} </dd>\r\n </div>\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Email</dt>\r\n <dd class=\"account-dt-info\">{{accountEmail}} </dd>\r\n </div>\r\n </dl>\r\n </mat-card-content>\r\n <hr>\r\n <div *ngIf=\"numOfUsers === 1 && isManager\" class=\"text-center\">\r\n <mat-card-content>\r\n <div class=\"ts-base\">\r\n <strong>No additional user found.</strong><br />\r\n Click <a [routerLink]=\"profileSettingsUrl\" [state]=\"{display: 'account'}\"><i\r\n class=\"fa fa-user-plus\"></i> HERE</a> to add an additional user.\r\n </div>\r\n </mat-card-content>\r\n <hr>\r\n </div>\r\n <mat-card-content>\r\n <div class=\"t-alignC\">\r\n <a class=\"btn-link mx-3 mb-3\" [routerLink]=\"profileSettingsUrl\">Profile and Settings</a>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { EmployerService } from '../../../services/employer.service';\r\nimport { CommonService, CommonSettings, CreditCardService, ErrorHandlerService, PaymentService, PhoneHelperService, ViewportService } from 'epay-library';\r\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidatorFn, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\r\nimport { Router } from '@angular/router';\r\nimport { StepperOrientation } from '@angular/cdk/stepper';\r\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\r\nimport { IScheduledDay } from 'epay-library/lib/features/common/models/payment/scheduledday';\r\nimport { IScheduledFrequency } from 'epay-library/lib/features/common/models/payment/scheduledfrequency';\r\nimport { IEMPPaymentList } from 'epay-library/lib/features/employer/models/payment/achd/employerPaymentList';\r\nimport { IEMPCCPayment } from 'epay-library/lib/features/employer/models/payment/creditcard/employerCCPayment';\r\nimport { IEMPPaymentCollection } from 'epay-library/lib/features/employer/models/payment/employerPaymentCollection';\r\nimport * as XLSX from 'xlsx';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { IPaymentAccount } from 'epay-library/lib/features/common/models/payment/paymentaccount';\r\nimport { ICountry } from 'epay-library';\r\nimport { IState } from 'epay-library';\r\nimport { AuthService, HelperDialogModel, INCPCCPayment, INCPCases } from 'epay-library';\r\nimport { IProcessCreditCard } from 'src/app/helpers/models/creditcard-payment.model';\r\nimport PhoneNumber from 'awesome-phonenumber';\r\nimport { Observable, debounceTime, map, startWith } from 'rxjs';\r\nimport { CreditCardPaymentService } from 'src/app/helpers/services/credit-card-payment.service';\r\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { EMPSecurityCodeHelpComponent } from './empsecurity-code-help/empsecurity-code-help.component';\r\nimport { ErrorDialogComponent, ErrorHandlerDialogModel } from 'src/app/helpers/components/error-dialog/error-dialog.component';\r\n\r\ntype AOA = any[][];\r\n\r\nconst PayorValidationTypes = {\r\n scheduldedPayment: 'scheduledPayment',\r\n creditCard: 'creditCard',\r\n eftEdiFile: 'eftEdiFile',\r\n};\r\n\r\nenum PreviousPayorsType {\r\n ALL_PAYORS,\r\n PREVIOUS_PAYORS,\r\n NONE,\r\n}\r\n\r\ninterface ExpiryYear {\r\n value: string;\r\n}\r\n\r\ninterface ExpiryMonth {\r\n value: string;\r\n}\r\n\r\ninterface CreditCardType {\r\n value: string;\r\n viewValue: string;\r\n}\r\n\r\nfunction autocompleteExpMonthValidator(validOptions: Array<string>): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n var expMonth = \"\";\r\n if (control.value?.length === 1) {\r\n if (control.value === \"1\" || control.value === \"2\" || control.value === \"3\" || control.value === \"4\"\r\n || control.value === \"5\" || control.value === \"6\" || control.value === \"7\" || control.value === \"8\" || control.value === \"9\") {\r\n expMonth = \"0\" + control.value;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n else {\r\n expMonth = control.value;\r\n }\r\n\r\n if (validOptions.indexOf(expMonth) !== -1) {\r\n return null\r\n }\r\n else {\r\n return { 'invalidExpMonth': true }\r\n }\r\n \r\n }\r\n}\r\n\r\nfunction autocompleteExpYearValidator(validOptions: Array<string>): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n\r\n if (validOptions.indexOf(control.value) !== -1) {\r\n return null\r\n }\r\n else {\r\n return { 'invalidExpYear': true }\r\n }\r\n \r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'epay-creditcard',\r\n templateUrl: './creditcard.payment.component.html'\r\n})\r\nexport class EMPCreditCardPaymentComponent implements OnInit, OnChanges, AfterViewInit {\r\n @Input() isEditPayment: boolean = false;\r\n @Input() validationType = '';\r\n @Input() editPayorCollection: IEMPPaymentCollection[] = [];\r\n @Input() selectedPaymentAccount: IPaymentAccount = {} as IPaymentAccount;\r\n @Output() validPayorEmitter_OK = new EventEmitter<{\r\n payorCollection: IEMPPaymentCollection[];\r\n }>();\r\n @Output() validPayorCreditCardEmitter_OK = new EventEmitter<{\r\n creditCardPayment: IEMPCCPayment;\r\n }>();\r\n\r\n @ViewChild('LastName', { static: false }) nameField!: ElementRef;\r\n @ViewChild('inputFile', { static: false }) inputFile!: ElementRef;\r\n \r\n pagetitle = 'Employer: Create Credit Card Payment';\r\n baseurl= '';\r\n secondaryIdAlias = 'Family Group #'\r\n clientName= '';\r\n termsContent= '';\r\n creditCardUrl= '';\r\n creditCardOriginKey= '';\r\n validateCaseNumber = false;\r\n allowZeroAmount = false;\r\n isMobile = false;\r\n creditCardVendorId = 0;\r\n creditCardDisclaimer = '';\r\n fortPointStateCode = '';\r\n\r\n data: any;\r\n wopts: XLSX.WritingOptions = { bookType: 'xlsx', type: 'array' };\r\n payorChkType = PreviousPayorsType.NONE;\r\n currentlyChecked = PreviousPayorsType.NONE;\r\n\r\n employerEIN = '';\r\n\r\n stepperOrientation: StepperOrientation = 'horizontal';\r\n\r\n //Payor Collection arrays\r\n previousPaymentPayors: IEMPPaymentCollection[] = [];\r\n previousAllPayors: IEMPPaymentCollection[] = [];\r\n payorCollection: IEMPPaymentCollection[] = [];\r\n\r\n termsFrmGp: FormGroup = new FormGroup({});\r\n reviewFrmGrp: FormGroup = new FormGroup({});\r\n paymentcollectionFrmGp: FormGroup = new FormGroup({});\r\n paymentCollection: IEMPPaymentCollection[];\r\n paymentheader: string[] = [\r\n 'Last Name',\r\n 'SSN',\r\n 'FGN',\r\n 'Amount',\r\n ];\r\n empCCPayment: IEMPCCPayment = {} as IEMPCCPayment;\r\n scheduledFrequencies: IScheduledFrequency[];\r\n scheduledDaysWeek: IScheduledDay[];\r\n scheduledDaysBiMonth: IScheduledDay[];\r\n scheduledDaysMonth: IScheduledDay[];\r\n scheduledDays: IScheduledDay[];\r\n scheduledpayments: IEMPPaymentList[] = [];\r\n\r\n today = new Date();\r\n maxDate = new Date();\r\n minDate = new Date();\r\n\r\n transactionId = '';\r\n encryptedTransactionId = '';\r\n\r\n billingSectionIncomplete = false;\r\n ccSectionIncomplete = false;\r\n\r\n attemptedCCAttempt = false;\r\n\r\n ssnHide = true;\r\n startDate = '';\r\n showPaymentCollectionForm: boolean;\r\n numOfPayments = 0;\r\n totalAmtOfPayments = 0;\r\n numInvalid = 0;\r\n numWarning = 0;\r\n iseditccPayment = false;\r\n iseditccPaymentCollection = false;\r\n editccPaymentCollectionIndex: number;\r\n errorMessage = '';\r\n validationErrorMessage = '';\r\n showScheduleDay: boolean;\r\n selectedFrequency = '';\r\n selectedFrequencyCode = '';\r\n selectedDay = '';\r\n selectedDayCode = '';\r\n nextScheduledDate = '';\r\n noPreviousPayors = '';\r\n isLoadingPreviousPayors = false;\r\n\r\n scheduleddayCtrl: any;\r\n\r\n confirmationSender = '';\r\n confirmationTitle = '';\r\n confirmationMessage = '';\r\n confirmationNumber = '';\r\n goToPrimary = '';\r\n goToPrimaryUrl = '';\r\n openConfirmation = false;\r\n isLoadingEdit = false;\r\n isTermsSubmitted = false;\r\n allChecked = false;\r\n\r\n animateInput = false;\r\n atLeastOnePayorSelected = false;\r\n validateAttemptMade = false;\r\n insertUpdateError = false;\r\n nameChangeOccured = false;\r\n insertUpdateErrorMessage = '';\r\n isBankAccountSelected = false;\r\n\r\n fileImportHint = `File must contain 4 columns with headers titled \"Last Name\", \"SSN\", \"Case Number\", \"Amount\"`;\r\n fileErrorMessage = '';\r\n payorDetailError = '';\r\n calendarHint = '';\r\n\r\n toggleEditPayor = false;\r\n toggleImportPayor = false;\r\n\r\n currencyPattern = /(?=.*?\\d)^\\$?(([1-9]\\d{0,2}(,\\d{3})*)|\\d+)?(\\.\\d{1,2})?$/;\r\n ssnPattern = /^(?!000|666)[0-9]{3}([ -]?)(?!00)[0-9]{2}\\1(?!0000)[0-9]{4}$/;\r\n\r\n //Form Group for payor collection\r\n payorFrmGp: FormGroup = new FormGroup({});\r\n\r\n //Edit payor collection\r\n isEditPayor = false;\r\n editPayorIndex = 0;\r\n\r\n fileImported = false;\r\n isFileValid = false;\r\n\r\n showPayorCollectionForm = false;\r\n payorsValid = false;\r\n isValdiatingPayment = false;\r\n\r\n previousPayorsChecked = false;\r\n allPayorsChecked = false;\r\n\r\n isCreditCardValidation: boolean = false;\r\n isEftFileValidation: boolean = false;\r\n isScheduledPaymentValidation: boolean = false;\r\n\r\n ccSecurityMessage = '';\r\n civitekOriginKey = '';\r\n createPaymentButtonText = '';\r\n forePointAccessToken = '';\r\n forePointStateCode = '';\r\n validateFGNumber = false;\r\n canMakePaymentsToClosedCases = false;\r\n isLoggedIn = false;\r\n\r\n ccInfo = {\r\n cardNumber: null,\r\n cvc: null,\r\n expMonth: null,\r\n expYear: null,\r\n holder: null\r\n }\r\n\r\n requestId = '';\r\n\r\n cardExpired = false;\r\n flipCard = false;\r\n cardSide = 0;\r\n defaultCC = 'mastercard';\r\n\r\n totalCCPayment = 0;\r\n\r\n states: IState[] = [];\r\n countries: ICountry[] = [];\r\n selectedCountry = '';\r\n\r\n ccFrmGp: FormGroup = new FormGroup({});\r\n casesearchFrmGp: FormGroup = new FormGroup({});\r\n paymentDetailFrmGp: FormGroup = new FormGroup({});\r\n\r\n paymentaccountheader: string[] = [\r\n 'Select',\r\n 'Name',\r\n 'Type',\r\n 'Account',\r\n 'Status',\r\n ];\r\n cases: INCPCases[] = [];\r\n creditCardPayment: IEMPCCPayment = {} as IEMPCCPayment;\r\n creditCardObj: IProcessCreditCard = {} as IProcessCreditCard;\r\n\r\n panelOpenState = false;\r\n\r\n months: ExpiryMonth[] = [];\r\n years: ExpiryYear[] = [];\r\n\r\n filteredExpMonths$!: Observable<string[]>;\r\n expMonths: string[] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];\r\n expMonthCtrl = new FormControl();\r\n\r\n filteredExpYears$!: Observable<string[]>;\r\n expYears: string[] = [];\r\n expYearCtrl = new FormControl();\r\n\r\n ccExpired = false;\r\n\r\n\r\n creditcardType: CreditCardType[] = [];\r\n currentYear!: any;\r\n\r\n caseIsValid = false;\r\n isValdiatingParent = false;\r\n hasAttemptedSearch = false;\r\n selectedCase = '';\r\n amount = 0;\r\n hasHold: any;\r\n //hasHold = true;\r\n cvvHide = true;\r\n ccHide = true;\r\n showValidationMessage = false;\r\n\r\n ncpAccountData = [];\r\n\r\n goToCCSuccess = false;\r\n\r\n phoneMask = '';\r\n phoneExample = '';\r\n\r\n dialogData: any;\r\n dialogRef: any;\r\n deleteResult = '';\r\n\r\n ccMask = '0000 0000 0000 0000'; //mastercard, visa\r\n ccRegex = '^5[1-5][0-9]{14}$'; //mastercard\r\n ccImgURL = '../../../../../assets/images/Icons/icons8-mastercard.svg'; //mastercard\r\n expiryRegex = '^(0[1-9]|1[0-2])\\/?([0-9]{4}|[0-9]{2})$'\r\n\r\n firstNameCtrl: any;\r\n lastNameCtrl: any;\r\n ssnCtrl: any;\r\n caseNumberCtrl: any;\r\n\r\n emailPattern = /\\S+@\\S+\\.\\S+/;\r\n numberPattern = /^[0-9]\\d*$/;\r\n creditcardPattern = `^(3[47][0-9]{13}|(6541|6556)[0-9]{12}|389[0-9]{11}|3(?:0[0-5]|[68][0-9])[0-9]{11}|65[4-9][0-9]{13}|64[4-9][0-9]{13}|6011[0-9]{12}|(622(?:12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|9[01][0-9]|92[0-5])[0-9]{10})|63[7-9][0-9]{13}|(?:2131|1800|35\\d{3})\\d{11}|9[0-9]{15}|(6304|6706|6709|6771)[0-9]{12,15}|(5018|5020|5038|6304|6759|6761|6763)[0-9]{8,15}|(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))|(6334|6767)[0-9]{12}|(6334|6767)[0-9]{14}|(6334|6767)[0-9]{15}|(4903|4905|4911|4936|6333|6759)[0-9]{12}|(4903|4905|4911|4936|6333|6759)[0-9]{14}|(4903|4905|4911|4936|6333|6759)[0-9]{15}|564182[0-9]{10}|564182[0-9]{12}|564182[0-9]{13}|633110[0-9]{10}|633110[0-9]{12}|633110[0-9]{13}|(62[0-9]{14,17})|4[0-9]{12}(?:[0-9]{3})?|(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}))$`\r\n zipPattern = /^[0-9]{5}$/;\r\n\r\n // Datepicker settings\r\n dateSettingsOptions: IAngularMyDpOptions = {\r\n dateFormat: 'mm/dd/yyyy',\r\n firstDayOfWeek: 'su',\r\n closeSelectorOnDateSelect: true,\r\n sunHighlight: false,\r\n disableWeekends: true,\r\n disableUntil: {\r\n year: 0,\r\n month: 0,\r\n day: 0,\r\n },\r\n };\r\n\r\n constructor(\r\n private paymentService: PaymentService,\r\n private employerService: EmployerService,\r\n private errorHandlerService: ErrorHandlerService,\r\n private ccPaymentService: CreditCardPaymentService,\r\n private creditCardService: CreditCardService,\r\n private formbuilder: FormBuilder,\r\n private router: Router,\r\n public dialog: MatDialog,\r\n public snackbar: MatSnackBar,\r\n private viewpointService: ViewportService,\r\n private commonService: CommonService,\r\n private phoneHelperService: PhoneHelperService,\r\n public tooltip: MatTooltipModule,\r\n private authService: AuthService\r\n ) {\r\n this.baseurl = CommonSettings.BaseApi;\r\n this.clientName = CommonSettings.ClientName;\r\n this.validateCaseNumber = true;\r\n this.allowZeroAmount = false;\r\n this.creditCardVendorId = CommonSettings.CreditCardVendorID;\r\n\r\n this.iseditccPaymentCollection = false;\r\n this.showPaymentCollectionForm = false;\r\n this.showScheduleDay = false;\r\n this.paymentCollection = [];\r\n this.scheduledDaysWeek = [];\r\n this.scheduledDaysBiMonth = [];\r\n this.scheduledDaysMonth = [];\r\n this.scheduledDays = [];\r\n this.scheduledFrequencies = [];\r\n this.editccPaymentCollectionIndex = -1;\r\n this.maxDate.setDate(\r\n this.today.getDate() + +CommonSettings.NumOfDaysOutForCalendar\r\n );\r\n\r\n this.validateFGNumber = true;\r\n this.allowZeroAmount = false;\r\n\r\n this.selectedCountry = 'US';\r\n\r\n this.createPaymentButtonText = 'Pay Now';\r\n }\r\n\r\n ngOnInit() {\r\n let currentDate = new Date();\r\n this.currentYear = currentDate.getFullYear();\r\n\r\n this.expYears = [\r\n this.currentYear.toString(),\r\n (this.currentYear + 1).toString(),\r\n (this.currentYear + 2).toString(),\r\n (this.currentYear + 3).toString(),\r\n (this.currentYear + 4).toString(),\r\n (this.currentYear + 5).toString(),\r\n (this.currentYear + 6).toString(),\r\n (this.currentYear + 7).toString(),\r\n (this.currentYear + 8).toString(),\r\n (this.currentYear + 10).toString(),\r\n ];\r\n\r\n this.expMonthCtrl = new FormControl('', { validators: [ Validators.required]});\r\n this.expYearCtrl = new FormControl('', { validators: [Validators.required]});\r\n\r\n this.filteredExpMonths$ = this.expMonthCtrl.valueChanges.pipe(\r\n startWith(''),\r\n map((value) => this.filterMonthValue(value))\r\n );\r\n\r\n this.filteredExpYears$ = this.expYearCtrl.valueChanges.pipe(\r\n startWith(''),\r\n map((value) => this.filterYearValue(value))\r\n );\r\n\r\n this.expMonthCtrl.valueChanges.pipe(debounceTime(1500)).subscribe((month: any) => {\r\n if (month && month.length === 1) {\r\n var expMonth = \"\";\r\n if (month === \"1\" || month === \"2\" || month === \"3\" || month === \"4\"\r\n || month === \"5\" || month === \"6\" || month === \"7\" || month === \"8\" || month === \"9\") {\r\n expMonth = \"0\" + month;\r\n this.expMonthCtrl.setValue(expMonth);\r\n }\r\n }\r\n\r\n if (month && this.expYearCtrl.value) {\r\n this.ccExpired = this.isCCExpired(month, this.expYearCtrl.value);\r\n console.log(\"CCExpired1: \", this.ccExpired)\r\n\r\n if (this.ccExpired) {\r\n this.ccFrmGp.setErrors({expired: true})\r\n }\r\n else {\r\n this.ccFrmGp.setErrors({expired: null})\r\n this.ccFrmGp.get('ccExpiryMonth')!.setValue(month);\r\n this.ccFrmGp.get('ccExpiryYear')!.setValue(this.expYearCtrl.value);\r\n }\r\n } \r\n });\r\n\r\n this.expYearCtrl.valueChanges.pipe(debounceTime(1500)).subscribe((year: any) => {\r\n if (year && this.expMonthCtrl.value) {\r\n this.ccExpired = this.isCCExpired(this.expMonthCtrl.value, year);\r\n console.log(\"CCExpired2: \", this.ccExpired)\r\n\r\n if (this.ccExpired) {\r\n this.ccFrmGp.setErrors({expired: true})\r\n }\r\n else {\r\n this.ccFrmGp.setErrors({expired: null})\r\n this.ccFrmGp.get('ccExpiryYear')!.setValue(year);\r\n this.ccFrmGp.get('ccExpiryMonth')!.setValue(this.expMonthCtrl.value);\r\n }\r\n }\r\n });\r\n \r\n\r\n this.creditcardType = [\r\n {value: 'mastercard', viewValue: 'MasterCard'},\r\n {value: 'visa', viewValue: 'Visa'},\r\n ]\r\n\r\n this.employerService.getEmployerTerms().subscribe(\r\n result => {\r\n this.termsContent = result;\r\n }\r\n );\r\n\r\n this.validationType = PayorValidationTypes.creditCard;\r\n this.loadFormGroups();\r\n this.getCountries();\r\n this.getStates();\r\n this.setValidationType();\r\n\r\n if (this.secondaryIdAlias === '') {\r\n this.secondaryIdAlias = 'Case Number';\r\n }\r\n\r\n this.payorFrmGp = this.formbuilder.group({\r\n filename: ' Choose File',\r\n collectionFrmGp: this.formbuilder.group({\r\n lastname: ['', Validators.minLength(1)],\r\n ssn: [''],\r\n casenumber: ['', Validators.minLength(1)],\r\n amount: ['', Validators.pattern(this.currencyPattern)],\r\n }),\r\n isValid: ['false', Validators.requiredTrue],\r\n });\r\n\r\n // if (this.secondaryIdAlias !== '') {\r\n // this.paymentheader = [\r\n // 'Last Name',\r\n // 'SSN',\r\n // 'FGN',\r\n // 'Amount',\r\n // ];\r\n // } else {\r\n // this.secondaryIdAlias = 'Case Number';\r\n // }\r\n\r\n this.viewpointService.StepperOrient.subscribe(\r\n (orient) => (this.stepperOrientation = orient)\r\n );\r\n\r\n // Credit Card Payment controls\r\n const phoneCtrl = this.ccFrmGp.get('phoneGp.phoneNumber');\r\n const countryCtrl = this.ccFrmGp.get('country');\r\n\r\n phoneCtrl!.valueChanges.pipe(debounceTime(500)).subscribe((value) => {\r\n if (value) {\r\n const pn = new PhoneNumber(\r\n value,\r\n this.ccFrmGp.get('phoneGp.regionCode')!.value\r\n );\r\n this.ccFrmGp.get('phoneGp')!.patchValue({\r\n isValid: pn.isPossible(),\r\n });\r\n }\r\n });\r\n\r\n countryCtrl!.valueChanges.subscribe((value) => {\r\n if (value) {\r\n this.setMaskAndExample(value);\r\n this.ccFrmGp.patchValue({\r\n state: '',\r\n zip5: '',\r\n });\r\n this.ccFrmGp.get('phoneGp')!.patchValue({\r\n regionCode: value,\r\n countryCode:\r\n this.phoneHelperService.getCountryCodeForRegionCode(value),\r\n phoneNumber: '',\r\n isValid: false,\r\n });\r\n if (value === 'US') {\r\n this.ccFrmGp\r\n .get('zip5')!\r\n .setValidators([\r\n Validators.required,\r\n Validators.pattern(this.zipPattern),\r\n ]);\r\n this.ccFrmGp.get('zip5')!.updateValueAndValidity();\r\n } else {\r\n this.ccFrmGp\r\n .get('zip5')!\r\n .setValidators([Validators.required, Validators.maxLength(6)]);\r\n this.ccFrmGp.get('zip5')!.updateValueAndValidity();\r\n }\r\n if (value === 'US' || value === 'MX' || value === 'CA') {\r\n this.selectedCountry = value;\r\n this.ccFrmGp.get('state')!.enable();\r\n this.ccFrmGp.get('state')!.setErrors({ required: true });\r\n this.ccFrmGp.updateValueAndValidity();\r\n this.getStates();\r\n } else {\r\n this.ccFrmGp.get('state')!.disable();\r\n this.ccFrmGp.get('state')!.setErrors({ required: false });\r\n this.ccFrmGp.updateValueAndValidity();\r\n }\r\n }\r\n });\r\n\r\n this.ccFrmGp.valueChanges.pipe(debounceTime(500)).subscribe((value) => {\r\n if (this.attemptedCCAttempt) {\r\n if (!this.ccFrmGp.valid) {\r\n if (\r\n (\r\n !this.ccFrmGp.get('ccFirstName')?.value ||\r\n !this.ccFrmGp.get('ccLastName')?.value ||\r\n !this.ccFrmGp.get('address1')?.value ||\r\n !this.ccFrmGp.get('city')?.value ||\r\n !this.ccFrmGp.get('state')?.value ||\r\n !this.ccFrmGp.get('zip5')?.value ||\r\n !this.ccFrmGp.get('email')?.value ||\r\n !this.ccFrmGp.get('phoneGp.phoneNumber')?.value\r\n ) || (\r\n !this.ccFrmGp.get('ccFirstName')?.valid ||\r\n !this.ccFrmGp.get('ccLastName')?.valid ||\r\n !this.ccFrmGp.get('address1')?.valid ||\r\n !this.ccFrmGp.get('city')?.valid ||\r\n !this.ccFrmGp.get('state')?.valid ||\r\n !this.ccFrmGp.get('zip5')?.valid ||\r\n !this.ccFrmGp.get('email')?.valid ||\r\n !this.ccFrmGp.get('phoneGp.phoneNumber')?.valid\r\n ))\r\n {\r\n this.billingSectionIncomplete = true;\r\n console.log(\"Billing missing\")\r\n } else {\r\n this.billingSectionIncomplete = false;\r\n }\r\n \r\n if (\r\n (\r\n !this.ccFrmGp.get('ccNumber')?.value || \r\n !this.ccFrmGp.get('ccExpiryMonth')?.value ||\r\n !this.ccFrmGp.get('ccExpiryYear')?.value ||\r\n !this.ccFrmGp.get('cvv')?.value\r\n ) || \r\n (\r\n !this.ccFrmGp.get('ccNumber')?.valid || \r\n !this.ccFrmGp.get('ccExpiryMonth')?.valid ||\r\n !this.ccFrmGp.get('ccExpiryYear')?.valid ||\r\n !this.ccFrmGp.get('cvv')?.valid\r\n )) {\r\n this.ccSectionIncomplete = true;\r\n console.log(\"cc missing\")\r\n } else {\r\n this.ccSectionIncomplete = false;\r\n }\r\n }\r\n else {\r\n this.billingSectionIncomplete = false;\r\n this.ccSectionIncomplete = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n // this.expMonTrigger.panelClosingActions.subscribe((e) => {\r\n // console.log(\"E \", e)\r\n // if (!(e && e.source)) {\r\n // // clear value if is not from the filtered list\r\n // this.expMonthCtrl.setValue('');\r\n // this.expMonTrigger.closePanel();\r\n // }\r\n // });\r\n\r\n // this.expYearTrigger.panelClosingActions.subscribe((e) => {\r\n // console.log(\"E \", e)\r\n // if (!(e && e.source)) {\r\n // // clear value if is not from the filtered list\r\n // this.expYearCtrl.setValue('');\r\n // this.expYearTrigger.closePanel();\r\n // }\r\n // });\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (this.isEditPayment) {\r\n this.payorCollection = this.editPayorCollection;\r\n }\r\n }\r\n\r\n isCCExpired(month: string, year: string): boolean {\r\n var dateVal = month + \"/01/\" + year;\r\n var ccDate = new Date(dateVal);\r\n var currentDate = new Date();\r\n\r\n //console.log(\"Date val: \", dateVal)\r\n //console.log(\"CCDate \", ccDate)\r\n //console.log(\"CurrentDate \", currentDate)\r\n\r\n if (ccDate < currentDate) {\r\n var expDate = new Date(Number(month)+1 + \"/01/\" + year);\r\n //console.log(\"EXP DATE: \", expDate)\r\n return expDate < currentDate\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n filterMonthValue(value: string): string[] {\r\n if (value === '') {\r\n return this.expMonths.slice();\r\n }\r\n\r\n const filterValue = value.toLowerCase();\r\n return this.expMonths.filter(\r\n (option: any) => option.toLowerCase().indexOf(filterValue) === 0\r\n );\r\n }\r\n\r\n filterYearValue(value: string): string[] {\r\n if (value === '') {\r\n return this.expYears.slice();\r\n }\r\n\r\n const filterValue = value.toLowerCase();\r\n return this.expYears.filter(\r\n (option: any) => option.toLowerCase().indexOf(filterValue) === 0\r\n );\r\n }\r\n\r\n createCCPaymentAttempt() {\r\n this.attemptedCCAttempt = true;\r\n\r\n console.log(\"****** \", this.ccFrmGp)\r\n console.log(\"NOT VALID: \", !this.ccFrmGp.valid)\r\n\r\n if (!this.ccFrmGp.valid) {\r\n if (\r\n !this.ccFrmGp.get('ccFirstName')?.value\r\n ||\r\n !this.ccFrmGp.get('ccLastName')?.value ||\r\n !this.ccFrmGp.get('address1')?.value ||\r\n !this.ccFrmGp.get('city')?.value ||\r\n !this.ccFrmGp.get('state')?.value ||\r\n !this.ccFrmGp.get('zip5')?.value ||\r\n !this.ccFrmGp.get('email')?.value ||\r\n !this.ccFrmGp.get('phoneGp.phoneNumber')?.value\r\n ) {\r\n this.billingSectionIncomplete = true;\r\n console.log(\"Billing missing\")\r\n }\r\n\r\n if (\r\n !this.ccFrmGp.get('ccNumber')?.value || \r\n !this.ccFrmGp.get('ccExpiryMonth')?.value ||\r\n !this.ccFrmGp.get('ccExpiryYear')?.value ||\r\n !this.ccFrmGp.get('cvv')?.value) {\r\n this.ccSectionIncomplete = true;\r\n console.log(\"cc missing\")\r\n }\r\n\r\n if (this.ccFrmGp?.hasError('expired') || this.expMonthCtrl.hasError('invalidExpMonth') || this.expYearCtrl.hasError('invalidExpYear')) {\r\n this.ccSectionIncomplete = true;\r\n }\r\n }\r\n\r\n else {\r\n this.creditCardPayment.confirm = true;\r\n\r\n this.creditCardPayment.amount = this.totalAmtOfPayments;\r\n this.totalCCPayment = this.creditCardPayment.totalAmount;\r\n this.creditCardPayment.firstName = this.ccFrmGp.get('ccFirstName')?.value;\r\n this.creditCardPayment.lastName = this.ccFrmGp.get('ccLastName')?.value;\r\n this.creditCardPayment.addressLine1 = this.ccFrmGp.get('address1')?.value;\r\n this.creditCardPayment.addressLine2 = this.ccFrmGp.get('address2')?.value;\r\n this.creditCardPayment.addressCity = this.ccFrmGp.get('city')?.value;\r\n this.creditCardPayment.addressState = this.ccFrmGp.get('state')?.value;\r\n this.creditCardPayment.addressCountry = this.ccFrmGp.get('country')?.value;\r\n this.creditCardPayment.addressZIP5 = this.ccFrmGp.get('zip5')?.value;\r\n this.creditCardPayment.email = this.ccFrmGp.get('email')?.value;\r\n this.creditCardPayment.phone = this.ccFrmGp.get('phoneGp.phoneNumber')?.value;\r\n\r\n //console.log(\"CC PAYMENT ATTEMPT PAYLOAD: \", this.creditCardPayment)\r\n\r\n this.creditCardService\r\n .insertEmployerCreditCardAttempt(this.baseurl, this.creditCardPayment)\r\n .subscribe({\r\n next: (success: any) => {\r\n\r\n this.transactionId = success.value.transactionId;\r\n\r\n if (this.transactionId === '') {\r\n console.log(\r\n 'Did not receieve transactionId for Credit Card payment...'\r\n );\r\n } else {\r\n //this.authService.logout(this.baseurl, true);\r\n }\r\n },\r\n error: (error: any) => {\r\n console.log(\"Failing here #2\")\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n }\r\n\r\n processCreditCard() {\r\n this.createPaymentButtonText = 'Processing....';\r\n \r\n let firstName = this.ccFrmGp.get('ccFirstName')?.value;\r\n let lastName = this.ccFrmGp.get('ccLastName')?.value;\r\n let cvv = this.ccFrmGp.get('cvv')?.value;\r\n let ccNumber = this.ccFrmGp.get('ccNumber')?.value;\r\n let ccExpiryMonth = this.ccFrmGp.get('ccExpiryMonth')?.value;\r\n let ccExpiryYear = this.ccFrmGp.get('ccExpiryYear')?.value;\r\n let address1 = this.ccFrmGp.get('address1')?.value;\r\n let address2 = this.ccFrmGp.get('address2')?.value;\r\n let city = this.ccFrmGp.get('city')?.value;\r\n let state = this.ccFrmGp.get('state')?.value;\r\n let zip = this.ccFrmGp.get('zip5')?.value;\r\n\r\n this.creditCardObj = {\r\n transactionId: this.transactionId,\r\n firstName: firstName,\r\n lastName: lastName,\r\n accountNumber: ccNumber,\r\n expirationMonth: ccExpiryMonth,\r\n expirationYear: ccExpiryYear,\r\n securityCode: cvv,\r\n isEmployer: true,\r\n addressLine1: address1,\r\n addressLine2: address2,\r\n addressCity: city,\r\n addressState: state,\r\n addressZIP5: zip\r\n };\r\n\r\n console.log(\"Process CC Obj: \", this.creditCardObj);\r\n\r\n this.ccPaymentService.insertProcessCreditCard(\r\n this.baseurl, this.creditCardObj\r\n ).subscribe({\r\n next: (success: any) => {\r\n\r\n console.log(\"Process CC Response: \", success)\r\n console.log(\"Transaction ID: \", this.transactionId)\r\n\r\n this.encryptedTransactionId = success.encodedTransactionId!\r\n\r\n if (success) {\r\n this.authService.logout(CommonSettings.BaseApi);\r\n this.router.navigate(['/creditcardsuccess'], {queryParams: {tid: this.encryptedTransactionId}});\r\n }\r\n },\r\n error: (error: any) => {\r\n //this.logError(error);\r\n //this.handleError(error.status);\r\n console.log(\"ERR: \", error)\r\n\r\n this.createPaymentButtonText = 'Pay Now';\r\n\r\n if (error.error) {\r\n var errTitle = '';\r\n var errMsg = '';\r\n\r\n if (error.error.length !== 0) {\r\n error.error.forEach((res: any) => {\r\n if (res.errorCode + ', ' !== errTitle) {\r\n errTitle += res.errorCode + ', ';\r\n }\r\n errMsg += res.errorMessage + ', ';\r\n });\r\n }\r\n \r\n this.dialogData = new ErrorHandlerDialogModel(\r\n \"Error Occurred: Internal Error Occurred\",\r\n \"Error Code: \" + errTitle,\r\n errMsg,\r\n '',\r\n '',\r\n '',\r\n true\r\n );\r\n \r\n this.dialogRef = this.dialog.open(ErrorDialogComponent, {\r\n maxWidth: '800px',\r\n data: this.dialogData,\r\n });\r\n \r\n this.dialogRef.afterClosed().subscribe((dialogResult: string) => {\r\n this.deleteResult = dialogResult;\r\n if (this.deleteResult) {\r\n //this.location.back();\r\n }\r\n });\r\n }\r\n else {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n }\r\n\r\n },\r\n });\r\n }\r\n\r\n securityCodeHelp() {\r\n this.dialog.open(EMPSecurityCodeHelpComponent);\r\n }\r\n\r\n rotateCard(control: string) {\r\n if (control === 'cvv') {\r\n if (this.cardSide === 0) {\r\n this.flipCard = !this.flipCard;\r\n this.cardSide = 1;\r\n }\r\n }\r\n\r\n if (control === 'other') {\r\n if (this.cardSide === 1) {\r\n this.flipCard = !this.flipCard;\r\n this.cardSide = 0;\r\n }\r\n }\r\n\r\n }\r\n\r\n setMaskAndExample(regionCode: string) {\r\n this.phoneExample = this.phoneHelperService.getExample(regionCode);\r\n this.phoneMask = this.phoneHelperService.getMask(regionCode);\r\n }\r\n\r\n toggleCVVHide() {\r\n this.cvvHide = !this.cvvHide;\r\n }\r\n\r\n toggleCCHide() {\r\n this.ccHide = !this.ccHide;\r\n }\r\n\r\n emitValidPayorPerValidation() {\r\n if (this.isScheduledPaymentValidation) {\r\n this.validPayorEmit();\r\n } else if (this.isCreditCardValidation) {\r\n this.validCreditCardEmit();\r\n }\r\n }\r\n\r\n validPayorEmit() {\r\n if (this.payorsValid) {\r\n this.validPayorEmitter_OK.emit({\r\n payorCollection: this.payorCollection,\r\n });\r\n }\r\n }\r\n\r\n validCreditCardEmit() {\r\n this.creditCardPayment = {\r\n batchType: 'WEB',\r\n payerType: 'EMP',\r\n confirm: false,\r\n fee: 0,\r\n feePercentage: 0,\r\n amount: this.totalAmtOfPayments,\r\n totalAmount: this.totalAmtOfPayments,\r\n participantCollection: this.payorCollection,\r\n firstName: this.ccFrmGp.get('ccFirstName')?.value ? this.ccFrmGp.get('ccFirstName')?.value : '',\r\n lastName: this.ccFrmGp.get('ccLastName')?.value ? this.ccFrmGp.get('ccLastName')?.value : '',\r\n ssn: '',\r\n addressLine1: this.ccFrmGp.get('address1')?.value ? this.ccFrmGp.get('address1')?.value : '',\r\n addressLine2: this.ccFrmGp.get('address2')?.value ? this.ccFrmGp.get('address2')?.value : '',\r\n addressCity: this.ccFrmGp.get('city')?.value ? this.ccFrmGp.get('city')?.value : '',\r\n addressState: this.ccFrmGp.get('state')?.value ? this.ccFrmGp.get('state')?.value : '',\r\n addressCountry: this.ccFrmGp.get('country')?.value ? this.ccFrmGp.get('country')?.value : '',\r\n addressZIP5: this.ccFrmGp.get('zip5')?.value ? this.ccFrmGp.get('zip5')?.value : '',\r\n email: this.ccFrmGp.get('email')?.value ? this.ccFrmGp.get('email')?.value : '',\r\n phone: this.ccFrmGp.get('phoneGp.phoneNumber')?.value ? this.ccFrmGp.get('phoneGp.phoneNumber')?.value : ''\r\n };\r\n\r\n this.creditCardService\r\n .insertEmployerCreditCardAttempt(this.baseurl, this.creditCardPayment)\r\n .subscribe({\r\n next: (response: any) => {\r\n this.creditCardPayment.fee = response.value.convenienceAmount;\r\n this.creditCardPayment.feePercentage =\r\n response.value.convenienceFeePercentage;\r\n this.creditCardPayment.totalAmount = response.value.totalPaymentAmount;\r\n this.creditCardPayment.participantCollection = this.payorCollection;\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n complete: () => {\r\n this.validPayorCreditCardEmitter_OK.emit({\r\n creditCardPayment: this.creditCardPayment,\r\n });\r\n },\r\n });\r\n }\r\n\r\n validatePayors() {\r\n this.numInvalid = 0;\r\n this.numWarning = 0;\r\n this.noPreviousPayors = '';\r\n this.validationErrorMessage = '';\r\n this.isValdiatingPayment = true;\r\n this.validateAttemptMade = true;\r\n this.nameChangeOccured = false;\r\n\r\n const allowZeroAmount = false;\r\n\r\n let foundError = false;\r\n\r\n if (this.atLeastOnePayorSelected) {\r\n this.payorCollection = this.payorCollection.filter((x) => x.isSelected);\r\n this.payorCollection.forEach((payor) => {\r\n payor.hasError = false;\r\n payor.isValidated = false;\r\n payor.errorMessage = '';\r\n // Check for invalid payors\r\n if (payor.amount === null || payor.amount === undefined) {\r\n foundError = true;\r\n payor.hasError = true;\r\n payor.isValidated = true;\r\n payor.errorMessage = 'Missing Amount';\r\n } else if (\r\n Number.isNaN(payor.amount) ||\r\n payor.amount === 0 ||\r\n payor.amount < 1.0 ||\r\n payor.amount > 9999.99\r\n ) {\r\n foundError = true;\r\n payor.hasError = true;\r\n payor.isValidated = true;\r\n payor.errorMessage = 'Invalid Amount';\r\n } else if (\r\n this.validateCaseNumber &&\r\n (payor.caseNumber === null || payor.caseNumber === '')\r\n ) {\r\n foundError = true;\r\n payor.hasError = true;\r\n payor.isValidated = true;\r\n payor.errorMessage = 'Missing ' + this.secondaryIdAlias;\r\n } else {\r\n payor.hasError = false;\r\n payor.isValidated = false;\r\n payor.errorMessage = '';\r\n }\r\n payor.ssn = payor.ssn.toString().replace(/-/g, '');\r\n payor.ssn = payor.ssn.toString().replace(/\\s/g, '');\r\n payor.hadEdit = false;\r\n });\r\n\r\n if (foundError) {\r\n let foundInvalidCount = 0;\r\n this.payorsValid = false;\r\n this.isValdiatingPayment = false;\r\n this.payorFrmGp.patchValue({\r\n isValid: this.payorsValid,\r\n });\r\n this.payorCollection.forEach((payor) => {\r\n if (payor.hasError) {\r\n foundInvalidCount++;\r\n }\r\n });\r\n this.numInvalid = foundInvalidCount;\r\n }\r\n\r\n if (\r\n this.payorCollection.length > 0 &&\r\n this.atLeastOnePayorSelected &&\r\n !foundError\r\n ) {\r\n this.payorCollection.forEach((payor) => {\r\n //Update ssn to all 0s if blank\r\n if (payor.ssn.length === 0) {\r\n payor.ssn = '000000000';\r\n }\r\n payor.caseNumber = payor.caseNumber?.toString().padStart(9, '0');\r\n });\r\n\r\n this.paymentService\r\n .isValidPayment(\r\n this.baseurl,\r\n this.payorCollection,\r\n allowZeroAmount.toString(),\r\n this.validateCaseNumber.toString()\r\n )\r\n .subscribe({\r\n next: (valid: any) => {\r\n this.payorCollection.forEach((element) => {\r\n element.hasError = false;\r\n element.hasWarning = false;\r\n element.isValidated = true;\r\n });\r\n this.payorsValid = true;\r\n this.nameChangeOccured = false;\r\n this.payorFrmGp.patchValue({\r\n isValid: this.payorsValid,\r\n });\r\n this.isValdiatingPayment = false;\r\n },\r\n error: (error: any) => {\r\n this.payorsValid = false;\r\n this.isValdiatingPayment = false;\r\n this.payorFrmGp.patchValue({\r\n isValid: this.payorsValid,\r\n });\r\n if (error.status === 400) {\r\n // First, reset all payments hasError to false\r\n this.payorCollection.forEach((element) => {\r\n element.isValidated = true;\r\n element.hasError = false;\r\n element.hasWarning = false;\r\n element.errorMessage = '';\r\n });\r\n // Second, add hasError to those indexes returned\r\n error.error.invalidParticipantPositions.forEach(\r\n (invalidPayor: any) => {\r\n if (\r\n invalidPayor.correctedName !== undefined &&\r\n invalidPayor.correctedName !== null &&\r\n invalidPayor.correctedName !== ''\r\n ) {\r\n this.nameChangeOccured = true;\r\n this.payorCollection[invalidPayor.index].hasWarning =\r\n true;\r\n this.payorCollection[invalidPayor.index].lastName =\r\n invalidPayor.correctedName;\r\n this.payorCollection[invalidPayor.index].errorMessage =\r\n invalidPayor.error;\r\n this.numWarning++;\r\n } else {\r\n this.payorCollection[invalidPayor.index].hasError = true;\r\n this.payorCollection[invalidPayor.index].errorMessage =\r\n invalidPayor.error;\r\n this.numInvalid++;\r\n }\r\n }\r\n );\r\n this.validationErrorMessage = error.error.failureMessage;\r\n this.validationErrorMessage =\r\n this.validationErrorMessage.replace(/^\"|\"$/g, '');\r\n } else {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n }\r\n },\r\n complete: () => {\r\n if (this.payorsValid) {\r\n this.emitValidPayorPerValidation();\r\n }\r\n },\r\n });\r\n }\r\n } else {\r\n this.isValdiatingPayment = false;\r\n }\r\n }\r\n\r\n getPreviousPaymentPayors(event: any) {\r\n this.toggleEditPayor = false;\r\n this.payorsValid = false;\r\n this.numInvalid = 0;\r\n this.numWarning = 0;\r\n this.isFileValid = false;\r\n this.fileImported = false;\r\n this.noPreviousPayors = '';\r\n this.nameChangeOccured = false;\r\n this.isLoadingPreviousPayors = false;\r\n this.previousPaymentPayors = [];\r\n this.previousAllPayors = [];\r\n this.payorCollection = [];\r\n\r\n let lastPaymentIndex = 0;\r\n this.payorFrmGp.patchValue({\r\n filename: '',\r\n isValid: this.payorsValid,\r\n });\r\n this.payorFrmGp.updateValueAndValidity();\r\n\r\n if (!event.target.checked) {\r\n this.previousPayorsChecked = false;\r\n } else {\r\n this.previousPayorsChecked = true;\r\n this.allPayorsChecked = false;\r\n this.isLoadingPreviousPayors = true;\r\n\r\n this.paymentService\r\n .getPayments(\r\n this.baseurl,\r\n this.selectedPaymentAccount.scheduledPaymentAccountKey,\r\n true\r\n )\r\n .subscribe({\r\n next: (payments: any) => {\r\n this.scheduledpayments = payments;\r\n //Filter cancelled payments that don't have payor listed anymore\r\n this.scheduledpayments.filter(\r\n (p) => p.participantCollection.length > 0\r\n );\r\n\r\n //If we have scheduled payment left after filter, sort them and add to payment Collection for view\r\n if (this.scheduledpayments.length > 0) {\r\n this.scheduledpayments.sort(\r\n (a, b) =>\r\n <any>new Date(a.scheduleStartDate) -\r\n <any>new Date(b.scheduleStartDate)\r\n );\r\n\r\n lastPaymentIndex = this.scheduledpayments.length - 1;\r\n\r\n this.previousPaymentPayors =\r\n this.scheduledpayments[lastPaymentIndex].participantCollection;\r\n this.previousPaymentPayors.forEach((payor) => {\r\n payor.isSelected = false;\r\n payor.isValidated = false;\r\n payor.hasError = false;\r\n payor.caseNumber = payor.secondaryId;\r\n });\r\n this.payorCollection = this.payorCollection.concat(\r\n this.previousPaymentPayors\r\n );\r\n this.isLoadingPreviousPayors = false;\r\n this.allChecked = false;\r\n } else {\r\n this.noPreviousPayors =\r\n 'No previous payors found for the selected bank account.';\r\n this.isLoadingPreviousPayors = false;\r\n }\r\n },\r\n error: (error: any) => {\r\n this.isLoadingPreviousPayors = false;\r\n if (error.status !== 404) {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n } else {\r\n this.noPreviousPayors =\r\n 'No previous payors found for the selected bank account.';\r\n this.isLoadingPreviousPayors = false;\r\n }\r\n },\r\n });\r\n }\r\n }\r\n\r\n getAllPreviousPayors(event: any) {\r\n this.toggleEditPayor = false;\r\n this.payorsValid = false;\r\n this.numInvalid = 0;\r\n this.numWarning = 0;\r\n this.isFileValid = false;\r\n this.fileImported = false;\r\n this.noPreviousPayors = '';\r\n this.nameChangeOccured = false;\r\n this.isLoadingPreviousPayors = false;\r\n this.previousPaymentPayors = [];\r\n this.previousAllPayors = [];\r\n this.payorCollection = [];\r\n\r\n this.payorFrmGp.patchValue({\r\n filename: '',\r\n isValid: this.payorsValid,\r\n });\r\n this.payorFrmGp.updateValueAndValidity();\r\n\r\n if (!event.target.checked) {\r\n this.allPayorsChecked = false;\r\n } else {\r\n this.allPayorsChecked = true;\r\n this.previousPayorsChecked = false;\r\n\r\n this.isLoadingPreviousPayors = true;\r\n\r\n this.paymentService\r\n .getPayments(\r\n this.baseurl,\r\n this.selectedPaymentAccount.scheduledPaymentAccountKey,\r\n true\r\n )\r\n .subscribe({\r\n next: (payments: any) => {\r\n this.scheduledpayments = payments;\r\n //Filter cancelled payments that don't have payor listed anymore\r\n this.scheduledpayments.filter(\r\n (p) => p.participantCollection.length > 0\r\n );\r\n\r\n //If we have scheduled payment left after filter, sort them and add to payment Collection for view\r\n if (this.scheduledpayments.length > 0) {\r\n this.scheduledpayments.sort(\r\n (a, b) =>\r\n <any>new Date(a.scheduleStartDate) -\r\n <any>new Date(b.scheduleStartDate)\r\n );\r\n\r\n //Get all previous participants\r\n this.scheduledpayments.forEach((payment) => {\r\n this.previousAllPayors = this.previousAllPayors.concat(\r\n payment.participantCollection\r\n );\r\n });\r\n //Set defaults for all previous participants\r\n this.previousAllPayors.forEach((prevPayor) => {\r\n prevPayor.isSelected = false;\r\n prevPayor.hasError = false;\r\n prevPayor.isValidated = false;\r\n prevPayor.caseNumber = prevPayor.secondaryId;\r\n });\r\n //Remove duplicates with same name, ssn, and case number\r\n this.previousAllPayors = this.previousAllPayors.filter(\r\n (v, i, a) =>\r\n a.findIndex(\r\n (t) =>\r\n t.lastName.toUpperCase() === v.lastName.toUpperCase() &&\r\n t.ssn === v.ssn &&\r\n t.caseNumber === v.caseNumber\r\n ) === i\r\n );\r\n\r\n //Set previous to collection for UI display\r\n this.payorCollection = this.previousAllPayors;\r\n\r\n //Set loading values for display\r\n this.isLoadingPreviousPayors = false;\r\n this.allChecked = false;\r\n }\r\n },\r\n error: (error: any) => {\r\n this.isLoadingPreviousPayors = false;\r\n if (error.status !== 404) {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n } else {\r\n this.noPreviousPayors =\r\n 'No previous payors found for the selected bank account.';\r\n this.isLoadingPreviousPayors = false;\r\n }\r\n },\r\n });\r\n }\r\n }\r\n\r\n toggleSSNHide() {\r\n this.ssnHide = !this.ssnHide;\r\n }\r\n\r\n onFileChange(evt: any) {\r\n this.previousPayorsChecked = false;\r\n this.allPayorsChecked = false;\r\n this.payorsValid = false;\r\n this.numInvalid = 0;\r\n this.numWarning = 0;\r\n this.isFileValid = false;\r\n this.noPreviousPayors = '';\r\n this.nameChangeOccured = false;\r\n\r\n let headerRowIndex = -1;\r\n let lastNameHeaderIndex = -1;\r\n let ssnHeaderIndex = -1;\r\n let caseHeaderIndex = -1;\r\n let amountHeaderIndex = -1;\r\n this.payorCollection = [];\r\n this.payorFrmGp.patchValue({\r\n filename: '',\r\n });\r\n\r\n /* wire up file reader */\r\n let target: DataTransfer = evt.target as DataTransfer;\r\n if (target.files.length > 1) {\r\n this.isFileValid = false;\r\n this.fileErrorMessage = 'Cannot import multiple files at once.';\r\n target = new DataTransfer();\r\n throw new Error('Cannot use multiple files');\r\n }\r\n if (\r\n !target.files[0].name.endsWith('xlsx') &&\r\n !target.files[0].name.endsWith('xls')\r\n ) {\r\n target = new DataTransfer();\r\n this.isFileValid = false;\r\n this.fileErrorMessage = 'File type must be Excel format (.xlsx or .xls)';\r\n throw new Error('File type not accepted');\r\n }\r\n // this.payorCollection = []; Addd import to existing payors\r\n const reader: FileReader = new FileReader();\r\n reader.onload = (e: any) => {\r\n /* read workbook */\r\n const bstr: string = e.target.result;\r\n const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary' });\r\n\r\n /* grab first sheet */\r\n const worksheetName: string = wb.SheetNames[0];\r\n const worksheet: XLSX.WorkSheet = wb.Sheets[worksheetName];\r\n\r\n /* find the headers */\r\n this.data = XLSX.utils.sheet_to_json(worksheet, { header: 1 }) as AOA;\r\n for (let x = 0; x < this.data.length; x++) {\r\n if (this.data[x][0] !== undefined) {\r\n if (\r\n this.data[x][0].toString().trim().toLowerCase() ===\r\n 'employee last name' ||\r\n this.data[x][0].toString().trim().toLowerCase() === 'lastname' ||\r\n this.data[x][0].toString().trim().toLowerCase() === 'last name' ||\r\n this.data[x][0].toString().trim().toLowerCase() ===\r\n 'social security number' ||\r\n this.data[x][0].toString().trim().toLowerCase() === 'ssn' ||\r\n this.data[x][0].toString().trim().toLowerCase() === 'amt' ||\r\n this.data[x][0].toString().trim().toLowerCase() === 'amount' ||\r\n this.data[x][0].toString().trim().toLowerCase() === 'payment amount'\r\n ) {\r\n headerRowIndex = x;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (headerRowIndex === -1) {\r\n this.payorFrmGp.patchValue({\r\n filename: '',\r\n });\r\n this.isFileValid = false;\r\n target = new DataTransfer();\r\n if (this.validateCaseNumber) {\r\n this.fileErrorMessage =\r\n `Invalid File Format. File must be Excel document and contain at least 4 columns with headers titled\r\n \"Employee Last Name\", \"SSN\", ` +\r\n this.secondaryIdAlias +\r\n ` and \"Amount\". Please refer to Sample File Example.`;\r\n } else {\r\n this.fileErrorMessage = `Invalid File Format. File must be Excel document and contain at least 3 columns with headers titled\r\n \"Employee Last Name\", \"SSN\", and \"Amount\". Please refer to Sample File Example.`;\r\n }\r\n return;\r\n }\r\n\r\n /* Find the index for data */\r\n const headercheck = this.data[headerRowIndex];\r\n for (let x = 0; x < headercheck.length; x++) {\r\n if (\r\n headercheck[x].toString().toLowerCase() === 'employee last name' ||\r\n headercheck[x].toString().toLowerCase() === 'lastname' ||\r\n headercheck[x].toString().toLowerCase() === 'last name'\r\n ) {\r\n lastNameHeaderIndex = x;\r\n }\r\n if (\r\n headercheck[x].toString().toLowerCase() === 'ssn' ||\r\n headercheck[x].toString().toLowerCase() === 'social security number'\r\n ) {\r\n ssnHeaderIndex = x;\r\n }\r\n\r\n if (\r\n headercheck[x].toString().toLowerCase() === 'case number' ||\r\n headercheck[x].toString().toLowerCase() === 'case' ||\r\n headercheck[x].toString().toLowerCase() === 'case id' ||\r\n headercheck[x].toString().toLowerCase() === 'fgn' ||\r\n headercheck[x].toString().toLowerCase() === 'family group #' ||\r\n headercheck[x].toString().toLowerCase() === 'family group number'\r\n ) {\r\n caseHeaderIndex = x;\r\n }\r\n\r\n if (\r\n headercheck[x].toString().toLowerCase() === 'payment amount' ||\r\n headercheck[x].toString().toLowerCase() === 'amount' ||\r\n headercheck[x].toString().toLowerCase() === 'amt'\r\n ) {\r\n amountHeaderIndex = x;\r\n }\r\n }\r\n\r\n if (this.validateCaseNumber) {\r\n if (\r\n lastNameHeaderIndex === -1 ||\r\n ssnHeaderIndex === -1 ||\r\n amountHeaderIndex === -1 ||\r\n caseHeaderIndex === -1\r\n ) {\r\n this.payorFrmGp.patchValue({\r\n filename: '',\r\n });\r\n this.isFileValid = false;\r\n target = new DataTransfer();\r\n this.fileErrorMessage =\r\n `Invalid File Format. File must be Excel document and contain at least 3 columns with headers titled\r\n \"Employee Last Name\", \"SSN\", ` +\r\n this.secondaryIdAlias +\r\n ` and \"Amount\". Please refer to Sample File.`;\r\n return;\r\n }\r\n } else {\r\n if (\r\n lastNameHeaderIndex === -1 ||\r\n ssnHeaderIndex === -1 ||\r\n amountHeaderIndex === -1\r\n ) {\r\n this.payorFrmGp.patchValue({\r\n filename: '',\r\n });\r\n this.isFileValid = false;\r\n target = new DataTransfer();\r\n this.fileErrorMessage = `Invalid File Format. File must be Excel document and contain at least 3 columns with headers titled\r\n \"Employee Last Name\", \"SSN\", and \"Amount\". Please refer to Sample File.`;\r\n return;\r\n }\r\n }\r\n\r\n /* save data */\r\n this.data = this.data.splice(headerRowIndex + 1);\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.data.length; i++) {\r\n const d = this.data[i];\r\n if (d[0] === undefined) {\r\n break;\r\n }\r\n const p = {\r\n name: '',\r\n firstName: '',\r\n middleName: '',\r\n lastName: d[lastNameHeaderIndex],\r\n ssn:\r\n d[ssnHeaderIndex] === undefined ? '' : d[ssnHeaderIndex].toString(),\r\n caseNumber: this.validateCaseNumber ? d[caseHeaderIndex] : '',\r\n amount:\r\n d[amountHeaderIndex] === undefined ? 0 : +d[amountHeaderIndex],\r\n isSelected: true,\r\n isValidated: false,\r\n hasError: false,\r\n hasWarning: false,\r\n hadEdit: false,\r\n errorMessage: '',\r\n };\r\n this.payorCollection.push(p);\r\n }\r\n };\r\n reader.readAsBinaryString(target.files[0]);\r\n\r\n this.payorFrmGp.patchValue({\r\n filename: target.files[0].name,\r\n });\r\n this.fileImported = true;\r\n this.isFileValid = true;\r\n this.payorCollection.reverse();\r\n reader.onloadend = (e: any) => {\r\n this.isAllChecked();\r\n this.payorCollection.forEach((element) => {\r\n if (element.isSelected) {\r\n this.atLeastOnePayorSelected = true;\r\n }\r\n });\r\n if (this.payorCollection.length === 0 && this.isFileValid) {\r\n this.isFileValid = false;\r\n this.fileErrorMessage =\r\n 'Error importing file. Please review file to make sure all fields are completed.';\r\n }\r\n };\r\n target = new DataTransfer();\r\n }\r\n\r\n resetFile() {\r\n this.inputFile.nativeElement.value = null;\r\n }\r\n\r\n addSavePayorCollection() {\r\n this.payorsValid = false;\r\n this.numInvalid = 0;\r\n this.numWarning = 0;\r\n this.noPreviousPayors = '';\r\n const payor = this.payorFrmGp.value;\r\n if (\r\n payor.collectionFrmGp.lastName === '' ||\r\n payor.collectionFrmGp.lastName === null ||\r\n //Don't care if ssn is missing for TN\r\n // payor.collectionFrmGp.ssn === '' ||\r\n // payor.collectionFrmGp.ssn === null ||\r\n payor.collectionFrmGp.amount === '' ||\r\n payor.collectionFrmGp.amount === null ||\r\n ((payor.collectionFrmGp.casenumber === '' ||\r\n payor.collectionFrmGp.casenumber === null) &&\r\n this.validateCaseNumber)\r\n ) {\r\n if (!this.validateCaseNumber) {\r\n this.payorDetailError =\r\n 'Invalid entry, make sure Last Name, SSN, and Amount have been entered.';\r\n } else {\r\n this.payorDetailError =\r\n 'Invalid entry, make sure Last Name, SSN, ' +\r\n this.secondaryIdAlias +\r\n ' and Amount have been entered.';\r\n }\r\n return;\r\n } else {\r\n this.payorDetailError = '';\r\n }\r\n let founderror = false;\r\n let formatSSN = '';\r\n const ssnRegex = new RegExp(this.ssnPattern);\r\n\r\n if (payor.collectionFrmGp.ssn.length > 0) {\r\n formatSSN = payor.collectionFrmGp.ssn.toString();\r\n formatSSN = formatSSN.replace(/-/g, '');\r\n formatSSN = formatSSN.replace(/\\s/g, '');\r\n\r\n if (!ssnRegex.test(payor.collectionFrmGp.ssn)) {\r\n founderror = true;\r\n }\r\n }\r\n\r\n if (!this.isEditPayor) {\r\n const p = {\r\n lastName: payor.collectionFrmGp.lastname,\r\n ssn: formatSSN,\r\n amount: +payor.collectionFrmGp.amount,\r\n caseNumber: payor.collectionFrmGp.casenumber,\r\n firstName: '',\r\n middleName: '',\r\n name: '',\r\n isSelected: true,\r\n isValidated: false,\r\n hasError: founderror,\r\n hasWarning: false,\r\n hadEdit: false,\r\n errorMessage: founderror ? 'Invalid SSN' : '',\r\n };\r\n this.payorCollection.push(p);\r\n this.payorCollection.reverse();\r\n } else {\r\n this.payorCollection[this.editPayorIndex].lastName =\r\n payor.collectionFrmGp.lastname;\r\n this.payorCollection[this.editPayorIndex].ssn = formatSSN;\r\n this.payorCollection[this.editPayorIndex].caseNumber =\r\n payor.collectionFrmGp.casenumber;\r\n this.payorCollection[this.editPayorIndex].amount =\r\n payor.collectionFrmGp.amount;\r\n this.payorCollection[this.editPayorIndex].hasError = false;\r\n this.payorCollection[this.editPayorIndex].errorMessage = '';\r\n this.payorCollection[this.editPayorIndex].isValidated = false;\r\n\r\n //If we have a SSN, then make sure it's valid\r\n if (payor.collectionFrmGp.ssn.length > 0) {\r\n if (!ssnRegex.test(payor.collectionFrmGp.ssn)) {\r\n this.payorCollection[this.editPayorIndex].hasError = true;\r\n } else {\r\n this.payorCollection[this.editPayorIndex].hasError = false;\r\n }\r\n }\r\n this.payorCollection[this.editPayorIndex].hadEdit = true;\r\n\r\n this.isEditPayor = false;\r\n this.editPayorIndex = -1;\r\n }\r\n\r\n this.payorsValid = false;\r\n this.getNumberOfPayments();\r\n this.payorFrmGp.reset();\r\n this.payorFrmGp.updateValueAndValidity();\r\n }\r\n\r\n resetToggle() {\r\n this.toggleEditPayor = false;\r\n }\r\n\r\n editPayor(payors: IEMPPaymentCollection, index: number) {\r\n this.toggleEditPayor = true;\r\n this.nameField.nativeElement.focus();\r\n this.isEditPayor = true;\r\n this.editPayorIndex = index;\r\n this.payorFrmGp.reset();\r\n\r\n this.payorFrmGp.get('collectionFrmGp')!.patchValue({\r\n lastname: payors.lastName,\r\n ssn: payors.ssn,\r\n amount: payors.amount,\r\n casenumber: payors.caseNumber,\r\n });\r\n this.payorFrmGp.updateValueAndValidity();\r\n this.numInvalid = 0;\r\n this.numWarning = 0;\r\n this.payorsValid = false;\r\n this.payorCollection.forEach((payor) => {\r\n payor.isValidated = false;\r\n payor.hadEdit = false;\r\n });\r\n }\r\n\r\n deletePayor(i: number) {\r\n this.payorCollection.splice(i, 1);\r\n this.numInvalid = 0;\r\n this.numWarning = 0;\r\n this.payorsValid = false;\r\n this.payorCollection.forEach((payor) => {\r\n payor.isValidated = false;\r\n });\r\n this.isAllChecked();\r\n }\r\n\r\n selectAllPayments(event: any) {\r\n if (event.target.checked) {\r\n this.payorCollection.forEach((p) => {\r\n p.isSelected = true;\r\n });\r\n } else {\r\n this.payorCollection.forEach((p) => {\r\n p.isSelected = false;\r\n });\r\n }\r\n this.getNumberOfPayments();\r\n }\r\n\r\n clearpayorCollection() {\r\n this.fileImported = false;\r\n this.isFileValid = false;\r\n this.data = null;\r\n //this.payment = {} as IEMPPayment;\r\n this.payorCollection = [];\r\n this.numOfPayments = 0;\r\n this.payorFrmGp.reset();\r\n this.payorFrmGp.patchValue({ filename: ' Choose File' });\r\n }\r\n\r\n isAllChecked() {\r\n let checkit = true;\r\n this.payorCollection.forEach((element) => {\r\n if (!element.isSelected) {\r\n checkit = false;\r\n }\r\n });\r\n this.allChecked = checkit;\r\n }\r\n\r\n addRemovePayor(event: any, i: number) {\r\n if (event.target.checked) {\r\n this.payorCollection[i].isSelected = true;\r\n } else {\r\n this.payorCollection[i].isSelected = false;\r\n }\r\n this.getNumberOfPayments();\r\n this.isAllChecked();\r\n }\r\n\r\n getNumberOfPayments(): number {\r\n this.numOfPayments = 0;\r\n this.totalAmtOfPayments = 0;\r\n this.atLeastOnePayorSelected = false;\r\n this.payorCollection.forEach((element) => {\r\n if (element.isSelected) {\r\n this.atLeastOnePayorSelected = true;\r\n this.numOfPayments++;\r\n this.totalAmtOfPayments += +element.amount;\r\n }\r\n });\r\n this.totalAmtOfPayments = +this.totalAmtOfPayments.toFixed(2);\r\n return this.numOfPayments;\r\n }\r\n\r\n setValidationType() {\r\n if (this.validationType === PayorValidationTypes.creditCard) {\r\n this.isCreditCardValidation = true;\r\n this.isEftFileValidation = false;\r\n this.isScheduledPaymentValidation = false;\r\n }\r\n if (this.validationType === PayorValidationTypes.scheduldedPayment) {\r\n this.isCreditCardValidation = false;\r\n this.isEftFileValidation = false;\r\n this.isScheduledPaymentValidation = true;\r\n }\r\n if (this.validationType === PayorValidationTypes.eftEdiFile) {\r\n this.isCreditCardValidation = false;\r\n this.isEftFileValidation = true;\r\n this.isScheduledPaymentValidation = false;\r\n }\r\n }\r\n\r\n validCCPaymentEmitted(ccPayment: any) {\r\n this.creditCardPayment = ccPayment.creditCardPayment;\r\n this.paymentCollection = this.creditCardPayment.participantCollection;\r\n this.getNumberOfPayments();\r\n }\r\n\r\n toggleEditPayorTab() {\r\n this.toggleEditPayor = true;\r\n }\r\n\r\n loadFormGroups() {\r\n this.termsFrmGp = this.formbuilder.group({\r\n accepted: ['', Validators.requiredTrue],\r\n });\r\n\r\n this.reviewFrmGrp = this.formbuilder.group({});\r\n\r\n this.ccFrmGp = this.formbuilder.group({\r\n ccFirstName: ['', Validators.required],\r\n ccLastName: ['', Validators.required],\r\n address1: ['', Validators.required],\r\n address2: [''],\r\n city: ['', Validators.required],\r\n state: ['', Validators.required],\r\n zip5: ['', [Validators.required, Validators.pattern(this.zipPattern)]],\r\n country: ['US', Validators.required],\r\n email: ['', [Validators.required, Validators.pattern(this.emailPattern)]],\r\n phoneGp: this.formbuilder.group({\r\n regionCode: 'US',\r\n phoneNumber: ['', [Validators.required]],\r\n countryCode: '1',\r\n isValid: [false, Validators.requiredTrue],\r\n }),\r\n phoneExt: '',\r\n\r\n // Credit Card Info\r\n ccType: ['mastercard', Validators.required],\r\n ccNumber: ['', [Validators.required, Validators.pattern(this.ccRegex)]],\r\n cvv: ['', [Validators.required, Validators.minLength(3)]],\r\n ccExpiryMonth: ['', [Validators.required, autocompleteExpMonthValidator(this.expMonths)]],\r\n ccExpiryYear: ['', [Validators.required, autocompleteExpYearValidator(this.expYears),]]\r\n });\r\n\r\n // set default country to US\r\n this.ccFrmGp.patchValue({\r\n country: 'US',\r\n });\r\n\r\n this.setMaskAndExample('US');\r\n\r\n this.reviewFrmGrp = this.formbuilder.group({});\r\n }\r\n\r\n onCountrySelectionChange(event: any) {\r\n var country = event.value;\r\n\r\n this.ccFrmGp.get('phoneGp.phoneNumber')?.setValue('');\r\n this.ccFrmGp.get('zip5')?.setValue('');\r\n this.ccFrmGp.get('phoneGp.isValid')?.setValue(true);\r\n\r\n this.setMaskAndExample(country);\r\n\r\n // if (country !== 'US' || country !== 'CA' || country !== 'MX') {\r\n // this.ccFrmGp.get('state')!.disable();\r\n // this.ccFrmGp.get('state')!.clearValidators();\r\n // this.ccFrmGp.get('state')!.setValue('');\r\n // }\r\n // else {\r\n // this.ccFrmGp.get('state')!.enable();\r\n // this.ccFrmGp.get('state')?.setValidators(Validators.required);\r\n // }\r\n }\r\n\r\n getCountries() {\r\n this.commonService.getCountries(this.baseurl).subscribe({\r\n next: (countries: any) => {\r\n this.countries = countries;\r\n this.countries = this.countries.sort((a, b) =>\r\n a.countryName < b.countryName ? 1 : -1\r\n );\r\n this.countries.push({\r\n country: 'MX',\r\n countryName: 'Mexico',\r\n alpha3IsoCode: 'MEX',\r\n numeric3IsoCode: '484',\r\n });\r\n this.countries.push({\r\n country: 'CA',\r\n countryName: 'Canada',\r\n alpha3IsoCode: 'CAN',\r\n numeric3IsoCode: '124',\r\n });\r\n this.countries.push({\r\n country: 'US',\r\n countryName: 'United States',\r\n alpha3IsoCode: 'USA',\r\n numeric3IsoCode: '840',\r\n });\r\n this.countries.reverse();\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n\r\n getStates() {\r\n this.selectedCountry = this.ccFrmGp.get('country')!.value;\r\n this.commonService.getStates(this.baseurl, this.selectedCountry).subscribe({\r\n next: (states: any) => {\r\n this.states = states;\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n\r\n creditCardTypeOnChange(type: any) {\r\n this.rotateCard('other');\r\n\r\n console.log(\"TEST HERE: \", type)\r\n \r\n if (type) {\r\n this.ccFrmGp.get('ccNumber')!.setValue(\"\");\r\n this.expMonthCtrl!.setValue(\"\");\r\n this.expYearCtrl!.setValue(\"\");\r\n this.ccFrmGp.get('cvv')!.setValue(\"\");\r\n \r\n this.ccFrmGp.get('ccNumber')!.clearValidators();\r\n this.expMonthCtrl!.clearValidators();\r\n this.expYearCtrl!.clearValidators();\r\n this.ccFrmGp.get('cvv')!.clearValidators();\r\n this.ccFrmGp.updateValueAndValidity();\r\n \r\n this.ccInfo = {\r\n cardNumber: null,\r\n cvc: null,\r\n expMonth: null,\r\n expYear: null,\r\n holder: null\r\n };\r\n \r\n switch(type.value) { \r\n // case \"amex\": { \r\n // this.ccMask = \"0000 000000 00000\";\r\n // this.ccRegex = \"^3[47][0-9]{13}$\";\r\n // this.ccImgURL = '../../../../../assets/images/Icons/amex.svg';\r\n // break; \r\n // } \r\n // case \"discover\": { \r\n // this.ccMask = \"0000 0000 0000 0000\";\r\n // this.ccRegex = \"^65[4-9][0-9]{13}|64[4-9][0-9]{13}|6011[0-9]{12}|(622(?:12[6-9]|1[3-9][0-9]|[2-8][0-9][0-9]|9[01][0-9]|92[0-5])[0-9]{10})$\";\r\n // this.ccImgURL = '../../../../../assets/images/Icons/discover.svg';\r\n // break; \r\n // } \r\n case \"mastercard\": { \r\n this.ccMask = \"0000 0000 0000 0000\";\r\n this.ccRegex = \"^5[1-5][0-9]{14}$\";\r\n this.ccImgURL = '../../../../../assets/images/Icons/icons8-mastercard.svg';\r\n break; \r\n } \r\n case \"visa\": { \r\n this.ccMask = \"0000 0000 0000 0000\";\r\n this.ccRegex = \"^4[0-9]{12}(?:[0-9]{3})?$\"; \r\n this.ccImgURL = '../../../../../assets/images/Icons/icons8-visa.svg';\r\n break; \r\n } \r\n default: { \r\n this.ccMask = \"0000 0000 0000 0000\";\r\n this.ccRegex = \"\\b\\d{13,16}\\b\"; \r\n this.ccImgURL = '../../../../../assets/images/Icons/icons8-mastercard.svg';\r\n break; \r\n } \r\n } \r\n \r\n this.ccFrmGp.get('ccNumber')!.setValidators([Validators.required, Validators.pattern(this.ccRegex)]);\r\n this.expMonthCtrl!.setValidators([Validators.required]);\r\n this.expYearCtrl!.setValidators([Validators.required]);\r\n this.ccFrmGp.get('cvv')!.setValidators([Validators.required, Validators.minLength(3)]);\r\n this.ccFrmGp.updateValueAndValidity();\r\n }\r\n }\r\n\r\n resetFormValues() {\r\n this.termsFrmGp.setValue({\r\n accepted: false,\r\n });\r\n }\r\n\r\n checkReading() {}\r\n\r\n editccPaymentcollection(ccPayment: IEMPPaymentCollection, index: number) {\r\n // this.nameField.nativeElement.focus();\r\n // this.iseditccPaymentCollection = true;\r\n // this.editccPaymentCollectionIndex = index;\r\n // this.paymentFrmGp.reset();\r\n // this.paymentFrmGp.get('collectionFrmGp')!.patchValue({\r\n // lastname: ccPayment.lastName,\r\n // ssn: ccPayment.ssn,\r\n // casenumber: ccPayment.caseNumber,\r\n // amount: ccPayment.amount,\r\n // });\r\n // this.paymentFrmGp.updateValueAndValidity();\r\n // this.numInvalid = 0;\r\n // this.numWarning = 0;\r\n // this.paymentsValid = false;\r\n // this.paymentCollection.forEach((payor) => {\r\n // payor.isValidated = false;\r\n // payor.hadEdit = false;\r\n // });\r\n }\r\n\r\n onSaveComplete(confirmationNum: string) {\r\n this.termsFrmGp.reset();\r\n this.reviewFrmGrp.reset();\r\n\r\n this.confirmationSender = 'Create A New Payment';\r\n this.confirmationTitle = 'Success';\r\n this.confirmationMessage = this.iseditccPayment\r\n ? 'Your scheduled Credit Card Payment has been updated!'\r\n : 'New scheduled Credit Card Payment has been created!';\r\n this.confirmationNumber = confirmationNum;\r\n this.goToPrimaryUrl = 'employer/achd/landing';\r\n this.goToPrimary = 'ACH Debit Home';\r\n this.openConfirmation = true;\r\n }\r\n\r\n hideConfirmationPage(result: any) {\r\n this.termsFrmGp.reset();\r\n this.reviewFrmGrp.reset();\r\n\r\n this.resetFormValues();\r\n\r\n this.isTermsSubmitted = false;\r\n this.iseditccPaymentCollection = false;\r\n this.showPaymentCollectionForm = false;\r\n this.showScheduleDay = false;\r\n this.paymentCollection = [];\r\n\r\n this.loadFormGroups();\r\n this.openConfirmation = !result.hideConfirmation;\r\n }\r\n\r\n goToHome() {\r\n this.router.navigateByUrl('employer/home');\r\n }\r\n\r\n openSnackBar(message: string, time: number, style: string) {\r\n const config = new MatSnackBarConfig();\r\n config.horizontalPosition = 'center';\r\n config.verticalPosition = 'top';\r\n config.duration = time;\r\n config.panelClass = style;\r\n this.snackbar.open(message, '', config);\r\n }\r\n\r\n\r\n submitTerms() {\r\n this.isTermsSubmitted = true;\r\n }\r\n logError(error: Error) {\r\n this.errorHandlerService.logError(error);\r\n }\r\n\r\n handleError(error: number) {\r\n console.log(this.errorMessage);\r\n console.log('error', error);\r\n this.errorHandlerService.handleErrorMessage(error, this.baseurl);\r\n }\r\n}","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main max-w\" id=\"page-content-main\">\r\n <div class=\"\">\r\n\r\n <div *ngIf=\"!openConfirmation\" class=\"stepper-panel\">\r\n <div class=\"container m--full-bleed\">\r\n <div class=\"row m--full-bleed\">\r\n <div class=\"col-12\">\r\n <div class=\"form-panel\">\r\n <mat-stepper [orientation]=\"stepperOrientation\" #stepper linear=\"true\">\r\n <!-- 1. T&C -->\r\n <mat-step class=\"stepper-icon\" [stepControl]=\"termsFrmGp\">\r\n <form [formGroup]=\"termsFrmGp\">\r\n <ng-template matStepLabel>Terms and Conditions</ng-template>\r\n <div>\r\n <div #cguContainer class=\"terms-panel\" (scroll)=\"checkReading()\" [innerHTML]=\"termsContent\"></div>\r\n </div>\r\n <div class=\"mt-3\">\r\n <label class=\"smart-checkbox pb-2\">\r\n <input type=\"checkbox\" class=\"form-check-input smart-checks checkmark\" formControlName=\"accepted\"\r\n required>\r\n <span class=\"ts-s pt-2\">Accept Terms and Conditions</span>\r\n <span class=\"checkmark\"></span>\r\n <p class=\"c-red1\" *ngIf=\"isTermsSubmitted && termsFrmGp.get('accepted')?.value !== true\">Please\r\n accept the terms and conditions to move forward.</p>\r\n </label>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button matStepperPrevious (click)=\"goToHome()\">Back</button>\r\n <button class=\"btn btn-primary-short\" (click)=\"submitTerms()\" mat-button matStepperNext>Next</button>\r\n </div>\r\n </form>\r\n </mat-step>\r\n <!-- 2. Add Payor Info -->\r\n <mat-step>\r\n <ng-template matStepLabel>Complete Payor Information</ng-template>\r\n <!-- <epay-lib-employer-payor-validation [baseurl]=\"baseurl\" [clientName]=\"clientName\"\r\n [validationType]=\"validationType\" [isEditPayment]=\"iseditccPayment\"\r\n [editPayorCollection]=\"paymentCollection\"\r\n (validCreditCardPaymentEmitter)=\"validCCPaymentEmitted($event)\">\r\n </epay-lib-employer-payor-validation> -->\r\n\r\n \r\n <form [formGroup]=\"payorFrmGp\" (ngSubmit)=\"addSavePayorCollection()\">\r\n\r\n <p class=\"mb-1\">\r\n Please Import an Excel file or enter the payor details individually below. </p>\r\n <div class=\"accordion accordion-flush\" id=\"accordionFlushExample\">\r\n <div class=\"accordion-item\" (click)=\"resetToggle()\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingOne\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseOne\" aria-expanded=\"false\" aria-controls=\"flush-collapseOne\"\r\n style=\"font-weight: bold\">\r\n Import Excel File\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseOne\" class=\"accordion-collapse collapse\"\r\n [ngClass]=\"{'closed': toggleEditPayor, 'show': !toggleEditPayor && isEditPayor}\"\r\n aria-labelledby=\"flush-headingOne\" data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <div class=\"file-import-block mt-2 mb-2 mx-2\">\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <div class=\"row\">\r\n <p>Microsoft® Excel must be installed on your device to upload or\r\n download files.</p>\r\n <div class=\"col-12 col-lg-5 custom-file\">\r\n <input id=\"impFile\" #inputFile type=\"file\" class=\"custom-file-input mb-3\"\r\n multiple=\"false\" accept=\".xls,.xlsx\" (change)=\"onFileChange($event)\"\r\n (click)=\"resetFile()\" formControlName=\"filename\">\r\n <label class=\"custom-file-label\" for=\"impFile\"><i *ngIf=\"!fileImported\"\r\n class=\"fa fa-search\"></i>{{payorFrmGp.get('filename')!.value}}</label>\r\n <p class=\"c-grey6 ts-xs\">{{fileImportHint}}</p>\r\n </div>\r\n <div *ngIf=\"isScheduledPaymentValidation\" class=\"col-12 col-lg-7\">\r\n <a download=\"ACHD Payor Example\" target=\"_blank\"\r\n href=\"/assets/forms/employerACHDPayorList.xlsx\">\r\n Sample File\r\n <i class=\"fa fa-download\" aria-hidden=\"true\"></i>\r\n </a>\r\n </div>\r\n <div *ngIf=\"isCreditCardValidation\" class=\"col-12 col-lg-7\">\r\n <a download=\"Credit Card Payor Example\" target=\"_blank\"\r\n href=\"/assets/forms/employerCCPayorList.xlsx\">\r\n Sample File\r\n <i class=\"fa fa-download\" aria-hidden=\"true\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!isFileValid && fileImported\" class=\"c-red1 ts-s mb-2\">\r\n <i matPrefix class=\"fa fa-exclamation-triangle pa-1\"></i>{{fileErrorMessage}}\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"flush-headingTwo\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#flush-collapseTwo\" aria-expanded=\"false\" aria-controls=\"flush-collapseTwo\"\r\n style=\"font-weight: bold\">\r\n Enter Payor Detail\r\n </button>\r\n </h2>\r\n <div id=\"flush-collapseTwo\" [ngClass]=\"{'closed': !toggleEditPayor, 'show': toggleEditPayor}\"\r\n class=\"accordion-collapse collapse closed\" aria-labelledby=\"flush-headingTwo\"\r\n data-bs-parent=\"#accordionFlushExample\">\r\n <div class=\"accordion-body\">\r\n <div class=\"payor-info-block\">\r\n <div formGroupName=\"collectionFrmGp\">\r\n <div class=\"flex-input-col pt-1 pb-1\">\r\n <mat-form-field>\r\n <input #LastName matInput placeholder=\"Last Name\" formControlName=\"lastname\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input [type]=\"ssnHide ? 'password' : 'text'\" matInput ngxInputRegulate\r\n ngxir-pattern=\"^[0-9 -]*$\" placeholder=\"Social Security #\"\r\n formControlName=\"ssn\">\r\n <mat-icon matSuffix (click)=\"toggleSSNHide()\">{{ssnHide ? 'visibility_off' :\r\n 'visibility'}}\r\n </mat-icon>\r\n <mat-hint>xxx-xx-xxxx or xxxxxxxxx</mat-hint>\r\n <mat-error>Invalid Format.</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-1 pb-1\">\r\n <mat-form-field *ngIf=\"validateCaseNumber\">\r\n <input matInput placeholder=\"{{secondaryIdAlias}}\" formControlName=\"casenumber\">\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input type=\"number\" matInput placeholder=\"Amount\" formControlName=\"amount\">\r\n <mat-error>Invalid Format</mat-error>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"flex-btn-row\">\r\n <button *ngIf=\"!isEditPayor\" class=\"btn btn-submit\" type=\"submit\">Add</button>\r\n <button *ngIf=\"isEditPayor\" class=\"btn btn-submit\" type=\"submit\">Save</button>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr>\r\n <div class=\"mb-2 load-payors\">\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <label class=\"smart-checkbox\">\r\n <input type=\"checkbox\" [checked]=\"previousPayorsChecked\" class=\"form-check-input smart-checks checkmark\"\r\n label=\"get previous payment payor\" (change)=\"getPreviousPaymentPayors($event)\">\r\n <span class=\"checkmark\"></span>\r\n Get Previous Payment Payors\r\n </label>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <label class=\"smart-checkbox mb-4\">\r\n <input type=\"checkbox\" [checked]=\"allPayorsChecked\" class=\"form-check-input smart-checks checkmark\"\r\n label=\"get all payors\" (change)=\"getAllPreviousPayors($event)\">\r\n <span class=\"checkmark\"></span>\r\n Get ALL Previous Payors\r\n </label>\r\n <span *ngIf=\"isLoadingPreviousPayors\">\r\n <i class=\"fa fa-refresh fa-spin fa-2x fa-fw ts-l\"></i>\r\n Loading Previous Payors...\r\n </span>\r\n <span *ngIf=\"noPreviousPayors\" class=\"c-red1\">\r\n <i class=\"fa fa-exclamation-triangle fa-2x fa-fw ts-l\"></i>\r\n {{noPreviousPayors}}\r\n </span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"payorCollection?.length\">\r\n <hr>\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6\">\r\n <h4>Payors List \r\n <span class=\" ts-s c-red1\" *ngIf=\"numInvalid && numWarning\">{{numInvalid}}\r\n Invalid payor(s) found. {{numWarning}} Payor name change(s) completed.</span>\r\n <span class=\"ts-s c-red1\" *ngIf=\"numInvalid && numWarning === 0\">{{numInvalid}}\r\n Invalid payor(s) found.</span>\r\n <span class=\"ts-s c-gold0\" *ngIf=\"numWarning && numInvalid === 0\">{{numWarning}} Payor name\r\n change(s) completed.</span>\r\n <span class=\"ts-s c-green0\" *ngIf=\"payorsValid\">All Payors are VALID!\r\n </span>\r\n <span *ngIf=\"isValdiatingPayment\" matSuffix><i\r\n class=\"fa fa-refresh fa-spin fa-2x fa-fw ts-l\"></i></span>\r\n </h4>\r\n </div>\r\n <div class=\"col-12 col-md-6 ts-s\">\r\n <div class=\"flex-responsive-justify\">\r\n <strong class=\"mr-2\">\r\n Selected:\r\n {{getNumberOfPayments()}}/{{payorCollection.length}}</strong>\r\n <strong>\r\n Amount:\r\n <span\r\n [ngStyle]=\"{'color': ((totalAmtOfPayments > 9999.99) && validateAttemptMade) ? 'red' : 'black'}\">\r\n {{totalAmtOfPayments|currency}}</span>\r\n </strong>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"paymentRecordPanel\">\r\n <table class=\"table\" id=\"paymentRecords\">\r\n <thead>\r\n <tr>\r\n <th>\r\n <label class=\"smart-checkbox\">\r\n <input type=\"checkbox\" class=\"form-check-input smart-checks checkmark\" name=\"Checks\"\r\n [checked]=\"allChecked\" (change)='selectAllPayments($event)'>\r\n <span class=\"checkmark\"></span>\r\n </label>\r\n </th>\r\n <th>Name</th>\r\n <th>SSN</th>\r\n <th *ngIf=\"validateCaseNumber\">{{secondaryIdAlias}}</th>\r\n <th>Amount</th>\r\n <th>Action</th>\r\n <th>Validation</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let payor of payorCollection; let i = index\" [ngClass]=\"{'unverifiedPayment' : payor.isSelected && !payor.isValidated && !payor.hasError,\r\n 'verifiedPayment' : payor.isSelected && payor.isValidated && !payor.hasError,\r\n 'warningPayment' : payor.isSelected && payor.hasWarning && !payor.hasError,\r\n 'errorPayment' : payor.isSelected && payor.hasError,\r\n 'editPayment' : payor.hadEdit}\">\r\n <td>\r\n <label class=\"smart-checkbox\">\r\n <input type=\"checkbox\" id='chkbox{{i}}' name='selectAccount{{i}}'\r\n (change)=\"addRemovePayor($event, i)\" [checked]=payor.isSelected>\r\n <span class=\"checkmark\"></span>\r\n </label>\r\n </td>\r\n <td>{{payor.lastName | uppercase}}</td>\r\n <td>{{payor.ssn | maskdata: 4}}</td>\r\n <td *ngIf=\"validateCaseNumber\">{{payor.caseNumber}}</td>\r\n <td>{{payor.amount | currency:'USD':'symbol':'.2-5'}}</td>\r\n <td>\r\n <span matTooltip=\"EDIT PAYOR\" matTooltipClass=\"tooltip-md\" (click)=\"editPayor(payor, i)\"\r\n class=\"fa fa-pencil-square-o fa-md-blue\">\r\n </span>\r\n <span matTooltip=\"DELETE PAYOR\" matTooltipClass=\"tooltip-md\" (click)=\"deletePayor(i)\"\r\n class=\"fa fa-trash-o fa-md-blue ml-2\">\r\n </span>\r\n </td>\r\n <td>\r\n <span *ngIf=\"payor.isSelected && payor.isValidated && !payor.hasError && !payor.hasWarning\"\r\n class=\"c-green0\">\r\n <i class=\"fa fa-check fa-md-green\" matTooltip=\"VALID PAYOR\"\r\n matTooltipClass=\"tooltip-md\"></i>\r\n Valid Payor\r\n </span>\r\n <span *ngIf=\"payor.isSelected && payor.hasError\" class=\"c-red1\">\r\n <i matPrefix class=\"fa fa-times-circle fa-md-red\" matTooltip=\"INVALID PAYOR\"\r\n matTooltipClass=\"tooltip-md\"></i>\r\n {{payor.errorMessage}}\r\n </span>\r\n <span *ngIf=\"payor.isSelected && payor.hasWarning && !payor.hasError\" class=\"c-gold0\">\r\n <i matPrefix class=\"fa fa-exclamation-triangle fa-md-yellow\" matTooltip=\"WARNING\"\r\n matTooltipClass=\"tooltip-md\"></i>\r\n {{payor.errorMessage}}\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <p *ngIf=\"!atLeastOnePayorSelected && validateAttemptMade\" class=\"c-red1 mt-1\">\r\n <i matPrefix class=\"fa fa-exclamation-triangle fa-md-red\"></i>\r\n Please select at least one Payor to Validate.\r\n </p>\r\n <p *ngIf=\"(totalAmtOfPayments > 9999.99) && validateAttemptMade\" class=\"c-red1 mt-1\">\r\n <i matPrefix class=\"fa fa-exclamation-triangle fa-md-red\"></i>\r\n Payment amount cannot exceed $9999.99.\r\n </p>\r\n <p *ngIf=\"(totalAmtOfPayments < 1.00) && validateAttemptMade\" class=\"c-red1 mt-1\">\r\n <i matPrefix class=\"fa fa-exclamation-triangle fa-md-red\"></i>\r\n Payment amount must exceed $0.99.\r\n </p>\r\n <p *ngIf=\"nameChangeOccured && validateAttemptMade\" class=\"c-gold0 mt-1\">\r\n <i matPrefix class=\"fa fa-exclamation-triangle fa-md-yellow\"></i>\r\n Please Validate again to confirm name change.\r\n </p>\r\n </div>\r\n </form>\r\n\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button matStepperPrevious>Back</button>\r\n \r\n <button *ngIf=\"!payorsValid\" type=\"button\" [disabled]=\"payorCollection.length === 0\" class=\"btn btn-submit\"\r\n mat-button (click)=\"validatePayors()\">\r\n Validate Payors\r\n </button>\r\n <button *ngIf=\"payorsValid\" [disabled]=\"totalAmtOfPayments >= 9999/.99\" class=\"btn btn-primary-short\" mat-button\r\n (click)=\"emitValidPayorPerValidation()\" matStepperNext>Next</button>\r\n </div>\r\n \r\n </mat-step>\r\n\r\n <!-- 3. Payment Information -->\r\n <mat-step [stepControl]=\"ccFrmGp\">\r\n <ng-template matStepLabel>Complete Payment Information</ng-template>\r\n\r\n <div class=\"containr\">\r\n <form [formGroup]=\"ccFrmGp\">\r\n\r\n <div class=\"accordion mb-3\" id=\"accordionExample\">\r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"headingOne\">\r\n <button class=\"accordion-button\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#collapseOne\" aria-expanded=\"true\" aria-controls=\"collapseOne\" style=\"text-decoration: none;\">\r\n <h4 [style.color]=\"!billingSectionIncomplete ? 'black' : 'red'\">\r\n Billing Information\r\n <span *ngIf=\"billingSectionIncomplete\" class=\"fa fa-exclamation-triangle\" matTooltip=\"Information Needed\"\r\n matTooltipClass=\"tooltip-md\">\r\n </span>\r\n </h4>\r\n </button>\r\n </h2>\r\n <div id=\"collapseOne\" class=\"accordion-collapse collapse show\" aria-labelledby=\"headingOne\" data-bs-parent=\"#accordionExample\">\r\n <div class=\"accordion-body\">\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <!-- <mat-form-field>\r\n <input matInput placeholder=\"First Name\" formControlName=\"ccFirstName\" required>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field> -->\r\n \r\n <mat-form-field>\r\n <input matInput placeholder=\"First Name\" formControlName=\"ccFirstName\" required>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <input matInput placeholder=\"Last Name\" formControlName=\"ccLastName\" required>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n \r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Address\" formControlName=\"address1\" required>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <input matInput placeholder=\"Line 2\" formControlName=\"address2\">\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n \r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"City\" formControlName=\"city\" required>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <mat-select matInput disableOptionCentering panelClass=\"matSelectClass\"\r\n [placeholder]=\"this.ccFrmGp.get('country')!.value.trim() === 'CA' ? 'Province' : 'State'\"\r\n formControlName=\"state\" required>\r\n <mat-option *ngFor=\"let state of states\" [value]=\"state.code\">\r\n {{state.name}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n \r\n <mat-form-field>\r\n <input matInput placeholder=\"Zip\" formControlName=\"zip5\" required>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n \r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <mat-select matInput disableOptionCentering panelClass=\"matSelectClass\" placeholder=\"Country\"\r\n formControlName=\"country\" [(value)]=\"selectedCountry\"\r\n (selectionChange)=\"onCountrySelectionChange($event)\" required>\r\n <mat-option *ngFor=\"let country of countries\" [value]=\"country.country\">\r\n {{country.countryName}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n \r\n <div class=\"flex-input-col pt-2 pb-2\"> \r\n <mat-form-field formGroupName=\"phoneGp\">\r\n <input matInput placeholder=\"Phone\" formControlName=\"phoneNumber\" [mask]=\"phoneMask\" required>\r\n <span matPrefix>+{{ccFrmGp.get('phoneGp.countryCode')!.value}} </span>\r\n <mat-hint>Ex. {{phoneExample}}</mat-hint>\r\n <mat-error *ngIf=\"!ccFrmGp.get('phoneGp.isValid')?.value\">Invalid Format</mat-error>\r\n <mat-error *ngIf=\"ccFrmGp.get('phoneGp.phoneNumber')!.hasError('required')\">Required</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Phone Ext\" formControlName=\"phoneExt\" autocomplete=\"off\">\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <input matInput placeholder=\"Email\" formControlName=\"email\">\r\n <!-- <mat-error>{{emailErrorMessage}}</mat-error> -->\r\n </mat-form-field>\r\n </div>\r\n \r\n <!-- <div class=\"flex-input-col pt-2 pb-2\"> \r\n <mat-form-field>\r\n <input matInput placeholder=\"Email\" formControlName=\"email\">\r\n <!-- <mat-error>{{emailErrorMessage}}</mat-error> \r\n </mat-form-field>\r\n </div> \r\n -->\r\n </div>\r\n\r\n <!-- <div class=\"position-relative\">\r\n <div class=\"position-absolute end-0\">\r\n <button class=\"btn btn-primary-short\" mat-button>Continue</button>\r\n </div>\r\n </div> -->\r\n\r\n </div>\r\n </div>\r\n \r\n <div class=\"accordion-item\">\r\n <h2 class=\"accordion-header\" id=\"headingTwo\">\r\n <button class=\"accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#collapseTwo\" aria-expanded=\"false\" aria-controls=\"collapseTwo\" style=\"text-decoration: none;\">\r\n <h4 [style.color]=\"!ccSectionIncomplete ? 'black' : 'red'\">\r\n Credit Card Information\r\n <span *ngIf=\"ccSectionIncomplete\" class=\"fa fa-exclamation-triangle\" matTooltip=\"Information Needed\"\r\n matTooltipClass=\"tooltip-md\">\r\n </span>\r\n </h4>\r\n </button>\r\n </h2>\r\n <div id=\"collapseTwo\" class=\"accordion-collapse collapse\" aria-labelledby=\"headingTwo\" data-bs-parent=\"#accordionExample\">\r\n <div class=\"accordion-body\">\r\n\r\n <div class=\"flex-input-col pt-2 pb-2 mb-3\"> \r\n <div class=\"col-4\">\r\n <button class=\"interactive-cc\" style=\"background: none; border: none; cursor: default; margin-left: -20px;\">\r\n <interactive-credit-card-emp\r\n [no]=\"ccInfo.cardNumber\"\r\n [cvc]=\"ccInfo.cvc\"\r\n [expMonth]=\"expMonthCtrl.value?.length === 2 && expMonthCtrl.valid ? ccInfo.expMonth : '--'\"\r\n [expYear]=\"expYearCtrl.value?.length === 4 && expYearCtrl.valid ? ccInfo.expYear : '----'\"\r\n [flip]=\"flipCard\" \r\n [ccType]=\"ccImgURL\"\r\n [cvvHide]=\"cvvHide\"\r\n [ccHide]=\"ccHide\"\r\n [holder]=\"ccFrmGp.get('ccFirstName')?.value && ccFrmGp.get('ccLastName')?.value ? ccFrmGp.get('ccFirstName')?.value[0] + '. ' + ccFrmGp.get('ccLastName')?.value : ''\"\r\n >\r\n </interactive-credit-card-emp>\r\n </button>\r\n </div>\r\n\r\n\r\n <div class=\"col-8\">\r\n <div class=\"row\"> \r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <mat-label>Credit Card Type</mat-label>\r\n <mat-select formControlName=\"ccType\" [(ngModel)]=\"defaultCC\"\r\n (selectionChange)=\"creditCardTypeOnChange($event)\" required>\r\n <!-- <option value=\"\" selected disabled></option> -->\r\n <!-- <option value=\"amex\">Amex</option>\r\n <option value=\"discover\">Discover</option> -->\r\n <mat-option *ngFor=\"let type of creditcardType\" [value]=\"type.value\" selected>{{type.viewValue}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n <!-- CC # -->\r\n <mat-form-field>\r\n <input matInput placeholder=\"Credit Card #\" formControlName=\"ccNumber\"\r\n [type]=\"ccHide ? 'password' : 'text'\"\r\n [pattern]=\"ccRegex\" [mask]=\"ccMask\" [(ngModel)]=\"ccInfo.cardNumber\"\r\n (focus)=\"rotateCard('other')\">\r\n <mat-icon matSuffix (click)=\"toggleCCHide()\">\r\n {{ ccHide ? 'visibility_off' : 'visibility' }}\r\n </mat-icon>\r\n <mat-error *ngIf=\"ccFrmGp.get('ccNumber')!.hasError('required')\">Required</mat-error>\r\n <mat-error *ngIf=\"ccFrmGp.get('ccNumber')!.hasError('pattern')\">Invalid Card Number</mat-error>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n \r\n <div class=\"row\"> \r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <!-- Epiry Month -->\r\n <!-- <mat-form-field>\r\n <mat-label>MM</mat-label>\r\n <mat-select formControlName=\"ccExpiryMonth\" [(ngModel)]=\"ccInfo.expMonth\"\r\n (focus)=\"rotateCard('other')\" required>\r\n <mat-option value=\"\" selected disabled></mat-option>\r\n <mat-option *ngFor=\"let month of months\" [value]=\"month.value\">{{month.value}}</mat-option>\r\n </mat-select>\r\n </mat-form-field> -->\r\n\r\n <mat-form-field>\r\n <mat-label>MM</mat-label>\r\n <input\r\n type=\"text\"\r\n required\r\n placeholder=\"\"\r\n aria-label=\"MM\"\r\n matInput\r\n maxlength=\"2\"\r\n [(ngModel)]=\"ccInfo.expMonth\"\r\n [formControl]=\"expMonthCtrl\"\r\n formControlName=\"ccExpiryMonth\"\r\n [matAutocomplete]=\"expMonthAutocomplete\"\r\n (focus)=\"rotateCard('other')\"\r\n required\r\n />\r\n <mat-error *ngIf=\"this.ccFrmGp.get('ccExpiryMonth')!.hasError('required')\"\r\n >Required</mat-error\r\n >\r\n <mat-error *ngIf=\"this.ccFrmGp.get('ccExpiryMonth')!.hasError('invalidExpMonth')\"\r\n >Invalid expiry month.</mat-error\r\n >\r\n\r\n <mat-autocomplete autoActiveFirstOption #expMonthAutocomplete=\"matAutocomplete\">\r\n <mat-option\r\n *ngFor=\"let month of filteredExpMonths$ | async\"\r\n [value]=\"month\"\r\n >\r\n {{month}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n\r\n\r\n <!-- Epiry Year -->\r\n <!-- <mat-form-field>\r\n <mat-label>YYYY</mat-label>\r\n <mat-select formControlName=\"ccExpiryYear\" [(ngModel)]=\"ccInfo.expYear\" \r\n (focus)=\"rotateCard('other')\" required>\r\n <mat-option value=\"\" selected disabled></mat-option>\r\n <mat-option *ngFor=\"let year of years\" [value]=\"year.value\">{{year.value}}</mat-option>\r\n </mat-select>\r\n </mat-form-field> -->\r\n <mat-form-field>\r\n <mat-label>YYYY</mat-label>\r\n <input\r\n type=\"text\"\r\n required\r\n placeholder=\"\"\r\n aria-label=\"YYYY\"\r\n matInput\r\n maxlength=\"4\"\r\n [(ngModel)]=\"ccInfo.expYear\"\r\n [formControl]=\"expYearCtrl\"\r\n formControlName=\"ccExpiryYear\"\r\n [matAutocomplete]=\"expYearAutocomplete\"\r\n (focus)=\"rotateCard('other')\"\r\n required\r\n />\r\n <mat-error *ngIf=\"this.ccFrmGp.get('ccExpiryYear')!.hasError('required')\"\r\n >Required</mat-error\r\n >\r\n <mat-error *ngIf=\"this.ccFrmGp.get('ccExpiryYear')!.hasError('invalidExpYear')\"\r\n >Invalid expiry year.</mat-error\r\n >\r\n\r\n <mat-autocomplete autoActiveFirstOption #expYearAutocomplete=\"matAutocomplete\">\r\n <mat-option\r\n *ngFor=\"let year of filteredExpYears$ | async\"\r\n [value]=\"year\"\r\n >\r\n {{year}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n\r\n <!-- CVV -->\r\n <mat-form-field>\r\n <input matInput placeholder=\"3-Digit Security Code\" (focus)=\"rotateCard('cvv')\"\r\n [type]=\"cvvHide ? 'password' : 'text'\" formControlName=\"cvv\" mask=\"000\" [(ngModel)]=\"ccInfo.cvc\"\r\n style=\"cursor:text\">\r\n <mat-icon matSuffix (click)=\"toggleCVVHide()\">\r\n {{ cvvHide ? 'visibility_off' : 'visibility' }}\r\n </mat-icon>\r\n <mat-error *ngIf=\"this.ccFrmGp.get('cvv')?.hasError('required')\">Required</mat-error>\r\n <mat-error *ngIf=\"this.ccFrmGp.get('cvv')?.hasError('minlength')\">CVV/CVC must be 3 digits in length.</mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <mat-error *ngIf=\"this.ccExpired && this.ccFrmGp.get('ccExpiryMonth')!.value && this.ccFrmGp.get('ccExpiryYear')!.value\">Credit Card Expired</mat-error>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <span>\r\n <strong>Note:</strong> In order to process a payment with a MasterCard® or Visa® credit card, we need the CVV2 or CVC2\r\n security code. This 3 digit code is <u>found on the back of your credit card</u>. For instructions\r\n on how to find this code, please click <u (click)=\"securityCodeHelp()\" style=\"color: #387aac; font-weight: bold\">here</u>.\r\n </span>\r\n\r\n <br><br>\r\n\r\n <span style=\"font-style:italic\">\r\n To ensure a secure credit card payment, we provide 128 bit SSL encryption. To take advantage of this \r\n security, please ensure that your browser is configured for 128 bit encryption.\r\n </span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button matStepperPrevious\r\n >Back</button>\r\n <button class=\"btn btn-primary-short\" mat-button\r\n matStepperNext (click)=\"createCCPaymentAttempt()\">Next</button>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n </mat-step>\r\n\r\n\r\n <!-- 4. Review & Submit -->\r\n <mat-step>\r\n <ng-template matStepLabel>Submit Your Payment</ng-template>\r\n <!-- <epay-lib-ncp-creditcard-submit\r\n [baseurl]=\"baseurl\"\r\n [creditCardVendorId]=\"creditCardVendorId\"\r\n [creditCardDisclaimer]=\"creditCardDisclaimer\"\r\n [creditCardPayment]=\"creditCardPayment\"\r\n >\r\n </epay-lib-ncp-creditcard-submit> -->\r\n\r\n <div class=\"form-display-card\">\r\n <mat-card class='mat-card-display mb-3'>\r\n <mat-card-header>\r\n <mat-card-title class=\"justify-content-center\">\r\n <h2 class=\"mat-card-title align-items-start\">\r\n <span class=\"fa fa-credit-card fa-md-black dib mr-2\"></span> Review Credit\r\n Card Payment Information\r\n </h2>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let col of paymentheader\">{{col}}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let participant of creditCardPayment!.participantCollection\">\r\n <td>{{participant.lastName}}</td>\r\n <td>{{participant.ssn | maskdata}}</td>\r\n <td>{{participant.caseNumber}}</td>\r\n <td>{{participant.amount | currency}}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <div class=\"col mb-3\">\r\n <dl class=\"account-details-sum\">\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Payment Amount</dt>\r\n <dd class=\"account-dt-info\">{{creditCardPayment!.amount | currency}}</dd>\r\n </div>\r\n <!-- <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Service Fee %</dt>\r\n <dd class=\"account-dt-info\">{{creditCardPayment!.feePercentage | percent: '.2'}}</dd>\r\n </div>\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Service Fee Amount</dt>\r\n <dd class=\"account-dt-info\">{{creditCardPayment!.fee | currency}}</dd>\r\n </div> -->\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Total Credit Card Amount</dt>\r\n <dd class=\"account-dt-info\">{{creditCardPayment!.totalAmount | currency}}</dd>\r\n </div>\r\n </dl>\r\n </div>\r\n <div class=\"pt-2 pb-2\">\r\n <div class=\"c-red1 ts-s\" [innerHTML]=\"creditCardDisclaimer\"></div>\r\n </div>\r\n </mat-card-content>\r\n \r\n </mat-card>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button matStepperPrevious>Back</button>\r\n <button class=\"btn btn-primary-short\" (click)=\"processCreditCard()\">{{createPaymentButtonText}}</button>\r\n </div>\r\n </div>\r\n\r\n </mat-step>\r\n\r\n </mat-stepper>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'emp-security-code-help',\r\n templateUrl: './empsecurity-code-help.component.html'\r\n})\r\nexport class EMPSecurityCodeHelpComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n<mat-dialog-content>\r\n <div class=\"position-relative\" style=\"width: 35vw; height: 35vh\">\r\n <div class=\"row mx-1\">\r\n <div class=\"col-8\">\r\n <h3>CVV2 / CVC2 3-Digit Security Code</h3>\r\n <span>In order to process payments with Visa® and Mastercard® credit cards, we require the 3-digit CVV2 or CVC2 security code. This code is found on the back of your credit card.</span>\r\n <br><br>\r\n </div>\r\n \r\n <div class=\"col-4\">\r\n <img src=\"../../../../../../assets/images/cvv2.gif\" alt=\"CVV Help\" style=\"width: 100%;\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mx-1\">\r\n <h3>What is CVV2 or CVC2 and why do you need them?</h3>\r\n <span>The CVV2/CVC2 is a three-digit security code that is printed on the back of credit cards. \r\n This code is used to establish that you are in possession of the card used for the payment. \r\n </span>\r\n <br><br>\r\n </div>\r\n <br>\r\n \r\n <div class=\"row mx-1\">\r\n <h3>Where is CVV2 located on my card?</h3>\r\n <span>The CVV2 three-digit value is printed just above the signature panel in reverse italics on the back of your card. Usually it is preceded by your card number.\r\n </span>\r\n <br><br>\r\n </div>\r\n </div>\r\n <br>\r\n\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button class=\"btn btn-primary-short\" mat-button mat-dialog-close>Close</button>\r\n</mat-dialog-actions>\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'interactive-credit-card-emp',\r\n templateUrl: './interactive-credit-card-emp.component.html',\r\n styleUrls: ['./interactive-credit-card-emp.component.scss']\r\n})\r\nexport class InteractiveCreditCardEMPComponent {\r\n @Input('flip') flip = false;\r\n\r\n _no: string = \"---- ---- ---- ----\";\r\n _cvc: string = \"---\";\r\n _expMonth: string = \"--\";\r\n _expYear: string = \"--\";\r\n _holder: string = \"----- ----\"\r\n\r\n @Input('cvvHide') cvvHide!: boolean;\r\n @Input('ccHide') ccHide!: boolean;\r\n\r\n @Input('ccType') ccType = '';\r\n\r\n @Input('no') set no(value: any) {\r\n if (value) {\r\n this._no = this.formatCreditCardNumber(value);\r\n }\r\n }\r\n\r\n @Input('cvc') set cvc(value: any) {\r\n if (value) {\r\n this._cvc = value;\r\n } \r\n else {\r\n this._cvc = \"\"\r\n }\r\n }\r\n\r\n @Input('holder') set holder(value: any) {\r\n if (value) {\r\n this._holder = value;\r\n }\r\n else {\r\n this._holder = '';\r\n }\r\n }\r\n\r\n @Input('expMonth') set expMonth(value: any) {\r\n if (value) this._expMonth = value;\r\n }\r\n\r\n @Input('expYear') set expYear(value: any) {\r\n if (value) this._expYear = value;\r\n }\r\n\r\n formatCreditCardNumber(value: any) {\r\n var v = value.replace(/\\s+/g, '').replace(/([^0-9])/gi, '')\r\n var matches = v.match(/\\d{4,16}/g);\r\n var match = matches && matches[0] || ''\r\n var parts = []\r\n for (var i=0, len=match.length; i<len; i+=4) {\r\n parts.push(match.substring(i, i+4))\r\n }\r\n if (parts.length) {\r\n return parts.join(' ')\r\n } else {\r\n return value\r\n }\r\n }\r\n}\r\n","<div class=\"flip-card\" [class.flip]=\"flip\">\r\n <div class=\"flip-card-inner\">\r\n <div class=\"flip-card-front bg\">\r\n <!-- <img class=\"card-square\" src=\"https://image.ibb.co/cZeFjx/little_square.png\"> -->\r\n <img class=\"card-logo card-front-logo\" [src]=\"ccType\">\r\n <p *ngIf=\"!ccHide && _no !== ''\" class=\"card-numer\">{{ _no }}</p>\r\n <p *ngIf=\"ccHide && _no !== ''\" class=\"card-numer\" mask=\"0000 0000 0000 0000\">{{ _no | maskdata: 4 }}</p>\r\n <div class=\"card-holder\">\r\n <span class=\"card-label\">Card Holder</span>\r\n <p class=\"card-info\">{{ _holder }}</p>\r\n </div>\r\n <div class=\"card-expires\">\r\n <span class=\"card-label\">Expires</span>\r\n <p class=\"card-info\">{{ _expMonth }}/{{ _expYear }}</p>\r\n </div> \r\n </div>\r\n <div class=\"flip-card-back bg\">\r\n <div class=\"card-black-line\"></div>\r\n <div class=\"card-back-content\">\r\n <div class=\"card-secret\">\r\n <p *ngIf=\"!cvvHide && _cvc !== ''\" class=\"card-secret-last\">{{ _cvc }}</p>\r\n <p *ngIf=\"cvvHide && _cvc !== ''\" class=\"card-secret-last\">{{ _cvc | maskdata: 0 }}</p>\r\n <p *ngIf=\"_cvc === ''\" style=\"color: rgba(0,0,0,0)\">XXX</p>\r\n </div>\r\n <img class=\"card-square card-back-square\" [src]=\"ccType\">\r\n <!-- <img class=\"card-logo card-back-logo\" src=\"https://www.fireeye.com/partners/strategic-technology-partners/visa-fireeye-cyber-watch-program/_jcr_content/content-par/grid_20_80_full/grid-20-left/image.img.png/1505254557388.png\"> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>","import { Component, OnInit } from '@angular/core';\r\nimport { EmployerService } from '../../../../employer/services/employer.service';\r\nimport { CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-createfile',\r\n templateUrl: './createfile.component.html',\r\n})\r\nexport class EMPEFTCreateFileComponent implements OnInit {\r\n pagetitle = 'Employer: Create ACH Credit File';\r\n baseurl = '';\r\n secondaryIdAlias = 'Family Group Number'\r\n clientName = '';\r\n termsContent = '';\r\n routingHelpImage = '';\r\n isMobile = false;\r\n\r\n constructor(private employerService: EmployerService) {\r\n this.baseurl = CommonSettings.BaseApi;\r\n this.clientName = CommonSettings.ClientName;\r\n this.routingHelpImage = '../../../../assets/help/aba.jpg';\r\n }\r\n\r\n ngOnInit() {\r\n this.employerService.getEmployerTerms().subscribe((result) => {\r\n this.termsContent = result;\r\n });\r\n }\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main max-w\" id=\"page-content-main\">\r\n <div class=\"\">\r\n <epay-library-employer-eft-createfile [baseurl]=\"baseurl\" [termsContent]=\"termsContent\" [clientName]=\"clientName\"\r\n [secondaryIdAlias]=\"secondaryIdAlias\"\r\n [routingHelpImage]=\"routingHelpImage\">\r\n </epay-library-employer-eft-createfile>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { EmployerService } from '../../../services/employer.service';\r\n\r\n@Component({\r\n selector: 'epay-eft-information',\r\n templateUrl: './eft-information.component.html'\r\n})\r\nexport class EMPEFTInformationComponent implements OnInit {\r\n pagetitle = 'ACH Credit (EFT/EDI)';\r\n eftInfo= '';\r\n\r\n constructor(private employerService: EmployerService) { }\r\n\r\n ngOnInit() {\r\n this.employerService.getEFTInfo().subscribe(\r\n result => {\r\n this.eftInfo = result;\r\n }\r\n );\r\n }\r\n\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main box-panel shadow max-w max-gs\" id=\"page-content-main\">\r\n <div class=\"\">\r\n <epay-lib-employer-eft-home [eftInfo]=\"eftInfo\">\r\n </epay-lib-employer-eft-home>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService, PhoneHelperService, ViewportService } from 'epay-library';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { PaymentService } from 'epay-library';\r\nimport { DatePipe } from '@angular/common';\r\nimport { CommonSettings } from 'epay-library';\r\n\r\nimport { EMPLOYER_PROFILE_SETTINGS_URL } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-eft-landing',\r\n templateUrl: './eft.landing.component.html',\r\n})\r\nexport class EMPEFTLandingComponent implements OnInit {\r\n pagetitle = 'ACH Credit EFT/EDI';\r\n paymentaccounts: any[] = [];\r\n username = '';\r\n usertype = '';\r\n isManager = '';\r\n numOfUsers = 0;\r\n accountKeys: string[] = [];\r\n isLoggedIn = false;\r\n isLoading = false;\r\n accountAddress = '';\r\n accountCSZ = '';\r\n accountEmail = '';\r\n accountPhone = '';\r\n employerName = '';\r\n baseurl = '';\r\n daysToShowEFTFileHistory: number;\r\n setupresult = '';\r\n isPaymentAccountSetup = false;\r\n isMobile = false;\r\n phoneMask = '';\r\n countryId = '';\r\n\r\n confirmationTitle = '';\r\n confirmationMessage = '';\r\n confirmationNumber = '';\r\n goToPrimary = '';\r\n goToPrimaryUrl = '';\r\n openConfirmation = false;\r\n\r\n profileSettingsUrl = EMPLOYER_PROFILE_SETTINGS_URL;\r\n\r\n constructor(\r\n private authservice: AuthService,\r\n private paymentservice: PaymentService,\r\n private dialog: MatDialog,\r\n private datepipe: DatePipe,\r\n private router: Router,\r\n private viewpointService: ViewportService,\r\n private phoneHelperService: PhoneHelperService\r\n ) {\r\n this.baseurl = CommonSettings.BaseApi;\r\n this.daysToShowEFTFileHistory = +CommonSettings.DaysToShowEFTFileHistory;\r\n this.accountKeys = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.authservice.isLoggedIn.subscribe(\r\n (status: any) => (this.isLoggedIn = JSON.parse(status))\r\n );\r\n if (this.isLoggedIn) {\r\n this.authservice.currentUserName.subscribe(\r\n (name: string) => (this.username = name.toUpperCase())\r\n );\r\n this.authservice.currentUserType.subscribe(\r\n (type: string) => (this.usertype = type)\r\n );\r\n this.authservice.currentAccountAddress.subscribe((address: string) => {\r\n this.accountAddress = address;\r\n this.countryId = address.slice(-2);\r\n this.setPhoneMask(this.countryId)!;\r\n console.log(this.countryId + ' ' + this.phoneMask);\r\n });\r\n this.authservice.currentAccountPhone.subscribe(\r\n (phone: string) => (this.accountPhone = phone)\r\n );\r\n this.authservice.currentAccountEmail.subscribe(\r\n (email: string) => (this.accountEmail = email)\r\n );\r\n this.authservice.currentEmployerName.subscribe(\r\n (empName: string) => (this.employerName = empName)\r\n );\r\n this.authservice.currentUserAccountManager.subscribe(\r\n (manager: string) => (this.isManager = manager)\r\n );\r\n this.authservice.currentNumberofAccountUsers.subscribe(\r\n (acctCount: string) => (this.numOfUsers = +acctCount)\r\n );\r\n }\r\n this.viewpointService.IsMobile.subscribe(\r\n (mobile: any) => (this.isMobile = mobile)\r\n );\r\n }\r\n\r\n goToProfile() {\r\n this.router.navigate(['/employer/profile']);\r\n }\r\n\r\n setPhoneMask(regionCode: string) {\r\n this.phoneMask = this.phoneHelperService.getMask(regionCode);\r\n }\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div *ngIf=\"!openConfirmation\">\r\n <div class=\"container m--full-bleed mt-2\">\r\n <div class=\"row m--full-bleed justify-content-center\">\r\n <div class=\"col-12 col-lg-8\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>\r\n <h2 class=\"mat-card-title mb-0\">File History <a target=\"_blank\"\r\n href=\"/assets/help/How To Reconcile Employees Create File.pdf\" class=\"dib ml-1\">\r\n <span class=\"fa fa-question-circle fa-sm-blue\"\r\n matTooltip=\"HOW TO RECONCILE EMPLOYEES AND/OR CREATE FILE\" matTooltipClass=\"tooltip-md\">\r\n </span>\r\n </a></h2>\r\n <div>\r\n <a [routerLink]=\"['/employer/eft/createfile']\" class=\"ts-s\">\r\n Add\r\n <span class=\"fa fa-plus-circle fa-sm-blue\" matTooltip=\"ADD NEW EFT/EDI FILE\"\r\n matTooltipClass=\"tooltip-md\">\r\n </span>\r\n </a>\r\n </div>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content style=\"max-height: 50vh; overflow: auto;\">\r\n <epay-library-employer-eft-filehistory [baseurl]=\"baseurl\"\r\n [daysToShowEFTFileHistory]=\"daysToShowEFTFileHistory\">\r\n </epay-library-employer-eft-filehistory>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <div *ngIf=\"!isMobile\" class=\"col-12 col-lg-4 form-display-card\">\r\n <div class=\"row m--full-bleed\">\r\n <mat-card class=\"info-help-panel\">\r\n <mat-card-header>\r\n <mat-card-title>My Account</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div class=\"flex-ico-row mb-3\">\r\n <div class=\"flex-ico\">\r\n <span class=\"fa fa-address-card-o fa-lg-gray\"></span>\r\n </div>\r\n <div class=\"flex-text\">\r\n <h3 class=\"mb-1\">{{username}} {{isManager && '(Manager)'}}\r\n </h3>\r\n <address class=\"ts-s\">\r\n {{accountAddress}} {{accountCSZ}}\r\n </address>\r\n </div>\r\n </div>\r\n <dl class=\"account-details-sum\">\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Employer</dt>\r\n <dd class=\"account-dt-info\">{{employerName}} </dd>\r\n </div>\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Phone</dt>\r\n <dd class=\"account-dt-info\">{{accountPhone | mask: phoneMask}} </dd>\r\n </div>\r\n <div class=\"account-sum-row\">\r\n <dt class=\"account-dt\">Email</dt>\r\n <dd class=\"account-dt-info\">{{accountEmail}} </dd>\r\n </div>\r\n </dl>\r\n </mat-card-content>\r\n <hr>\r\n <div *ngIf=\"numOfUsers === 1 && isManager\" class=\"text-center\">\r\n <mat-card-content>\r\n <div class=\"ts-base\">\r\n <strong>No additional user found.</strong><br />\r\n Click <a [routerLink]=\"profileSettingsUrl\" [state]=\"{display: 'account'}\"><i\r\n class=\"fa fa-user-plus\"></i> HERE</a> to add an additional user.\r\n </div>\r\n </mat-card-content>\r\n <hr>\r\n </div>\r\n <mat-card-content>\r\n <div class=\"t-alignC\">\r\n <a class=\"btn-link mx-3 mb-3\" [routerLink]=\"profileSettingsUrl\">Profile and Settings</a>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <epay-lib-common-confirmation *ngIf=\"openConfirmation\" [confirmationTitle]=\"confirmationTitle\"\r\n [confirmationMessage]=\"confirmationMessage\" [confirmationNumber]=\"confirmationNumber\" [goToPrimary]=\"goToPrimary\"\r\n [goToPrimaryUrl]=\"goToPrimaryUrl\">\r\n </epay-lib-common-confirmation>\r\n\r\n</epay-page-content>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { EmployerService } from '../../services/employer.service';\r\nimport { CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-home',\r\n templateUrl: './home.component.html'\r\n})\r\nexport class EMPHomeComponent implements OnInit {\r\n pagetitle = 'Review Payment Methods';\r\n achdInfo = '';\r\n eftInfo = '';\r\n baseurl = '';\r\n\r\n constructor(private employerService: EmployerService) {\r\n this.baseurl = CommonSettings.BaseApi;\r\n }\r\n\r\n ngOnInit() {\r\n this.employerService.getACHDInfo().subscribe(\r\n result => {\r\n this.achdInfo = result;\r\n }\r\n );\r\n this.employerService.getEFTInfo().subscribe(\r\n result => {\r\n this.eftInfo = result;\r\n }\r\n );\r\n }\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main box-panel shadow max-w max-gm\" id=\"page-content-main\">\r\n <div class=\"container max-w max-gm\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6 mb-5 m--mb0\">\r\n <epay-lib-employer-achd-home [achdInfo]=\"achdInfo\" [baseurl]=\"baseurl\">\r\n </epay-lib-employer-achd-home>\r\n </div>\r\n <div class=\"col-12 col-md-6\">\r\n <epay-lib-employer-eft-home [eftInfo]=\"eftInfo\">\r\n </epay-lib-employer-eft-home>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</epay-page-content>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\r\nimport PhoneNumber from 'awesome-phonenumber';\r\nimport { ICountry, IState, ErrorHandlerService, CommonService, RegisterLibraryService, AuthService, PhoneHelperService, ConfirmDialogModel, ConfirmDialogComponent } from 'epay-library';\r\nimport { IEmpProfileAccountLogin } from 'epay-library/lib/features/employer/models/user/profile/employerProfileAccountLogin';\r\nimport { IEmpProfileAccountResults } from 'epay-library/lib/features/employer/models/user/profile/employerProfileAccountResults';\r\nimport { Router } from '@angular/router';\r\nimport { debounceTime } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'employer-profile-account',\r\n templateUrl: './employer-profile-account.component.html'\r\n})\r\nexport class EmployerProfileAccountComponent implements OnInit {\r\n @Input() baseurl = '';\r\n @Input() useEmailForLogin = false;\r\n @Output() profileConfirmationEmitter = new EventEmitter<{\r\n success: boolean;\r\n message: string;\r\n confirmationNumber: string;\r\n showConfirmationEmail: boolean;\r\n }>();\r\n\r\n loginHintMessage =\r\n 'Must contain at least 8 characters. Alphanumerical values and email format are accepted.';\r\n\r\n isAccountManager = false;\r\n numOfAccounts = 0;\r\n countries: ICountry[] = [];\r\n selectedCountry = '';\r\n states: IState[] = [];\r\n selectedState = '';\r\n errorMessage = '';\r\n emailMessage = '';\r\n loginErrorMessage = '';\r\n loginSuccessMessage = '';\r\n isCheckingLogin = false;\r\n isValidLogin = false;\r\n isValidEmail = false;\r\n isCheckingEmail = false;\r\n emailErrorMessage = '';\r\n emailSuccessMessage = '';\r\n profileAccountResults: IEmpProfileAccountResults =\r\n {} as IEmpProfileAccountResults;\r\n profileAccounts: IEmpProfileAccountLogin[];\r\n secondaryAccount: IEmpProfileAccountLogin = {} as IEmpProfileAccountLogin;\r\n secondaryUserNumber = '';\r\n showAccountForm = false;\r\n deleteresult = '';\r\n isEdit = false;\r\n userNumber = '';\r\n\r\n profileAccountHeader = [\r\n 'Username',\r\n 'Name',\r\n 'Account',\r\n 'Creation Date',\r\n 'Action',\r\n ];\r\n\r\n secondaryAccountFrmGrp: FormGroup = new FormGroup({});\r\n phonePattern = /^((\\\\+91-?)|0)?[0-9]{10}$/;\r\n //loginPattern = /(?=^[A-Za-z\\d]{8,12}$)(?=(.*[A-Za-z]){6,8})(?=(.*\\d){2,4})^.*/;\r\n loginPattern = /^[a-zA-Z0-9.@]*$/;\r\n zipPattern = /^[0-9]{5}$/;\r\n emailPattern = /\\S+@\\S+\\.\\S+/;\r\n phoneExample = '';\r\n phoneMask = '';\r\n\r\n validationLoginIdMessages: { [key: string]: string } = {\r\n required: 'Username is required.',\r\n pattern:\r\n 'Invalid Username. Must contain only alphanumerical values with the exception of email format.',\r\n minlength: 'Invalid Username. Must contain at least 8 characters.',\r\n isDuplicate: 'Username is not available for use.',\r\n };\r\n\r\n validationEmailMessages: { [key: string]: string } = {\r\n required: 'Required.',\r\n pattern: 'Please enter a valid email address.',\r\n isDuplicate: 'Registration already exist for this email.',\r\n };\r\n\r\n constructor(\r\n private formbuilder: FormBuilder,\r\n private router: Router,\r\n private errorHandlerService: ErrorHandlerService,\r\n public dialog: MatDialog,\r\n public snackbar: MatSnackBar,\r\n private commonService: CommonService,\r\n private registerService: RegisterLibraryService,\r\n private authService: AuthService,\r\n private phoneHelperService: PhoneHelperService\r\n ) {\r\n this.profileAccounts = [];\r\n this.showAccountForm = false;\r\n this.isEdit = false;\r\n this.selectedCountry = 'US';\r\n }\r\n\r\n ngOnInit() {\r\n this.loadFormGroups();\r\n this.getCountries();\r\n this.getStates();\r\n this.loadEmployerAccounts();\r\n this.authService.currentUserAccountManager.subscribe(\r\n (manager) =>\r\n (this.isAccountManager =\r\n manager.toLowerCase() === 'true' ? true : false)\r\n );\r\n\r\n this.authService.currentUserNumber.subscribe(\r\n (num) => (this.userNumber = num)\r\n );\r\n\r\n if (!this.isAccountManager) {\r\n this.profileAccountHeader = this.profileAccountHeader.filter(\r\n (x) => x !== 'Action'\r\n );\r\n }\r\n\r\n const phoneCtrl = this.secondaryAccountFrmGrp.get('phoneGp.phoneNumber');\r\n const countryCtrl = this.secondaryAccountFrmGrp.get('country');\r\n const loginCtrl = this.secondaryAccountFrmGrp.get('loginId');\r\n const emailCtrl = this.secondaryAccountFrmGrp.get('email');\r\n\r\n loginCtrl!.valueChanges.pipe(debounceTime(500)).subscribe((value) => {\r\n if ((loginCtrl?.touched || loginCtrl?.dirty) && loginCtrl?.errors) {\r\n this.loginErrorMessage = Object.keys(loginCtrl!.errors)!\r\n .map((key: any) => this.validationLoginIdMessages[key])\r\n .join(' ');\r\n this.isValidLogin = false;\r\n } else {\r\n this.isCheckingLogin = true;\r\n if (!this.useEmailForLogin) {\r\n this.registerService\r\n .searchDuplicateLogin(this.baseurl, value)\r\n .subscribe({\r\n next: (result: any) => {\r\n this.setLoginMessage(loginCtrl!, result);\r\n this.isCheckingLogin = false;\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n } else {\r\n this.registerService\r\n .searchDuplicateEmail(this.baseurl, value)\r\n .subscribe({\r\n next: (result: any) => this.setLoginMessage(loginCtrl!, result),\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n }\r\n });\r\n\r\n emailCtrl!.valueChanges.pipe(debounceTime(500)).subscribe((email) => {\r\n this.setEmailMessage(emailCtrl!, email);\r\n });\r\n\r\n phoneCtrl!.valueChanges.pipe(debounceTime(500)).subscribe((value) => {\r\n if (value) {\r\n const pn = new PhoneNumber(\r\n value,\r\n this.secondaryAccountFrmGrp.get('phoneGp.regionCode')!.value\r\n );\r\n this.secondaryAccountFrmGrp.get('phoneGp')!.patchValue({\r\n isValid: pn.isPossible(),\r\n });\r\n }\r\n });\r\n\r\n countryCtrl!.valueChanges.subscribe((value) => {\r\n if (value) {\r\n this.setMaskAndExample(value);\r\n this.secondaryAccountFrmGrp.get('phoneGp')!.patchValue({\r\n regionCode: value,\r\n countryCode:\r\n this.phoneHelperService.getCountryCodeForRegionCode(value),\r\n phoneNumber: '',\r\n isValid: false,\r\n });\r\n this.secondaryAccountFrmGrp.patchValue({\r\n state: '',\r\n zip5: '',\r\n });\r\n if (value === 'US') {\r\n this.secondaryAccountFrmGrp\r\n .get('zip5')!\r\n .setValidators([\r\n Validators.required,\r\n Validators.pattern(this.zipPattern),\r\n ]);\r\n } else {\r\n this.secondaryAccountFrmGrp\r\n .get('zip5')!\r\n .setValidators([Validators.required, Validators.maxLength(6)]);\r\n }\r\n if (value === 'US' || value === 'MX' || value === 'CA') {\r\n this.selectedCountry = value;\r\n this.secondaryAccountFrmGrp.get('state')!.enable();\r\n this.secondaryAccountFrmGrp\r\n .get('state')!\r\n .setErrors({ required: true });\r\n this.secondaryAccountFrmGrp.updateValueAndValidity();\r\n this.getStates();\r\n } else {\r\n this.secondaryAccountFrmGrp.get('state')!.disable();\r\n this.secondaryAccountFrmGrp\r\n .get('state')!\r\n .setErrors({ required: false });\r\n this.secondaryAccountFrmGrp.updateValueAndValidity();\r\n }\r\n }\r\n });\r\n }\r\n\r\n displayAccountForm() {\r\n this.showAccountForm = true;\r\n this.isEdit = false;\r\n this.isValidLogin = false;\r\n this.isCheckingLogin = false;\r\n this.secondaryAccountFrmGrp.get('loginId')!.enable();\r\n this.secondaryAccountFrmGrp.reset();\r\n this.secondaryAccountFrmGrp.patchValue({\r\n country: 'US',\r\n });\r\n this.setMaskAndExample('US');\r\n }\r\n\r\n loadEmployerAccounts() {\r\n this.profileAccounts = [];\r\n this.numOfAccounts = 0;\r\n\r\n this.registerService.getEmployerProfileAccounts(this.baseurl).subscribe({\r\n next: (accounts: any) => {\r\n this.profileAccountResults = accounts;\r\n this.profileAccountResults.loginDetails.forEach((account) => {\r\n this.profileAccounts.push(account);\r\n });\r\n\r\n this.profileAccounts = this.profileAccounts.sort((a, b) =>\r\n a.isAccountManager > b.isAccountManager ? -1 : 1\r\n );\r\n this.numOfAccounts = this.profileAccounts.length;\r\n sessionStorage.setItem('numberOfUsers', this.numOfAccounts.toString());\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n\r\n insertUpdateSecondaryAccount() {\r\n if (this.secondaryAccountFrmGrp.valid) {\r\n if (this.secondaryAccountFrmGrp.dirty) {\r\n const secondaryAccount = {\r\n loginId: this.useEmailForLogin\r\n ? this.secondaryAccountFrmGrp.get('email')!.value.trim()\r\n : this.secondaryAccountFrmGrp.get('loginId')!.value.trim(),\r\n firstName: this.secondaryAccountFrmGrp.get('firstName')!.value.trim(),\r\n middleName:\r\n this.secondaryAccountFrmGrp.get('middleName')!.value === null\r\n ? ''\r\n : this.secondaryAccountFrmGrp.get('middleName')!.value.trim(),\r\n lastName: this.secondaryAccountFrmGrp.get('lastName')!.value.trim(),\r\n address1: this.secondaryAccountFrmGrp.get('address1')!.value.trim(),\r\n address2:\r\n this.secondaryAccountFrmGrp.get('address2')!.value === null\r\n ? ''\r\n : this.secondaryAccountFrmGrp.get('address2')!.value.trim(),\r\n city: this.secondaryAccountFrmGrp.get('city')!.value.trim(),\r\n state: this.secondaryAccountFrmGrp.get('state')!.value.trim(),\r\n zip5: this.secondaryAccountFrmGrp.get('zip5')!.value.trim(),\r\n zip4: '',\r\n countryCode:\r\n this.secondaryAccountFrmGrp.get('country')!.value === null\r\n ? 'US'\r\n : this.secondaryAccountFrmGrp.get('country')!.value.trim(),\r\n phone: this.secondaryAccountFrmGrp\r\n .get('phoneGp.phoneNumber')!\r\n .value.trim(),\r\n phoneExt:\r\n this.secondaryAccountFrmGrp.get('phoneExt')!.value === null\r\n ? ''\r\n : this.secondaryAccountFrmGrp.get('phoneExt')!.value.trim(),\r\n email: this.secondaryAccountFrmGrp.get('email')!.value.trim(),\r\n };\r\n\r\n if (!this.isEdit) {\r\n this.registerService\r\n .addSecondaryAccount(this.baseurl, secondaryAccount)\r\n .subscribe(\r\n (response: any) => {\r\n this.profileConfirmationEmitter.emit({\r\n success: true,\r\n message:\r\n 'Account for ' +\r\n secondaryAccount.firstName +\r\n ' ' +\r\n secondaryAccount.lastName +\r\n ' has been created. An email was sent to ' +\r\n secondaryAccount.email +\r\n ' with more instructions to complete their registration.',\r\n confirmationNumber: response.confirmationNumber,\r\n showConfirmationEmail: false,\r\n });\r\n this.onSaveComplete();\r\n },\r\n (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n }\r\n );\r\n } else {\r\n this.registerService\r\n .updateUserAccount(\r\n this.baseurl,\r\n secondaryAccount,\r\n +this.secondaryUserNumber\r\n )\r\n .subscribe(\r\n (response: any) => {\r\n this.profileConfirmationEmitter.emit({\r\n success: true,\r\n message:\r\n 'Account for ' +\r\n secondaryAccount.firstName +\r\n ' ' +\r\n secondaryAccount.lastName +\r\n ' has been updated. A confirmation email was sent to ' +\r\n secondaryAccount.email +\r\n '.',\r\n confirmationNumber: response.confirmationNumber,\r\n showConfirmationEmail: false,\r\n });\r\n this.onSaveComplete();\r\n },\r\n (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n }\r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n onSaveComplete() {\r\n this.secondaryAccountFrmGrp.reset();\r\n this.showAccountForm = false;\r\n this.secondaryUserNumber = '';\r\n // this.loadEmployerAccounts();\r\n // this.router.navigate(['/employer/profile/account']);\r\n }\r\n\r\n editaccount(account: IEmpProfileAccountLogin) {\r\n this.states = [];\r\n this.showAccountForm = true;\r\n this.isEdit = true;\r\n this.secondaryUserNumber = account.userNumberExternal;\r\n this.secondaryAccountFrmGrp.patchValue(\r\n {\r\n loginId: account.loginId,\r\n firstName: account.contactInfo.firstName,\r\n middleName: account.contactInfo.middleName,\r\n lastName: account.contactInfo.lastName,\r\n address1: account.contactInfo.address1,\r\n address2: account.contactInfo.address2,\r\n country: account.contactInfo.countryId,\r\n city: account.contactInfo.city,\r\n zip5: account.contactInfo.zip5.trim(),\r\n phoneExt: account.contactInfo.phoneExt,\r\n state: account.contactInfo.state,\r\n },\r\n { emitEvent: true }\r\n );\r\n this.secondaryAccountFrmGrp.patchValue(\r\n {\r\n email: account.contactInfo.email,\r\n },\r\n { emitEvent: false }\r\n );\r\n\r\n if (account.contactInfo.state.trim() !== '') {\r\n this.secondaryAccountFrmGrp\r\n .get('zip5')!\r\n .setValidators([\r\n Validators.required,\r\n Validators.pattern(this.zipPattern),\r\n ]);\r\n this.secondaryAccountFrmGrp\r\n .get('state')!\r\n .setValidators([Validators.required]);\r\n this.secondaryAccountFrmGrp.updateValueAndValidity();\r\n } else {\r\n this.secondaryAccountFrmGrp\r\n .get('zip5')!\r\n .setValidators([Validators.required, Validators.maxLength(6)]);\r\n this.secondaryAccountFrmGrp.get('zip5')!.updateValueAndValidity();\r\n this.secondaryAccountFrmGrp.get('state')!.clearValidators();\r\n this.secondaryAccountFrmGrp.get('state')!.disable();\r\n this.secondaryAccountFrmGrp.updateValueAndValidity();\r\n }\r\n this.secondaryAccountFrmGrp.get('phoneGp')!.patchValue(\r\n {\r\n regionCode: account.contactInfo.countryId,\r\n phoneNumber: account.contactInfo.phone\r\n .substring(account.contactInfo.phone.trim().lastIndexOf(' '))\r\n .trim(),\r\n countryCode: this.phoneHelperService.getCountryCodeForRegionCode(\r\n account.contactInfo.countryId\r\n ),\r\n isValid: true,\r\n },\r\n { emitEvent: true }\r\n );\r\n this.secondaryAccountFrmGrp.get('loginId')!.disable();\r\n\r\n this.setMaskAndExample(\r\n this.secondaryAccountFrmGrp.get('country')!.value.trim()\r\n );\r\n\r\n console.log(this.secondaryAccountFrmGrp);\r\n console.log(this.secondaryAccountFrmGrp.valid);\r\n }\r\n\r\n deleteaccount(account: IEmpProfileAccountLogin) {\r\n const message = `Are you sure you want to delete this account?`;\r\n const acctdetail = account.userName + ' - ' + account.loginId;\r\n const dialogData = new ConfirmDialogModel(\r\n 'Confirm Deleting Account',\r\n message,\r\n acctdetail,\r\n '',\r\n '',\r\n '',\r\n ''\r\n );\r\n\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n maxWidth: '700px',\r\n data: dialogData,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe({\r\n next: (dialogResult: any) => (this.deleteresult = dialogResult),\r\n error: (error: any) => console.log(error),\r\n complete: () => {\r\n if (this.deleteresult) {\r\n this.registerService\r\n .deleteSecondaryAccount(this.baseurl, +account.userNumberExternal)\r\n .subscribe({\r\n next: (success: any) => {\r\n this.profileConfirmationEmitter.emit({\r\n success: true,\r\n message:\r\n 'Account for ' +\r\n account.contactInfo.firstName +\r\n ' ' +\r\n account.contactInfo.lastName +\r\n ' has been deleted. An email was sent to ' +\r\n account.contactInfo.email +\r\n ' with confirmation.',\r\n confirmationNumber: success.confirmationNumber,\r\n showConfirmationEmail: false,\r\n });\r\n // this.loadEmployerAccounts();\r\n this.onSaveComplete();\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n },\r\n });\r\n }\r\n\r\n moveToPrimary(account: IEmpProfileAccountLogin) {\r\n const message = `Are you sure you change the Account Manager to:`;\r\n const acctdetail = account.userName + ' - ' + account.loginId;\r\n const dialogData = new ConfirmDialogModel(\r\n 'Confirm Changing Account',\r\n message,\r\n acctdetail,\r\n '',\r\n '',\r\n '',\r\n ''\r\n );\r\n\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n maxWidth: '700px',\r\n data: dialogData,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe({\r\n next: (dialogResult: any) => (this.deleteresult = dialogResult),\r\n error: (error: any) => console.log(error),\r\n complete: () => {\r\n if (this.deleteresult) {\r\n this.registerService\r\n .makeAccountManager(this.baseurl, +account.userNumberExternal)\r\n .subscribe({\r\n next: (success: any) => this.onSaveComplete(),\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n complete: () => {\r\n this.openSnackBar(\r\n 'Account ' + account.loginId + ' is now Account Manager.',\r\n 5000,\r\n 'snackbar-success'\r\n );\r\n sessionStorage.setItem('isAccountManager', 'false');\r\n this.isAccountManager = false;\r\n this.profileAccountHeader = this.profileAccountHeader.filter(\r\n (x) => x !== 'Action'\r\n );\r\n },\r\n });\r\n }\r\n },\r\n });\r\n }\r\n\r\n loadFormGroups() {\r\n this.secondaryAccountFrmGrp = this.formbuilder.group({\r\n loginId: [\r\n '',\r\n [ Validators.required,\r\n Validators.minLength(8),\r\n //Validators.maxLength(12),\r\n Validators.pattern(this.loginPattern),],\r\n ],\r\n firstName: ['', Validators.required],\r\n middleName: '',\r\n lastName: ['', Validators.required],\r\n address1: ['', Validators.required],\r\n address2: '',\r\n city: ['', Validators.required],\r\n state: ['', Validators.required],\r\n zip5: ['', [Validators.required]],\r\n country: ['US', Validators.required],\r\n email: ['', [Validators.required, Validators.pattern(this.emailPattern)]],\r\n phoneGp: this.formbuilder.group({\r\n regionCode: 'US',\r\n phoneNumber: ['', [Validators.required]],\r\n countryCode: '1',\r\n isValid: [false, Validators.requiredTrue],\r\n }),\r\n phoneExt: '',\r\n });\r\n\r\n // this.setMaskAndExample('US');\r\n // set default country to US\r\n // this.secondaryAccountFrmGrp.patchValue({\r\n // country: 'US',\r\n // });\r\n\r\n if (this.useEmailForLogin) {\r\n this.secondaryAccountFrmGrp.get('loginId')?.clearValidators();\r\n this.secondaryAccountFrmGrp.updateValueAndValidity();\r\n }\r\n }\r\n\r\n getCountries() {\r\n this.commonService.getCountries(this.baseurl).subscribe({\r\n next: (countries: any) => {\r\n this.countries = countries;\r\n this.countries = this.countries.sort((a, b) =>\r\n a.countryName < b.countryName ? 1 : -1\r\n );\r\n this.countries.push({\r\n country: 'MX',\r\n countryName: 'Mexico',\r\n alpha3IsoCode: 'MEX',\r\n numeric3IsoCode: '484',\r\n });\r\n this.countries.push({\r\n country: 'CA',\r\n countryName: 'Canada',\r\n alpha3IsoCode: 'CAN',\r\n numeric3IsoCode: '124',\r\n });\r\n this.countries.push({\r\n country: 'US',\r\n countryName: 'United States',\r\n alpha3IsoCode: 'USA',\r\n numeric3IsoCode: '840',\r\n });\r\n this.countries.reverse();\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n\r\n getStates() {\r\n this.selectedCountry = this.secondaryAccountFrmGrp.get('country')!.value;\r\n this.commonService.getStates(this.baseurl, this.selectedCountry).subscribe({\r\n next: (states) => (this.states = states),\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n\r\n setEmailMessage(emailControl: AbstractControl, email: any): void {\r\n this.resetEmailCheck();\r\n if (emailControl.touched || emailControl.dirty) {\r\n if (!emailControl.errors) {\r\n this.isCheckingEmail = true;\r\n this.registerService\r\n .searchDuplicateEmail(this.baseurl, email)\r\n .subscribe({\r\n next: (result: any) => {\r\n this.isValidEmail = !result.isDuplicate;\r\n if (this.isValidEmail) {\r\n this.emailSuccessMessage = 'Email is available!';\r\n } else {\r\n emailControl.setErrors({ isDuplicate: true });\r\n this.emailErrorMessage = Object.keys(emailControl.errors!)\r\n .map((key) => this.validationEmailMessages[key])\r\n .join(' ');\r\n this.secondaryAccountFrmGrp.updateValueAndValidity();\r\n }\r\n this.isCheckingEmail = false;\r\n },\r\n error: (error: any) => {\r\n this.resetEmailCheck();\r\n this.errorMessage = error as any;\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n } else {\r\n this.emailErrorMessage = Object.keys(emailControl.errors)\r\n .map((key) => this.validationEmailMessages[key])\r\n .join(' ');\r\n }\r\n }\r\n }\r\n setLoginMessage(loginControl: AbstractControl, result: any) {\r\n this.loginErrorMessage = '';\r\n this.loginSuccessMessage = '';\r\n\r\n if (loginControl.dirty) {\r\n this.isValidLogin = !result.isDuplicate;\r\n if (this.isValidLogin) {\r\n this.loginSuccessMessage = 'Username Available!';\r\n } else {\r\n loginControl.setErrors({ isDuplicate: true });\r\n if (!this.useEmailForLogin) {\r\n this.loginErrorMessage = Object.keys(loginControl.errors!)\r\n .map((key) => this.validationLoginIdMessages[key])\r\n .join(' ');\r\n } else {\r\n this.loginErrorMessage = Object.keys(loginControl.errors!)\r\n .map((key) => this.validationEmailMessages[key])\r\n .join(' ');\r\n }\r\n }\r\n }\r\n }\r\n\r\n resetEmailCheck() {\r\n this.isValidEmail = false;\r\n this.isCheckingEmail = false;\r\n this.emailSuccessMessage = '';\r\n this.emailErrorMessage = '';\r\n }\r\n\r\n openSnackBar(message: string, time: number, style: string) {\r\n const config = new MatSnackBarConfig();\r\n config.horizontalPosition = 'center';\r\n config.verticalPosition = 'top';\r\n config.duration = time;\r\n config.panelClass = style;\r\n this.snackbar.open(message, '', config);\r\n }\r\n\r\n setMaskAndExample(regionCode: string) {\r\n this.phoneExample = this.phoneHelperService.getExample(regionCode);\r\n this.phoneMask = this.phoneHelperService.getMask(regionCode);\r\n }\r\n\r\n closeForm() {\r\n this.showAccountForm = false;\r\n this.secondaryAccountFrmGrp.get('loginId')!.enable();\r\n this.secondaryAccountFrmGrp.reset();\r\n }\r\n\r\n logError(error: Error) {\r\n this.errorHandlerService.logError(error);\r\n }\r\n\r\n handleError(error: number) {\r\n console.log(this.errorMessage);\r\n console.log('error', error);\r\n this.errorHandlerService.handleErrorMessage(error, this.baseurl);\r\n }\r\n}\r\n\r\n","<div class=\"tab-content profile-security\">\r\n <div class=\"bg-white\">\r\n <div class=\"form-display-card\">\r\n <mat-card class=\"card-container\">\r\n <mat-card-header>\r\n <mat-card-title>User Account Management\r\n <div *ngIf=\"isAccountManager && numOfAccounts < 3\">\r\n <a (click)=\"displayAccountForm()\" class=\"ts-s\">\r\n Add\r\n <span class=\"fa fa-plus-circle fa-sm-blue\" matTooltip=\"ADD NEW ACCOUNT\" matTooltipClass=\"tooltip-md\">\r\n </span>\r\n </a>\r\n </div>\r\n </mat-card-title>\r\n <mat-card-subtitle>\r\n Multiple login accounts can be created for an employer. The first login account you create is the\r\n primary account. Additionally, you can establish up to two secondary accounts. Primary and secondary\r\n accounts have the same access, except the primary account user can also add or inactivate a secondary\r\n account. Additionally, the primary account user can change their account to a secondary account.\r\n If only a primary account is established, in other words, no secondary account, then account information\r\n cannot be accessed if the primary user is not available to log in.\r\n </mat-card-subtitle>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <table class=\"table account-users-table x-scrollable-table\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let col of profileAccountHeader\">{{col}}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let account of profileAccounts\"\r\n [ngClass]=\"{'profile-primary-account' : account.isAccountManager }\">\r\n <td>{{account.loginId}}</td>\r\n <td>{{account.userName}}</td>\r\n <td>{{account.isAccountManager ? 'Manager' : account.isRegistrationComplete ? 'Secondary' :\r\n 'Secondary\r\n (Incomplete Registration)'}}</td>\r\n <td>{{account.creationTime | date:'MM/dd/yyyy'}}</td>\r\n <td *ngIf=\"isAccountManager\">\r\n <span *ngIf=\"isAccountManager\" (click)=\"editaccount(account)\" class=\"fa fa-pencil-square-o fa-md-blue\"\r\n matTooltip=\"EDIT ACCOUNT\">\r\n </span>\r\n <span *ngIf=\"!account.isAccountManager && isAccountManager\" (click)=\"deleteaccount(account)\"\r\n class=\"fa fa-trash-o fa-md-blue\" matTooltip=\"DELETE ACCOUNT\">\r\n </span>\r\n <span *ngIf=\"!account.isAccountManager && account.isRegistrationComplete && isAccountManager\"\r\n (click)=\"moveToPrimary(account)\" class=\"fa fa-arrow-circle-o-up fa-md-blue\"\r\n matTooltip=\"MAKE PRIMARY ACCOUNT\">\r\n </span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n <div *ngIf=\"showAccountForm\" class=\"add-edit-account\">\r\n <div class=\"form-display-card\">\r\n <mat-card class=\"card-container\">\r\n <mat-card-header>\r\n <mat-card-title *ngIf=\"!isEdit\">Add Account</mat-card-title>\r\n <mat-card-title *ngIf=\"isEdit\">Edit Account</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"profile-detail-form-field\">\r\n <form [formGroup]=\"secondaryAccountFrmGrp\" (ngSubmit)=\"insertUpdateSecondaryAccount()\" autocomplete=\"off\">\r\n\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field *ngIf=\"!useEmailForLogin\">\r\n <input matInput placeholder=\"Username\" #loginId formControlName=\"loginId\" autocomplete=\"off\" required>\r\n <mat-hint *ngIf=\"isValidLogin && !isCheckingLogin\" style=\"color: darkgreen\">{{loginSuccessMessage}}\r\n </mat-hint>\r\n <mat-hint *ngIf=\"!isValidLogin && !isCheckingLogin\">{{loginHintMessage}}</mat-hint>\r\n <span *ngIf=\"isCheckingLogin\" matSuffix><i style=\"font-size: 1.25em;\"\r\n class=\"fa fa-refresh fa-spin fa-2x fa-fw\"></i></span>\r\n <span *ngIf=\"isValidLogin\" matSuffix><i class=\"fa fa-check c-green0\"></i></span>\r\n <mat-error>{{loginErrorMessage}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"First name\" formControlName=\"firstName\" autocomplete=\"off\" required>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Middle name\" formControlName=\"middleName\" autocomplete=\"off\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Last name\" formControlName=\"lastName\" autocomplete=\"off\" required>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Address\" formControlName=\"address1\" autocomplete=\"off\" required>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Line 2\" formControlName=\"address2\" autocomplete=\"off\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"City\" formControlName=\"city\" autocomplete=\"off\" required>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-select matInput disableOptionCentering panelClass=\"matSelectClass\"\r\n [placeholder]=\"this.secondaryAccountFrmGrp.get('country')!.value.trim() === 'CA' ? 'Province' : 'State'\"\r\n formControlName=\"state\" required>\r\n <mat-option *ngFor=\"let state of states\" [value]=\"state.code\">\r\n {{state.name}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Zip\" formControlName=\"zip5\" autocomplete=\"off\" required>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <mat-select matInput disableOptionCentering panelClass=\"matSelectClass\" placeholder=\"Country\"\r\n formControlName=\"country\" required>\r\n <mat-option *ngFor=\"let country of countries\" [value]=\"country.country\">\r\n {{country.countryName}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field formGroupName=\"phoneGp\">\r\n <!-- <input matInput placeholder=\"Phone\" formControlName=\"phoneNumber\" [mask]=\"phoneMask\" required> -->\r\n <input matInput placeholder=\"Phone\" formControlName=\"phoneNumber\" [mask]=\"phoneMask\" required>\r\n <span matPrefix>+{{secondaryAccountFrmGrp.get('phoneGp.countryCode')?.value}} </span>\r\n <mat-hint>Ex. {{phoneExample}}</mat-hint>\r\n <mat-error *ngIf=\"!secondaryAccountFrmGrp.get('phoneGp.isValid')?.value\">Invalid Format</mat-error>\r\n <mat-error *ngIf=\"secondaryAccountFrmGrp.get('phoneGp.phoneNumber')?.hasError('required')\">Required\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Phone Ext\" formControlName=\"phoneExt\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Email\" formControlName=\"email\" autocomplete=\"off\" required>\r\n <mat-hint *ngIf=\"isValidEmail && !isCheckingEmail\" class=\"mat-hint-success\">{{emailSuccessMessage}}\r\n </mat-hint>\r\n <span *ngIf=\"isCheckingEmail\" matSuffix><i class=\"fa fa-refresh fa-spin fa-3x fa-fw\"></i></span>\r\n <span *ngIf=\"isValidEmail\" matSuffix><i class=\"fa fa-check\"\r\n style=\"font-size: 25px;color:darkgreen\"></i></span>\r\n <mat-error>{{emailErrorMessage}}</mat-error>\r\n <mat-error *ngIf=\"secondaryAccountFrmGrp.get('email')?.hasError('required') &&\r\n emailErrorMessage?.length !== 0\">Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-raised-button (click)=\"closeForm()\">Cancel</button>\r\n <button *ngIf=\"isEdit\" class=\"btn btn-submit\" [disabled]=\"secondaryAccountFrmGrp.invalid\"\r\n (click)=\" insertUpdateSecondaryAccount()\" mat-raised-button type=\"submit\">Save Account</button>\r\n <button *ngIf=\"!isEdit\" class=\"btn btn-submit\" [disabled]=\"secondaryAccountFrmGrp.invalid\"\r\n mat-raised-button type=\"submit\">Create Account</button>\r\n </div>\r\n </form>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n </div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AbstractControl, FormControl, FormGroupDirective, NgForm, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\r\nimport { Router } from '@angular/router';\r\nimport { IChallengeQuestion, ErrorHandlerService, AuthService, RegisterLibraryService, ConfirmDialogModel, ConfirmDialogComponent } from 'epay-library';\r\nimport { debounceTime } from 'rxjs';\r\n\r\nfunction passwordMatcher(\r\n c: AbstractControl\r\n): { [key: string]: boolean } | null {\r\n const password1Ctrl = c.get('newPassword1');\r\n const password2Ctrl = c.get('newPassword2');\r\n if (password1Ctrl === null || password2Ctrl === null) {\r\n return null;\r\n }\r\n if (password1Ctrl.pristine || password2Ctrl.pristine) {\r\n return null;\r\n }\r\n if (password1Ctrl.value === password2Ctrl.value) {\r\n return null;\r\n }\r\n return { doNotMatch: true };\r\n}\r\n\r\n/** Error when the parent is invalid */\r\nclass CrossFieldErrorMatcher implements ErrorStateMatcher {\r\n isErrorState(\r\n control: FormControl | null,\r\n form: FormGroupDirective | NgForm | null\r\n ): boolean {\r\n if (control) {\r\n return (control.dirty || control.touched) && control.parent!.invalid;\r\n }\r\n return false;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'employer-profile-security',\r\n templateUrl: './empprofile-security.component.html'\r\n})\r\nexport class EMPProfileSecurityComponent implements OnInit {\r\n @Input() baseurl = '';\r\n @Input() useEmailForLogin: any;\r\n @Output() profileConfirmationEmitter = new EventEmitter<{\r\n success: boolean;\r\n restart: boolean;\r\n message: string;\r\n confirmationNumber: string;\r\n }>();\r\n\r\n @Input() newEmailFromLogin: any;\r\n\r\n errorMatcher = new CrossFieldErrorMatcher();\r\n loginFrmGp: FormGroup = new FormGroup({});\r\n passwordFrmGp: FormGroup = new FormGroup({});\r\n username = '';\r\n email = '';\r\n userNumber = 0;\r\n questions: IChallengeQuestion[] = [];\r\n selectedChallengeQuestion = '';\r\n errorMessage = '';\r\n currentLoginErrorMessage = '';\r\n currentLoginPasswordErrorMessage = '';\r\n currentChangePasswordErrorMessage = '';\r\n newChangePasswordErrorMessage = '';\r\n newChangeConfirmPasswordErrorMessage = '';\r\n newLoginErrorMessage = '';\r\n newLoginSuccessMessage = '';\r\n updateLoginDialogresult = '';\r\n isCheckingLogin = false;\r\n isValidLogin = false;\r\n isValidPassword = false;\r\n currentLoginPasswordHide = true;\r\n currentChangePasswordHide = true;\r\n newChangePasswordHide = true;\r\n newChangeConfirmPasswordHide = true;\r\n\r\n loginHintMessage = 'Must contain at least 8 characters. Alphanumerical values and email format are accepted.';\r\n\r\n passwordHintMessage =\r\n 'Must contain at least 6 letters, 2 numbers, and one special character with a maximum of 12 characters.';\r\n hintMessageUsingEmail = ' Please enter a valid email.';\r\n\r\n // loginPattern =\r\n // /(?=^[A-Za-z\\d]{8,12}$)(?=(.*[A-Za-z]){6,8})(?=(.*\\d){2,4})^.*/;\r\n\r\n loginPattern = /^[a-zA-Z0-9.@]*$/;\r\n\r\n passwordPattern = /(?=^[A-Za-z!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\\d]{8,12}$)(?=(.*[A-Za-z]){6})(?=(.*[!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]){1})(?=(.*\\d){2})^.*/;\r\n\r\n emailPattern = /\\S+@\\S+\\.\\S+/;\r\n\r\n validationLoginIdMessages: { [key: string]: string } = {\r\n required: 'Required.',\r\n pattern: '',\r\n isCurrent: '',\r\n notCurrentLogin: '',\r\n isDuplicate: '',\r\n isNotValid: '',\r\n };\r\n\r\n validationPasswordMessages: { [key: string]: string } = {\r\n required: 'Required.',\r\n pattern:\r\n 'Invalid Password. Must contain at least 6 letters, 2 numbers, and one special character with a maximum of 12 characters.',\r\n isSameAsLogin: 'Invalid format. Password cannot be same as username.',\r\n isNotValid: 'Username/password combination is invalid',\r\n };\r\n\r\n constructor(\r\n private formbuilder: FormBuilder,\r\n private router: Router,\r\n private errorHandlerService: ErrorHandlerService,\r\n private authService: AuthService,\r\n private registerService: RegisterLibraryService,\r\n public snackbar: MatSnackBar,\r\n public dialog: MatDialog //private accountInfo: EMPLibraryProfileAccountComponent\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.loadFormGroups();\r\n this.getChallengeQuestions();\r\n this.authService.currentLoginId.subscribe(\r\n (username: any) => (this.username = username)\r\n );\r\n this.authService.currentAccountEmail.subscribe(\r\n (email: any) => (this.email = email)\r\n );\r\n this.authService.currentUserNumber.subscribe(\r\n (num) => (this.userNumber = +num)\r\n );\r\n const currentLoginCtrl = this.loginFrmGp.get('currentLoginId');\r\n const newloginCtrl = this.loginFrmGp.get('newLoginId');\r\n const currentLoginPasswordCtrl = this.loginFrmGp.get('currentPassword');\r\n\r\n // Error messages\r\n if (this.useEmailForLogin) {\r\n //this.validationLoginIdMessages[\"required\"] = 'Required.';\r\n this.validationLoginIdMessages['pattern'] =\r\n 'Invalid format. Please enter a valid Email.';\r\n this.validationLoginIdMessages['isCurrent'] =\r\n 'Email is your current username.';\r\n this.validationLoginIdMessages['notCurrentLogin'] =\r\n 'This is not your current Email.';\r\n this.validationLoginIdMessages['isDuplicate'] =\r\n 'Email is NOT available. ';\r\n this.validationLoginIdMessages['isNotValid'] =\r\n 'Email & Password combination is invalid';\r\n } else {\r\n //this.validationLoginIdMessages[\"required\"] = 'Required.';\r\n this.validationLoginIdMessages['pattern'] =\r\n 'Invalid Username. Must contain only alphanumerical values with the exception of email format.';\r\n this.validationLoginIdMessages['isCurrent'] =\r\n 'Username is your current username.';\r\n this.validationLoginIdMessages['notCurrentLogin'] =\r\n 'This is not your current Username.';\r\n this.validationLoginIdMessages['isDuplicate'] =\r\n 'Username is NOT available. ';\r\n this.validationLoginIdMessages['isNotValid'] =\r\n 'Username & Password combination is invalid';\r\n }\r\n\r\n // Switch validators based on user-type\r\n if (this.useEmailForLogin) {\r\n this.loginFrmGp.clearValidators();\r\n this.loginFrmGp\r\n .get('currentLoginId')\r\n ?.setValidators([\r\n Validators.required,\r\n Validators.pattern(this.emailPattern),\r\n ]);\r\n this.loginFrmGp\r\n .get('newLoginId')\r\n ?.setValidators([\r\n Validators.required,\r\n Validators.pattern(this.emailPattern),\r\n ]);\r\n } else {\r\n this.loginFrmGp.clearValidators();\r\n this.loginFrmGp\r\n .get('currentLoginId')\r\n ?.setValidators([\r\n Validators.required,\r\n Validators.pattern(this.loginPattern),\r\n ]);\r\n this.loginFrmGp\r\n .get('newLoginId')\r\n ?.setValidators([\r\n Validators.required,\r\n Validators.pattern(this.loginPattern),\r\n ]);\r\n }\r\n\r\n this.loginFrmGp.updateValueAndValidity();\r\n\r\n currentLoginCtrl!.valueChanges\r\n .pipe(debounceTime(1000))\r\n .subscribe((currentLogin) =>\r\n this.setCurrentLoginMessage(currentLoginCtrl!, currentLogin)\r\n );\r\n\r\n currentLoginPasswordCtrl!.valueChanges\r\n .pipe(debounceTime(1000))\r\n .subscribe((passwrd) =>\r\n this.setCurrentLoginPasswordMessage(currentLoginPasswordCtrl!)\r\n );\r\n\r\n newloginCtrl!.valueChanges\r\n .pipe(debounceTime(1000))\r\n .subscribe((newlogin) =>\r\n this.setNewLoginMessage(newloginCtrl!, newlogin)\r\n );\r\n }\r\n\r\n updateLogin() {\r\n if (this.loginFrmGp.valid) {\r\n const message = `This action will force a Logout. Are you sure you want to change your username?`;\r\n const acctdetail =\r\n 'New Username: ' + this.loginFrmGp.get('newLoginId')!.value;\r\n const dialogData = new ConfirmDialogModel(\r\n 'Confirm Changing Username',\r\n message,\r\n acctdetail,\r\n '',\r\n '',\r\n '',\r\n ''\r\n );\r\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\r\n maxWidth: '700px',\r\n data: dialogData,\r\n });\r\n dialogRef.afterClosed().subscribe({\r\n next: (dialogResult: any) => {\r\n this.updateLoginDialogresult = dialogResult;\r\n },\r\n error: (error: any) => {\r\n console.log(error);\r\n },\r\n complete: () => {\r\n if (this.updateLoginDialogresult) {\r\n if (this.loginFrmGp.valid) {\r\n if (this.loginFrmGp.dirty) {\r\n const loginData = {\r\n loginId: this.loginFrmGp.get('newLoginId')!.value,\r\n password: this.loginFrmGp.get('currentPassword')!.value,\r\n };\r\n this.registerService\r\n .changeLoginId(this.baseurl, loginData)\r\n .subscribe({\r\n next: (result: any) => {\r\n if (result.errorMessage) {\r\n const currentLoginPasswordCtrl =\r\n this.loginFrmGp.get('currentPassword');\r\n currentLoginPasswordCtrl!.setErrors({\r\n isNotValid: true,\r\n });\r\n this.setCurrentLoginPasswordMessage(\r\n currentLoginPasswordCtrl!\r\n );\r\n // this.openSnackBar('Incorrect username/password.', 5000, 'snackbar-error');\r\n }\r\n\r\n if (this.loginFrmGp.get('updateEmail')!.value === true) {\r\n // else-if checkbox --> RegisterSerivce.updateUser\r\n const updateAccount = {\r\n firstName: '',\r\n middleName: '',\r\n lastName: '',\r\n address1: '',\r\n address2: '',\r\n city: '',\r\n state: '',\r\n zip5: '',\r\n zip4: '',\r\n countryCode: '',\r\n phone: '',\r\n phoneExt: '',\r\n email: this.loginFrmGp.get('newLoginId')!.value,\r\n };\r\n this.registerService\r\n .updateUserAccount(\r\n this.baseurl,\r\n updateAccount,\r\n this.userNumber\r\n )\r\n .subscribe({\r\n next: (result: any) => {\r\n this.profileConfirmationEmitter.emit({\r\n success: true,\r\n restart: true,\r\n message:\r\n 'Username & Email changed to ' +\r\n loginData.loginId +\r\n '.',\r\n confirmationNumber: result.confirmationNumber,\r\n });\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n } else {\r\n this.profileConfirmationEmitter.emit({\r\n success: true,\r\n restart: true,\r\n message:\r\n 'Username changed to ' + loginData.loginId + '.',\r\n confirmationNumber: result.confirmationNumber,\r\n });\r\n }\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n }\r\n }\r\n },\r\n });\r\n }\r\n }\r\n\r\n updatePassword() {\r\n if (this.passwordFrmGp.valid) {\r\n if (this.passwordFrmGp.dirty) {\r\n const passwrdData = {\r\n oldPassword: this.passwordFrmGp.get('currentPassword')!.value,\r\n newPassword: this.passwordFrmGp.get('newPassword1')!.value,\r\n confirmNewPassword: this.passwordFrmGp.get('newPassword2')!.value,\r\n };\r\n this.registerService\r\n .resetPassword(this.baseurl, passwrdData)\r\n .subscribe({\r\n next: (result: any) => {\r\n if (result.errorMessage) {\r\n this.openSnackBar(\r\n 'Incorrect current password.',\r\n 5000,\r\n 'snackbar-error'\r\n );\r\n } else {\r\n this.profileConfirmationEmitter.emit({\r\n success: true,\r\n restart: false,\r\n message: 'Password has been updated.',\r\n confirmationNumber: result.confirmationNumber,\r\n });\r\n this.onSaveCompletePasswordChange();\r\n }\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n }\r\n }\r\n\r\n getPasswordError(ctrl: any) {\r\n const control = this.passwordFrmGp.get(ctrl);\r\n const passwrd = control!.value;\r\n if ((control!.touched || control!.dirty) && !control!.errors) {\r\n if (passwrd === this.username) {\r\n control!.setErrors({ isSameAsLogin: true });\r\n return Object.keys(control!.errors!)\r\n .map((key) => this.validationPasswordMessages[key])\r\n .join(' ');\r\n }\r\n } else if (control!.errors) {\r\n return Object.keys(control!.errors)\r\n .map((key) => this.validationPasswordMessages[key])\r\n .join(' ');\r\n }\r\n return '';\r\n }\r\n\r\n setCurrentLoginMessage(currentLoginControl: AbstractControl, loginId: any) {\r\n this.loginFrmGp.patchValue({\r\n currentPassword: '',\r\n });\r\n this.currentLoginErrorMessage = '';\r\n if (currentLoginControl.touched || currentLoginControl.dirty) {\r\n if (currentLoginControl.errors) {\r\n this.currentLoginErrorMessage = Object.keys(currentLoginControl.errors)\r\n .map((key) => this.validationLoginIdMessages[key])\r\n .join(' ');\r\n } else {\r\n if (loginId.toString() !== this.username) {\r\n currentLoginControl.setErrors({ notCurrentLogin: true });\r\n this.currentLoginErrorMessage = Object.keys(\r\n currentLoginControl.errors!\r\n )\r\n .map((key) => this.validationLoginIdMessages[key])\r\n .join(' ');\r\n }\r\n }\r\n }\r\n }\r\n\r\n setCurrentLoginPasswordMessage(currentLoginPasswordControl: AbstractControl) {\r\n this.currentLoginPasswordErrorMessage = '';\r\n if (\r\n (currentLoginPasswordControl.touched ||\r\n currentLoginPasswordControl.dirty) &&\r\n currentLoginPasswordControl.errors\r\n ) {\r\n this.currentLoginPasswordErrorMessage = Object.keys(\r\n currentLoginPasswordControl.errors\r\n )\r\n .map((key) => this.validationLoginIdMessages[key])\r\n .join(' ');\r\n }\r\n }\r\n\r\n setNewLoginMessage(newLoginControl: AbstractControl, newlogin: any) {\r\n this.newLoginErrorMessage = '';\r\n this.newLoginSuccessMessage = '';\r\n this.isValidLogin = false;\r\n\r\n if (newLoginControl.touched || newLoginControl.dirty) {\r\n if (newLoginControl.errors) {\r\n this.newLoginErrorMessage = Object.keys(newLoginControl.errors)\r\n .map((key) => this.validationLoginIdMessages[key])\r\n .join(' ');\r\n } else if (newlogin.toString() === this.username) {\r\n newLoginControl.setErrors({ isCurrent: true });\r\n this.newLoginErrorMessage = Object.keys(newLoginControl.errors!)\r\n .map((key) => this.validationLoginIdMessages[key])\r\n .join(' ');\r\n } else {\r\n this.isCheckingLogin = true;\r\n this.registerService\r\n .searchDuplicateLogin(this.baseurl, newlogin)\r\n .subscribe({\r\n next: (result: any) => {\r\n this.isValidLogin = !result.isDuplicate;\r\n this.isCheckingLogin = false;\r\n if (this.isValidLogin) {\r\n this.newLoginSuccessMessage = 'Username Available!';\r\n } else {\r\n newLoginControl.setErrors({ isDuplicate: true });\r\n this.newLoginErrorMessage = Object.keys(newLoginControl.errors!)\r\n .map((key) => this.validationLoginIdMessages[key])\r\n .join(' ');\r\n }\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n }\r\n }\r\n\r\n toggleLoginPasswordHide() {\r\n this.currentLoginPasswordHide = !this.currentLoginPasswordHide;\r\n }\r\n\r\n toggleChangeCurrentPasswordHide() {\r\n this.currentChangePasswordHide = !this.currentChangePasswordHide;\r\n }\r\n\r\n toggleChangePasswordHide() {\r\n this.newChangePasswordHide = !this.newChangePasswordHide;\r\n }\r\n\r\n toggleChangeConfirmPasswordHide() {\r\n this.newChangeConfirmPasswordHide = !this.newChangeConfirmPasswordHide;\r\n }\r\n\r\n onSaveCompleteLoginChagne() {\r\n this.loginFrmGp.reset();\r\n }\r\n\r\n onSaveCompletePasswordChange() {\r\n this.passwordFrmGp.reset();\r\n }\r\n //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r\n loadFormGroups() {\r\n this.loginFrmGp = this.formbuilder.group({\r\n //currentLoginId: ['', [Validators.required, Validators.pattern(this.emailPattern)]],\r\n currentLoginId: ['', [Validators.required]],\r\n //newLoginId: ['', [Validators.required, Validators.pattern(this.emailPattern)]],\r\n newLoginId: ['', [Validators.required, Validators.pattern(this.loginPattern)]],\r\n currentPassword: [\r\n '',\r\n [Validators.required],\r\n ],\r\n updateEmail: [''],\r\n });\r\n\r\n this.passwordFrmGp = this.formbuilder.group(\r\n {\r\n currentPassword: [\r\n '',\r\n [Validators.required],\r\n ],\r\n newPassword1: [\r\n '',\r\n [Validators.required, Validators.pattern(this.passwordPattern)],\r\n ],\r\n newPassword2: ['', Validators.required],\r\n },\r\n { validator: passwordMatcher }\r\n );\r\n\r\n if (this.newEmailFromLogin !== '') {\r\n this.loginFrmGp.patchValue({\r\n newLoginId: this.newEmailFromLogin,\r\n });\r\n }\r\n }\r\n\r\n getChallengeQuestions() {\r\n this.registerService.getChallengeQuestions(this.baseurl).subscribe({\r\n next: (questions: any) => {\r\n this.questions = questions;\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n\r\n openSnackBar(message: string, time: number, style: string) {\r\n const config = new MatSnackBarConfig();\r\n config.horizontalPosition = 'center';\r\n config.verticalPosition = 'top';\r\n config.duration = time;\r\n config.panelClass = style;\r\n this.snackbar.open(message, '', config);\r\n }\r\n\r\n logError(error: Error) {\r\n this.errorHandlerService.logError(error);\r\n }\r\n\r\n handleError(error: number) {\r\n console.log(this.errorMessage);\r\n console.log('error', error);\r\n this.errorHandlerService.handleErrorMessage(error, this.baseurl);\r\n }\r\n}\r\n","<div class=\"tab-content profile-security\">\r\n <div class=\"bg-white\">\r\n <div class=\"container\">\r\n <div class=\"row m--full-bleed\">\r\n <div class=\"col-12 col-lg-6 form-display-card\">\r\n <form [formGroup]=\"loginFrmGp\" (ngSubmit)=\"updateLogin()\">\r\n <mat-card class=\"card-container\">\r\n <div *ngIf=\"useEmailForLogin; then useEmailId else useLoginId\">\r\n </div>\r\n </mat-card>\r\n <!-- Edit Email -->\r\n <ng-template #useEmailId>\r\n <mat-card-header>\r\n <mat-card-title>Change Username</mat-card-title>\r\n </mat-card-header>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Current Username\" formControlName=\"currentLoginId\" autocomplete=\"off\">\r\n <mat-error>{{currentLoginErrorMessage}}</mat-error>\r\n <mat-error *ngIf=\"loginFrmGp.get('currentLoginId')?.hasError('required')\">{{\r\n validationLoginIdMessages[\"required\"] }}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Current Password\" [type]=\"currentLoginPasswordHide ? 'password' : 'text'\"\r\n formControlName=\"currentPassword\" autocomplete=\"off\">\r\n <mat-icon matSuffix (click)=\"toggleLoginPasswordHide()\">{{currentLoginPasswordHide ? 'visibility_off'\r\n : 'visibility'}}</mat-icon>\r\n <mat-error>{{currentLoginPasswordErrorMessage}}</mat-error>\r\n <mat-error>{{getPasswordError(\"currentPassword\")}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2 mb-3\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"New Username\" #loginId formControlName=\"newLoginId\" autocomplete=\"off\">\r\n <mat-hint *ngIf=\"!isValidLogin\">{{hintMessageUsingEmail}}</mat-hint>\r\n <mat-hint *ngIf=\"isValidLogin\" class=\"mat-hint-success\">{{newLoginSuccessMessage}}</mat-hint>\r\n <span *ngIf=\"isCheckingLogin\" matSuffix><i class=\"fa fa-refresh fa-spin fa-3x fa-fw\"></i></span>\r\n <span *ngIf=\"isValidLogin\" matSuffix><i class=\"fa fa-check c-green0\"></i></span>\r\n <mat-error>{{newLoginErrorMessage}}</mat-error>\r\n <mat-error *ngIf=\"loginFrmGp.get('newLoginId')?.hasError('required')\">{{\r\n validationLoginIdMessages[\"required\"] }}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n \r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <label class=\"smart-checkbox\">\r\n <input type=\"checkbox\" class=\"form-check-input smart-checks checkmark\" formControlName=\"updateEmail\">\r\n <span class=\"ts-s\">Set Contact Email to New Username</span>\r\n <span class=\"checkmark\"></span>\r\n </label>\r\n </div>\r\n \r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-submit\" mat-raised-button type=\"submit\">Save</button>\r\n </div>\r\n </ng-template>\r\n \r\n <!-- Update Username -->\r\n <ng-template #useLoginId>\r\n <mat-card-header>\r\n <mat-card-title>Change Username</mat-card-title>\r\n </mat-card-header>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Current Username\" formControlName=\"currentLoginId\" autocomplete=\"off\">\r\n <mat-error>{{currentLoginErrorMessage}}</mat-error>\r\n <mat-error *ngIf=\"loginFrmGp.get('currentLoginId')?.hasError('required')\">{{\r\n validationLoginIdMessages[\"required\"] }}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Current Password\" [type]=\"currentLoginPasswordHide ? 'password' : 'text'\"\r\n formControlName=\"currentPassword\" autocomplete=\"off\">\r\n <mat-icon matSuffix (click)=\"toggleLoginPasswordHide()\">{{currentLoginPasswordHide ? 'visibility_off'\r\n : 'visibility'}}</mat-icon>\r\n <mat-error>{{currentLoginPasswordErrorMessage}}</mat-error>\r\n <!-- <mat-error>{{getPasswordError(\"currentPassword\")}}</mat-error> -->\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"New Username\" #loginId formControlName=\"newLoginId\" autocomplete=\"off\">\r\n <mat-hint *ngIf=\"!isValidLogin\">{{loginHintMessage}}</mat-hint>\r\n <mat-hint *ngIf=\"isValidLogin\" class=\"mat-hint-success\">{{newLoginSuccessMessage}}</mat-hint>\r\n <span *ngIf=\"isCheckingLogin\" matSuffix><i class=\"fa fa-refresh fa-spin fa-3x fa-fw\"></i></span>\r\n <span *ngIf=\"isValidLogin\" matSuffix><i class=\"fa fa-check c-green0\"></i></span>\r\n <mat-error>{{newLoginErrorMessage}}</mat-error>\r\n <mat-error *ngIf=\"loginFrmGp.get('newLoginId')?.hasError('required')\">{{\r\n validationLoginIdMessages[\"required\"] }}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-submit\" mat-raised-button type=\"submit\">Save</button>\r\n </div>\r\n </ng-template>\r\n </form>\r\n </div>\r\n <!-- Update Password -->\r\n <div class=\"col-12 col-lg-6 form-display-card\">\r\n <form [formGroup]=\"passwordFrmGp\" (ngSubmit)=\"updatePassword()\">\r\n <mat-card class=\"card-container\">\r\n <mat-card-header>\r\n <mat-card-title>Change Password</mat-card-title>\r\n </mat-card-header>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Current Password\"\r\n [type]=\"currentChangePasswordHide ? 'password' : 'text'\" formControlName=\"currentPassword\"\r\n autocomplete=\"off\">\r\n <mat-icon matSuffix (click)=\"toggleChangeCurrentPasswordHide()\">{{currentChangePasswordHide ?\r\n 'visibility_off' : 'visibility'}}</mat-icon>\r\n <mat-error>{{getPasswordError(\"currentPassword\")}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"New Password\" [type]=\"newChangePasswordHide ? 'password' : 'text'\"\r\n formControlName=\"newPassword1\" autocomplete=\"off\">\r\n <mat-hint>{{passwordHintMessage}}</mat-hint>\r\n <mat-icon matSuffix (click)=\"toggleChangePasswordHide()\">{{newChangePasswordHide ? 'visibility_off' :\r\n 'visibility'}}</mat-icon>\r\n <mat-error>{{getPasswordError(\"newPassword1\")}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput [errorStateMatcher]=\"errorMatcher\" placeholder=\"Confirm New Password\"\r\n [type]=\"newChangeConfirmPasswordHide ? 'password' : 'text'\" formControlName=\"newPassword2\"\r\n autocomplete=\"off\">\r\n <mat-icon matSuffix (click)=\"toggleChangeConfirmPasswordHide()\">{{newChangeConfirmPasswordHide ?\r\n 'visibility_off' : 'visibility'}}</mat-icon>\r\n <mat-error *ngIf=\"passwordFrmGp.hasError('doNotMatch')\">\r\n Passwords do not match.\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-submit\" mat-raised-button type=\"submit\">Save</button>\r\n </div>\r\n </mat-card>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthService, EMPLOYER_PROFILE_SETTINGS_URL, CommonSettings } from 'epay-library';\r\n\r\n@Component({\r\n selector: 'epay-emp-profile',\r\n templateUrl: './profile.component.html',\r\n})\r\nexport class EMPProfileComponent implements OnInit {\r\n pagetitle = 'Employer: Profile & Settings';\r\n displayDetails = true;\r\n displaySecurity = true;\r\n displayAccounts = true;\r\n selectedTab = 0;\r\n\r\n confirmationTitle = '';\r\n confirmationMessage = '';\r\n confirmationNumber = '';\r\n showConfirmationEmail = false;\r\n restart = false;\r\n goToPrimary = '';\r\n goToPrimaryUrl = '';\r\n openConfirmation = false;\r\n useEmail = CommonSettings.UseEmailForLogin;\r\n email = '';\r\n newEmailFromLogin = '';\r\n showEmailMismatch = false;\r\n\r\n baseurl = '';\r\n employerProfileUrl = EMPLOYER_PROFILE_SETTINGS_URL;\r\n\r\n @Input() passState: any;\r\n\r\n constructor(private router: Router, private authService: AuthService) {\r\n this.baseurl = CommonSettings.BaseApi;\r\n }\r\n\r\n ngOnInit() {\r\n switch (history.state.display) {\r\n case 'detail': {\r\n this.selectedTab = 0;\r\n break;\r\n }\r\n case 'security': {\r\n this.newEmailFromLogin = history.state.newEmail;\r\n this.selectedTab = 1;\r\n break;\r\n }\r\n case 'account': {\r\n this.selectedTab = 2;\r\n break;\r\n }\r\n default: {\r\n this.selectedTab = 0;\r\n }\r\n }\r\n }\r\n\r\n goToProfileHome() {\r\n this.router.navigate([this.employerProfileUrl]);\r\n }\r\n\r\n displayConfirmationPage(result: any) {\r\n if (result.success) {\r\n this.confirmationTitle = 'Success';\r\n this.confirmationMessage = result.message;\r\n this.confirmationNumber = result.confirmationNumber;\r\n this.showConfirmationEmail = result.showConfirmationEmail;\r\n this.restart = result.restart;\r\n this.goToPrimaryUrl = 'employer/home';\r\n this.goToPrimary = 'Home';\r\n this.openConfirmation = true;\r\n this.displayAccounts = false;\r\n this.displayDetails = false;\r\n this.displaySecurity = false;\r\n this.showEmailMismatch = result.showEmailMismatch;\r\n }\r\n }\r\n}\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main\" id=\"page-content-main\">\r\n <div *ngIf=\"!openConfirmation\">\r\n <div class=\"container m--full-bleed\">\r\n <div class=\"row m--full-bleed\">\r\n <!-- <div class=\"col-3 form-display-card\">\r\n <mat-card style=\"padding: 0px; margin-top: 10px; margin-left: 20px\">\r\n <mat-card-header class=\"profile-nav-title\" (click)=\"goToProfileHome()\">\r\n <mat-card-title style=\"padding: 7px 0 0 20px\">Profile & Settings</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div>\r\n <ul class=\"sidebar-nav\">\r\n <li>\r\n <a (click)=\"showDetails()\">Your Contact Details <span\r\n class=\"fa fa-chevron-right profile-sidenav-icon\"></span></a>\r\n </li>\r\n <li>\r\n <a (click)=\"showSecurity()\">Sign-in Security <span\r\n class=\"fa fa-chevron-right profile-sidenav-icon\"></span></a>\r\n </li>\r\n <li>\r\n <a (click)=\"showAccounts()\">User Account Management <span\r\n class=\"fa fa-chevron-right profile-sidenav-icon\"></span></a>\r\n </li>\r\n </ul>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div> -->\r\n <mat-tab-group [(selectedIndex)]=\"selectedTab\" animationDuration=\"0ms\" #employerProfileTabGroup>\r\n <mat-tab label=\"Contact Details\">\r\n <div class=\"bg-white\">\r\n <div class=\"pa-3\">\r\n <h2 class=\"mb-1\">Your Contact Details</h2>\r\n <p class=\"c-grey6 ts-s\">Update your email, phone or address, and more.</p>\r\n </div>\r\n <epay-lib-employer-profile-detail *ngIf=\"displayDetails\" [baseurl]=\"baseurl\"\r\n (profileConfirmationEmitter)=\"displayConfirmationPage($event)\" [useEmailForLogin]=\"useEmail\">\r\n </epay-lib-employer-profile-detail>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Sign-in Security\">\r\n <div class=\"bg-white\">\r\n <div class=\"pa-3\">\r\n <h2 class=\"mb-1\">Sign-in Security</h2>\r\n <p class=\"c-grey6 ts-s\">Update your username and password to ones that are unique to this account.</p>\r\n </div>\r\n\r\n <!-- <epay-lib-employer-profile-security *ngIf=\"displaySecurity\" [baseurl]=\"baseurl\"\r\n (profileConfirmationEmitter)=\"displayConfirmationPage($event)\" [useEmailForLogin]=\"useEmail\"\r\n [newEmailFromLogin]=\"newEmailFromLogin\">\r\n </epay-lib-employer-profile-security> -->\r\n\r\n <employer-profile-security *ngIf=\"displaySecurity\" [baseurl]=\"baseurl\"\r\n (profileConfirmationEmitter)=\"displayConfirmationPage($event)\" [useEmailForLogin]=\"useEmail\"\r\n [newEmailFromLogin]=\"newEmailFromLogin\">\r\n </employer-profile-security>\r\n\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Manage Users\">\r\n <div class=\"bg-white\">\r\n <div class=\"pa-3\">\r\n <h2 class=\"mb-1\">User Accounts</h2>\r\n <p class=\"c-grey6 ts-s\">Organize your accounts, add/edit other users, and more.</p>\r\n </div>\r\n <!-- <epay-lib-employer-profile-account *ngIf=\"displayAccounts\" [baseurl]=\"baseurl\"\r\n (profileConfirmationEmitter)=\"displayConfirmationPage($event)\" [useEmailForLogin]=\"useEmail\">\r\n </epay-lib-employer-profile-account> -->\r\n\r\n <employer-profile-account *ngIf=\"displayAccounts\" [baseurl]=\"baseurl\"\r\n (profileConfirmationEmitter)=\"displayConfirmationPage($event)\" [useEmailForLogin]=\"useEmail\">\r\n </employer-profile-account>\r\n \r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <epay-lib-common-confirmation *ngIf=\"openConfirmation\" [confirmationTitle]=\"confirmationTitle\"\r\n [confirmationMessage]=\"confirmationMessage\" [confirmationNumber]=\"confirmationNumber\"\r\n [showConfirmationEmail]=\"showConfirmationEmail\" [restart]=\"restart\" [goToPrimary]=\"goToPrimary\"\r\n [goToPrimaryUrl]=\"goToPrimaryUrl\" [showEmailMismatch]=\"showEmailMismatch\">\r\n </epay-lib-common-confirmation>\r\n</epay-page-content>\r\n","import { Component, OnInit, Input, EventEmitter, Output, ViewChild } from '@angular/core';\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n AbstractControl,\r\n ValidatorFn,\r\n} from '@angular/forms';\r\nimport {\r\n FormControl,\r\n ValidationErrors,\r\n FormGroupDirective,\r\n NgForm,\r\n} from '@angular/forms';\r\nimport {\r\n StepperOrientation,\r\n STEPPER_GLOBAL_OPTIONS,\r\n} from '@angular/cdk/stepper';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { Router } from '@angular/router';\r\nimport PhoneNumber from 'awesome-phonenumber';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\r\nimport { MatStepper } from '@angular/material/stepper';\r\nimport { IEmpSearchResults, ErrorHandlerService, CommonService, \r\n RegisterLibraryService, PhoneHelperService, ViewportService, HelperDialogModel, HelperDialogComponent, IChallengeQuestion, ICountry, IState, CommonSettings } from 'epay-library';\r\nimport { IEmployer } from 'epay-library/lib/features/employer/models/employer/employer';\r\nimport { IEmpBankAccount } from 'epay-library/lib/features/employer/models/employer/employerBackAccount';\r\nimport { IEmpLogin } from 'epay-library/lib/features/employer/models/user/employerLogin';\r\nimport { IEmpPerson } from 'epay-library/lib/features/employer/models/user/employerPerson';\r\nimport { IEmpUser } from 'epay-library/lib/features/employer/models/user/employerUser';\r\nimport { EmployerService } from '../../services/employer.service';\r\nimport { Location } from '@angular/common';\r\nimport { ErrorDialogComponent, ErrorHandlerDialogModel } from 'src/app/helpers/components/error-dialog/error-dialog.component';\r\n\r\n@Component({\r\n selector: 'epay-employer-register',\r\n templateUrl: './employer.register.component.html',\r\n})\r\nexport class EMPRegisterComponent implements OnInit {\r\n @Input() baseurl = '';\r\n @Input() termsContent = '';\r\n @Input() loginHelp = '';\r\n @Input() canCreateNewEmployer = false;\r\n @Input() useEmailForLogin = false;\r\n @Input() allowEINSearch = false;\r\n\r\n @ViewChild('stepper') myStepper!: MatStepper;\r\n\r\n pagetitle = \"Employer: Create Account\";\r\n\r\n useEmailAsUsername = false;\r\n validatingEmployer = false;\r\n empOnHold = false;\r\n empSelected = false;\r\n\r\n stepperOrientation: StepperOrientation = 'horizontal';\r\n\r\n errorMatcher = new CrossFieldErrorMatcher();\r\n termsFrmGp: FormGroup = new FormGroup({});\r\n searchFrmGrp: FormGroup = new FormGroup({});\r\n selectedEmployerFrmGp: FormGroup = new FormGroup({});\r\n createEmployerFrmGp: FormGroup = new FormGroup({});\r\n demographicFrmGp: FormGroup = new FormGroup({});\r\n loginFrmGp: FormGroup = new FormGroup({});\r\n reviewFrmGrp: FormGroup = new FormGroup({});\r\n employer: IEmployer = {} as IEmployer;\r\n empuser: IEmpUser = {} as IEmpUser;\r\n emplogin: IEmpLogin = {} as IEmpLogin;\r\n empperson: IEmpPerson = {} as IEmpPerson;\r\n emppaymentaccount: IEmpBankAccount = {} as IEmpBankAccount;\r\n countries: ICountry[];\r\n selectedCountry = '';\r\n states: IState[];\r\n selectedState = '';\r\n empsearchresults: IEmpSearchResults[];\r\n selectedEmployer: IEmpSearchResults = {} as IEmpSearchResults;\r\n questions: IChallengeQuestion[];\r\n errorMessage = '';\r\n searchErrorMessage = '';\r\n displayedColumns = ['Select', 'Name', 'Address', 'City', 'State', 'Zip'];\r\n phonePattern = /^((\\\\+91-?)|0)?[0-9]{10}$/;\r\n loginPattern =\r\n /(?=^[A-Za-z\\d]{8,12}$)(?=(.*[A-Za-z]){6,8})(?=(.*\\d){2,4})^.*/;\r\n // loginPattern = /^[a-zA-Z0-9.@]*$/;\r\n\r\n passwordPattern = /(?=^[A-Za-z!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\\d]{8,12}$)(?=(.*[A-Za-z]){6})(?=(.*[!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]){1})(?=(.*\\d){2})^.*/;\r\n\r\n zipPattern = /^[0-9]{5}$/;\r\n emailPattern = /\\S+@\\S+\\.\\S+/;\r\n // einPattern =\r\n // /^([07][1-7]|1[0-6]|2[0-7]|[35][0-9]|[468][0-8]|9[0-589])-?\\d{7}$/;\r\n einPattern = /^[0-9]{9}$/\r\n\r\n empsearchname = '';\r\n empsearchein = '';\r\n selectedEmployerId = '';\r\n selectedEmployerDataSource = '';\r\n emailErrorMessage = '';\r\n emailSuccessMessage = '';\r\n einErrorMessage = '';\r\n einSuccessMessage = '';\r\n loginErrorMessage = '';\r\n loginSuccessMessage = '';\r\n selectedUsername = '';\r\n passwordErrorMessage = '';\r\n password2ErrorMessage = '';\r\n selectedPassword = '';\r\n loginHintMessage =\r\n 'Must contain at least 8 characters. Alphanumerical values and email format are accepted.';\r\n\r\n passwordHintMessage = 'Must contain at least 6 letters, 2 numbers, and at least one special character with a maximum of 12 characters.';\r\n selectedChallengeQuestion = '';\r\n\r\n isTermsContentRead = false;\r\n isValidEmail = false;\r\n isCheckingEmail = false;\r\n isValidLogin = false;\r\n isCheckingLogin = false;\r\n isValidEin = false;\r\n isCheckingEin = false;\r\n passwordHide = true;\r\n confirmpasswordHide = true;\r\n isSearching = false;\r\n hasSearched = false;\r\n isTermsSubmitted = false;\r\n isEmpSearchSubmitted = false;\r\n showCreateEmp = false;\r\n employerCreatedSuccessfully = false;\r\n displayAddEmployerButton = true;\r\n employerCreatedMessage = '';\r\n\r\n confirmationTitle = '';\r\n confirmationMessage = '';\r\n confirmationEmailAddress = '';\r\n confirmationNumber = '';\r\n goToPrimary = '';\r\n goToPrimaryUrl = '';\r\n openConfirmation = false;\r\n\r\n showDialogHelp = false;\r\n\r\n phoneExample = '';\r\n phoneMask = '';\r\n cellExample = '';\r\n cellMask = '';\r\n\r\n searchMessage = '';\r\n\r\n dialogData: any;\r\n dialogRef: any;\r\n deleteResult = '';\r\n\r\n validationEmailMessages: { [key: string]: string } = {\r\n required: 'Required.',\r\n pattern: 'Please enter a valid email address.',\r\n isDuplicate: 'Registration already exist for this email.',\r\n };\r\n\r\n validationEinMessages: { [key: string]: string } = {\r\n required: 'Required.',\r\n pattern: 'Please enter a valid EIN.',\r\n isDuplicate: 'Registration already exist for this EIN.',\r\n };\r\n\r\n validationLoginIdMessages: { [key: string]: string } = {\r\n required: 'Username is required.',\r\n pattern:\r\n 'Invalid Username. Must contain at least 6 letters and 2 numbers with no special characters or must match the provided email (in previous step) if using email.',\r\n minlength: 'Invalid Username. Must contain at least 8 characters.',\r\n isDuplicate: 'Username is not available for use.',\r\n isSameAsPassword: 'Invalid Username. Username cannot be same as password.',\r\n emailMismatch: 'Username must match the provided email (in previous step) if using email format.'\r\n };\r\n\r\n validationPasswordMessages: { [key: string]: string } = {\r\n required: 'Password is required.',\r\n pattern:\r\n 'Invalid Password. Must contain at least 6 letters, 2 numbers, and one special character with a maximum of 12 characters.',\r\n isSameAsLogin: 'Invalid Password. Password cannot be same as username.',\r\n };\r\n\r\n validationMessages: { [key: string]: string } = {\r\n required: 'Required',\r\n pattern: 'Invalid format.',\r\n };\r\n\r\n constructor(\r\n private formbuilder: FormBuilder,\r\n private router: Router,\r\n private errorHandlerService: ErrorHandlerService,\r\n private commonService: CommonService,\r\n private registerService: RegisterLibraryService,\r\n public snackbar: MatSnackBar,\r\n public dialog: MatDialog,\r\n private phoneHelperService: PhoneHelperService,\r\n private viewpointService: ViewportService,\r\n private employerService: EmployerService,\r\n private location: Location\r\n ) {\r\n this.baseurl = CommonSettings.BaseApi;\r\n this.canCreateNewEmployer = CommonSettings.CanCreateNewEmployer;\r\n this.useEmailForLogin = CommonSettings.UseEmailForLogin;\r\n this.allowEINSearch = CommonSettings.AllowEINSearch;\r\n\r\n this.states = [];\r\n this.countries = [];\r\n this.questions = [];\r\n this.empsearchresults = [];\r\n this.selectedCountry = 'US';\r\n }\r\n\r\n ngOnInit() {\r\n this.employerService.getEmployerTerms().subscribe((result: any) => {\r\n this.termsContent = result;\r\n });\r\n this.employerService.getLoginHelp().subscribe((result: any) => {\r\n this.loginHelp = result;\r\n });\r\n\r\n this.loadFormGroups();\r\n this.getCountries();\r\n this.getStates();\r\n this.getChallengeQuestions();\r\n this.empsearchname = '';\r\n this.empsearchein = '';\r\n this.selectedEmployerId = '';\r\n this.selectedEmployerDataSource = '';\r\n\r\n this.searchMessage = this.allowEINSearch\r\n ? 'Please enter your employer name or EIN number to search for your company.'\r\n : 'Please enter your employer name to search for your company.';\r\n\r\n this.viewpointService.StepperOrient.subscribe(\r\n (orient) => (this.stepperOrientation = orient)\r\n );\r\n\r\n const emailCtrl = this.demographicFrmGp.get('email')!;\r\n const phoneCtrl = this.demographicFrmGp.get('phoneGp.phoneNumber')!;\r\n const cellCtrl = this.demographicFrmGp.get('cellGp.cellNumber')!;\r\n const countryCtrl = this.demographicFrmGp.get('country')!;\r\n const loginCtrl = this.loginFrmGp.get('loginId')!;\r\n const passwrd1Ctrl = this.loginFrmGp.get('passwordGp.password1')!;\r\n const einCtrl = this.createEmployerFrmGp.get('ein')!;\r\n\r\n einCtrl.valueChanges\r\n .pipe(debounceTime(500))\r\n .subscribe((ein: any) => this.setEinMessage(einCtrl, ein));\r\n\r\n emailCtrl.valueChanges\r\n .pipe(debounceTime(500))\r\n .subscribe((email: any) => this.setEmailMessage(emailCtrl, email));\r\n\r\n loginCtrl.valueChanges\r\n .pipe(debounceTime(500))\r\n .subscribe((username: any) => {\r\n this.setLoginMessage(loginCtrl, username);\r\n });\r\n\r\n passwrd1Ctrl.valueChanges\r\n .pipe(debounceTime(500))\r\n .subscribe((passwrd: any) =>\r\n this.setPasswordMessage(passwrd1Ctrl, passwrd)\r\n );\r\n\r\n phoneCtrl.valueChanges.pipe(debounceTime(500)).subscribe((value: any) => {\r\n if (value) {\r\n const pn = new PhoneNumber(\r\n value,\r\n this.demographicFrmGp.get('phoneGp.regionCode')!.value\r\n );\r\n this.demographicFrmGp.get('phoneGp')!.patchValue({\r\n isValid: pn.isPossible(),\r\n });\r\n }\r\n });\r\n\r\n cellCtrl.valueChanges.pipe(debounceTime(500)).subscribe((value: any) => {\r\n if (value) {\r\n const pn = new PhoneNumber(\r\n value,\r\n this.demographicFrmGp.get('cellGp.regionCode')!.value\r\n );\r\n this.demographicFrmGp.get('cellGp')!.patchValue({\r\n isValid: pn.isPossible(),\r\n });\r\n }\r\n });\r\n\r\n countryCtrl.valueChanges.subscribe((value: any) => {\r\n if (value) {\r\n this.setMaskAndExample(value);\r\n this.demographicFrmGp.get('phoneGp')!.patchValue({\r\n regionCode: value,\r\n countryCode:\r\n this.phoneHelperService.getCountryCodeForRegionCode(value),\r\n phoneNumber: '',\r\n isValid: false,\r\n });\r\n this.demographicFrmGp.get('cellGp')!.patchValue({\r\n regionCode: value,\r\n countryCode:\r\n this.phoneHelperService.getCountryCodeForRegionCode(value),\r\n cellNumber: '',\r\n isValid: false,\r\n });\r\n this.demographicFrmGp.patchValue({\r\n state: '',\r\n zip5: '',\r\n });\r\n if (value === 'US') {\r\n this.demographicFrmGp\r\n .get('zip5')!\r\n .setValidators([\r\n Validators.required,\r\n Validators.pattern(this.zipPattern),\r\n ]);\r\n this.demographicFrmGp.get('zip5')!.updateValueAndValidity();\r\n this.createEmployerFrmGp\r\n .get('zip5')!\r\n .setValidators([\r\n Validators.required,\r\n Validators.pattern(this.zipPattern),\r\n ]);\r\n this.createEmployerFrmGp.get('zip5')!.updateValueAndValidity();\r\n } else {\r\n this.demographicFrmGp\r\n .get('zip5')!\r\n .setValidators([Validators.required, Validators.maxLength(6)]);\r\n this.demographicFrmGp.get('zip5')!.updateValueAndValidity();\r\n this.createEmployerFrmGp\r\n .get('zip5')!\r\n .setValidators([Validators.required, Validators.maxLength(6)]);\r\n this.createEmployerFrmGp.get('zip5')!.updateValueAndValidity();\r\n }\r\n if (value === 'US' || value === 'MX' || value === 'CA') {\r\n this.selectedCountry = value;\r\n this.demographicFrmGp.get('state')!.enable();\r\n this.demographicFrmGp.get('state')!.setErrors({ required: true });\r\n this.demographicFrmGp.updateValueAndValidity();\r\n this.getStates();\r\n } else {\r\n this.demographicFrmGp.get('state')!.disable();\r\n this.demographicFrmGp.get('state')!.setErrors({ required: false });\r\n this.demographicFrmGp.updateValueAndValidity();\r\n }\r\n }\r\n });\r\n }\r\n\r\n stringify(json: any): string {\r\n return JSON.stringify(json, null, 2);\r\n }\r\n\r\n updateUsernameValidation(loginId: any) {\r\n var username = loginId.target.value\r\n\r\n this.loginFrmGp.get('loginId')!.clearValidators();\r\n this.loginFrmGp.get('loginId')!.updateValueAndValidity();\r\n\r\n if (username.indexOf('@') !== -1 || username.indexOf('.') !== -1) {\r\n //console.log(\"USERNAME IS EMAIL FORMAT\");\r\n this.useEmailAsUsername = true;\r\n\r\n this.loginFrmGp.get('loginId')!.clearValidators();\r\n this.loginFrmGp.get('loginId')!.setValidators([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.pattern(this.emailPattern),\r\n ]);\r\n this.loginFrmGp.get('loginId')!.updateValueAndValidity();\r\n }\r\n else {\r\n //console.log(\"USERNAME IS LOGIN FORMAT\");\r\n this.useEmailAsUsername = false;\r\n\r\n this.loginFrmGp.get('loginId')!.clearValidators();\r\n this.loginFrmGp.get('loginId')!.setValidators([\r\n Validators.required,\r\n Validators.minLength(8),\r\n Validators.maxLength(12),\r\n Validators.pattern(this.loginPattern),\r\n ]);\r\n this.loginFrmGp.get('loginId')!.updateValueAndValidity();\r\n }\r\n }\r\n\r\n Search() {\r\n this.searchErrorMessage = '';\r\n this.selectedEmployerId = '';\r\n this.selectedEmployerDataSource = '';\r\n this.selectedEmployer = {} as IEmpSearchResults;\r\n this.selectedEmployerFrmGp.patchValue({ empselected: '' });\r\n this.selectedEmployerFrmGp\r\n .get('empselected')!\r\n .setValidators(Validators.requiredTrue);\r\n this.selectedEmployerFrmGp.get('empselected')!.updateValueAndValidity();\r\n this.isSearching = true;\r\n\r\n this.employerService\r\n .getEmployers(\r\n this.baseurl,\r\n this.searchFrmGrp.get('empname')!.value,\r\n this.searchFrmGrp.get('empein')!.value,\r\n true,\r\n false\r\n )\r\n .subscribe({\r\n next: (employers) => {\r\n this.empsearchresults = employers;\r\n this.hasSearched = true;\r\n if (\r\n this.empsearchresults.length === 0 &&\r\n !this.canCreateNewEmployer\r\n ) {\r\n this.searchErrorMessage = `No results found. Please review and minimize search criteria to broaden search results.\r\n If you cannot find your business, please contact the state.`;\r\n } else if (\r\n this.empsearchresults.length === 0 &&\r\n this.canCreateNewEmployer\r\n ) {\r\n this.searchErrorMessage = `No results found. Please review and minimize search criteria to broaden search results.\r\n If you cannot find your business, see the link below to Register a New Company.`;\r\n }\r\n },\r\n error: (error: any) => {\r\n this.hasSearched = false;\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n complete: () => {\r\n this.isSearching = false;\r\n this.hasSearched = true;\r\n },\r\n });\r\n }\r\n\r\n ClearSearch() {\r\n this.searchFrmGrp.get('empein')!.reset()\r\n\r\n this.hasSearched = false;\r\n this.selectedEmployerId = '';\r\n this.selectedEmployerDataSource = '';\r\n this.selectedEmployer = {} as IEmpSearchResults;\r\n this.empsearchresults = [];\r\n this.searchErrorMessage = '';\r\n this.searchFrmGrp.patchValue({\r\n empein: '',\r\n empname: '',\r\n });\r\n this.selectedEmployerFrmGp.patchValue({\r\n empselected: '',\r\n });\r\n }\r\n\r\n displayCreateEmployer(stepper: MatStepper) {\r\n this.selectedEmployerFrmGp.patchValue({ empselected: '' });\r\n this.selectedEmployerFrmGp.get('empselected')!.clearValidators();\r\n this.selectedEmployerFrmGp.get('empselected')!.updateValueAndValidity();\r\n this.showCreateEmp = true;\r\n stepper.next();\r\n }\r\n\r\n createNewEmployer() {\r\n if (this.createEmployerFrmGp.valid) {\r\n if (this.createEmployerFrmGp.dirty) {\r\n this.employer.employerName =\r\n this.createEmployerFrmGp.get('empName')!.value;\r\n this.employer.ein = this.createEmployerFrmGp.get('ein')!.value;\r\n this.employer.addressLine1 =\r\n this.createEmployerFrmGp.get('address1')!.value;\r\n this.employer.addressLine2 =\r\n this.createEmployerFrmGp.get('address2')!.value;\r\n this.employer.city = this.createEmployerFrmGp.get('city')!.value;\r\n this.employer.state = this.createEmployerFrmGp.get('state')!.value;\r\n this.employer.zip5 = this.createEmployerFrmGp.get('zip5')!.value;\r\n this.employer.country = this.createEmployerFrmGp.get('country')!.value;\r\n }\r\n }\r\n this.registerService.addNewEmployer(this.baseurl, this.employer).subscribe(\r\n (response: any) => {\r\n //console.log(\"RES \", response)\r\n\r\n this.selectedEmployer.addressCity = this.employer.city;\r\n this.selectedEmployer.addressLine1 = this.employer.addressLine1;\r\n this.selectedEmployer.addressLine2 = this.employer.addressLine2;\r\n this.selectedEmployer.addressState = this.employer.state;\r\n this.selectedEmployer.addressZip5 = this.employer.zip5;\r\n this.selectedEmployer.hasAccount = false;\r\n this.selectedEmployer.hasHold = false;\r\n this.selectedEmployer.isSelected = true;\r\n\r\n this.selectedEmployer.thirdPartyID = response.thirdPartyId;\r\n this.selectedEmployer.thirdPartyName = this.employer.employerName;\r\n\r\n this.selectedEmployerId = response.thirdPartyId;\r\n this.selectedEmployerDataSource = response.thirdPartyDataSource;\r\n\r\n this.employer.thirdPartyId = response.thirdPartyId;\r\n this.employer.thirdPartyDataSource = response.thirdPartyDataSource;\r\n this.employer.ein = response.ein;\r\n\r\n this.employerCreatedSuccessfully = true;\r\n this.employerCreatedMessage =\r\n 'New employer created! Click Next to continue.';\r\n this.displayAddEmployerButton = false;\r\n },\r\n (error: any) => {\r\n this.displayAddEmployerButton = true;\r\n this.employerCreatedSuccessfully = false;\r\n this.employerCreatedMessage = '';\r\n this.logError(error);\r\n this.handleError(error.status);\r\n }\r\n );\r\n }\r\n\r\n createAccount() {\r\n let demoData;\r\n let loginData;\r\n\r\n if (this.demographicFrmGp.valid) {\r\n if (this.demographicFrmGp.dirty) {\r\n this.empperson.thirdPartyId = this.selectedEmployerId;\r\n this.empperson.thirdPartyDataSource = this.selectedEmployerDataSource;\r\n this.empperson.isElectronicStatement = false;\r\n demoData = { ...this.empperson, ...this.demographicFrmGp.value };\r\n if (demoData.state === undefined || demoData.state === null) {\r\n demoData.state = '';\r\n }\r\n demoData.phone = this.demographicFrmGp.get(\r\n 'phoneGp.phoneNumber'\r\n )!.value;\r\n if (this.demographicFrmGp.get('cellGp.cellNumber')!.value.length > 0) {\r\n demoData.cell = this.demographicFrmGp.get('cellGp.cellNumber')!.value;\r\n } else {\r\n demoData.cell = '';\r\n }\r\n this.empuser.empStep1Validated = true;\r\n }\r\n }\r\n\r\n if (this.loginFrmGp.valid) {\r\n if (this.loginFrmGp.dirty) {\r\n loginData = { ...this.emplogin, ...this.loginFrmGp.value };\r\n loginData.loginId = this.useEmailForLogin\r\n ? this.demographicFrmGp.get('email')!.value\r\n : this.loginFrmGp.get('loginId')!.value;\r\n loginData.password1 = this.loginFrmGp.get(\r\n 'passwordGp.password1'\r\n )!.value;\r\n loginData.password2 = this.loginFrmGp.get(\r\n 'passwordGp.password2'\r\n )!.value;\r\n this.empuser.empStep2Validated = true;\r\n }\r\n }\r\n this.emppaymentaccount.account1 = '';\r\n this.emppaymentaccount.account2 = '';\r\n this.emppaymentaccount.routing1 = '';\r\n this.emppaymentaccount.routing2 = '';\r\n this.emppaymentaccount.bankName = '';\r\n this.emppaymentaccount.accountType = '';\r\n this.emppaymentaccount.bankNickName = '';\r\n this.emppaymentaccount.phone = '';\r\n this.emppaymentaccount.doNotProvide = true;\r\n\r\n this.empuser.empStep1Validated = true;\r\n this.empuser.empStep2Validated = true;\r\n this.empuser.empStep3Validated = true;\r\n\r\n this.empuser.empStep1 = demoData;\r\n this.empuser.empStep2 = loginData;\r\n this.empuser.empStep3 = this.emppaymentaccount;\r\n\r\n this.registerService.addEmpAccount(this.baseurl, this.empuser).subscribe(\r\n (response: any) => {\r\n //console.log(\"RES: \", response)\r\n\r\n this.confirmationTitle = 'Success';\r\n this.confirmationMessage =\r\n 'Account for ' +\r\n this.empuser.empStep1.firstName +\r\n ' ' +\r\n this.empuser.empStep1.lastName +\r\n ' has been created.';\r\n this.confirmationEmailAddress = this.empuser.empStep1.email;\r\n this.confirmationNumber = response.confirmation.confirmationNumber;\r\n this.goToPrimaryUrl = 'login';\r\n this.goToPrimary = 'Login';\r\n this.openConfirmation = true;\r\n this.onSaveComplete();\r\n },\r\n (error: any) => {\r\n //console.log(\"ERR: \", error)\r\n\r\n if (!error.error.empStep1Validated || !error.error.empStep2Validated || !error.error.empStep3Validated) {\r\n var errTitle = '';\r\n var errMsg = '';\r\n if (!error.error.empStep1Validated) {\r\n errTitle += error.error.errors.step1[0].errorCode + ' (Employer Search) ';\r\n errMsg += error.error.errors.step1[0].errorMessage + ' ';\r\n }\r\n if (!error.error.empStep2Validated) {\r\n errTitle += error.error.errors.step2[0].errorCode + ' (Contact Information) ';\r\n errMsg += error.error.errors.step2[0].errorMessage + ' ';\r\n }\r\n if (!error.error.empStep3Validated) {\r\n errTitle += error.error.errors.step3[0].errorCode + ' (Login Information) ';\r\n errMsg += error.error.errors.step3[0].errorMessage + ' ';\r\n }\r\n\r\n this.dialogData = new ErrorHandlerDialogModel(\r\n \"Error Occurred: Internal Error Occurred\",\r\n \"Error Code: \" + errTitle,\r\n errMsg,\r\n '',\r\n '',\r\n '',\r\n true\r\n );\r\n \r\n this.dialogRef = this.dialog.open(ErrorDialogComponent, {\r\n maxWidth: '800px',\r\n data: this.dialogData,\r\n });\r\n\r\n this.dialogRef.afterClosed().subscribe((dialogResult: string) => {\r\n this.deleteResult = dialogResult;\r\n if (this.deleteResult) {\r\n //this.location.back();\r\n }\r\n });\r\n }\r\n else {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n }\r\n\r\n }\r\n );\r\n }\r\n\r\n onSaveComplete() {\r\n this.demographicFrmGp.reset();\r\n this.loginFrmGp.reset();\r\n this.termsFrmGp.reset();\r\n this.searchFrmGrp.reset();\r\n this.reviewFrmGrp.reset();\r\n }\r\n\r\n addRemoveEmployer(event: any, i: number) {\r\n this.validatingEmployer = false;\r\n //this.isEmpSearchSubmitted = false;\r\n this.empSelected = false;\r\n this.empOnHold = false;\r\n\r\n this.selectedEmployerId = '';\r\n this.selectedEmployerDataSource = '';\r\n if (this.canCreateNewEmployer) {\r\n this.showCreateEmp = false;\r\n }\r\n this.empsearchresults.forEach((emp) => {\r\n emp.isSelected = false;\r\n });\r\n\r\n if (event.target.checked) {\r\n this.validatingEmployer = true;\r\n this.empSelected = true;\r\n\r\n this.selectedEmployerFrmGp\r\n .get('empselected')!\r\n .setValidators(Validators.requiredTrue);\r\n this.selectedEmployerFrmGp.get('empselected')!.updateValueAndValidity();\r\n this.empsearchresults[i].isSelected = true;\r\n this.selectedEmployer = {\r\n thirdPartyName: this.empsearchresults[i].thirdPartyName,\r\n thirdPartyID: this.empsearchresults[i].thirdPartyID,\r\n dataSource: this.empsearchresults[i].dataSource,\r\n addressLine1: this.empsearchresults[i].addressLine1,\r\n addressLine2: this.empsearchresults[i].addressLine2,\r\n addressCity: this.empsearchresults[i].addressCity,\r\n addressState: this.empsearchresults[i].addressState,\r\n addressZip5: this.empsearchresults[i].addressZip5,\r\n isSelected: true,\r\n hasAccount: this.empsearchresults[i].hasAccount,\r\n hasHold: this.empsearchresults[i].hasHold,\r\n primaryEmailAddress: this.empsearchresults[i].primaryEmailAddress,\r\n };\r\n this.selectedEmployerId = this.empsearchresults[i].thirdPartyID;\r\n this.selectedEmployerDataSource = this.empsearchresults[i].dataSource;\r\n if (this.selectedEmployer.hasAccount) {\r\n this.selectedEmployerFrmGp\r\n .get('empselected')!\r\n .setErrors({ hasAccount: true });\r\n }\r\n if (this.selectedEmployer.hasHold) {\r\n this.selectedEmployerFrmGp\r\n .get('empselected')!\r\n .setErrors({ hasHold: true });\r\n }\r\n } else {\r\n this.empsearchresults[i].isSelected = false;\r\n this.selectedEmployer.isSelected = false;\r\n this.selectedEmployerFrmGp\r\n .get('empselected')!\r\n .setErrors({ hasAccount: false });\r\n this.selectedEmployerFrmGp\r\n .get('empselected')!\r\n .setErrors({ hasHold: false });\r\n }\r\n\r\n this.employerService\r\n .getEmployers(\r\n this.baseurl,\r\n this.selectedEmployer.thirdPartyName,\r\n this.searchFrmGrp.get('empein')!.value,\r\n true,\r\n true\r\n ).subscribe({\r\n next: (res: any) => { \r\n console.log(\"RES: \", res)\r\n this.validatingEmployer = false;\r\n this.isEmpSearchSubmitted = true;\r\n\r\n console.log(\"1 \", this.selectedEmployer?.hasAccount)\r\n console.log(\"2 \", this.selectedEmployer?.isSelected)\r\n console.log(\"3 \", this.isEmpSearchSubmitted)\r\n console.log(\"4 \", this.empOnHold)\r\n\r\n if (res.length !== 0) {\r\n if (!res[0].hasHold) {\r\n console.log(\"NOT ON HOLD\")\r\n this.empOnHold = false;\r\n }\r\n else{\r\n console.log(\"HAS HOLD\")\r\n this.empOnHold = true;\r\n }\r\n }\r\n },\r\n error: (error: any) => {\r\n this.hasSearched = false;\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n\r\n challengeQuestionChangeEvent() {\r\n const q: IChallengeQuestion[] = this.questions.filter(\r\n (question) =>\r\n question.index ===\r\n this.loginFrmGp.get('authenticationQuestionIndex')!.value\r\n );\r\n this.selectedChallengeQuestion = q[0].name;\r\n }\r\n\r\n getChallengeQuestions() {\r\n this.registerService.getChallengeQuestions(this.baseurl).subscribe({\r\n next: (questions) => (this.questions = questions),\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n\r\n getCountries() {\r\n this.commonService.getCountries(this.baseurl).subscribe({\r\n next: (countries: any) => {\r\n this.countries = countries;\r\n this.countries = this.countries.sort((a, b) =>\r\n a.countryName < b.countryName ? 1 : -1\r\n );\r\n this.countries.push({\r\n country: 'MX',\r\n countryName: 'Mexico',\r\n alpha3IsoCode: 'MEX',\r\n numeric3IsoCode: '484',\r\n });\r\n this.countries.push({\r\n country: 'CA',\r\n countryName: 'Canada',\r\n alpha3IsoCode: 'CAN',\r\n numeric3IsoCode: '124',\r\n });\r\n this.countries.push({\r\n country: 'US',\r\n countryName: 'United States',\r\n alpha3IsoCode: 'USA',\r\n numeric3IsoCode: '840',\r\n });\r\n this.countries.reverse();\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n\r\n getStates() {\r\n this.selectedCountry = this.demographicFrmGp.get('country')!.value;\r\n this.commonService.getStates(this.baseurl, this.selectedCountry).subscribe({\r\n next: (states) => (this.states = states),\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n\r\n loadFormGroups() {\r\n this.termsFrmGp = this.formbuilder.group({\r\n accepted: ['', Validators.requiredTrue],\r\n });\r\n\r\n this.searchFrmGrp = this.formbuilder.group({\r\n empname: '',\r\n empein: '',\r\n });\r\n\r\n this.selectedEmployerFrmGp = this.formbuilder.group({\r\n empselected: ['', Validators.requiredTrue],\r\n });\r\n\r\n this.searchFrmGrp.setValidators([\r\n this.oneOfControlRequired(\r\n this.searchFrmGrp.get('empname')!,\r\n this.searchFrmGrp.get('empein')!\r\n ),\r\n ]);\r\n\r\n this.createEmployerFrmGp = this.formbuilder.group({\r\n empName: ['', Validators.required],\r\n ein: ['', [Validators.required, Validators.pattern(this.einPattern)]],\r\n address1: ['', Validators.required],\r\n address2: [''],\r\n city: ['', Validators.required],\r\n state: ['', Validators.required],\r\n zip5: ['', [Validators.required, Validators.pattern(this.zipPattern)]],\r\n country: ['', Validators.required],\r\n });\r\n\r\n this.demographicFrmGp = this.formbuilder.group({\r\n firstName: ['', Validators.required],\r\n middleName: '',\r\n lastName: ['', Validators.required],\r\n title: '',\r\n suffix: '',\r\n address1: ['', Validators.required],\r\n address2: '',\r\n address3: '',\r\n address4: '',\r\n city: ['', Validators.required],\r\n state: ['', Validators.required],\r\n zip5: ['', [Validators.required, Validators.pattern(this.zipPattern)]],\r\n zip4: '',\r\n country: ['', Validators.required],\r\n phoneExtension: '',\r\n email: ['', [Validators.required, Validators.pattern(this.emailPattern)]],\r\n county: '',\r\n fax: '',\r\n ein: '',\r\n sein: '',\r\n relationId: '',\r\n phoneGp: this.formbuilder.group({\r\n regionCode: 'US',\r\n phoneNumber: ['', [Validators.required]],\r\n countryCode: '1',\r\n isValid: [false, Validators.requiredTrue],\r\n }),\r\n cellGp: this.formbuilder.group({\r\n regionCode: 'US',\r\n cellNumber: [''],\r\n countryCode: '1',\r\n isValid: false,\r\n }),\r\n });\r\n\r\n this.setMaskAndExample('US');\r\n // set default country to US\r\n this.demographicFrmGp.patchValue({\r\n country: 'US',\r\n });\r\n\r\n this.loginFrmGp = this.formbuilder.group({\r\n loginId: [\r\n '',\r\n this.useEmailForLogin\r\n ? ''\r\n : [\r\n Validators.required,\r\n Validators.minLength(8),\r\n //Validators.maxLength(12),\r\n Validators.pattern(this.loginPattern),\r\n ],\r\n ],\r\n userName: '',\r\n passwordGp: this.formbuilder.group(\r\n {\r\n password1: [\r\n '',\r\n [Validators.required, Validators.pattern(this.passwordPattern)],\r\n ],\r\n password2: [\r\n '',\r\n [Validators.required],\r\n ],\r\n },\r\n { validators: passwordMatcher }\r\n ),\r\n challengeAnswer: ['', Validators.required],\r\n authenticationQuestionIndex: ['', Validators.required],\r\n authenticationCaption: '',\r\n authenticationImageIndex: 0,\r\n });\r\n\r\n this.reviewFrmGrp = this.formbuilder.group({});\r\n }\r\n\r\n checkReading() {}\r\n\r\n submitTerms() {\r\n this.isTermsSubmitted = true;\r\n }\r\n\r\n submitEmployer() {\r\n console.log(\"SUBMIT EMP HIT\");\r\n\r\n this.validatingEmployer = true;\r\n\r\n this.employerService\r\n .getEmployers(\r\n this.baseurl,\r\n this.selectedEmployer.thirdPartyName,\r\n this.searchFrmGrp.get('empein')!.value,\r\n true,\r\n true\r\n ).subscribe((res: any) => {\r\n console.log(\"2nd search res: \", res)\r\n this.validatingEmployer = false;\r\n\r\n if (res.length !== 0) {\r\n if (!res[0].hasHold) {\r\n console.log(\"DOESNT HAVE HOLD\")\r\n this.isEmpSearchSubmitted = true;\r\n this.empOnHold = false;\r\n }\r\n else{\r\n console.log(\"HAS HOLD\")\r\n this.isEmpSearchSubmitted = false;\r\n this.empOnHold = true;\r\n }\r\n \r\n }\r\n });\r\n \r\n }\r\n\r\n oneOfControlRequired(...controls: AbstractControl[]): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n for (const aControl of controls) {\r\n if (!Validators.required(aControl)) {\r\n return null;\r\n }\r\n }\r\n return { oneOfRequired: true };\r\n };\r\n }\r\n\r\n setEmailMessage(emailControl: AbstractControl, email: any): void {\r\n this.resetEmailCheck();\r\n if (emailControl.touched || emailControl.dirty) {\r\n if (!emailControl.errors) {\r\n this.isCheckingEmail = true;\r\n this.registerService\r\n .searchDuplicateEmail(this.baseurl, email)\r\n .subscribe({\r\n next: (result: any) => {\r\n this.isValidEmail = !result.isDuplicate;\r\n if (this.isValidEmail) {\r\n this.emailSuccessMessage = 'Email is available!';\r\n } else {\r\n emailControl.setErrors({ isDuplicate: true });\r\n this.emailErrorMessage = Object.keys(emailControl.errors!)\r\n .map((key: any) => this.validationEmailMessages[key])\r\n .join(' ');\r\n this.demographicFrmGp.updateValueAndValidity();\r\n }\r\n this.isCheckingEmail = false;\r\n },\r\n error: (error: any) => {\r\n this.resetEmailCheck();\r\n this.errorMessage = error as any;\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n } else {\r\n this.emailErrorMessage = Object.keys(emailControl.errors)\r\n .map((key) => this.validationEmailMessages[key])\r\n .join(' ');\r\n }\r\n }\r\n }\r\n\r\n setLoginMessage(loginControl: AbstractControl, loginId: any): void {\r\n this.resetLoginCheck();\r\n if (loginControl.touched || loginControl.dirty) {\r\n if (this.useEmailAsUsername && loginId !== this.demographicFrmGp.get('email')!.value) {\r\n loginControl.setErrors({ emailMismatch: true });\r\n this.loginErrorMessage = Object.keys(loginControl.errors!)\r\n .map((key) => this.validationLoginIdMessages[key])\r\n .join(' ');\r\n }\r\n\r\n if (!loginControl.errors) {\r\n if (loginId === this.selectedPassword) {\r\n loginControl.setErrors({ isSameAsPassword: true });\r\n this.loginErrorMessage = Object.keys(loginControl.errors!)\r\n .map((key) => this.validationLoginIdMessages[key])\r\n .join(' ');\r\n } \r\n else {\r\n this.isCheckingLogin = true;\r\n this.registerService\r\n .searchDuplicateLogin(this.baseurl, loginId)\r\n .subscribe({\r\n next: (result: any) => {\r\n this.isValidLogin = !result.isDuplicate;\r\n if (this.isValidLogin) {\r\n this.loginSuccessMessage = 'Username is available!';\r\n this.selectedUsername = loginId;\r\n } else {\r\n loginControl.setErrors({ isDuplicate: true });\r\n this.loginErrorMessage = Object.keys(loginControl.errors!)\r\n .map((key) => this.validationLoginIdMessages[key])\r\n .join(' ');\r\n this.loginFrmGp.updateValueAndValidity();\r\n }\r\n this.isCheckingLogin = false;\r\n },\r\n error: (error: any) => {\r\n this.resetLoginCheck();\r\n this.errorMessage = error as any;\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n } else {\r\n this.loginErrorMessage = Object.keys(loginControl.errors)\r\n .map((key) => this.validationLoginIdMessages[key])\r\n .join(' ');\r\n }\r\n }\r\n }\r\n\r\n setPasswordMessage(passwordControl: AbstractControl, passwrd: any): void {\r\n this.passwordErrorMessage = '';\r\n if (\r\n passwordControl.touched ||\r\n passwordControl.dirty ||\r\n this.loginFrmGp.invalid\r\n ) {\r\n if (!passwordControl.errors) {\r\n if (this.selectedUsername === passwrd) {\r\n passwordControl.setErrors({ isSameAsLogin: true });\r\n this.passwordErrorMessage = Object.keys(passwordControl.errors!)\r\n .map((key) => this.validationPasswordMessages[key])\r\n .join(' ');\r\n }\r\n } else {\r\n this.passwordErrorMessage = Object.keys(passwordControl.errors)\r\n .map((key) => this.validationPasswordMessages[key])\r\n .join(' ');\r\n }\r\n }\r\n }\r\n\r\n setEinMessage(einControl: AbstractControl, ein: any): void {\r\n this.resetEinCheck();\r\n if (einControl.touched || einControl.dirty) {\r\n if (!einControl.errors) {\r\n this.isCheckingEin = true;\r\n this.registerService.searchDuplicateEin(this.baseurl, ein).subscribe({\r\n next: (result: any) => {\r\n this.isValidEin = !result.isDuplicate;\r\n if (this.isValidEin) {\r\n this.einSuccessMessage = 'EIN is valid!';\r\n } else {\r\n einControl.setErrors({ isDuplicate: true });\r\n this.einErrorMessage = Object.keys(einControl.errors!)\r\n .map((key) => this.validationEinMessages[key])\r\n .join(' ');\r\n this.createEmployerFrmGp.updateValueAndValidity();\r\n }\r\n this.isCheckingEin = false;\r\n },\r\n error: (error: any) => {\r\n this.resetEinCheck();\r\n this.errorMessage = error as any;\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n } else {\r\n this.einErrorMessage = Object.keys(einControl.errors)\r\n .map((key) => this.validationEinMessages[key])\r\n .join(' ');\r\n }\r\n }\r\n }\r\n\r\n getNewEmpErrorMessage(name: any): string {\r\n let message = '';\r\n const fieldControl = this.createEmployerFrmGp.get(name);\r\n if (\r\n fieldControl!.touched ||\r\n fieldControl!.dirty ||\r\n this.demographicFrmGp.invalid\r\n ) {\r\n if (fieldControl!.hasError('required')) {\r\n message = 'Required';\r\n } else {\r\n message = 'Invalid Format';\r\n }\r\n }\r\n return message;\r\n }\r\n\r\n getDemographicErrorMessage(name: any): string {\r\n let message = '';\r\n const fieldControl = this.demographicFrmGp.get(name);\r\n if (\r\n fieldControl!.touched ||\r\n fieldControl!.dirty ||\r\n this.demographicFrmGp.invalid\r\n ) {\r\n if (fieldControl!.hasError('required')) {\r\n message = 'Required';\r\n } else {\r\n message = 'Invalid Format';\r\n }\r\n }\r\n return message;\r\n }\r\n\r\n togglePasswordHide() {\r\n this.passwordHide = !this.passwordHide;\r\n }\r\n\r\n toggleConfirmPasswordHide() {\r\n this.confirmpasswordHide = !this.confirmpasswordHide;\r\n }\r\n\r\n resetEmailCheck() {\r\n this.isValidEmail = false;\r\n this.isCheckingEmail = false;\r\n this.emailSuccessMessage = '';\r\n this.emailErrorMessage = '';\r\n }\r\n\r\n resetEinCheck() {\r\n this.isValidEmail = false;\r\n this.isCheckingEmail = false;\r\n this.emailSuccessMessage = '';\r\n this.emailErrorMessage = '';\r\n }\r\n\r\n resetLoginCheck() {\r\n this.isValidLogin = false;\r\n this.isCheckingLogin = false;\r\n this.loginSuccessMessage = '';\r\n this.loginErrorMessage = '';\r\n this.selectedUsername = '';\r\n }\r\n\r\n setMaskAndExample(regionCode: string) {\r\n this.phoneExample = this.phoneHelperService.getExample(regionCode);\r\n this.phoneMask = this.phoneHelperService.getMask(regionCode);\r\n this.cellExample = this.phoneHelperService.getExample(regionCode);\r\n this.cellMask = this.phoneHelperService.getMask(regionCode);\r\n }\r\n\r\n goToMainHome() {\r\n this.router.navigate(['home']);\r\n }\r\n\r\n openSnackBar(message: string, time: number, style: string) {\r\n const config = new MatSnackBarConfig();\r\n config.horizontalPosition = 'center';\r\n config.verticalPosition = 'top';\r\n config.duration = time;\r\n config.panelClass = style;\r\n this.snackbar.open(message, '', config);\r\n }\r\n\r\n displayLoginHelp() {\r\n const imagePath = '';\r\n const dialogData = new HelperDialogModel(\r\n 'Login Information Help',\r\n this.loginHelp,\r\n imagePath\r\n );\r\n\r\n const dialogRef = this.dialog.open(HelperDialogComponent, {\r\n maxWidth: '1000px',\r\n data: dialogData,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe({\r\n next: (dialogResult) => (this.showDialogHelp = false),\r\n });\r\n }\r\n\r\n logError(error: Error) {\r\n this.errorHandlerService.logError(error);\r\n }\r\n\r\n handleError(error: number) {\r\n console.log(this.errorMessage);\r\n console.log('error', error);\r\n this.errorHandlerService.handleErrorMessage(error, this.baseurl);\r\n }\r\n}\r\n\r\nfunction passwordMatcher(\r\n c: AbstractControl\r\n): { [key: string]: boolean } | null {\r\n const password1Ctrl = c.get('password1');\r\n const password2Ctrl = c.get('password2');\r\n if (password1Ctrl === null || password2Ctrl === null) {\r\n return null;\r\n }\r\n if (password1Ctrl.pristine || password2Ctrl.pristine) {\r\n return null;\r\n }\r\n if (password1Ctrl.value === password2Ctrl.value) {\r\n return null;\r\n }\r\n return { doNotMatch: true };\r\n}\r\n\r\n/** Error when the parent is invalid */\r\nclass CrossFieldErrorMatcher implements ErrorStateMatcher {\r\n isErrorState(\r\n control: FormControl | null,\r\n form: FormGroupDirective | NgForm | null\r\n ): boolean {\r\n if (control) {\r\n return (control.dirty || control.touched) && control.parent!.invalid;\r\n }\r\n return false;\r\n }\r\n}\r\nfunction next(value: IEmpSearchResults[]): void {\r\n throw new Error('Function not implemented.');\r\n}\r\n\r\n","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main\" id=\"page-content-main\">\r\n <!-- <epay-lib-employer-register [baseurl]=\"baseurl\" [termsContent]=\"termsContent\" [loginHelp]=\"loginHelp\"\r\n [canCreateNewEmployer]=\"canCreateNewEmployer\" [useEmailForLogin]=\"useEmailForLogin\">\r\n </epay-lib-employer-register> -->\r\n\r\n <div *ngIf=\"!openConfirmation\">\r\n <div class=\"stepper-panel\">\r\n <div class=\"justify-content-center\">\r\n <div class=\"form-panel register-form-field\">\r\n <mat-stepper [orientation]=\"stepperOrientation\" #stepper linear=\"true\">\r\n <!-- 1. T&C -->\r\n <mat-step class=\"stepper-icon\" [stepControl]=\"termsFrmGp\">\r\n <form [formGroup]=\"termsFrmGp\">\r\n <ng-template matStepLabel>Terms and Conditions</ng-template>\r\n <div>\r\n <div #cguContainer class=\"terms-panel\" (scroll)=\"checkReading()\" [innerHTML]=\"termsContent\">\r\n </div>\r\n </div>\r\n <div class=\"pt-2 pb-2\">\r\n <label class=\"smart-checkbox ts-s\">\r\n <input type=\"checkbox\" class=\"form-check-input smart-checks checkmark\" formControlName=\"accepted\"\r\n required>\r\n <span>Accept Terms and Conditions</span>\r\n <span class=\"checkmark\"></span>\r\n <div class=\"c-red1\" *ngIf=\"isTermsSubmitted && termsFrmGp.get('accepted' )!.value !== true\">Please\r\n accept the terms and conditions to move forward.</div>\r\n </label>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button (click)=\"goToMainHome()\">Back</button>\r\n <button class=\"btn\" (click)=\"submitTerms()\" mat-button matStepperNext>Next</button>\r\n </div>\r\n </form>\r\n </mat-step>\r\n <!-- 2. Employer Search -->\r\n <mat-step class=\"stepper-icon\" [stepControl]=\"searchFrmGrp\">\r\n <form [formGroup]=\"searchFrmGrp\" (ngSubmit)=\"Search()\" autocomplete=\"off\">\r\n <ng-template matStepLabel>Complete Employer Search</ng-template>\r\n <p>{{searchMessage}}</p>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Employer Name\" formControlName=\"empname\">\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"allowEINSearch\">\r\n <input matInput mask=\"999999999\" placeholder=\"EIN\" formControlName=\"empein\" minlength=\"9\" maxlength=\"9\">\r\n <mat-hint><strong>Ex: 123456789</strong></mat-hint>\r\n <mat-error *ngIf=\"searchFrmGrp.get('empein')!.value && \r\n searchFrmGrp.get('empein')!.value?.length !== 9\">EIN must be 9 digits. (Ex: 123456789)</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" type=\"reset\" mat-button (click)=\"ClearSearch()\">Clear</button>\r\n <button [disabled]=\"searchFrmGrp.get('empein')!.value && searchFrmGrp.get('empein')!.value?.length < 9\" \r\n class=\"btn btn-submit\" type=\"submit\">Search</button>\r\n </div>\r\n </form>\r\n <form [formGroup]=\"selectedEmployerFrmGp\" (ngSubmit)=\"submitEmployer()\">\r\n <div class=\"pt-2 pb-2\">\r\n <span *ngIf=\"isSearching\">\r\n <i class=\"fa fa-refresh fa-spin fa-2x fa-fw mt-4\"></i>\r\n </span>\r\n <div *ngIf=\"empsearchresults && empsearchresults?.length; else noresults\">\r\n <h4>Select Employer</h4>\r\n <div class=\"search-result-panel mt-3\">\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let col of displayedColumns\">{{col}}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let emp of empsearchresults; let i = index\" [class.active]='emp.isSelected'>\r\n <td>\r\n <label class=\"smart-checkbox\">\r\n <input type=\"checkbox\" (change)=\"addRemoveEmployer($event, i)\" [checked]=emp.isSelected\r\n formControlName=\"empselected\">\r\n <span class=\"checkmark\"></span>\r\n </label>\r\n </td>\r\n <td>{{emp.thirdPartyName}}</td>\r\n <td>{{emp.addressLine1}} {{emp.addressLine2}}</td>\r\n <td>{{emp.addressCity }}</td>\r\n <td>{{emp.addressState}}</td>\r\n <td>{{emp.addressZip5}}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"mt-2\" *ngIf=\"\r\n selectedEmployerFrmGp.get('empselected')!.value !== true &&\r\n isEmpSearchSubmitted\">\r\n <span class=\"fa fa-exclamation-triangle fa-md-red\"></span>\r\n <span class=\"c-red1\">\r\n Please select an employer to move forward.\r\n </span>\r\n </div>\r\n <div *ngIf=\"canCreateNewEmployer\" class=\"register-text mt-3\">Can't\r\n find your employer ?\r\n <i class=\"fa fa-user-plus fa-xs-blue\"></i> <a class=\"login-signup\"\r\n (click)=\"displayCreateEmployer(stepper)\"> Register a New Company</a>\r\n </div>\r\n <div *ngIf=\"!canCreateNewEmployer\" class=\"register-text mt-3\">\r\n If you cannot find your business, please contact the state.\r\n </div>\r\n </div>\r\n <ng-template #noresults>\r\n <p class=\"ts-l\">{{searchErrorMessage}}</p>\r\n <div *ngIf=\"canCreateNewEmployer && hasSearched\" class=\"register-text mt-3\">\r\n Can’t find your employer?\r\n <i class=\"fa fa-user-plus fa-xs-blue\"></i> <a class=\"login-signup\"\r\n (click)=\"displayCreateEmployer(stepper)\"> Register a New Company</a>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"mt-3 mb-3\" *ngIf=\"empOnHold && selectedEmployer?.isSelected && isEmpSearchSubmitted\">\r\n <span class=\"fa fa-exclamation-triangle fa-md-red\"></span>\r\n <span class=\"c-red1\">\r\n There is a hold on this account. Please call the telephone number located on the Contact Us Page.\r\n </span>\r\n </div>\r\n\r\n <div class=\"mt-3 mb-3\"\r\n *ngIf=\"selectedEmployer?.hasAccount && selectedEmployer?.isSelected && !selectedEmployer.hasHold\">\r\n <span class=\"fa fa-exclamation-triangle fa-md-red\"></span>\r\n <span class=\"c-red1\">\r\n There has already been an account established with this employer. However, you can email the\r\n primary account at {{selectedEmployer.primaryEmailAddress}} to add you as a secondary user.\r\n </span>\r\n </div>\r\n \r\n <div *ngIf=\"empsearchresults && empsearchresults.length > 0\" class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button matStepperPrevious>Back</button>\r\n <!-- <button\r\n *ngIf=\"!isEmpSearchSubmitted\"\r\n [disabled]=\"selectedEmployer?.hasAccount && selectedEmployer?.isSelected && !selectedEmployer.hasHold || !selectedEmployer?.isSelected\"\r\n class=\"btn btn-primary\" type=\"submit\" (click)=\"submitEmployer()\" mat-button\r\n >Validate Employer</button> -->\r\n\r\n <button\r\n [disabled]=\"selectedEmployer?.hasAccount && selectedEmployer?.isSelected || !selectedEmployer?.isSelected || empOnHold\"\r\n class=\"btn btn-primary\" type=\"submit\" (click)=\"submitEmployer()\" mat-button\r\n matStepperNext>Next</button>\r\n\r\n <!-- <span *ngIf=\"validatingEmployer\" matSuffix><i class=\"fa fa-refresh fa-spin fa-2x fa-fw\"></i></span>\r\n <span *ngIf=\"!validatingEmployer && isEmpSearchSubmitted && !empOnHold && empSelected && !selectedEmployer?.hasAccount\" class=\"text-success font-weight-bold\" matSuffix>Available for Registration <i class=\"fa fa-check c-green0 ts-l\"></i></span>\r\n <span *ngIf=\"!validatingEmployer && isEmpSearchSubmitted && empOnHold && empSelected && !selectedEmployer?.hasAccount\" class=\"text-danger font-weight-bold\" matSuffix>Employer placed on hold <i class=\"fa fa-times-circle c-red2 ts-l\"></i></span> -->\r\n </div>\r\n </form>\r\n </mat-step>\r\n <!-- 3. New Employer -->\r\n <mat-step *ngIf=\"showCreateEmp\" [stepControl]=\"createEmployerFrmGp\">\r\n <form [formGroup]=\"createEmployerFrmGp\" autocomplete=\"off\">\r\n <ng-template matStepLabel> Create New Employer </ng-template>\r\n <div>Please enter your Business Information below.</div>\r\n <div class=\"flex-input-col pt-3 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Employer Name\" formControlName=\"empName\" required>\r\n <mat-error>{{getNewEmpErrorMessage(\"empName\")}}</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput mask=\"999999999\" placeholder=\"EIN\" formControlName=\"ein\" required minlength=\"9\" maxlength=\"9\">\r\n <mat-hint *ngIf=\"!isCheckingEin && !isValidEin\"><strong>Ex: 123456789</strong></mat-hint>\r\n <mat-hint *ngIf=\"(!createEmployerFrmGp.get('ein')!.errors && isValidEin && !isCheckingEin)\" \r\n class=\"mat-hint-success\">{{einSuccessMessage}}\r\n </mat-hint>\r\n <span *ngIf=\"isCheckingEin\" matSuffix><i class=\"fa fa-refresh fa-spin fa-3x fa-fw\"></i></span>\r\n <span *ngIf=\"!createEmployerFrmGp.get('ein')!.errors && isValidEin && !isCheckingEin\" matSuffix><i \r\n class=\"fa fa-check c-green0 ts-l\"></i></span>\r\n <!-- <span *ngIf=\"!isValidEin? && !isCheckingEin? && einErrorMessage?.length > 0\" matSuffix><i\r\n class=\"fa fa-exclamation-triangle\" style=\"font-size: 20px;color:red\"></i></span> -->\r\n <!-- <mat-error>{{einErrorMessage}}</mat-error> -->\r\n <mat-error *ngIf=\"createEmployerFrmGp.get('ein')!.value && \r\n createEmployerFrmGp.get('ein')!.value?.length !== 9\">EIN must be 9 digits. (Ex: 123456789)</mat-error>\r\n <mat-error *ngIf=\"!createEmployerFrmGp.get('ein')!.value\">Required</mat-error>\r\n\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Address\" formControlName=\"address1\" required>\r\n <mat-error>{{getNewEmpErrorMessage(\"address1\")}}</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Line 2\" formControlName=\"address2\">\r\n <mat-error>{{getNewEmpErrorMessage(\"address2\")}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"City\" formControlName=\"city\" required>\r\n <mat-error>{{getNewEmpErrorMessage(\"city\")}}</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-select matInput disableOptionCentering panelClass=\"matSelectClass\" placeholder=\"State\"\r\n formControlName=\"state\" required>\r\n <mat-option *ngFor=\"let state of states\" [value]=\"state.code\">\r\n {{state.name}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error>{{getNewEmpErrorMessage(\"state\")}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Zip\" formControlName=\"zip5\" required>\r\n <mat-error>{{getNewEmpErrorMessage(\"zip5\")}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <mat-select matInput disableOptionCentering panelClass=\"matSelectClass\" placeholder=\"Country\"\r\n formControlName=\"country\" required>\r\n <mat-option *ngFor=\"let country of countries\" [value]=\"country.country\">\r\n {{country.countryName}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error>{{getNewEmpErrorMessage(\"country\")}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button matStepperPrevious>Back</button>\r\n <button *ngIf=\"displayAddEmployerButton\" class=\"btn btn-primary-short\"\r\n [disabled]=\"createEmployerFrmGp.invalid\" (click)=\"createNewEmployer()\" mat-button>Add\r\n Employer</button>\r\n <button *ngIf=\"employerCreatedSuccessfully\" class=\"btn btn-primary-short\" mat-button\r\n matStepperNext>Next</button>\r\n </div>\r\n <div *ngIf=\"employerCreatedSuccessfully\" class=\"c-green0\">\r\n <p>{{employerCreatedMessage}}</p>\r\n </div>\r\n </form>\r\n </mat-step>\r\n <!-- 4. Contact -->\r\n <mat-step [stepControl]=\"demographicFrmGp\">\r\n <form [formGroup]=\"demographicFrmGp\" autocomplete=\"off\">\r\n <ng-template matStepLabel>Fill out your Contact Information</ng-template>\r\n <div class=\"\">\r\n <p>Please enter your Contact Information below.</p>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"First name\" formControlName=\"firstName\" required>\r\n <mat-error>{{getDemographicErrorMessage(\"firstName\")}}</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Middle name\" formControlName=\"middleName\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Last name\" formControlName=\"lastName\" required>\r\n <mat-error>{{getDemographicErrorMessage(\"lastName\")}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Address\" formControlName=\"address1\" required>\r\n <mat-error>{{getDemographicErrorMessage(\"address1\")}}</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Line 2\" formControlName=\"address2\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"City\" formControlName=\"city\" required>\r\n <mat-error>{{getDemographicErrorMessage(\"city\")}}</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-select matInput disableOptionCentering panelClass=\"matSelectClass\" placeholder=\"State\"\r\n formControlName=\"state\" required>\r\n <mat-option *ngFor=\"let state of states\" [value]=\"state.code\">\r\n {{state.name}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error>{{getDemographicErrorMessage(\"state\")}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Zip\" formControlName=\"zip5\" required>\r\n <mat-error>{{getDemographicErrorMessage(\"zip5\")}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <mat-select matInput disableOptionCentering panelClass=\"matSelectClass\" placeholder=\"Country\"\r\n formControlName=\"country\" required>\r\n <mat-option *ngFor=\"let country of countries\" [value]=\"country.country\">\r\n {{country.countryName}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field formGroupName=\"phoneGp\">\r\n <!-- <input matInput placeholder=\"Phone\" [mask]=\"phoneMask\" formControlName=\"phoneNumber\" required> -->\r\n <input matInput placeholder=\"Phone\" formControlName=\"phoneNumber\" [mask]=\"phoneMask\" required>\r\n <span matPrefix>+{{demographicFrmGp.get('phoneGp.countryCode' )!.value}} </span>\r\n <mat-hint>{{phoneExample}}</mat-hint>\r\n <mat-error *ngIf=\"!demographicFrmGp.get('phoneGp.isValid')?.value ||\r\n demographicFrmGp.get('phoneGp ')?.hasError('requiredTrue')\">Invalid Format\r\n </mat-error>\r\n <mat-error *ngIf=\"demographicFrmGp.get('phoneGp.phoneNumber ')?.hasError('required')\">Required\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput placeholder=\"Phone Ext\" formControlName=\"phoneExtension\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field formGroupName=\"cellGp\">\r\n <!-- <input matInput placeholder=\"Cell Phone\" [mask]=\"cellMask\" formControlName=\"cellNumber\"> -->\r\n <input matInput placeholder=\"Cell Phone\" formControlName=\"cellNumber\" [mask]=\"phoneMask\">\r\n <span matPrefix>+{{demographicFrmGp.get('cellGp.countryCode' )!.value}} </span>\r\n <mat-hint>{{cellExample}}</mat-hint>\r\n <mat-error *ngIf=\"!demographicFrmGp.get('cellGp.isValid')?.value ||\r\n demographicFrmGp.get('cellGp ')?.hasError('requiredTrue')\">Invalid format\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Email\" formControlName=\"email\" required>\r\n <mat-hint *ngIf=\"isValidEmail && !isCheckingEmail\" class=\"mat-hint-success\">{{emailSuccessMessage}}\r\n </mat-hint>\r\n <span *ngIf=\"isCheckingEmail\" matSuffix><i class=\"fa fa-refresh fa-spin fa-3x fa-fw\"></i></span>\r\n <span *ngIf=\"isValidEmail\" matSuffix><i class=\"fa fa-check\"\r\n style=\"font-size: 25px;color:darkgreen\"></i></span>\r\n <mat-error>{{emailErrorMessage}}</mat-error>\r\n \r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button matStepperPrevious>Back</button>\r\n <button class=\"btn btn-primary-short\" [disabled]=\"demographicFrmGp.invalid\" mat-button\r\n matStepperNext>Next</button>\r\n </div>\r\n </form>\r\n </mat-step>\r\n <!-- 5. Login Info -->\r\n <mat-step [stepControl]=\"loginFrmGp\">\r\n <form [formGroup]=\"loginFrmGp\" autocomplete=\"off\">\r\n <ng-template matStepLabel>Fill out Login Information</ng-template>\r\n <div class=\"mt-3\">\r\n Please complete your Login Information below.\r\n <span (click)=\"displayLoginHelp()\" class=\"ml-2 fa fa-question-circle fa-sm-blue\"\r\n matTooltip=\"LOGIN INFORMATION HELP\" matTooltipClass=\"tooltip-md\">\r\n </span>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-3\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Username\" #loginId formControlName=\"loginId\" \r\n (change)=\"updateUsernameValidation($event)\" required>\r\n <!-- <mat-hint *ngIf=\"!isValidLogin && !isCheckingLogin\">{{loginHintMessage}}</mat-hint> -->\r\n <mat-hint *ngIf=\"!isValidLogin && !isCheckingLogin\">\r\n <strong>Alphanumerical format:</strong> Must contain at least 8 characters (at least 6 letters, 2 numbers) with a max of 12 characters. <br>\r\n <strong>Email Format:</strong> Must match the email provided in the previous step. \r\n </mat-hint>\r\n <mat-hint *ngIf=\"isValidLogin && !isCheckingLogin\" class=\"c-green0\">{{loginSuccessMessage}}\r\n </mat-hint>\r\n <span *ngIf=\"isCheckingLogin\" matSuffix><i class=\"fa fa-refresh fa-spin fa-3x fa-fw\"></i></span>\r\n <span *ngIf=\"isValidLogin\" matSuffix><i class=\"fa fa-check c-green0 ts-l\"></i></span>\r\n <mat-error>{{loginErrorMessage}}</mat-error>\r\n <mat-error *ngIf=\"loginFrmGp.get('loginId')?.hasError('required') &&\r\n loginErrorMessage?.length === 0\">Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div formGroupName=\"passwordGp\">\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Password\" [type]=\"passwordHide ? 'password' : 'text'\"\r\n formControlName=\"password1\" required>\r\n <mat-hint>{{passwordHintMessage}}</mat-hint>\r\n <mat-icon matSuffix (click)=\"togglePasswordHide()\">{{passwordHide ? 'visibility_off' :\r\n 'visibility'}}</mat-icon>\r\n <mat-error>{{passwordErrorMessage}}</mat-error>\r\n <mat-error *ngIf=\"loginFrmGp.invalid && passwordErrorMessage?.length === 0\">Required</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput [errorStateMatcher]=\"errorMatcher\" placeholder=\"Confirm Password\"\r\n [type]=\"confirmpasswordHide ? 'password' : 'text'\" formControlName=\"password2\" required>\r\n <mat-icon matSuffix (click)=\"toggleConfirmPasswordHide()\">{{confirmpasswordHide ? 'visibility_off' :\r\n 'visibility'}}</mat-icon>\r\n <mat-error *ngIf=\"loginFrmGp.get('passwordGp')?.hasError('doNotMatch')\">Passwords do not match.\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <mat-select matInput disableOptionCentering panelClass=\"matSelectClass\"\r\n placeholder=\"Challenge Question\" (selectionChange)=\"challengeQuestionChangeEvent()\"\r\n formControlName=\"authenticationQuestionIndex\">\r\n <mat-option *ngFor=\"let question of questions\" [value]=\"question.index\">\r\n {{question.name}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Challenge Answer\" formControlName=\"challengeAnswer\">\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button matStepperPrevious>Back</button>\r\n <button class=\"btn btn-primary-short\" [disabled]=\"loginFrmGp.invalid\" mat-button\r\n matStepperNext>Next</button>\r\n </div>\r\n </form>\r\n </mat-step>\r\n <mat-step [stepControl]=\"reviewFrmGrp\">\r\n <form [formGroup]=\"reviewFrmGrp\">\r\n <ng-template matStepLabel>Review Your Information</ng-template>\r\n <div class=\"container\">\r\n <div class=\"row m--full-bleed\">\r\n \r\n <!-- Employer information card-->\r\n <div class=\"col-12 col-lg-4 form-display-card mb-5 m--mb0\">\r\n <div class=\"mb-2\">\r\n <mat-card class='mat-card-display'>\r\n <mat-card-header>\r\n <mat-card-title class=\"justify-content-start\">\r\n <h2 class=\"mat-card-title align-items-start\">\r\n <span class=\"fa fa-building-o fa-md-black mr-2\"></span> Employer Information\r\n </h2>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div class=\"\">\r\n <div class=\"row review-payment justify-content-center\">\r\n \r\n <div class=\"col-12 col-lg-6\">\r\n <dl class=\"account-details-sum\">\r\n <div>\r\n <dt class=\"account-dt\">\r\n Employer Name\r\n </dt>\r\n <dd class=\"account-dt-info\">\r\n {{selectedEmployer.thirdPartyName}}\r\n </dd>\r\n </div>\r\n </dl>\r\n </div>\r\n \r\n <div class=\"col-12 col-lg-6\">\r\n <dl class=\"account-details-sum\">\r\n <div>\r\n <dt class=\"account-dt\">\r\n Address\r\n </dt>\r\n <dd class=\"account-dt-info\">\r\n {{selectedEmployer.addressLine1}}\r\n {{selectedEmployer.addressLine2}}\r\n {{selectedEmployer.addressCity}},\r\n {{selectedEmployer.addressState}}\r\n {{selectedEmployer.addressZip5}}\r\n </dd>\r\n </div>\r\n </dl>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <!--<mat-card class='mat-card-display'>\r\n <mat-card-header>\r\n <mat-card-title class=\"justify-content-start\">\r\n <h2 class=\"mat-card-title align-items-start\">\r\n <span class=\"fa fa-building-o fa-md-black mr-2\"></span> Employer Information\r\n </h2>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div class=\"row\">\r\n <div class=\"col-sm tw-b\">Employer Name</div>\r\n <div class=\"col-sm tw-b\">Address</div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm\">{{selectedEmployer.thirdPartyName}}</div>\r\n <div class=\"col-sm\">{{selectedEmployer.addressLine1}}{{selectedEmployer.addressLine2}}</div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm\"></div>\r\n <div class=\"col-sm\">{{selectedEmployer.addressCity}}, {{selectedEmployer.addressState}}\r\n {{selectedEmployer.addressZip5}}</div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>-->\r\n </div>\r\n \r\n \r\n <!-- Personal information card-->\r\n <div class=\"col-12 col-lg-4 form-display-card mb-5 m--mb0\">\r\n <div class=\"mb-2\">\r\n <mat-card class='mat-card-display'>\r\n <mat-card-header>\r\n <mat-card-title class=\"justify-content-start\">\r\n <h2 class=\"mat-card-title align-items-start\">\r\n <span class=\"fa fa-address-card-o fa-md-black mr-2\"></span> Contact Information\r\n </h2>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div class=\"\">\r\n <div class=\"row review-payment justify-content-center\">\r\n \r\n <div class=\"col-12 col-lg-6\">\r\n <dl class=\"account-details-sum\">\r\n <div>\r\n <dt class=\"account-dt\">\r\n Name\r\n </dt>\r\n <dd class=\"account-dt-info\">\r\n {{this.demographicFrmGp.get('firstName' )!.value}}\r\n {{this.demographicFrmGp.get('middleName' )!.value}}\r\n {{this.demographicFrmGp.get('lastName' )!.value}}\r\n </dd>\r\n </div>\r\n \r\n <div>\r\n <dt class=\"account-dt\">\r\n Address\r\n </dt>\r\n <dd class=\"account-dt-info\">\r\n {{this.demographicFrmGp.get('address1')!.value}}\r\n {{this.demographicFrmGp.get('address2' )!.value}}\r\n {{this.demographicFrmGp.get('city' )!.value}}\r\n {{this.demographicFrmGp.get('state')!.value}}\r\n {{this.demographicFrmGp.get('zip5' )!.value}}\r\n </dd>\r\n </div>\r\n <div>\r\n <dt class=\"account-dt\">\r\n Email\r\n </dt>\r\n <dd class=\"account-dt-info\">\r\n {{this.demographicFrmGp.get('email' )!.value}}\r\n </dd>\r\n </div>\r\n </dl>\r\n </div>\r\n \r\n <div class=\"col-12 col-lg-6\">\r\n <dl class=\"account-details-sum\">\r\n <div>\r\n <dt class=\"account-dt\">\r\n Home Phone\r\n </dt>\r\n <dd class=\"account-dt-info\">\r\n +{{this.demographicFrmGp.get('phoneGp.countryCode' )!.value}} \r\n {{this.demographicFrmGp.get('phoneGp.phoneNumber' )!.value | mask: phoneMask}}\r\n </dd>\r\n </div>\r\n <div>\r\n <dt class=\"account-dt\">\r\n Cell Phone\r\n </dt>\r\n <dd class=\"account-dt-info\">\r\n +{{this.demographicFrmGp.get('cellGp.countryCode' )!.value}} \r\n {{this.demographicFrmGp.get('cellGp.cellNumber' )!.value | mask: phoneMask}}\r\n </dd>\r\n </div>\r\n </dl>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <!--<mat-card class='mat-card-display'>\r\n <mat-card-header>\r\n <mat-card-title class=\"justify-content-start\">\r\n <h2 class=\"mat-card-title align-items-start\">\r\n <span class=\"fa fa-address-card-o fa-md-black mr-2\"></span> Contact Information\r\n </h2>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div class=\"row\">\r\n <div class=\"col-sm tw-b\">Name</div>\r\n <div class=\"col-sm tw-b\">Home Phone</div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm\">{{this.demographicFrmGp.get('firstName' )!.value}}\r\n {{this.demographicFrmGp.get('middleName' )!.value}}\r\n {{this.demographicFrmGp.get('lastName' )!.value}}</div>\r\n <div class=\"col-sm\">+{{this.demographicFrmGp.get('phoneGp.countryCode' )!.value}} \r\n {{this.demographicFrmGp.get('phoneGp.phoneNumber' )!.value}}</div>\r\n </div>\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm tw-b\">Address</div>\r\n <div class=\"col-sm tw-b\">Cell phone</div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm\">{{this.demographicFrmGp.get('address1' )!.value}}\r\n {{this.demographicFrmGp.get('address2' )!.value}}</div>\r\n <div class=\"col-sm\" *ngIf=\"this.demographicFrmGp.get('cellGp.cellNumber' )!.value\">\r\n +{{this.demographicFrmGp.get('cellGp.countryCode' )!.value}} \r\n {{this.demographicFrmGp.get('cellGp.cellNumber' )!.value}}</div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm\">{{this.demographicFrmGp.get('city' )!.value}},\r\n {{this.demographicFrmGp.get('state' )!.value}} {{this.demographicFrmGp.get('zip5' )!.value}}\r\n </div>\r\n </div>\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm tw-b\">Email</div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm\">{{this.demographicFrmGp.get('email' )!.value}}</div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>-->\r\n </div>\r\n \r\n <div class=\"col-12 col-lg-4 form-display-card mb-5 m--mb0\">\r\n <mat-card class='mat-card-display'>\r\n <mat-card-header>\r\n <mat-card-title class=\"justify-content-start\">\r\n <h2 class=\"mat-card-title align-items-start\">\r\n <span class=\"fa fa-user-circle-o fa-md-black mr-2\"></span> Login Information\r\n </h2>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <div class=\"\">\r\n <div class=\"row review-payment justify-content-center\">\r\n \r\n <div class=\"col-12 col-lg-6\">\r\n <dl class=\"account-details-sum\">\r\n <div>\r\n <dt class=\"account-dt\">\r\n Username\r\n </dt>\r\n <dd class=\"account-dt-info\">\r\n <div *ngIf=\"useEmailForLogin\">\r\n {{this.demographicFrmGp.get('email')!.value}}\r\n </div>\r\n <div *ngIf=\"!useEmailForLogin\">\r\n {{this.loginFrmGp.get('loginId')!.value}}\r\n </div>\r\n </dd>\r\n </div>\r\n <div>\r\n <dt class=\"account-dt\">\r\n Password\r\n </dt>\r\n <dd class=\"account-dt-info\">\r\n {{this.loginFrmGp.get('passwordGp.password1')!.value | maskdata: 0}}\r\n </dd>\r\n </div>\r\n </dl>\r\n </div>\r\n \r\n <div class=\"col-12 col-lg-6\">\r\n <dl class=\"account-details-sum\">\r\n <div>\r\n <dt class=\"account-dt\">\r\n Challenge Question\r\n </dt>\r\n <dd class=\"account-dt-info\">\r\n {{selectedChallengeQuestion}}\r\n </dd>\r\n </div>\r\n <div>\r\n <dt class=\"account-dt\">\r\n Challenge Answer\r\n </dt>\r\n <dd class=\"account-dt-info\">\r\n {{this.loginFrmGp.get('challengeAnswer')!.value}}\r\n </dd>\r\n </div>\r\n </dl>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n \r\n <!--<div class=\"row\">\r\n <div class=\"col-sm tw-b\">Username</div>\r\n <div class=\"col-sm tw-b\">Challenge Question</div>\r\n </div>\r\n <div class=\"row\">\r\n <div *ngIf=\"useEmailForLogin\" class=\"col-sm\">{{this.demographicFrmGp.get('email')!.value}}\r\n </div>\r\n <div *ngIf=\"!useEmailForLogin\" class=\"col-sm\">{{this.loginFrmGp.get('loginId')!.value}}</div>\r\n <div class=\"col-sm\">{{selectedChallengeQuestion}}</div>\r\n </div>\r\n <div class=\"row mt-2\">\r\n <div class=\"col-sm tw-b\">Password</div>\r\n <div class=\"col-sm tw-b\">Challenge Answer</div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-sm\">{{this.loginFrmGp.get('passwordGp.password1')!.value | maskdata: 0}}</div>\r\n <div class=\"col-sm\">{{this.loginFrmGp.get('challengeAnswer')!.value}}</div>\r\n </div>-->\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-secondary\" mat-button matStepperPrevious>Back</button>\r\n <button class=\"btn btn-submit\" mat-raised-button (click)=\"createAccount()\">Create Account</button>\r\n </div>\r\n </form>\r\n </mat-step>\r\n </mat-stepper>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <epay-lib-common-confirmation *ngIf=\"openConfirmation\" [confirmationTitle]=\"confirmationTitle\"\r\n [confirmationMessage]=\"confirmationMessage\" [confirmationEmailAddress]=\"confirmationEmailAddress\"\r\n [confirmationNumber]=\"confirmationNumber\" [goToPrimary]=\"goToPrimary\" [goToPrimaryUrl]=\"goToPrimaryUrl\">\r\n </epay-lib-common-confirmation>\r\n\r\n </div>\r\n</epay-page-content>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { AbstractControl, FormControl, FormGroupDirective, NgForm, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\r\nimport { IChallengeQuestion, ErrorHandlerService, RegisterLibraryService } from 'epay-library';\r\nimport { IEmpLogin } from 'epay-library/lib/features/employer/models/user/employerLogin';\r\nimport { Router } from '@angular/router';\r\nimport { debounceTime } from 'rxjs';\r\n\r\nfunction passwordMatcher(\r\n c: AbstractControl\r\n): { [key: string]: boolean } | null {\r\n const password1Ctrl = c.get('password1');\r\n const password2Ctrl = c.get('password2');\r\n if (password1Ctrl === null || password2Ctrl === null) {\r\n return null;\r\n }\r\n if (password1Ctrl.pristine || password2Ctrl.pristine) {\r\n return null;\r\n }\r\n if (password1Ctrl.value === password2Ctrl.value) {\r\n return null;\r\n }\r\n return { doNotMatch: true };\r\n}\r\n\r\n/** Error when the parent is invalid */\r\nclass CrossFieldErrorMatcher implements ErrorStateMatcher {\r\n isErrorState(\r\n control: FormControl | null,\r\n form: FormGroupDirective | NgForm | null\r\n ): boolean {\r\n if (control) {\r\n return (control.dirty || control.touched) && control.parent!.invalid;\r\n }\r\n return false;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'employer-secondary-registration',\r\n templateUrl: './empsecondary-registration.component.html'\r\n})\r\nexport class EmployerSecondaryRegistrationComponent implements OnInit {\r\n @Input() baseurl = '';\r\n @Input() userEmailForLogin = false;\r\n\r\n errorMatcher = new CrossFieldErrorMatcher();\r\n loginFrmGp: FormGroup = new FormGroup({});\r\n emplogin: IEmpLogin = {} as IEmpLogin;\r\n questions: IChallengeQuestion[] = [];\r\n selectedChallengeQuestion = '';\r\n errorMessage = '';\r\n loginErrorMessage = '';\r\n loginSuccessMessage = '';\r\n isCheckingLogin = false;\r\n isValidLogin = false;\r\n passwordHide = true;\r\n confirmpasswordHide = true;\r\n passwordErrorMessage = '';\r\n selectedUsername = '';\r\n\r\n confirmationTitle = '';\r\n confirmationMessage = '';\r\n confirmationEmailAddress = '';\r\n confirmationNumber = '';\r\n goToPrimary = '';\r\n goToPrimaryUrl = '';\r\n showConfirmationEmail = false;\r\n openConfirmation = true;\r\n\r\n loginPattern = /^[a-zA-Z0-9.@]*$/;\r\n // loginPattern =\r\n // /(?=^[A-Za-z\\d]{8,12}$)(?=(.*[A-Za-z]){6,8})(?=(.*\\d){2,4})^.*/;\r\n\r\n passwordPattern = /(?=^[A-Za-z!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\\d]{8,12}$)(?=(.*[A-Za-z]){6})(?=(.*[!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]){1})(?=(.*\\d){2})^.*/;\r\n\r\n loginHintMessage =\r\n 'Must contain at least 8 characters. Alphanumerical values and email format are accepted.';\r\n\r\n passwordHintMessage = 'Must contain at least 6 letters, 2 numbers, and at least one special character with a maximum of 12 characters.';\r\n\r\n validationLoginIdMessages: { [key: string]: string } = {\r\n required: 'Username is required.',\r\n pattern:\r\n 'Invalid Username. Must contain only alphanumerical values with the exception of email format.',\r\n minlength: 'Invalid Username. Must contain at least 8 characters.',\r\n isNotReady: 'Username is not available for registration.',\r\n isDuplicate: 'Username is not available for use.',\r\n isExpired: 'Username has expired. Contact account manager.',\r\n isSameAsPassword: 'Invalid Username. Username cannot be same as password.',\r\n };\r\n\r\n // validationEmailLoginMessages: { [key: string]: string } = {\r\n // required: 'Username is required.',\r\n // pattern: 'Invalid username. Must be in email format.',\r\n // isNotReady: 'Username is not available for registation.',\r\n // isExpired: 'Username has expired. Contact account manager.',\r\n // };\r\n\r\n validationPasswordMessages: { [key: string]: string } = {\r\n required: 'Password is required.',\r\n pattern:\r\n 'Invalid Password. Must contain at least 6 letters, 2 numbers, and one special character with a maximum of 12 characters.',\r\n isSameAsLogin: 'Invalid Password. Password cannot be same as username.',\r\n };\r\n\r\n constructor(\r\n private formbuilder: FormBuilder,\r\n private router: Router,\r\n private errorHandlerService: ErrorHandlerService,\r\n private registerService: RegisterLibraryService,\r\n public snackbar: MatSnackBar\r\n ) {}\r\n\r\n ngOnInit() {\r\n // if (!this.userEmailForLogin) {\r\n // this.loginHintMessage =\r\n // 'Must contain at least 6 letters and 2 numbers with no special characters.';\r\n // } else {\r\n // this.loginHintMessage =\r\n // 'Your username is the email address used for initial registration.';\r\n // }\r\n this.loadFormGroups();\r\n this.getChallengeQuestions();\r\n const loginCtrl= this.loginFrmGp.get('loginId');\r\n const passwrd1Ctrl = this.loginFrmGp.get('passwordGp.password1');\r\n\r\n this.openConfirmation = false;\r\n\r\n loginCtrl!.valueChanges.pipe(debounceTime(1000)).subscribe((loginId) => {\r\n if (\r\n (loginCtrl!.touched || loginCtrl!.dirty) &&\r\n loginCtrl!.errors\r\n ) {\r\n // if (this.userEmailForLogin) {\r\n // this.loginErrorMessage = Object.keys(loginCtrl!.errors)\r\n // .map((key) => this.validationEmailLoginMessages[key])\r\n // .join(' ');\r\n // } else {\r\n this.loginErrorMessage = Object.keys(loginCtrl!.errors)\r\n .map((key) => this.validationLoginIdMessages[key])\r\n .join(' ');\r\n // }\r\n this.isValidLogin = false;\r\n } else {\r\n this.isCheckingLogin = true;\r\n this.registerService\r\n .searchPendingRegistration(this.baseurl, loginId)\r\n .subscribe({\r\n next: (result: any) => {\r\n this.setLoginMessage(loginCtrl!, result, loginId);\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n });\r\n\r\n passwrd1Ctrl!.valueChanges\r\n .pipe(debounceTime(1000))\r\n .subscribe((passwrd) => this.setPasswordMessage(passwrd1Ctrl!, passwrd));\r\n }\r\n\r\n completeRegistration() {\r\n if (this.loginFrmGp.valid) {\r\n if (this.loginFrmGp.dirty) {\r\n const loginData = {\r\n loginId: this.loginFrmGp.get('loginId')!.value,\r\n password: this.loginFrmGp.get('passwordGp.password1')!.value,\r\n confirmPassword: this.loginFrmGp.get('passwordGp.password2')!.value,\r\n challengeQuestion: this.loginFrmGp.get('challengeQuestion')!.value,\r\n challengeAnswer: this.loginFrmGp.get('challengeAnswer')!.value,\r\n };\r\n\r\n this.registerService\r\n .completeSecondaryRegistration(this.baseurl, loginData)\r\n .subscribe({\r\n next: (result: any) => {\r\n this.confirmationTitle = 'Success';\r\n this.confirmationMessage =\r\n 'Account for ' +\r\n result.firstName +\r\n ' ' +\r\n result.lastName +\r\n ' has been created.';\r\n this.confirmationEmailAddress = result.email;\r\n this.confirmationNumber = result.confirmationNumber;\r\n this.goToPrimaryUrl = 'login';\r\n this.goToPrimary = 'Login';\r\n this.showConfirmationEmail = true;\r\n this.openConfirmation = true;\r\n },\r\n error: (error: any) => {\r\n this.openConfirmation = false;\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n }\r\n }\r\n\r\n setLoginMessage(loginCtrl: AbstractControl, result: any, loginId: string) {\r\n this.loginErrorMessage = '';\r\n this.loginSuccessMessage = '';\r\n this.isValidLogin = false;\r\n\r\n if (loginCtrl.touched || loginCtrl.dirty) {\r\n if (result.isPending && !result.isExpired) {\r\n this.isValidLogin = true;\r\n } else if (result.isExpired) {\r\n loginCtrl.setErrors({ isExpired: true });\r\n } else if (!result.isPending) {\r\n loginCtrl.setErrors({ isNotReady: true });\r\n }\r\n\r\n if (this.isValidLogin) {\r\n this.loginSuccessMessage = 'Complete login information below!';\r\n this.selectedUsername = loginId;\r\n this.isCheckingLogin = false;\r\n } else {\r\n // if (this.userEmailForLogin) {\r\n // this.loginErrorMessage = Object.keys(loginCtrl.errors!)\r\n // .map((key) => this.validationEmailLoginMessages[key])\r\n // .join(' ');\r\n // } else {\r\n this.loginErrorMessage = Object.keys(loginCtrl.errors!)\r\n .map((key) => {\r\n //console.log(\"KEY: \", key)\r\n this.validationLoginIdMessages[key]\r\n })\r\n .join(' ');\r\n // }\r\n }\r\n\r\n this.isCheckingLogin = false;\r\n }\r\n }\r\n\r\n setPasswordMessage(passwordControl: AbstractControl, passwrd: any): void {\r\n this.passwordErrorMessage = '';\r\n if (passwordControl.touched || passwordControl.dirty) {\r\n if (!passwordControl.errors) {\r\n if (this.selectedUsername === passwrd) {\r\n passwordControl.setErrors({ isSameAsLogin: true });\r\n this.passwordErrorMessage = Object.keys(passwordControl.errors!)\r\n .map((key) => this.validationPasswordMessages[key])\r\n .join(' ');\r\n }\r\n } else {\r\n this.passwordErrorMessage = Object.keys(passwordControl.errors)\r\n .map((key) => this.validationPasswordMessages[key])\r\n .join(' ');\r\n }\r\n }\r\n }\r\n\r\n resetLoginCheck() {\r\n this.isValidLogin = false;\r\n this.isCheckingLogin = false;\r\n this.loginSuccessMessage = '';\r\n this.loginErrorMessage = '';\r\n this.selectedUsername = '';\r\n }\r\n\r\n openSnackBar(message: string, time: number, style: string) {\r\n const config = new MatSnackBarConfig();\r\n config.horizontalPosition = 'center';\r\n config.verticalPosition = 'top';\r\n config.duration = time;\r\n config.panelClass = style;\r\n this.snackbar.open(message, '', config);\r\n }\r\n\r\n onSaveComplete() {\r\n this.loginFrmGp.reset();\r\n this.router.navigate(['login']);\r\n }\r\n\r\n loadFormGroups() {\r\n this.loginFrmGp = this.formbuilder.group({\r\n loginId: [\r\n '',\r\n [\r\n Validators.required,\r\n Validators.minLength(8),\r\n //Validators.maxLength(12),\r\n Validators.pattern(this.loginPattern),\r\n ],\r\n ],\r\n userName: '',\r\n passwordGp: this.formbuilder.group(\r\n {\r\n password1: [\r\n '',\r\n [Validators.required, Validators.pattern(this.passwordPattern)],\r\n ],\r\n password2: ['', Validators.required],\r\n },\r\n { validators: passwordMatcher }\r\n ),\r\n challengeAnswer: ['', Validators.required],\r\n challengeQuestion: ['', Validators.required],\r\n });\r\n }\r\n\r\n togglePasswordHide() {\r\n this.passwordHide = !this.passwordHide;\r\n }\r\n\r\n toggleConfirmPasswordHide() {\r\n this.confirmpasswordHide = !this.confirmpasswordHide;\r\n }\r\n getChallengeQuestions() {\r\n this.registerService.getChallengeQuestions(this.baseurl).subscribe({\r\n next: (questions: any) => {\r\n this.questions = questions;\r\n },\r\n error: (error: any) => {\r\n this.logError(error);\r\n this.handleError(error.status);\r\n },\r\n });\r\n }\r\n\r\n logError(error: Error) {\r\n this.errorHandlerService.logError(error);\r\n }\r\n\r\n handleError(error: number) {\r\n console.log(this.errorMessage);\r\n console.log('error', error);\r\n this.errorHandlerService.handleErrorMessage(error, this.baseurl);\r\n }\r\n}","<div *ngIf=\"!openConfirmation\">\r\n <div class=\"footer-gap\">\r\n <div class=\"container m--full-bleed\">\r\n <div class=\"row m--full-bleed\">\r\n <div class=\"col-12 form-panel\">\r\n <form [formGroup]=\"loginFrmGp\" (ngSubmit)=\"completeRegistration()\">\r\n <mat-card class=\"card-container\">\r\n <mat-card-header>\r\n <mat-card-title>Complete Registration</mat-card-title>\r\n </mat-card-header>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Username\" #loginId formControlName=\"loginId\" required>\r\n <mat-hint *ngIf=\"!isValidLogin && !isCheckingLogin\">{{loginHintMessage}}</mat-hint>\r\n <mat-hint *ngIf=\"isValidLogin && !isCheckingLogin\" style=\"color: darkgreen\">{{loginSuccessMessage}}\r\n </mat-hint>\r\n <span *ngIf=\"isCheckingLogin\" matSuffix><i class=\"fa fa-refresh fa-spin fa-3x fa-fw\"></i></span>\r\n <span *ngIf=\"isValidLogin\" matSuffix><i class=\"fa fa-check\"\r\n style=\"font-size: 25px;color:darkgreen\"></i></span>\r\n <!-- <mat-error>{{loginErrorMessage}}</mat-error> -->\r\n <mat-error *ngIf=\"loginFrmGp.invalid && loginFrmGp.get('loginId')?.value === ''\">Required</mat-error> \r\n <mat-error *ngIf=\"loginFrmGp.get('loginId')?.hasError('isNotReady')\">Username is not available for registration.</mat-error>\r\n <mat-error *ngIf=\"loginFrmGp.get('loginId')?.hasError('isExpired')\">Username has expired. Contact account manager.</mat-error> \r\n <mat-error *ngIf=\"loginFrmGp.get('loginId')?.hasError('isSameAsPassword')\">Invalid Username. Username cannot be same as password.</mat-error> \r\n \r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\" formGroupName=\"passwordGp\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Password\" [type]=\"passwordHide ? 'password' : 'text'\"\r\n formControlName=\"password1\" autocomplete=\"off\" required>\r\n <mat-hint>{{passwordHintMessage}}</mat-hint>\r\n <mat-icon matSuffix (click)=\"togglePasswordHide()\">{{passwordHide ? 'visibility_off' : 'visibility'}}\r\n </mat-icon>\r\n <mat-error>{{passwordErrorMessage}}</mat-error>\r\n <mat-error *ngIf=\"loginFrmGp.invalid && passwordErrorMessage?.length === 0\">Required</mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput [errorStateMatcher]=\"errorMatcher\" placeholder=\"Confirm Password\"\r\n [type]=\"confirmpasswordHide ? 'password' : 'text'\" formControlName=\"password2\" autocomplete=\"off\"\r\n required>\r\n <mat-icon matSuffix (click)=\"toggleConfirmPasswordHide()\">{{confirmpasswordHide ? 'visibility_off' :\r\n 'visibility'}}</mat-icon>\r\n <mat-error *ngIf=\"loginFrmGp.get('passwordGp')?.hasError('doNotMatch')\">\r\n Passwords do not match.\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field class=\"mt-3\" style=\"width: 60%;\">\r\n <mat-select matInput disableOptionCentering panelClass=\"matSelectClass\"\r\n placeholder=\"Challenge Question\" formControlName=\"challengeQuestion\" required>\r\n <mat-option *ngFor=\"let question of questions\" [value]=\"question.index\">\r\n {{question.name}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-input-col pt-2 pb-2\">\r\n <mat-form-field>\r\n <input matInput placeholder=\"Challenge Answer\" formControlName=\"challengeAnswer\" autocomplete=\"off\"\r\n required>\r\n <mat-error>Required</mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"flex-btn-row pt-2 pb-2\">\r\n <button class=\"btn btn-submit mt-3\" mat-raised-button type=\"submit\">Complete Registration</button>\r\n </div>\r\n </mat-card>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n \r\n <epay-lib-common-confirmation *ngIf=\"openConfirmation\" [confirmationTitle]=\"confirmationTitle\"\r\n [confirmationMessage]=\"confirmationMessage\" [confirmationEmailAddress]=\"confirmationEmailAddress\"\r\n [confirmationNumber]=\"confirmationNumber\" [goToPrimary]=\"goToPrimary\" [goToPrimaryUrl]=\"goToPrimaryUrl\">\r\n </epay-lib-common-confirmation>\r\n ","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, AbstractControl, Validators, FormControl, FormGroupDirective, NgForm } from '@angular/forms';\r\nimport { ErrorStateMatcher } from '@angular/material/core';\r\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\r\nimport { Router } from '@angular/router';\r\nimport { CommonSettings, ErrorHandlerService, IChallengeQuestion, RegisterLibraryService } from 'epay-library';\r\nimport { IEmpLogin } from 'epay-library/lib/features/employer/models/user/employerLogin';\r\nimport { IEmpProfileAccountLogin } from 'epay-library/lib/features/employer/models/user/profile/employerProfileAccountLogin';\r\nimport { IEmpProfileAccountResults } from 'epay-library/lib/features/employer/models/user/profile/employerProfileAccountResults';\r\nimport { debounceTime } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'epay-secondary-registration',\r\n templateUrl: './secondary-registration.component.html'\r\n})\r\nexport class EMPSecondaryRegistrationComponent implements OnInit {\r\n pagetitle = 'Employer: Complete Secondary Account Registration';\r\n baseurl: string;\r\n userEmailForLogin: boolean;\r\n\r\n constructor() {\r\n this.baseurl = CommonSettings.BaseApi;\r\n this.userEmailForLogin = CommonSettings.UseEmailForLogin;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n}","<epay-page-content [pagetitle]=\"pagetitle\">\r\n <div class=\"page-content-main pa-0\" id=\"page-content-main\">\r\n <!-- <epay-lib-employer-secondary-registration\r\n [baseurl] = \"baseurl\"\r\n [userEmailForLogin] = \"userEmailForLogin\">\r\n </epay-lib-employer-secondary-registration> -->\r\n\r\n <employer-secondary-registration \r\n [baseurl] = \"baseurl\"\r\n [userEmailForLogin] = \"userEmailForLogin\">\r\n </employer-secondary-registration>\r\n </div>\r\n</epay-page-content>","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuardService } from 'epay-library';\r\nimport { EMPACHDInformationComponent } from './components/achd/information/achd-information.component';\r\nimport { EMPACHDLandingComponent } from './components/achd/landing/achd.landing.component';\r\nimport { EMPPaymentComponent } from './components/achd/payment/payment.component';\r\nimport { EMPPaymentAccountListComponent } from './components/achd/paymentaccount/paymentaccountlist.component';\r\nimport { EMPCreditCardLandingComponent } from './components/creditcard/landing/creditcard.landing.component';\r\nimport { EMPCreditCardPaymentComponent } from './components/creditcard/payment/creditcard.payment.component';\r\nimport { EMPEFTCreateFileComponent } from './components/eft/createfile/createfile.component';\r\nimport { EMPEFTInformationComponent } from './components/eft/information/eft-information.component';\r\nimport { EMPEFTLandingComponent } from './components/eft/landing/eft.landing.component';\r\nimport { EMPHomeComponent } from './components/home/home.component';\r\nimport { EMPProfileComponent } from './components/profile/profile.component';\r\nimport { EMPRegisterComponent } from './components/register/employer.register.component';\r\nimport { EMPSecondaryRegistrationComponent } from './components/register/secondary-registration/secondary-registration.component';\r\nimport { EmployerModuleComponent } from './employer.module.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: EmployerModuleComponent },\r\n { path: 'register', component: EMPRegisterComponent },\r\n {\r\n path: 'completeregistration',\r\n component: EMPSecondaryRegistrationComponent,\r\n },\r\n\r\n {\r\n path: 'home',\r\n canActivate: [AuthGuardService],\r\n component: EMPHomeComponent,\r\n },\r\n\r\n {\r\n path: 'creditcard/payment',\r\n canActivate: [AuthGuardService],\r\n component: EMPCreditCardPaymentComponent,\r\n },\r\n {\r\n path: 'creditcard/landing',\r\n canActivate: [AuthGuardService],\r\n component: EMPCreditCardLandingComponent,\r\n },\r\n\r\n {\r\n path: 'profile',\r\n canActivate: [AuthGuardService],\r\n component: EMPProfileComponent,\r\n },\r\n {\r\n path: 'profile/settings',\r\n canActivate: [AuthGuardService],\r\n component: EMPProfileComponent,\r\n },\r\n\r\n {\r\n path: 'achd/landing',\r\n canActivate: [AuthGuardService],\r\n component: EMPACHDLandingComponent,\r\n },\r\n { path: 'achd/information', component: EMPACHDInformationComponent },\r\n {\r\n path: 'achd/payment',\r\n canActivate: [AuthGuardService],\r\n component: EMPPaymentComponent,\r\n },\r\n {\r\n path: 'achd/paymentaccounts',\r\n canActivate: [AuthGuardService],\r\n component: EMPPaymentAccountListComponent,\r\n },\r\n\r\n {\r\n path: 'eft/landing',\r\n canActivate: [AuthGuardService],\r\n component: EMPEFTLandingComponent,\r\n },\r\n { path: 'eft/information', component: EMPEFTInformationComponent },\r\n {\r\n path: 'eft/createfile',\r\n canActivate: [AuthGuardService],\r\n component: EMPEFTCreateFileComponent,\r\n },\r\n\r\n { path: '**', component: EMPHomeComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class EmployerRoutingModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'epay-employer.module',\r\n templateUrl: './employer.module.component.html'\r\n})\r\nexport class EmployerModuleComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<router-outlet></router-outlet>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { EmployerRoutingModule } from './employer-routing.module';\r\nimport { EmployerModuleComponent } from './employer.module.component';\r\nimport { EmployerLibraryModule, MaterialLibraryModule } from 'epay-library';\r\nimport { HelperLibraryModule } from 'epay-library';\r\nimport { CommonLibraryModule } from 'epay-library';\r\nimport { BaseLayoutModule } from '../layout/base-layout.module';\r\nimport { EMPHomeComponent } from './components/home/home.component';\r\n\r\nimport { EMPRegisterComponent } from './components/register/employer.register.component';\r\nimport { EMPACHDLandingComponent } from './components/achd/landing/achd.landing.component';\r\nimport { EMPCreditCardLandingComponent } from './components/creditcard/landing/creditcard.landing.component';\r\nimport { EMPCreditCardPaymentComponent } from './components/creditcard/payment/creditcard.payment.component';\r\nimport { EMPEFTCreateFileComponent } from './components/eft/createfile/createfile.component';\r\nimport { EMPEFTInformationComponent } from './components/eft/information/eft-information.component';\r\nimport { EMPEFTLandingComponent } from './components/eft/landing/eft.landing.component';\r\nimport { EMPProfileComponent } from './components/profile/profile.component';\r\nimport { EMPACHDInformationComponent } from './components/achd/information/achd-information.component';\r\nimport { EMPPaymentComponent } from './components/achd/payment/payment.component';\r\nimport { EMPPaymentAccountListComponent } from './components/achd/paymentaccount/paymentaccountlist.component';\r\nimport { EMPSecondaryRegistrationComponent } from './components/register/secondary-registration/secondary-registration.component';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { MaskDataPipe } from 'epay-library';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { ngxInputRegulateModule } from 'ngx-input-regulate';\r\nimport { InteractiveCreditCardEMPComponent } from './components/creditcard/payment/interactive-credit-card-emp/interactive-credit-card-emp.component';\r\nimport { EMPProfileSecurityComponent } from './components/profile/empprofile-security/empprofile-security.component';\r\nimport { EmployerProfileAccountComponent } from './components/profile/employer-profile-account/employer-profile-account.component';\r\nimport { EmployerSecondaryRegistrationComponent } from './components/register/secondary-registration/empsecondary-registration/empsecondary-registration.component';\r\nimport { EMPSecurityCodeHelpComponent } from './components/creditcard/payment/empsecurity-code-help/empsecurity-code-help.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n EmployerModuleComponent,\r\n EMPHomeComponent,\r\n EMPRegisterComponent,\r\n EMPACHDLandingComponent,\r\n EMPEFTLandingComponent,\r\n EMPProfileComponent,\r\n EMPPaymentComponent,\r\n EMPPaymentAccountListComponent,\r\n EMPSecondaryRegistrationComponent,\r\n EMPACHDInformationComponent,\r\n EMPEFTInformationComponent,\r\n EMPEFTCreateFileComponent,\r\n EMPCreditCardPaymentComponent,\r\n EMPCreditCardLandingComponent,\r\n InteractiveCreditCardEMPComponent,\r\n EMPProfileSecurityComponent,\r\n EmployerProfileAccountComponent,\r\n EmployerSecondaryRegistrationComponent,\r\n EMPSecurityCodeHelpComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n EmployerRoutingModule,\r\n EmployerLibraryModule,\r\n HelperLibraryModule,\r\n CommonLibraryModule,\r\n BaseLayoutModule,\r\n MatFormFieldModule,\r\n MaterialLibraryModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n ngxInputRegulateModule,\r\n MatCardModule,\r\n MatTabsModule,\r\n MatTooltipModule,\r\n NgxMaskModule.forRoot(),\r\n ],\r\n providers: [MaskDataPipe],\r\n})\r\nexport class EmployerModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpHeaderResponse,\r\n HttpHeaders,\r\n HttpParams,\r\n HttpClient,\r\n HttpErrorResponse,\r\n} from '@angular/common/http';\r\nimport { IEmpSearchResults, CommonSettings } from 'epay-library';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EmployerService {\r\n private serviceurl = CommonSettings.BaseApi;\r\n private environment = CommonSettings.Environment;\r\n private ecomGateway = 'EcommerceGateway/Ecommmerce';\r\n\r\n HttpOptions = {\r\n headers: new HttpHeaders(),\r\n params: new HttpParams(),\r\n };\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n getEmployerTerms() {\r\n const file = 'assets/terms/employer/disclaimer.txt';\r\n return this.http\r\n .get(file, { responseType: 'text' })\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n getEFTInfo() {\r\n const file = 'assets/information/eft.html';\r\n return this.http\r\n .get(file, { responseType: 'text' })\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n getACHDInfo() {\r\n const file = 'assets/information/achd.html';\r\n return this.http\r\n .get(file, { responseType: 'text' })\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n getLoginHelp() {\r\n const file = 'assets/help/loginHelpEmployer.html';\r\n return this.http\r\n .get(file, { responseType: 'text' })\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n getEmployers(\r\n baseurl: string,\r\n employerName: string,\r\n employerEIN: string,\r\n includeAllEmployers: boolean,\r\n includeHasHold: boolean\r\n ): Observable<IEmpSearchResults[]> {\r\n const apiCmd = 'searchEmployer';\r\n const gateway = 'EPayGateway/EPay/api/v1/Registration:';\r\n this.HttpOptions.params = new HttpParams()\r\n .set('thirdPartyName', employerName)\r\n .set('ein', employerEIN === null ? '' : employerEIN)\r\n .set('includeAllEmployers', includeAllEmployers) // false = don't show inactive accounts\r\n .set('includeHasHold', includeHasHold); // false = bypass has hold check\r\n\r\n return this.http\r\n .get<IEmpSearchResults[]>(baseurl + gateway + apiCmd, this.HttpOptions)\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n private handleError(err: HttpErrorResponse) {\r\n let errorMessage = '';\r\n if (err.error instanceof ErrorEvent) {\r\n errorMessage = `An error occurred: ${err.error.message}`;\r\n } else {\r\n errorMessage = `Server returned code: ${err.status}, error message is: ${err.message}`;\r\n }\r\n console.log(errorMessage);\r\n return throwError(() => err);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { GlobalNavComponent } from './global-nav/global-nav.component';\r\nimport { PageContentComponent } from './page-content/page-content.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@NgModule({\r\n declarations: [GlobalNavComponent, PageContentComponent],\r\n imports: [CommonModule, RouterModule, NgbModule],\r\n exports: [GlobalNavComponent, PageContentComponent],\r\n})\r\nexport class BaseLayoutModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from 'epay-library';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'epay-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n})\r\nexport class FooterComponent implements OnInit {\r\n username$: Observable<string> = of('');\r\n usertype$: Observable<string> = of('');\r\n isLoggedIn$: Observable<boolean> = of(false);\r\n\r\n constructor(private authservice: AuthService) {}\r\n\r\n ngOnInit() {\r\n this.isLoggedIn$ = this.authservice.isLoggedIn;\r\n this.username$ = this.authservice.currentUserName;\r\n this.usertype$ = this.authservice.currentUserType;\r\n }\r\n}\r\n","<footer class=\"page-footer\">\r\n <div class=\"footer-nav \">\r\n <ul class=\"footer-nav-menu\">\r\n <li>\r\n <div *ngIf=\"!(isLoggedIn$ | async)\">\r\n <a [routerLink]=\"['/home']\">Home</a>\r\n </div>\r\n <div *ngIf=\"(isLoggedIn$ | async) && (usertype$ | async) === 'employer'\">\r\n <a [routerLink]=\"['/employer/home']\">Home</a>\r\n </div>\r\n <div *ngIf=\"(isLoggedIn$ | async) && (usertype$ | async) === 'NCP'\">\r\n <a [routerLink]=\"['/ncp/achd/landing']\">Home</a>\r\n </div>\r\n </li>\r\n <li><a [routerLink]=\"['/demo']\">Demo</a></li>\r\n <li><a [routerLink]=\"['/contact']\">Contact Us</a></li>\r\n <li><a [routerLink]=\"['/privacypolicy']\">Privacy Policy</a></li>\r\n <li><a [routerLink]=\"['/faq']\"> FAQs</a></li>\r\n <li><a [routerLink]=\"['/securitypolicy']\">Security</a></li>\r\n </ul>\r\n </div>\r\n <div class=\"footer-small-text\">\r\n <p>Please read our <a [routerLink]=\"['/termsandconditions']\">Terms and Conditions</a> and\r\n <a [routerLink]=\"['/webaccessibility']\">Web Accessibility Policy</a>\r\n </p>\r\n </div>\r\n</footer>","import {\r\n Component,\r\n Input,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n ElementRef,\r\n HostListener,\r\n OnChanges,\r\n SimpleChanges,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { MatSnackBarConfig } from '@angular/material/snack-bar';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport {\r\n AuthService,\r\n EMPLOYER_PROFILE_SETTINGS_URL,\r\n NCP_PROFILE_SETTINGS_URL,\r\n CommonSettings\r\n} from 'epay-library';\r\nimport { Observable, of } from 'rxjs';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'epay-global-nav',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './global-nav.component.html',\r\n styleUrls: ['./global-nav.component.scss'],\r\n})\r\nexport class GlobalNavComponent implements OnInit, OnChanges, OnDestroy {\r\n sessionTimeout: string;\r\n isGlobalNavOpen: boolean = false;\r\n routerNavEndSubscription: Subscription;\r\n employerProfileUrl = EMPLOYER_PROFILE_SETTINGS_URL;\r\n ncpProfileUrl = NCP_PROFILE_SETTINGS_URL;\r\n\r\n @Input() isMobile = false;\r\n @Input() baseurl = '';\r\n\r\n username$: Observable<string> = of('');\r\n usertype$: Observable<string> = of('');\r\n isLoggedIn$: Observable<boolean> = of(false);\r\n\r\n @ViewChild('globalNavBlock', { static: true }) globalNavBlock:\r\n | ElementRef\r\n | undefined;\r\n @ViewChild('mobileNavToggleBtn', { static: true })\r\n mobileNavToggleBtn: ElementRef | undefined;\r\n\r\n @HostListener('window:click', ['$event'])\r\n onClickOutside(event: PointerEvent) {\r\n const clickedEl = event.target;\r\n const hasClickedOutsideNav =\r\n !this.globalNavBlock!.nativeElement.contains(clickedEl) &&\r\n !this.mobileNavToggleBtn!.nativeElement.contains(clickedEl);\r\n if (hasClickedOutsideNav && this.isGlobalNavOpen) {\r\n this.isGlobalNavOpen = false;\r\n }\r\n }\r\n\r\n @HostListener('window:keyup', ['$event'])\r\n onEscKey(event: KeyboardEvent) {\r\n const whichKey = event.key;\r\n if (this.isGlobalNavOpen && whichKey === 'Escape') {\r\n this.isGlobalNavOpen = false;\r\n }\r\n }\r\n\r\n constructor(\r\n private authservice: AuthService,\r\n private router: Router,\r\n public snackbar: MatSnackBar\r\n ) {\r\n this.sessionTimeout = CommonSettings.TimeOutInMins;\r\n this.routerNavEndSubscription = this.router.events\r\n .pipe(filter((ev) => ev instanceof NavigationEnd))\r\n .subscribe(() => {\r\n this.isGlobalNavOpen = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.isLoggedIn$ = this.authservice.isLoggedIn;\r\n this.username$ = this.authservice.currentUserName;\r\n this.usertype$ = this.authservice.currentUserType;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['isMobile'] && !this.isMobile) {\r\n this.isGlobalNavOpen = false;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.routerNavEndSubscription.unsubscribe();\r\n }\r\n\r\n logout() {\r\n this.authservice.logout(this.baseurl);\r\n // this.isLoggedIn = false;\r\n // this.usertype = '';\r\n // this.username = '';\r\n this.openSnackBar(\r\n 'You have been successfully logged out.',\r\n 3500,\r\n 'snackbar-success'\r\n );\r\n }\r\n\r\n openSnackBar(message: string, time: number, style: string) {\r\n const config = new MatSnackBarConfig();\r\n config.horizontalPosition = 'center';\r\n config.verticalPosition = 'top';\r\n config.duration = time;\r\n config.panelClass = style;\r\n this.snackbar.open(message, '', config);\r\n }\r\n\r\n toggleGlobalNav(event: any): void {\r\n this.isGlobalNavOpen = !this.isGlobalNavOpen;\r\n }\r\n}\r\n","<nav [ngClass]=\"(isLoggedIn$ | async) ? 'authed' : 'unauthed'\" id=\"mainNav\">\r\n <header class=\"site-header\">\r\n <div class=\"branding\">\r\n\r\n <div *ngIf=\"!(isLoggedIn$ | async)\">\r\n <a class=\"logo-home-link\" [routerLink]=\"['/home']\">\r\n <span class=\"logo-home-block\">\r\n <img class=\"fit\" src=\"../../../../assets//images/thumbnail_okhs_logo.png\"></span>\r\n </a>\r\n </div>\r\n\r\n <div *ngIf=\"(isLoggedIn$ | async) && (usertype$ | async) === 'employer'\">\r\n <a class=\"logo-home-link\" [routerLink]=\"['/employer/home']\">\r\n <span class=\"logo-home-block\">\r\n <img class=\"fit\" src=\"../../../../assets//images/thumbnail_okhs_logo.png\"></span>\r\n </a>\r\n </div>\r\n\r\n <div *ngIf=\"(isLoggedIn$ | async) && (usertype$ | async) === 'NCP'\">\r\n <a class=\"logo-home-link\" [routerLink]=\"['/ncp/achd/landing']\">\r\n <span class=\"logo-home-block\">\r\n <img class=\"fit\" src=\"../../../../assets//images/thumbnail_okhs_logo.png\"></span>\r\n </a>\r\n </div>\r\n\r\n <span class=\"site-title\">\r\n <b class=\"tf-serif\">SMART Oklahoma <span class=\"text-unit\">Child Support</span></b>\r\n <span class=\"subtitle tf-sans\">Internet Payment Website</span>\r\n </span>\r\n </div>\r\n <div class=\"welcome welcome-area\">\r\n <span *ngIf=\"(isLoggedIn$ | async) && !isMobile\">Welcome, {{username$ | async}} </span>\r\n </div>\r\n <button class=\"global-nav-toggler navbar-toggler\" type=\"button\" aria-expanded=\"false\"\r\n aria-label=\"Toggle Global Navigation\" (click)=\"toggleGlobalNav($event)\" #mobileNavToggleBtn>\r\n <b class=\"fa fa-bars fa-lg\"></b>\r\n </button>\r\n </header>\r\n <div class=\"navbar navbar-expand-lg page-nav-block\">\r\n <div id=\"global-nav-block\" class=\"collapse navbar-collapse\" [ngClass]=\"{'show': isGlobalNavOpen}\" #globalNavBlock>\r\n <div *ngIf=\"(isLoggedIn$ | async); else elseBlock\" class=\"authed-nav-block\">\r\n <div *ngIf=\"(usertype$ | async) === 'employer'; else ncpNavBlock\" class=\"employer-nav-block\" #employerNavBlock>\r\n <ul ngbNav #navEmployer=\"ngbNav\" class=\"nav-pills global-nav-menu\">\r\n <li [ngbNavItem]=\"1\">\r\n <a class=\"nav-link global-nav-link\" [routerLink]=\"['/employer/home']\">Home</a>\r\n </li>\r\n <li [ngbNavItem]=\"2\" ngbDropdown>\r\n <a href (click)=\"false\" class=\"nav-link\" ngbDropdownToggle>ACH Debit\r\n <span class=\"fa fa-chevron-circle-down\"></span>\r\n </a>\r\n <div class=\"dropdown-menu\" ngbDropdownMenu>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/achd/landing']\" ngbDropdownItem>ACH Debit Home</a>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/achd/payment']\" ngbDropdownItem>Create New\r\n Payment</a>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/achd/paymentaccounts']\" ngbDropdownItem>Manage Bank\r\n Accounts</a>\r\n <div class=\"dropdown-divider\"></div>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/achd/information']\" ngbDropdownItem>About ACH\r\n Debit</a>\r\n </div>\r\n </li>\r\n <li [ngbNavItem]=\"3\" ngbDropdown>\r\n <a href (click)=false class=\"nav-link\" ngbDropdownToggle>ACH Credit (EFT/EDI)\r\n <span class=\"fa fa-chevron-circle-down\"></span>\r\n </a>\r\n <div class=\"dropdown-menu\" ngbDropdownMenu>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/eft/landing']\" ngbDropdownItem>ACH Credit (EFT/EDI)\r\n Home</a>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/eft/createfile']\" ngbDropdownItem>Reconcile\r\n Employees and/or Create\r\n File</a>\r\n <div class=\"dropdown-divider\"></div>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/eft/information']\" ngbDropdownItem>About ACH Credit\r\n (EFT/EDI)</a>\r\n </div>\r\n </li>\r\n <li [ngbNavItem]=\"4\" ngbDropdown>\r\n <a href (click)=false class=\"nav-link\" ngbDropdownToggle>Credit Card\r\n <span class=\"fa fa-chevron-circle-down\"></span>\r\n </a>\r\n <div class=\"dropdown-menu\" ngbDropdownMenu>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/creditcard/landing']\" ngbDropdownItem>Credit Card\r\n Home</a>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/creditcard/payment']\" ngbDropdownItem>Make a Credit\r\n Card Payment</a>\r\n </div>\r\n </li>\r\n <li [ngbNavItem]=\"5\" ngbDropdown>\r\n <a href (click)=\"false\" class=\"nav-link\" ngbDropdownToggle>Helpful Links\r\n <span class=\"fa fa-chevron-circle-down\"></span>\r\n </a>\r\n <div class=\"dropdown-menu\" ngbDropdownMenu>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/achd/information']\" ngbDropdownItem>ACH Debit </a>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/eft/information']\" ngbDropdownItem>ACH Credit\r\n (EFT/EDI) </a>\r\n <a class=\"dropdown-child\" download=\"employereft\" target=\"_blank\" href=\"/assets/forms/employereft.pdf\"\r\n ngbDropdownItem>\r\n Employer ACH Credit (EFT/ EDI) Packet\r\n <i class=\"fa fa-download\" aria-hidden=\"true\"></i></a>\r\n <a class=\"dropdown-child\"\r\n href=\"https://www.nacha.org/system/files/resources/Child-Support-User-%20Guide-%20Feb%202017%202.pdf\"\r\n target=\"_blank\" ngbDropdownItem>NACHA’s User Guide for Electronic Payments</a>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/demo']\" ngbDropdownItem>Website Help</a>\r\n </div>\r\n </li>\r\n <li class=\"nav-spacing\" aria-hidden=\"true\"></li>\r\n <li [ngbNavItem]=\"6\" ngbDropdown>\r\n <a href (click)=false class=\"nav-link\" ngbDropdownToggle>Account\r\n <span class=\"fa fa-user-circle-o\"></span>\r\n </a>\r\n <div class=\"dropdown-menu dropdown-menu-right\" ngbDropdownMenu>\r\n <a class=\"dropdown-child\" [routerLink]=\"employerProfileUrl\" ngbDropdownItem>Profile and Settings</a>\r\n <a class=\"dropdown-child\" (click)=\"logout()\" ngbDropdownItem>Log Out</a>\r\n </div>\r\n </li>\r\n </ul>\r\n <div [ngbNavOutlet]=\"navEmployer\" class=\"authed-global-nav-block\"></div>\r\n\r\n </div>\r\n <ng-template #ncpNavBlock>\r\n <div class=\"ncp-nav-block\" id=\"ncp-nav-block\">\r\n <ul ngbNav #navNcp=\"ngbNav\" class=\"nav-pills global-nav-menu\">\r\n <li [ngbNavItem]=\"1\">\r\n <a class=\"nav-link global-nav-link\" [routerLink]=\"['/ncp/achd/landing']\">Home</a>\r\n </li>\r\n <li [ngbNavItem]=\"2\" ngbDropdown>\r\n <a href (click)=\"false\" class=\"nav-link\" ngbDropdownToggle>ACH Debit\r\n <span class=\"fa fa-chevron-circle-down\"></span>\r\n </a>\r\n <div class=\"dropdown-menu\" ngbDropdownMenu>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/ncp/achd/landing']\" ngbDropdownItem>ACH Debit Home</a>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/ncp/achd/payment']\" ngbDropdownItem>Create New\r\n Payment</a>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/ncp/achd/paymentaccount']\" ngbDropdownItem>Manage Bank\r\n Accounts</a>\r\n <div class=\"dropdown-divider\"></div>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/ncp/achd/information']\" ngbDropdownItem>About ACH\r\n Debit</a>\r\n </div>\r\n </li>\r\n <li [ngbNavItem]=\"3\" ngbDropdown>\r\n <a href (click)=false class=\"nav-link\" ngbDropdownToggle>Credit Card\r\n <span class=\"fa fa-chevron-circle-down\"></span>\r\n </a>\r\n <div class=\"dropdown-menu\" ngbDropdownMenu>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/ncp/creditcard']\" ngbDropdownItem>Make a Credit Card\r\n Payment\r\n </a>\r\n </div>\r\n </li>\r\n <li [ngbNavItem]=\"5\" ngbDropdown>\r\n <a href (click)=\"false\" class=\"nav-link\" ngbDropdownToggle>Helpful Links\r\n <span class=\"fa fa-chevron-circle-down\"></span>\r\n </a>\r\n <div class=\"dropdown-menu\" ngbDropdownMenu>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/achd/information']\" ngbDropdownItem>ACH Debit </a>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/eft/information']\" ngbDropdownItem>ACH Credit\r\n (EFT/EDI) </a>\r\n <a class=\"dropdown-child\" download=\"employereft\" target=\"_blank\" href=\"/assets/forms/employereft.pdf\"\r\n ngbDropdownItem>\r\n Employer ACH Credit (EFT/ EDI) Packet\r\n <i class=\"fa fa-download\" aria-hidden=\"true\"></i></a>\r\n <a class=\"dropdown-child\"\r\n href=\"https://www.nacha.org/system/files/resources/Child-Support-User-%20Guide-%20Feb%202017%202.pdf\"\r\n target=\"_blank\" ngbDropdownItem>NACHA’s User Guide for Electronic Payments</a>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/demo']\" ngbDropdownItem>Website Help</a>\r\n </div>\r\n </li>\r\n <li class=\"nav-spacing\" aria-hidden=\"true\"></li>\r\n <li [ngbNavItem]=\"5\" ngbDropdown>\r\n <a href (click)=\"false\" class=\"nav-link global-nav-link\" ngbDropdownToggle>Account\r\n <span class=\"fa fa-user-circle-o\"></span>\r\n </a>\r\n <div class=\"dropdown-menu dropdown-menu-right\" ngbDropdownMenu>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/ncp/profile/settings']\" ngbDropdownItem>Profile and\r\n Settings</a>\r\n <a class=\"dropdown-child\" (click)=\"logout()\" ngbDropdownItem>Log Out</a>\r\n </div>\r\n </li>\r\n </ul>\r\n <div [ngbNavOutlet]=\"navNcp\" class=\"authed-global-nav-block\"></div>\r\n </div>\r\n\r\n </ng-template>\r\n </div>\r\n <ng-template #elseBlock>\r\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-pills global-nav-menu\">\r\n <li [ngbNavItem]=\"1\"><a class=\"nav-link global-nav-link\" [routerLink]=\"['/home']\">Home</a></li>\r\n <li [ngbNavItem]=\"2\" ngbDropdown>\r\n <a href class=\"nav-link global-nav-link\" (click)=false ngbDropdownToggle>Noncustodial Parent\r\n <span class=\"fa fa-chevron-circle-down\"></span>\r\n </a>\r\n <div class=\"dropdown-menu\" ngbDropdownMenu>\r\n <!-- <a class=\"dropdown-child\" [routerLink]=\"['/ncp']\" ngbDropdownItem>Information</a>\r\n <div class=\"dropdown-divider\"></div> -->\r\n <a class=\"dropdown-child\" [routerLink]=\"['/login']\" ngbDropdownItem>Login</a>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/ncp/register']\" ngbDropdownItem>Create Account</a>\r\n </div>\r\n </li>\r\n <li [ngbNavItem]=\"3\" ngbDropdown>\r\n <a href class=\"nav-link global-nav-link\" (click)=false ngbDropdownToggle>Employers\r\n <span class=\"fa fa-chevron-circle-down\"></span>\r\n </a>\r\n <div class=\"dropdown-menu\" ngbDropdownMenu>\r\n <a class=\"dropdown-child\" [state]=\"{ userType: 'employer' }\" [routerLink]=\"['/login']\"\r\n ngbDropdownItem>Login</a>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/register']\" ngbDropdownItem>Create Account</a>\r\n </div>\r\n </li>\r\n <li [ngbNavItem]=\"4\" ngbDropdown>\r\n <a href class=\"nav-link global-nav-link dropdown-menu-toggle\" (click)=false ngbDropdownToggle>Helpful Links\r\n <span class=\"fa fa-chevron-circle-down\"></span>\r\n </a>\r\n <div class=\"dropdown-menu\" ngbDropdownMenu>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/achd/information']\" ngbDropdownItem>ACH Debit </a>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/employer/eft/information']\" ngbDropdownItem>ACH Credit\r\n (EFT/EDI) </a>\r\n <a class=\"dropdown-child\" download=\"employereft\" target=\"_blank\" href=\"/assets/forms/employereft.pdf\"\r\n ngbDropdownItem>\r\n Employer EFT/EDI Packet\r\n <i class=\"fa fa-download\" aria-hidden=\"true\"></i></a>\r\n <a class=\"dropdown-child\"\r\n href=\"https://www.nacha.org/system/files/resources/Child-Support-User-%20Guide-%20Feb%202017%202.pdf\"\r\n target=\"_blank\" ngbDropdownItem>NACHA’s User Guide for Electronic Payments</a>\r\n <a class=\"dropdown-child\" [routerLink]=\"['/demo']\" ngbDropdownItem>Website Help</a>\r\n </div>\r\n </li>\r\n </ul>\r\n <div [ngbNavOutlet]=\"nav\" class=\"unauthed-global-nav-block\"></div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</nav>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'epay-page-content',\r\n templateUrl: './page-content.component.html',\r\n styleUrls: ['./page-content.component.scss'],\r\n})\r\nexport class PageContentComponent implements OnInit {\r\n @Input() pagetitle = '';\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","<div class=\"page-title-bar\">\r\n <h1 class=\"page-title\">\r\n {{pagetitle}}\r\n </h1>\r\n</div>\r\n<div class=\"page-content footer-gap\">\r\n <!--Container-->\r\n <div class=\"page-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-error-dialog',\r\n templateUrl: './error-dialog.component.html'\r\n})\r\nexport class ErrorDialogComponent implements OnInit {\r\n title: string;\r\n message: string;\r\n message2: string;\r\n message3: string;\r\n startTime: string;\r\n endTime: string;\r\n showDialogButton: boolean;\r\n acctdetail: string;\r\n\r\n constructor( \r\n public dialogRef: MatDialogRef<ErrorDialogComponent>,\r\n @Inject(MAT_DIALOG_DATA) public data: ErrorHandlerDialogModel) { \r\n // Update view with given values\r\n this.title = data.title;\r\n this.message = data.message;\r\n this.message2 = data.message2;\r\n this.message3 = data.message3;\r\n this.startTime = data.startTime;\r\n this.endTime = data.endTime;\r\n this.acctdetail = '';\r\n this.showDialogButton = data.showDialogButton;\r\n dialogRef.disableClose = true;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onDismiss(): void {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n}\r\n/**\r\n * Class to represent error handler dialog model.\r\n *\r\n * It has been kept here to keep it as part of helper components.\r\n */\r\nexport class ErrorHandlerDialogModel {\r\n constructor(\r\n public title: string,\r\n public message: string,\r\n public message2: string,\r\n public message3: string,\r\n public startTime: string,\r\n public endTime: string,\r\n public showDialogButton: boolean\r\n ) {}\r\n}\r\n","<div class=\"text-center\">\r\n <h2 mat-dialog-title>\r\n <span class=\"fa fa-exclamation-triangle fa-lg-red\"></span>\r\n {{title}}\r\n </h2>\r\n \r\n <div mat-dialog-content>\r\n <p>{{message}}</p>\r\n </div>\r\n <div *ngIf=\"startTime\" mat-dialog-content>\r\n <p class=\"text-center\">\r\n {{startTime}} and {{endTime}}\r\n </p>\r\n </div>\r\n <div mat-dialog-content>\r\n <p class=\"text-center\">\r\n {{message2}}\r\n </p>\r\n </div>\r\n <div mat-dialog-content>\r\n <h5>\r\n {{message3}}\r\n </h5>\r\n </div>\r\n \r\n <div *ngIf=\"showDialogButton\" mat-dialog-actions>\r\n <button class=\"btn btn-dialog-primary\" mat-raised-button (click)=\"onDismiss()\">OK</button>\r\n </div>\r\n </div>","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpEvent, HttpHandler, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { BusyService } from 'epay-library';\r\n\r\n@Injectable()\r\nexport class BusyInterceptor implements HttpInterceptor {\r\n excludeAPIs: string[];\r\n\r\n constructor(private busyService: BusyService) {\r\n this.excludeAPIs = [];\r\n // add api commands that we don't block ui\r\n this.excludeAPIs.push('searchDuplicateLoginId');\r\n this.excludeAPIs.push('getChallengeQuestion');\r\n this.excludeAPIs.push('validateChallengeAnswer');\r\n this.excludeAPIs.push('searchEmployer');\r\n this.excludeAPIs.push('searchDuplicateEmail');\r\n this.excludeAPIs.push('searchDuplicateEin');\r\n this.excludeAPIs.push('searchPendingRegistration');\r\n this.excludeAPIs.push('ScheduledPayments:checkParticipants');\r\n this.excludeAPIs.push('ScheduledPayments:getNextScheduledDate');\r\n this.excludeAPIs.push('ScheduledPayments:getEarliestStartDateForNewPayment');\r\n this.excludeAPIs.push('ScheduledPayments:activeInactive');\r\n this.excludeAPIs.push('ScheduledPayments:paymentHistory');\r\n this.excludeAPIs.push('ScheduledPayments:activeInactive');\r\n this.excludeAPIs.push('ScheduledPaymentAccounts:withStatusAndCounts');\r\n this.excludeAPIs.push('Registration:states');\r\n this.excludeAPIs.push('ACHG:getGeneratedFile');\r\n this.excludeAPIs.push('CreditCard:createCreditCardPaymentEmployer');\r\n this.excludeAPIs.push('Registration:ssnAndCaseNumberValidation');\r\n this.excludeAPIs.push('CreditCard:listCases');\r\n }\r\n\r\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n const msg = req.method === 'GET' ? 'Loading ...' : 'Saving ...';\r\n if (!this.blockUIExcept(req.url.toString())) {\r\n this.busyService.increment(msg);\r\n return next.handle(req).pipe(\r\n finalize(() => {\r\n this.busyService.decrement();\r\n })\r\n );\r\n } else {\r\n return next.handle(req).pipe(\r\n finalize(() => {\r\n this.busyService.staystill();\r\n })\r\n );\r\n }\r\n }\r\n\r\n blockUIExcept(url: string): boolean {\r\n let block = false;\r\n for (const api of this.excludeAPIs) {\r\n if (url.toLowerCase().includes(api.toLowerCase())) {\r\n block = true;\r\n break;\r\n } else {\r\n block = false;\r\n }\r\n }\r\n return block;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { Guid } from 'guid-typescript';\r\n\r\n@Injectable()\r\nexport class RequestInterceptor implements HttpInterceptor {\r\n\r\n requestId = '';\r\n constructor() {}\r\n\r\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n\r\n let request;\r\n let guid = Guid.create().toString();\r\n\r\n request = req.clone({\r\n params: req.params.set(\"requestId\", guid)\r\n });\r\n\r\n return next.handle(request) as any;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n} from '@angular/common/http';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { CommonSettings } from 'epay-library';\r\nimport { AuthService } from 'epay-library';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n token = '';\r\n excludeConfig: string[] = [];\r\n\r\n constructor(private authservice: AuthService) {\r\n this.excludeConfig.push('/assets/config/config.json');\r\n this.excludeConfig.push('EPay/api/v1/Parameters');\r\n }\r\n\r\n intercept(\r\n req: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> {\r\n this.authservice.currentUserToken.subscribe({\r\n next: (result: any) => (this.token = result),\r\n });\r\n let request;\r\n\r\n if (this.skipConfig(req.url.toString())) {\r\n request = req.clone({\r\n setHeaders: {\r\n Client: environment.clientID,\r\n },\r\n });\r\n return next.handle(request) as any;\r\n } else {\r\n if (this.token !== null) {\r\n if (this.token.startsWith('\"')) {\r\n this.token = this.token.substring(1, this.token.length - 1);\r\n }\r\n }\r\n\r\n if (this.token !== null && this.token !== undefined) {\r\n request = req.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${this.token}`,\r\n Environment: CommonSettings.Environment,\r\n Client: CommonSettings.ClientID,\r\n ClientName: CommonSettings.ClientName,\r\n },\r\n });\r\n } else {\r\n request = req.clone({\r\n setHeaders: {\r\n Environment:\r\n CommonSettings.Environment === undefined\r\n ? ''\r\n : CommonSettings.Environment,\r\n Client:\r\n CommonSettings.ClientID === undefined\r\n ? ''\r\n : CommonSettings.ClientID,\r\n ClientName:\r\n CommonSettings.ClientName === undefined\r\n ? ''\r\n : CommonSettings.ClientName,\r\n },\r\n });\r\n }\r\n\r\n return next.handle(request) as any;\r\n }\r\n }\r\n\r\n skipConfig(url: string): boolean {\r\n let block = false;\r\n for (const api of this.excludeConfig) {\r\n if (url.toLowerCase().includes(api.toLowerCase())) {\r\n block = true;\r\n break;\r\n } else {\r\n block = false;\r\n }\r\n }\r\n return block;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService, CommonSettings } from 'epay-library';\r\n\r\nvar MINUTES_UNITL_AUTO_LOGOUT = 0; // in mins\r\n//const MINUTES_UNITL_AUTO_LOGOUT = 15\r\nconst CHECK_INTERVAL = 15000; // in ms\r\nconst WARNING_TIME = 30000;\r\nconst STORE_KEY = 'lastAction';\r\n\r\n@Injectable(\r\n {\r\n providedIn: 'root'\r\n })\r\n\r\nexport class AutoLogoutService {\r\n val: any;\r\n isLoggedIn = false;\r\n\r\n\r\n public getLastAction() {\r\n // tslint:disable-next-line:radix\r\n return parseInt(sessionStorage.getItem(STORE_KEY)!);\r\n }\r\n public setLastAction(lastAction: number) {\r\n sessionStorage.setItem(STORE_KEY, lastAction.toString());\r\n }\r\n\r\n constructor(private router: Router,\r\n private authservice: AuthService) {\r\n\r\n MINUTES_UNITL_AUTO_LOGOUT = +CommonSettings.TimeOutInMins;\r\n this.authservice.isLoggedIn.subscribe(status => this.isLoggedIn = status);\r\n this.check();\r\n this.initListener();\r\n this.initInterval();\r\n sessionStorage.setItem(STORE_KEY, Date.now().toString());\r\n }\r\n\r\n initListener() {\r\n document.body.addEventListener('click', () => this.reset());\r\n document.body.addEventListener('mouseover', () => this.reset());\r\n document.body.addEventListener('mouseout', () => this.reset());\r\n document.body.addEventListener('keydown', () => this.reset());\r\n document.body.addEventListener('keyup', () => this.reset());\r\n document.body.addEventListener('keypress', () => this.reset());\r\n window.addEventListener('storage', () => this.storageEvt());\r\n }\r\n\r\n reset() {\r\n this.setLastAction(Date.now());\r\n }\r\n\r\n initInterval() {\r\n setInterval(() => {\r\n this.check();\r\n }, CHECK_INTERVAL);\r\n //console.log(CHECK_INTERVAL)\r\n }\r\n\r\n check() {\r\n if (this.isLoggedIn) {\r\n const now = Date.now();\r\n const timeleft = this.getLastAction() + +MINUTES_UNITL_AUTO_LOGOUT * 60 * 1000;\r\n const diff = timeleft - now;\r\n const isWarning = diff < WARNING_TIME;\r\n const isTimeout = diff < 0;\r\n if (isWarning) {\r\n this.router.navigateByUrl('logoutwarning');\r\n }\r\n\r\n if (isTimeout) {\r\n this.authservice.logout(CommonSettings.BaseApi);\r\n }\r\n\r\n //console.log(diff)\r\n }\r\n }\r\n\r\n storageEvt() {\r\n this.val = sessionStorage.getItem(STORE_KEY);\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, catchError, throwError } from 'rxjs';\r\nimport { IProcessCreditCard} from '../models/creditcard-payment.model';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CreditCardPaymentService {\r\n gateway = 'EPayGateway/EPay/api/v1/';\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders(),\r\n params: new HttpParams(),\r\n };\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n resetHeader() {\r\n this.httpOptions.headers = new HttpHeaders().set(\r\n 'Content-Type',\r\n 'application/json'\r\n );\r\n }\r\n\r\n insertProcessCreditCard(\r\n baseurl: string,\r\n ccPayment: IProcessCreditCard\r\n ): Observable<any> {\r\n const apiCmd = 'CreditCard:processCreditCard';\r\n this.resetHeader();\r\n\r\n return this.http\r\n .post<any>(baseurl + this.gateway + apiCmd, ccPayment)\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n private handleError(err: HttpErrorResponse) {\r\n let errorMessage = '';\r\n if (err.error instanceof ErrorEvent) {\r\n errorMessage = `An Error Occurred: ${err.error.message}`;\r\n } else if (err.status === 404 || err.status === 409) {\r\n return throwError(() => err);\r\n } else {\r\n errorMessage = `Server returned code: ${err.status}, error message is: ${err.message}`;\r\n console.log('Error Occurred: ' + errorMessage);\r\n }\r\n return throwError(() => err);\r\n }\r\n}\r\n\r\n","import { Inject, Injectable, Optional, PLATFORM_ID } from '@angular/core';\r\nimport { REQUEST } from '@nguniversal/express-engine/tokens';\r\nimport { Request } from 'express';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport {isPlatformServer} from '@angular/common';\r\n\r\n@Injectable()\r\nexport class UniversalDeviceDetectorService extends DeviceDetectorService {\r\n constructor(@Inject(PLATFORM_ID) platformId: any, @Optional() @Inject(REQUEST) request: Request) {\r\n super(platformId);\r\n if (isPlatformServer(platformId)) {\r\n super.setDeviceInfo((request.headers['user-agent'] as string) || '');\r\n }\r\n }\r\n}\r\n","export const environment = {\r\n clientID: '3',\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { CommonSettings } from 'epay-library';\r\nimport { AppModule } from './app/app.module';\r\n\r\nif (\r\n CommonSettings.Environment === 'PROD' ||\r\n CommonSettings.Environment === 'prod'\r\n) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic()\r\n .bootstrapModule(AppModule)\r\n .catch((err) => {\r\n console.error(err);\r\n const errorMsgTitle = document.querySelector('#errorMsgTitle');\r\n const errorMsgElement = document.querySelector('#errorMsgElement');\r\n let message = '';\r\n let title =\r\n 'An error occurred loading the website. Please try back at a later time.';\r\n if (err) {\r\n if (err.message) {\r\n message = 'ERROR: ' + err.message;\r\n } else {\r\n message = 'ERROR: ' + err;\r\n }\r\n }\r\n errorMsgTitle!.textContent = title;\r\n errorMsgElement!.textContent = message;\r\n });\r\n","var map = {\n\t\"./af\": 2139,\n\t\"./af.js\": 2139,\n\t\"./ar\": 2600,\n\t\"./ar-dz\": 1001,\n\t\"./ar-dz.js\": 1001,\n\t\"./ar-kw\": 9842,\n\t\"./ar-kw.js\": 9842,\n\t\"./ar-ly\": 9826,\n\t\"./ar-ly.js\": 9826,\n\t\"./ar-ma\": 5452,\n\t\"./ar-ma.js\": 5452,\n\t\"./ar-sa\": 1802,\n\t\"./ar-sa.js\": 1802,\n\t\"./ar-tn\": 4094,\n\t\"./ar-tn.js\": 4094,\n\t\"./ar.js\": 2600,\n\t\"./az\": 6375,\n\t\"./az.js\": 6375,\n\t\"./be\": 2086,\n\t\"./be.js\": 2086,\n\t\"./bg\": 5236,\n\t\"./bg.js\": 5236,\n\t\"./bm\": 1704,\n\t\"./bm.js\": 1704,\n\t\"./bn\": 4506,\n\t\"./bn-bd\": 4466,\n\t\"./bn-bd.js\": 4466,\n\t\"./bn.js\": 4506,\n\t\"./bo\": 7891,\n\t\"./bo.js\": 7891,\n\t\"./br\": 3348,\n\t\"./br.js\": 3348,\n\t\"./bs\": 4848,\n\t\"./bs.js\": 4848,\n\t\"./ca\": 5928,\n\t\"./ca.js\": 5928,\n\t\"./cs\": 1839,\n\t\"./cs.js\": 1839,\n\t\"./cv\": 9151,\n\t\"./cv.js\": 9151,\n\t\"./cy\": 5761,\n\t\"./cy.js\": 5761,\n\t\"./da\": 6686,\n\t\"./da.js\": 6686,\n\t\"./de\": 5177,\n\t\"./de-at\": 2311,\n\t\"./de-at.js\": 2311,\n\t\"./de-ch\": 4407,\n\t\"./de-ch.js\": 4407,\n\t\"./de.js\": 5177,\n\t\"./dv\": 9729,\n\t\"./dv.js\": 9729,\n\t\"./el\": 430,\n\t\"./el.js\": 430,\n\t\"./en-au\": 8430,\n\t\"./en-au.js\": 8430,\n\t\"./en-ca\": 1139,\n\t\"./en-ca.js\": 1139,\n\t\"./en-gb\": 6747,\n\t\"./en-gb.js\": 6747,\n\t\"./en-ie\": 9466,\n\t\"./en-ie.js\": 9466,\n\t\"./en-il\": 2121,\n\t\"./en-il.js\": 2121,\n\t\"./en-in\": 1167,\n\t\"./en-in.js\": 1167,\n\t\"./en-nz\": 2030,\n\t\"./en-nz.js\": 2030,\n\t\"./en-sg\": 3646,\n\t\"./en-sg.js\": 3646,\n\t\"./eo\": 3126,\n\t\"./eo.js\": 3126,\n\t\"./es\": 8819,\n\t\"./es-do\": 9293,\n\t\"./es-do.js\": 9293,\n\t\"./es-mx\": 5304,\n\t\"./es-mx.js\": 5304,\n\t\"./es-us\": 6068,\n\t\"./es-us.js\": 6068,\n\t\"./es.js\": 8819,\n\t\"./et\": 3291,\n\t\"./et.js\": 3291,\n\t\"./eu\": 1400,\n\t\"./eu.js\": 1400,\n\t\"./fa\": 43,\n\t\"./fa.js\": 43,\n\t\"./fi\": 6138,\n\t\"./fi.js\": 6138,\n\t\"./fil\": 1466,\n\t\"./fil.js\": 1466,\n\t\"./fo\": 6803,\n\t\"./fo.js\": 6803,\n\t\"./fr\": 5523,\n\t\"./fr-ca\": 697,\n\t\"./fr-ca.js\": 697,\n\t\"./fr-ch\": 9001,\n\t\"./fr-ch.js\": 9001,\n\t\"./fr.js\": 5523,\n\t\"./fy\": 1116,\n\t\"./fy.js\": 1116,\n\t\"./ga\": 6151,\n\t\"./ga.js\": 6151,\n\t\"./gd\": 3094,\n\t\"./gd.js\": 3094,\n\t\"./gl\": 1279,\n\t\"./gl.js\": 1279,\n\t\"./gom-deva\": 4458,\n\t\"./gom-deva.js\": 4458,\n\t\"./gom-latn\": 6320,\n\t\"./gom-latn.js\": 6320,\n\t\"./gu\": 8658,\n\t\"./gu.js\": 8658,\n\t\"./he\": 2153,\n\t\"./he.js\": 2153,\n\t\"./hi\": 8732,\n\t\"./hi.js\": 8732,\n\t\"./hr\": 4960,\n\t\"./hr.js\": 4960,\n\t\"./hu\": 2623,\n\t\"./hu.js\": 2623,\n\t\"./hy-am\": 1862,\n\t\"./hy-am.js\": 1862,\n\t\"./id\": 1068,\n\t\"./id.js\": 1068,\n\t\"./is\": 1260,\n\t\"./is.js\": 1260,\n\t\"./it\": 2991,\n\t\"./it-ch\": 8063,\n\t\"./it-ch.js\": 8063,\n\t\"./it.js\": 2991,\n\t\"./ja\": 6854,\n\t\"./ja.js\": 6854,\n\t\"./jv\": 2390,\n\t\"./jv.js\": 2390,\n\t\"./ka\": 5958,\n\t\"./ka.js\": 5958,\n\t\"./kk\": 7216,\n\t\"./kk.js\": 7216,\n\t\"./km\": 1061,\n\t\"./km.js\": 1061,\n\t\"./kn\": 4060,\n\t\"./kn.js\": 4060,\n\t\"./ko\": 5216,\n\t\"./ko.js\": 5216,\n\t\"./ku\": 894,\n\t\"./ku.js\": 894,\n\t\"./ky\": 609,\n\t\"./ky.js\": 609,\n\t\"./lb\": 3591,\n\t\"./lb.js\": 3591,\n\t\"./lo\": 8381,\n\t\"./lo.js\": 8381,\n\t\"./lt\": 6118,\n\t\"./lt.js\": 6118,\n\t\"./lv\": 7889,\n\t\"./lv.js\": 7889,\n\t\"./me\": 4274,\n\t\"./me.js\": 4274,\n\t\"./mi\": 9226,\n\t\"./mi.js\": 9226,\n\t\"./mk\": 528,\n\t\"./mk.js\": 528,\n\t\"./ml\": 7938,\n\t\"./ml.js\": 7938,\n\t\"./mn\": 5456,\n\t\"./mn.js\": 5456,\n\t\"./mr\": 4393,\n\t\"./mr.js\": 4393,\n\t\"./ms\": 3647,\n\t\"./ms-my\": 3049,\n\t\"./ms-my.js\": 3049,\n\t\"./ms.js\": 3647,\n\t\"./mt\": 6097,\n\t\"./mt.js\": 6097,\n\t\"./my\": 6277,\n\t\"./my.js\": 6277,\n\t\"./nb\": 7245,\n\t\"./nb.js\": 7245,\n\t\"./ne\": 3988,\n\t\"./ne.js\": 3988,\n\t\"./nl\": 2557,\n\t\"./nl-be\": 478,\n\t\"./nl-be.js\": 478,\n\t\"./nl.js\": 2557,\n\t\"./nn\": 9046,\n\t\"./nn.js\": 9046,\n\t\"./oc-lnc\": 3131,\n\t\"./oc-lnc.js\": 3131,\n\t\"./pa-in\": 1731,\n\t\"./pa-in.js\": 1731,\n\t\"./pl\": 8409,\n\t\"./pl.js\": 8409,\n\t\"./pt\": 1178,\n\t\"./pt-br\": 6558,\n\t\"./pt-br.js\": 6558,\n\t\"./pt.js\": 1178,\n\t\"./ro\": 4138,\n\t\"./ro.js\": 4138,\n\t\"./ru\": 3380,\n\t\"./ru.js\": 3380,\n\t\"./sd\": 2889,\n\t\"./sd.js\": 2889,\n\t\"./se\": 2774,\n\t\"./se.js\": 2774,\n\t\"./si\": 3776,\n\t\"./si.js\": 3776,\n\t\"./sk\": 9597,\n\t\"./sk.js\": 9597,\n\t\"./sl\": 3871,\n\t\"./sl.js\": 3871,\n\t\"./sq\": 4228,\n\t\"./sq.js\": 4228,\n\t\"./sr\": 774,\n\t\"./sr-cyrl\": 1928,\n\t\"./sr-cyrl.js\": 1928,\n\t\"./sr.js\": 774,\n\t\"./ss\": 3176,\n\t\"./ss.js\": 3176,\n\t\"./sv\": 2422,\n\t\"./sv.js\": 2422,\n\t\"./sw\": 2530,\n\t\"./sw.js\": 2530,\n\t\"./ta\": 5731,\n\t\"./ta.js\": 5731,\n\t\"./te\": 8025,\n\t\"./te.js\": 8025,\n\t\"./tet\": 2801,\n\t\"./tet.js\": 2801,\n\t\"./tg\": 9958,\n\t\"./tg.js\": 9958,\n\t\"./th\": 4251,\n\t\"./th.js\": 4251,\n\t\"./tk\": 5494,\n\t\"./tk.js\": 5494,\n\t\"./tl-ph\": 8568,\n\t\"./tl-ph.js\": 8568,\n\t\"./tlh\": 3158,\n\t\"./tlh.js\": 3158,\n\t\"./tr\": 9574,\n\t\"./tr.js\": 9574,\n\t\"./tzl\": 4311,\n\t\"./tzl.js\": 4311,\n\t\"./tzm\": 9990,\n\t\"./tzm-latn\": 2380,\n\t\"./tzm-latn.js\": 2380,\n\t\"./tzm.js\": 9990,\n\t\"./ug-cn\": 2356,\n\t\"./ug-cn.js\": 2356,\n\t\"./uk\": 4934,\n\t\"./uk.js\": 4934,\n\t\"./ur\": 4515,\n\t\"./ur.js\": 4515,\n\t\"./uz\": 58,\n\t\"./uz-latn\": 1875,\n\t\"./uz-latn.js\": 1875,\n\t\"./uz.js\": 58,\n\t\"./vi\": 3325,\n\t\"./vi.js\": 3325,\n\t\"./x-pseudo\": 9208,\n\t\"./x-pseudo.js\": 9208,\n\t\"./yo\": 8742,\n\t\"./yo.js\": 8742,\n\t\"./zh-cn\": 2378,\n\t\"./zh-cn.js\": 2378,\n\t\"./zh-hk\": 4569,\n\t\"./zh-hk.js\": 4569,\n\t\"./zh-mo\": 4671,\n\t\"./zh-mo.js\": 4671,\n\t\"./zh-tw\": 259,\n\t\"./zh-tw.js\": 259\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 6700;","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"names":["CommonSettings","observeOn","asapScheduler","AppComponent","constructor","authservice","router","appLoadService","busyService","errorHandlerService","viewpointService","autologoutService","Title","BaseApi","busyState$","pipe","subscribe","bs","busy","isBusy","message","ngOnInit","IsMobile","ismobile","isMobile","routeReuseStrategy","shouldReuseRoute","ngOnDestroy","logout","baseurl","logError","error","handleError","console","log","errorMessage","handleErrorMessage","i0","selectors","decls","vars","consts","template","ctx","HttpHeaders","lastValueFrom","throwError","catchError","map","AppLoadService","httpClient","getParameterSettings","apiCmd","gateway","obsParameterValue","get","headers","Client","ClientID","parameterValues","NumOfDaysForPaymentHistory","EPay_NumOfDaysForPaymentHistory","NumOfDaysOutForCalendar","EPay_NumOfDaysOutForCalendar","DaysToShowEFTFileHistory","EPay_DaysToShowEFTFileHistory","Timezone","EPay_ClientTimeZone","EmpWebsiteCode","EPay_EmpWebsiteCode","AppInsightsConnectionString","EPay_AppInsightConnectionString","AppInsightsEnableAutoRouteTracking","EPay_AppInsightEnableAutoRouteTracking","CreditCardVendorID","EPay_CreditCardVendorID","FortPointAccessToken","EPay_FortPointAccessToken","FortPointCreditCardUrl","EPay_FortPointCreditCardUrl","FortPointStateCode","EPay_FortPointStateCode","ChatUrl","EPay_Chat_url","getConfigSettings","configSettings","configs","title","baseApi","TokenApi","tokenApi","clientID","toString","ClientName","clientName","StateName","stateName","TimeOutInMins","timeoutInMins","Environment","environment","CanCreateNewEmployer","toBoolean","canCreateNewEmployer","UseEmailForLogin","useEmailForLogin","CanRegisterWithClosedCase","canRegisterWithClosedCase","CanMakePaymentsToClosedCases","canMakePaymentsToClosedCases","EmployerUseCaseNumberForPayments","employerUseCaseNumberForPayments","NCPUseCaseNumberForPayments","ncpUseCaseNumberForPayment","SaveEmployeesForPayments","saveEmployeesForPayments","AllowEINSearch","allowEINSearch","CanInactivateNCPAccount","canInactivateNCPAccount","value","err","ErrorEvent","status","factory","providedIn","EventEmitter","FormControl","FormGroup","Validators","MatSnackBarConfig","XLSX","PhoneNumber","debounceTime","startWith","EMPSecurityCodeHelpComponent","ErrorDialogComponent","ErrorHandlerDialogModel","ctx_r64","ctx_r66","ctx_r67","ctx_r68","ctx_r70","ctx_r72","ctx_r81","ctx_r83","ctx_r84","ctx_r85","ctx_r86","ctx_r87","ctx_r88","ctx_r89","ctx_r90","ctx_r91","ctx_r93","ctx_r95","ctx_r97","ctx_r98","ctx_r100","ctx_r102","ctx_r103","ctx_r105","ctx_r106","ctx_r107","ctx_r108","ctx_r0","_r32","_r36","PayorValidationTypes","scheduldedPayment","creditCard","eftEdiFile","PreviousPayorsType","autocompleteExpMonthValidator","validOptions","control","expMonth","_a","length","indexOf","autocompleteExpYearValidator","EMPCreditCardPaymentComponent","paymentService","employerService","ccPaymentService","creditCardService","formbuilder","dialog","snackbar","commonService","phoneHelperService","tooltip","authService","bookType","type","NONE","Date","cardNumber","cvc","expYear","holder","dateFormat","firstDayOfWeek","closeSelectorOnDateSelect","sunHighlight","disableWeekends","disableUntil","year","month","day","validateCaseNumber","allowZeroAmount","creditCardVendorId","iseditccPaymentCollection","showPaymentCollectionForm","showScheduleDay","paymentCollection","scheduledDaysWeek","scheduledDaysBiMonth","scheduledDaysMonth","scheduledDays","scheduledFrequencies","editccPaymentCollectionIndex","maxDate","setDate","today","getDate","validateFGNumber","selectedCountry","createPaymentButtonText","currentDate","currentYear","getFullYear","expYears","expMonthCtrl","validators","required","expYearCtrl","filteredExpMonths$","valueChanges","filterMonthValue","filteredExpYears$","filterYearValue","setValue","ccExpired","isCCExpired","ccFrmGp","setErrors","expired","creditcardType","viewValue","getEmployerTerms","result","termsContent","validationType","loadFormGroups","getCountries","getStates","setValidationType","secondaryIdAlias","payorFrmGp","group","filename","collectionFrmGp","lastname","minLength","ssn","casenumber","amount","pattern","currencyPattern","isValid","requiredTrue","StepperOrient","orient","stepperOrientation","phoneCtrl","countryCtrl","pn","patchValue","isPossible","setMaskAndExample","state","zip5","regionCode","countryCode","getCountryCodeForRegionCode","phoneNumber","setValidators","zipPattern","updateValueAndValidity","maxLength","enable","disable","attemptedCCAttempt","valid","_b","_c","_d","_e","_f","_g","_h","_j","_k","_l","_m","_o","_p","_q","_r","billingSectionIncomplete","_s","_t","_u","_v","_w","_x","_y","_z","ccSectionIncomplete","ngAfterViewInit","ngOnChanges","isEditPayment","payorCollection","editPayorCollection","dateVal","ccDate","expDate","Number","expMonths","slice","filterValue","toLowerCase","filter","option","createCCPaymentAttempt","hasError","creditCardPayment","confirm","totalAmtOfPayments","totalCCPayment","totalAmount","firstName","lastName","addressLine1","addressLine2","addressCity","addressState","addressCountry","addressZIP5","email","phone","insertEmployerCreditCardAttempt","next","success","transactionId","processCreditCard","cvv","ccNumber","ccExpiryMonth","ccExpiryYear","address1","address2","city","zip","creditCardObj","accountNumber","expirationMonth","expirationYear","securityCode","isEmployer","insertProcessCreditCard","encryptedTransactionId","encodedTransactionId","navigate","queryParams","tid","errTitle","errMsg","forEach","res","errorCode","dialogData","dialogRef","open","maxWidth","data","afterClosed","dialogResult","deleteResult","securityCodeHelp","rotateCard","cardSide","flipCard","phoneExample","getExample","phoneMask","getMask","toggleCVVHide","cvvHide","toggleCCHide","ccHide","emitValidPayorPerValidation","isScheduledPaymentValidation","validPayorEmit","isCreditCardValidation","validCreditCardEmit","payorsValid","validPayorEmitter_OK","emit","batchType","payerType","fee","feePercentage","participantCollection","response","convenienceAmount","convenienceFeePercentage","totalPaymentAmount","complete","validPayorCreditCardEmitter_OK","validatePayors","numInvalid","numWarning","noPreviousPayors","validationErrorMessage","isValdiatingPayment","validateAttemptMade","nameChangeOccured","foundError","atLeastOnePayorSelected","x","isSelected","payor","isValidated","undefined","isNaN","caseNumber","replace","hadEdit","foundInvalidCount","padStart","isValidPayment","element","hasWarning","invalidParticipantPositions","invalidPayor","correctedName","index","failureMessage","getPreviousPaymentPayors","event","toggleEditPayor","isFileValid","fileImported","isLoadingPreviousPayors","previousPaymentPayors","previousAllPayors","lastPaymentIndex","target","checked","previousPayorsChecked","allPayorsChecked","getPayments","selectedPaymentAccount","scheduledPaymentAccountKey","payments","scheduledpayments","p","sort","a","b","scheduleStartDate","secondaryId","concat","allChecked","getAllPreviousPayors","payment","prevPayor","v","i","findIndex","t","toUpperCase","toggleSSNHide","ssnHide","onFileChange","evt","headerRowIndex","lastNameHeaderIndex","ssnHeaderIndex","caseHeaderIndex","amountHeaderIndex","files","fileErrorMessage","DataTransfer","Error","name","endsWith","reader","FileReader","onload","e","bstr","wb","read","worksheetName","SheetNames","worksheet","Sheets","utils","sheet_to_json","header","trim","headercheck","splice","d","middleName","push","readAsBinaryString","reverse","onloadend","isAllChecked","resetFile","inputFile","nativeElement","addSavePayorCollection","payorDetailError","founderror","formatSSN","ssnRegex","RegExp","ssnPattern","test","isEditPayor","editPayorIndex","getNumberOfPayments","reset","resetToggle","editPayor","payors","nameField","focus","deletePayor","selectAllPayments","clearpayorCollection","numOfPayments","checkit","addRemovePayor","toFixed","isEftFileValidation","validCCPaymentEmitted","ccPayment","toggleEditPayorTab","termsFrmGp","accepted","reviewFrmGrp","ccFirstName","ccLastName","country","emailPattern","phoneGp","phoneExt","ccType","ccRegex","onCountrySelectionChange","countries","countryName","alpha3IsoCode","numeric3IsoCode","states","creditCardTypeOnChange","clearValidators","ccInfo","ccMask","ccImgURL","resetFormValues","checkReading","editccPaymentcollection","onSaveComplete","confirmationNum","confirmationSender","confirmationTitle","confirmationMessage","iseditccPayment","confirmationNumber","goToPrimaryUrl","goToPrimary","openConfirmation","hideConfirmationPage","isTermsSubmitted","hideConfirmation","goToHome","navigateByUrl","openSnackBar","time","style","config","horizontalPosition","verticalPosition","duration","panelClass","submitTerms","viewQuery","of","FooterComponent","isLoggedIn$","isLoggedIn","username$","currentUserName","usertype$","currentUserType","NavigationEnd","EMPLOYER_PROFILE_SETTINGS_URL","NCP_PROFILE_SETTINGS_URL","ctx_r19","ctx_r26","_r10","GlobalNavComponent","sessionTimeout","routerNavEndSubscription","events","ev","isGlobalNavOpen","onClickOutside","clickedEl","hasClickedOutsideNav","globalNavBlock","contains","mobileNavToggleBtn","onEscKey","whichKey","key","changes","unsubscribe","toggleGlobalNav","_r7"],"sourceRoot":"webpack:///"}