{"version":3,"sources":["../../onboarding.module.js","../../common/common.module.js","../../common/security/security.module.js","../../common/settings/settings.module.js","../../common/directives/autoFill.directive.js","../../common/directives/carrierProfileSectionStatus.directive.js","../../common/directives/cobAddress.directive.js","../../common/directives/cobAlphaNumericInput.directive.js","../../common/directives/cobBlur.directive.js","../../common/directives/cobCarousel.directive.js","../../common/directives/cobDatePicker.directive.js","../../common/directives/cobEmployerIdentificationNumberInput.directive.js","../../common/directives/cobEnter.directive.js","../../common/directives/cobEscape.directive.js","../../common/directives/cobGlobalNavigation.directive.js","../../common/directives/cobImageOnload.directive.js","../../common/directives/cobNumericInput.directive.js","../../common/directives/cobPagination.directive.js","../../common/directives/cobPhoneNumberInput.directive.js","../../common/directives/cobScrollMessenger.js","../../common/directives/cobSetFocus.directive.js","../../common/directives/cobSocialInsuranceNumberInput.directive.js","../../common/directives/cobSocialSecurityNumberInput.directive.js","../../common/directives/cobSpinnable.js","../../common/directives/cobSwitch.directive.js","../../common/directives/cobUploadedDocuments.directive.js","../../common/directives/cobUserPermissions.directive.js","../../common/directives/continiousScroll.js","../../common/directives/error-message.directive.js","../../common/directives/inAppMessaging/inAppMessage.directive.js","../../common/directives/inAppMessaging/inAppMessage.service.js","../../common/directives/navigation.directive.js","../../common/directives/subject.directive.js","../../common/directives/tinTooltip.directive.js","../../common/directives/toggleClass.directive.js","../../common/directives/tooltip.directive.js","../../common/filters/employerIdentificationNumber.filter.js","../../common/filters/escapeURI.js","../../common/filters/phoneNumber.filter.js","../../common/filters/socialInsuranceNumber.filter.js","../../common/filters/socialSecurityNumber.filter.js","../../common/filters/startFrom.filter.js","../../common/filters/tinStatus.filter.js","../../common/security/cobUnauthorized.directive.js","../../common/security/login.directive.js","../../common/security/sessionState.directive.js","../../common/settings/broker/cobBrokerMessageSettings.directive.js","../../common/settings/broker/cobBrokerProfile.directive.js","../../common/settings/broker/cobBrokerSettings.directive.js","../../common/settings/cobBrokerProfileSettings.directive.js","../../common/settings/cobCarrierProfileSettings.directive.js","../../common/usurp/usurp.controller.js","../../common/usurp/usurp.directive.js","../../common/usurp/usurp.service.js","../../common/welcome/canadianValidation.directive.js","../../common/welcome/cobUrlNotFound.directive.js","../../common/welcome/confirmCompany.directive.js","../../common/welcome/dotValidation.directive.js","../../common/welcome/intrastateValidation.directive.js","../../common/welcome/multipleCarriers.directive.js","../../common/welcome/siteCore.directive.js","../../common/welcome/welcomePage.directive.js","../../services/services.module.js","../../services/authentication.service.js","../../services/brokerSettings.service.js","../../services/carrier.service.js","../../services/carrierDocuments.service.js","../../services/carrierRegistration.service.js","../../services/carrierSettings.service.js","../../services/contract.service.js","../../services/internalAdmin.service.js","../../services/observer.service.js","../../services/onboard-http.interceptor.js","../../services/session.service.js","../../services/spinner.service.js","../../services/subject-observer-messages.service.js","../../services/validation.service.js","../../constants/app.constants.js","../../carrier/carrier.module.js","../../carrier/carrierRegistration.directive.js","../../carrier/profile/accountCreatedSuccess.directive.js","../../carrier/profile/carrierProfile.directive.js","../../carrier/profile/carrierProfileCompany.directive.js","../../carrier/profile/carrierProfileContacts.directive.js","../../carrier/profile/carrierProfileContracts.directive.js","../../carrier/profile/carrierProfileDocuments.directive.js","../../carrier/profile/carrierProfileFleetServices.directive.js","../../carrier/profile/carrierProfileInsurance.directive.js","../../carrier/profile/carrierProfileInsuranceDOB.directive.js","../../carrier/profile/carrierProfileInsuranceReg.directive.js","../../carrier/profile/carrierProfileLaneCoverage.directive.js","../../carrier/profile/carrierProfileNavigation.directive.js","../../carrier/profile/carrierProfileTaxes.directive.js","../../carrier/profile/carrierProfileTaxesW8.directive.js","../../carrier/profile/carrierProfileTaxesW9.directive.js","../../carrier/profile/readyToSignModal.directive.js","../../carrier/profile/welcomeModal.directive.js","../../broker/broker.module.js","../../broker/carriers/carriers.module.js","../../broker/contracts/contracts.module.js","../../broker/carriers/carrier-list.directive.js","../../broker/contracts/brokerContract.directive.js","../../broker/contracts/contract-list.directive.js","../../broker/contracts/contractSignaturesList.directive.js","../../broker/contracts/contractVersionList.directive.js","../../internaladmin/internaladmin.module.js","../../internaladmin/cobAdminBrokerList.directive.js","../../internaladmin/cobAdminBrokerUsageReport.directive.js","../../internaladmin/cobAdminCarrierList.directive.js","../../internaladmin/cobAdminContractList.directive.js","../../internaladmin/cobAssureSignIdModal.directive.js"],"names":["angular","module","config","$stateProvider","$urlRouterProvider","$locationProvider","otherwise","html5Mode","state","url","template","abstract","templateUrl","parent","$httpProvider","interceptors","push","$logProvider","debugEnabled","$provide","decorator","$delegate","debug","$location","$injector","skipping","get","$on","event","preventDefault","skipReload","this","run","$rootScope","sessionService","authenticationService","$state","$stateParams","subjectObserverMessagesService","observerService","$timeout","$window","whiteList","restoreState","domain","$","attr","split","lastVisitedPage","getLastVisitedPage","setDomain","isAuthenticated","currentStateName","subjectMessages","getSubjectMessages","getUserInfo","then","response","stateGo","stateName","go","name","params","data","$current","sessionData","userName","getUserName","capabilityIds","getCapabilities","page","destination","capabilities","indexOf","isAuthorizedInternalAdmin","sendMessageToSubject","COB_SUBJECT_LOGIN_FINISHED_SUCCESS","isAuthorizedBrokerRead","isAuthorizedCarrierRead","redirectToLogin","toState","toParams","fromState","shouldSaveCurrentState","isBrokerOnCarrierView","COB_SUBJECT_VIEW_CHANGE","Boolean","carrierId","setLastVisitedPage","removeLastVisitedPage","transitionTo","brokerId","previousRegistrationState","undefined","element","document","ready","bootstrap","directive","require","link","scope","attrs","ngModel","$setViewValue","val","carrierProfileSectionStatus","restrict","replace","linkFunction","activate","carrierProfileSections","getCarrierProfileSectionCssClass","getProgressMessageInfo","getCarrierProfileSectionPath","$watch","value","completedSectionsCounter","createCarrierProfileSections","carrierProfileSectionsStatus","isComplete","calculateCompletedCarrierProfileSections","createCarrierProfileSection","tooltipText","path","maxCompletedSections","companyInfoComplete","contactsComplete","equipmentInfoComplete","laneInfoComplete","taxInfoComplete","documentsComplete","insuranceInfoComplete","contractsComplete","cobAddress","_subjectObserverMessagesService_","_observerService_","_validationService_","validationService","hide","readOnly","address","isValid","observerMessages","getObserverMessages","setIsDirty","validateStreet","validateCity","validateStateProvince","validatePostalCode","validatePhoneNumber","validatePhoneExt","m","stateList","key","country","newVal","Object","keys","length","streetError","cityError","stateProvinceError","postalCodeError","phoneNumberError","phoneExtError","COB_SUBJECT_CARRIER_PROFILE_VIEW_IS_DIRTY","street","city","stateProvince","postalCode","isValidUsPostalCode","countryCode","isValidCanadianPostalCode","phoneNumber","test","phoneExt","$inject","cobAlphanumericInput","$scope","$element","bind","charCode","which","keyCode","isShift","shiftKey","String","fromCharCode","$eval","cobBlur","cobCarousel","_$location_","_sessionService_","registerEventHandlers","images","whatsNew","buildImageSrc","compactView","preferBlock","filters","responsiveScreenshot","helpCenter","hotMarketMap","tools","trendlines","zipZoneMap","urls","trainingVideos","webPageZoomVideo","searchTrucksVideo","searchLoadsVideo","isBroker","isCarrier","isFirstTimeShown","showCarouselModal","setFirstTimeShown","imgSrc","getCarouselViewed","setCarouselViewed","CSS","dialogContainer","dialog","modal","height","width","resizable","show","effect","duration","draggable","dialogClass","carouselContainer","anythingSlider","theme","resizeContents","easing","buildStartStop","appendBackTo","dialogFooter","backArrowContainer","appendControlsTo","controlsContainer","appendForwardTo","forwardArrowContainer","appendNavigationTo","appendStartStopTo","toggleArrows","toggleControls","forwardText","backText","hashTags","navigationFormatter","animationTime","registerInteractionEvents","modalOverlay","on","menuItemTrigger","registerHandlers","message","COB_OBSERVER_CAROUSEL_REQUEST_OPEN","handler","container","fromDate","toDate","placeholder","dateFormat","ngModelCtrl","datepicker","onSelect","date","$apply","cobEmployerIdentificationNumberInput","_filter_","_browser_","$filter","$browser","$attrs","getValue","pastedValue","listener","slice","maxlength","$parsers","viewValue","$render","$viewValue","defer","originalEvent","clipboardData","getData","cobEnter","cobEscape","cobGlobalNavigation","_authenticationService_","_carrierService_","_$state_","_$stateParams_","_$window_","carrierService","logOff","openSettings","openLiveChat","returnToAdmin","returnToAdminCarrier","getBrokerImpersonated","showCarousel","getCarrierImpersonated","niceInContactEnabled","accountProfileUrl","openCarrierProfile","showProfileButton","isAdmin","truckersEdgeUrl","rateViewUrl","powerWebUrl","directoryUrl","getDomain","carrierWatchUrl","firstName","lastName","carrierInfo","stickyNav","year","Date","getFullYear","profileButtonName","loginType","COB_OBSERVER_SESSION_RESUME","COB_OBSERVER_LOGIN_FINISHED_SUCCESS","COB_OBSERVER_LOAD_CHATSUPPORT","COB_OBSERVER_CARRIER_SCROLL","makeNavSticky","getCarrierDetails","carrierDetails","dbaName","carrierImpersonatedName","legalName","logout","COB_SUBJECT_SETTINGS_BROKER_OPEN","COB_SUBJECT_PROFILE_CARRIER_OPEN","openNiceinContactAgentChat","clearDomain","getApplicationLinks","fullName","userLogin","userEmail","primaryPhone","catch","prototype","hasOwnProperty","call","modelErrors","modelState","errors","i","COB_SUBJECT_GENERIC_SERVER_ERROR","COB_SUBJECT_CAROUSEL_REQUEST_OPEN","niceInContactBaseUrl","pointOfContact","businessUnit","niceInContactChatClient","location","href","baseWindowOptions","top","outerHeight","screenY","left","outerWidth","screenX","windowOptions","open","isAllowedLogin","allowedLogins","getAllowedLogins","hasBrokerBrofile","hasFreightBrokerProfile","hasCarrierProfile","cobImageOnLoad","cobNumericInput","cobPagination","currentPage","offset","pageLimit","pageLimits","total","onUpdate","nextPage","previousPage","getTotalPages","isCurrentPageLimit","getRangeLabel","invokeCallback","Math","ceil","pageSize","max","startIndex","endIndex","min","cobPhoneNumberInput","cobScrollMessenger","prop","scrollTop","COB_SUBJECT_SCROLL_MESSAGE","cobSetFocus","_$timeout_","elem","$observe","newValue","focus","cobSocialInsuranceNumberInput","cobSocialSecurityNumberInput","cobSpinnable","registerObserverHandlers","COB_OBSERVER_AJAX_WAITING","onWait","COB_OBSERVER_AJAX_DONE","onDone","removeClass","addClass","cobSwitch","model","disabled","trueValue","falseValue","change","forEach","defaultProperties","isDefined","defaultAttributes","set","shadowModel","isFunction","oldValue","onChange","trueLabel","falseLabel","cobUploadedDocuments","_spinnerService_","_carrierDocumentsService_","_orderByFilter_","spinnerService","carrierDocumentsService","orderBy","documents","fileUploadedRecently","uploadResult","headerInfo","actionsAllowed","uploadedAdditionalMessage","validationMessage","documentsLimit","isRequired","showPagination","fileUploadCallback","fileDeleteCallback","confirmDelete","cancelDelete","cancelErrorModal","onTrashClick","fileUpload","paginationUpdateCallback","isFileLimit","isFileUploadedMessageValid","paginationSettings","index","getStartIndex","deleteDocument","startSpinner","documentStatus","editDocument","isSuccess","splice","finally","stopSpinner","file","cobUserPermissions","requiredPermission","disableUnauthorized","applyPermission","toLowerCase","hasPermission","isAuthorizedBrokerWrite","isAuthorizedBrokerAdmin","continiousScroll","visibleHeight","scroll","cobErrorMessage","_state_","closeModal","COB_OBSERVER_HTTP_ERROR_500","onGenericError","COB_OBSERVER_HTTP_ERROR_401","onUnauthorizedError","COB_OBSERVER_HTTP_ERROR_404","on404Error","errorMessage","clearMessage","inAppMessagingService","getMessage","html","marked","parse","DOMPurify","sanitize","text","title","$http","getInAppMessage","service","cobNavigation","onSetup","isMasquerading","isInternalAdmin","isAuthorizedBroker","isAuthorizedCarrier","tabs","carriers","contracts","carriersAdmin","brokersAdmin","contractsAdmin","cobSubject","_$log_","_$cookies_","$log","$cookies","sendMessageToObservers","sharedApplicationState","subscription","determineCapabilities","DOB","subjectMessage","stopPropagation","observerMessage","observerMessageLookup","errorMsg","error","$broadcast","getObserverMessageLookup","COB_SUBJECT_SETTINGS_DATA_LOADED","COB_OBSERVER_SETTINGS_DATA_LOADED","tinTooltip","tooltipTextCode","tooltipTextDescription","isTooltipShown","toggle","e","hasClass","toggleClass","one","tooltip","isShown","filter","eid","toString","trim","match","first","second","window","encodeURIComponent","tel","number","sin","third","ssn","input","start","tinStatus","cobUnauthorized","cobLogin","_$rootScope_","_window_","forgotUsernameCallback","forgotPasswordCallback","password","sitecoreMessage","rememberMe","loginInProgress","isBrokerLandingPage","usernameError","passwordError","dismissErrors","fetchCredentials","onLoginSuccess","COB_OBSERVER_CHANGE_WELCOME_VIEW","localStorage","setItem","toJson","removeItem","broker","getBrokerBranding","saveCarrierVisit","firstLogin","getItem","credentials","fromJson","cobSessionState","log","onLogoff","COB_OBSERVER_LOGOFF","cobBrokerMessageSettings","defaultMessageTitle","defaultMessage","defaultMessageDisabled","toggleTitle","customMessageTitle","customMessage","customMessageDisabled","cobBrokerProfile","_brokerSettingsService_","brokerSettingsService","settings","discardChanges","newPasswordValidation","confirmPasswordValidation","passwordIsValid","saveChanges","validatePasswordsSame","updatePassword","newPassword","confirmNewPassword","showPasswordsDoNotMatch","showPasswordIsNotValid","showPasswordIsEmpty","showPasswordChanged","isDirty","COB_SUBJECT_PROFILE_SETTINGS_CLEAN","changePassword","COB_SUBJECT_PROFILE_SETTINGS_SAVE_VIEW","confirmPass","newPass","COB_SUBJECT_PROFILE_SETTINGS_DIRTY","re","cobBrokerSettings","_ngFileUpload_","ngFileUpload","view","toggleSettings","insuranceMessageText","welcomeMessageText","validateNotificationEmail","disableNotificationEmailCheck","isSaveButtonDisabled","uploadLogo","validateLogoImage","toggleModalWindow","setDirty","logoSettings","notificationSettings","initializeMessages","welcomeMessages","WELCOME_MESSAGE_TOGGLE_TITLE","WELCOME_MESSAGE_DEFAULT_TITLE","WELCOME_MESSAGE_CUSTOM_TITLE","showModalWindow","hostname","origin","contractMessages","CONTRACT_MESSAGE_TOGGLE_TITLE","CONTRACT_MESSAGE_DEFAULT_TITLE","CONTRACT_MESSAGE_CUSTOM_TITLE","CONTRACT_MESSAGE_DEFAULT","documentsMessages","DOCUMENTS_MESSAGE_TOGGLE_TITLE","DOCUMENTS_MESSAGE_DEFAULT_TITLE","DOCUMENTS_MESSAGE_CUSTOM_TITLE","DOCUMENTS_MESSAGE_DEFAULT","clearBrokerMessages","companyName","COB_OBSERVER_SETTINGS_BROKER_OPEN","onSettingsOpen","COB_OBSERVER_SETTINGS_BROKER_CLOSE","onSettingsClosed","watcher","oldVal","JSON","stringify","isSearchable","notifyOnProfileChange","notifyOnW9Change","notifyOnInsuranceChange","notifyOnContractSignings","notifyOnAttachmentChange","notificationEmails","landingPage","imageMimeType","imageFile","imgUrl","setClean","cloneLogo","isTrueDiscard","trueDiscard","clearDiscard","ShowIsInvalidFile","setLogoImgURL","settingsListener","cloneNotificationSettings","showEmailIsNotValid","cloneMessage","messagesWatcher","messageChanged","getBrokerMessage","isDisabled","welcomeMessage","oldMessage","newMessage","isBrokerMessageValid","brokerMessage","documentsMessage","contractMessage","insuranceMessage","signedMessage","disableNotificationEmail","saveLogo","saveNotificationSettings","saveMessage","fileName","updateLogo","fileExtension","sendSave","notificationEmails1","temp","setBrokerNotificationSettings","updateMessage","COB_SUBJECT_PROFILE_SETTINGS_CHANGE_VIEW","files","filetype","type","filesize","size","substring","lastIndexOf","isValidFileType","base64DataUrl","exec","testImgUrl","img","getElementById","clientWidth","clientHeight","email","isValidEmail","cobBrokerProfileSettings","isVisible","errorMessageClass","messageType","toggleView","onDirty","onClean","modalClick","COB_OBSERVER_PROFILE_SETTINGS_DIRTY","COB_OBSERVER_PROFILE_SETTINGS_CLEAN","COB_OBSERVER_PROFILE_SETTINGS_CHANGE_VIEW","onChangeView","COB_OBSERVER_PROFILE_SETTINGS_SAVE_VIEW","onSaveView","COB_SUBJECT_SETTINGS_BROKER_CLOSE","getSettings","getBrokerSettings","console","selectedView","cobCarrierProfileSettings","_carrierSettingsService_","_$sce_","carrierSettingsService","$sce","onProfileOpen","editEmail","discardEdit","save","validateEmail","saveEmailEdit","showMobileUniNav","toggleCarrierProfiledropDown","toggleCarrierHelpDropDown","closeMobileConfirmation","mobileConfirmation","displayMobileConfirmation","displayMobileProfile","displayMobileHelp","CarrierMobileEmailView","slideRight","slideUp","loadData","COB_OBSERVER_PROFILE_CARRIER_OPEN","lookupCarrierProfileModal","carrierName","dotNumber","datNumber","intrastateNumber","carrierEmail","emailClean","carrierCompanyName","keepMessage","discardEmailEdit","emailValidationMessage","updateCarrierEmail","mobileUniNavDisplay","destroy","COB_SUBJECT_LOAD_CHATSUPPORT","controller","usurpService","USURP_LS","initialize","checkUsurpRegular","loginAnyway","usurpSession","TIMESTAMP","Number","now","IS_FROM_LOGIN","showSpinner","controllerAs","constant","getUsurpSessionState","baseUsurpUrl","result","isUsurped","post","isUsurpedFromLogin","isUserJustLogin","setTimeInterval","setTimeout","handleUsurpState","shouldScheduleCheck","validationFrequency","showDialog","getTimeInterval","timeNow","lastUsurpCheck","parseInt","defaultValidationFrequency","fromLogin","titleModal","closeOnEscape","zIndex","applyStyles","modalWrapper","resize","css","innerWidth","innerHeight","removeUsurpLSKey","cobCanadianValidation","_carrierRegistrationService_","carrierRegistrationService","visible","province","datNumberValidationMessage","provinceValidationMessage","provinceList","validateDatNumber","setActiveSlide","getApplicationSettings","slide","showNotFound","COB_SUBJECT_CHANGE_WELCOME_VIEW","COB_SUBJECT_AJAX_WAITING","validateIntrastateCode","validationInfo","modalMessage","getLogoutUrl","modalTitle","carrierList","numberText","searchNumber","COB_SUBJECT_AJAX_DONE","cobUrlNotFound","cobConfirmCompany","carrier","displayCarriers","submitClick","parseCarrierList","newList","oldList","dot","setCarrier","cobDotValidation","validateDot","dotKeyPress","validateDotNumber","isMexico","cobIntrastateValidation","_authenticationService","intrastateCodeError","showErrorModal","intrastateStateError","selectedState","navigateToSection","validateInput","sectionObject","cobMultipleCarriers","backToDot","tCoreId","cobSiteCore","cobWelcomePage","forgotUsername","forgotPassword","clearModalMessage","onLocationChange","modalIsError","welcomeMessageDisabled","current","prevState","nationalSafetyNumber","docketNumber","lastLocation","actualLocation","onDoaminDataLoad","COB_OBSERVER_DOMAIN_DATA_LOADED","changeView","obj","activeSlide","notify","logoURL","getBrokerLogoURL","brokerInfo","brokerName","baseUrl","res","create","COB_OBSERVER_LOGIN_FINISHED_FAIL","status","request","Password","put","validateCarrierEmail","emailAddress","getUserId","resetPasswordByEmail","resetPassword","encodedKey","isAuthorized","capability","factory","brokderDomain","brokerImpersonationHelper","updateBrokerPassword","segmentType","SEGMENT_TYPES","image","segmentData","mimeType","exportCarriers","exportAllCarriers","updateCarrierStatus","getCarriers","startRow","carrierCount","sortColumn","isSortDescending","showRowCount","updateCarrierNote","note","CarrierId","IsDelete","Notes","deleteCarrierNote","getCarrierPrimaryContact","searchCarriers","searchValue","searchValue2","searchType","validateFile","getResult","extensionErrorMessage","maxFileSizeErrorMessage","documentIsEmpty","validateFleetDocument","loadedFiles","validationResult","succeeded","some","doc","documentName","sameNameErrorMessage","uploadDocument","base64","pop","insertCarrierDocument","description","documentType","updateCarrierDocument","documentId","getBase64DataUrl","getDocumentsByType","docs","updateCarrierPassword","intrastateState","intrastateCode","getCarrier","_carrier","registerCarrier","tcoreId","lookupCarrierCompanyInfo","lookupCarrierFleetServices","updateCarrierCompanyInfo","companyType","yearFounded","SCAC","isWomanOwned","isVeteranOwned","isDisabledVeteranOwned","isMinorityOwned","minorityType","isNmsdcCertified","regionalCouncil","certificationNumber","physicalAddress","mailingAddressSameAsPhysicalAddress","mailingAddress","remitToAddressSameAsPhysicalAddress","remitToAddressSameAsMailingAddress","remitToName","remitToAddress","interestInQuickPay","isFactoring","requestPhysicalAddress","phoneExtension","requestMailingAddress","requesRemitToAddress","updateEquipmentInfo","hasNoTrailers","isInternational","hasDangerousGoods","hasSecurityCerts","hasEnvironmentalCerts","hasLtlCapabilities","numberOfPowerUnits","numberOfTeams","numberOfOwnerOperators","numberOfCompanyDrivers","communicationType","trailers","hasAirRide","hasVented","hasHotshot","hasCurtains","hasInsulated","hasConestoga","hasCoilRacks","hasContainerLocks","hasTarps","hasEtrac","hasGarmentRacks","hasPadWrap","hasStraps","hasChains","isHazmatCertified","isRadioactiveCertified","isResponsibileCare","isAceCertified","isCtpatMember","isTwicCardholder","isTsaRegistered","isSmartwayCarrier","hasCarbCompliantTrucks","isCarbCompliantTru","doesParcels","isUpsCarrier","hasLtlCapabilties","hasExpeditedGround","doesMultipleStops","handlesRailDryage","handlesPortDryage","handlesAirFreightCartage","handlesEdi","hasSpottedTrailers","handlesOversizeLoads","doesTrailerInterchange","doesPalletExchange","doesBrokerage","otherServices","airports","ports","hasDropOffPort","equipment","services","lookupPreferredAreasLanes","updatePreferredLanes","originState","originMetroCode","originMetroName","destinationState","destinationMetroCode","destinationMetroName","isRemove","updatePreferredAreas","states","hasMexicoService","lookupCarrierDocuments","lookupCarrierDocumentFile","fileContent","lookupContactsReferences","updateCarrierReferences","referenceIndex","action","contactName","phone","updateCarrierContact","role","fax","isPrimary","getCarrierTaxInfo","updateW8TaxInformation","typeOfBeneficialOwner","mailingCity","mailingState","mailingPostalCode","mailingCountry","tin","federalTaxType","foreignTaxId","foreignTaxIdType","federalTaxIdType","updateW9TaxInformation","businessName","federalTaxClassification","otherText","exemptPayeeCode","factaReportingCode","lookupInsuranceInformation","submitRegistryInsuranceInfo","agents","otherFeedback","updateDobInsurance","agentId","agentName","extension","hasAuto","hasCargo","hasGeneral","hasWorkersComp","hadCert","deleteCertificate","lookupCarrierStatus","visitedSection","section","lookupContractsAndSignatures","signStandardContract","signee","signeeTitle","contractId","signAssuresignContract","callbackUrl","sendProfileCompleteNotification","lookupUrlsByCategory","businessUnitId","lookupBrokers","lookupSignatures","shareDocuments","documentGuids","facsimileSignatures","contractService","addContract","contract","deleteContract","exportContractSignatures","signatureIds","exportAllContractSignatures","contractid","getContractDetail","getContracts","getContractSignatures","rowCount","sortOrder","filterType","getContractVersions","contractName","rejectSignatures","updateContractDescription","updateContractStatus","internalAdminService","identifyBroker","getBrokers","searchTerm","includeRowCount","currentRow","defineOnboardingBroker","processTinFile","getAssureSignContracts","updateContractTemplateId","templateId","getBrokerUsageReport","updateTinStatus","$emit","createHandlerObject","handlerObjectArray","isArray","warn","_","each","ho","onboardHttpInterceptor","$q","_appConfig_","httpResponse","headers","byPassEnabled","bypassErrorsInterceptor","isexception","COB_SUBJECT_HTTP_ERROR_500","reject","when","responseError","rejection","COB_SUBJECT_HTTP_ERROR_401","COB_SUBJECT_HTTP_ERROR_404","errorData","category","appConfig","appVersion","setUserName","setCapabilities","setAllowedLogins","allowedLoginTypes","setUsurpEnabled","saveState","setBrokerImpersonated","brokerImpersonated","setCarrierImpersonated","carrierImpersonated","_userName","_capabilities","_allowedLogins","_domain","setBrokerBranding","COB_SUBJECT_DOMAIN_DATA_LOADED","clearBrokerBranding","_broker","setCarrierReadyToSign","isReady","_carrierReadyToSign","getCarrierReadyToSign","isAuthorizedCarrierWrite","isAuthorizedCarrierSign","isAuthorizedCarrierAdmin","isUsurpEnabled","_usurpEnabled","getCarrierNavState","_carrierNavState","setCarrierNavState","carrierNavState","usurpEnabled","options","getBrokerByDomainName","targetScope","buildMessages","MESSAGES","OBSERVER_NAME_PRE","SUBJECT_NAME_PRE","OBSERVER_MESSAGE_PRE","SUBJECT_MESSAGE_PRE","CARRIER_LIST_EXPAND","LOGIN_STARTING","LOGIN_FINISHED_SUCCESS","LOGIN_FINISHED_FAIL","SESSION_RESUME","FILE_UPLOAD_SAVED","FILE_UPLOAD_SUCCESS","FILE_UPLOAD_ERROR","FORM_VALIDATION_ERROR","CONTRACT_GROUP_SELECTED","SETTINGS_BROKER_OPEN","SETTINGS_BROKER_CLOSE","PROFILE_CARRIER_OPEN","PROFILE_CARRIER_CLOSE","PROFILE_SETTINGS_DIRTY","PROFILE_SETTINGS_CLEAN","PROFILE_SETTINGS_CHANGE_VIEW","PROFILE_SETTINGS_SAVE_VIEW","SCROLL_MESSAGE","VIEW_CHANGE","AJAX_WAITING","AJAX_DONE","DOMAIN_DATA_LOADED","CHANGE_WELCOME_VIEW","START_CHANGE_CARRIER_PROFILE_VIEW","FINISH_CHANGE_CARRIER_PROFILE_VIEW","CARRIER_PROFILE_VIEW_IS_DIRTY","CARRIER_PROFILE_VIEW_LOAD","CARRIER_PROFILE_W8_LOADED","CARRIER_PROFILE_W9_LOADED","CARRIER_PROFILE_TAX_RELOAD","CARRIER_PROFILE_INSUREANCE_DOB_LOADED","CARRIER_PROFILE_INSUREANCE_REG_LOADED","CARRIER_PROFILE_INSUREANCE_RELOAD","CARRIER_PROFILE_VIEW_STATUS","CARRIER_PROFILE_READY_TO_SIGN","SET_PENDING_TAB","CARRIER_PROFILE_STATUS_FINISH","LOAD_CHATSUPPORT","CARRIER_SCROLL","HTTP_ERROR_401","HTTP_ERROR_404","HTTP_ERROR_500","CAROUSEL_REQUEST_OPEN","isValidPassword","hasLowerCase","hasUpperCase","hasNumber","hasSpecialCharacter","cobCarrierRegistration","jobTitle","password1","password2","firstNameError","lastNameError","jobTitleError","emailAddressError","password1Error","password2Error","isAccountCreatedSuccess","submitForm","validateFirstNameField","validateLastNameField","validateJobTitleField","validatePhoneNumberField","validateEmailAddressField","validatePassword1","validatePasswords","getIntrastateLabel","validateForm","accountAlreadyExists","cobAccountCreatedModal","onStartProfile","setBrokerBrandingByName","logoUrl","cobCarrierProfile","cobCarrierProfileCompany","noaDocumentHeaderInfo","NOA_DOCUMENT_HEADER_INFO","noaDocumentUploadedMessage","NOA_DOCUMENT_UPLOADED_MESSAGE","tab","scacKeyDown","veteranOwnedChange","minorityOwnedChange","certifiedByNMSDCChanged","mailingAddressSameAsPhysicalAddressChange","remitToAddressSameAsPhysicalAddressChange","remitToAddressSameAsMailingAddressChange","factoringCompanyChange","validateCompanyTypeField","validateYearFoundedField","validateScacField","validateRemitToNameField","onForceGo","saveData","goToTab","uploadNoaFile","deleteNoaFile","ux_requirement_hack_for_scrolling","factoringCompanyDocuments","companyTypesDic","createCompanyTypesDic","companyTypes","CORPORATION_COMPANY_TYPE","LIMITED_LIABILITY_COMPANY_TYPE","SOLE_PROPRIETORSHIP_COMPANY_TYPE","PARTNERSHIP_COMPANY_TYPE","COOPERATIVE_CANADA_COMPANY_TYPE","minorityTypes"," ","AsianPacific","AfricanAmerican","Hispanic","AsianIndianAmerican","NativeAmericanIndian","COB_SUBJECT_CARRIER_PROFILE_VIEW_LOAD","COB_OBSERVER_START_CHANGE_CARRIER_PROFILE_VIEW","COB_OBSERVER_CARRIER_PROFILE_VIEW_IS_DIRTY","COB_OBSERVER_SET_PENDING_TAB","setPendingTab","onbeforeunload","confirm","remitToNameError","factoringCompanyDocumentError","certifiedByNMSDC","compnayName","getCompanyType","disabaledVeteranOwned","minorityOwned","nameOfRegionalCouncil","scac","veteranOwned","womanOwned","quickPay","factoringCompany","loadDocuments","find","NOA_DOCUMENT_TYPE","COB_SUBJECT_SET_PENDING_TAB","COB_SUBJECT_START_CHANGE_CARRIER_PROFILE_VIEW","navigate","COB_SUBJECT_FINISH_CHANGE_CARRIER_PROFILE_VIEW","pendingCallback","callback","isRecursive","validateAddresses","physicalAddressIsValid","mailingAddressIsValid","remitToAddressIsValid","COB_SUBJECT_CARRIER_PROFILE_VIEW_STATUS","showSectionMessage","animate","validateQuikPayField","validateFactoringCompanyField","validateFactoringCompanyDocument","isFormValid","companyTypeError","yearFoundedError","scacError","QuikPayError","factoringCompanyError","factoringCompanyUploadResult","uploadFile","documentFile","unshift","factoringCompanyUploadedRecently","cobCarrierProfileContacts","hasPrimary","contactNameTypeAheadFilter","contactNameTypeAheadSelect","contactNameChange","contactNameBlur","contactNameFocus","contactPrimaryDisable","contactAddEditClick","contactCancelClick","saveContact","deleteContact","contactDeleteConfirm","contactDeleteCancel","saveReference","deleteReference","referenceCancelClick","referenceAddEditClick","validateContactCompany","validateContactName","validateContactPhoneNumber","validateContactFaxNumber","validateContactEmail","setIsDirtyContacts","setIsDirtyReferences","contacts","displayRole","id","validation","reference1","reference2","reference3","typeAheadFilter","editContact","editReference","contactToDelete","skipSendLoad","isDirtyContacts","isDirtyReferences","setSectionMessage","contact","faxNumber","edit","resetReferences","references","reference","saveContacts","saveReferences","hasContact","showContactRequired","filterResults","string","ownerOfficerClean","accountingClean","dispatchOperationsClean","saftyClaimsClean","afterHoursEmergencyClean","showTypeAhead","contactNameBlurTimer","cancel","currentTarget","parentElement","children","clean","validateContact","showContactDeleteConfimation","validateReference","cobCarrierProfileContracts","ajaxIsRunning","readyToSign","carrierIsAuthorized","signedNewContract","showConfirmationModal","otherTitleOption","isSubmited","titles","goToProfile","startSigning","cancelSigning","sign","sort","brokerClick","signatureClick","goToBranded","validateSigneeFirstField","validateSigneeLastField","validateSigneeTitleField","valdiateSigneeTitleOptions","getSigneeTitle","searchClick","openModalWindow","closeModalWindow","contractStatus","signed","rejected","notSigned","signing","loadBrandedData","loadBranding","loadBrokers","contractMessageDisabled","search","loadContractsHelper","contractSignatures","hasSigned","setContractStatus","dateSignedClean","dateSigned","dateSignedSort","signeeClean","signeeTitleClean","allBrokers","brokers","lastVisited","reloadAjax","totalRows","loadSignatures","signedContracts","signatures","navStart","COB_OBSERVER_CARRIER_PROFILE_STATUS_FINISH","setReadyToSign","clearDirty","hideSigningContractForm","signingContract","signeeFirst","signeeLast","signeeOtherTitle","signeeError","signeeFirstError","signeeLastError","signeeTitleError","isAssureSign","signatureURL","signeeTitleOptionError","col","order","showAllBroker","signature","isexpanded","cobCarrierProfileDocuments","disableUpload","displayNewRow","showCopiedMessage","documentTypes","showDocumentNameError","showDocumentSharedModal","encryptedUrl","onUploadClick","onCancelUploadClick","validateNewDocumentName","onDocumentNameClick","onDocumentTypeClick","onDescriptionClick","onFileUploadStart","fileSizeHelper","evaluateRows","selectedDocumentsCount","copyToClipboard","closeNoaAlreadyExistsModal","onDomainDataLoad","newDocumentClear","documentsMessageDisabled","newDocumentName","saveNewDocument","newDocumentType","newDocumentDescription","newDocumentBase64","showFileNameError","fileUploaderFile","fileUploaderFileError","round","documentTypeEdit","documentNameEdit","descriptionEdit","showNoaAlreadyExistsModal","documentTypeDirty","count","shared","selectedDocs","documentGuid","origSelectionStart","origSelectionEnd","targetId","isInput","tagName","target","selectionStart","selectionEnd","createElement","style","position","body","appendChild","textContent","currentFocus","activeElement","setSelectionRange","succeed","execCommand","cobCarrierProfileFleetServices","hazmatUploadResult","hazmatDocumentHeaderInfo","HAZMAT_DOCUMENT_HEADER_INFO","twicDocumentHeaderInfo","TWIC_DOCUMENT_HEADER_INFO","hazmatUploadedMessage","HAZMAT_UPLOADED_MESSAGE","twicUploadedMessage","TWIC_UPLOADED_MESSAGE","isValidNumberOfPowerUnits","isValidNumberOfOwnerOperators","isValidNumberOfCompanyDrivers","isValidTrailerCounts","textFieldKeyDown","textFieldBlur","clearTrailerCounts","clearVanTypes","clearFlatbedTypes","clearTrailerAttributes","onChangeHasDangerousGoods","onChangeHasInternational","onChangeHasSecurityCerts","onChangeHasEnvironmentalCerts","onChangeHasLtlCapabilities","onChangeHasDropOffPort","onChangeIsPortDrayage","onChangeIsAirCartage","uploadHazmatFile","uploadTwicFile","airCartageAirports","portDrayageCities","getCarrierId","hasInternational","onBoardCommunications","isBrokerage","isMultiStop","isPalletExchange","isParcel","isTrailerInterchange","isAirCartage","isEdi","isLargeLoad","isPortDrayage","isRailDrayage","isCarbCompliant","isExpeditedGround","isSpottedTrailers","is100PctCarbCompliant","isCarbComplientTru","isResponsibleCareCarrier","isSmartWayCarrier","isLtlCapabilities","airportCount","portCount","arrayLength","trailerType","flatbeds48","trailerAmount","flatbeds53","vans48","vans53","reefers48","reefers53","doubleDropCount","lowBoyCount","autoCarrierCount","containerCount","movingVanCount","dropStepDeckCount","dumpTrailerCount","stretchTrailerCount","hopperBottomCount","tankerCount","straightTruckCount","flatbedsCountIsZero","vansCountIsZero","reefersCountIsZero","numberOfOwnerOperatorsError","numberOfPowerUnitsError","numberOfCompanyDriversError","numberOfTrailersError","numberOf","hazmatCertificates","HAZMAT_DOCUMENT_TYPE","twicCards","TWIC_DOCUMENT_TYPE","twicUploadResult","hazmatFileUploadedRecently","twicCardUploadedRecently","cobCarrierProfileInsurance","isRegistryInsurance","regInsurance","COB_SUBJECT_CARRIER_PROFILE_INSUREANCE_REG_LOADED","dobInsurance","COB_SUBJECT_CARRIER_PROFILE_INSUREANCE_DOB_LOADED","COB_OBSERVER_CARRIER_PROFILE_INSUREANCE_RELOAD","cobCarrierProfileInsuranceDob","getCoverage","onEditClick","onSaveClick","onCancelClick","onAddClick","onDiscardFileClick","validateName","validatePhone","validateFax","validateCoverage","loaded","addNewRow","newAgent","deleteAgent","agent","dobAgent","certificateFileName","auto","coverage","cargo","general","workersComp","COB_OBSERVER_CARRIER_PROFILE_INSUREANCE_DOB_LOADED","formIsValid","saveAgent","newDocumentExe","COB_SUBJECT_CARRIER_PROFILE_INSUREANCE_RELOAD","output","cleanAgent","certificateId","certficateId","agentIsValid","nameError","phoneError","faxError","emailError","coverageError","nameSplit","fileError","cobCarrierProfileInsuranceReg","toggleFeedbackForm","feedbackAgents","feedbackDate","feedbackError","submitted","showSectionSubmitMessage","registryDate","sortCoverage","sortCoverageRows","toggleFeedback","deleteRow","getDate","onSubmit","deleteAll","regAgent","policy","canLeaveFeedback","formattedCoverage","map","coverageType","coverageRows","a","b","feedbackAgent","deletedRow","certificateContent","certificateMimeType","HasAuto","HasCargo","HasWorkersComp","HasGeneral","AgentName","Phone","Fax","Email","validateAgent","validateAgents","COB_OBSERVER_CARRIER_PROFILE_INSUREANCE_REG_LOADED","cobCarrierProfileLaneCoverage","preferredLanes","preferredAreas","showNewLane","showCanadaMexico","showUnitedStates","trashClick","saveLane","addClicK","canadaMexicoClick","allCanadianRegionsChange","westernChange","centralChange","easternChange","provinceChange","unitedStatesClick","allUsCheckClick","allUsZoneChange","zone0Change","zone1Change","zone2Change","zone3Change","zone4Change","zone5Change","zone6Change","zone7Change","zone8Change","zone9Change","stateChange","setAllMetros","allMetros","metroCode","metro","lanesOnly","hasServiceInMexico","ab","bc","mb","sk","pq","nb","nf","ns","pe","allUsZones","filterOrginMetros","filterDestinationMetros","savePreferredAreas","cur","filtered","newOrginMetro","newOrginState","filteredOrginMetros","newDestinationMetro","newDestinationState","filteredDestinationMetros","lane","western","allCanadianRegions","central","eastern","ignoreAllUsToggle","zone0","zone1","zone2","zone3","zone4","zone5","zone6","zone7","zone8","zone9","ct","ma","me","nh","nj","ri","vt","allUsZonesHelper","de","ny","pa","md","nc","sc","va","dc","wv","al","fl","ga","ms","tn","in","ky","mi","oh","ia","mn","mt","sd","nd","wi","il","ks","mo","ne","ar","la","ok","tx","az","co","nv","nm","ut","wy","ca","or","wa","ak","toUpperCase","cobCarrierProfileNavigation","isBrokerWrite","statusCount","pendingViewStatusChange","selectTab","setTab","navigationOrder","navigationHeader","carrierProfile.company","carrierProfile.contacts","carrierProfile.fleetServices","carrierProfile.laneCoverage","carrierProfile.taxes","carrierProfile.documents","carrierProfile.insurance","carrierProfile.contracts","saveNote","hash","substr","COB_OBSERVER_FINISH_CHANGE_CARRIER_PROFILE_VIEW","onFinishChangeView","COB_OBSERVER_CARRIER_PROFILE_VIEW_LOAD","onViewLoad","COB_OBSERVER_CARRIER_PROFILE_VIEW_STATUS","onViewStatusChange","loadFirstTab","setStickyNav","navStatusHelper","isViewLoad","next","back","pendingTab","viewStatusChange","reload","isReadyToSign","COB_SUBJECT_CARRIER_PROFILE_STATUS_FINISH","readyTosign","COB_SUBJECT_CARRIER_PROFILE_READY_TO_SIGN","carrierNotesChange","carrierNotes","editingNotes","Ylocation","currentLocation","COB_SUBJECT_CARRIER_SCROLL","navState","notes","carrierStatus","cobCarrierProfileTaxes","w8TaxInfo","w8Data","beneficialOwnerType","ein","bn","formYear","incorporationCountry","streetAddress","mailingStreet","mailingSameAsPermanent","COB_SUBJECT_CARRIER_PROFILE_W8_LOADED","w9TaxInfo","w9Data","taxStatus","exemptionType","cityAddress","postalCodeAddress","stateAddress","taxClassification","federalType","federalTypeOther","fatcaReportingCode","reportCode","COB_SUBJECT_CARRIER_PROFILE_W9_LOADED","COB_OBSERVER_CARRIER_PROFILE_TAX_RELOAD","app","cobCarrierProfileTaxesW8","SSN_PLACEHOLDER","SIN_PLACEHOLDER","EIN_PLACEHOLDER","ssnPlaceholder","sinPlaceholder","einPlaceholder","beneficialOwnerTypes","validateBeneficialOwner","validateStreetAddress","validateCityAddress","validateStateAddress","validatePostalCodeAddress","validateMailingStreet","validateMailingCity","validateMailingState","validateMailingPostalCode","validateSsn","validateEin","validateBn","validateSin","mailingSameAsPermanentChange","mailingStateChange","COB_OBSERVER_CARRIER_PROFILE_W8_LOADED","countryAddress","beneficialOwnerError","streetAddressError","cityAddressError","stateAddressError","postalCodeAddressError","mailingStreetError","mailingCityError","mailingStateError","mailingPostalCodeError","ssnError","einError","bnError","sinError","foreignTaxIdError","taxpayerIdError","validateTaxpayerId","validateForeignTaxId","cobCarrierProfileTaxesW9","federalTypes","exemptionTypes","reportCodes","--","A","B","C","D","E","F","G","H","I","J","K","L","M","validateTaxClassification","validateFederalTypeOther","validateTin","updateTaxStatus","taxStatusDic","Valid","Pending","taxStatusText","COB_OBSERVER_CARRIER_PROFILE_W9_LOADED","COB_SUBJECT_CARRIER_PROFILE_TAX_RELOAD","federalTypeError","isValidZip","validateEid","eidError","federalTypeOtherError","tinError","cobCarrierReadyToSignModal","hidden","navTo","COB_OBSERVER_CARRIER_PROFILE_READY_TO_SIGN","cobCarrierWelcomeModal","cobCarrierList","sortType","showConfirmation","initialLoad","showAllDocsList","lastClicked","checkBoxClick","associationEnumToString","selectedCarriersCount","carrierNoteHelper","exportCarriersDisable","isWriteEnabledUser","exportSelectedCarriersHelper","toggleDocsModal","loadMore","setFilter","expandCarrier","changeStatus","changeSort","getSortCssClass","searchTypeChange","searchInputChange","validateSearchInput","searchInputKeyPress","notesClicked","resetOpenedCarrierIndex","resetCarrierProfileSectionStatusData","getContractsInfo","statusChoices","statuses","COB_OBSERVER_SCROLL_MESSAGE","openedCarrierIndex","selectedStatus","changedItems","checked","association","item","getSelection","removeAllRanges","selectedFilter","totalRowsAvailable","grep","isExpanded","currentCarrier","contactRole","contactEmail","contactPhone","carrierProfileSectionStatusData","createCarrierProfileSectionStatusData","join","$event","searchInputError","searchInputType","searchInputPlaceholder","errorText","searchValueParts","searchValue2Parts","date1","date2","tempVal","cobBrokerContract","_contractService_","upload","fileSelect","saveContract","validate","validateContractName","reset","isready","regex","addBrokerContractRequest","contractDescription","contractFile","filename","fileSize","COB_SUBJECT_FILE_UPLOAD_SAVED","validMimeTypes","validFileExtensions","COB_SUBJECT_FILE_UPLOAD_ERROR","COB_SUBJECT_FILE_UPLOAD_SUCCESS","cobContractList","showAddContractModal","saveDescription","onfileUploadCancel","onFileUploadSave","sortReverse","COB_OBSERVER_FILE_UPLOAD_SUCCESS","onFileUploadSuccess","COB_OBSERVER_FILE_UPLOAD_SAVED","onFileUploadSaved","newContract","cobContractSignaturesList","filterInputPlaceholder","isFilter","haveAllRows","allChecked","checkedCount","rejectSignatureHideConfirm","rejectClicked","getSignatures","timezoneFilter","hamburgerClicked","filterTypeChange","filterInputKeyPress","filterInputChange","toggleChecked","exportSignatures","selectedSignatures","exportSignaturesDisable","showRejectConfirmation","enableRejectButton","rejectableCheckedCount","singleSigneeName","statChoices","getDetails","validateFilter","clearSearch","clearOld","availableRows","rejectedSignatures","signatureId","sortBy","time","timeObj","getTimezoneOffset","exportedSignatures","downloadFile","showExportConfirmation","exportConfirmationEmailAddress","hasSelectedSignatures","today","returnVal","getMonth","blob","Blob","navigator","msSaveBlob","download","URL","createObjectURL","setAttribute","visibility","click","removeChild","cobContractVersionsList","bindToController","showDeleteContractModal","versions","parseFloat","showDeleteConfirmation","deleteContractHideConfirm","deleteContractShowConfirm","descriptionClicked","getVersions","setActive","sortClicked","version","isLatest","editMode","COB_SUBJECT_CONTRACT_GROUP_SELECTED","isActive","cobAdminBrokerList","_internalAdminService_","hideAssureSignIdModal","masqueradeClick","showAssureSignIdModal","clearSearchClicked","isSearch","displayAssureSignIdModal","setfilterExpr","filterExpr","searchExact","accountId","guid","assuresignBrokerId","assuresignBrokerName","assuresignBrokerDomain","cobAdminBrokerUsageReport","getReport","cobAdminCarrierList","showTinErrorModal","searchClicked","searchTypeChanged","setTinText","closeTinErrorModal","closeTinStatusModal","tinStatusFilter","tinStatusChange","openTinStatusModal","carrierImpersonate","setStatusFilter","tinStatusRejectionCodeInfo","0","1","2","3","4","5","6","7","8","resetModalWindowData","tinResultsFileErrors","getSearchData","clearFilter","filterValue","intrastate","saveTinResults","uploadTinResultsRequest","tinResultsFile","validateTinResults","showTinStatusModal","updateCarriersList","modalWindowData","carrierTinStatus","carrierIndex","createModalWindowData","tinStatusChangeRequest","taxLegalName","cobAdminContractList","templateClicked","saveTemplateId","editingTemplateId","cobAssureSignIdModal","closeFn","cancelClicked","saveClicked","getAssureSignContext","brokerIdentity","print","assureSignUserIdError","assureSignUserId"],"mappings":"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,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,WACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,WACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,WACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,WACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,WACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,WACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,WACjCD,IAAK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uC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACjCD,IAAK,KAAMtC,MAAO,KAAMuC,QAAS,QACj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","file":"Onboarding-core-bundle.js","sourcesContent":["'use strict';\n\n(function() {\n\n\tangular.module('onboarding',\n\t\t[\n\t\t\t// Shared modules\n\t\t\t'onboarding.services',\n\t\t\t'onboarding.constants',\n\t\t\t'onboarding.common',\n\t\t\t'onboarding.common.security',\n\t\t\t'onboarding.common.settings',\n\t\t\t'onboarding.broker',\n\t\t\t'onboarding.broker.carriers',\n\t\t\t'onboarding.broker.contracts',\n\t\t\t'onboarding.carrier',\n\t\t\t'onboarding.internaladmin',\n\t\t\t'dat.shared-components.common',\n\n\t\t\t// 3rd-party modules (needed by this module)\n\t\t\t'ui',\n\t\t\t'ui.router',\n\t\t\t'ui.select2',\n\t\t\t'ngSanitize',\n\t\t\t'ngFileUpload'\n\t\t])\n\t\t.config([\n\t\t\t'$stateProvider', '$urlRouterProvider', '$locationProvider',\n\t\t\tfunction($stateProvider, $urlRouterProvider, $locationProvider) {\n\t\t\t\t// Route definitions are in the module of the respective area. We only provide the default route here.\n\n\t\t\t\t$urlRouterProvider.otherwise('/');\n\n\t\t\t\t$locationProvider.html5Mode(true);\n\n\t\t\t\t$stateProvider\n\t\t\t\t\t.state('base',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('dot',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/dot',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('intrastate',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/intrastate',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('canadian',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/canadian',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('selectcarrier',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/selectcarrier',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('confirmCompany',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/confirmCompany',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('registration',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/registration',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('carriers',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/carriers?brokerId',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('carrierProfile',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/profile',\n\t\t\t\t\t\t\tabstract: true,\n\t\t\t\t\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfile.html'\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('carrierProfile.company',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/company?carrierId&brokerId',\n\t\t\t\t\t\t\ttemplate: '',\n\t\t\t\t\t\t\tparent: 'carrierProfile'\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('carrierProfile.company.showModal',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/modal',\n\t\t\t\t\t\t\ttemplate: '',\n\t\t\t\t\t\t\tparent: 'carrierProfile.company'\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('carrierProfile.contacts',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/contacts?carrierId&brokerId',\n\t\t\t\t\t\t\ttemplate: '',\n\t\t\t\t\t\t\tparent: 'carrierProfile'\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('carrierProfile.fleetServices',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/fleetservices?carrierId&brokerId',\n\t\t\t\t\t\t\ttemplate: '',\n\t\t\t\t\t\t\tparent: 'carrierProfile'\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('carrierProfile.laneCoverage',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/laneCoverage?carrierId&brokerId',\n\t\t\t\t\t\t\ttemplate: '',\n\t\t\t\t\t\t\tparent: 'carrierProfile'\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('carrierProfile.taxes',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/taxes?carrierId&brokerId',\n\t\t\t\t\t\t\ttemplate: '',\n\t\t\t\t\t\t\tparent: 'carrierProfile'\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('carrierProfile.insurance',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/insurance?carrierId&brokerId',\n\t\t\t\t\t\t\ttemplate: '',\n\t\t\t\t\t\t\tparent: 'carrierProfile'\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('carrierProfile.documents',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/documents?carrierId&brokerId',\n\t\t\t\t\t\t\ttemplate: '',\n\t\t\t\t\t\t\tparent: 'carrierProfile'\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('carrierProfile.contracts',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/contracts?carrierId&brokerId',\n\t\t\t\t\t\t\ttemplate: '',\n\t\t\t\t\t\t\tparent: 'carrierProfile'\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('contracts',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/activecontracts?brokerId',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('contractfamily',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/contractfamily?brokerId&contractid',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('contractsignatures',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/contractsignatures?brokerId&contractid',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('brokersAdmin',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/brokersAdmin',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('carriersAdmin',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/carriersAdmin',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('reportsAdmin',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/reportsAdmin',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('contractsAdmin',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/contractsAdmin',\n\t\t\t\t\t\t\ttemplate: ''\n\t\t\t\t\t\t})\n\t\t\t\t\t.state('unauthorized',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\turl: '/unauthorized',\n\t\t\t\t\t\t\ttemplateUrl: '/app/common/security/cobUnauthorized.html'\n\t\t\t\t\t\t});\n\t\t\t}\n\t\t])\n\t\t.config([\n\t\t\t'$httpProvider', function($httpProvider) {\n\t\t\t\t'use strict';\n\t\t\t\t$httpProvider.interceptors.push('onboardHttpInterceptor');\n\t\t\t}\n\t\t])\n\t\t.config([\n\t\t\t'$logProvider', function($logProvider) {\n\t\t\t\t$logProvider.debugEnabled(false);\n\t\t\t}\n\t\t])\n\t\t.config([\n\t\t\t'$provide', function($provide) {\n\t\t\t\treturn $provide.decorator('$log',\n\t\t\t\t\t[\n\t\t\t\t\t\t'$delegate', function($delegate) {\n\t\t\t\t\t\t\tvar debug = $delegate.debug;\n\n\t\t\t\t\t\t\t// Comment out the line below to see $log.debug statements\n\t\t\t\t\t\t\t//$delegate.debug = function() {}; // no-op\n\t\t\t\t\t\t\treturn $delegate;\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\t\t\t}\n\t\t])\n\t\t.config([\n\t\t\t'$provide', function($provide) {\n\t\t\t\treturn $provide.decorator('$location',\n\t\t\t\t\t[\n\t\t\t\t\t\t'$delegate', '$injector', function($location, $injector) {\n\t\t\t\t\t\t\tvar skipping = false;\n\t\t\t\t\t\t\tvar $rootScope = $injector.get('$rootScope');\n\n\t\t\t\t\t\t\t$rootScope.$on('$locationChangeSuccess',\n\t\t\t\t\t\t\t\tfunction(event) {\n\t\t\t\t\t\t\t\t\tif (skipping) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tskipping = false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t$location.skipReload = function() {\n\t\t\t\t\t\t\t\tskipping = true;\n\n\t\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\treturn $location;\n\t\t\t\t\t\t}\n\t\t\t\t\t]);\n\t\t\t}\n\t\t])\n\t\t.run([\n\t\t\t'$rootScope', 'sessionService', 'authenticationService', '$state', '$stateParams',\n\t\t\t'subjectObserverMessagesService',\n\t\t\t'observerService',\n\t\t\t'$timeout', '$window', function assignServicesToRootScope($rootScope,\n\t\t\t\tsessionService,\n\t\t\t\tauthenticationService,\n\t\t\t\t$state,\n\t\t\t\t$stateParams,\n\t\t\t\tsubjectObserverMessagesService,\n\t\t\t\tobserverService,\n\t\t\t\t$timeout, $window) {\n\t\t\t\t$rootScope.$state = $state;\n\t\t\t\t$rootScope.$stateParams = $stateParams;\n\t\t\t\t$rootScope.sessionService = sessionService;\n\t\t\t\t$rootScope.authenticationService = authenticationService;\n\t\t\t\t$rootScope.whiteList = ['intrastate', 'canadian', 'dot', 'selectcarrier', 'confirmCompany', 'registration'];\n\t\t\t\t$rootScope.sessionService.restoreState();\n\n\t\t\t\tvar domain = $('base').attr('href').split('/')[1];\n\t\t\t\tvar lastVisitedPage = $rootScope.sessionService.getLastVisitedPage();\n\n\t\t\t\tif (domain) {\n\t\t\t\t\t$rootScope.sessionService.setDomain(domain, $rootScope);\n\t\t\t\t}\n\n\t\t\t\tvar subjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\t\tvar isAuthenticated,\n\t\t\t\t\tcurrentStateName;\n\t\t\t\tauthenticationService.getUserInfo($rootScope)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tisAuthenticated = response.data.isAuthenticated;\n\t\t\t\t\t\tcurrentStateName = $state.$current.name;\n\n\t\t\t\t\t\tif (isAuthenticated) {\n\t\t\t\t\t\t\tvar sessionData = {\n\t\t\t\t\t\t\t\tuserName: sessionService.getUserName(),\n\t\t\t\t\t\t\t\tcapabilityIds: sessionService.getCapabilities(),\n\t\t\t\t\t\t\t\tpage: $rootScope.destination\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tvar roleChanched = lastVisitedPage && lastVisitedPage.capabilities \n && sessionData.capabilityIds \n && (lastVisitedPage.capabilities[0] !== sessionData.capabilityIds[0]);\n \n\t\t\t\t\t\t\tif (roleChanched) {\n\t\t\t\t\t\t\t\tlastVisitedPage = null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (currentStateName === 'base' || $rootScope.whiteList.indexOf(currentStateName) !== -1) {\n\t\t\t\t\t\t\t\tif (sessionService.isAuthorizedInternalAdmin()) {\n\t\t\t\t\t\t\t\t\tsessionData.page = 'carriersAdmin';\n\t\t\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t\t\t.sendMessageToSubject($rootScope,\n\t\t\t\t\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_LOGIN_FINISHED_SUCCESS,\n\t\t\t\t\t\t\t\t\t\t\tsessionData);\n\t\t\t\t\t\t\t\t\tstateGo('carriersAdmin');\n \n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t} else if (sessionService.isAuthorizedBrokerRead()) {\n\t\t\t\t\t\t\t\t\tsessionData.page = 'carriers';\n\t\t\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t\t\t.sendMessageToSubject($rootScope,\n\t\t\t\t\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_LOGIN_FINISHED_SUCCESS,\n\t\t\t\t\t\t\t\t\t\t\tsessionData);\n\t\t\t\t\t\t\t\t\tstateGo('carriers');\n \n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t} else if (sessionService.isAuthorizedCarrierRead()) {\n\t\t\t\t\t\t\t\t\tsessionData.page = 'carrierProfile.company';\n\t\t\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t\t\t.sendMessageToSubject($rootScope,\n\t\t\t\t\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_LOGIN_FINISHED_SUCCESS,\n\t\t\t\t\t\t\t\t\t\t\tsessionData);\n\t\t\t\t\t\t\t\t\tstateGo('carrierProfile.company');\n \n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n \n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t\t.sendMessageToSubject($rootScope,\n\t\t\t\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_LOGIN_FINISHED_SUCCESS,\n\t\t\t\t\t\t\t\t\t\tsessionData);\n\t\t\t\t\t\t\t}, 200);\n \n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tif ($rootScope.whiteList.indexOf(currentStateName) === -1 && currentStateName !== '') {\n\t\t\t\t\t\t\t\tsessionService.redirectToLogin();\n\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tfunction stateGo(stateName) {\n\t\t\t\t\t\t\tif (lastVisitedPage) {\n\t\t\t\t\t\t\t\t$state.go(lastVisitedPage.name, lastVisitedPage.params);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$state.go(stateName);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\t\t])\n\t\t.run([\n\t\t\t'$rootScope', '$location', '$state', 'subjectObserverMessagesService', 'observerService', '$window',\n\t\t\tfunction checkAccessOnStateChange($rootScope,\n\t\t\t\t$location,\n\t\t\t\t$state,\n\t\t\t\tsubjectObserverMessagesService,\n\t\t\t\tobserverService,\n\t\t\t\t$window) {\n\n\t\t\t\t$rootScope.$on('$stateChangeStart',\n\t\t\t\t\tfunction(event, toState, toParams, fromState) {\n\t\t\t\t\t\tvar shouldSaveCurrentState, isBrokerOnCarrierView;\n\t\t\t\t\t\t$rootScope.destination = toState.name;\n\t\t\t\t\t\tvar isAuthenticated = $rootScope.authenticationService.isAuthenticated();\n\n\t\t\t\t\t\tif (toState.name === 'urlnotfound') {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (isAuthenticated) {\n\t\t\t\t\t\t\tvar subjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\t\t\t\t\tobserverService.sendMessageToSubject($rootScope, subjectMessages.COB_SUBJECT_VIEW_CHANGE, toState.name);\n\t\t\t\t\t\t\tisBrokerOnCarrierView = Boolean($rootScope.sessionService.isAuthorizedBrokerRead() && toParams.carrierId);\n\t\t\t\t\t\t\tshouldSaveCurrentState = toState.name !== 'base' && $rootScope.whiteList.indexOf(toState.name) === -1 && !isBrokerOnCarrierView;\n\n\t\t\t\t\t\t\tif (shouldSaveCurrentState) {\n\t\t\t\t\t\t\t\t$rootScope.sessionService.setLastVisitedPage({name: toState.name, params: toParams});\n\t\t\t\t\t\t\t}\n \n\t\t\t\t\t\t\tif (isBrokerOnCarrierView) {\n\t\t\t\t\t\t\t\t$rootScope.sessionService.removeLastVisitedPage();\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tswitch (toState.name) {\n\t\t\t\t\t\t\tcase 'brokersAdmin':\n\t\t\t\t\t\t\tcase 'carriersAdmin':\n\t\t\t\t\t\t\tcase 'contractsAdmin':\n\t\t\t\t\t\t\tcase 'reportsAdmin':\n\t\t\t\t\t\t\t\tif (!$rootScope.sessionService.isAuthorizedInternalAdmin()) {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t$state.transitionTo('base');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'carriers':\n\t\t\t\t\t\t\tcase 'contracts':\n\t\t\t\t\t\t\t\tif ($rootScope.sessionService.isAuthorizedInternalAdmin() && !toParams.brokerId) {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t$state.transitionTo('brokersAdmin');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (!$rootScope.sessionService.isAuthorizedBrokerRead() &&\n !$rootScope.sessionService.isAuthorizedInternalAdmin()) {\n \n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t$state.transitionTo('base');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'carrierProfile.company':\n\t\t\t\t\t\t\tcase 'carrierProfile.company.showModal':\n\t\t\t\t\t\t\tcase 'carrierProfile.contacts':\n\t\t\t\t\t\t\tcase 'carrierProfile.fleetServices':\n\t\t\t\t\t\t\tcase 'carrierProfile.laneCoverage':\n\t\t\t\t\t\t\tcase 'carrierProfile.taxes':\n\t\t\t\t\t\t\tcase 'carrierProfile.insurance':\n\t\t\t\t\t\t\tcase 'carrierProfile.documents':\n\t\t\t\t\t\t\tcase 'carrierProfile.contracts':\n\t\t\t\t\t\t\t\tif (!$rootScope.sessionService.isAuthorizedCarrierRead() && !toParams.carrierId) {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t$state.transitionTo('base');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tif ($rootScope.sessionService.isAuthorizedInternalAdmin() && !toParams.brokerId) {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t$state.transitionTo('brokersAdmin');\n\t\t\t\t\t\t\t\t}\n \n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n \n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t} else if (toState.name === 'base') {\n\t\t\t\t\t\t\tvar domain = $('base').attr('href').split('/')[1];\n\t\t\t\t\t\t\tif (domain) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t$state.transitionTo('dot');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (toState.name === 'confirmCompany') {\n\t\t\t\t\t\t\t$rootScope.previousRegistrationState = fromState.name;\n\t\t\t\t\t\t} else if (toState.name === 'dot' && (fromState.name === 'registration' || 'confirmCompany')) {\n\t\t\t\t\t\t\tif ($rootScope\n\t\t\t\t\t\t\t\t.previousRegistrationState &&\n $rootScope.previousRegistrationState !== 'dot') {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t$state.transitionTo($rootScope.previousRegistrationState);\n\t\t\t\t\t\t\t\t$rootScope.previousRegistrationState = undefined;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t});\n\t\t\t}\n\t\t]);\n\n\tangular.element(document).ready(function () {\n\t\tangular.bootstrap(document, ['onboarding']);\n\t});\n\n})();\n","angular.module('onboarding.common',\n\t[\n\t\t'ngCookies'\n\t]);\n","'use strict';\n\nangular.module('onboarding.common.security',\n\t[\n\t]);\n","'use strict';\n\nangular.module('onboarding.common.settings', []);\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('autofill',\n\t\t\tfunction() {\n\t\t\t\treturn {\n\t\t\t\t\trequire: 'ngModel',\n\t\t\t\t\tlink: function(scope, element, attrs, ngModel) {\n\t\t\t\t\t\tscope.$on('autofill:update',\n\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\tngModel.$setViewValue(element.val());\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\t/* http://stackoverflow.com/questions/14965968/angularjs-browser-autofill-workaround-by-using-a-directive#answer-19854565 */\n\t\t\t});\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('carrierProfileSectionStatus', carrierProfileSectionStatus);\n\n\tfunction carrierProfileSectionStatus() {\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: { \n\t\t\t\tdata: '='\n\t\t\t},\n\t\t\treplace: false,\n\t\t\ttemplateUrl: '/app/common/directives/carrierProfileSectionStatus.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\t\t\n\tfunction linkFunction(scope) { \n\t\tactivate();\n\t\n\t\tfunction activate() {\n\t\t\tscope.carrierProfileSections = [];\n\t\t\tscope.getCarrierProfileSectionCssClass = getCarrierProfileSectionCssClass;\n\t\t\tscope.getProgressMessageInfo = getProgressMessageInfo;\n\t\t\tscope.getCarrierProfileSectionPath = getCarrierProfileSectionPath;\n\t\t\tscope.$watch('data', function(value) {\n\t\t\t\tscope.completedSectionsCounter = 0;\n\t\t\t\tscope.carrierId = value.carrierId;\n\t\t\t\tscope.carrierProfileSections = createCarrierProfileSections(value.carrierProfileSectionsStatus);\n\t\t\t}, true);\n\t\t}\n\n\t\tfunction getCarrierProfileSectionCssClass(isComplete) {\n\t\t\treturn isComplete ? 'complete-section': 'incomplete-section';\n\t\t}\n\n\t\tfunction calculateCompletedCarrierProfileSections(isComplete) {\n\t\t\tif (isComplete) {\n\t\t\t\tscope.completedSectionsCounter++;\n\t\t\t}\n\t\t}\n\n\t\tfunction createCarrierProfileSection(tooltipText, isComplete, path) {\n\t\t\tcalculateCompletedCarrierProfileSections(isComplete);\n\t\t\t\n\t\t\treturn { tooltipText: tooltipText, isComplete: isComplete, path: path };\n\t\t}\n\n\t\tfunction getCarrierProfileSectionPath(path) {\n\t\t\treturn path + '?carrierId=' + scope.carrierId;\n\t\t}\n\n\t\tfunction getProgressMessageInfo() {\n\t\t\tvar maxCompletedSections = 8;\n\t\t\tif (scope.completedSectionsCounter === maxCompletedSections) {\n\t\t\t\treturn 'All sections completed';\n\t\t\t}\n\n\t\t\treturn scope.completedSectionsCounter + ' of ' + maxCompletedSections + ' sections complete';\n\t\t}\n\n\t\tfunction createCarrierProfileSections(carrierProfileSectionsStatus) {\n\t\t\tif (!carrierProfileSectionsStatus) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\tcreateCarrierProfileSection('Company', carrierProfileSectionsStatus.companyInfoComplete, 'profile/company'),\n\t\t\t\tcreateCarrierProfileSection('Contacts', carrierProfileSectionsStatus.contactsComplete, 'profile/contacts'),\n\t\t\t\tcreateCarrierProfileSection('Fleet', carrierProfileSectionsStatus.equipmentInfoComplete, 'profile/fleetservices'),\n\t\t\t\tcreateCarrierProfileSection('Lanes', carrierProfileSectionsStatus.laneInfoComplete, 'profile/laneCoverage'),\n\t\t\t\tcreateCarrierProfileSection('Tax', carrierProfileSectionsStatus.taxInfoComplete, 'profile/taxes'),\n\t\t\t\tcreateCarrierProfileSection('Documents', carrierProfileSectionsStatus.documentsComplete, 'profile/documents'),\n\t\t\t\tcreateCarrierProfileSection('Insurance', carrierProfileSectionsStatus.insuranceInfoComplete, 'profile/insurance'),\n\t\t\t\tcreateCarrierProfileSection('Contracts', carrierProfileSectionsStatus.contractsComplete, 'profile/contracts')\n\t\t\t];\n\t\t}\n\t}\n})();\n","'use strict';\n(function() {\n\tangular\n\t\t.module('onboarding.common')\n\t\t.directive('cobAddress', cobAddress);\n\n\tcobAddress.$inject = ['subjectObserverMessagesService', 'observerService', 'validationService'];\n\tvar subjectObserverMessagesService, observerService, subjectMessages, observerMessages, validationService;\n\n\tfunction cobAddress(_subjectObserverMessagesService_, _observerService_, _validationService_) {\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tvalidationService = _validationService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {\n\t\t\t\thide: '=',\n\t\t\t\treadOnly: '=',\n\t\t\t\taddress: '=',\n\t\t\t\tisValid: '='\n\t\t\t},\n\t\t\ttemplateUrl: '/app/common/directives/cobAddress.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.setIsDirty = setIsDirty;\n\t\t\tscope.validateStreet = validateStreet;\n\t\t\tscope.validateCity = validateCity;\n\t\t\tscope.validateStateProvince = validateStateProvince;\n\t\t\tscope.validatePostalCode = validatePostalCode;\n\t\t\tscope.validatePhoneNumber = validatePhoneNumber;\n\t\t\tscope.validatePhoneExt = validatePhoneExt;\n\n\t\t\tscope.m = {\n \n\t\t\t};\n\n\t\t\tscope.stateList = [\n\t\t\t\t{ key: 'AL', value: 'AL', country: 'USA' },\n\t\t\t\t{ key: 'AK', value: 'AK', country: 'USA' },\n\t\t\t\t{ key: 'AS', value: 'AS', country: 'USA' },\n\t\t\t\t{ key: 'AZ', value: 'AZ', country: 'USA' },\n\t\t\t\t{ key: 'AR', value: 'AR', country: 'USA' },\n\t\t\t\t{ key: 'CA', value: 'CA', country: 'USA' },\n\t\t\t\t{ key: 'CO', value: 'CO', country: 'USA' },\n\t\t\t\t{ key: 'CT', value: 'CT', country: 'USA' },\n\t\t\t\t{ key: 'DE', value: 'DE', country: 'USA' },\n\t\t\t\t{ key: 'DC', value: 'DC', country: 'USA' },\n\t\t\t\t{ key: 'FL', value: 'FL', country: 'USA' },\n\t\t\t\t{ key: 'GA', value: 'GA', country: 'USA' },\n\t\t\t\t{ key: 'GU', value: 'GU', country: 'USA' },\n\t\t\t\t{ key: 'HI', value: 'HI', country: 'USA' },\n\t\t\t\t{ key: 'ID', value: 'ID', country: 'USA' },\n\t\t\t\t{ key: 'IL', value: 'IL', country: 'USA' },\n\t\t\t\t{ key: 'IN', value: 'IN', country: 'USA' },\n\t\t\t\t{ key: 'IA', value: 'IA', country: 'USA' },\n\t\t\t\t{ key: 'KS', value: 'KS', country: 'USA' },\n\t\t\t\t{ key: 'KY', value: 'KY', country: 'USA' },\n\t\t\t\t{ key: 'LA', value: 'LA', country: 'USA' },\n\t\t\t\t{ key: 'ME', value: 'ME', country: 'USA' },\n\t\t\t\t{ key: 'MD', value: 'MD', country: 'USA' },\n\t\t\t\t{ key: 'MA', value: 'MA', country: 'USA' },\n\t\t\t\t{ key: 'MI', value: 'MI', country: 'USA' },\n\t\t\t\t{ key: 'MN', value: 'MN', country: 'USA' },\n\t\t\t\t{ key: 'MS', value: 'MS', country: 'USA' },\n\t\t\t\t{ key: 'MO', value: 'MO', country: 'USA' },\n\t\t\t\t{ key: 'MT', value: 'MT', country: 'USA' },\n\t\t\t\t{ key: 'NE', value: 'NE', country: 'USA' },\n\t\t\t\t{ key: 'NV', value: 'NV', country: 'USA' },\n\t\t\t\t{ key: 'NH', value: 'NH', country: 'USA' },\n\t\t\t\t{ key: 'NJ', value: 'NJ', country: 'USA' },\n\t\t\t\t{ key: 'NM', value: 'NM', country: 'USA' },\n\t\t\t\t{ key: 'NY', value: 'NY', country: 'USA' },\n\t\t\t\t{ key: 'NC', value: 'NC', country: 'USA' },\n\t\t\t\t{ key: 'ND', value: 'ND', country: 'USA' },\n\t\t\t\t{ key: 'OH', value: 'OH', country: 'USA' },\n\t\t\t\t{ key: 'OK', value: 'OK', country: 'USA' },\n\t\t\t\t{ key: 'OR', value: 'OR', country: 'USA' },\n\t\t\t\t{ key: 'PA', value: 'PA', country: 'USA' },\n\t\t\t\t{ key: 'PR', value: 'PR', country: 'USA' },\n\t\t\t\t{ key: 'RI', value: 'RI', country: 'USA' },\n\t\t\t\t{ key: 'SC', value: 'SC', country: 'USA' },\n\t\t\t\t{ key: 'SD', value: 'SD', country: 'USA' },\n\t\t\t\t{ key: 'TN', value: 'TN', country: 'USA' },\n\t\t\t\t{ key: 'TX', value: 'TX', country: 'USA' },\n\t\t\t\t{ key: 'UT', value: 'UT', country: 'USA' },\n\t\t\t\t{ key: 'VT', value: 'VT', country: 'USA' },\n\t\t\t\t{ key: 'VA', value: 'VA', country: 'USA' },\n\t\t\t\t{ key: 'VI', value: 'VI', country: 'USA' },\n\t\t\t\t{ key: 'WA', value: 'WA', country: 'USA' },\n\t\t\t\t{ key: 'WV', value: 'WV', country: 'USA' },\n\t\t\t\t{ key: 'WI', value: 'WI', country: 'USA' },\n\t\t\t\t{ key: 'WY', value: 'WY', country: 'USA' },\n\t\t\t\t{ key: 'AB', value: 'AB', country: 'Canada' },\n\t\t\t\t{ key: 'BC', value: 'BC', country: 'Canada' },\n\t\t\t\t{ key: 'MB', value: 'MB', country: 'Canada' },\n\t\t\t\t{ key: 'NB', value: 'NB', country: 'Canada' },\n\t\t\t\t{ key: 'NF', value: 'NF', country: 'Canada' },\n\t\t\t\t{ key: 'NT', value: 'NT', country: 'Canada' },\n\t\t\t\t{ key: 'NS', value: 'NS', country: 'Canada' },\n\t\t\t\t{ key: 'NU', value: 'NU', country: 'Canada' },\n\t\t\t\t{ key: 'ON', value: 'ON', country: 'Canada' },\n\t\t\t\t{ key: 'PE', value: 'PE', country: 'Canada' },\n\t\t\t\t{ key: 'PQ', value: 'PQ', country: 'Canada' },\n\t\t\t\t{ key: 'SK', value: 'SK', country: 'Canada' },\n\t\t\t\t{ key: 'YT', value: 'YT', country: 'Canada' }\n\t\t\t];\n\n\t\t\tscope.$watch('isValid',\n\t\t\t\tfunction(newVal) {\n\t\t\t\t\tif (newVal === null)\n\t\t\t\t\t\tscope.isValid = isValid();\n\t\t\t\t});\n\n\t\t\tscope.$watch('address',\n\t\t\t\tfunction(newVal) {\n\t\t\t\t\tif (newVal) {\n\t\t\t\t\t\tif (Object.keys(newVal).length === 0)\n\t\t\t\t\t\t\tscope.m = {\n \n\t\t\t\t\t\t\t};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewVal = {};\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\n\t\tfunction isValid() {\n\t\t\tvalidateStreet();\n\t\t\tvalidateCity();\n\t\t\tvalidateStateProvince();\n\t\t\tvalidatePostalCode();\n\t\t\tvalidatePhoneNumber();\n\t\t\tvalidatePhoneExt();\n\n\n\t\t\tif (scope.m.streetError)\n\t\t\t\treturn false;\n\t\t\tif (scope.m.cityError)\n\t\t\t\treturn false;\n\t\t\tif (scope.m.stateProvinceError)\n\t\t\t\treturn false;\n\t\t\tif (scope.m.postalCodeError)\n\t\t\t\treturn false;\n\t\t\tif (scope.m.phoneNumberError)\n\t\t\t\treturn false;\n\t\t\tif (scope.m.phoneExtError)\n\t\t\t\treturn false;\n\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction setIsDirty() {\n\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_IS_DIRTY);\n\t\t}\n\n\t\tfunction validateStreet() {\n\t\t\tif (!scope.address.street) {\n\t\t\t\tscope.m.streetError = 'Valid input is required.';\n\t\t\t} else {\n\t\t\t\tscope.m.streetError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateCity() {\n\t\t\tif (!scope.address.city) {\n\t\t\t\tscope.m.cityError = 'Valid input is required.';\n\t\t\t} else {\n\t\t\t\tscope.m.cityError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateStateProvince() {\n\t\t\tif (!scope.address.stateProvince) {\n\t\t\t\tscope.m.stateProvinceError = 'Valid input is required.';\n\t\t\t} else {\n\t\t\t\tscope.m.stateProvinceError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validatePostalCode() {\n\t\t\tif (!scope.address.postalCode || scope.address.postalCode.length === 0) {\n\t\t\t\tscope.m.postalCodeError = 'Valid input is required';\n\t\t\t} else if (validationService.isValidUsPostalCode(scope.address.postalCode)) {\n\t\t\t\tscope.m.postalCodeError = '';\n\t\t\t\tscope.address.countryCode = 'us';\n\t\t\t}\n\t\t\telse if (validationService.isValidCanadianPostalCode(scope.address.postalCode)) {\n\t\t\t\tscope.m.postalCodeError = '';\n\t\t\t\tscope.address.countryCode = 'ca';\n\t\t\t} else {\n\t\t\t\tscope.m.postalCodeError = 'Valid input is required';\n\t\t\t}\n\t\t}\n\n\t\tfunction validatePhoneNumber() {\n\t\t\tif (!scope.address.phoneNumber) {\n\t\t\t\tscope.m.phoneNumberError = 'Input is required';\n\t\t\t} else if (scope.address.phoneNumber.length !== 10) {\n\t\t\t\tscope.m.phoneNumberError = 'Valid input is required';\n\t\t\t} else if (scope.address.phoneNumber[0] === '0' || scope.address.phoneNumber[0] === '1') {\n\t\t\t\tscope.m.phoneNumberError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.phoneNumberError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validatePhoneExt() {\n\t\t\tif (/^[0-9]{0,5}$/.test(scope.address.phoneExt) || !scope.address.phoneExt) {\n\t\t\t\tscope.m.phoneExtError = '';\n\t\t\t} else {\n\t\t\t\tscope.m.phoneExtError = 'Valid input is required';\n\t\t\t}\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobAlphanumericInput', cobAlphanumericInput);\n\n\tfunction cobAlphanumericInput() {\n\n\t\treturn {\n\t\t\trequire: 'ngModel',\n\t\t\tlink: function($scope, $element) {\n\n\t\t\t\t$element.bind('keydown',\n\t\t\t\t\tfunction(event) {\n\t\t\t\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\t\t\t\tvar key = event.keyCode;\n\t\t\t\t\t\tvar isShift = !!event.shiftKey;\n\n\t\t\t\t\t\tswitch (charCode) {\n\t\t\t\t\t\tcase 8: //backspace\n\t\t\t\t\t\tcase 35: //end\n\t\t\t\t\t\tcase 36: //home\n\t\t\t\t\t\tcase 37: //left arrow\n\t\t\t\t\t\tcase 39: //right arrow\n\t\t\t\t\t\tcase 46: //delete\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If the keys include the TAB, CTRL, SHIFT, ALT, or META keys, 10 key pad, or the arrow keys, do nothing.\n\t\t\t\t\t\t// This lets us support copy and paste too\n\t\t\t\t\t\tif ((key === 91) ||\n (15 < key && key < 19) ||\n (37 <= key && key <= 40) ||\n (key === 9) ||\n (96 <= key && key <= 105)) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!/^[a-z0-9]+$/i.test(String.fromCharCode(charCode))) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (isShift) {\n\t\t\t\t\t\t\tif (charCode >= 48 && charCode <= 57) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular\n\t\t.module('onboarding.common')\n\t\t.directive('cobBlur',\n\t\t\tfunction() {\n\t\t\t\treturn function(scope, element, attrs) {\n\t\t\t\t\telement.bind('blur',\n\t\t\t\t\t\tfunction(event) {\n\t\t\t\t\t\t\tscope.$eval(attrs.cobBlur, { 'event': event });\n\t\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t});\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobCarousel', cobCarousel);\n\n\tcobCarousel.$inject = ['$location', 'sessionService', 'observerService', 'subjectObserverMessagesService'];\n\n\tvar $location, sessionService, observerService, subjectObserverMessagesService, subjectMessages, observerMessages;\n\tvar CSS = {\n\t\tmodalOverlay: '.ui-widget-overlay',\n\t\tdialogContainer: '#carouselDialogContainer',\n\t\tdialogFooter: {\n\t\t\tcontainer: '#carouselDialogFooter',\n\t\t\tbackArrowContainer: '#carouselDialogFooter span:eq(0)',\n\t\t\tcontrolsContainer: '#carouselDialogFooter span:eq(1)',\n\t\t\tforwardArrowContainer: '#carouselDialogFooter span:eq(2)'\n\t\t},\n\t\tcarouselContainer: '#carouselContainer',\n\t\tmenuItemTrigger: '#open_carousel_dialog'\n\t};\n\n\tfunction cobCarousel(_$location_, _sessionService_, _observerService_, _subjectObserverMessagesService_) {\n\n\t\tsessionService = _sessionService_;\n\t\tobserverService = _observerService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\t$location = _$location_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\tlink: linkFunction,\n\t\t\ttemplateUrl: '/app/common/directives/cobCarousel.html'\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n \n\t\t\tregisterEventHandlers();\n\n\t\t\tscope.images = {\n\t\t\t\twhatsNew: buildImageSrc('1-whatsnew.png'),\n\t\t\t\tcompactView: buildImageSrc('2-compactview.png'),\n\t\t\t\tpreferBlock: buildImageSrc('3-preferblock.png'),\n\t\t\t\tfilters: buildImageSrc('4-filters.png'),\n\t\t\t\tresponsiveScreenshot: buildImageSrc('5-responsiveScreenshot.png'),\n\t\t\t\thelpCenter: buildImageSrc('6-helpCenter.png'),\n\t\t\t\thotMarketMap: buildImageSrc('6-hotMarketMap.png'),\n\t\t\t\ttools: buildImageSrc('6-tools.png'),\n\t\t\t\ttrendlines: buildImageSrc('6-trendlines.png'),\n\t\t\t\tzipZoneMap: buildImageSrc('6-zipZoneMap.png')\n\t\t\t};\n\n\t\t\tscope.urls = {\n\t\t\t\ttrainingVideos: 'foo',\n\t\t\t\twebPageZoomVideo: 'foo',\n\t\t\t\tsearchTrucksVideo: 'foo',\n\t\t\t\tsearchLoadsVideo: 'foo'\n\t\t\t};\n\n\t\t\tif ($location.path() === '/carriers'\n && sessionService.isBroker()\n && !sessionService.isAuthorizedInternalAdmin()\n && !sessionService.isCarrier()) {\n\t\t\t\tif (!isFirstTimeShown()) {\n\t\t\t\t\t// Uncomment this to make modal popup on login screen\n\t\t\t\t\tshowCarouselModal(); \n\t\t\t\t\tsetFirstTimeShown();\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\tfunction buildImageSrc(imgSrc) {\n\t\t\treturn '/app/images/carousel/' + imgSrc;\n\t\t}\n\n\t\tfunction isFirstTimeShown() {\n\t\t\treturn sessionService.getCarouselViewed();\n\t\t}\n\n\t\tfunction setFirstTimeShown() {\n\t\t\tsessionService.setCarouselViewed();\n\t\t}\n\n\t\tfunction showCarouselModal() {\n\t\t\t$(CSS.dialogContainer).dialog({\n\t\t\t\tmodal: true,\n\t\t\t\theight: 460,\n\t\t\t\twidth: 900,\n\t\t\t\tresizable: false,\n\t\t\t\tshow: { effect: 'fade', duration: 300 },\n\t\t\t\thide: { effect: 'fade', duration: 300 },\n\t\t\t\tdraggable: false,\n\t\t\t\tdialogClass: 'carouselDialog'\n\t\t\t});\n\n\t\t\t$(CSS.carouselContainer).anythingSlider({\n\t\t\t\ttheme: 'DAT',\n\t\t\t\tresizeContents: true,\n\t\t\t\teasing: 'swing',\n\t\t\t\tbuildStartStop: false,\n\t\t\t\tappendBackTo: $(CSS.dialogFooter.backArrowContainer),\n\t\t\t\tappendControlsTo: $(CSS.dialogFooter.controlsContainer),\n\t\t\t\tappendForwardTo: $(CSS.dialogFooter.forwardArrowContainer),\n\t\t\t\tappendNavigationTo: null,\n\t\t\t\tappendStartStopTo: null,\n\t\t\t\ttoggleArrows: false,\n\t\t\t\ttoggleControls: false,\n\t\t\t\tforwardText: '',\n\t\t\t\tbackText: '',\n\t\t\t\thashTags: false,\n\t\t\t\tnavigationFormatter: function () {\n\t\t\t\t\treturn '';\n\t\t\t\t},\n\t\t\t\tanimationTime: 300\n\t\t\t});\n\n\t\t\tregisterInteractionEvents();\n\t\t}\n\n\t\tfunction registerInteractionEvents() {\n\t\t\t$(CSS.modalOverlay).on('click', function () {\n\t\t\t\t$(CSS.dialogContainer).dialog('close');\n\t\t\t});\n\t\t}\n\n\t\tfunction registerEventHandlers() {\n\t\t\t$(CSS.menuItemTrigger).on('click', showCarouselModal);\n\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CAROUSEL_REQUEST_OPEN, handler: showCarouselModal }\n\t\t\t\t]);\n\t\t} \n\t}\n})();\n","/* eslint-disable no-unreachable */\n// TODO: remove code above and fix issues in case changing this file\n'use strict';\n\n(function() {\n\tangular\n\t\t.module('onboarding.common')\n\t\t.directive('cobDatePicker',\n\t\t\tfunction() {\n\n\t\t\t\treturn {\n\t\t\t\t\trestrict: 'E',\n\t\t\t\t\tscope: {\n\t\t\t\t\t\tfromDate: '=',\n\t\t\t\t\t\ttoDate: '=',\n\t\t\t\t\t\tplaceholder: '='\n\t\t\t\t\t},\n\t\t\t\t\ttemplateUrl: '/app/common/directives/cobDatePicker.html',\n\t\t\t\t\tlink: function(scope) {\n\n\t\t\t\t\t\tactivate();\n\n\t\t\t\t\t\tfunction activate() {\n\n\t\t\t\t\t\t\tif (!scope.fromDate) {\n\t\t\t\t\t\t\t\tscope.fromDate = '';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!scope.toDate) {\n\t\t\t\t\t\t\t\tscope.toDate = '';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!scope.dateFormat) {\n\t\t\t\t\t\t\t\tscope.dateFormat = 'mm/dd/y';\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t//todo make this stuff work for range\n\n\t\t\t\t\t\t\t//scope.placeholder = attrs.placeholder;\n\n\t\t\t\t\t\t\t//element.find('input').datepicker({\n\t\t\t\t\t\t\t// dateFormat: scope.dateFormat,\n\t\t\t\t\t\t\t// maxDate: '0'\n\t\t\t\t\t\t\t//});\n\n\t\t\t\t\t\t\t//element.find('input').datepicker({\n\t\t\t\t\t\t\t// dateFormat: scope.dateFormat,\n\t\t\t\t\t\t\t// maxDate: '0',\n\t\t\t\t\t\t\t// onSelect: onSelect,\n\t\t\t\t\t\t\t// beforeShowDay: beforeShowDay\n\t\t\t\t\t\t\t//});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//todo make this stuff work for range\n\t\t\t\t\t\tfunction beforeShowDay(date) {\n\t\t\t\t\t\t\tvar date1 = $.datepicker.parseDate(scope.dateFormat, scope.fromDate);\n\t\t\t\t\t\t\tvar date2 = $.datepicker.parseDate(scope.dateFormat, scope.toDate);\n\t\t\t\t\t\t\tvar selectedClass = 'dp-highligh';\n\t\t\t\t\t\t\tvar notSelectedClass = '';\n\n\n\t\t\t\t\t\t\tif (date2 && date >= date1 && date <= date2) {\n\t\t\t\t\t\t\t\treturn [true, selectedClass];\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn [true, notSelectedClass];\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\ttrue, date1 &&\n\t\t\t\t\t\t\t\t((date.getTime() == date1.getTime()) || (date2 && date >= date1 && date <= date2))\n\t\t\t\t\t\t\t\t\t? 'dp-highligh'\n\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//todo make this stuff work for range\n\t\t\t\t\t\tfunction onSelect(dateText, inst) {\n\n\t\t\t\t\t\t\tvar date1 = $.datepicker.parseDate(scope.dateFormat, scope.fromDate);\n\t\t\t\t\t\t\tvar date2 = $.datepicker.parseDate(scope.dateFormat, scope.toDate);\n\t\t\t\t\t\t\tif (!date1 || date2) {\n\t\t\t\t\t\t\t\tscope.fromDate = dateText;\n\t\t\t\t\t\t\t\tscope.toDate = '';\n\t\t\t\t\t\t\t\t$(this).datepicker();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (new Date(dateText) > new Date(scope.fromDate)) {\n\t\t\t\t\t\t\t\t\tscope.toDate = dateText;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tscope.toDate = scope.fromDate;\n\t\t\t\t\t\t\t\t\tscope.fromDate = dateText;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$(this).datepicker();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tscope.$apply();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n})();\n\n/* jQuery UI Datepicker plugin wrapper */\n(function() {\n\tangular\n\t\t.module('onboarding.common')\n\t\t.directive('jqDatePicker',\n\t\t\tfunction() {\n\t\t\t\treturn {\n\t\t\t\t\trestrict: 'A',\n\t\t\t\t\trequire: 'ngModel',\n\t\t\t\t\tlink: link\n\t\t\t\t};\n\n\t\t\t\tfunction link(scope, element, attrs, ngModelCtrl) {\n\t\t\t\t\tactivate();\n\n\t\t\t\t\tfunction activate() {\n\t\t\t\t\t\telement.datepicker({\n\t\t\t\t\t\t\tdateFormat: 'mm/dd/y',\n\t\t\t\t\t\t\tonSelect: onSelect\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction onSelect(date) {\n\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\tngModelCtrl.$setViewValue(date);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobEmployerIdentificationNumberInput', cobEmployerIdentificationNumberInput);\n\n\tcobEmployerIdentificationNumberInput.$inject = ['$filter', '$browser'];\n\n\tvar $filter, $browser;\n\n\tfunction cobEmployerIdentificationNumberInput(_filter_, _browser_) {\n\t\t$filter = _filter_;\n\t\t$browser = _browser_;\n\n\t\treturn {\n\t\t\trequire: 'ngModel',\n\t\t\tlink: function($scope, $element, $attrs, ngModelCtrl) {\n\t\t\t\tvar pastedValue = '';\n\t\t\t\tvar listener = function() {\n\t\t\t\t\tvar value = getValue().replace(/[^0-9]/g, '');\n\t\t\t\t\tpastedValue = '';\n\t\t\t\t\t$element.val($filter('eid')(value, false).slice(0, $attrs.maxlength));\n\t\t\t\t};\n\n\t\t\t\tfunction getValue() {\n\t\t\t\t\treturn pastedValue ? pastedValue: $element.val();\n\t\t\t\t}\n\n\t\t\t\t// This runs when we update the text field\n\t\t\t\tngModelCtrl.$parsers.push(function(viewValue) {\n\t\t\t\t\treturn viewValue.replace(/[^0-9]/g, '').slice(0, 9);\n\t\t\t\t});\n\n\t\t\t\t// This runs when the model gets updated on the scope directly and keeps our view in sync\n\t\t\t\tngModelCtrl.$render = function() {\n\t\t\t\t\t$element.val($filter('eid')(ngModelCtrl.$viewValue, false));\n\t\t\t\t};\n\n\t\t\t\t$element.bind('change', listener);\n\t\t\t\t$element.bind('keydown',\n\t\t\t\t\tfunction(event) {\n\t\t\t\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\t\t\t\tvar key = event.keyCode;\n\n\t\t\t\t\t\tswitch (charCode) {\n\t\t\t\t\t\tcase 8: //backspace\n\t\t\t\t\t\tcase 35: //end\n\t\t\t\t\t\tcase 36: //home\n\t\t\t\t\t\tcase 37: //left arrow\n\t\t\t\t\t\tcase 39: //right arrow\n\t\t\t\t\t\tcase 46: //delete\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!/^[0-9]$/.test(String.fromCharCode(charCode))) {\n\t\t\t\t\t\t\tif (!key >= 96 && !key <= 105) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If the keys include the TAB, CTRL, SHIFT, ALT, or META keys, 10 key pad, or the arrow keys, do nothing.\n\t\t\t\t\t\t// This lets us support copy and paste too\n\t\t\t\t\t\tif ((key === 91) || (15 < key && key < 19) || (37 <= key && key <= 40) || (key === 9)) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$browser.defer(listener); // Have to do this or changes don't get picked up properly\n\t\t\t\t\t});\n\n\t\t\t\t$element.bind('paste cut',\n\t\t\t\t\tfunction(event) {\n\t\t\t\t\t\tpastedValue = event.originalEvent.clipboardData.getData('text/plain');\n\t\t\t\t\t\t$browser.defer(listener);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t};\n\t}\n\n})();\n","'use strict';\n\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobEnter',\n\t\t\tfunction() {\n\t\t\t\treturn function(scope, element, attrs) {\n\t\t\t\t\telement.bind('keydown keypress',\n\t\t\t\t\t\tfunction(event) {\n\t\t\t\t\t\t\tif (event.which === 13) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\tscope.$eval(attrs.cobEnter, { 'event': event });\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t});\n})();\n","'use strict';\n\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobEscape',\n\t\t\tfunction() {\n\t\t\t\treturn function(scope, element, attrs) {\n\t\t\t\t\telement.bind('keydown keypress',\n\t\t\t\t\t\tfunction(event) {\n\t\t\t\t\t\t\tif (event.which === 27) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\tscope.$eval(attrs.cobEscape, { 'event': event });\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t});\n})();\n","// TODO: remove code above and fix issues in case changing this file\n'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobGlobalNavigation', cobGlobalNavigation);\n\n\tcobGlobalNavigation.$inject = [\n\t\t'observerService', 'subjectObserverMessagesService', 'authenticationService', 'sessionService', 'carrierService', '$state', '$stateParams', '$window'\n\t];\n\n\tvar observerService, subjectObserverMessagesService, observerMessages, subjectMessages, authenticationService, sessionService, carrierService, state, $stateParams, $window;\n\n\tfunction cobGlobalNavigation(_observerService_,\n\t\t_subjectObserverMessagesService_,\n\t\t_authenticationService_,\n\t\t_sessionService_,\n\t\t_carrierService_,\n\t\t_$state_,\n\t\t_$stateParams_,\n\t\t_$window_\n\t) {\n\t\tobserverService = _observerService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tauthenticationService = _authenticationService_;\n\t\tsessionService = _sessionService_;\n\t\tcarrierService = _carrierService_;\n\t\tstate = _$state_;\n\t\t$stateParams = _$stateParams_;\n\t\t$window = _$window_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/common/directives/cobGlobalNavigation.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\t\t\tscope.$stateParams = $stateParams;\n\n\t\t\tscope.carrierId = $stateParams.carrierId;\n\t\t\tscope.brokerId = $stateParams.brokerId;\n\t\t\tscope.logOff = logOff;\n\t\t\tscope.openSettings = openSettings;\n\t\t\tscope.openLiveChat = openLiveChat;\n\t\t\tscope.returnToAdmin = returnToAdmin;\n\t\t\tscope.returnToAdminCarrier = returnToAdminCarrier;\n\t\t\tscope.getBrokerImpersonated = getBrokerImpersonated;\n\t\t\tscope.showCarousel = showCarousel;\n\t\t\tscope.getCarrierImpersonated = getCarrierImpersonated;\n\t\t\tscope.niceInContactEnabled = false;\n\t\t\tscope.accountProfileUrl = '';\n\t\t\tscope.openCarrierProfile = openCarrierProfile;\n\t\t\tscope.showProfileButton = showProfileButton;\n\n\t\t\tscope.m = {\n\t\t\t\tisBroker: sessionService.isBroker,\n\t\t\t\tisAdmin: sessionService.isAuthorizedInternalAdmin,\n\t\t\t\tisCarrier: sessionService.isCarrier\n\t\t\t};\n\t\t\tscope.truckersEdgeUrl = null;\n\t\t\tscope.rateViewUrl = null;\n\t\t\tscope.powerWebUrl = null;\n\t\t\tscope.directoryUrl = null;\n\t\t\tscope.domain = getDomain();\n\t\t\tscope.carrierWatchUrl = null;\n\t\t\tscope.firstName = '';\n\t\t\tscope.lastName = '';\n\t\t\tscope.carrierInfo = null;\n\t\t\tscope.truckersEdgeUrl = null;\n\t\t\tscope.$state = state;\n\t\t\tscope.stickyNav = true;\n\t\t\tscope.year = new Date().getFullYear();\n\t\t\tscope.profileButtonName = '';\n\t\t\tscope.loginType = '';\n\t\t\tgetData();\n\t\t\tregisterEventHandlers();\n\t\t}\n\n\t\tfunction registerEventHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SESSION_RESUME, handler: getData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_LOGIN_FINISHED_SUCCESS, handler: getData },\n\t\t\t\t\t{ message:observerMessages.COB_OBSERVER_LOAD_CHATSUPPORT, handler : openLiveChat },\n\t\t\t\t\t{ message:observerMessages.COB_OBSERVER_CARRIER_SCROLL, handler : makeNavSticky }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction getBrokerImpersonated() {\n\t\t\treturn sessionService.getBrokerImpersonated();\n\t\t}\n\n\t\tfunction getCarrierImpersonated() {\n\t\t\tif (scope.m.isAdmin() && !scope.brokerId) {\n\t\t\t\treturn sessionService.getCarrierImpersonated();\n\t\t\t}\n\t\t\tif (scope.carrierId && !(scope.m.isAdmin() && !scope.brokerId))\n\t\t\t\tcarrierService.getCarrierDetails(scope.carrierId, scope.brokerId)\n\t\t\t\t\t.then(function (response) {\n\t\t\t\t\t\tif (response.data.carrierDetails.dbaName) {\n\t\t\t\t\t\t\tscope.carrierImpersonatedName = response.data.carrierDetails.dbaName;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tscope.carrierImpersonatedName = response.data.carrierDetails.legalName;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\treturn {};\n\t\t}\n\n\t\tfunction logOff() {\n\t\t\tauthenticationService.logout();\n\t\t}\n\n\t\tfunction openSettings() {\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_SETTINGS_BROKER_OPEN);\n\t\t}\n\n\t\tfunction openCarrierProfile(){\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_PROFILE_CARRIER_OPEN, scope.truckersEdgeUrl);\n\t\t}\n\n\t\tfunction openLiveChat() {\n\t\t\tif (!scope.niceInContactEnabled) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\topenNiceinContactAgentChat();\n\t\t}\n\n\t\tfunction returnToAdmin() {\n\t\t\tstate.go('brokersAdmin');\n\t\t}\n\n\t\tfunction returnToAdminCarrier() {\n\t\t\tsessionService.clearDomain();\n\t\t\tstate.go('carriersAdmin');\n\t\t}\n\n\t\tfunction getData() {\n\t\t\tauthenticationService.getApplicationLinks()\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tscope.rateViewUrl = response.data.rateViewUrl;\n\t\t\t\t\tscope.powerWebUrl = response.data.powerWebUrl;\n\t\t\t\t\tscope.directoryUrl = response.data.directoryUrl;\n\t\t\t\t\tscope.carrierWatchUrl = response.data.carrierWatchUrl;\n\t\t\t\t\tscope.firstName = response.data.firstName;\n\t\t\t\t\tscope.lastName = response.data.lastName;\n\t\t\t\t\tscope.fullName = scope.firstName + ' ' + scope.lastName;\n\t\t\t\t\tscope.userLogin = response.data.userLogin;\n\t\t\t\t\tscope.userEmail = response.data.userEmail;\n\t\t\t\t\tscope.primaryPhone = response.data.primaryPhone;\n\t\t\t\t\tscope.truckersEdgeUrl = response.data.truckersEdgeUrl;\n\t\t\t\t\tscope.niceInContactEnabled = response.data.niceInContactEnabled;\n\t\t\t\t\tscope.accountProfileUrl = response.data.accountProfileUrl;\n\t\t\t\t})\n\t\t\t\t.catch(function (response) {\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t// Added if statemant due to errors, because this response don't have modelState field\n\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(response.data, 'modelState')) {\n\t\t\t\t\t\tvar modelErrors = response.data.modelState;\n\t\t\t\t\t\tvar errors = [];\n\t\t\t\t\t\tfor (var key in modelErrors) {\n\t\t\t\t\t\t\tfor (var i = 0; i < modelErrors[key].length; i++) {\n\t\t\t\t\t\t\t\terrors.push(modelErrors[key][i]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\n\t\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\t\tobserverMessages.COB_SUBJECT_GENERIC_SERVER_ERROR,\n\t\t\t\t\t\t\terrors);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\n\t\tfunction makeNavSticky(data){\n\t\t\tscope.stickyNav = data;\n\t\t}\n\n\t\tfunction showCarousel() {\n\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_CAROUSEL_REQUEST_OPEN);\n\t\t}\n\n\t\tfunction openNiceinContactAgentChat() {\n\t\t\tvar niceInContactBaseUrl = 'https://home-c37.nice-incontact.com/inContact/ChatClient/ChatClient.aspx?poc={0}&bu={1}&P1={2}&P2={3}; {4}&P3={5}&P4={6}';\n\t\t\tvar pointOfContact = '0893c22c-11b6-4b47-943f-649d809655d7';\n\t\t\tvar businessUnit = '4599687';\n\t\t\tvar niceInContactChatClient = niceInContactBaseUrl\n\t\t\t\t.replace('{0}', pointOfContact)\n\t\t\t\t.replace('{1}', businessUnit)\n\t\t\t\t.replace('{2}', scope.fullName)\n\t\t\t\t.replace('{3}', scope.userLogin)\n\t\t\t\t.replace('{4}', scope.userEmail)\n\t\t\t\t.replace('{5}', scope.primaryPhone)\n\t\t\t\t.replace('{6}', $window.location.href);\n\n\t\t\tvar baseWindowOptions = 'location=no, menubar=no, status=no, resizable=no, height={0}, width={1}, top={2}, left={3}';\n\t\t\tvar width = 410;\n\t\t\tvar height = 700;\n\n\t\t\tvar top = $window.outerHeight / 2 + $window.screenY - (height / 2);\n\t\t\tvar left = $window.outerWidth / 2 + $window.screenX - (width / 2);\n\n\t\t\tvar windowOptions = baseWindowOptions\n\t\t\t\t.replace('{0}', height)\n\t\t\t\t.replace('{1}', width)\n\t\t\t\t.replace('{2}', top)\n\t\t\t\t.replace('{3}', left);\n\n\t\t\t$window.open(niceInContactChatClient, 'niceInContactChat', windowOptions);\n\t\t}\n\n\t\tfunction isAllowedLogin(loginType) {\n\t\t\tvar allowedLogins = sessionService.getAllowedLogins();\n\n\t\t\treturn !allowedLogins ? false : allowedLogins.indexOf(loginType) !== -1;\n\t\t}\n\n\t\tfunction showProfileButton() {\n\t\t\tvar hasBrokerBrofile = sessionService.isCarrier() && isAllowedLogin('Broker');\n\t\t\tvar hasFreightBrokerProfile = sessionService.isCarrier() && isAllowedLogin('FreightBroker');\n\t\t\tvar hasCarrierProfile = sessionService.isBroker() && isAllowedLogin('Carrier');\n\n\t\t\tif (hasFreightBrokerProfile) {\n\t\t\t\tscope.loginType = 'freightBroker';\n\t\t\t\tscope.profileButtonName = 'Broker';\n\t\t\t} else if (hasBrokerBrofile) {\n\t\t\t\tscope.loginType = 'broker';\n\t\t\t\tscope.profileButtonName = 'Broker Profile';\n\t\t\t} else if (hasCarrierProfile) {\n\t\t\t\tscope.loginType = 'carrier';\n\t\t\t\tscope.profileButtonName = 'Carrier Profile';\n\t\t\t}\n\n\t\t\treturn hasBrokerBrofile || hasFreightBrokerProfile || hasCarrierProfile;\n\t\t}\n\n\t\tfunction getDomain() {\n\t\t\treturn $('base').attr('href').split('/')[1];\n\t\t}\n\t}\n\n})();\n","'use strict';\n\nangular.module('onboarding.common')\n\t.directive('cobImageOnLoad',\n\t\tfunction() {\n\t\t\treturn function(scope, element, attrs) {\n\t\t\t\telement.bind('load',\n\t\t\t\t\tfunction(event) {\n\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\tscope.$eval(attrs.cobImageOnLoad, { 'event': event });\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t};\n\t\t});\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobNumericInput', cobNumericInput);\n\n\tfunction cobNumericInput() {\n\n\t\treturn {\n\t\t\trequire: 'ngModel',\n\t\t\tlink: function($scope, $element) {\n\n\t\t\t\t$element.bind('keydown',\n\t\t\t\t\tfunction(event) {\n\t\t\t\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\t\t\t\tvar key = event.keyCode;\n\t\t\t\t\t\tvar isShift = !!event.shiftKey;\n\n\t\t\t\t\t\tswitch (charCode) {\n\t\t\t\t\t\tcase 8: //backspace\n\t\t\t\t\t\tcase 35: //end\n\t\t\t\t\t\tcase 36: //home\n\t\t\t\t\t\tcase 37: //left arrow\n\t\t\t\t\t\tcase 39: //right arrow\n\t\t\t\t\t\tcase 46: //delete\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If the keys include the TAB, CTRL, SHIFT, ALT, or META keys, 10 key pad, or the arrow keys, do nothing.\n\t\t\t\t\t\t// This lets us support copy and paste too\n\t\t\t\t\t\tif ((key === 91) ||\n (15 < key && key < 19) ||\n (37 <= key && key <= 40) ||\n (key === 9) ||\n (96 <= key && key <= 105)) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!/^[0-9]$/.test(String.fromCharCode(charCode))) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (isShift) {\n\t\t\t\t\t\t\tif (charCode >= 48 && charCode <= 57) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}\n})();\n","'use strict';\n(function () {\n\tangular\n\t\t.module('onboarding.common')\n\t\t.directive('cobPagination', cobPagination);\n\n\tcobPagination.$inject = [];\n\n\tfunction cobPagination() {\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {\n\t\t\t\tcurrentPage: '=',\n\t\t\t\toffset: '=',\n\t\t\t\tpageLimit: '=',\n\t\t\t\tpageLimits: '=',\n\t\t\t\ttotal: '=',\n\t\t\t\tonUpdate: '&'\n\t\t\t},\n\t\t\ttemplateUrl: '/app/common/directives/cobPagination.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tscope.nextPage = nextPage;\n\t\t\tscope.previousPage = previousPage;\n\t\t\tscope.getTotalPages = getTotalPages;\n\t\t\tscope.isCurrentPageLimit = isCurrentPageLimit;\n\t\t\tscope.getRangeLabel = getRangeLabel;\n\t\t}\n\n\t\tfunction nextPage() {\n\t\t\tscope.currentPage += 1;\n\t\t\tscope.offset = scope.currentPage * scope.pageLimit;\n\t\t\tinvokeCallback();\n\t\t}\n\n\t\tfunction previousPage() {\n\t\t\tif (scope.currentPage === 0) {\n\t\t\t\treturn;\n\t\t\t}\n \n\t\t\tscope.currentPage -= 1;\n\t\t\tscope.offset = scope.currentPage * scope.pageLimit;\n\t\t\tinvokeCallback();\n\t\t}\n\n\t\tfunction getTotalPages() {\n\t\t\treturn Math.ceil(scope.total / scope.pageLimit);\n\t\t}\n\n\t\tfunction getRangeLabel(page, pageSize, length) {\n\t\t\tif (length == 0 || pageSize == 0) { \n\t\t\t\treturn '0 of ' + length;\n\t\t\t}\n \n\t\t\tlength = Math.max(length, 0);\n \n\t\t\tvar startIndex = page * pageSize;\n \n\t\t\t// If the start index exceeds the list length, do not try and fix the end index to the end.\n\t\t\tvar endIndex = startIndex < length ?\n\t\t\t\tMath.min(startIndex + pageSize, length) :\n\t\t\t\tstartIndex + pageSize;\n \n\t\t\treturn 'Files ' + ++startIndex + ' – ' + endIndex + ' from ' + length;\n\t\t}\n\n\t\tfunction isCurrentPageLimit(value) {\n\t\t\treturn scope.pageLimit == value;\n\t\t}\n\n\t\tfunction invokeCallback() {\n\t\t\tif (scope.onUpdate) {\n\t\t\t\tscope.onUpdate({\n\t\t\t\t\toffset: scope.offset\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobPhoneNumberInput', cobPhoneNumberInput);\n\n\tcobPhoneNumberInput.$inject = ['$filter', '$browser'];\n\n\tvar $filter, $browser;\n\n\tfunction cobPhoneNumberInput(_filter_, _browser_) {\n\t\t$filter = _filter_;\n\t\t$browser = _browser_;\n\n\t\treturn {\n\t\t\trequire: 'ngModel',\n\t\t\tlink: function($scope, $element, $attrs, ngModelCtrl) {\n\t\t\t\tvar listener = function() {\n\t\t\t\t\tvar value = $element.val().replace(/[^0-9]/g, '');\n\t\t\t\t\t$element.val($filter('tel')(value, false));\n\t\t\t\t};\n\n\t\t\t\t// This runs when we update the text field\n\t\t\t\tngModelCtrl.$parsers.push(function(viewValue) {\n\t\t\t\t\tif (viewValue)\n\t\t\t\t\t\treturn viewValue.replace(/[^0-9]/g, '').slice(0, 10);\n\t\t\t\t\telse\n\t\t\t\t\t\treturn viewValue;\n\t\t\t\t});\n\n\t\t\t\t// This runs when the model gets updated on the scope directly and keeps our view in sync\n\t\t\t\tngModelCtrl.$render = function() {\n\t\t\t\t\t$element.val($filter('tel')(ngModelCtrl.$viewValue, false));\n\t\t\t\t};\n\n\t\t\t\t$element.bind('change', listener);\n\t\t\t\t$element.bind('keydown',\n\t\t\t\t\tfunction(event) {\n\t\t\t\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\t\t\t\tvar key = event.keyCode;\n\n\t\t\t\t\t\tswitch (charCode) {\n\t\t\t\t\t\tcase 8: //backspace\n\t\t\t\t\t\tcase 35: //end\n\t\t\t\t\t\tcase 36: //home\n\t\t\t\t\t\tcase 37: //left arrow\n\t\t\t\t\t\tcase 39: //right arrow\n\t\t\t\t\t\tcase 46: //delete\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!/^[0-9]$/.test(String.fromCharCode(charCode))) {\n\t\t\t\t\t\t\tif (!key >= 96 && !key <= 105) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If the keys include the TAB, CTRL, SHIFT, ALT, or META keys, 10 key pad, or the arrow keys, do nothing.\n\t\t\t\t\t\t// This lets us support copy and paste too\n\t\t\t\t\t\tif ((key === 91) || (15 < key && key < 19) || (37 <= key && key <= 40) || (key === 9)) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$browser.defer(listener); // Have to do this or changes don't get picked up properly\n\t\t\t\t\t});\n\n\t\t\t\t$element.bind('paste cut',\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\t$browser.defer(listener);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t};\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobScrollMessenger', cobScrollMessenger);\n\n\tcobScrollMessenger.$inject = ['subjectObserverMessagesService', 'observerService'];\n\n\tvar subjectObserverMessagesService, observerService;\n\n\tfunction cobScrollMessenger(_subjectObserverMessagesService_, _observerService_) {\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\n\t\treturn {\n\t\t\trestrict: 'A',\n\t\t\tlink: function(scope, element) {\n\n\t\t\t\tactivate();\n\n\t\t\t\tfunction activate() {\n\t\t\t\t\tvar threshold = 85;\n\n\t\t\t\t\t//TODO: After new html, watch the scrolling elem not window\n\t\t\t\t\tangular.element(element)\n\t\t\t\t\t\t.bind('scroll',\n\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\tvar scrollableHeight = element.prop('scrollHeight');\n\t\t\t\t\t\t\t\tvar visibleHeight = element.height();\n\t\t\t\t\t\t\t\tvar hiddenContentHeight = scrollableHeight - visibleHeight;\n\n\t\t\t\t\t\t\t\tif (hiddenContentHeight - element.scrollTop() <= threshold) {\n\t\t\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages()\n\t\t\t\t\t\t\t\t\t\t\t\t.COB_SUBJECT_SCROLL_MESSAGE);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobSetFocus', cobSetFocus);\n\n\tcobSetFocus.$inject = ['$timeout'];\n\n\tvar $timeout;\n\n\tfunction cobSetFocus(_$timeout_) {\n\t\t$timeout = _$timeout_;\n\n\t\treturn {\n\t\t\tscope: false,\n\t\t\trestrict: 'A',\n\t\t\treplace: false,\n\t\t\tlink: linkFunction\n\n\t\t};\n\t}\n\n\tfunction linkFunction(scope, elem, attrs) {\n\t\tattrs.$observe('cobSetFocus',\n\t\t\tfunction(newValue) {\n\t\t\t\tif (newValue === 'true')\n\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\telem[0].focus();\n\t\t\t\t\t});\n\t\t\t});\n\t}\n\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobSocialInsuranceNumberInput', cobSocialInsuranceNumberInput);\n\n\tcobSocialInsuranceNumberInput.$inject = ['$filter', '$browser'];\n\n\tvar $filter, $browser;\n\n\tfunction cobSocialInsuranceNumberInput(_filter_, _browser_) {\n\t\t$filter = _filter_;\n\t\t$browser = _browser_;\n\n\t\treturn {\n\t\t\trequire: 'ngModel',\n\t\t\tlink: function($scope, $element, $attrs, ngModelCtrl) {\n\t\t\t\tvar listener = function() {\n\t\t\t\t\tvar value = $element.val().replace(/[^0-9]/g, '');\n\t\t\t\t\t$element.val($filter('sin')(value, false).slice(0, $attrs.maxlength));\n\t\t\t\t};\n\n\t\t\t\t// This runs when we update the text field\n\t\t\t\tngModelCtrl.$parsers.push(function(viewValue) {\n\t\t\t\t\treturn viewValue.replace(/[^0-9]/g, '').slice(0, 9);\n\t\t\t\t});\n\n\t\t\t\t// This runs when the model gets updated on the scope directly and keeps our view in sync\n\t\t\t\tngModelCtrl.$render = function() {\n\t\t\t\t\t$element.val($filter('sin')(ngModelCtrl.$viewValue, false));\n\t\t\t\t};\n\n\t\t\t\t$element.bind('change', listener);\n\t\t\t\t$element.bind('keydown',\n\t\t\t\t\tfunction(event) {\n\t\t\t\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\t\t\t\tvar key = event.keyCode;\n\n\t\t\t\t\t\tswitch (charCode) {\n\t\t\t\t\t\tcase 8: //backspace\n\t\t\t\t\t\tcase 35: //end\n\t\t\t\t\t\tcase 36: //home\n\t\t\t\t\t\tcase 37: //left arrow\n\t\t\t\t\t\tcase 39: //right arrow\n\t\t\t\t\t\tcase 46: //delete\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!/^[0-9]$/.test(String.fromCharCode(charCode))) {\n\t\t\t\t\t\t\tif (!key >= 96 && !key <= 105) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If the keys include the TAB, CTRL, SHIFT, ALT, or META keys, 10 key pad, or the arrow keys, do nothing.\n\t\t\t\t\t\t// This lets us support copy and paste too\n\t\t\t\t\t\tif ((key === 91) || (15 < key && key < 19) || (37 <= key && key <= 40) || (key === 9)) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$browser.defer(listener); // Have to do this or changes don't get picked up properly\n\t\t\t\t\t});\n\n\t\t\t\t$element.bind('paste cut',\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\t$browser.defer(listener);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t};\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobSocialSecurityNumberInput', cobSocialSecurityNumberInput);\n\n\tcobSocialSecurityNumberInput.$inject = ['$filter', '$browser'];\n\n\tvar $filter, $browser;\n\n\tfunction cobSocialSecurityNumberInput(_filter_, _browser_) {\n\t\t$filter = _filter_;\n\t\t$browser = _browser_;\n\n\t\treturn {\n\t\t\trequire: 'ngModel',\n\t\t\tlink: function($scope, $element, $attrs, ngModelCtrl) {\n\t\t\t\tvar listener = function() {\n\t\t\t\t\tvar value = $element.val().replace(/[^0-9]/g, '');\n\t\t\t\t\t$element.val($filter('ssn')(value, false).slice(0, $attrs.maxlength));\n\t\t\t\t};\n\n\t\t\t\t// This runs when we update the text field\n\t\t\t\tngModelCtrl.$parsers.push(function(viewValue) {\n\t\t\t\t\treturn viewValue.replace(/[^0-9]/g, '').slice(0, 9);\n\t\t\t\t});\n\n\t\t\t\t// This runs when the model gets updated on the scope directly and keeps our view in sync\n\t\t\t\tngModelCtrl.$render = function() {\n\t\t\t\t\t$element.val($filter('ssn')(ngModelCtrl.$viewValue, false));\n\t\t\t\t};\n\n\t\t\t\t$element.bind('change', listener);\n\t\t\t\t$element.bind('keydown',\n\t\t\t\t\tfunction(event) {\n\t\t\t\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\t\t\t\tvar key = event.keyCode;\n\n\t\t\t\t\t\tswitch (charCode) {\n\t\t\t\t\t\tcase 8: //backspace\n\t\t\t\t\t\tcase 35: //end\n\t\t\t\t\t\tcase 36: //home\n\t\t\t\t\t\tcase 37: //left arrow\n\t\t\t\t\t\tcase 39: //right arrow\n\t\t\t\t\t\tcase 46: //delete\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!/^[0-9]$/.test(String.fromCharCode(charCode))) {\n\t\t\t\t\t\t\tif (!key >= 96 && !key <= 105) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If the keys include the TAB, CTRL, SHIFT, ALT, or META keys, 10 key pad, or the arrow keys, do nothing.\n\t\t\t\t\t\t// This lets us support copy and paste too\n\t\t\t\t\t\tif ((key === 91) || (15 < key && key < 19) || (37 <= key && key <= 40) || (key === 9)) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$browser.defer(listener); // Have to do this or changes don't get picked up properly\n\t\t\t\t\t});\n\n\t\t\t\t$element.bind('paste cut',\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\t$browser.defer(listener);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t};\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobSpinnable', cobSpinnable);\n\n\tcobSpinnable.$inject = ['subjectObserverMessagesService', 'observerService', '$timeout'];\n\n\tvar subjectObserverMessagesService, observerService, sessionService, observerMessages, $timeout;\n\n\tfunction cobSpinnable(_subjectObserverMessagesService_, _observerService_, _$timeout_) {\n\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\t$timeout = _$timeout_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplate: '
',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope, elem) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\t\t\tregisterObserverHandlers();\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_AJAX_WAITING, handler: onWait },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_AJAX_DONE, handler: onDone }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction onDone() {\n\t\t\t$timeout(function() {\n\t\t\t\telem.removeClass('spinnerOverlay');\n\t\t\t});\n\n\t\t}\n\n\t\tfunction onWait() {\n\t\t\telem.addClass('spinnerOverlay');\n\t\t}\n\t}\n\n})();\n","'use strict';\n(function () {\n\tangular\n\t\t.module('onboarding.common')\n\t\t.directive('cobSwitch', cobSwitch);\n\n\tcobSwitch.$inject = [];\n\n\tfunction cobSwitch() {\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {\n\t\t\t\tmodel: '=ngModel',\n\t\t\t\tdisabled: '=?ngDisabled',\n\t\t\t\ttrueValue: '=?',\n\t\t\t\tfalseValue: '=?',\n\t\t\t\tchange: '&?ngChange'\n\t\t\t},\n\t\t\ttemplateUrl: '/app/common/directives/cobSwitch.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope, element, attrs) {\n\n\t\tvar defaultProperties = { trueValue: true, falseValue: false, disabled: false };\n\t\tvar defaultAttributes = { trueLabel: 'On', falseLabel: 'Off' };\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tangular.forEach(defaultProperties, function (value, key) {\n\t\t\t\tif (!angular.isDefined(scope[key]))\n\t\t\t\t\tscope[key] = value;\n\t\t\t});\n\n\t\t\tangular.forEach(defaultAttributes, function (value, key) {\n\t\t\t\tif (!angular.isDefined(scope[key]))\n\t\t\t\t\tattrs[key] = value;\n\t\t\t});\n\n\t\t\tscope.set = function (value) {\n\t\t\t\tif (scope.disabled || value == scope.shadowModel) return;\n\t\t\t\tif (angular.isFunction(scope.change))\n\t\t\t\t\tscope.change({ newValue: value, oldValue: scope.shadowModel });\n\t\t\t\tscope.shadowModel = value;\n\t\t\t};\n\n\t\t\tscope.onChange = function () {\n\t\t\t\tvar oldValue = scope.model,\n\t\t\t\t\tnewValue = scope.shadowModel ? scope.trueValue : scope.falseValue;\n\n\t\t\t\tscope.model = newValue;\n\t\t\t\tif (angular.isFunction(scope.change))\n\t\t\t\t\tscope.change({ newValue: newValue, oldValue: oldValue });\n\t\t\t};\n\n\t\t\tscope.$watch('model', function () {\n\t\t\t\tscope.shadowModel = scope.model == scope.trueValue;\n\t\t\t});\n\n\t\t\tscope.$watch('shadowModel', function () {\n\t\t\t\tscope.model = scope[scope.shadowModel + 'Value'];\n\t\t\t});\n\t\t}\n\t}\n})();\n","'use strict';\n(function () {\n\tangular\n\t\t.module('onboarding.common')\n\t\t.directive('cobUploadedDocuments', cobUploadedDocuments);\n\n\tcobUploadedDocuments.$inject = ['spinnerService', 'carrierDocumentsService', 'orderByFilter'];\n\n\tvar spinnerService,\n\t\tcarrierDocumentsService,\n\t\torderBy;\n\n\tfunction cobUploadedDocuments(\n\t\t_spinnerService_,\n\t\t_carrierDocumentsService_,\n\t\t_orderByFilter_) {\n\t\t\t\n\t\tspinnerService = _spinnerService_;\n\t\tcarrierDocumentsService = _carrierDocumentsService_;\n\t\torderBy = _orderByFilter_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {\n\t\t\t\tdocuments: '=',\n\t\t\t\tpageLimit: '=',\n\t\t\t\tcarrierId: '=',\n\t\t\t\tfileUploadedRecently: '=',\n\t\t\t\tuploadResult: '=',\n\t\t\t\theaderInfo: '=',\n\t\t\t\tactionsAllowed: '=',\n\t\t\t\tuploadedAdditionalMessage: '=',\n\t\t\t\tvalidationMessage: '=',\n\t\t\t\tdocumentsLimit: '=',\n\t\t\t\tisRequired: '=',\n\t\t\t\tshowPagination: '=',\n\t\t\t\tfileUploadCallback: '&',\n\t\t\t\tfileDeleteCallback: '&'\n\t\t\t},\n\t\t\ttemplateUrl: '/app/common/directives/cobUploadedDocuments.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tscope.confirmDelete = confirmDelete;\n\t\t\tscope.cancelDelete = cancelDelete;\n\t\t\tscope.cancelErrorModal = cancelErrorModal;\n\t\t\tscope.onTrashClick = onTrashClick;\n\t\t\tscope.fileUpload = fileUpload;\n\t\t\tscope.paginationUpdateCallback = paginationUpdateCallback;\n\t\t\tscope.isFileLimit = isFileLimit;\n\t\t\tscope.isFileUploadedMessageValid = isFileUploadedMessageValid;\n\n\t\t\tscope.paginationSettings = {\n\t\t\t\tcurrentPage: 0,\n\t\t\t\toffset: 0,\n\t\t\t\tpageLimit: scope.pageLimit,\n\t\t\t\tpageLimits: [scope.pageLimit]\n\t\t\t};\n\n\t\t\tscope.$watch('documents', function(value) {\n\t\t\t\tscope.documents = orderBy(value, '-dateUploaded');\n\t\t\t}, true);\n\t\t}\n\n\t\tfunction onTrashClick(index) {\n\t\t\tvar startIndex = getStartIndex();\n\t\t\tvar document = scope.documents[startIndex + index];\n\t\t\tscope.deleteDocument = document;\n\t\t}\n\n\t\tfunction confirmDelete() {\n\t\t\tspinnerService.startSpinner(scope);\n\n\t\t\tscope.deleteDocument.documentStatus = 'INACTIVE';\n\n\t\t\tcarrierDocumentsService.editDocument(scope.deleteDocument, scope.carrierId)\n\t\t\t\t.then(function (response) {\n\t\t\t\t\tif (response.data.isSuccess) {\n\t\t\t\t\t\tvar index = scope.documents.indexOf(scope.deleteDocument);\n\t\t\t\t\t\tscope.documents.splice(index, 1);\n\t\t\t\t\t\tif (scope.documents.length <= getStartIndex()) {\n\t\t\t\t\t\t\tpreviousPage();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tscope.fileDeleteCallback(scope.deleteDocument);\n\t\t\t\t\t}\n\t\t\t\t}).finally(function () {\n\t\t\t\t\tspinnerService.stopSpinner(scope);\n\t\t\t\t\tscope.deleteDocument = {};\n\t\t\t\t});\n\t\t}\n\n\t\tfunction cancelDelete() {\n\t\t\tscope.deleteDocument = {};\n\t\t}\n\t\tfunction cancelErrorModal() {\n\t\t\tscope.uploadResult = {};\n\t\t}\n\n\t\tfunction fileUpload(file) {\n\t\t\tscope.fileUploadCallback({\n\t\t\t\tfile: file\n\t\t\t});\n\t\t}\n\n\t\tfunction paginationUpdateCallback(offset) {\n\t\t\tscope.paginationSettings.offset = offset;\n\t\t}\n\n\t\tfunction getStartIndex() {\n\t\t\treturn scope.paginationSettings.currentPage * scope.paginationSettings.pageLimit;\n\t\t}\n\n\t\tfunction previousPage() {\n\t\t\tif (scope.paginationSettings.currentPage > 0) {\n\t\t\t\tscope.paginationSettings.currentPage -= 1;\n\t\t\t\tscope.paginationSettings.offset = scope.paginationSettings.currentPage * scope.paginationSettings.pageLimit;\n\t\t\t}\n\t\t}\n\n\t\tfunction isFileUploadedMessageValid() {\n\t\t\treturn scope.documents && scope.documents.length > 0 && (scope.fileUploadedRecently || isFileLimit());\n\t\t}\n\n\t\tfunction isFileLimit() {\n\t\t\treturn scope.documentsLimit && scope.documents.length >= scope.documentsLimit;\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobUserPermissions', cobUserPermissions);\n\n\tcobUserPermissions.$inject = ['sessionService'];\n\n\tfunction cobUserPermissions(_sessionService_) {\n\t\tvar sessionService = _sessionService_;\n\n\t\treturn {\n\t\t\trestrict: 'A',\n\n\t\t\tscope: {\n\t\t\t\trequiredPermission: '@requiredPermission',\n\t\t\t\tdisableUnauthorized: '@disableUnauthorized'\n\t\t\t},\n\n\t\t\tlink: function(scope, element) {\n\t\t\t\tfunction applyPermission() {\n\t\t\t\t\tvar disableUnauthorized = false;\n\t\t\t\t\tif (scope.disableUnauthorized) {\n\t\t\t\t\t\tdisableUnauthorized = (scope.disableUnauthorized.toLowerCase() == true);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!hasPermission()) {\n\t\t\t\t\t\tif (disableUnauthorized) {\n\t\t\t\t\t\t\telement.attr('disabled', 'disabled');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\telement.hide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfunction hasPermission() {\n\t\t\t\t\tif (scope.requiredPermission) // requires a permission\n\t\t\t\t\t{\n\t\t\t\t\t\tswitch (scope.requiredPermission.toLowerCase()) {\n\t\t\t\t\t\tcase 'read':\n\t\t\t\t\t\t\treturn sessionService.isAuthorizedBrokerRead();\n\t\t\t\t\t\tcase 'write':\n\t\t\t\t\t\t\treturn sessionService.isAuthorizedBrokerWrite();\n\t\t\t\t\t\tcase 'admin':\n\t\t\t\t\t\t\treturn sessionService.isAuthorizedBrokerAdmin();\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// unknown permission\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else // no permissions are required\n\t\t\t\t\t{\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tapplyPermission();\n\t\t\t}\n\t\t};\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('continiousScroll', continiousScroll);\n\n\tfunction continiousScroll() {\n\t\treturn {\n\t\t\trestrict: 'A',\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\tvar visibleHeight = element.height();\n\t\t\t\tvar threshold = 100;\n\n\t\t\t\telement.scroll(function() {\n\t\t\t\t\tvar scrollableHeight = element.prop('scrollHeight');\n\t\t\t\t\tvar hiddenContentHeight = scrollableHeight - visibleHeight;\n\n\t\t\t\t\tif (hiddenContentHeight - element.scrollTop() <= threshold) {\n\t\t\t\t\t\t// Scroll is almost at the bottom. Loading more rows\n\t\t\t\t\t\tscope.$apply(attrs.continiousScroll);\n\t\t\t\t\t\t// threshold += 200;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobErrorMessage', cobErrorMessage);\n\n\tcobErrorMessage.$inject = ['subjectObserverMessagesService', 'observerService', 'authenticationService', '$state', '$location', '$window'];\n\n\tvar subjectObserverMessagesService, observerService, subjectMessages, observerMessages, authenticationService, $state, $location, $window;\n\n\tfunction cobErrorMessage(_subjectObserverMessagesService_, _observerService_, _authenticationService_, _state_, _$location_, _$window_) {\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tauthenticationService = _authenticationService_;\n\t\t$state = _state_;\n\t\t$location = _$location_;\n\t\t$window = _$window_;\n\n\n\t\treturn {\n\t\t\tscope: {},\n\t\t\t//templateUrl:\n\t\t\t// '
[Clear Error]
{{errorMessage}}
',\n\t\t\ttemplateUrl: '/app/common/directives/error-message.html',\n\t\t\treplace: true,\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope, elem, attrs) {\n\n\t\tscope.errorMessage = '';\n\t\tscope.clearMessage = clearMessage;\n\n\n\t\tactivate();\n\n\t\t///////////////////////////////////////////\n\n\t\tfunction activate() {\n\t\t\tscope.closeModal = closeModal;\n\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\t\t\tregisterObserverHandlers();\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_HTTP_ERROR_500, handler: onGenericError },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_HTTP_ERROR_401, handler: onUnauthorizedError },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_HTTP_ERROR_404, handler: on404Error }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction onGenericError(data) {\n\t\t\tscope.errorMessage = 500;\n\t\t}\n\n\t\tfunction clearMessage() {\n\t\t\tscope.errorMessage = '';\n\t\t}\n\n\t\tfunction on404Error() {\n\t\t\t$state.go('urlnotfound');\n\t\t}\n\n\t\tfunction onUnauthorizedError(data) {\n\t\t\tscope.errorMessage = 401;\n\t\t\tauthenticationService.logout();\n\t\t}\n\n\t\tfunction closeModal() {\n\t\t\t$window.location.replace('/login');\n\t\t\tscope.errorMessage = '';\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function () {\n\tangular.module('onboarding.common').directive('inAppMessage', [\n\t\t'InAppMessagingService',\n\t\tfunction (inAppMessagingService) {\n\t\t\treturn {\n\t\t\t\trestrict: 'E',\n\t\t\t\tlink: link,\n\t\t\t\ttemplateUrl: '/app/common/directives/inAppMessaging/inAppMessage.html',\n\t\t\t};\n\n\t\t\tfunction link(scope) {\n\t\t\t\tfunction getMessage() {\n\t\t\t\t\tinAppMessagingService.getMessage().then(function (response) {\n\t\t\t\t\t\tif (response.data) {\n\t\t\t\t\t\t\tvar html = marked.parse(DOMPurify.sanitize(response.data.text));\n\t\t\t\t\t\t\thtml = html.replace(/ 3) {\n\t\t\t\t\t\t\tnumber = number.slice(0, 3) + '-' + number.slice(3, 7);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn ('(' + city + ') ' + number).trim();\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '(' + city;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t}\n\t\t);\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.filter('sin',\n\t\t\tfunction() {\n\t\t\t\treturn function(sin) {\n\t\t\t\t\tif (!sin) {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\n\t\t\t\t\tvar value = sin.toString().trim().replace(/^\\+/, '');\n\n\t\t\t\t\tif (value.match(/[^0-9]/)) {\n\t\t\t\t\t\treturn sin;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar first, second, third, number;\n\n\t\t\t\t\tswitch (value.length) {\n\t\t\t\t\tcase 1:\n\t\t\t\t\tcase 2:\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\tfirst = value;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 4:\n\t\t\t\t\tcase 5:\n\t\t\t\t\tcase 6:\n\t\t\t\t\t\tfirst = value.slice(0, 3);\n\t\t\t\t\t\tsecond = value.slice(3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tfirst = value.slice(0, 3);\n\t\t\t\t\t\tsecond = value.slice(3, 6);\n\t\t\t\t\t\tthird = value.slice(6);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (third) {\n\t\t\t\t\t\tnumber = first + '-' + second + '-' + third;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (second) {\n\t\t\t\t\t\t\tnumber = first + '-' + second;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnumber = first;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn number;\n\t\t\t\t};\n\t\t\t});\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.filter('ssn',\n\t\t\tfunction() {\n\t\t\t\treturn function(ssn) {\n\t\t\t\t\tif (!ssn) {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\n\t\t\t\t\tvar value = ssn.toString().trim().replace(/^\\+/, '');\n\n\t\t\t\t\tif (value.match(/[^0-9]/)) {\n\t\t\t\t\t\treturn ssn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar first, second, third, number;\n\n\t\t\t\t\tswitch (value.length) {\n\t\t\t\t\tcase 1:\n\t\t\t\t\tcase 2:\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\tfirst = value;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 4:\n\t\t\t\t\tcase 5:\n\t\t\t\t\t\tfirst = value.slice(0, 3);\n\t\t\t\t\t\tsecond = value.slice(3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tfirst = value.slice(0, 3);\n\t\t\t\t\t\tsecond = value.slice(3, 5);\n\t\t\t\t\t\tthird = value.slice(5);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (third) {\n\t\t\t\t\t\tnumber = first + '-' + second + '-' + third;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (second) {\n\t\t\t\t\t\t\tnumber = first + '-' + second;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnumber = first;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn number;\n\t\t\t\t};\n\t\t\t});\n})();\n","'use strict';\n\n(function () {\n\tangular.module('onboarding.common')\n\t\t.filter('startFrom',\n\t\t\tfunction () {\n\t\t\t\treturn function (input, start) {\n\t\t\t\t\tif (input)\n\t\t\t\t\t\treturn input.slice(+start);\n\n\t\t\t\t\treturn input;\n\t\t\t\t};\n\t\t\t});\n})();\n","'use strict';\n\n(function () {\n\tangular.module('onboarding.common')\n\t\t.filter('tinStatus',\n\t\t\tfunction () {\n\t\t\t\treturn function (tinStatus) {\n\t\t\t\t\tif (tinStatus == 'NotValid')\n\t\t\t\t\t\treturn 'Invalid';\n\n\t\t\t\t\treturn tinStatus;\n\t\t\t\t};\n\t\t\t});\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common.security')\n\t\t.directive('cobUnauthorized', cobUnauthorized);\n\n\tfunction cobUnauthorized() {\n\n\t\treturn {\n\t\t\tscope: {},\n\t\t\ttemplateUrl: '/app/common/security/cobUnauthorized.html',\n\t\t\treplace: true,\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction() {}\n\n})();\n","'use strict';\n\n(function () {\n\tangular.module('onboarding.common.security')\n\t\t.directive('cobLogin', cobLogin);\n\n\tcobLogin.$inject = [\n\t\t'$rootScope', '$state', '$stateParams', 'subjectObserverMessagesService', 'observerService', '$log', 'authenticationService',\n\t\t'sessionService', '$window', 'validationService'\n\t];\n\n\tvar $rootScope,\n\t\t$state,\n\t\t$stateParams,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\t$log,\n\t\tauthenticationService,\n\t\tsessionService,\n\t\t$window,\n\t\tvalidationService;\n\n\tfunction cobLogin(_$rootScope_,\n\t\t_$state_,\n\t\t_$stateParams_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_$log_,\n\t\t_authenticationService_,\n\t\t_sessionService_,\n\t\t_window_,\n\t\t_validationService_) {\n\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\t$log = _$log_;\n\t\t$state = _$state_;\n\t\t$stateParams = _$stateParams_;\n\t\tauthenticationService = _authenticationService_;\n\t\tsessionService = _sessionService_;\n\t\t$rootScope = _$rootScope_,\n\t\t$window = _window_;\n\t\tvalidationService = _validationService_;\n\n\t\treturn {\n\t\t\tscope: {\n\t\t\t\tdomain: '=',\n\t\t\t\tforgotUsernameCallback: '&',\n\t\t\t\tforgotPasswordCallback: '&'\n\t\t\t},\n\t\t\ttemplateUrl: '/app/common/security/login.html',\n\t\t\treplace: true,\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\t///////////////////////////////\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.m = {\n\t\t\t\tuserName: '',\n\t\t\t\tpassword: '',\n\t\t\t\tsitecoreMessage: '',\n\t\t\t\trememberMe: false,\n\t\t\t\tloginInProgress: false,\n\t\t\t\tyear: new Date().getFullYear(),\n\t\t\t\tisBrokerLandingPage: false,\n\t\t\t\tusernameError: '',\n\t\t\t\tpasswordError: '',\n\t\t\t\terrors: []\n\t\t\t};\n\n\t\t\tscope.dismissErrors = dismissErrors;\n\t\t\tscope.m.domain = sessionService.getDomain() !== null;\n\t\t\tscope.m.isBrokerLandingPage = sessionService.getDomain() === null ? false : true;\n\n\t\t\tregisterObserverHandlers();\n\t\t\tfetchCredentials();\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_LOGIN_FINISHED_SUCCESS, handler: onLoginSuccess },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CHANGE_WELCOME_VIEW, handler: dismissErrors }\n\t\t\t\t]);\n\t\t}\n\n\n\t\tfunction onLoginSuccess() {\n\t\t\tif (scope.m.rememberMe) {\n\t\t\t\tlocalStorage.setItem('dob.credentials',\n\t\t\t\t\tangular.toJson({ userName: scope.m.userName.trim() }));\n\t\t\t} else {\n\t\t\t\tlocalStorage.removeItem('dob.credentials');\n\t\t\t}\n\n\n\n\t\t\tif (sessionService.isAuthorizedInternalAdmin()) {\n\t\t\t\t$state.go('carriersAdmin');\n\t\t\t} else if (authenticationService.isAuthorizedBrokerRead()) {\n\t\t\t\tif ($window.location.href.indexOf('/app') < 0) {\n\t\t\t\t\t$window.location.href = '/carriers';\n\t\t\t\t} else {\n\t\t\t\t\t$state.go('carriers');\n\t\t\t\t}\n\t\t\t} else if (sessionService.isAuthorizedCarrierRead()) {\n\t\t\t\tvar broker = sessionService.getBrokerBranding();\n\t\t\t\tif (broker) {\n\t\t\t\t\tsessionService.saveCarrierVisit();\n\t\t\t\t}\n\t\t\t\t$rootScope.firstLogin = true;\n\t\t\t\t$state.go('carrierProfile.company');\n\t\t\t}\n\t\t}\n\n\t\tfunction dismissErrors() {\n\t\t\tscope.m.usernameError = '';\n\t\t\tscope.m.passwordError = '';\n\t\t\tscope.m.password = '';\n\t\t\tscope.m.errors = [];\n\n\t\t\tif (!scope.m.rememberMe) {\n\t\t\t\tscope.m.userName = ''; \n\t\t\t}\n\t\t}\n\n\t\tfunction fetchCredentials() {\n\t\t\tif (localStorage.getItem('dob.credentials') !== null) {\n\t\t\t\tvar credentials = angular.fromJson(localStorage.getItem('dob.credentials'));\n\t\t\t\tscope.m.rememberMe = true;\n\t\t\t\tscope.m.userName = credentials.userName;\n\t\t\t\tscope.m.password = credentials.password;\n\t\t\t}\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common.security')\n\t\t.directive('cobSessionState', cobSessionState);\n\n\tcobSessionState.$inject = ['$log', 'sessionService', 'subjectObserverMessagesService', 'observerService'];\n\n\tvar log, sessionService, subjectObserverMessagesService, observerService, observerMessages;\n\n\tfunction cobSessionState(_$log_, _sessionService_, _subjectObserverMessagesService_, _observerService_) {\n\n\t\tsessionService = _sessionService_;\n\t\tlog = _$log_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/common/security/sessionState.html',\n\t\t\tlink: linkFunction\n\t\t};\n\n\t}\n\n\tfunction linkFunction(scope) {\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\t\t\tregisterObserverHandlers();\n\n\t\t\tif (!scope.userName)\n\t\t\t\tonSetup();\n\t\t}\n\n\t\tfunction onSetup() {\n\t\t\tscope.userName = sessionService.getUserName();\n\t\t\tscope.capabilities = sessionService.getCapabilities();\n\t\t\tlog.debug('User: ' + sessionService.userName);\n\t\t}\n\n\t\tfunction onLogoff() {\n\t\t\tscope.userName = '';\n\t\t\tscope.capabilities = [];\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_LOGIN_FINISHED_SUCCESS, handler: onSetup },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_LOGOFF, handler: onLogoff }\n\t\t\t\t]);\n\t\t}\n\n\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common.settings')\n\t\t.directive('cobBrokerMessageSettings', cobBrokerMessageSettings);\n\n\tcobBrokerMessageSettings.$inject = [];\n\n\tfunction cobBrokerMessageSettings() {\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {\n\t\t\t\tdefaultMessageTitle: '=',\n\t\t\t\tdefaultMessage: '=',\n\t\t\t\tdefaultMessageDisabled: '=',\n\t\t\t\ttoggleTitle: '=',\n\t\t\t\tcustomMessageTitle: '=',\n\t\t\t\tcustomMessage: '=',\n\t\t\t\tcustomMessageDisabled: '='\n\t\t\t},\n\t\t\ttemplateUrl: '/app/common/settings/broker/cobBrokerMessageSettings.html',\n\t\t\treplace: true,\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction() {}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common.settings')\n\t\t.directive('cobBrokerProfile', cobBrokerProfile);\n\n\tcobBrokerProfile.$inject = [\n\t\t'brokerSettingsService', 'authenticationService', 'subjectObserverMessagesService', 'observerService',\n\t\t'sessionService'\n\t];\n\n\tvar brokerSettingsService,\n\t\tauthenticationService,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tsessionService;\n\n\tfunction cobBrokerProfile(_brokerSettingsService_,\n\t\t_authenticationService_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_sessionService_) {\n\n\t\tbrokerSettingsService = _brokerSettingsService_;\n\t\tauthenticationService = _authenticationService_;\n\t\tobserverService = _observerService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tsessionService = _sessionService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {\n\t\t\t\tsettings: '=',\n\t\t\t\terrors: '='\n\t\t\t},\n\t\t\ttemplateUrl: '/app/common/settings/broker/cobBrokerProfile.html',\n\t\t\treplace: true,\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\t//registerEventHandlers();\n\t\t\tscope.isInternalAdmin = isInternalAdmin;\n\t\t\tscope.discardChanges = discardChanges;\n\t\t\tscope.newPasswordValidation = newPasswordValidation;\n\t\t\tscope.confirmPasswordValidation = confirmPasswordValidation;\n\t\t\tscope.passwordIsValid = passwordIsValid;\n\t\t\tscope.saveChanges = saveChanges;\n\t\t\tscope.validatePasswordsSame = validatePasswordsSame;\n\n\t\t\tdiscardChanges();\n\t\t}\n\n\t\tfunction isInternalAdmin() {\n\t\t\treturn sessionService.isAuthorizedInternalAdmin();\n\t\t}\n\n\t\tfunction discardChanges() {\n\t\t\tscope.updatePassword = { newPassword: '', confirmNewPassword: '' };\n\t\t\tscope.showPasswordsDoNotMatch = false;\n\t\t\tscope.showPasswordIsNotValid = false;\n\t\t\tscope.showPasswordIsEmpty = false;\n\t\t\tscope.showPasswordChanged = false;\n\t\t\tscope.isDirty = false;\n\n\t\t\tobserverService.sendMessageToSubject(\n\t\t\t\tscope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_PROFILE_SETTINGS_CLEAN);\n\t\t}\n\n\t\tfunction saveChanges() {\n\n\t\t\tif (passwordIsValid()) {\n\t\t\t\tauthenticationService.changePassword(scope.updatePassword.confirmNewPassword)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tif (response.data.isSuccess) {\n\t\t\t\t\t\t\tscope.showPasswordChanged = true;\n\t\t\t\t\t\t\tscope.showPasswordsDoNotMatch = false;\n\t\t\t\t\t\t\tscope.showPasswordIsNotValid = false;\n\t\t\t\t\t\t\tdiscardChanges();\n\t\t\t\t\t\t\tobserverService.sendMessageToSubject(\n\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages()\n\t\t\t\t\t\t\t\t\t.COB_SUBJECT_PROFILE_SETTINGS_SAVE_VIEW);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(function() {\n\t\t\t\t\t\t// handle csb exception\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t}\n\n\t\tfunction passwordIsValid() {\n\t\t\tvar confirmPass = confirmPasswordValidation();\n\t\t\tvar newPass = newPasswordValidation();\n\t\t\tif (confirmPass && newPass) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction confirmPasswordValidation() {\n\n\t\t\tobserverService.sendMessageToSubject(\n\t\t\t\tscope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_PROFILE_SETTINGS_DIRTY);\n\n\t\t\tif (scope.updatePassword.confirmNewPassword !== scope.updatePassword.newPassword) {\n\t\t\t\tscope.showPasswordsDoNotMatch = true;\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tscope.showPasswordsDoNotMatch = false;\n\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction validatePasswordsSame() {\n\t\t\tif (scope.updatePassword.confirmNewPassword !== scope.updatePassword.newPassword) {\n\t\t\t\tscope.showPasswordsDoNotMatch = true;\n\t\t\t}\n\t\t}\n\n\t\tfunction newPasswordValidation() {\n\t\t\t// eslint-disable-next-line no-useless-escape\n\t\t\tvar re = /^([a-zA-Z0-9\\p{P}$\\^\\+=~`|]{6,16})$/;\n\n\t\t\tobserverService.sendMessageToSubject(\n\t\t\t\tscope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_PROFILE_SETTINGS_DIRTY);\n\n\t\t\t// outer validation is for default behavior\n\t\t\tif (scope.updatePassword.newPassword.length > 0) {\n\n\t\t\t\tif (!re.test(scope.updatePassword.newPassword) ||\n scope.updatePassword.newPassword.length < 4 ||\n scope.updatePassword.newPassword.length > 16) {\n\n\t\t\t\t\tscope.showPasswordIsEmpty = false;\n\t\t\t\t\tscope.showPasswordIsNotValid = true;\n\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tscope.showPasswordIsEmpty = true;\n\t\t\t\tscope.showPasswordIsNotValid = false;\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tscope.showPasswordIsEmpty = false;\n\t\t\tscope.showPasswordIsNotValid = false;\n\n\t\t\treturn true;\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function() {\n\tvar settingsListener, trueDiscard;\n\tangular.module('onboarding.common.settings')\n\t\t.directive('cobBrokerSettings', cobBrokerSettings);\n\n\tcobBrokerSettings.$inject = [\n\t\t'brokerSettingsService', 'sessionService', 'subjectObserverMessagesService', 'observerService', 'Upload',\n\t\t'$timeout', 'validationService', '$window'\n\t];\n\n\tvar WELCOME_MESSAGE_TOGGLE_TITLE = 'Display default welcome message';\n\tvar WELCOME_MESSAGE_DEFAULT_TITLE = 'Default welcome message';\n\tvar WELCOME_MESSAGE_CUSTOM_TITLE = 'Your custom welcome message';\n\n\tvar CONTRACT_MESSAGE_TOGGLE_TITLE = 'Display default contract message';\n\tvar CONTRACT_MESSAGE_DEFAULT_TITLE = 'Default contract message';\n\tvar CONTRACT_MESSAGE_DEFAULT = 'Clicking “Sign” with a typed first and last name and title constitutes your handwritten signature.';\n\tvar CONTRACT_MESSAGE_CUSTOM_TITLE = 'Write a custom message for carriers to see in the Contracts section. Include any special instructions you might have related to your contracts';\n\n\tvar DOCUMENTS_MESSAGE_TOGGLE_TITLE = 'Display default documents message';\n\tvar DOCUMENTS_MESSAGE_DEFAULT_TITLE = 'Default documents message';\n\tvar DOCUMENTS_MESSAGE_DEFAULT = 'Add any documents you want to include as part of your profile, such as an authority, insurance or Hazmat certificate or schedule of vehicles.';\n\tvar DOCUMENTS_MESSAGE_CUSTOM_TITLE = 'Your custom documents message';\n\t\n\tvar brokerSettingsService,\n\t\tsessionService,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tvalidationService,\n\t\t$window,\n\t\tngFileUpload;\n\n\tfunction cobBrokerSettings(_brokerSettingsService_,\n\t\t_sessionService_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_ngFileUpload_,\n\t\t$timeout,\n\t\t_validationService_,\n\t\t_$window_) {\n\n\t\tbrokerSettingsService = _brokerSettingsService_;\n\t\tsessionService = _sessionService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tvalidationService = _validationService_;\n\t\t$window = _$window_;\n\t\tngFileUpload = _ngFileUpload_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {\n\t\t\t\tsettings: '=',\n\t\t\t\terrors: '='\n\t\t\t},\n\t\t\ttemplateUrl: '/app/common/settings/broker/cobBrokerSettings.html',\n\t\t\treplace: true,\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tregisterEventHandlers();\n\n\t\t\tscope.view = 'notificationSettings';\n\n\t\t\tscope.toggleSettings = toggleSettings;\n\t\t\tscope.saveChanges = saveChanges;\n\t\t\tscope.insuranceMessageText = '';\n\t\t\tscope.welcomeMessageText = '';\n\t\t\tscope.discardChanges = discardChanges;\n\t\t\tscope.validateNotificationEmail = validateNotificationEmail;\n\t\t\tscope.disableNotificationEmailCheck = disableNotificationEmailCheck;\n\t\t\tscope.isSaveButtonDisabled = isSaveButtonDisabled;\n\t\t\tscope.uploadLogo = uploadLogo;\n\t\t\tscope.validateLogoImage = validateLogoImage;\n\t\t\tscope.toggleModalWindow = toggleModalWindow;\n\t\t\tscope.setDirty = setDirty;\n\t\t\tscope.logoSettings = new Object();\n\t\t\tscope.notificationSettings = new Object();\n\n\t\t\tinitializeMessages();\n\t\t}\n\n\t\tfunction initializeMessages() {\n\t\t\tscope.welcomeMessages = {\n\t\t\t\ttoggleTitle: WELCOME_MESSAGE_TOGGLE_TITLE,\n\t\t\t\tdefaultMessageTitle: WELCOME_MESSAGE_DEFAULT_TITLE,\n\t\t\t\tcustomMessageTitle: WELCOME_MESSAGE_CUSTOM_TITLE,\n\t\t\t};\n\t\t\tscope.showModalWindow = false;\n\t\t\tscope.hostname = $window.location.origin;\n\n\t\t\tscope.contractMessages = {\n\t\t\t\ttoggleTitle: CONTRACT_MESSAGE_TOGGLE_TITLE,\n\t\t\t\tdefaultMessageTitle: CONTRACT_MESSAGE_DEFAULT_TITLE,\n\t\t\t\tcustomMessageTitle: CONTRACT_MESSAGE_CUSTOM_TITLE,\n\t\t\t\tdefaultMessage: CONTRACT_MESSAGE_DEFAULT\n\t\t\t};\n\n\t\t\tscope.documentsMessages = {\n\t\t\t\ttoggleTitle: DOCUMENTS_MESSAGE_TOGGLE_TITLE,\n\t\t\t\tdefaultMessageTitle: DOCUMENTS_MESSAGE_DEFAULT_TITLE,\n\t\t\t\tcustomMessageTitle: DOCUMENTS_MESSAGE_CUSTOM_TITLE,\n\t\t\t\tdefaultMessage: DOCUMENTS_MESSAGE_DEFAULT\n\t\t\t};\n\n\t\t\tclearBrokerMessages();\n\n\t\t\tscope.$watch('settings', function(value) {\n\t\t\t\tif (value && value.companyName) {\n\t\t\t\t\tscope.welcomeMessages.defaultMessage = \n\t\t\t\t\t\t\t'Welcome. You\\'ve been invited by ' + value.companyName + ' to onboard with them using DAT OnBoard.';\n\t\t\t\t}\n\t\t\t}, true);\n\t\t}\n\n\t\tfunction registerEventHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SETTINGS_BROKER_OPEN, handler: onSettingsOpen },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SETTINGS_BROKER_CLOSE, handler: onSettingsClosed }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction watcher(oldVal, newVal) {\n\t\t\tif (JSON.stringify(oldVal) !== JSON.stringify(newVal));\n\t\t\t{\n\t\t\t\tdiscardChanges();\n\t\t\t}\n\t\t}\n\n\t\tfunction onSettingsOpen() {\n\t\t\tscope.isAuthorizedBrokerWrite = sessionService.isAuthorizedBrokerWrite();\n\n\t\t\tscope.$watch('settings', watcher);\n\t\t}\n\n\t\tfunction onSettingsClosed() {\n\n\t\t\tscope.$watch('settings', watcher);\n\n\t\t\tscope.notificationSettings.isSearchable = null;\n\t\t\tscope.notificationSettings.notifyOnProfileChange = null;\n\t\t\tscope.notificationSettings.notifyOnW9Change = null;\n\t\t\tscope.notificationSettings.notifyOnInsuranceChange = null;\n\t\t\tscope.notificationSettings.notifyOnContractSignings = null;\n\t\t\tscope.notificationSettings.notifyOnAttachmentChange = null;\n\t\t\tscope.notificationSettings.notificationEmails = '';\n\t\t\tscope.notificationSettings.landingPage = null;\n\n\n\t\t\tscope.settings.isSearchable = null;\n\t\t\tscope.settings.notifyOnProfileChange = null;\n\t\t\tscope.settings.notifyOnW9Change = null;\n\t\t\tscope.settings.notifyOnInsuranceChange = null;\n\t\t\tscope.settings.notifyOnContractSignings = null;\n\t\t\tscope.settings.notifyOnAttachmentChange = null;\n\t\t\tscope.settings.notificationEmails = '';\n\t\t\tscope.settings.landingPage = null;\n\t\t\tscope.settings.imageMimeType = null;\n\t\t\tscope.settings.imageFile = null;\n\t\t\tscope.settings.imgUrl = null;\n\t\t\tscope.logoSettings = {};\n\t\t\t\n\t\t\tclearBrokerMessages();\n\t\t\t\n\t\t\ttoggleSettings('notificationSettings');\n\n\t\t\tsetClean();\n\t\t}\n\n\t\tfunction cloneLogo(isTrueDiscard) {\n\t\t\ttrueDiscard = isTrueDiscard;\n\t\t\tif (!scope.settings) return;\n\t\t\tscope.logoSettings = new Object();\n\t\t\tscope.logoSettings.imageFile = scope.settings.imageFile;\n\t\t\tscope.logoSettings.imageMimeType = scope.settings.imageMimeType;\n\t\t\tsetLogoImgURL();\n\n\t\t\tfunction watcher(newVal, oldVal) {\n\t\t\t\tif (trueDiscard) {\n\t\t\t\t\tclearDiscard();\n\t\t\t\t\tsetClean();\n\t\t\t\t\tscope.ShowIsInvalidFile = false;\n\t\t\t\t} else {\n\t\t\t\t\tif (JSON.stringify(oldVal) !== JSON.stringify(newVal))\n\t\t\t\t\t\tsetDirty();\n\t\t\t\t\telse\n\t\t\t\t\t\tsetClean();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!settingsListener) {\n\t\t\t\tsettingsListener = scope.$watch('logoSettings', watcher, true);\n\t\t\t}\n\t\t}\n\n\t\tfunction cloneNotificationSettings(isTrueDiscard) {\n\t\t\ttrueDiscard = isTrueDiscard;\n\t\t\tif (!scope.settings) return;\n\t\t\tscope.notificationSettings = new Object();\n\t\t\tscope.notificationSettings.landingPage = scope.settings.landingPage;\n\t\t\tscope.notificationSettings.isSearchable = scope.settings.isSearchable;\n\t\t\tscope.notificationSettings.notifyOnProfileChange = scope.settings.notifyOnProfileChange;\n\t\t\tscope.notificationSettings.notifyOnW9Change = scope.settings.notifyOnW9Change;\n\t\t\tscope.notificationSettings.notifyOnInsuranceChange = scope.settings.notifyOnInsuranceChange;\n\t\t\tscope.notificationSettings.notifyOnContractSignings = scope.settings.notifyOnContractSignings;\n\t\t\tscope.notificationSettings.notifyOnAttachmentChange = scope.settings.notifyOnAttachmentChange;\n\t\t\tscope.notificationSettings.notificationEmails = scope.settings.notificationEmails;\n\t\t\t\n\t\t\tfunction watcher(newVal, oldVal) {\n\t\t\t\tif (!oldVal.landingPage) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (trueDiscard) {\n\t\t\t\t\tclearDiscard();\n\t\t\t\t\tsetClean();\n\t\t\t\t\tscope.showEmailIsNotValid = false;\n\t\t\t\t} else {\n\t\t\t\t\tif (JSON.stringify(oldVal) !== JSON.stringify(newVal))\n\t\t\t\t\t\tsetDirty();\n\t\t\t\t\telse\n\t\t\t\t\t\tsetClean();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!settingsListener) {\n\t\t\t\tsettingsListener = scope.$watch('notificationSettings', watcher, true);\n\t\t\t}\n\t\t\tdisableNotificationEmailCheck();\n\n\t\t\tsetClean();\n\t\t}\n\n\t\tfunction cloneMessage(isTrueDiscard, view) {\n\t\t\ttrueDiscard = isTrueDiscard;\n\t\t\tif (!scope.settings) return;\n\t\t\tif (scope.settings[view]) {\n\t\t\t\tscope.settings[view] = getBrokerMessage(scope.settings[view].message, scope.settings[view].isDisabled);\n\t\t\t\tscope[view] = getBrokerMessage(scope.settings[view].message, scope.settings[view].isDisabled);\n\t\t\t} else {\n\t\t\t\tscope.welcomeMessage = {};\n\t\t\t}\n\n\t\t\tfunction messagesWatcher(newValue) {\n\t\t\t\tmessageChanged(scope.settings[view], newValue);\n\t\t\t}\n\n\t\t\tif (!settingsListener) {\n\t\t\t\tsettingsListener = scope.$watch(view, messagesWatcher, true);\n\t\t\t}\n\t\t}\n\n\t\tfunction messageChanged(oldMessage, newMessage) {\n\t\t\tif (isBrokerMessageValid(newMessage)) {\n\t\t\t\tif (JSON.stringify(oldMessage) !== JSON.stringify(newMessage)) {\n\t\t\t\t\tsetDirty();\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tclearDiscard();\n\t\t\t\t\tsetClean();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction isBrokerMessageValid(brokerMessage) {\n\t\t\treturn brokerMessage && brokerMessage.message !== undefined && brokerMessage.isDisabled !== undefined;\n\t\t}\n\n\t\tfunction getBrokerMessage(message, disabled) {\n\t\t\treturn {\n\t\t\t\tmessage: message || '',\n\t\t\t\tisDisabled: disabled || false\n\t\t\t};\n\t\t}\n\n\t\tfunction clearBrokerMessages() {\n\t\t\tscope.welcomeMessage = getBrokerMessage();\n\t\t\tscope.documentsMessage = getBrokerMessage();\n\t\t\tscope.contractMessage = getBrokerMessage();\n\t\t\tscope.insuranceMessage = getBrokerMessage();\n\t\t\tscope.signedMessage = getBrokerMessage();\n\t\t}\n\n\t\tfunction disableNotificationEmailCheck() {\n\t\t\tif (!scope.isAuthorizedBrokerWrite) {\n\t\t\t\tscope.disableNotificationEmail = true;\n\t\t\t} else if (scope.notificationSettings.notifyOnProfileChange) {\n\t\t\t\tscope.disableNotificationEmail = false;\n\t\t\t} else if (scope.notificationSettings.notifyOnW9Change) {\n\t\t\t\tscope.disableNotificationEmail = false;\n\t\t\t} else if (scope.notificationSettings.notifyOnInsuranceChange) {\n\n\t\t\t\tscope.disableNotificationEmail = false;\n\t\t\t} else if (scope.notificationSettings.notifyOnContractSignings) {\n\t\t\t\tscope.disableNotificationEmail = false;\n\t\t\t} else if (scope.notificationSettings.notifyOnAttachmentChange) {\n\t\t\t\tscope.disableNotificationEmail = false;\n\t\t\t} else {\n\t\t\t\tscope.disableNotificationEmail = true;\n\t\t\t}\n\t\t}\n\n\t\tfunction discardChanges(isTrueDiscard) {\n\t\t\tswitch (scope.view) {\n\t\t\tcase 'logoUpload':\n\t\t\t\tcloneLogo(isTrueDiscard);\n\t\t\t\tbreak;\n\t\t\tcase 'notificationSettings':\n\t\t\t\tcloneNotificationSettings(isTrueDiscard);\n\t\t\t\tbreak;\n\t\t\tcase 'insuranceMessage':\n\t\t\tcase 'welcomeMessage':\n\t\t\tcase 'contractMessage':\n\t\t\tcase 'documentsMessage':\n\t\t\tcase 'signedMessage':\n\t\t\t\tcloneMessage(isTrueDiscard, scope.view);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfunction saveChanges() {\n\t\t\tswitch (scope.view) {\n\t\t\tcase 'logoUpload':\n\t\t\t\tsaveLogo();\n\t\t\t\tbreak;\n\t\t\tcase 'notificationSettings':\n\t\t\t\tsaveNotificationSettings();\n\t\t\t\tbreak;\n\t\t\tcase 'insuranceMessage':\n\t\t\tcase 'welcomeMessage':\n\t\t\tcase 'contractMessage':\n\t\t\tcase 'documentsMessage':\n\t\t\tcase 'signedMessage':\n\t\t\t\tsaveMessage(scope.view);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfunction saveLogo() {\n\t\t\tif (scope.logoSettings.imageFile !== null) {\n\t\t\t\tif (!scope.ShowIsInvalidFile &&\n\t\t\t\t(scope.logoSettings.fileName !== undefined || scope.logoSettings.fileName !== '')) {\n\t\t\t\t\tbrokerSettingsService.updateLogo(scope.logoSettings.imageFile,\n\t\t\t\t\t\tscope.logoSettings.imageMimeType,\n\t\t\t\t\t\tscope.logoSettings.fileName,\n\t\t\t\t\t\tscope.logoSettings.fileExtension)\n\t\t\t\t\t\t.then(function() {\n\t\t\t\t\t\t\tscope.settings.imageFile = scope.logoSettings.imageFile;\n\t\t\t\t\t\t\tscope.settings.imageMimeType = scope.logoSettings.imageMimeType;\n\t\t\t\t\t\t\tsendSave();\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction saveNotificationSettings() {\n\t\t\tvar notificationSettings = {};\n\t\t\tvalidateNotificationEmail();\n\t\t\tif (scope.showEmailIsNotValid) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar notificationEmails1;\n\t\t\tif (typeof scope.notificationSettings.notificationEmails === 'string')\n\t\t\t\tnotificationEmails1 = scope.notificationSettings.notificationEmails.split(',');\n\t\t\telse\n\t\t\t\tnotificationEmails1 = scope.notificationSettings.notificationEmails;\n\n\t\t\tvar notificationEmails = [];\n\t\t\tfor (var i = 0; i < notificationEmails1.length; i++) {\n\t\t\t\tnotificationEmails.push(notificationEmails1[i].trim());\n\t\t\t}\n\t\t\tvar temp = scope.settings.notificationEmails;\n\t\t\tscope.notificationSettings.notificationEmails = notificationEmails;\n\n\t\t\tbrokerSettingsService.setBrokerNotificationSettings(scope.notificationSettings)\n\t\t\t\t.then(function() {\n\t\t\t\t\tscope.settings.isSearchable = scope.notificationSettings.isSearchable;\n\t\t\t\t\tscope.settings.notifyOnProfileChange = scope.notificationSettings.notifyOnProfileChange;\n\t\t\t\t\tscope.settings.notifyOnW9Change = scope.notificationSettings.notifyOnW9Change;\n\t\t\t\t\tscope.settings.notifyOnInsuranceChange = scope.notificationSettings.notifyOnInsuranceChange;\n\t\t\t\t\tscope.settings.notifyOnContractSignings = scope.notificationSettings.notifyOnContractSignings;\n\t\t\t\t\tscope.settings.notifyOnAttachmentChange = scope.notificationSettings.notifyOnAttachmentChange;\n\t\t\t\t\tscope.settings.notificationEmails = scope.notificationSettings.notificationEmails;\n\t\t\t\t\tsendSave();\n\t\t\t\t}).catch(function () {\n\t\t\t\t\tscope.settings.notificationEmails = temp;\n\t\t\t\t});\n\t\t}\n\n\n\t\tfunction saveMessage(view) {\n\t\t\tbrokerSettingsService.updateMessage(view, scope[view].message, scope[view].isDisabled)\n\t\t\t\t.then(function () {\n\t\t\t\t\tscope.settings[view] = getBrokerMessage(scope[view].message, scope[view].isDisabled);\n\t\t\t\t\tcloneMessage(true, view);\n\t\t\t\t\tsendSave();\n\t\t\t\t});\n\t\t}\n\n\t\tfunction isSaveButtonDisabled() {\n\t\t\treturn scope.view !== 'insuranceMessage' && scope.view !== 'signedMessage' && scope[scope.view] &&\n\t\t\t\t!scope[scope.view].message && scope[scope.view].isDisabled || !scope.isDirty;\n\t\t}\n\n\t\tfunction clearDiscard() {\n\t\t\ttrueDiscard = false;\n\t\t}\n\n\t\tfunction setClean() {\n\t\t\tscope.isDirty = false;\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_PROFILE_SETTINGS_CLEAN);\n\t\t}\n\n\t\tfunction setDirty() {\n\t\t\tscope.isDirty = true;\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_PROFILE_SETTINGS_DIRTY);\n\t\t}\n\n\t\tfunction sendSave() {\n\t\t\tscope.isDirty = false;\n\t\t\tclearDiscard();\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_PROFILE_SETTINGS_SAVE_VIEW);\n\t\t}\n\n\t\tfunction setLogoImgURL() {\n\t\t\tif (scope.logoSettings.imageFile) {\n\t\t\t\tscope.logoSettings.imgUrl = 'data:' +\n\t\t\t\t\tscope.logoSettings.imageMimeType +\n\t\t\t\t\t';base64,' +\n\t\t\t\t\tscope.logoSettings.imageFile;\n\t\t\t} else {\n\t\t\t\tscope.logoSettings.imgUrl = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction toggleSettings(view) {\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_PROFILE_SETTINGS_CHANGE_VIEW);\n\t\t\t\n\t\t\tscope.view = view;\n\n\t\t\tif (settingsListener) {\n\t\t\t\tsettingsListener(); //unregister the watch on current settings\n\t\t\t\tsettingsListener = undefined;\n\t\t\t}\n\t\t\tdiscardChanges();\n\t\t}\n\n\t\tfunction uploadLogo(files) {\n\t\t\tif (files && files.length === 1) {\n\t\t\t\tvar file = files[0];\n\n\t\t\t\tscope.logoSettings.filetype = file.type;\n\t\t\t\tscope.logoSettings.filesize = file.size;\n\t\t\t\tscope.logoSettings.fileName = file.name.substring(0, file.name.lastIndexOf('.'));\n\t\t\t\tscope.logoSettings.fileExtension = file.name\n\t\t\t\t\t.substring(file.name.lastIndexOf('.') + 1, file.name.length);\n\n\t\t\t\tif (!isValidFileType(scope.logoSettings.fileExtension)) {\n\t\t\t\t\tscope.ShowIsInvalidFile = true;\n\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\tscope.ShowIsInvalidFile = false;\n\t\t\t\t}\n\n\t\t\t\tngFileUpload.base64DataUrl(file, false)\n\t\t\t\t\t.then(function(url) {\n\t\t\t\t\t\t// eslint-disable-next-line no-useless-escape\n\t\t\t\t\t\tvar re = /[^data\\:].*;/;\n\n\t\t\t\t\t\tscope.logoSettings.imageFile = url.split(',')[1];\n\t\t\t\t\t\tvar imageMimeType = re.exec(url)[0];\n\t\t\t\t\t\tscope.logoSettings.imageMimeType = imageMimeType.substring(0, imageMimeType.length - 1);\n\t\t\t\t\t\tsetDirty();\n\t\t\t\t\t\tscope.logoSettings.testImgUrl = 'data:' +\n\t\t\t\t\t\t\tscope.logoSettings.imageMimeType +\n\t\t\t\t\t\t\t';base64,' +\n\t\t\t\t\t\t\tscope.logoSettings.imageFile;\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction validateLogoImage() {\n\t\t\tif (scope.isDirty) {\n\t\t\t\tvar img = document.getElementById('logoSettings-testImg');\n\t\t\t\tvar width = img.clientWidth;\n\t\t\t\tvar height = img.clientHeight;\n\n\t\t\t\tif (scope.logoSettings.filesize > 150000 || width > 300 || height > 150) {\n\t\t\t\t\tscope.ShowIsInvalidFile = true;\n\n\t\t\t\t\tscope.logoSettings.imageFile = scope.settings.imageFile;\n\t\t\t\t\tscope.logoSettings.imageMimeType = scope.settings.imageMimeType;\n\t\t\t\t} else {\n\t\t\t\t\tscope.ShowIsInvalidFile = false;\n\t\t\t\t\tsetLogoImgURL();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction isValidFileType(fileExtension) {\n\t\t\treturn (fileExtension.toLowerCase() === 'png' ||\n\t\t\t\tfileExtension.toLowerCase() === 'gif' ||\n\t\t\t\tfileExtension.toLowerCase() === 'jpg' ||\n\t\t\t\tfileExtension.toLowerCase() === 'jpeg');\n\t\t}\n\n\t\tfunction validateNotificationEmail() {\n\n\t\t\tscope.showEmailIsNotValid = false;\n\n\t\t\tvar notificationEmails;\n\t\t\tif (typeof scope.notificationSettings.notificationEmails === 'string')\n\t\t\t\tnotificationEmails = scope.notificationSettings.notificationEmails.split(',');\n\t\t\telse\n\t\t\t\tnotificationEmails = scope.notificationSettings.notificationEmails;\n\t\t\tfor (var i = 0; i < notificationEmails.length; i++) {\n\t\t\t\tvar email = notificationEmails[i].trim();\n\t\t\t\tif (!validationService.isValidEmail(email)) {\n\t\t\t\t\tscope.showEmailIsNotValid = true;\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tfunction toggleModalWindow() {\n\t\t\tscope.showModalWindow = !scope.showModalWindow;\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common.settings')\n\t\t.directive('cobBrokerProfileSettings', cobBrokerProfileSettings, brokerSettingsService);\n\n\tcobBrokerProfileSettings.$inject = [\n\t\t'subjectObserverMessagesService', 'observerService', 'brokerSettingsService', 'sessionService'\n\t];\n\n\tvar subjectObserverMessagesService,\n\t\tobserverService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tbrokerSettingsService,\n\t\tsessionService;\n\n\tfunction cobBrokerProfileSettings(_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_brokerSettingsService_,\n\t\t_sessionService_) {\n\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tbrokerSettingsService = _brokerSettingsService_;\n\t\tsessionService = _sessionService_;\n\n\t\treturn {\n\t\t\tscope: {},\n\t\t\ttemplateUrl: '/app/common/settings/cobBrokerProfileSettings.html',\n\t\t\treplace: true,\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tregisterEventHandlers();\n\n\t\t\tscope.isVisible = false;\n\t\t\tscope.view = 'settings';\n\t\t\tscope.errors = {};\n\t\t\tscope.errors.errorMessage = '';\n\t\t\tscope.errors.errorMessageClass = 'message-error';\n\t\t\tscope.errors.messageType = '';\n\t\t\tscope.isDirty = false;\n\n\t\t\tscope.closeModal = closeModal;\n\t\t\tscope.toggleView = toggleView;\n\t\t\tscope.toggleSettings = toggleSettings;\n\t\t\tscope.onDirty = onDirty;\n\t\t\tscope.onClean = onClean;\n\t\t\tscope.modalClick = modalClick;\n\n\t\t\tscope.onSettingsOpen = onSettingsOpen;\n\t\t\tscope.isInternalAdmin = isInternalAdmin;\n\t\t}\n\n\t\tfunction registerEventHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SETTINGS_BROKER_OPEN, handler: onSettingsOpen },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_PROFILE_SETTINGS_DIRTY, handler: onDirty },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_PROFILE_SETTINGS_CLEAN, handler: onClean },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_PROFILE_SETTINGS_CHANGE_VIEW, handler: onChangeView },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_PROFILE_SETTINGS_SAVE_VIEW, handler: onSaveView }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction isInternalAdmin() {\n\t\t\treturn sessionService.isAuthorizedInternalAdmin();\n\t\t}\n\n\t\tfunction clickedOutsideModal() {\n\t\t\tobserverService.sendMessageToSubject(\n\t\t\t\tscope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_PROFILE_SETTINGS_CHANGE_VIEW);\n\t\t\tif (!scope.isDirty) {\n\t\t\t\tscope.isVisible = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction closeModal() {\n\t\t\tobserverService.sendMessageToSubject(\n\t\t\t\tscope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_PROFILE_SETTINGS_CHANGE_VIEW);\n\t\t\tobserverService.sendMessageToSubject(\n\t\t\t\tscope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_SETTINGS_BROKER_CLOSE);\n\t\t\tscope.isVisible = false;\n\t\t}\n\n\t\tfunction getSettings() {\n\t\t\tif (!scope.settings) {\n\t\t\t\tscope.settings = {};\n\t\t\t}\n\n\t\t\tbrokerSettingsService.getBrokerSettings()\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tscope.settings = response.data;\n\t\t\t\t\tscope.isDirty = false;\n\t\t\t\t})\n\t\t\t\t.catch(function(e) {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t// alert('Unable to retrieve carriers');\n\t\t\t\t});\n\t\t}\n\n\t\tfunction onSettingsOpen() {\n\t\t\tobserverService.sendMessageToSubject(\n\t\t\t\tscope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_PROFILE_SETTINGS_CHANGE_VIEW);\n\t\t\tif (!scope.isDirty) {\n\t\t\t\tscope.isVisible = true;\n\t\t\t\tgetSettings();\n\t\t\t\ttoggleView('settings');\n\t\t\t}\n\t\t}\n\n\t\tfunction toggleView(selectedView) {\n\t\t\tscope.view = selectedView;\n\t\t}\n\n\t\tfunction toggleSettings(view) {\n\t\t\tscope.view = view;\n\t\t}\n\n\t\tfunction onDirty() {\n\t\t\tscope.isDirty = true;\n\t\t}\n\n\t\tfunction onClean() {\n\t\t\tscope.isDirty = false;\n\t\t\tscope.errors.errorMessage = '';\n\t\t\tscope.errors.errorMessageClass = 'message--error';\n\t\t\tscope.errors.messageType = '';\n\t\t}\n\n\t\tfunction onChangeView() {\n\t\t\tif (scope.isDirty) {\n\t\t\t\tscope.errors.errorMessage = 'Save or discard your changes.';\n\t\t\t\tscope.errors.errorMessageClass = 'message--error';\n\t\t\t\tscope.errors.messageType = 'error';\n\t\t\t} else\n\t\t\t\tscope.errors.errorMessage = '';\n\t\t}\n\n\t\tfunction onSaveView() {\n\t\t\tscope.errors.errorMessage = 'Changes saved';\n\t\t\tscope.isDirty = false;\n\t\t\tscope.errors.errorMessageClass = 'message--confirm';\n\t\t\tscope.errors.messageType = 'confirm';\n\t\t}\n\n\t\tfunction modalClick() {\n\t\t\tif (scope.errors.errorMessage) {\n\t\t\t\tonClean();\n\t\t\t}\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common.settings')\n\t\t.directive('cobCarrierProfileSettings', cobCarrierProfileSettings);\n\n\tcobCarrierProfileSettings.$inject = [\n\t\t'subjectObserverMessagesService', 'observerService', 'carrierSettingsService', 'sessionService',\n\t\t'authenticationService', '$state', 'validationService', '$stateParams', '$window', '$sce'\n\t];\n\n\tvar subjectObserverMessagesService,\n\t\tobserverService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tcarrierSettingsService,\n\t\tsessionService,\n\t\tauthenticationService,\n\t\tvalidationService,\n\t\tstate,\n\t\t$stateParams,\n\t\t$window,\n\t\t$sce;\n\n\tfunction cobCarrierProfileSettings(_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierSettingsService_,\n\t\t_sessionService_,\n\t\t_authenticationService_,\n\t\t$state,\n\t\t_validationService_,\n\t\t_$stateParams_,\n\t\t_$window_,\n\t\t_$sce_) {\n\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierSettingsService = _carrierSettingsService_;\n\t\tsessionService = _sessionService_;\n\t\tauthenticationService = _authenticationService_;\n\t\tvalidationService = _validationService_;\n\t\tstate = $state;\n\t\t$stateParams = _$stateParams_;\n\t\t$window = _$window_;\n\t\t$sce = _$sce_;\n\n\t\treturn {\n\t\t\tscope: {},\n\t\t\ttemplateUrl: '/app/common/settings/cobCarrierProfileSettings.html',\n\t\t\treplace: true,\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\t\t\tscope.carrierId = $stateParams.carrierId;\n\n\t\t\tscope.m = {};\n\t\t\tscope.showEmailIsNotValid = false;\n\t\t\tscope.isDirty = false;\n\t\t\tscope.closeModal = closeModal;\n\t\t\tscope.onProfileOpen = onProfileOpen;\n\t\t\tscope.isInternalAdmin = isInternalAdmin;\n\t\t\tscope.editEmail = editEmail;\n\t\t\tscope.discardEdit = discardEdit;\n\t\t\tscope.save = save;\n\t\t\tscope.validateEmail = validateEmail;\n\t\t\tscope.setIsDirty = setIsDirty;\n\t\t\tscope.logout = logout;\n\t\t\tscope.saveEmailEdit = saveEmailEdit;\n\t\t\tscope.modalClick = modalClick;\n\n\t\t\t//320 view\n\t\t\tscope.showMobileUniNav = showMobileUniNav;\n\t\t\tscope.toggleCarrierProfiledropDown = toggleCarrierProfiledropDown;\n\t\t\tscope.toggleCarrierHelpDropDown = toggleCarrierHelpDropDown;\n\t\t\tscope.closeMobileConfirmation = closeMobileConfirmation;\n\t\t\tscope.openLiveChat = openLiveChat;\n\t\t\tscope.m.mobileConfirmation = '';\n\t\t\tscope.m.displayMobileConfirmation = false;\n\t\t\tscope.m.displayMobileProfile = false;\n\t\t\tscope.m.displayMobileHelp = false;\n\t\t\tscope.m.truckersEdgeUrl = null;\n\t\t\tscope.m.CarrierMobileEmailView = false;\n\t\t\tscope.m.slideRight = false;\n\t\t\tscope.m.slideUp = false;\n\n\t\t\tregisterEventHandlers();\n\t\t\tloadData();\n\t\t}\n\n\t\tfunction registerEventHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_PROFILE_CARRIER_OPEN, handler: onProfileOpen },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_PROFILE_SETTINGS_DIRTY, handler: onDirty }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction loadData() {\n\t\t\tif (scope.carrierId) {\n\t\t\t\tcarrierSettingsService.lookupCarrierProfileModal(scope.carrierId)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tscope.m.carrierName = response.data.userName;\n\t\t\t\t\t\tscope.m.dotNumber = response.data.dotNumber;\n\t\t\t\t\t\tscope.m.datNumber = response.data.datNumber;\n\t\t\t\t\t\tscope.m.intrastateNumber = response.data.intrastateNumber;\n\t\t\t\t\t\tscope.m.carrierEmail = response.data.email;\n\t\t\t\t\t\tscope.emailClean = scope.m.carrierEmail;\n\t\t\t\t\t\tif (response.data.dbaName) {\n\t\t\t\t\t\t\tscope.m.carrierCompanyName = response.data.dbaName;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.m.carrierCompanyName = response.data.legalName;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdiscardEdit(true);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction isInternalAdmin() {\n\t\t\treturn sessionService.isAuthorizedInternalAdmin();\n\t\t}\n\n\t\tfunction onProfileOpen(data) {\n\t\t\tscope.isVisible = true;\n\t\t\tscope.m.slideRight = true;\n\t\t\tscope.m.truckersEdgeUrl = data;\n\t\t}\n\n\t\tfunction closeModal() {\n\t\t\tif (scope.isDirty) {\n\t\t\t\tscope.errorMessage = 'Save or discard your changes';\n\t\t\t\tscope.errorMessageClass = 'has-message--error';\n\t\t\t} else {\n\t\t\t\tscope.isVisible = false;\n\t\t\t\tdiscardEdit();\n\t\t\t\tscope.m.slideRight = false;\n\t\t\t\tscope.m.displayMobileProfile = false;\n\t\t\t\tscope.m.displayMobileHelp = false;\n\t\t\t\tscope.m.CarrierMobileEmailView = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction editEmail() {\n\t\t\tscope.m.editEmail = true;\n\t\t\tscope.m.displayMobileProfile = false;\n\t\t\tscope.m.CarrierMobileEmailView = true;\n\t\t\tscope.m.slideRight = false;\n\n\t\t}\n\n\t\tfunction discardEdit(keepMessage) {\n\t\t\tif (scope.m.editEmail)\n\t\t\t\tdiscardEmailEdit();\n\n\t\t\tif (!keepMessage) {\n\t\t\t\tscope.errorMessage = '';\n\t\t\t\tscope.errorMessageClass = '';\n\t\t\t}\n\n\t\t\tscope.isDirty = false;\n\t\t}\n\n\t\tfunction discardEmailEdit() {\n\t\t\tscope.m.editEmail = false;\n\t\t\tscope.m.carrierEmail = scope.emailClean;\n\t\t\tscope.m.emailValidationMessage = '';\n\t\t}\n\n\t\tfunction validateEmail() {\n\t\t\tif (scope.m.carrierEmail &&\n validationService.isValidEmail(scope.m.carrierEmail)) {\n\t\t\t\tscope.m.emailValidationMessage = '';\n\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\tscope.m.emailValidationMessage = 'Please enter a valid email.';\n\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfunction save() {\n\t\t\tif (scope.m.editEmail) {\n\t\t\t\tsaveEmailEdit();\n\t\t\t}\n\t\t}\n\n\t\tfunction saveEmailEdit() {\n\t\t\tif (validateEmail()) {\n\t\t\t\tcarrierSettingsService.updateCarrierEmail(scope.m.carrierEmail, scope.carrierId)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tif (response.data.isSuccess) {\n\t\t\t\t\t\t\tif (response.data.message) {\n\t\t\t\t\t\t\t\tscope.m\n\t\t\t\t\t\t\t\t\t.emailValidationMessage =\n 'The email address entered is already associated with an existing DAT OnBoard account. Please enter a different email address to proceed.';\n\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tscope.errorMessage = 'Email changes saved';\n\t\t\t\t\t\t\tscope.errorMessageClass = 'has-message--confirm';\n\t\t\t\t\t\t\tloadData();\n\t\t\t\t\t\t\tscope.m.displayMobileConfirmation = true;\n\t\t\t\t\t\t\tscope.m.mobileConfirmation = 'Username/Email Change Complete';\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction onDirty() {\n\t\t\tscope.isDirty = true;\n\t\t}\n\n\t\tfunction setIsDirty() {\n\t\t\tscope.isDirty = true;\n\t\t}\n\n\t\tfunction modalClick() {\n\t\t\tif (scope.errorMessage) {\n\t\t\t\tscope.errorMessage = '';\n\t\t\t\tscope.errorMessageClass = '';\n\t\t\t}\n\t\t}\n\n\t\t//320 view\n\n\t\tfunction showMobileUniNav() {\n\t\t\tscope.mobileUniNavDisplay = true;\n\t\t}\n\n\t\tfunction toggleCarrierProfiledropDown() {\n\t\t\tif (!scope.m.displayMobileProfile) {\n\t\t\t\tscope.m.displayMobileProfile = true;\n\t\t\t\tscope.m.displayMobileHelp = false;\n\t\t\t} else {\n\t\t\t\tscope.m.displayMobileProfile = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction toggleCarrierHelpDropDown() {\n\t\t\tif (!scope.m.displayMobileHelp) {\n\t\t\t\tscope.m.displayMobileHelp = true;\n\t\t\t\tscope.m.displayMobileProfile = false;\n\t\t\t} else {\n\t\t\t\tscope.m.displayMobileHelp = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction closeMobileConfirmation() {\n\t\t\tscope.m.displayMobileConfirmation = false;\n\t\t\tscope.closeModal();\n\t\t}\n\n\t\tfunction logout() {\n\t\t\tsessionService.destroy();\n\t\t\tauthenticationService.logout();\n\t\t}\n\n\t\tfunction openLiveChat() {\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_LOAD_CHATSUPPORT);\n\t\t}\n\t}\n})();\n","(function() {\n\t'use strict';\n\n\tangular.module('onboarding.common').controller('usurpCtrl', [\n\t\t'$scope', 'usurpService', 'authenticationService', 'USURP_LS',\n\t\tfunction($scope, usurpService, authenticationService, USURP_LS) {\n\t\t\t'use strict';\n\n\t\t\tthis.initialize = function() {\n\t\t\t\tusurpService.checkUsurpRegular();\n\t\t\t};\n\n\t\t\tthis.loginAnyway = function() {\n\t\t\t\tusurpService.usurpSession()\n\t\t\t\t\t.then(usurpService.checkUsurpRegular);\n\n\t\t\t\tlocalStorage.setItem(USURP_LS.TIMESTAMP, Number(Date.now()));\n\t\t\t\tlocalStorage.setItem(USURP_LS.IS_FROM_LOGIN, false);\n\t\t\t\tusurpService.closeModal();\n\t\t\t};\n\n\t\t\tthis.logout = function() {\n\t\t\t\t$scope.showSpinner = true;\n\t\t\t\tauthenticationService.logout();\n\t\t\t\tusurpService.closeModal();\n\t\t\t};\n\t\t}\n\t]);\n})();\n","(function() {\n\t'use strict';\n\n\tangular.module('onboarding.common')\n\t\t.directive('usurp', [\n\t\t\tfunction() {\n\t\t\t\t\n\t\t\t\treturn {\n\t\t\t\t\trestrict: 'E',\n\t\t\t\t\tcontroller: 'usurpCtrl',\n\t\t\t\t\tcontrollerAs: 'ctrl',\n\t\t\t\t\ttemplateUrl: '/app/common/usurp/usurp.template.html'\n\t\t\t\t};\n\t\t\t}\n\t\t])\n\t\t.constant('USURP_LS', {\n\t\t\tTIMESTAMP : 'usurp_timestamp',\n\t\t\tIS_FROM_LOGIN : 'usurp_from_login'\n\t\t});\n})();\n","(function() {\n\t'use strict';\n\n\tangular.module('onboarding.common')\n\t\t.service('usurpService', usurpService);\n\n\tusurpService.$inject = ['$http', 'USURP_LS'];\n\n\tvar modal,\n\t\tvalidationFrequency,\n\t\tisUsurpedFromLogin;\n\n\tfunction usurpService($http, USURP_LS) {\n\t\tvar baseUsurpUrl = '../api/usurp/';\n\n\t\treturn {\n\t\t\tgetUsurpSessionState: getUsurpSessionState,\n\t\t\tusurpSession: usurpSession,\n\t\t\tcheckUsurpRegular: checkUsurpRegular,\n\t\t\thandleUsurpState: handleUsurpState,\n\t\t\tremoveUsurpLSKey: removeUsurpLSKey,\n\t\t\tgetTimeInterval: getTimeInterval,\n\t\t\tcloseModal: closeModal\n\t\t};\n\n\t\tfunction getUsurpSessionState() {\n\t\t\tvar url = baseUsurpUrl + 'getsessionstate';\n\n\t\t\treturn $http.get(url)\n\t\t\t\t.then(function(result) {\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\treturn result.data.isUsurped;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(function() {\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction usurpSession() {\n\t\t\tvar url = baseUsurpUrl + 'usurpsession';\n\n\t\t\treturn $http.post(url);\n\t\t}\n\n\t\tfunction checkUsurpRegular() {\n\t\t\tisUsurpedFromLogin = isUserJustLogin();\n\t\t\tsetTimeInterval();\n\n\t\t\tsetTimeout(function() {\n\t\t\t\thandleUsurpState()\n\t\t\t\t\t.then(function(shouldScheduleCheck) {\n\t\t\t\t\t\tif (shouldScheduleCheck) {\n\t\t\t\t\t\t\tlocalStorage.setItem(USURP_LS.TIMESTAMP, Number(Date.now()));\n\t\t\t\t\t\t\tcheckUsurpRegular();\n\t\t\t\t\t\t}\n\t\t\t\t\t}).catch(function() {\n\t\t\t\t\t\tlocalStorage.setItem(USURP_LS.TIMESTAMP, Number(Date.now()));\n\t\t\t\t\t\tcheckUsurpRegular();\n\t\t\t\t\t});\n\t\t\t}, validationFrequency);\n\t\t}\n\n\t\tfunction handleUsurpState() {\n\t\t\treturn getUsurpSessionState()\n\t\t\t\t.then(function(isUsurped) {\n\t\t\t\t\tif (!isUsurped) {\n\t\t\t\t\t\tlocalStorage.setItem(USURP_LS.IS_FROM_LOGIN, false);\n\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (isUsurpedFromLogin) {\n\t\t\t\t\t\tmodal = $('#promptUsurpModalContainer');\n\t\t\t\t\t\tshowDialog('Oops!', modal);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmodal = $('#sessionUsurpedModalContainer');\n\t\t\t\t\t\tshowDialog('Uh Oh!', modal);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction getTimeInterval() {\n\t\t\tvar timeNow = Number(Date.now());\n\t\t\tvar lastUsurpCheck = parseInt(localStorage.getItem(USURP_LS.TIMESTAMP), 10);\n\n\t\t\treturn !lastUsurpCheck ? 0 : timeNow - lastUsurpCheck;\n\t\t}\n\n\t\tfunction setTimeInterval() {\n\t\t\tvar defaultValidationFrequency = 180000, // 3 min\n\t\t\t\timmediatelyCheckUsurp = 0;\n\n\t\t\tvalidationFrequency = isUsurpedFromLogin || defaultValidationFrequency < getTimeInterval()\n\t\t\t\t? immediatelyCheckUsurp\n\t\t\t\t: defaultValidationFrequency - getTimeInterval();\n\t\t}\n\n\t\tfunction isUserJustLogin() {\n\t\t\tvar fromLogin = localStorage.getItem(USURP_LS.IS_FROM_LOGIN);\n\n\t\t\treturn fromLogin === null || JSON.parse(fromLogin);\n\t\t}\n\n\t\tfunction showDialog(titleModal, modal) {\n\t\t\tmodal.dialog({\n\t\t\t\ttitle: titleModal,\n\t\t\t\tmodal: true,\n\t\t\t\twidth: '30vw',\n\t\t\t\tresizable: false,\n\t\t\t\tshow: { effect: 'fade', duration: 300 },\n\t\t\t\thide: { effect: 'fade', duration: 300 },\n\t\t\t\tdraggable: false,\n\t\t\t\tdialogClass: 'usurp-modal',\n\t\t\t\tcloseOnEscape: false,\n\t\t\t\tzIndex: 2000\n\t\t\t});\n\t\t\t\n\t\t\tapplyStyles(modal);\n\t\t}\n\n\t\tfunction applyStyles(modal) {\n\t\t\tvar modalWrapper = modal.parent();\n\n\t\t\t$(window).resize(function () {\n\t\t\t\tmodalWrapper.css({\n\t\t\t\t\tleft: window.innerWidth / 2 - modal.width() / 2,\n\t\t\t\t\ttop: window.innerHeight / 2 - modal.height() / 2,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tfunction removeUsurpLSKey() {\n\t\t\tif(!localStorage.getItem(USURP_LS.IS_FROM_LOGIN)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlocalStorage.removeItem(USURP_LS.IS_FROM_LOGIN);\n\t\t}\n\n\t\tfunction closeModal() {\n\t\t\tmodal.dialog('close');\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobCanadianValidation', cobCanadianValidation);\n\n\tcobCanadianValidation.$inject = [\n\t\t'$log', '$timeout', '$state', 'subjectObserverMessagesService', 'observerService', 'sessionService',\n\t\t'carrierRegistrationService', 'authenticationService', '$window'\n\t];\n\n\tvar $log,\n\t\t$timeout,\n\t\t$state,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tsessionService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tcarrierRegistrationService,\n\t\tauthenticationService,\n\t\t$window;\n\n\tfunction cobCanadianValidation(_$log_,\n\t\t_$timeout_,\n\t\t_$state_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_sessionService_,\n\t\t_carrierRegistrationService_,\n\t\t_authenticationService_,\n\t\t_$window_) {\n\t\t$log = _$log_;\n\t\t$timeout = _$timeout_;\n\t\t$state = _$state_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tsessionService = _sessionService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\tauthenticationService = _authenticationService_;\n\t\t$window = _$window_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {\n\t\t\t\tvisible: '='\n\t\t\t},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/common/welcome/canadianValidation.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.m = {\n\t\t\t\tdatNumber: '',\n\t\t\t\tprovince: '',\n\t\t\t\tdatNumberValidationMessage: '',\n\t\t\t\tprovinceValidationMessage: '',\n\t\t\t\tprovinceList: [\n\t\t\t\t\t{ key: 'AB', value: 'Alberta' },\n\t\t\t\t\t{ key: 'BC', value: 'British Columbia' },\n\t\t\t\t\t{ key: 'MB', value: 'Manitoba' },\n\t\t\t\t\t{ key: 'NB', value: 'New Brunswick' },\n\t\t\t\t\t{ key: 'NF', value: 'Newfoundland and Labrador' },\n\t\t\t\t\t{ key: 'NT', value: 'Northwest Territories' },\n\t\t\t\t\t{ key: 'NS', value: 'Nova Scotia' },\n\t\t\t\t\t{ key: 'NU', value: 'Nunavut' },\n\t\t\t\t\t{ key: 'ON', value: 'Ontario' },\n\t\t\t\t\t{ key: 'PE', value: 'Prince Edward Island' },\n\t\t\t\t\t{ key: 'PQ', value: 'Quebec' },\n\t\t\t\t\t{ key: 'SK', value: 'Saskatchewan' },\n\t\t\t\t\t{ key: 'YT', value: 'Yukon Territory' }\n\t\t\t\t]\n\t\t\t};\n\n\t\t\tscope.validateDatNumber = validateDatNumber;\n\t\t\tscope.setActiveSlide = setActiveSlide;\n\t\t\tscope.openLiveChat = openLiveChat;\n\t\t\tscope.niceInContactEnabled = false;\n\t\t\tscope.sessionService = sessionService;\n\n\t\t\tsessionService.getApplicationSettings()\n\t\t\t\t.then(function (response) {\n\t\t\t\t\tscope.niceInContactEnabled = response.niceInContactEnabled;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction setActiveSlide(slide) {\n\t\t\tscope.m.datNumberValidationMessage = '';\n\t\t\tscope.m.provinceValidationMessage = '';\n\t\t\tscope.m.showNotFound = '';\n\t\t\tscope.m.datNumber = '';\n\t\t\tscope.m.province = '';\n\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_CHANGE_WELCOME_VIEW,\n\t\t\t\t{\n\t\t\t\t\tsetActiveSlide: slide\n\t\t\t\t});\n\t\t}\n\n\t\tfunction openLiveChat() {\n\t\t\tif (!scope.niceInContactEnabled) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\topenNiceinContactAgentChat();\n\t\t}\n\n\t\tfunction validateDatNumber() {\n\t\t\tscope.m.datNumberValidationMessage = '';\n\t\t\tscope.m.provinceValidationMessage = '';\n\n\t\t\tif (scope.m.province.length === 0) {\n\n\t\t\t\tscope.m.provinceValidationMessage = 'Valid input is required';\n\t\t\t}\n\t\t\tif (scope.m.datNumber.length === 0) {\n\t\t\t\tscope.m.datNumberValidationMessage += 'Valid input is required';\n\t\t\t}\n\t\t\tif (scope.m.datNumberValidationMessage === '' && scope.m.provinceValidationMessage === '') {\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tobserverService\n\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t\t},\n\t\t\t\t1);\n\n\t\t\t\tcarrierRegistrationService.validateIntrastateCode(scope.m.province.key, scope.m.datNumber)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tswitch (response.data.validationInfo) {\n\t\t\t\t\t\tcase 'Authorized':\n\t\t\t\t\t\t\tif (response.data.carrierId !== -1) {\n\t\t\t\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_CHANGE_WELCOME_VIEW,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tmodalMessage:\n\t\t\t\t\t\t\t\t\t\t'

The information provided matches an existing ' +\n\t\t\t\t\t\t\t\t\t\t'account. Please follow this link to log in. ' +\n\t\t\t\t\t\t\t\t\t\t'You will be redirected to a new screen.

',\n\t\t\t\t\t\t\t\t\t\tmodalTitle: 'Account Found'\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages()\n\t\t\t\t\t\t\t\t\t\t.COB_SUBJECT_CHANGE_WELCOME_VIEW,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tsetActiveSlide: 'confirmCompanySection',\n\t\t\t\t\t\t\t\t\t\tcarrierList: response.data.carrierList,\n\t\t\t\t\t\t\t\t\t\tnumberText: 'Number entered:',\n\t\t\t\t\t\t\t\t\t\tsearchNumber: scope.m.province.key + '/' + scope.m.datNumber,\n\t\t\t\t\t\t\t\t\t\tmodalMessage: '',\n\t\t\t\t\t\t\t\t\t\tmodalTitle: ''\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tscope.m.datNumber = '';\n\t\t\t\t\t\t\t\tscope.m.province = '';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'IntrastateCodeNotFound':\n\t\t\t\t\t\t\tscope.m\n\t\t\t\t\t\t\t\t.showNotFound =\n 'No match found in the DAT Registry. To discuss how to include your business in the DAT Registry, see the chat link below the submit button, or call 800-551-8836.';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t})\n\t\t\t\t\t.catch(function(e) {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t})\n\t\t\t\t\t.finally(function() {\n\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction openNiceinContactAgentChat() {\n\t\t\tvar niceInContactBaseUrl = 'https://home-c37.nice-incontact.com/inContact/ChatClient/ChatClient.aspx?poc={0}&bu={1}&P1={2}&P2={3}; {4}&P3={5}&P4={6}';\n\t\t\tvar pointOfContact = '0893c22c-11b6-4b47-943f-649d809655d7';\n\t\t\tvar businessUnit = '4599687';\n\t\t\tvar niceInContactChatClient = niceInContactBaseUrl\n\t\t\t\t.replace('{0}', pointOfContact)\n\t\t\t\t.replace('{1}', businessUnit)\n\t\t\t\t.replace('{2}', 'DAT OnBoard Guest')\n\t\t\t\t.replace('{3}', 'guest-user')\n\t\t\t\t.replace('{4}', 'DOBGuest@dat.com')\n\t\t\t\t.replace('{5}', '')\n\t\t\t\t.replace('{6}', $window.location.href);\n\n\t\t\tconsole.log(niceInContactChatClient);\n\n\t\t\tvar baseWindowOptions = 'location=no, menubar=no, status=no, resizable=no, height={0}, width={1}, top={2}, left={3}';\n\t\t\tvar width = 410;\n\t\t\tvar height = 700;\n\n\t\t\tvar top = $window.outerHeight / 2 + $window.screenY - (height / 2);\n\t\t\tvar left = $window.outerWidth / 2 + $window.screenX - (width / 2);\n\n\t\t\tvar windowOptions = baseWindowOptions\n\t\t\t\t.replace('{0}', height)\n\t\t\t\t.replace('{1}', width)\n\t\t\t\t.replace('{2}', top)\n\t\t\t\t.replace('{3}', left);\n\n\t\t\tconsole.log(windowOptions);\n\t\t\t$window.open(niceInContactChatClient, 'niceInContactChat', windowOptions);\n\t\t}\n\n\t\treturn;\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobUrlNotFound', cobUrlNotFound);\n\n\tfunction cobUrlNotFound() {\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\ttemplateUrl: '/app/common/welcome/cobUrlNotFound.html',\n\t\t\treplace: true,\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction() {}\n\n})();\n","'use strict';\n\n(function () {\n\tangular.module('onboarding.common')\n\t\t.directive('cobConfirmCompany', cobConfirmCompany);\n\n\tcobConfirmCompany.$inject = [\n\t\t'$log', '$timeout', '$state', 'subjectObserverMessagesService', 'observerService', 'sessionService',\n\t\t'carrierRegistrationService'\n\t];\n\n\tvar $log,\n\t\t$timeout,\n\t\t$state,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tsessionService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tcarrierRegistrationService;\n\n\tfunction cobConfirmCompany(_$log_,\n\t\t_$timeout_,\n\t\t_$state_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_sessionService_,\n\t\t_carrierRegistrationService_) {\n\t\t$log = _$log_;\n\t\t$timeout = _$timeout_;\n\t\t$state = _$state_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tsessionService = _sessionService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {\n\t\t\t\tvisible: '=',\n\t\t\t\tcarrierList: '=',\n\t\t\t\tnumberText: '=',\n\t\t\t\tsearchNumber: '='\n\t\t\t},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/common/welcome/confirmCompany.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.m = {\n\t\t\t\tcarrier: {},\n\t\t\t\terrorMessage: ''\n\t\t\t};\n\n\t\t\tscope.carriers = {};\n\t\t\tscope.displayCarriers = [];\n\n\t\t\tscope.setActiveSlide = setActiveSlide;\n\t\t\tscope.submitClick = submitClick;\n\n\t\t\tregisterObserverHandlers();\n\n\t\t\tscope.$watch('carrierList', parseCarrierList);\n\t\t}\n\n\t\tfunction parseCarrierList(newList, oldList) {\n\t\t\tscope.displayCarriers = [];\n\t\t\tscope.carriers = {};\n\n\t\t\tif (!newList)\n\t\t\t\treturn;\n\n\t\t\tvar dot = '';\n\t\t\tfor (var i = 0; i < newList.length; i++) {\n\t\t\t\tdot = newList[i].dotNumber.toString();\n\t\t\t\tif (scope.carriers[dot]) {\n\t\t\t\t\tscope.carriers[dot].push(newList[i]);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tscope.carriers[dot] = [(newList[i])];\n\t\t\t\t\tscope.displayCarriers.push(newList[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\t\t}\n\n\t\tfunction setActiveSlide(slide) {\n\t\t\tscope.m.errorMessage = '';\n\t\t\tscope.m.carrier = {},\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_CHANGE_WELCOME_VIEW,\n\t\t\t\t{\n\t\t\t\t\tsetActiveSlide: slide\n\t\t\t\t});\n\t\t}\n\n\t\tfunction submitClick() {\n\t\t\tif (scope.displayCarriers.length === 1) {\n\t\t\t\tscope.m.carrier = scope.displayCarriers[0];\n\t\t\t}\n\t\t\tif (!scope.m.carrier) {\n\t\t\t\tscope.m.errorMessage = 'You must choose from the list to continue.';\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (scope.carriers[scope.m.carrier.dotNumber].length > 1) {\n\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages()\n\t\t\t\t\t\t.COB_SUBJECT_CHANGE_WELCOME_VIEW,\n\t\t\t\t\t{\n\t\t\t\t\t\tsetActiveSlide: 'multipleCarriersSection',\n\t\t\t\t\t\tcarrierList: scope.carriers[scope.m.carrier.dotNumber],\n\t\t\t\t\t\tmodalMessage: '',\n\t\t\t\t\t\tmodalTitle: ''\n\t\t\t\t\t});\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tscope.m.errorMessage = '';\n\n\t\t\t\tcarrierRegistrationService.setCarrier(scope.carriers[scope.m.carrier.dotNumber][0]);\n\t\t\t\t$state.transitionTo('registration');\n\t\t\t}\n\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobDotValidation', cobDotValidation);\n\n\tcobDotValidation.$inject = [\n\t\t'$log', '$timeout', '$state', 'subjectObserverMessagesService', 'observerService', 'sessionService',\n\t\t'carrierRegistrationService', 'authenticationService'\n\t];\n\n\tvar $log,\n\t\t$timeout,\n\t\t$state,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tsessionService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tcarrierRegistrationService,\n\t\tauthenticationService;\n\n\tfunction cobDotValidation(_$log_,\n\t\t_$timeout_,\n\t\t_$state_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_sessionService_,\n\t\t_carrierRegistrationService_,\n\t\t_authenticationService_) {\n\t\t$log = _$log_;\n\t\t$timeout = _$timeout_;\n\t\t$state = _$state_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tsessionService = _sessionService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\tauthenticationService = _authenticationService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {\n\t\t\t\tvisible: '='\n\t\t\t},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/common/welcome/dotValidation.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.sessionService = sessionService;\n\t\t\tscope.m = {\n\t\t\t\tdotNumber: '',\n\t\t\t\tvalidationMessage: ''\n\t\t\t};\n\n\t\t\tscope.validateDot = validateDot;\n\t\t\tscope.setActiveSlide = setActiveSlide;\n\t\t\tscope.dotKeyPress = dotKeyPress;\n\t\t\tscope.authenticationService = authenticationService;\n\n\t\t\tregisterObserverHandlers();\n\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\t\t}\n\n\t\tfunction setActiveSlide(slide) {\n\t\t\tscope.m.validationMessage = '';\n\t\t\tscope.m.dotNumber = '';\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_CHANGE_WELCOME_VIEW,\n\t\t\t\t{\n\t\t\t\t\tsetActiveSlide: slide,\n\t\t\t\t\tmodalMessage: '',\n\t\t\t\t\tmodalTitle: ''\n\t\t\t\t});\n\t\t}\n\n\t\tfunction validateDot() {\n\t\t\tscope.m.validationMessage = '';\n\n\t\t\tif (scope.m.dotNumber.length === 0) {\n\t\t\t\tscope.m.validationMessage = 'Valid input is required.';\n\t\t\t} else if (/^[0-9]{1,10}$/.test(scope.m.dotNumber) === false) {\n\t\t\t\tscope.m.validationMessage = 'The number provided does not match a valid DOT number. Please try again.';\n\t\t\t} else {\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tobserverService\n\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t\t},\n\t\t\t\t1);\n\n\t\t\t\tcarrierRegistrationService.validateDotNumber(scope.m.dotNumber)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tswitch (response.data.validationInfo) {\n\t\t\t\t\t\tcase 'Authorized':\n\t\t\t\t\t\t\tif (response.data.isMexico) {\n\t\t\t\t\t\t\t\tscope.m\n\t\t\t\t\t\t\t\t\t.validationMessage =\n 'We are sorry, Mexico-based carriers are not supported by DAT OnBoard.';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (response.data.carrierId === -1) {\n\n\t\t\t\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages()\n\t\t\t\t\t\t\t\t\t\t.COB_SUBJECT_CHANGE_WELCOME_VIEW,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tsetActiveSlide: 'confirmCompanySection',\n\t\t\t\t\t\t\t\t\t\tcarrierList: response.data.carrierList,\n\t\t\t\t\t\t\t\t\t\tnumberText: 'Number entered: ',\n\t\t\t\t\t\t\t\t\t\tsearchNumber: scope.m.dotNumber,\n\t\t\t\t\t\t\t\t\t\tmodalMessage: '',\n\t\t\t\t\t\t\t\t\t\tmodalTitle: ''\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tscope.m.validationMessage = '';\n\t\t\t\t\t\t\t\tscope.m.dotNumber = '';\n\t\t\t\t\t\t\t} else //existing\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_CHANGE_WELCOME_VIEW,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tmodalMessage:\n\t\t\t\t\t\t\t\t\t\t'

The information provided matches an existing ' +\n\t\t\t\t\t\t\t\t\t\t'account. Please follow this link to log in. ' +\n\t\t\t\t\t\t\t\t\t\t'You will be redirected to a new screen.

',\n\t\t\t\t\t\t\t\t\t\tmodalTitle: 'Account Found'\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'DOTNotFound':\n\t\t\t\t\t\t\tscope.m\n\t\t\t\t\t\t\t\t.validationMessage =\n 'The number provided does not match a valid DOT number. Please try again.';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'DOTInactive':\n\t\t\t\t\t\t\tif (response.data.isMexico) {\n\t\t\t\t\t\t\t\tscope.m\n\t\t\t\t\t\t\t\t\t.validationMessage =\n 'We are sorry, Mexico-based carriers are not supported by DAT OnBoard.';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tscope.m\n\t\t\t\t\t\t\t\t.validationMessage =\n 'The DOT number provided is not active. Only active carriers can register with DAT OnBoard.';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'NoAuthority':\n\t\t\t\t\t\t\tif (response.data.isMexico) {\n\t\t\t\t\t\t\t\tscope.m\n\t\t\t\t\t\t\t\t\t.validationMessage =\n 'We are sorry, Mexico-based carriers are not supported by DAT OnBoard.';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tscope.m\n\t\t\t\t\t\t\t\t.validationMessage =\n 'The DOT number provided belongs to a carrier with no active authority. Only carriers with active authority can register with DAT OnBoard.';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(function(e) {\n\t\t\t\t\t\t$log.error(e);\n\t\t\t\t\t})\n\t\t\t\t\t.finally(function() {\n\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tfunction dotKeyPress(event) {\n\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\tif (charCode === 13) { // on Enter\n\t\t\t\tvalidateDot();\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tswitch (charCode) {\n\t\t\tcase 8: //backspace\n\t\t\tcase 35: //end\n\t\t\tcase 36: //home\n\t\t\tcase 37: //left arrow\n\t\t\tcase 39: //right arrow\n\t\t\tcase 46: //delete\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar key = String.fromCharCode(charCode);\n\n\t\t\tif (!/^[0-9]$/.test(key)) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobIntrastateValidation', cobIntrastateValidation);\n\n\tcobIntrastateValidation.$inject = [\n\t\t'subjectObserverMessagesService', 'observerService', 'carrierRegistrationService', '$state', 'authenticationService'\n\t];\n\n\tvar subjectObserverMessagesService,\n\t\tobserverService,\n\t\tcarrierRegistrationService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\t$state,\n\t\tauthenticationService;\n\n\tfunction cobIntrastateValidation(_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierRegistrationService_,\n\t\t_$state_,\n\t\t_authenticationService) {\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\t$state = _$state_;\n\t\tauthenticationService = _authenticationService;\n\n\t\treturn {\n\t\t\tscope: {\n\t\t\t\tvisible: '='\n\t\t\t},\n\t\t\ttemplateUrl: '/app/common/welcome/intrastateValidation.html',\n\t\t\treplace: true,\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope\n\t\t\t\t.m = {\n\t\t\t\t\terrors: [],\n\t\t\t\t\tintrastateCodeError: '',\n\t\t\t\t\tshowErrorModal: false,\n\t\t\t\t\tintrastateStateError: '',\n\t\t\t\t\tintrastateNumber: '',\n\t\t\t\t\tselectedState: '',\n\t\t\t\t\tstateList: [\n\t\t\t\t\t\t{ key: 'AL', value: 'Alabama' },\n\t\t\t\t\t\t{ key: 'AK', value: 'Alaska' },\n\t\t\t\t\t\t{ key: 'AS', value: 'American Samoa' },\n\t\t\t\t\t\t{ key: 'AZ', value: 'Arizona' },\n\t\t\t\t\t\t{ key: 'AR', value: 'Arkansas' },\n\t\t\t\t\t\t{ key: 'CA', value: 'California' },\n\t\t\t\t\t\t{ key: 'CO', value: 'Colorado' },\n\t\t\t\t\t\t{ key: 'CT', value: 'Connecticut' },\n\t\t\t\t\t\t{ key: 'DE', value: 'Delaware' },\n\t\t\t\t\t\t{ key: 'DC', value: 'District of Columbia' },\n\t\t\t\t\t\t{ key: 'FL', value: 'Florida' },\n\t\t\t\t\t\t{ key: 'GA', value: 'Georgia' },\n\t\t\t\t\t\t{ key: 'GU', value: 'Guam' },\n\t\t\t\t\t\t{ key: 'HI', value: 'Hawaii' },\n\t\t\t\t\t\t{ key: 'ID', value: 'Idaho' },\n\t\t\t\t\t\t{ key: 'IL', value: 'Illinois' },\n\t\t\t\t\t\t{ key: 'IN', value: 'Indiana' },\n\t\t\t\t\t\t{ key: 'IA', value: 'Iowa' },\n\t\t\t\t\t\t{ key: 'KS', value: 'Kansas' },\n\t\t\t\t\t\t{ key: 'KY', value: 'Kentucky' },\n\t\t\t\t\t\t{ key: 'LA', value: 'Louisiana' },\n\t\t\t\t\t\t{ key: 'ME', value: 'Maine' },\n\t\t\t\t\t\t{ key: 'MD', value: 'Maryland' },\n\t\t\t\t\t\t{ key: 'MA', value: 'Massachusetts' },\n\t\t\t\t\t\t{ key: 'MI', value: 'Michigan' },\n\t\t\t\t\t\t{ key: 'MN', value: 'Minnesota' },\n\t\t\t\t\t\t{ key: 'MS', value: 'Mississippi' },\n\t\t\t\t\t\t{ key: 'MO', value: 'Missouri' },\n\t\t\t\t\t\t{ key: 'MT', value: 'Montana' },\n\t\t\t\t\t\t{ key: 'NE', value: 'Nebraska' },\n\t\t\t\t\t\t{ key: 'NV', value: 'Nevada' },\n\t\t\t\t\t\t{ key: 'NH', value: 'New Hampshire' },\n\t\t\t\t\t\t{ key: 'NJ', value: 'New Jersey' },\n\t\t\t\t\t\t{ key: 'NM', value: 'New Mexico' },\n\t\t\t\t\t\t{ key: 'NY', value: 'New York' },\n\t\t\t\t\t\t{ key: 'NC', value: 'North Carolina' },\n\t\t\t\t\t\t{ key: 'ND', value: 'North Dakota' },\n\t\t\t\t\t\t{ key: 'OH', value: 'Ohio' },\n\t\t\t\t\t\t{ key: 'OK', value: 'Oklahoma' },\n\t\t\t\t\t\t{ key: 'OR', value: 'Oregon' },\n\t\t\t\t\t\t{ key: 'PA', value: 'Pennsylvania' },\n\t\t\t\t\t\t{ key: 'PR', value: 'Puerto Rico' },\n\t\t\t\t\t\t{ key: 'RI', value: 'Rhode Island' },\n\t\t\t\t\t\t{ key: 'SC', value: 'South Carolina' },\n\t\t\t\t\t\t{ key: 'SD', value: 'South Dakota' },\n\t\t\t\t\t\t{ key: 'TN', value: 'Tennessee' },\n\t\t\t\t\t\t{ key: 'TX', value: 'Texas' },\n\t\t\t\t\t\t{ key: 'UT', value: 'Utah' },\n\t\t\t\t\t\t{ key: 'VT', value: 'Vermont' },\n\t\t\t\t\t\t{ key: 'VA', value: 'Virginia' },\n\t\t\t\t\t\t{ key: 'VI', value: 'Virgin Islands' },\n\t\t\t\t\t\t{ key: 'WA', value: 'Washington' },\n\t\t\t\t\t\t{ key: 'WV', value: 'West Virginia' },\n\t\t\t\t\t\t{ key: 'WI', value: 'Wisconsin' },\n\t\t\t\t\t\t{ key: 'WY', value: 'Wyoming' },\n\t\t\t\t\t]\n\t\t\t\t};\n\n\t\t\tscope.validateIntrastateCode = validateIntrastateCode;\n\t\t\tscope.navigateToSection = navigateToSection;\n\t\t}\n\n\t\tfunction validateIntrastateCode() {\n\t\t\tif (validateInput()) {\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tobserverService\n\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t\t},\n\t\t\t\t1);\n\n\t\t\t\tcarrierRegistrationService.validateIntrastateCode(scope.m.selectedState.key, scope.m.intrastateNumber)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tif (response.data.validationInfo === 'Authorized' &&\n response.data.carrierList !== null) {\n\t\t\t\t\t\t\tnavigateToSection(\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tsetActiveSlide: 'confirmCompanySection',\n\t\t\t\t\t\t\t\t\tcarrierList: response.data.carrierList,\n\t\t\t\t\t\t\t\t\tnumberText: 'Number entered:',\n\t\t\t\t\t\t\t\t\tsearchNumber: scope.m.selectedState.key + '/' + scope.m.intrastateNumber,\n\t\t\t\t\t\t\t\t\tmodalMessage: '',\n\t\t\t\t\t\t\t\t\tmodalTitle: ''\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (response.data.validationInfo === 'IntrastateCodeNotFound') {\n\t\t\t\t\t\t\tscope.m.showNotFound = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.m.showNotFound = false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (response.data.validationInfo === 'Authorized' && response.data.carrierId !== -1) {\n\t\t\t\t\t\t\tnavigateToSection(\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tmodalMessage:\n\t\t\t\t\t\t\t\t\t'

The information provided matches an existing ' +\n\t\t\t\t\t\t\t\t\t'account. Please follow this link to log in. ' +\n\t\t\t\t\t\t\t\t\t'You will be redirected to a new screen.

',\n\t\t\t\t\t\t\t\t\tmodalTitle: 'Account Found'\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t})\n\t\t\t\t\t.catch(function(e) {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t})\n\t\t\t\t\t.finally(function() {\n\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction validateInput() {\n\t\t\tscope.m.intrastateCodeError = '';\n\t\t\tscope.m.intrastateStateError = '';\n\n\t\t\tif (scope.m.selectedState === '') {\n\t\t\t\tscope.m.intrastateStateError = 'Valid input is required.';\n\t\t\t} else {\n\t\t\t\tscope.m.intrastateStateError = '';\n\t\t\t}\n\n\t\t\tif (scope.m.intrastateNumber.length === 0) {\n\t\t\t\tscope.m.intrastateCodeError = 'Valid input is required.';\n\t\t\t} else {\n\t\t\t\tscope.m.intrastateCodeError = '';\n\t\t\t}\n\n\t\t\treturn (scope.m.intrastateStateError === '' && scope.m.intrastateCodeError === '');\n\t\t}\n\n\t\tfunction navigateToSection(sectionObject) {\n\n\t\t\tscope.m.errors = [];\n\t\t\tscope.m.showNotFound = '';\n\t\t\tscope.m.intrastateCodeError = '';\n\t\t\tscope.m.showErrorModal = false;\n\t\t\tscope.m.intrastateStateError = '';\n\n\t\t\tscope.m.intrastateNumber = '';\n\t\t\tscope.m.selectedState = '';\n\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_CHANGE_WELCOME_VIEW,\n\t\t\t\tsectionObject);\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobMultipleCarriers', cobMultipleCarriers);\n\n\tcobMultipleCarriers.$inject = [\n\t\t'$log', '$timeout', '$state', 'subjectObserverMessagesService', 'observerService', 'sessionService',\n\t\t'carrierRegistrationService'\n\t];\n\n\tvar $log,\n\t\t$timeout,\n\t\t$state,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tsessionService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tcarrierRegistrationService;\n\n\tfunction cobMultipleCarriers(_$log_,\n\t\t_$timeout_,\n\t\t_$state_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_sessionService_,\n\t\t_carrierRegistrationService_) {\n\t\t$log = _$log_;\n\t\t$timeout = _$timeout_;\n\t\t$state = _$state_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tsessionService = _sessionService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {\n\t\t\t\tvisible: '=',\n\t\t\t\tcarrierList: '='\n\t\t\t},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/common/welcome/multipleCarriers.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.m = {\n\t\t\t\tcarrier: {},\n\t\t\t\terrorMessage: ''\n\t\t\t};\n\n\t\t\tscope.setActiveSlide = setActiveSlide;\n\t\t\tscope.submitClick = submitClick;\n\t\t\tscope.backToDot = backToDot;\n\t\t}\n\n\t\tfunction setActiveSlide(slide) {\n\t\t\tscope.m.errorMessage = '';\n\t\t\tscope.m.carrier = {},\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_CHANGE_WELCOME_VIEW,\n\t\t\t\t{\n\t\t\t\t\tsetActiveSlide: slide\n\t\t\t\t});\n\t\t}\n\n\t\tfunction submitClick() {\n\t\t\tif (!scope.m.carrier.tCoreId) {\n\t\t\t\tscope.m.errorMessage = 'You must choose from the list to continue.';\n\t\t\t} else {\n\t\t\t\tscope.m.errorMessage = '';\n\n\t\t\t\tcarrierRegistrationService.setCarrier(scope.m.carrier);\n\t\t\t\t$state.transitionTo('registration');\n\t\t\t}\n\t\t}\n\n\t\tfunction backToDot() {\n\t\t\tscope.m.errorMessage = '';\n\t\t\tsetActiveSlide('dotNumberSection');\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobSiteCore', cobSiteCore);\n\n\tcobSiteCore.$inject = [\n\t\t'subjectObserverMessagesService',\n\t\t'$window'\n\t];\n\n\tvar subjectObserverMessagesService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\t$window;\n\n\tfunction cobSiteCore(_subjectObserverMessagesService_, _$window_) {\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\t$window = _$window_;\n\n\t\treturn {\n\t\t\tscope: {},\n\t\t\ttemplateUrl: '/app/common/welcome/siteCore.html',\n\t\t\treplace: true,\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.openLiveChat = openLiveChat;\n\t\t}\n\n\n\t\tfunction openLiveChat() {\n\t\t\tvar niceInContactBaseUrl = 'https://home-c37.nice-incontact.com/inContact/ChatClient/ChatClient.aspx?poc={0}&bu={1}&P1={2}&P2={3}; {4}&P3={5}&P4={6}';\n\t\t\tvar pointOfContact = '0893c22c-11b6-4b47-943f-649d809655d7';\n\t\t\tvar businessUnit = '4599687';\n\t\t\tvar niceInContactChatClient = niceInContactBaseUrl\n\t\t\t\t.replace('{0}', pointOfContact)\n\t\t\t\t.replace('{1}', businessUnit)\n\t\t\t\t.replace('{2}', 'DAT OnBoard Guest')\n\t\t\t\t.replace('{3}', 'guest-user')\n\t\t\t\t.replace('{4}', 'DOBGuest@dat.com')\n\t\t\t\t.replace('{5}', '')\n\t\t\t\t.replace('{6}', $window.location.href);\n\n\t\t\tvar baseWindowOptions = 'location=no, menubar=no, status=no, resizable=no, height={0}, width={1}, top={2}, left={3}';\n\t\t\tvar width = 410;\n\t\t\tvar height = 700;\n\n\t\t\tvar top = $window.outerHeight / 2 + $window.screenY - (height / 2);\n\t\t\tvar left = $window.outerWidth / 2 + $window.screenX - (width / 2);\n\n\t\t\tvar windowOptions = baseWindowOptions\n\t\t\t\t.replace('{0}', height)\n\t\t\t\t.replace('{1}', width)\n\t\t\t\t.replace('{2}', top)\n\t\t\t\t.replace('{3}', left);\n\n\t\t\t$window.open(niceInContactChatClient, 'niceInContactChat', windowOptions);\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.common')\n\t\t.directive('cobWelcomePage', cobWelcomePage);\n\n\tcobWelcomePage.$inject = [\n\t\t'$rootScope', '$state', '$stateParams', '$log', '$timeout', '$location', 'subjectObserverMessagesService', 'observerService',\n\t\t'sessionService'\n\t];\n\n\tvar $rootScope,\n\t\t$state,\n\t\t$stateParams,\n\t\t$log,\n\t\t$timeout,\n\t\t$location,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tsessionService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tdata;\n\n\tfunction cobWelcomePage(_$rootScope_,\n\t\t_$state_,\n\t\t_$stateParams_,\n\t\t_$log_,\n\t\t_$timeout_,\n\t\t_$location_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_sessionService_) {\n\t\t$log = _$log_;\n\t\t$timeout = _$timeout_;\n\t\t$location = _$location_;\n\t\t$state = _$state_;\n\t\t$stateParams = _$stateParams_;\n\t\t$rootScope = _$rootScope_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tsessionService = _sessionService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/common/welcome/welcomePage.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tscope.$state = $state;\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.forgotUsername = forgotUsername;\n\t\t\tscope.forgotPassword = forgotPassword;\n\t\t\tscope.clearModalMessage = clearModalMessage;\n\t\t\tscope.$on('$locationChangeStart', onLocationChange);\n\n\t\t\tscope.m = {\n\t\t\t\terrors: [],\n\t\t\t\tdate: new Date(),\n\t\t\t\tmodalMessage: $stateParams.modalMessage,\n\t\t\t\tmodalTitle: $stateParams.modalTitle,\n\t\t\t\tmodalIsError: $stateParams.modalIsError,\n\t\t\t\tdomain: '',\n\t\t\t\twelcomeMessageDisabled: false\n\t\t\t};\n\n\t\t\t$location.url($location.path());\n\n\t\t\tswitch ($state.current.name) {\n\t\t\tcase 'dot':\n\t\t\t\tdocument.title = 'Carrier Registration';\n\t\t\t\tscope.prevState = 'dotNumberSection';\n\t\t\t\tbreak;\n\t\t\tcase 'username':\n\t\t\t\tdocument.title = 'Forgot Username';\n\t\t\t\tbreak;\n\t\t\tcase 'password':\n\t\t\t\tdocument.title = 'Forgot Password';\n\t\t\t\tbreak;\n\t\t\tcase 'resetpassword':\n\t\t\t\tdocument.title = 'Reset Password';\n\t\t\t\tbreak;\n\t\t\tcase 'intrastate':\n\t\t\t\tdocument.title = 'Intrastate';\n\t\t\t\tscope.prevState = 'intrastateSection';\n\t\t\t\tbreak;\n\t\t\tcase 'canadian':\n\t\t\t\tdocument.title = 'Canadian Carrier';\n\t\t\t\tscope.prevState = 'canadianSection';\n\t\t\t\tbreak;\n\t\t\tcase 'selectcarrier':\n\t\t\t\tdocument.title = 'Select Carrier';\n\t\t\t\tbreak;\n\t\t\tcase 'confirmCompany':\n\t\t\t\tdocument.title = 'Confirm Company';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tdocument.title = 'Login';\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tscope.setActiveSlide = setActiveSlide;\n\n\t\t\tdata = {\n\t\t\t\tdotNumber: '',\n\t\t\t\tstate: '',\n\t\t\t\tintrastateNumber: '',\n\t\t\t\tprovince: '',\n\t\t\t\tnationalSafetyNumber: '',\n\t\t\t\tdocketNumber: '',\n\t\t\t\tcarrierList: [],\n\t\t\t\tnumberText: '',\n\t\t\t\tsearchNumber: ''\n\t\t\t};\n\n\t\t\tregisterObserverHandlers();\n\t\t}\n\n\t\tfunction onLocationChange() {\n\t\t\t$rootScope.lastLocation = $rootScope.actualLocation;\n\t\t\t$rootScope.actualLocation = $location.path();\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\t\t\tif (sessionService.getDomain()) {\n\t\t\t\t$timeout(function() {\n\t\t\t\t\tonDoaminDataLoad();\n\t\t\t\t},\n\t\t\t\t1);\n\t\t\t}\n\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_DOMAIN_DATA_LOADED, handler: onDoaminDataLoad },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CHANGE_WELCOME_VIEW, handler: changeView }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction changeView(obj) {\n\t\t\tif (typeof obj.setActiveSlide == 'string') {\n\t\t\t\tscope.m.activeSlide = obj.setActiveSlide;\n\t\t\t\t$rootScope.lastLocation = $location.path();\n\t\t\t\tif (obj.setActiveSlide == 'back') {\n\t\t\t\t\tobj.setActiveSlide = scope.prevState;\n\t\t\t\t}\n\n\t\t\t\tswitch (obj.setActiveSlide) {\n\t\t\t\tcase 'dotNumberSection':\n\t\t\t\t\t$state.go('dot', null, { notify: false });\n\t\t\t\t\tdocument.title = 'Carrier Registration';\n\t\t\t\t\tscope.prevState = obj.setActiveSlide;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'forgotUsernameSection':\n\t\t\t\t\t$state.go('username', null, { notify: false });\n\t\t\t\t\tdocument.title = 'Forgot Username';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'forgotPasswordSection':\n\t\t\t\t\t$state.go('password', null, { notify: false });\n\t\t\t\t\tdocument.title = 'Forgot Password';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'resetPasswordSection':\n\t\t\t\t\t$state.go('resetpassword', null, { notify: false });\n\t\t\t\t\tdocument.title = 'Reset Password';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'intrastateSection':\n\t\t\t\t\t$state.go('intrastate', null, { notify: false });\n\t\t\t\t\tdocument.title = 'Intrastate';\n\t\t\t\t\tscope.prevState = obj.setActiveSlide;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'canadianSection':\n\t\t\t\t\t$state.go('canadian', null, { notify: false });\n\t\t\t\t\tdocument.title = 'Canadian Carrier';\n\t\t\t\t\tscope.prevState = obj.setActiveSlide;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'multipleCarriersSection':\n\t\t\t\t\t$state.go('selectcarrier', null, { notify: false });\n\t\t\t\t\tdocument.title = 'Select Carrier';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'confirmCompanySection':\n\t\t\t\t\t$state.go('confirmCompany', null, { notify: false });\n\t\t\t\t\tdocument.title = 'Confirm Company';\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\t$state.go('login', null, { notify: false });\n\t\t\t\t\tdocument.title = 'Login';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (obj.modalMessage) {\n\t\t\t\tscope.m.modalMessage = obj.modalMessage;\n\t\t\t} else {\n\t\t\t\tscope.m.modalMessage = '';\n\t\t\t}\n\t\t\tif (obj.modalTitle) {\n\t\t\t\tscope.m.modalTitle = obj.modalTitle;\n\t\t\t} else {\n\t\t\t\tscope.m.modalTitle = '';\n\t\t\t}\n\t\t\tif (obj.dotNumber) {\n\t\t\t\tdata.dotNumber = obj.dotNumber;\n\t\t\t}\n\t\t\tif (obj.state) {\n\t\t\t\tdata.state = obj.state;\n\t\t\t}\n\t\t\tif (obj.intrastateNumber) {\n\t\t\t\tdata.intrastateNumber = obj.intrastateNumber;\n\t\t\t}\n\t\t\tif (obj.province) {\n\t\t\t\tdata.province = obj.province;\n\t\t\t}\n\t\t\tif (obj.nationalSafetyNumber) {\n\t\t\t\tdata.nationalSafetyNumber = obj.nationalSafetyNumber;\n\t\t\t}\n\t\t\tif (obj.docketNumber) {\n\t\t\t\tdata.docketNumber = obj.docketNumber;\n\t\t\t}\n\t\t\tif (obj.carrierList) {\n\t\t\t\tdata.carrierList = obj.carrierList;\n\t\t\t\tscope.carrierList = data.carrierList;\n\t\t\t}\n\t\t\tif (obj.numberText) {\n\t\t\t\tdata.numberText = obj.numberText;\n\t\t\t\tscope.numberText = data.numberText;\n\t\t\t}\n\t\t\tif (obj.searchNumber) {\n\t\t\t\tdata.searchNumber = obj.searchNumber;\n\t\t\t\tscope.searchNumber = data.searchNumber;\n\t\t\t}\n\t\t}\n\n\t\tfunction setActiveSlide(slide) {\n\n\t\t\tscope.m.activeSlide = slide;\n\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_CHANGE_WELCOME_VIEW,\n\t\t\t\t{\n\t\t\t\t\tsetActiveSlide: slide,\n\t\t\t\t\tmodalMessage: '',\n\t\t\t\t\tmodalTitle: ''\n\t\t\t\t});\n\n\t\t}\n\n\t\tfunction onDoaminDataLoad() {\n\t\t\tscope.m.domain = sessionService.getDomain();\n\t\t\tscope.m.logoURL = sessionService.getBrokerLogoURL();\n\t\t\tvar brokerInfo = sessionService.getBrokerBranding();\n\t\t\tscope.m.name = brokerInfo.brokerName;\n\t\t\tscope.m.welcomeMessageDisabled = brokerInfo.welcomeMessageDisabled;\n\t\t}\n\n\t\tfunction forgotUsername() {\n\t\t\tsetActiveSlide('forgotUsernameSection');\n\t\t}\n\n\t\tfunction forgotPassword() {\n\t\t\tsetActiveSlide('forgotPasswordSection');\n\t\t}\n\n\t\tfunction clearModalMessage() {\n\t\t\tscope.m.modalMessage = '';\n\t\t\tscope.m.modalTitle = '';\n\t\t\tscope.m.modalIsError = false;\n\t\t}\n\t}\n\n})();\n","angular.module('onboarding.services',\n\t[\n\t]);\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.services')\n\t\t.factory('authenticationService', authenticationService);\n\n\n\tvar subjectObserverMessagesService, observerService, subjectMessages;\n\n\tauthenticationService\n\t\t.$inject = ['$rootScope', '$http', '$log', 'subjectObserverMessagesService', 'observerService', '$window'];\n\n\tfunction authenticationService($rootScope, $http, $log, _subjectObserverMessagesService_, _observerService_, $window) {\n\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\n\t\treturn {\n\t\t\tisAuthorized: isAuthorized,\n\t\t\tisAuthorizedBrokerRead: isAuthorizedBrokerRead,\n\t\t\tlogout: logout,\n\t\t\tgetUserInfo: getUserInfo,\n\t\t\tgetApplicationLinks: getApplicationLinks,\n\t\t\tchangePassword: changePassword,\n\t\t\tgetUserId: getUserId,\n\t\t\tvalidateCarrierEmail: validateCarrierEmail,\n\t\t\tresetPasswordByEmail: resetPasswordByEmail,\n\t\t\tresetPassword: resetPassword,\n\t\t\tisAuthenticated: isAuthenticated,\n\t\t\tgetLogoutUrl: getLogoutUrl\n\t\t};\n\n\n\t\tfunction logout() {\n\t\t\tvar baseUrl = $window.location.origin + '/',\n\t\t\t\tlogoutUrl = 'logout';\n\t\t\t$rootScope.sessionService.destroy();\n\t\t\t$window.location.replace(baseUrl + logoutUrl);\n\t\t}\n\n\t\tfunction getLogoutUrl() {\n\t\t\treturn $window.location.origin + '/' + 'logout';\n\t\t}\n\n\t\tfunction getUserInfo(scope) {\n\t\t\treturn $http\n\t\t\t\t.get('/api/authentication/getuserinfo')\n\t\t\t\t.then(function(res) {\n\t\t\t\t\t$rootScope.sessionService.create(res.data);\n\n\t\t\t\t\treturn res;\n\t\t\t\t})\n\t\t\t\t.catch(function(e) {\n\t\t\t\t\tobserverService\n\t\t\t\t\t\t.sendMessageToSubject(scope, subjectMessages.COB_OBSERVER_LOGIN_FINISHED_FAIL, e.data);\n\t\t\t\t\tif (e.status === 403) {\n\t\t\t\t\t\tlogout();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\n\t\tfunction getApplicationLinks() {\n\t\t\treturn $http.get('/api/authentication/applicationlinks');\n\t\t}\n\n\t\tfunction changePassword(password) {\n\t\t\tvar request = {\n\t\t\t\tPassword: password\n\t\t\t};\n\n\t\t\treturn $http.put('/api/brokersettings/password', request);\n\t\t}\n\n\t\tfunction validateCarrierEmail(emailAddress) {\n\t\t\treturn $http.get('/api/authentication/validateCarrierEmail', { params: { emailAddress: emailAddress } });\n\t\t}\n\n\t\tfunction getUserId(emailAddress, countryCode, postalCode) {\n\t\t\treturn $http.get('/api/authentication/getUserId',\n\t\t\t\t{ params: { emailAddress: emailAddress, countryCode: countryCode, postalCode: postalCode } });\n\t\t}\n\n\t\tfunction resetPasswordByEmail(userName) {\n\t\t\treturn $http.get('/api/authentication/resetPasswordByEmail',\n\t\t\t\t{ params: { userName: userName } });\n\t\t}\n\n\t\tfunction resetPassword(password, encodedKey) {\n\t\t\treturn $http.put('/api/authentication/resetPassword',\n\t\t\t\t{ password: password, encodedKey: encodedKey });\n\t\t}\n\n\t\tfunction isAuthorized(capability) {\n\t\t\treturn (authenticationService.isAuthenticated() &&\n $rootScope.sessionService.getCapabilities().indexOf(capability) !== -1);\n\t\t}\n\n\t\tfunction isAuthenticated() {\n\t\t\treturn $rootScope.sessionService.getUserName() !== null;\n\t\t}\n\n\t\tfunction isAuthorizedBrokerRead() {\n\t\t\treturn $rootScope.sessionService.isAuthorizedBrokerRead();\n\t\t}\n\n\t}\n})();\n","'use strict';\n(function() {\n\tangular.module('onboarding.services')\n\t\t.factory('brokerSettingsService', brokerSettingsService);\n\n\tbrokerSettingsService.$inject = ['$http', '$stateParams', 'sessionService'];\n\n\tfunction brokerSettingsService($http, $stateParams, sessionService) {\n\n\t\tvar SEGMENT_TYPES = {\n\t\t\t'image': 'Image',\n\t\t\t'insuranceMessage': 'InsuranceMessage',\n\t\t\t'welcomeMessage': 'WelcomeMessage',\n\t\t\t'contractMessage': 'ContractMessage',\n\t\t\t'documentsMessage': 'DocumentsMessage',\n\t\t\t'signedMessage': 'SignedMessage', \n\t\t};\n\n\t\treturn {\n\t\t\tgetBrokerSettings: getBrokerSettings,\n\t\t\tsetBrokerNotificationSettings: setBrokerNotificationSettings,\n\t\t\tupdateBrokerPassword: updateBrokerPassword,\n\t\t\tupdateLogo: updateLogo,\n\t\t\tupdateMessage: updateMessage\n\t\t};\n\n\n\t\tfunction getBrokerSettings() {\n\t\t\tvar broker = sessionService.getBrokerImpersonated();\n\t\t\tvar brokderDomain = broker.domain === undefined ? '' : broker.domain;\n\n\n\t\t\treturn $http.get('/api/brokersettings/brokersettings', { params: { domain: brokderDomain } });\n\t\t}\n\n\t\tfunction setBrokerNotificationSettings(request) {\n\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\treturn $http.post('/api/brokersettings/notificationsettings', request);\n\t\t}\n\n\t\tfunction updateBrokerPassword(request) {\n\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\treturn $http.put('/api/brokerlookup/updateBrokerPassword', request);\n\t\t}\n\n\t\tfunction updateLogo(imageFile, imageMimeType, fileName, fileExtension) {\n\t\t\tvar request = {\n\t\t\t\tsegmentType: SEGMENT_TYPES.image,\n\t\t\t\tsegmentData: imageFile,\n\t\t\t\tmimeType: imageMimeType,\n\t\t\t\tfileName: fileName,\n\t\t\t\tfileExtension: fileExtension\n\t\t\t};\n\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\treturn $http.put('/api/brokersettings/brokerhomepagesegment', request);\n\t\t}\n\n\t\tfunction updateMessage(segmentType, message, disabled) {\n\t\t\tvar request = {\n\t\t\t\tsegmentType: SEGMENT_TYPES[segmentType],\n\t\t\t\tsegmentData: message,\n\t\t\t\tmimeType: 'text/html',\n\t\t\t\tdisabled: disabled\n\t\t\t};\n\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\treturn $http.put('/api/brokersettings/brokerhomepagesegment', request);\n\t\t}\n\n\t\tfunction brokerImpersonationHelper(request) {\n\t\t\tif ($stateParams.brokerId) {\n\t\t\t\tif (!request) {\n\t\t\t\t\trequest = {};\n\t\t\t\t}\n\t\t\t\trequest.brokerId = $stateParams.brokerId;\n\t\t\t}\n\n\t\t\treturn request;\n\t\t}\n\t}\n})();\n","'use strict';\n(function() {\n\tangular.module('onboarding.services')\n\t\t.factory('carrierService', carrierService);\n\n\tcarrierService.$inject = [\n\t\t'$http', '$log', '$stateParams'\n\t];\n\n\tfunction\n\tcarrierService($http, $log, $stateParams) {\n\n\t\treturn {\n\t\t\tgetCarriers: getCarriers,\n\t\t\tupdateCarrierNote: updateCarrierNote,\n\t\t\tdeleteCarrierNote: deleteCarrierNote,\n\t\t\tupdateCarrierStatus: updateCarrierStatus,\n\t\t\tgetCarrierPrimaryContact: getCarrierPrimaryContact,\n\t\t\tsearchCarriers: searchCarriers,\n\t\t\texportCarriers: exportCarriers,\n\t\t\texportAllCarriers: exportAllCarriers,\n\t\t\tgetCarrierDetails: getCarrierDetails\n\t\t};\n\n\t\tfunction exportCarriers(carriers) {\n\t\t\tvar request = {\n\t\t\t\tcarriers: carriers\n\t\t\t};\n\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\treturn $http.post('/api/carrierlookup/exportcarriers', request);\n\t\t}\n\n\t\tfunction exportAllCarriers(filter) {\n\n\t\t\treturn $http.get('/api/carrierlookup/exportallcarriers',\n\t\t\t\t{ params: { filter: filter, brokerId: $stateParams.brokerId } });\n\n\t\t}\n\n\t\tfunction updateCarrierStatus(carriers) {\n\t\t\tvar request = {\n\t\t\t\tcarriers: carriers\n\t\t\t};\n\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\treturn $http.put('/api/carrierlookup/associatedcarrierstatus', request);\n\n\t\t}\n\n\t\tfunction getCarriers(filter, startRow, carrierCount, sortColumn, isSortDescending, showRowCount) {\n\t\t\tvar request = {\n\t\t\t\tfilter: filter,\n\t\t\t\tstartRow: startRow,\n\t\t\t\tcarrierCount: carrierCount,\n\t\t\t\tsortColumn: sortColumn,\n\t\t\t\tisSortDescending: isSortDescending,\n\t\t\t\tshowRowCount: showRowCount\n\t\t\t};\n\n\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\treturn $http.post('/api/carrierlookup/associatedcarriers', request);\n\t\t}\n\n\t\tfunction updateCarrierNote(carrierId, note) {\n\t\t\tvar request = {\n\t\t\t\tCarrierId: carrierId,\n\t\t\t\tIsDelete: false,\n\t\t\t\tNotes: note\n\t\t\t};\n\n\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\treturn $http.put('/api/carrierlookup/carriernotes', request);\n\t\t}\n\n\t\tfunction deleteCarrierNote(carrierId) {\n\t\t\tvar request = {\n\t\t\t\tcarrierId: carrierId\n\t\t\t};\n\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\treturn $http.put('/api/carrierlookup/deletecarriernotes', request);\n\t\t}\n\n\t\tfunction getCarrierPrimaryContact(carrierId) {\n\t\t\treturn $http.get('/api/carrierlookup/carrierprimarycontact',\n\t\t\t\t{ params: { carrierId: carrierId, brokerId: $stateParams.brokerId } });\n\t\t}\n\n\t\tfunction searchCarriers(searchValue,\n\t\t\tsearchValue2,\n\t\t\tsearchType,\n\t\t\tstartRow,\n\t\t\tcarrierCount,\n\t\t\tsortColumn,\n\t\t\tisSortDescending,\n\t\t\tshowRowCount) {\n\n\t\t\tif (searchType === 'timeFrame') {\n\n\t\t\t\tvar request = {\n\t\t\t\t\tfilter: '',\n\t\t\t\t\tfromDate: searchValue,\n\t\t\t\t\ttoDate: searchValue2,\n\t\t\t\t\tstartRow: startRow,\n\t\t\t\t\tcarrierCount: carrierCount,\n\t\t\t\t\tsortColumn: sortColumn,\n\t\t\t\t\tisSortDescending: isSortDescending,\n\t\t\t\t\tshowRowCount: showRowCount\n\t\t\t\t};\n\n\t\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\t\treturn $http.post('/api/carrierlookup/associatedcarriers', request);\n\t\t\t} else {\n\t\t\t\trequest = {\n\t\t\t\t\tsearchValue: searchValue,\n\t\t\t\t\tsearchType: searchType,\n\t\t\t\t\tstartRow: startRow,\n\t\t\t\t\tcarrierCount: carrierCount,\n\t\t\t\t\tsortColumn: sortColumn,\n\t\t\t\t\tisSortDescending: isSortDescending,\n\t\t\t\t\tshowRowCount: showRowCount\n\t\t\t\t};\n\n\t\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\t\treturn $http.post('/api/carrierlookup/searchassociatedcarriers', request);\n\t\t\t}\n\t\t}\n\n\t\tfunction brokerImpersonationHelper(request) {\n\t\t\tif ($stateParams.brokerId) {\n\t\t\t\trequest.brokerId = $stateParams.brokerId;\n\t\t\t}\n\n\t\t\treturn request;\n\t\t}\n\n\t\tfunction getCarrierDetails(carrierId, brokerId) {\n\t\t\treturn $http.get('/api/carrierlookup/carrierAssociation', { params: { carrierId: carrierId, brokerId: brokerId } });\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function () {\n\tangular.module('onboarding.services')\n\t\t.factory('carrierDocumentsService', carrierDocumentsService);\n\n\tvar extensionErrorMessage = 'Document format is invalid. Please make sure to upload file in the following format: .doc, .docx, .gif, .jpeg, .jpg, .pdf, .png, .tif, .tiff, .xls, or .xlsx.';\n\tvar maxFileSizeErrorMessage = 'Document is too large for upload. Only files under 10mb allowed. Please make sure to select file under 10mb.';\n\tvar documentIsEmpty = 'Your document is empty. Please make sure to select valid document.';\n\tvar sameNameErrorMessage = 'Document with same name already uploaded. Please give this document a unique name, and then upload again.';\n\n\tvar carrierRegistrationService,\n\t\tngFileUpload;\n\n\tcarrierDocumentsService.$inject = ['carrierRegistrationService', 'Upload'];\n\n\tfunction carrierDocumentsService(_carrierRegistrationService_, _ngFileUpload_) {\n\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\tngFileUpload = _ngFileUpload_;\n\t\t\n\t\treturn {\n\t\t\tvalidateFile: validateFile,\n\t\t\tvalidateFleetDocument: validateFleetDocument,\n\t\t\tgetBase64DataUrl: getBase64DataUrl,\n\t\t\tgetResult: getResult,\n\t\t\tgetDocumentsByType: getDocumentsByType,\n\t\t\tuploadDocument: uploadDocument,\n\t\t\teditDocument: editDocument\n\t\t};\n\n\t\tfunction validateFile(file) {\n\t\t\tif (!file) {\n\t\t\t\treturn getResult(false, 'File is invalid.');\n\t\t\t}\n\n\t\t\tvar validMimeTypes = [\n\t\t\t\t'application/pdf', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n\t\t\t\t'application/msword', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n\t\t\t\t'application/vnd.ms-excel', 'application/vnd.ms-word', 'image/tiff', 'image/png', 'image/jpeg',\n\t\t\t\t'image/gif'\n\t\t\t];\n\n\t\t\tif (validMimeTypes.indexOf(file.type) === -1) {\n\t\t\t\treturn getResult(false, extensionErrorMessage);\n\t\t\t}\n\n\t\t\tif (file.size >= 10485760) {\n\t\t\t\treturn getResult(false, maxFileSizeErrorMessage);\n\t\t\t}\n\n\t\t\tif (file.size === 0) {\n\t\t\t\treturn getResult(false, documentIsEmpty);\n\t\t\t}\n\n\t\t\treturn getResult(true);\n\t\t}\n\n\t\tfunction validateFleetDocument(loadedFiles, file) {\n\t\t\tvar validationResult = validateFile(file);\n\t\t\tif (!validationResult.succeeded) {\n\t\t\t\treturn validationResult;\n\t\t\t}\n\n\t\t\tif (loadedFiles && loadedFiles.some(function(doc) { return doc.documentName == file.name; } )) {\n\t\t\t\treturn getResult(false, sameNameErrorMessage);\n\t\t\t}\n\n\t\t\treturn getResult(true);\n\t\t}\n\n\t\tfunction uploadDocument(file, carrierId) {\n\t\t\tif (file.base64 && file.documentName) {\n\t\t\t\tvar fileName = file.documentName;\n\t\t\t\tvar fileExtension = fileName.split('.').pop();\n\t\t\t\tfileName = fileName.substring(0, fileName.length - (fileExtension.length + 1)); //trim off extension\n\n\t\t\t\treturn carrierRegistrationService.insertCarrierDocument(fileName,\n\t\t\t\t\tfileExtension,\n\t\t\t\t\tfile.mimeType,\n\t\t\t\t\tfile.base64,\n\t\t\t\t\tfile.description,\n\t\t\t\t\tfile.documentType,\n\t\t\t\t\tfile.documentName,\n\t\t\t\t\tcarrierId);\n\t\t\t}\n\t\t}\n\n\t\tfunction editDocument(document, carrierId) {\n\t\t\tif (document.documentName) {\n\t\t\t\tif (!document.documentStatus) {\n\t\t\t\t\tdocument.documentStatus = 'ACTIVE';\n\t\t\t\t}\n\n\t\t\t\treturn carrierRegistrationService.updateCarrierDocument(document.documentId,\n\t\t\t\t\tdocument.description,\n\t\t\t\t\tdocument.documentType,\n\t\t\t\t\tdocument.documentName,\n\t\t\t\t\tdocument.documentStatus,\n\t\t\t\t\tcarrierId);\n\t\t\t}\n\t\t}\n\n\t\tfunction getBase64DataUrl(file) {\n\t\t\treturn ngFileUpload.base64DataUrl(file, false);\n\t\t}\n\n\t\tfunction getResult(succeeded, errorMessage) {\n\t\t\treturn {\n\t\t\t\tsucceeded: succeeded,\n\t\t\t\terrorMessage: errorMessage || ''\n\t\t\t};\n\t\t}\n\n\t\tfunction getDocumentsByType(documents, type) {\n\t\t\tvar docs = [];\n\t\t\tfor (var i = 0; i < documents.length; i++) {\n\t\t\t\tif (documents[i].documentType === type) {\n\t\t\t\t\tdocs.push(documents[i]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn docs;\n\t\t}\n\t}\n})();\n","'use strict';\n(function () {\n\tangular.module('onboarding.services')\n\t\t.factory('carrierRegistrationService', carrierRegistrationService);\n\n\tcarrierRegistrationService.$inject = ['$http'];\n\n\tfunction carrierRegistrationService($http) {\n\n\t\tvar _carrier = {};\n\n\t\treturn {\n\t\t\tvalidateDotNumber: validateDotNumber,\n\t\t\tvalidateIntrastateCode: validateIntrastateCode,\n\t\t\tgetCarrier: getCarrier,\n\t\t\tsetCarrier: setCarrier,\n\t\t\tregisterCarrier: registerCarrier,\n\t\t\tlookupCarrierCompanyInfo: lookupCarrierCompanyInfo,\n\t\t\tupdateCarrierCompanyInfo: updateCarrierCompanyInfo,\n\t\t\tlookupCarrierFleetServices: lookupCarrierFleetServices,\n\t\t\tupdateEquipmentInfo: updateEquipmentInfo,\n\t\t\tlookupPreferredAreasLanes: lookupPreferredAreasLanes,\n\t\t\tupdatePreferredLanes: updatePreferredLanes,\n\t\t\tupdatePreferredAreas: updatePreferredAreas,\n\t\t\tlookupCarrierDocuments: lookupCarrierDocuments,\n\t\t\tlookupCarrierDocumentFile: lookupCarrierDocumentFile,\n\t\t\tinsertCarrierDocument: insertCarrierDocument,\n\t\t\tupdateCarrierDocument: updateCarrierDocument,\n\t\t\tlookupContactsReferences: lookupContactsReferences,\n\t\t\tupdateCarrierContact: updateCarrierContact,\n\t\t\tupdateCarrierReferences: updateCarrierReferences,\n\t\t\tgetCarrierTaxInfo: getCarrierTaxInfo,\n\t\t\tupdateW8TaxInformation: updateW8TaxInformation,\n\t\t\tupdateW9TaxInformation: updateW9TaxInformation,\n\t\t\tlookupInsuranceInformation: lookupInsuranceInformation,\n\t\t\tsubmitRegistryInsuranceInfo: submitRegistryInsuranceInfo,\n\t\t\tupdateDobInsurance: updateDobInsurance,\n\t\t\tlookupCarrierStatus: lookupCarrierStatus,\n\t\t\tvisitedSection: visitedSection,\n\t\t\tlookupContractsAndSignatures: lookupContractsAndSignatures,\n\t\t\tsignStandardContract: signStandardContract,\n\t\t\tsignAssuresignContract: signAssuresignContract,\n\t\t\tsendProfileCompleteNotification: sendProfileCompleteNotification,\n\t\t\tlookupUrlsByCategory: lookupUrlsByCategory,\n\t\t\tlookupBrokers: lookupBrokers,\n\t\t\tlookupSignatures: lookupSignatures,\n\t\t\tupdateCarrierPassword: updateCarrierPassword,\n\t\t\tupdateCarrierEmail: updateCarrierEmail,\n\t\t\tlookupCarrierProfileModal: lookupCarrierProfileModal,\n\t\t\tshareDocuments: shareDocuments,\n\t\t\tfacsimileSignatures: facsimileSignatures\n\t\t};\n\t\tfunction lookupCarrierProfileModal(carrierId){\n\t\t\treturn $http.get('/api/carriersettings/profile', { params: { carrierId: carrierId } });\n\t\t}\n\t\tfunction updateCarrierPassword(password, carrierId){\n\t\t\tvar request = {\n\t\t\t\tnewValue : password\n\t\t\t};\n\t\t\tif (carrierId) {\n\t\t\t\trequest.carrierId = carrierId;\n\t\t\t} else {\n\t\t\t\trequest.carrierId = -1;\n\t\t\t}\n\n\t\t\treturn $http.post('/api/carriersettings/changepassword', request);\n\t\t}\n\n\t\tfunction updateCarrierEmail(email, carrierId){\n\t\t\tvar request = {\n\t\t\t\tnewValue : email\n\t\t\t};\n\t\t\tif (carrierId) {\n\t\t\t\trequest.carrierId = carrierId;\n\t\t\t} else {\n\t\t\t\trequest.carrierId = -1;\n\t\t\t}\n\n\t\t\treturn $http.post('/api/carriersettings/changeemail', request);\n\t\t}\n\t\n\t\tfunction validateDotNumber(dotNumber) {\n\t\t\treturn $http.get('/api/carrierregistration/validateDotNumber', { params: { dotNumber: dotNumber } });\n\t\t}\n\n\t\tfunction validateIntrastateCode(intrastateState, intrastateCode) {\n\t\t\treturn $http.get('/api/carrierregistration/validateIntrastateCode',\n\t\t\t\t{ params: { intrastateState: intrastateState, intrastateCode: intrastateCode } });\n\t\t}\n\n\t\tfunction getCarrier() {\n\t\t\treturn _carrier;\n\t\t}\n\n\t\tfunction setCarrier(carrier) {\n\t\t\t_carrier = carrier;\n\t\t}\n\n\t\tfunction registerCarrier(tcoreId, firstName, lastName, title, phoneNumber, phoneExt, email, password) {\n\t\t\tvar request = {\n\t\t\t\ttcoreId: tcoreId,\n\t\t\t\tfirstName: firstName,\n\t\t\t\tlastName: lastName,\n\t\t\t\ttitle: title,\n\t\t\t\tphoneNumber: phoneNumber,\n\t\t\t\tphoneExt: phoneExt,\n\t\t\t\temail: email,\n\t\t\t\tpassword: password\n\t\t\t};\n\n\t\t\treturn $http.post('/api/carrierregistration/registerCarrier', request);\n\t\t}\n\n\t\tfunction lookupCarrierCompanyInfo(carrierId) {\n\t\t\tif (carrierId) {\n\t\t\t\treturn $http.get('/api/carrierregistration/lookupCarrierCompanyInfo',\n\t\t\t\t\t{ params: { carrierId: carrierId } });\n\t\t\t} else {\n\t\t\t\treturn $http.get('/api/carrierregistration/lookupCarrierCompanyInfo');\n\t\t\t}\n\t\t}\n\n\t\tfunction lookupCarrierFleetServices(carrierId) {\n\t\t\tif (carrierId > -1) {\n\t\t\t\treturn $http.get('/api/carrierregistration/lookupCarrierEquipment',\n\t\t\t\t\t{ params: { carrierId: carrierId } });\n\t\t\t} else {\n\t\t\t\treturn $http.get('/api/carrierregistration/lookupCarrierEquipment');\n\t\t\t}\n\t\t}\n\n\t\tfunction updateCarrierCompanyInfo(carrierId,\n\t\t\tcompanyType,\n\t\t\tyearFounded,\n\t\t\tSCAC,\n\t\t\tisWomanOwned,\n\t\t\tisVeteranOwned,\n\t\t\tisDisabledVeteranOwned,\n\t\t\tisMinorityOwned,\n\t\t\tminorityType,\n\t\t\tisNmsdcCertified,\n\t\t\tregionalCouncil,\n\t\t\tcertificationNumber,\n\t\t\tphysicalAddress,\n\t\t\tmailingAddressSameAsPhysicalAddress,\n\t\t\tmailingAddress,\n\t\t\tremitToAddressSameAsPhysicalAddress,\n\t\t\tremitToAddressSameAsMailingAddress,\n\t\t\tremitToName,\n\t\t\tremitToAddress,\n\t\t\tinterestInQuickPay,\n\t\t\tisFactoring) {\n\n\n\t\t\tif (typeof SCAC === 'string') {\n\t\t\t\tSCAC = SCAC.split(/, ?/);\n\t\t\t}\n\n\t\t\tvar requestPhysicalAddress =\n\t\t\t{\n\t\t\t\tstreet: physicalAddress.street,\n\t\t\t\tcity: physicalAddress.city,\n\t\t\t\tstateProvince: physicalAddress.stateProvince,\n\t\t\t\tpostalCode: physicalAddress.postalCode,\n\t\t\t\tphoneNumber: physicalAddress.phoneNumber,\n\t\t\t\tphoneExtension: physicalAddress.phoneExt,\n\t\t\t\tcountryCode: physicalAddress.countryCode\n\t\t\t};\n\t\t\tif (typeof requestPhysicalAddress.postalCode === 'string')\n\t\t\t\tvar requestMailingAddress =\n\t\t\t\t{\n\t\t\t\t\tstreet: mailingAddress.street,\n\t\t\t\t\tcity: mailingAddress.city,\n\t\t\t\t\tstateProvince: mailingAddress.stateProvince,\n\t\t\t\t\tpostalCode: mailingAddress.postalCode,\n\t\t\t\t\tphoneNumber: mailingAddress.phoneNumber,\n\t\t\t\t\tphoneExtension: mailingAddress.phoneExt,\n\t\t\t\t\tcountryCode: mailingAddress.countryCode\n\t\t\t\t};\n\t\t\tif (typeof requestMailingAddress.postalCode === 'string') {\n\t\t\t\t//requestMailingAddress.postalCode = requestMailingAddress.postalCode = requestMailingAddress.postalCode.replace(/-/g, '');\n\t\t\t} else requestMailingAddress = null;\n\n\t\t\tvar requesRemitToAddress =\n\t\t\t{\n\t\t\t\tstreet: remitToAddress.street,\n\t\t\t\tcity: remitToAddress.city,\n\t\t\t\tstateProvince: remitToAddress.stateProvince,\n\t\t\t\tpostalCode: remitToAddress.postalCode,\n\t\t\t\tphoneNumber: remitToAddress.phoneNumber,\n\t\t\t\tphoneExtension: remitToAddress.phoneExt,\n\t\t\t\tcountryCode: remitToAddress.countryCode\n\t\t\t};\n\t\t\tif (typeof requesRemitToAddress.postalCode === 'string') {\n\t\t\t\t//requesRemitToAddress.postalCode = requesRemitToAddress.postalCode.replace(/-/g, '');\n\t\t\t} else\n\t\t\t\trequesRemitToAddress = null;\n\n\t\t\tvar request = {\n\t\t\t\tcompanyType: companyType,\n\t\t\t\tyearFounded: yearFounded,\n\t\t\t\tSCAC: SCAC,\n\t\t\t\tisWomanOwned: isWomanOwned,\n\t\t\t\tisVeteranOwned: isVeteranOwned,\n\t\t\t\tisDisabledVeteranOwned: isDisabledVeteranOwned,\n\t\t\t\tisMinorityOwned: isMinorityOwned,\n\t\t\t\tminorityType: minorityType,\n\t\t\t\tisNmsdcCertified: isNmsdcCertified,\n\t\t\t\tregionalCouncil: regionalCouncil,\n\t\t\t\tcertificationNumber: certificationNumber,\n\t\t\t\tphysicalAddress: requestPhysicalAddress,\n\t\t\t\tmailingAddressSameAsPhysicalAddress: mailingAddressSameAsPhysicalAddress,\n\t\t\t\tmailingAddress: requestMailingAddress,\n\t\t\t\tremitToAddressSameAsPhysicalAddress: remitToAddressSameAsPhysicalAddress,\n\t\t\t\tremitToAddressSameAsMailingAddress: remitToAddressSameAsMailingAddress,\n\t\t\t\tremitToName: remitToName,\n\t\t\t\tremitToAddress: requesRemitToAddress,\n\n\t\t\t\tinterestInQuickPay: interestInQuickPay,\n\t\t\t\tisFactoring: isFactoring\n\t\t\t};\n\n\t\t\tif (carrierId > -1)\n\t\t\t\trequest.carrierId = carrierId;\n\n\t\t\treturn $http.post('/api/carrierregistration/carrierCompanyInfo', request);\n\t\t}\n\n\t\tfunction updateEquipmentInfo(carrierId,\n\t\t\thasNoTrailers,\n\t\t\tisInternational,\n\t\t\thasDangerousGoods,\n\t\t\thasSecurityCerts,\n\t\t\thasEnvironmentalCerts,\n\t\t\thasLtlCapabilities,\n\t\t\tnumberOfPowerUnits,\n\t\t\tnumberOfTeams,\n\t\t\tnumberOfOwnerOperators,\n\t\t\tnumberOfCompanyDrivers,\n\t\t\tcommunicationType,\n\t\t\ttrailers,\n\t\t\thasAirRide,\n\t\t\thasVented,\n\t\t\thasHotshot,\n\t\t\thasCurtains,\n\t\t\thasInsulated,\n\t\t\thasConestoga,\n\t\t\thasCoilRacks,\n\t\t\thasContainerLocks,\n\t\t\thasTarps,\n\t\t\thasEtrac,\n\t\t\thasGarmentRacks,\n\t\t\thasPadWrap,\n\t\t\thasStraps,\n\t\t\thasChains,\n\t\t\tisHazmatCertified,\n\t\t\tisRadioactiveCertified,\n\t\t\tisResponsibileCare,\n\t\t\tisAceCertified,\n\t\t\tisCtpatMember,\n\t\t\tisTwicCardholder,\n\t\t\tisTsaRegistered,\n\t\t\tisSmartwayCarrier,\n\t\t\thasCarbCompliantTrucks,\n\t\t\tisCarbCompliantTru,\n\t\t\tdoesParcels,\n\t\t\tisUpsCarrier,\n\t\t\thasLtlCapabilties,\n\t\t\thasExpeditedGround,\n\t\t\tdoesMultipleStops,\n\t\t\thandlesRailDryage,\n\t\t\thandlesPortDryage,\n\t\t\thandlesAirFreightCartage,\n\t\t\thandlesEdi,\n\t\t\thasSpottedTrailers,\n\t\t\thandlesOversizeLoads,\n\t\t\tdoesTrailerInterchange,\n\t\t\tdoesPalletExchange,\n\t\t\tdoesBrokerage,\n\t\t\totherServices,\n\t\t\tairports,\n\t\t\tports,\n\t\t\thasDropOffPort) {\n\n\n\t\t\tvar request = {\n\t\t\t\tcarrierId: carrierId,\n\t\t\t\thasNoTrailers: hasNoTrailers,\n\t\t\t\tisInternational: isInternational,\n\t\t\t\thasDangerousGoods: hasDangerousGoods,\n\t\t\t\thasSecurityCerts: hasSecurityCerts,\n\t\t\t\thasEnvironmentalCerts: hasEnvironmentalCerts,\n\t\t\t\thasLtlCapabilities: hasLtlCapabilities,\n\t\t\t\thasDropOffPort: hasDropOffPort,\n\t\t\t\tequipment: {\n\t\t\t\t\tnumberOfPowerUnits: numberOfPowerUnits,\n\t\t\t\t\tnumberOfTeams: numberOfTeams,\n\t\t\t\t\tnumberOfOwnerOperators: numberOfOwnerOperators,\n\t\t\t\t\tnumberOfCompanyDrivers: numberOfCompanyDrivers,\n\t\t\t\t\tcommunicationType: communicationType,\n\t\t\t\t\ttrailers: trailers,\n\t\t\t\t\thasAirRide: hasAirRide,\n\t\t\t\t\thasVented: hasVented,\n\t\t\t\t\thasHotshot: hasHotshot,\n\t\t\t\t\thasCurtains: hasCurtains,\n\t\t\t\t\thasInsulated: hasInsulated,\n\t\t\t\t\thasConestoga: hasConestoga,\n\t\t\t\t\thasCoilRacks: hasCoilRacks,\n\t\t\t\t\thasContainerLocks: hasContainerLocks,\n\t\t\t\t\thasTarps: hasTarps,\n\t\t\t\t\thasEtrac: hasEtrac,\n\t\t\t\t\thasGarmentRacks: hasGarmentRacks,\n\t\t\t\t\thasPadWrap: hasPadWrap,\n\t\t\t\t\thasStraps: hasStraps,\n\t\t\t\t\thasChains: hasChains\n\t\t\t\t},\n\t\t\t\tservices: {\n\t\t\t\t\tisHazmatCertified: isHazmatCertified,\n\t\t\t\t\tisRadioactiveCertified: isRadioactiveCertified,\n\t\t\t\t\tisResponsibileCare: isResponsibileCare,\n\t\t\t\t\tisAceCertified: isAceCertified,\n\t\t\t\t\tisCtpatMember: isCtpatMember,\n\t\t\t\t\tisTwicCardholder: isTwicCardholder,\n\t\t\t\t\tisTsaRegistered: isTsaRegistered,\n\t\t\t\t\tisSmartwayCarrier: isSmartwayCarrier,\n\t\t\t\t\thasCarbCompliantTrucks: hasCarbCompliantTrucks,\n\t\t\t\t\tisCarbCompliantTru: isCarbCompliantTru,\n\t\t\t\t\tdoesParcels: doesParcels,\n\t\t\t\t\tisUpsCarrier: isUpsCarrier,\n\t\t\t\t\thasLtlCapabilties: hasLtlCapabilties,\n\t\t\t\t\thasExpeditedGround: hasExpeditedGround,\n\t\t\t\t\tdoesMultipleStops: doesMultipleStops,\n\t\t\t\t\thandlesRailDryage: handlesRailDryage,\n\t\t\t\t\thandlesPortDryage: handlesPortDryage,\n\t\t\t\t\thandlesAirFreightCartage: handlesAirFreightCartage,\n\t\t\t\t\thandlesEdi: handlesEdi,\n\t\t\t\t\thasSpottedTrailers: hasSpottedTrailers,\n\t\t\t\t\thandlesOversizeLoads: handlesOversizeLoads,\n\t\t\t\t\tdoesTrailerInterchange: doesTrailerInterchange,\n\t\t\t\t\tdoesPalletExchange: doesPalletExchange,\n\t\t\t\t\tdoesBrokerage: doesBrokerage,\n\t\t\t\t\totherServices: otherServices,\n\t\t\t\t\tairports: airports,\n\t\t\t\t\tports: ports\n\t\t\t\t}\n\t\t\t};\n\n\t\t\treturn $http.post('/api/carrierregistration/updateCarrierEquipment', request);\n\t\t}\n\n\t\tfunction lookupPreferredAreasLanes(carrierId) {\n\t\t\treturn $http.get('/api/carrierregistration/preferredAreasLanes', { params: { carrierId: carrierId } });\n\t\t}\n\n\t\tfunction updatePreferredLanes(originState,\n\t\t\toriginMetroCode,\n\t\t\toriginMetroName,\n\t\t\tdestinationState,\n\t\t\tdestinationMetroCode,\n\t\t\tdestinationMetroName,\n\t\t\tisRemove,\n\t\t\tcarrierId) {\n\t\t\tvar request = {\n\t\t\t\toriginState: originState,\n\t\t\t\toriginMetroCode: originMetroCode,\n\t\t\t\toriginMetroName: originMetroName,\n\t\t\t\tdestinationState: destinationState,\n\t\t\t\tdestinationMetroCode: destinationMetroCode,\n\t\t\t\tdestinationMetroName: destinationMetroName,\n\t\t\t\tisRemove: isRemove\n\t\t\t};\n\n\t\t\tif (carrierId) {\n\t\t\t\trequest.carrierId = carrierId;\n\t\t\t} else {\n\t\t\t\trequest.carrierId = -1;\n\t\t\t}\n\n\t\t\treturn $http.put('/api/carrierregistration/preferredLanes', request);\n\t\t}\n\n\t\tfunction updatePreferredAreas(states, hasMexicoService, carrierId) {\n\t\t\tvar request = {\n\t\t\t\tstates: states,\n\t\t\t\thasMexicoService: hasMexicoService\n\t\t\t};\n\n\t\t\tif (carrierId) {\n\t\t\t\trequest.carrierId = carrierId;\n\t\t\t} else {\n\t\t\t\trequest.carrierId = -1;\n\t\t\t}\n\n\t\t\treturn $http.put('/api/carrierregistration/preferredAreas', request);\n\t\t}\n\n\t\tfunction lookupCarrierDocuments(carrierId) {\n\t\t\treturn $http.get('/api/carrierregistration/carrierDocuments', { params: { carrierId: carrierId } });\n\t\t}\n\n\t\tfunction lookupCarrierDocumentFile(documentId) {\n\t\t\treturn $http.get('/api/carrierregistration/carrierDocument', { params: { documentId: documentId } });\n\t\t}\n\n\t\tfunction insertCarrierDocument(fileName,\n\t\t\tfileExtension,\n\t\t\tmimeType,\n\t\t\tfileContent,\n\t\t\tdescription,\n\t\t\tdocumentType,\n\t\t\tdocumentName,\n\t\t\tcarrierId) {\n\t\t\tvar request = {\n\t\t\t\tfileName: fileName,\n\t\t\t\tfileExtension: fileExtension,\n\t\t\t\tmimeType: mimeType,\n\t\t\t\tfileContent: fileContent,\n\t\t\t\tdescription: description,\n\t\t\t\tdocumentType: documentType,\n\t\t\t\tdocumentName: documentName\n\t\t\t};\n\n\t\t\tif (carrierId) {\n\t\t\t\trequest.carrierId = carrierId;\n\t\t\t}\n\n\t\t\treturn $http.post('/api/carrierregistration/carrierDocument', request);\n\t\t}\n\n\t\tfunction updateCarrierDocument(documentId, description, documentType, documentName, documentStatus, carrierId) {\n\n\t\t\tvar request = {\n\t\t\t\tdocumentId: documentId,\n\t\t\t\tdescription: description,\n\t\t\t\tdocumentType: documentType,\n\t\t\t\tdocumentName: documentName,\n\t\t\t\tdocumentStatus: documentStatus\n\t\t\t};\n\n\t\t\tif (carrierId) {\n\t\t\t\trequest.carrierId = carrierId;\n\t\t\t}\n\n\t\t\treturn $http.put('/api/carrierregistration/carrierDocument', request);\n\t\t}\n\n\t\tfunction lookupContactsReferences(carrierId) {\n\t\t\treturn $http.get('/api/carrierregistration/contactsReferences', { params: { carrierId: carrierId } });\n\t\t}\n\n\t\tfunction updateCarrierReferences(referenceIndex,\n\t\t\taction,\n\t\t\tcompanyName,\n\t\t\tname,\n\t\t\tphoneNumber,\n\t\t\tphoneExtension,\n\t\t\tcarrierId) {\n\n\t\t\tvar request = {\n\t\t\t\treferenceIndex: referenceIndex,\n\t\t\t\taction: action,\n\t\t\t\tcompanyName: companyName,\n\t\t\t\tcontactName: name,\n\t\t\t\tphone: phoneNumber,\n\t\t\t\tphoneExtension: phoneExtension\n\t\t\t};\n\n\t\t\tif (carrierId) {\n\t\t\t\trequest.carrierId = carrierId;\n\t\t\t} else {\n\t\t\t\trequest.carrierId = -1;\n\t\t\t}\n\n\t\t\treturn $http.put('/api/carrierregistration/references', request);\n\t\t}\n\n\t\tfunction updateCarrierContact(action,\n\t\t\tname,\n\t\t\trole,\n\t\t\ttitle,\n\t\t\tphone,\n\t\t\tphoneExtension,\n\t\t\tfax,\n\t\t\temail,\n\t\t\tisPrimary,\n\t\t\tcarrierId) {\n\n\t\t\tvar request = {\n\t\t\t\taction: action,\n\t\t\t\tname: name,\n\t\t\t\trole: role,\n\t\t\t\ttitle: title,\n\t\t\t\tphone: phone,\n\t\t\t\tphoneExtension: phoneExtension,\n\t\t\t\tfax: fax,\n\t\t\t\temail: email,\n\t\t\t\tisPrimary: isPrimary\n\t\t\t};\n\n\t\t\tif (carrierId) {\n\t\t\t\trequest.carrierId = carrierId;\n\t\t\t} else {\n\t\t\t\trequest.carrierId = -1;\n\t\t\t}\n\n\t\t\treturn $http.put('/api/carrierregistration/contacts', request);\n\t\t}\n\n\t\tfunction getCarrierTaxInfo(carrierId) {\n\t\t\tif (!carrierId) {\n\t\t\t\tcarrierId = -1;\n\t\t\t}\n\n\t\t\treturn $http.get('/api/carrierregistration/taxInformation',{ params: { carrierId: carrierId } });\n\t\t}\n\n\t\tfunction updateW8TaxInformation(name,\n\t\t\ttypeOfBeneficialOwner,\n\t\t\taddress,\n\t\t\tcity,\n\t\t\tstate,\n\t\t\tpostalCode,\n\t\t\tcountry,\n\t\t\tmailingAddress,\n\t\t\tmailingCity,\n\t\t\tmailingState,\n\t\t\tmailingPostalCode,\n\t\t\tmailingCountry,\n\t\t\ttin,\n\t\t\tfederalTaxType,\n\t\t\tforeignTaxId,\n\t\t\tforeignTaxIdType,\n\t\t\tcarrierId) {\n\t\t\tvar request = {\n\t\t\t\tname: name,\n\t\t\t\ttypeOfBeneficialOwner: typeOfBeneficialOwner,\n\n\t\t\t\taddress: address,\n\t\t\t\tcity: city,\n\t\t\t\tstate: state,\n\t\t\t\tcountry: country,\n\t\t\t\tpostalCode: postalCode,\n\n\t\t\t\tmailingAddress: mailingAddress,\n\t\t\t\tmailingCity: mailingCity,\n\t\t\t\tmailingState: mailingState,\n\t\t\t\tmailingCountry: mailingCountry,\n\t\t\t\tmailingPostalCode: mailingPostalCode,\n\n\t\t\t\ttin: tin,\n\t\t\t\tfederalTaxIdType: federalTaxType,\n\n\t\t\t\tforeignTaxId: foreignTaxId,\n\t\t\t\tforeignTaxIdType: foreignTaxIdType\n\t\t\t};\n\n\t\t\tif (carrierId) {\n\t\t\t\trequest.carrierId = carrierId;\n\t\t\t} else {\n\t\t\t\trequest.carrierId = -1;\n\t\t\t}\n\n\t\t\treturn $http.put('/api/carrierregistration/w8TaxInformation', request);\n\t\t}\n\n\t\tfunction updateW9TaxInformation(name,\n\t\t\tbusinessName,\n\t\t\tfederalTaxClassification,\n\t\t\totherText,\n\t\t\texemptPayeeCode,\n\t\t\tfactaReportingCode,\n\t\t\taddress,\n\t\t\tcity,\n\t\t\tstate,\n\t\t\tpostalCode,\n\t\t\ttin,\n\t\t\tfederalTaxType,\n\t\t\tcarrierId) {\n\t\t\tvar request = {\n\t\t\t\tname: name,\n\t\t\t\tbusinessName: businessName,\n\t\t\t\tfederalTaxClassification: federalTaxClassification,\n\t\t\t\totherText: otherText,\n\t\t\t\texemptPayeeCode: exemptPayeeCode,\n\t\t\t\tfactaReportingCode: factaReportingCode,\n\t\t\t\taddress: address,\n\t\t\t\tcity: city,\n\t\t\t\tstate: state,\n\t\t\t\tpostalCode: postalCode,\n\t\t\t\ttin: tin,\n\t\t\t\tfederalTaxType: federalTaxType\n\t\t\t};\n\t\t\tif (carrierId) {\n\t\t\t\trequest.carrierId = carrierId;\n\t\t\t} else {\n\t\t\t\trequest.carrierId = -1;\n\t\t\t}\n\n\t\t\treturn $http.put('/api/carrierregistration/w9TaxInformation', request);\n\t\t}\n\n\t\tfunction lookupInsuranceInformation(carrierId) {\n\t\t\tif (!carrierId) {\n\t\t\t\tcarrierId = -1;\n\t\t\t}\n\n\t\t\treturn $http.get('/api/carrierregistration/insuranceInformation', { params: { carrierId: carrierId } });\n\t\t}\n\n\t\tfunction submitRegistryInsuranceInfo(carrierId, agents, otherFeedback) {\n\t\t\tvar request = {\n\t\t\t\tcarrierId: carrierId,\n\t\t\t\tagents: agents,\n\t\t\t\totherFeedback: otherFeedback\n\t\t\t};\n\n\t\t\treturn $http.post('/api/carrierregistration/agentFeedback', request);\n\t\t}\n\n\t\tfunction updateDobInsurance(carrierId,\n\t\t\tagentId,\n\t\t\tagentName,\n\t\t\tphone,\n\t\t\textension,\n\t\t\tfax,\n\t\t\thasAuto,\n\t\t\thasCargo,\n\t\t\thasGeneral,\n\t\t\thasWorkersComp,\n\t\t\temail,\n\t\t\tfileName,\n\t\t\tfileExtension,\n\t\t\tfileContent,\n\t\t\tmimeType,\n\t\t\thadCert) {\n\n\t\t\tvar request = {\n\t\t\t\tagentName: agentName,\n\t\t\t\tphone: phone,\n\t\t\t\textension: extension,\n\t\t\t\tfax: fax,\n\t\t\t\thasAuto: hasAuto,\n\t\t\t\thasCargo: hasCargo,\n\t\t\t\thasGeneral: hasGeneral,\n\t\t\t\thasWorkersComp: hasWorkersComp,\n\t\t\t\temail: email,\n\t\t\t\tfileName: null,\n\t\t\t\tfileExtension: null,\n\t\t\t\tfileContent: null,\n\t\t\t\tmimeType: null\n\t\t\t};\n\t\t\tif (fileContent) {\n\t\t\t\trequest.fileName = fileName;\n\t\t\t\trequest.fileExtension = fileExtension,\n\t\t\t\trequest.fileContent = fileContent;\n\t\t\t\trequest.mimeType = mimeType;\n\t\t\t} else if (hadCert && !fileName) {\n\t\t\t\trequest.deleteCertificate = true;\n\t\t\t}\n\n\t\t\tif (carrierId) {\n\t\t\t\trequest.carrierId = carrierId;\n\t\t\t} else {\n\t\t\t\trequest.carrierId = -1;\n\t\t\t}\n\n\t\t\tif (agentId) {\n\t\t\t\trequest.agentId = agentId;\n\t\t\t} else {\n\t\t\t\trequest.agentId = -1;\n\t\t\t}\n\n\t\t\treturn $http.put('/api/carrierregistration/insuranceInformation', request);\n\t\t}\n\n\t\tfunction lookupCarrierStatus(carrierId) {\n\t\t\treturn $http.get('/api/carrierregistration/lookupCarrierStatus', { params: { carrierId: carrierId } });\n\t\t}\n\n\t\tfunction visitedSection(section, carrierId, brokerId) {\n\t\t\tvar request = {\n\t\t\t\tsection: section,\n\t\t\t\tcarrierId: carrierId,\n\t\t\t\tbrokerId: brokerId\n\t\t\t};\n\n\t\t\tif (!carrierId) {\n\t\t\t\trequest.carrierId = -1;\n\t\t\t}\n\n\t\t\tif (!brokerId) {\n\t\t\t\trequest.brokerId = -1;\n\t\t\t}\n\n\t\t\treturn $http.put('/api/carrierregistration/visitedSection', request);\n\t\t}\n\n\t\tfunction lookupContractsAndSignatures(carrierId, brokerId) {\n\t\t\tif (!carrierId) {\n\t\t\t\tcarrierId = -1;\n\t\t\t}\n\n\t\t\tif (!brokerId) {\n\t\t\t\tbrokerId = -1;\n\t\t\t}\n\n\t\t\treturn $http.get('/api/carrierregistration/lookupContractsAndSignatures',\n\t\t\t\t{ params: { carrierId: carrierId, brokerId: brokerId } });\n\t\t}\n\n\t\tfunction signStandardContract(signee, signeeTitle, contractId) {\n\t\t\tvar request = {\n\t\t\t\tsignee: signee,\n\t\t\t\tsigneeTitle: signeeTitle,\n\t\t\t\tcontractId: contractId\n\t\t\t};\n\n\t\t\treturn $http.put('/api/carrierregistration/signStandardContract', request);\n\t\t}\n\n\t\tfunction signAssuresignContract(signee, signeeTitle, brokerId, callbackUrl) {\n\t\t\tvar request = {\n\t\t\t\tsignee: signee,\n\t\t\t\tsigneeTitle: signeeTitle,\n\t\t\t\tbrokerId: brokerId,\n\t\t\t\tcallbackUrl: callbackUrl\n\t\t\t};\n\n\t\t\treturn $http.put('/api/carrierregistration/signAssuresignContract', request);\n\t\t}\n\n\t\tfunction sendProfileCompleteNotification(carrierId) {\n\t\t\treturn $http.get('/api/carrierregistration/SendProfileCompletedNotice', { params: { carrierId: carrierId } });\n\t\t}\n\n\t\tfunction lookupUrlsByCategory(businessUnitId) {\n\t\t\treturn $http.get('/api/carrierregistration/lookupUrlsByCategory', { params: { businessUnitId: businessUnitId } });\n\t\t}\n\n\t\tfunction lookupBrokers(carrierId) {\n\t\t\treturn $http.get('/api/carrierregistration/lookupBrokers', { params: { carrierId: carrierId } });\n\t\t}\n\n\t\tfunction lookupSignatures(carrierId, brokerId) {\n\t\t\treturn $http.get('/api/carrierregistration/lookupSignatures', { params: { carrierId: carrierId, brokerId: brokerId } });\n\t\t}\n\n\t\tfunction shareDocuments(documents, carrierId) {\n\t\t\tvar request = {\n\t\t\t\tdocumentGuids: documents\n\t\t\t};\n\n\t\t\tif (carrierId) {\n\t\t\t\trequest.carrierId = carrierId;\n\t\t\t} else {\n\t\t\t\trequest.carrierId = -1;\n\t\t\t}\n\n\t\t\treturn $http.post('/api/carrierregistration/shareDocuments', request);\n\t\t}\n\t\n\t\tfunction facsimileSignatures(documentId) {\n\t\t\treturn $http.get('/api/carrierregistration/facsimileSignatures', { params: { documentId: documentId } });\n\t\t}\n\t}\n})();\n","'use strict';\n(function() {\n\tangular.module('onboarding.services')\n\t\t.factory('carrierSettingsService', carrierSettingsService);\n\n\tcarrierSettingsService.$inject = ['$http'];\n\n\tfunction carrierSettingsService($http) {\n\n\t\treturn {\n\t\t\tlookupCarrierProfileModal: lookupCarrierProfileModal,\n\t\t\tupdateCarrierPassword: updateCarrierPassword,\n\t\t\tupdateCarrierEmail: updateCarrierEmail\n\t\t};\n\n\t\tfunction lookupCarrierProfileModal(carrierId) {\n\t\t\treturn $http.get('/api/carriersettings/profile', { params: { carrierId: carrierId } });\n\t\t}\n\n\t\tfunction updateCarrierPassword(password, carrierId) {\n\t\t\tvar request = {\n\t\t\t\tnewValue: password\n\t\t\t};\n\t\t\tif (carrierId) {\n\t\t\t\trequest.carrierId = carrierId;\n\t\t\t} else {\n\t\t\t\trequest.carrierId = -1;\n\t\t\t}\n\n\t\t\treturn $http.post('/api/carriersettings/changepassword', request);\n\t\t}\n\n\t\tfunction updateCarrierEmail(email, carrierId) {\n\t\t\tvar request = {\n\t\t\t\tnewValue: email\n\t\t\t};\n\t\t\tif (carrierId) {\n\t\t\t\trequest.carrierId = carrierId;\n\t\t\t} else {\n\t\t\t\trequest.carrierId = -1;\n\t\t\t}\n\n\t\t\treturn $http.post('/api/carriersettings/changeemail', request);\n\t\t}\n\t}\n})();\n","'use strict';\n(function() {\n\tangular.module('onboarding.services')\n\t\t.factory('contractService', contractService);\n\n\tcontractService.$inject = [\n\t\t'$http', '$log', '$stateParams'\n\t];\n\n\tfunction\n\tcontractService($http, $log, $stateParams) {\n\n\t\treturn {\n\t\t\taddContract: addContract,\n\t\t\tdeleteContract: deleteContract,\n\t\t\texportAllContractSignatures: exportAllContractSignatures,\n\t\t\tgetContractDetail: getContractDetail,\n\t\t\tgetContracts: getContracts,\n\t\t\tgetContractSignatures: getContractSignatures,\n\t\t\tgetContractVersions: getContractVersions,\n\t\t\trejectSignatures: rejectSignatures,\n\t\t\tupdateContractDescription: updateContractDescription,\n\t\t\tupdateContractStatus: updateContractStatus,\n\t\t\texportContractSignatures: exportContractSignatures\n\t\t};\n\n\t\tfunction addContract(contract) {\n\t\t\tcontract = brokerImpersonationHelper(contract);\n\n\t\t\treturn $http.post('/api/contractlookup/brokercontract', contract);\n\t\t}\n\n\t\tfunction deleteContract(contractId) {\n\t\t\treturn $http.get('/api/contractlookup/brokercontract',\n\t\t\t\t{ params: { contractId: contractId, brokerId: $stateParams.brokerId } });\n\t\t}\n\n\t\tfunction exportContractSignatures(contractId, signatureIds) {\n\t\t\tvar request = {\n\t\t\t\tcontractId: contractId,\n\t\t\t\tsignatureIds: signatureIds\n\t\t\t};\n\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\treturn $http.post('/api/contractlookup/exportsignatures', request);\n\t\t}\n\n\t\tfunction exportAllContractSignatures(contractid) {\n\t\t\treturn $http.get('/api/contractlookup/exportallsignatures',\n\t\t\t\t{ params: { contractId: contractid, brokerId: $stateParams.brokerId } });\n\t\t}\n\n\t\tfunction getContractDetail(contractId) {\n\t\t\treturn $http.get('/api/contractlookup/brokercontractdetail',\n\t\t\t\t{ params: { contractId: contractId, brokerId: $stateParams.brokerId } });\n\t\t}\n\n\t\tfunction getContracts(filter) {\n\t\t\treturn $http.get('/api/contractlookup/brokercontract',\n\t\t\t\t{ params: { filter: filter, brokerId: $stateParams.brokerId } });\n\t\t}\n\n\t\tfunction getContractSignatures(contractId, startRow, rowCount, sortOrder, isSortDescending, filter, filterType) {\n\t\t\tvar request = {\n\t\t\t\tcontractId: contractId,\n\t\t\t\tstartRow: startRow,\n\t\t\t\trowCount: rowCount,\n\t\t\t\tisSortDescending: isSortDescending,\n\t\t\t\tsortOrder: sortOrder,\n\t\t\t\tfilter: filter,\n\t\t\t\tfilterType: filterType\n\t\t\t};\n\n\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\treturn $http.post('api/contractlookup/signedcontracts', request);\n\t\t}\n\n\t\tfunction getContractVersions(contractName) {\n\t\t\treturn $http.get('/api/contractlookup/contractversions',\n\t\t\t\t{ params: { name: contractName, brokerId: $stateParams.brokerId } });\n\t\t}\n\n\t\tfunction rejectSignatures(signatureIds) {\n\t\t\tvar request = {\n\t\t\t\tsignatureIds: signatureIds\n\t\t\t};\n\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\treturn $http.put('/api/contractlookup/rejectsignatures', request);\n\t\t}\n\n\t\tfunction updateContractDescription(contractId, name, description) {\n\t\t\tvar request = {\n\t\t\t\tcontractId: contractId,\n\t\t\t\tcontractName: name,\n\t\t\t\tdescription: description\n\t\t\t};\n\n\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\treturn $http.put('/api/contractlookup/brokercontractdescription', request);\n\n\t\t}\n\n\t\tfunction updateContractStatus(contractId, status, contractName) {\n\t\t\tvar request = {\n\t\t\t\tcontractId: contractId,\n\t\t\t\tstatus: status,\n\t\t\t\tname: contractName\n\t\t\t};\n\n\t\t\trequest = brokerImpersonationHelper(request);\n\n\t\t\treturn $http.put('/api/contractlookup/contractstatus', request);\n\t\t}\n\n\t\tfunction brokerImpersonationHelper(request) {\n\t\t\tif ($stateParams.brokerId) {\n\t\t\t\trequest.brokerId = $stateParams.brokerId;\n\t\t\t}\n\n\t\t\treturn request;\n\t\t}\n\t}\n\n})();\n","'use strict';\n(function() {\n\tangular.module('onboarding.services')\n\t\t.factory('internalAdminService', internalAdminService);\n\n\tinternalAdminService.$inject = ['$http'];\n\n\tfunction internalAdminService($http) {\n\n\t\treturn {\n\t\t\tdefineOnboardingBroker: defineOnboardingBroker,\n\t\t\tidentifyBroker: identifyBroker,\n\t\t\tgetBrokers: getBrokers,\n\t\t\tgetBrokerUsageReport: getBrokerUsageReport,\n\t\t\tgetCarriers: getCarriers,\n\t\t\tsearchCarriers: searchCarriers,\n\t\t\tprocessTinFile: processTinFile,\n\t\t\tgetAssureSignContracts: getAssureSignContracts,\n\t\t\tupdateContractTemplateId: updateContractTemplateId,\n\t\t\tupdateTinStatus: updateTinStatus\n\t\t};\n\n\t\tfunction identifyBroker(domain) {\n\t\t\treturn $http.get('/api/internaladmin/identifyBroker', { params: { domain: domain } });\n\t\t}\n\n\t\tfunction getBrokers(request) {\n\t\t\treturn $http.get('/api/internaladmin/brokers', request);\n\t\t}\n\n\t\tfunction getCarriers(request) {\n\t\t\treturn $http.get('/api/internaladmin/carriers', request);\n\t\t}\n\n\t\tfunction searchCarriers(searchType, searchTerm, startRow, rowCount, includeRowCount) {\n\t\t\treturn $http.get('/api/internaladmin/searchcarriers',\n\t\t\t\t{\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tsearchType: searchType,\n\t\t\t\t\t\tsearchValue: searchTerm,\n\t\t\t\t\t\tcurrentRow: startRow,\n\t\t\t\t\t\trowCount: rowCount,\n\t\t\t\t\t\tincludeRowCount: includeRowCount\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\n\t\tfunction defineOnboardingBroker(request) {\n\t\t\treturn $http.put('/api/internaladmin/defineBroker', request);\n\t\t}\n\n\t\tfunction processTinFile(request) {\n\t\t\treturn $http.post('/api/internaladmin/processTinFile', request);\n\t\t}\n\n\t\tfunction getAssureSignContracts() {\n\t\t\treturn $http.get('/api/internaladmin/assuresigncontracts');\n\t\t}\n\n\t\tfunction updateContractTemplateId(brokerId, contractId, templateId, contractName) {\n\t\t\tvar request = {\n\t\t\t\tbrokerId: brokerId,\n\t\t\t\tcontractId: contractId,\n\t\t\t\ttemplateId: templateId,\n\t\t\t\tcontractName: contractName\n\t\t\t};\n\n\t\t\treturn $http.put('/api/internaladmin/updateContractTemplate', request);\n\t\t}\n\n\t\tfunction getBrokerUsageReport() {\n\t\t\treturn $http.get('/api/internaladmin/brokerUsageReport', { params: {} });\n\t\t}\n\n\t\tfunction updateTinStatus(request) {\n\t\t\treturn $http.put('/api/internaladmin/updateTinStatus', request);\n\t\t}\n\t}\n})();\n","'use strict';\n(function() {\n\tangular.module('onboarding.services')\n\t\t.factory('observerService', observerService);\n\n\tobserverService.$inject = ['$log'];\n\n\tfunction observerService($log) {\n\t\treturn {\n\t\t\tsendMessageToSubject: sendMessageToSubject,\n\t\t\tcreateHandlerObject: createHandlerObject,\n\t\t\tregisterHandlers: registerHandlers\n\t\t};\n\n\t\tfunction sendMessageToSubject(scope, subjectMessage, data) {\n\t\t\tscope.$emit(subjectMessage, subjectMessage, data);\n\t\t}\n\n\t\tfunction createHandlerObject(subjectMessage, handler) {\n\t\t\treturn { message: subjectMessage, handler: handler };\n\t\t}\n\n\t\tfunction registerHandlers(scope, handlerObjectArray) {\n\t\t\tif (!handlerObjectArray || !angular.isArray(handlerObjectArray)) {\n\t\t\t\t$log.warn('Null or empty handlerObjectArray');\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t_.each(handlerObjectArray,\n\t\t\t\tfunction(ho) {\n\t\t\t\t\tscope.$on(ho.message,\n\t\t\t\t\t\tfunction(event, observerMessage, data) {\n\t\t\t\t\t\t\t//$log.debug(\"Observer received message \" + observerMessage);\n\t\t\t\t\t\t\tho.handler.call(this, data);\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function () {\n\tangular.module('onboarding.services')\n\t\t.factory('onboardHttpInterceptor', onboardHttpInterceptor);\n\n\tvar subjectObserverMessagesService, observerService, subjectMessages, $window, appConfig;\n\n\tonboardHttpInterceptor.$inject = ['$q', '$rootScope', 'subjectObserverMessagesService', 'observerService', '$window', 'appConfig'];\n\n\tfunction onboardHttpInterceptor($q, $rootScope, _subjectObserverMessagesService_, _observerService_, _$window_, _appConfig_) {\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t$window = _$window_;\n\t\tappConfig = _appConfig_;\n\n\t\treturn {\n\t\t\tresponse: response,\n\t\t\tresponseError: responseError,\n\t\t\trequest: request\n\t\t};\n\n\t\tfunction response(httpResponse) {\n\t\t\tvar headers = httpResponse.headers();\n\t\t\tvar config = httpResponse.config;\n\t\t\tvar byPassEnabled = config && config.bypassErrorsInterceptor;\n\n\t\t\tif (headers.isexception) {\n\t\t\t\tif (!byPassEnabled)\n\t\t\t\t\tobserverService.sendMessageToSubject($rootScope, subjectMessages.COB_SUBJECT_HTTP_ERROR_500, httpResponse.data);\n\t\t\t\t\n\t\t\t\treturn $q.reject(httpResponse.data);\n\t\t\t}\n\n\t\t\treturn httpResponse || $q.when(httpResponse);\n\t\t}\n\n\t\tfunction responseError(rejection) {\n\t\t\tif (rejection.status === 401) {\n\t\t\t\tobserverService.sendMessageToSubject($rootScope,\n\t\t\t\t\tsubjectMessages.COB_SUBJECT_HTTP_ERROR_401,\n\t\t\t\t\trejection.data);\n\t\t\t}\n\t\t\tif (rejection.status === 403) {\n\t\t\t\t$rootScope.authenticationService.logout();\n\t\t\t}\n\t\t\tif (rejection.status === 404) {\n\t\t\t\tobserverService.sendMessageToSubject($rootScope, subjectMessages.COB_SUBJECT_HTTP_ERROR_404, rejection.data);\n\t\t\t}\n\t\t\tif (rejection.status === 500 || rejection.status === 501 || rejection.status === 502 || rejection.status === 504) {\n\t\t\t\tif (rejection.config.url.indexOf('usurp') !== -1) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar config = rejection.config;\n\t\t\t\tvar byPassEnabled = config && config.bypassErrorsInterceptor;\n\n\t\t\t\tif (!byPassEnabled) {\n\t\t\t\t\tvar errorData = (rejection.data) ? rejection.data\n\t\t\t\t\t\t: { message: 'We\\'re sorry, an unexpected error has occurred. Please retry your request in a few minutes.', category: 'Unexpected' };\n\t\t\t\t\tobserverService.sendMessageToSubject($rootScope, subjectMessages.COB_SUBJECT_HTTP_ERROR_500, errorData);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn $q.reject(rejection);\n\t\t}\n\n \n\t\tfunction request(config) {\n\t\t\tif (config.url.indexOf('.html') !== -1) {\n\t\t\t\tconfig.url = config.url + '?v=' + appConfig.appVersion;\n\t\t\t}\n\n\t\t\treturn config;\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function () {\n\tangular.module('onboarding.services')\n\t\t.factory('sessionService', sessionService);\n\n\n\tsessionService.$inject = [\n\t\t'subjectObserverMessagesService', 'observerService', '$http', '$log', '$state',\n\t\t'$stateParams', '$window', '$rootScope', 'usurpService'\n\t];\n\n\tfunction sessionService(subjectObserverMessagesService,\n\t\tobserverService,\n\t\t$http,\n\t\t$log,\n\t\t$state,\n\t\t$stateParams,\n\t\t$window,\n\t\t$rootScope,\n\t\tusurpService) {\n\t\tvar _userName = null;\n\t\tvar _capabilities = null;\n\t\tvar _allowedLogins = null;\n\t\tvar _carrierNavState = null;\n\t\tvar _domain = null;\n\t\tvar _broker = null;\n\t\tvar _carrierReadyToSign = false;\n\t\tvar _usurpEnabled = false;\n\n\t\treturn {\n\t\t\tcreate: create,\n\t\t\tdestroy: destroy,\n\t\t\tgetUserName: getUserName,\n\t\t\tgetCapabilities: getCapabilities,\n\t\t\tsetBrokerImpersonated: setBrokerImpersonated,\n\t\t\tgetBrokerImpersonated: getBrokerImpersonated,\n\t\t\tsetCarrierImpersonated: setCarrierImpersonated,\n\t\t\tgetCarrierImpersonated: getCarrierImpersonated,\n\t\t\tgetDomain: getDomain,\n\t\t\tsetDomain: setDomain,\n\t\t\tgetAllowedLogins: getAllowedLogins,\n\t\t\tsetAllowedLogins: setAllowedLogins,\n\t\t\tclearDomain: clearDomain,\n\t\t\tsaveCarrierVisit: saveCarrierVisit,\n\t\t\tgetBrokerLogoURL: getBrokerLogoURL,\n\t\t\tgetBrokerBranding: getBrokerBranding,\n\t\t\tsetBrokerBranding: setBrokerBranding,\n\t\t\tclearBrokerBranding: clearBrokerBranding,\n\t\t\tsetCarrierReadyToSign: setCarrierReadyToSign,\n\t\t\tgetCarrierReadyToSign: getCarrierReadyToSign,\n\t\t\tgetCarrierNavState: getCarrierNavState,\n\t\t\tsetCarrierNavState: setCarrierNavState,\n\t\t\trestoreState: restoreState,\n\t\t\tisAuthorized: isAuthorized,\n\t\t\tisAuthorizedBrokerAdmin: isAuthorizedBrokerAdmin,\n\t\t\tisAuthorizedBrokerRead: isAuthorizedBrokerRead,\n\t\t\tisAuthorizedBrokerWrite: isAuthorizedBrokerWrite,\n\t\t\tisAuthorizedInternalAdmin: isAuthorizedInternalAdmin,\n\t\t\tisAuthorizedCarrierRead: isAuthorizedCarrierRead,\n\t\t\tisAuthorizedCarrierWrite: isAuthorizedCarrierWrite,\n\t\t\tisAuthorizedCarrierSign: isAuthorizedCarrierSign,\n\t\t\tisAuthorizedCarrierAdmin: isAuthorizedCarrierAdmin,\n\t\t\tgetCarouselViewed: getCarouselViewed,\n\t\t\tsetCarouselViewed: setCarouselViewed,\n\t\t\tgetApplicationSettings: getApplicationSettings,\n\t\t\tgetLastVisitedPage: getLastVisitedPage,\n\t\t\tsetLastVisitedPage: setLastVisitedPage,\n\t\t\tremoveLastVisitedPage: removeLastVisitedPage,\n\t\t\tredirectToLogin: redirectToLogin,\n\t\t\t//is admin impersonating or in role\n\t\t\tisBroker: isBroker,\n\t\t\tisCarrier: isCarrier,\n\t\t\tgetBrokerByDomainName: getBrokerByDomainName,\n\t\t\tsetUsurpEnabled: setUsurpEnabled,\n\t\t\tisUsurpEnabled: isUsurpEnabled\n\t\t};\n\n\t\tfunction create(data) {\n\t\t\tif (data) {\n\t\t\t\tsetUserName(data.userName);\n\t\t\t\tsetCapabilities(data.capabilities);\n\t\t\t\tsetAllowedLogins(data.allowedLoginTypes);\n\t\t\t\tsetUsurpEnabled();\n\t\t\t}\n\t\t\t\n\t\t\tsaveState();\n\t\t}\n\n\t\tfunction destroy() {\n\t\t\tsetUserName(null);\n\t\t\tsetCapabilities(null);\n\n\t\t\tusurpService.removeUsurpLSKey();\n\t\t\tlocalStorage.removeItem('session.userName');\n\t\t\tlocalStorage.removeItem('session.capabilities');\n\t\t}\n\n\t\tfunction setBrokerImpersonated(brokerId, name, domain) {\n\t\t\tif (isAuthorizedInternalAdmin()) {\n\t\t\t\tvar brokerImpersonated = {\n\t\t\t\t\tbrokerId: brokerId,\n\t\t\t\t\tname: name,\n\t\t\t\t\tdomain: domain\n\t\t\t\t};\n\n\t\t\t\tlocalStorage.setItem('brokerImpersonated' + brokerId, angular.toJson(brokerImpersonated));\n\t\t\t}\n\t\t}\n\n\t\tfunction getBrokerImpersonated() {\n\t\t\tif ($stateParams.brokerId) {\n\t\t\t\treturn angular.fromJson(localStorage.getItem('brokerImpersonated' + $stateParams.brokerId));\n\t\t\t} else\n\t\t\t\treturn {};\n\t\t}\n\n\t\tfunction setCarrierImpersonated(carrierId,\n\t\t\tcarrierName,\n\t\t\tdotNumber,\n\t\t\tintrastateCode,\n\t\t\tintrastateState) {\n\n\t\t\tvar carrierImpersonated = {\n\t\t\t\tcarrierId: carrierId,\n\t\t\t\tcarrierName: carrierName,\n\t\t\t\tdotNumber: dotNumber,\n\t\t\t\tintrastateState: intrastateState,\n\t\t\t\tintrastateCode: intrastateCode,\n\t\t\t\tintrastateNumber: intrastateCode\n\t\t\t};\n\n\t\t\tlocalStorage.setItem('carrierImpersonated' + carrierId, angular.toJson(carrierImpersonated));\n\t\t}\n\n\t\tfunction getCarrierImpersonated() {\n\t\t\tif ($stateParams.carrierId) {\n\t\t\t\tvar carrierImpersonated = angular.fromJson(localStorage\n\t\t\t\t\t.getItem('carrierImpersonated' + $stateParams.carrierId));\n\t\t\t\tif (!carrierImpersonated)\n\t\t\t\t\treturn {};\n\n\t\t\t\treturn carrierImpersonated;\n\t\t\t}\n\n\t\t\treturn {};\n\t\t}\n\n\t\tfunction setUserName(name) {\n\t\t\t_userName = name;\n\t\t}\n\n\t\tfunction getUserName() {\n\t\t\treturn _userName;\n\t\t}\n\n\t\tfunction setCapabilities(capabilities) {\n\t\t\t_capabilities = capabilities;\n\t\t}\n\n\t\tfunction getCapabilities() {\n\t\t\treturn _capabilities;\n\t\t}\n\n\t\tfunction setAllowedLogins(allowedLogins) {\n\t\t\t_allowedLogins = allowedLogins;\n\t\t}\n\n\t\tfunction getAllowedLogins() {\n\t\t\treturn _allowedLogins;\n\t\t}\n\n\t\tfunction getDomain() {\n\t\t\treturn _domain;\n\t\t}\n\n\t\tfunction setDomain(domain, scope) {\n\t\t\t$http\n\t\t\t\t.get('/api/brokerLookup/brokerLandingPage', { params: { domain: domain } })\n\t\t\t\t.then(function (response) {\n\t\t\t\t\tsetBrokerBranding(response.data);\n\t\t\t\t\t_domain = domain;\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_DOMAIN_DATA_LOADED);\n\t\t\t\t\tsaveCarrierVisit();\n\t\t\t\t})\n\t\t\t\t.catch(function (e) {\n\t\t\t\t\t$log.error(e);\n\t\t\t\t});\n\t\t}\n\n\t\tfunction clearDomain() {\n\t\t\t_domain = null;\n\t\t\tclearBrokerBranding();\n\t\t}\n\n\t\tfunction saveCarrierVisit() {\n\t\t\tif (_broker && isAuthorizedCarrierRead()) {\n\t\t\t\tvar request = {\n\t\t\t\t\tbrokerId: _broker.brokerId\n\t\t\t\t};\n\n\t\t\t\t$http.post('/api/carrierregistration/registerCarrierVisit', request);\n\t\t\t}\n\t\t}\n\n\t\tfunction getBrokerBranding() {\n\t\t\treturn _broker;\n\t\t}\n\n\t\tfunction getBrokerLogoURL() {\n\t\t\tif (_broker.imageMimeType) {\n\t\t\t\treturn 'data:' + _broker.imageMimeType + ';base64,' + _broker.imageFile;\n\t\t\t}\n\t\t}\n\n\t\tfunction setBrokerBranding(broker) {\n\t\t\t_broker = broker;\n\t\t}\n\n\t\tfunction clearBrokerBranding() {\n\t\t\t_broker = null;\n\t\t}\n\n\t\tfunction setCarrierReadyToSign(isReady) {\n\t\t\t_carrierReadyToSign = isReady;\n\t\t}\n\n\t\tfunction getCarrierReadyToSign() {\n\t\t\treturn _carrierReadyToSign;\n\t\t}\n\n\t\tfunction saveState() {\n\t\t\tlocalStorage.setItem('session.userName', angular.toJson(_userName));\n\t\t\tlocalStorage.setItem('session.capabilities', angular.toJson(_capabilities));\n\t\t}\n\n\t\tfunction restoreState() {\n\t\t\t_userName = angular.fromJson(localStorage.getItem('session.userName'));\n\t\t\t_capabilities = angular.fromJson(localStorage.getItem('session.capabilities'));\n\t\t}\n\n\t\tfunction isAuthorized(capability) {\n\t\t\tif (_capabilities === null)\n\t\t\t\treturn false;\n\n\t\t\treturn (_userName !== '') && (_capabilities.indexOf(capability) !== -1);\n\t\t}\n\n\t\tfunction isAuthorizedInternalAdmin() {\n\t\t\tif (isAuthorized('InternalAdmin') || isAuthorized('InternalAccount'))\n\t\t\t\treturn true;\n\t\t\telse\n\t\t\t\treturn false;\n\t\t}\n\n\t\tfunction isAuthorizedBrokerAdmin() {\n\t\t\tif (isAuthorized('BrokerAdmin') || ($stateParams.brokerId && isAuthorizedInternalAdmin()))\n\t\t\t\treturn true;\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction isAuthorizedBrokerRead() {\n\t\t\tif (isAuthorized('BrokerRead') || ($stateParams.brokerId && isAuthorizedInternalAdmin()))\n\t\t\t\treturn true;\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction isAuthorizedBrokerWrite() {\n\t\t\tif (isAuthorized('BrokerWrite') || ($stateParams.brokerId && isAuthorizedInternalAdmin()))\n\t\t\t\treturn true;\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction isAuthorizedCarrierRead() {\n\t\t\tif (isAuthorized('CarrierRead'))\n\t\t\t\treturn true;\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction isAuthorizedCarrierWrite() {\n\t\t\tif (isAuthorized('CarrierWrite'))\n\t\t\t\treturn true;\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction isAuthorizedCarrierSign() {\n\t\t\tif (isAuthorized('CarrierSign'))\n\t\t\t\treturn true;\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction isAuthorizedCarrierAdmin() {\n\t\t\tif (isAuthorized('CarrierAdmin'))\n\t\t\t\treturn true;\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction isBroker() {\n\t\t\treturn isAuthorizedBrokerRead() ||\n\t\t\t(isAuthorizedInternalAdmin() && $stateParams.brokerId);\n\t\t}\n\n\t\tfunction isCarrier() {\n\t\t\treturn isAuthorizedCarrierRead() ||\n\t\t\t(isAuthorizedInternalAdmin() && $stateParams.carrierId && !$stateParams.brokerId\n\t\t\t);\n\t\t}\n\n\t\tfunction isUsurpEnabled(){\n\t\t\treturn _usurpEnabled;\n\t\t}\n\n\t\tfunction getCarrierNavState() {\n\t\t\treturn _carrierNavState;\n\t\t}\n\n\t\tfunction setCarrierNavState(carrierNavState) {\n\t\t\treturn _carrierNavState = carrierNavState;\n\t\t}\n\n\t\tfunction getCarouselViewed() {\n\t\t\treturn localStorage.getItem('carouselViewed');\n\t\t}\n\n\t\tfunction setCarouselViewed() {\n\t\t\tlocalStorage.setItem('carouselViewed', true);\n\t\t}\n\n\t\tfunction getApplicationSettings() {\n\t\t\treturn $http.get('/api/application/settings').then(\n\t\t\t\tfunction (response) {\n\t\t\t\t\treturn response.data;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction setUsurpEnabled() {\n\t\t\tgetApplicationSettings()\n\t\t\t\t.then(function (response) {\n\t\t\t\t\t_usurpEnabled = response.usurpEnabled;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction setLastVisitedPage(options) {\n\t\t\tlocalStorage.setItem('lastVisitedPageKey', angular.toJson({\n\t\t\t\tname: options ? options.name : $state.current.name,\n\t\t\t\tparams: options ? options.params : $state.params,\n\t\t\t\tcapabilities: getCapabilities()\n\t\t\t}));\n\t\t}\n\n\t\tfunction getLastVisitedPage() {\n\t\t\treturn angular.fromJson(localStorage.getItem('lastVisitedPageKey'));\n\t\t}\n\n\t\tfunction removeLastVisitedPage() {\n\t\t\tlocalStorage.removeItem('lastVisitedPageKey');\n\t\t}\n\n\t\tfunction redirectToLogin() {\n\t\t\t$window.location.href = $window.location.origin + '/logout'; \n\t\t}\n\n\t\tfunction getBrokerByDomainName(broker) {\n\t\t\treturn $http.get('/api/brokerLookup/brokerLandingPage?domain=' + broker);\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function () {\n\tangular.module('onboarding.services')\n\t\t.factory('spinnerService', spinnerService);\n\n\tvar subjectObserverMessagesService,\n\t\tobserverService;\n\n\tspinnerService.$inject = ['subjectObserverMessagesService', 'observerService'];\n\n\tfunction spinnerService(_subjectObserverMessagesService_, _observerService_) {\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\n\t\treturn {\n\t\t\tstartSpinner: startSpinner,\n\t\t\tstopSpinner: stopSpinner\n\t\t};\n\n\t\tfunction startSpinner(targetScope) {\n\t\t\tsetTimeout(function () {\n\t\t\t\tobserverService.sendMessageToSubject(targetScope,\n\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t}, 1);\n\t\t}\n\n\t\tfunction stopSpinner(targetScope) {\n\t\t\tobserverService.sendMessageToSubject(targetScope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t}\n\t}\n})();\n","'use strict';\n(function() {\n\tangular.module('onboarding.services')\n\t\t.factory('subjectObserverMessagesService', subjectObserverMessagesService);\n\n\tfunction subjectObserverMessagesService() {\n\t\tvar OBSERVER_NAME_PRE = 'COB_OBSERVER_';\n\t\tvar SUBJECT_NAME_PRE = 'COB_SUBJECT_';\n\t\tvar OBSERVER_MESSAGE_PRE = 'cob:observer:';\n\t\tvar SUBJECT_MESSAGE_PRE = 'cob:subject:';\n\n\t\tvar MESSAGES = {\n\t\t\tCARRIER_LIST_EXPAND: 'carrierListExpand',\n\t\t\tLOGIN_STARTING: 'loginStarting',\n\t\t\tLOGIN_FINISHED_SUCCESS: 'loginFinishedSuccess',\n\t\t\tLOGIN_FINISHED_FAIL: 'loginFinishedFail',\n\t\t\tSESSION_RESUME: 'sessionResume',\n\t\t\tFILE_UPLOAD_SAVED: 'fileUploadSaved',\n\t\t\tFILE_UPLOAD_SUCCESS: 'fileUploadSuccess',\n\t\t\tFILE_UPLOAD_ERROR: 'fileUploadError',\n\t\t\tFORM_VALIDATION_ERROR: 'formValidationError',\n\t\t\tCONTRACT_GROUP_SELECTED: 'contractGroupSelected',\n\t\t\tSETTINGS_BROKER_OPEN: 'settingsBrokerOpen',\n\t\t\tSETTINGS_BROKER_CLOSE: 'settingsBrokerClose',\n\t\t\tPROFILE_CARRIER_OPEN: 'profileCarrierOpen',\n\t\t\tPROFILE_CARRIER_CLOSE: 'profileCarrierClose',\n\t\t\tPROFILE_SETTINGS_DIRTY: 'profileSettingsDirty',\n\t\t\tPROFILE_SETTINGS_CLEAN: 'profileSettingsClean',\n\t\t\tPROFILE_SETTINGS_CHANGE_VIEW: 'profileSettingsChangeView',\n\t\t\tPROFILE_SETTINGS_SAVE_VIEW: 'profileSettingsSaveView',\n\t\t\tSCROLL_MESSAGE: 'scrollMessage',\n\t\t\tVIEW_CHANGE: 'viewChange',\n\t\t\tAJAX_WAITING: 'ajaxWaiting',\n\t\t\tAJAX_DONE: 'ajaxDone',\n\t\t\tDOMAIN_DATA_LOADED: 'domainDataLoaded',\n\t\t\tCHANGE_WELCOME_VIEW: 'changeWelcomeView',\n\t\t\tSTART_CHANGE_CARRIER_PROFILE_VIEW: 'startChangeCarrierProfileView',\n\t\t\tFINISH_CHANGE_CARRIER_PROFILE_VIEW: 'finishChangeCarrierProfileView',\n\t\t\tCARRIER_PROFILE_VIEW_IS_DIRTY: 'carrierProfileViewIsDirty',\n\t\t\tCARRIER_PROFILE_VIEW_LOAD: 'carrierProfileViewLoad',\n\t\t\tCARRIER_PROFILE_W8_LOADED: 'carrierProfileW8Loaded',\n\t\t\tCARRIER_PROFILE_W9_LOADED: 'carrierProfileW9Loaded',\n\t\t\tCARRIER_PROFILE_TAX_RELOAD: 'carrierProfileTaxReload',\n\t\t\tCARRIER_PROFILE_INSUREANCE_DOB_LOADED: 'carrierProfileInsuranceDobLoaded',\n\t\t\tCARRIER_PROFILE_INSUREANCE_REG_LOADED: 'carrierProfileInsuranceRegLoaded',\n\t\t\tCARRIER_PROFILE_INSUREANCE_RELOAD: 'carrierProfileInsuranceReload',\n\t\t\tCARRIER_PROFILE_VIEW_STATUS: 'carrierProfileViewStatus',\n\t\t\tCARRIER_PROFILE_READY_TO_SIGN: 'carrierProfileReadyToSign',\n\t\t\tSET_PENDING_TAB: 'setPendingCarrierProfileViewChange',\n\t\t\tCARRIER_PROFILE_STATUS_FINISH: 'profileStatusLookupFinish',\n\t\t\tLOAD_CHATSUPPORT: 'loadLiveChatSupport',\n\t\t\tCARRIER_SCROLL : 'carrierScroll',\n\t\t\tHTTP_ERROR_401: 'browserError401',\n\t\t\tHTTP_ERROR_404: 'browserError404',\n\t\t\tHTTP_ERROR_500: 'browserError500',\n\t\t\tCAROUSEL_REQUEST_OPEN: 'carouselRequestOpen'\n\t\t};\n\t\tvar observerMessages = {};\n\t\tvar subjectMessages = {};\n\t\tvar observerMessageLookup = {};\n\n\t\tbuildMessages();\n\n\t\treturn {\n\t\t\tgetObserverMessages: getObserverMessages,\n\t\t\tgetSubjectMessages: getSubjectMessages,\n\t\t\tgetObserverMessageLookup: getObserverMessageLookup\n\t\t};\n\n\t\tfunction getObserverMessageLookup() {\n\t\t\treturn observerMessageLookup;\n\t\t}\n\n\t\tfunction getObserverMessages() {\n\t\t\treturn observerMessages;\n\t\t}\n\n\t\tfunction getSubjectMessages() {\n\t\t\treturn subjectMessages;\n\t\t}\n\n\t\tfunction buildMessages() {\n\t\t\tfor (var message in MESSAGES) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(MESSAGES, message)) {\n\t\t\t\t\tvar observerMessage = OBSERVER_NAME_PRE + message;\n\t\t\t\t\tvar subjectMessage = SUBJECT_NAME_PRE + message;\n\t\t\t\t\tobserverMessages[observerMessage] = OBSERVER_MESSAGE_PRE + MESSAGES[message];\n\t\t\t\t\tsubjectMessages[subjectMessage] = SUBJECT_MESSAGE_PRE + MESSAGES[message];\n\n\t\t\t\t\tobserverMessageLookup[subjectMessages[subjectMessage]] = observerMessages[observerMessage];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n})();\n","'use strict';\n(function () {\n\tangular.module('onboarding.services')\n\t\t.factory('validationService', validationService);\n\n\tfunction validationService() {\n\n\t\treturn {\n\t\t\tisValidCanadianPostalCode: isValidCanadianPostalCode,\n\t\t\tisValidEmail: isValidEmail,\n\t\t\tisValidUsPostalCode: isValidUsPostalCode,\n\t\t\tisValidPassword: isValidPassword\n\t\t};\n\n\t\tfunction isValidCanadianPostalCode(postalCode) {\n\t\t\t//Canadian postal codes can't contain the letters D, F, I, O, Q, or U, and cannot start with W or Z\n\t\t\treturn /^[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ] ?[0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]$/i.test(postalCode);\n\t\t}\n\n\t\tfunction isValidEmail(email) {\n\t\t\t// eslint-disable-next-line no-useless-escape\n\t\t\treturn /^([a-zA-Z0-9])([a-zA-Z0-9_\\.\\-])*([a-zA-Z0-9_])\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z]{2,4})+$/.test(email);\n\t\t}\n\n\t\tfunction isValidUsPostalCode(postalCode) {\n\t\t\tif (/^[0-9]{5}$/.test(postalCode)) { //97008\n\t\t\t\treturn true;\n\t\t\t} else if (/^[0-9]{5}(-[0-9]{4})$/.test(postalCode)) { //97008-4928\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction isValidPassword(password) {\n\t\t\tif (password.length > 0) {\n\t\t\t\tvar hasLowerCase = Boolean(/^(?=.*[a-z])/.test(password));\n\t\t\t\tvar hasUpperCase = Boolean(/^(?=.*[A-Z])/.test(password));\n\t\t\t\tvar hasNumber = Boolean(/^(?=.*\\d)/.test(password));\n\t\t\t\tvar hasSpecialCharacter = Boolean(/(?=.*[\\W|_])/.test(password));\n\t\t\t\tvar hasThreePasswordStrengths = Number(hasLowerCase) + Number(hasUpperCase) + Number(hasNumber) + Number(hasSpecialCharacter) >= 3;\n\n\t\t\t\treturn !(!hasThreePasswordStrengths || password.length < 15);\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n})();\n","angular.module('onboarding.constants', [])\r\n\r\n.constant('appConfig', {appVersion:'0202584432'})\r\n\r\n;","'use strict';\n\nangular.module('onboarding.carrier',\n\t[\n\t]);\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierRegistration', cobCarrierRegistration);\n\n\tcobCarrierRegistration.$inject = [\n\t\t'$state', 'subjectObserverMessagesService', 'observerService', 'carrierRegistrationService',\n\t\t'authenticationService', 'sessionService', 'validationService', 'spinnerService'\n\t];\n\n\tvar $state,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tcarrierRegistrationService,\n\t\tauthenticationService,\n\t\tsessionService,\n\t\tspinnerService,\n\t\tvalidationService;\n\n\tfunction cobCarrierRegistration(_$state_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierRegistrationService_,\n\t\t_authenticationService_,\n\t\t_sessionService_,\n\t\t_validationService_,\n\t\t_spinnerService_) {\n\t\t$state = _$state_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\tauthenticationService = _authenticationService_;\n\t\tsessionService = _sessionService_;\n\t\tvalidationService = _validationService_;\n\t\tspinnerService = _spinnerService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/carrierRegistration.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\t\t\tvar carrier = carrierRegistrationService.getCarrier();\n\n\t\t\tif (Object.keys(carrier).length === 0) {\n\t\t\t\t$state.go('dot');\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tscope.m = {\n\t\t\t\tcarrier: carrier,\n\t\t\t\tfirstName: '',\n\t\t\t\tlastName: '',\n\t\t\t\tjobTitle: '',\n\t\t\t\tphoneNumber: '',\n\t\t\t\tphoneExtension: '',\n\t\t\t\temailAddress: '',\n\t\t\t\tpassword1: '',\n\t\t\t\tpassword2: '',\n\t\t\t\tfirstNameError: '',\n\t\t\t\tlastNameError: '',\n\t\t\t\tphoneNumberError: '',\n\t\t\t\tjobTitleError: '',\n\t\t\t\temailAddressError: '',\n\t\t\t\tpassword1Error: '',\n\t\t\t\tpassword2Error: '',\n\t\t\t\tisAccountCreatedSuccess: false,\n\n\t\t\t\terrors: []\n\t\t\t};\n\n\t\t\tscope.submitForm = submitForm;\n\t\t\tscope.validateFirstNameField = validateFirstNameField;\n\t\t\tscope.validateLastNameField = validateLastNameField;\n\t\t\tscope.validateJobTitleField = validateJobTitleField;\n\t\t\tscope.validatePhoneNumberField = validatePhoneNumberField;\n\t\t\tscope.validateEmailAddressField = validateEmailAddressField;\n\t\t\tscope.validatePassword1 = validatePassword1;\n\t\t\tscope.validatePasswords = validatePasswords;\n\t\t\tscope.getIntrastateLabel = getIntrastateLabel;\n\n\t\t\tregisterObserverHandlers();\n\t\t\tdocument.title = 'Carrier Registration';\n\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_LOGIN_FINISHED_SUCCESS, handler: onLoginSuccess },\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction submitForm() {\n\t\t\tvalidateForm();\n\t\t}\n\n\t\tfunction validateForm() {\n\t\t\tvalidateFirstNameField();\n\t\t\tvalidateLastNameField();\n\t\t\tvalidateJobTitleField();\n\t\t\tvalidatePhoneNumberField();\n\t\t\tvalidateEmailAddressField();\n\t\t\tvalidatePasswords();\n\n\t\t\tif (scope.m.firstNameError.length === 0 &&\n scope.m.lastNameError.length === 0 &&\n scope.m.phoneNumberError.length === 0 &&\n scope.m.emailAddressError.length === 0 &&\n scope.m.jobTitleError.length === 0 &&\n scope.m.password1Error.length === 0 &&\n scope.m.password2Error.length === 0) {\n\n\t\t\t\tspinnerService.startSpinner(scope);\n\n\t\t\t\tcarrierRegistrationService.registerCarrier(scope.m.carrier.tCoreId,\n\t\t\t\t\tscope.m.firstName,\n\t\t\t\t\tscope.m.lastName,\n\t\t\t\t\tscope.m.jobTitle,\n\t\t\t\t\tscope.m.phoneNumber,\n\t\t\t\t\tscope.m.phoneExtension,\n\t\t\t\t\tscope.m.emailAddress,\n\t\t\t\t\tscope.m.password1)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tif (!response.data.accountAlreadyExists) {\n\t\t\t\t\t\t\tscope.m.isAccountCreatedSuccess = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.m.emailAddressError = 'The email address entered is already associated ' +\n 'with an existing DAT OnBoard account. Please enter a different email address to proceed.';\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.finally(function() {\n\t\t\t\t\t\tspinnerService.stopSpinner(scope);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t}\n\n\t\tfunction validateFirstNameField() {\n\t\t\tif (scope.m.firstName.length === 0) {\n\t\t\t\tscope.m.firstNameError = 'Input is required';\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tscope.m.firstNameError = '';\n\n\t\t\treturn scope.m.firstNameError.length === 0;\n\t\t}\n\n\t\tfunction validateLastNameField() {\n\t\t\tif (scope.m.lastName.length === 0) {\n\t\t\t\tscope.m.lastNameError = 'Input is required';\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tscope.m.lastNameError = '';\n\n\t\t\treturn scope.m.lastNameError.length === 0;\n\t\t}\n\n\t\tfunction validateJobTitleField() {\n\t\t\tif (scope.m.jobTitle.length === 0) {\n\t\t\t\tscope.m.jobTitleError = 'Input is required';\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tscope.m.jobTitleError = '';\n\n\t\t\treturn scope.m.jobTitleError.length === 0;\n\t\t}\n\n\t\tfunction validatePhoneNumberField() {\n\t\t\tif (scope.m.phoneNumber.length === 0) {\n\t\t\t\tscope.m.phoneNumberError = 'Input is required';\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (scope.m.phoneNumber.length !== 10) {\n\t\t\t\tscope.m.phoneNumberError = 'Valid input is required';\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (scope.m.phoneNumber[0] === '0' || scope.m.phoneNumber[0] === '1') {\n\t\t\t\tscope.m.phoneNumberError = 'Valid input is required';\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tscope.m.phoneNumberError = '';\n\n\t\t\treturn scope.m.phoneNumberError.length === 0;\n\t\t}\n\n\t\tfunction validateEmailAddressField() {\n\t\t\tif (scope.m.emailAddress.length === 0) {\n\t\t\t\tscope.m.emailAddressError = 'Input is required';\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (!validationService.isValidEmail(scope.m.emailAddress)) {\n\t\t\t\tscope.m.emailAddressError = 'Valid email is required';\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tscope.m.emailAddressError = '';\n\n\t\t\treturn scope.m.emailAddressError.length === 0;\n\t\t}\n\n\t\tfunction validatePassword1() {\n\t\t\tif (scope.m.password1.length === 0) {\n\t\t\t\tscope.m.password1Error = 'Input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.password1Error = '';\n\t\t\t}\n\n\t\t\tif (scope.m.password1.length > 0) {\n\t\t\t\tif (!validationService.isValidPassword(scope.m.password1)) {\n\t\t\t\t\tscope.m.password1Error = 'Password requirements were not met.';\n\t\t\t\t} else {\n\t\t\t\t\tscope.m.password1Error = '';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction validatePasswords() {\n\t\t\tif (scope.m.password1.length === 0) {\n\t\t\t\tscope.m.password1Error = 'Input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.password1Error = '';\n\t\t\t}\n\n\t\t\tif (scope.m.password2.length === 0) {\n\t\t\t\tscope.m.password2Error = 'Input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.password2Error = '';\n\t\t\t}\n\n\t\t\tif (scope.m.password1.length > 0) {\n\t\t\t\tif (!validationService.isValidPassword(scope.m.password1)) {\n\t\t\t\t\tscope.m.password1Error = 'Password requirements were not met.';\n\t\t\t\t} else {\n\t\t\t\t\tscope.m.password1Error = '';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (scope.m.password2.length > 0) {\n\t\t\t\tif (!validationService.isValidPassword(scope.m.password2)) {\n\t\t\t\t\tscope.m.password2Error = 'Password requirements were not met.';\n\t\t\t\t} else {\n\t\t\t\t\tscope.m.password2Error = '';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (scope.m.password1.length > 0 && scope.m.password2.length > 0) {\n\t\t\t\tif (scope.m.password1 !== scope.m.password2) {\n\t\t\t\t\tscope.m.password2Error = 'Passwords must match';\n\t\t\t\t} else {\n\t\t\t\t\tscope.m.password2Error = '';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn scope.m.password1Error.length === 0 && scope.m.password2Error.length === 0;\n\t\t}\n\n\t\tfunction getIntrastateLabel() {\n\t\t\tif (scope.m.carrier.intrastateState === 'AB' ||\n scope.m.carrier.intrastateState === 'BC' ||\n scope.m.carrier.intrastateState === 'ON' ||\n scope.m.carrier.intrastateState === 'PQ' ||\n scope.m.carrier.intrastateState === 'MB' ||\n scope.m.carrier.intrastateState === 'NS' ||\n scope.m.carrier.intrastateState === 'NB' ||\n scope.m.carrier.intrastateState === 'PE' ||\n scope.m.carrier.intrastateState === 'SK' ||\n scope.m.carrier.intrastateState === 'NL' ||\n scope.m.carrier.intrastateState === 'NT' ||\n scope.m.carrier.intrastateState === 'YT' ||\n scope.m.carrier.intrastateState === 'NU') {\n\t\t\t\treturn 'Canadian DAT ID Number: ';\n\t\t\t} else {\n\t\t\t\treturn 'Intrastate Number: ';\n\t\t\t}\n\t\t}\n\n\t\tfunction onLoginSuccess() {\n\t\t\tsessionService.saveCarrierVisit();\n\t\t\t$state.go('carrierProfile.company.showModal');\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobAccountCreatedModal', cobAccountCreatedModal);\n\n\tcobAccountCreatedModal.$inject = ['sessionService', '$state', 'subjectObserverMessagesService', 'observerService'];\n\n\tvar sessionService,\n\t\t$state,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\t_domain;\n\n\tfunction cobAccountCreatedModal(_sessionService_, _$state_, _subjectObserverMessagesService_, _observerService_) {\n\t\tsessionService = _sessionService_;\n\t\t$state = _$state_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: false,\n\t\t\ttemplateUrl: '/app/carrier/profile/accountCreatedSuccess.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\t\t\tscope.m = {};\n\t\t\n\t\t\tscope.onStartProfile = onStartProfile;\n\t\t\tdocument.title = 'Account Created';\n\t\t\t_domain = getDomain(); \n\n\t\t\tif (_domain) {\n\t\t\t\tsetBrokerBrandingByName(); \n\t\t\t}\n\t\t}\n\n\t\tfunction onStartProfile() {\n\t\t\tsessionService.redirectToLogin();\n\t\t}\n\n\t\tfunction setBrokerBrandingByName() {\n\t\t\tsessionService.getBrokerByDomainName(_domain)\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tvar broker = response.data;\n\n\t\t\t\t\tif (broker.imageMimeType) {\n\t\t\t\t\t\tscope.m.logoUrl = 'data:' + broker.imageMimeType + ';base64,' + broker.imageFile;\n\t\t\t\t\t}\n\n\t\t\t\t\tscope.m.welcomeMessage = broker.welcomeMessage;\n\t\t\t\t\tscope.m.brokerName = broker.brokerName;\n\t\t\t\t}); \n\t\t}\n\n\t\tfunction getDomain() {\n\t\t\treturn $('base').attr('href').split('/')[1];\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierProfile', cobCarrierProfile);\n\n\tcobCarrierProfile.$inject = [\n\t\t'$timeout', 'sessionService', 'subjectObserverMessagesService', 'observerService', 'carrierRegistrationService'\n\t];\n\n\tvar $timeout, sessionService, subjectObserverMessagesService, observerService, carrierRegistrationService;\n\tvar subjectMessages, observerMessages;\n\n\tfunction cobCarrierProfile(_$timeout_,\n\t\t_sessionService_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierRegistrationService_) {\n\t\t$timeout = _$timeout_;\n\t\tsessionService = _sessionService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfile.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierProfileCompany', cobCarrierProfileCompany);\n\n\tcobCarrierProfileCompany.$inject = [\n\t\t'$location', '$timeout', 'subjectObserverMessagesService', 'observerService', 'sessionService',\n\t\t'carrierRegistrationService', 'carrierDocumentsService', '$stateParams', 'spinnerService'\n\t];\n\n\tvar NOA_DOCUMENT_TYPE = 'Notice of Assigment (NOA)';\n\tvar NOA_DOCUMENT_HEADER_INFO = 'Please upload Notice of Assigment (NOA) document';\n\tvar NOA_DOCUMENT_UPLOADED_MESSAGE = 'You can now proceed with onboarding (registration).';\n\n\tvar CORPORATION_COMPANY_TYPE = 'Corporation';\n\tvar PARTNERSHIP_COMPANY_TYPE = 'Partnership';\n\tvar SOLE_PROPRIETORSHIP_COMPANY_TYPE = 'Sole Proprietorship';\n\tvar LIMITED_LIABILITY_COMPANY_TYPE = 'Limited Liability Company (LLC)';\n\tvar COOPERATIVE_CANADA_COMPANY_TYPE = 'Cooperative (Canada)';\n\n\tvar $location,\n\t\t$timeout,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tsessionService,\n\t\tcarrierRegistrationService,\n\t\tcarrierDocumentsService,\n\t\tspinnerService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\t$stateParams;\n\n\tfunction cobCarrierProfileCompany(\n\t\t_$location_,\n\t\t_$timeout_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_sessionService_,\n\t\t_carrierRegistrationService_,\n\t\t_carrierDocumentsService_,\n\t\t_$stateParams_,\n\t\t_spinnerService_) {\n\t\t$timeout = _$timeout_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tsessionService = _sessionService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\tcarrierDocumentsService = _carrierDocumentsService_;\n\t\tspinnerService = _spinnerService_;\n\t\t$location = _$location_;\n\t\t$stateParams = _$stateParams_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfileCompany.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\t\t\tscope.carrierId = $stateParams.carrierId;\n\t\t\tif (!scope.carrierId) {\n\t\t\t\tscope.carrierId = -1;\n\t\t\t}\n\n\t\t\tscope.noaDocumentHeaderInfo = NOA_DOCUMENT_HEADER_INFO;\n\t\t\tscope.noaDocumentUploadedMessage = NOA_DOCUMENT_UPLOADED_MESSAGE;\n\n\t\t\tscope.tab = '';\n\t\t\tscope.setIsDirty = setIsDirty;\n\t\t\tscope.scacKeyDown = scacKeyDown;\n\t\t\tscope.veteranOwnedChange = veteranOwnedChange;\n\t\t\tscope.minorityOwnedChange = minorityOwnedChange;\n\t\t\tscope.certifiedByNMSDCChanged = certifiedByNMSDCChanged;\n\t\t\tscope.mailingAddressSameAsPhysicalAddressChange = mailingAddressSameAsPhysicalAddressChange;\n\t\t\tscope.remitToAddressSameAsPhysicalAddressChange = remitToAddressSameAsPhysicalAddressChange;\n\t\t\tscope.remitToAddressSameAsMailingAddressChange = remitToAddressSameAsMailingAddressChange;\n\t\t\tscope.factoringCompanyChange = factoringCompanyChange;\n\n\t\t\tscope.validateCompanyTypeField = validateCompanyTypeField;\n\t\t\tscope.validateYearFoundedField = validateYearFoundedField;\n\t\t\tscope.validateScacField = validateScacField;\n\t\t\tscope.validateRemitToNameField = validateRemitToNameField;\n\n\t\t\tscope.onForceGo = onForceGo;\n\t\t\tscope.saveData = saveData;\n\t\t\tscope.goToTab = goToTab;\n\t\t\tscope.uploadNoaFile = uploadNoaFile;\n\t\t\tscope.deleteNoaFile = deleteNoaFile;\n\n\t\t\tscope.ux_requirement_hack_for_scrolling = false;\n\n\t\t\tscope.m = {\n\t\t\t\tisDirty: false,\n\t\t\t\tisBroker: sessionService.isBroker(),\n\t\t\t\tisAdmin: sessionService.isAuthorizedInternalAdmin(),\n\t\t\t\tmailingAddressSameAsPhysicalAddress: true,\n\t\t\t\tremitToAddressSameAsPhysicalAddress: true,\n\t\t\t\tremitToAddressSameAsMailingAddress: false,\n\t\t\t\tfactoringCompanyDocuments: []\n\t\t\t};\n\n\t\t\tscope.companyTypesDic = createCompanyTypesDic();\n\n\t\t\tscope.companyTypes = [\n\t\t\t\tCORPORATION_COMPANY_TYPE,\n\t\t\t\tLIMITED_LIABILITY_COMPANY_TYPE,\n\t\t\t\tSOLE_PROPRIETORSHIP_COMPANY_TYPE,\n\t\t\t\tPARTNERSHIP_COMPANY_TYPE,\n\t\t\t\tCOOPERATIVE_CANADA_COMPANY_TYPE\n\t\t\t];\n\n\t\t\tscope.minorityTypes = {\n\t\t\t\t' ': ' ', // using blank makes 2 options once selected\n\t\t\t\t'AsianPacific': 'Asian Pacific',\n\t\t\t\t'AfricanAmerican': 'African American',\n\t\t\t\t'Hispanic': 'Hispanic',\n\t\t\t\t'AsianIndianAmerican': 'Asian-Indian American',\n\t\t\t\t'NativeAmericanIndian': 'Native American Indian'\n\t\t\t};\n\t\t\tregisterObserverHandlers();\n\t\t\tloadData();\n\t\t\tdocument.title = 'Profile-Company';\n\n\t\t\t$timeout(function() {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_LOAD);\n\t\t\t},\n\t\t\t100);\n\n\t\t}\n\n\t\tfunction createCompanyTypesDic() {\n\t\t\tvar companyTypesDic = {};\n\t\t\tcompanyTypesDic[CORPORATION_COMPANY_TYPE] = 'Corporation';\n\t\t\tcompanyTypesDic[PARTNERSHIP_COMPANY_TYPE] = 'Partnership';\n\t\t\tcompanyTypesDic[SOLE_PROPRIETORSHIP_COMPANY_TYPE] = 'SoleProprietorship';\n\t\t\tcompanyTypesDic[LIMITED_LIABILITY_COMPANY_TYPE] = 'LimitedLiabilityCompanyLLC';\n\t\t\tcompanyTypesDic[COOPERATIVE_CANADA_COMPANY_TYPE] = 'CooperativeCanada';\n\n\t\t\treturn companyTypesDic;\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_START_CHANGE_CARRIER_PROFILE_VIEW, handler: saveData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CARRIER_PROFILE_VIEW_IS_DIRTY, handler: setIsDirty },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SET_PENDING_TAB, handler: setPendingTab }\n\t\t\t\t]);\n\n\t\t\tscope.$on('$destroy',\n\t\t\t\tfunction() {\n\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t});\n\n\t\t\tscope.$on('$locationChangeStart',\n\t\t\t\tfunction(event) {\n\t\t\t\t\tif (scope.m.isDirty) {\n\t\t\t\t\t\tif (!scope.ux_requirement_hack_for_scrolling) {\n\t\t\t\t\t\t\tif (!\n\t\t\t\t\t\t\tconfirm('You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page. Are you sure you want to leave the page?')) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tscope.ux_requirement_hack_for_scrolling = false;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction factoringCompanyChange() {\n\t\t\tscope.m.remitToName = null;\n\t\t\tscope.m.remitToAddress = {};\n\t\t\tscope.m.remitToNameError = '';\n\t\t\tscope.m.factoringCompanyDocumentError = '';\n\t\t\tscope.m.remitToAddressSameAsMailingAddress = false;\n\t\t\tscope.m.remitToAddressSameAsPhysicalAddress = false;\n\t\t\tsetIsDirty();\n\t\t}\n\n\t\tfunction setIsDirty() {\n\t\t\tscope.m.isDirty = true;\n\t\t\twindow.onbeforeunload = function() {\n\t\t\t\treturn 'You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page.';\n\t\t\t};\n\t\t}\n\n\t\tfunction loadData() {\n\t\t\tcarrierRegistrationService.lookupCarrierCompanyInfo(scope.carrierId)\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tscope.m.certificationNumber = response.data.certificationNumber;\n\t\t\t\t\tscope.m.certifiedByNMSDC = response.data.certifiedByNMSDC;\n\n\t\t\t\t\tscope.m.compnayName = response.data.compnayName;\n\t\t\t\t\tscope.m.status = response.data.status;\n\t\t\t\t\tscope.m.companyType = getCompanyType(response.data.companyType);\n\t\t\t\t\tscope.m.disabaledVeteranOwned = response.data.disabaledVeteranOwned;\n\t\t\t\t\tif (response.data.minorityType === 'NotMinorityOwned') {\n\t\t\t\t\t\tscope.m.minorityType = ' ';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tscope.m.minorityType = response.data.minorityType;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (response.data.minorityOwned) {\n\t\t\t\t\t\tscope.m.minorityOwned = response.data.minorityOwned;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tscope.m.minorityOwned = false;\n\t\t\t\t\t}\n\n\t\t\t\t\tscope.m.nameOfRegionalCouncil = response.data.nameOfRegionalCouncil;\n\n\t\t\t\t\tscope.m.scac = response.data.scac;\n\t\t\t\t\tscope.m.veteranOwned = response.data.veteranOwned;\n\t\t\t\t\tscope.m.womanOwned = response.data.womanOwned;\n\n\t\t\t\t\tif (response.data.yearFounded > 0)\n\t\t\t\t\t\tscope.m.yearFounded = response.data.yearFounded;\n\n\t\t\t\t\tif (response.data.physicalAddress) {\n\t\t\t\t\t\tscope.m.physicalAddress = response.data.physicalAddress;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tscope.physicalAddress = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tscope.m.mailingAddressSameAsPhysicalAddress = response.data.mailingAddressSameAsPhysicalAddress;\n\t\t\t\t\tif (!response.data.mailingAddressSameAsPhysicalAddress) {\n\t\t\t\t\t\tif (response.data.mailingAddress) {\n\t\t\t\t\t\t\tscope.m.mailingAddress = response.data.mailingAddress;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.m.mailingAddress = {};\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tscope.m.mailingAddress = {};\n\t\t\t\t\t}\n\t\t\t\t\tscope.m.remitToAddressSameAsMailingAddress = response.data.remitToAddressSameAsMailingAddress;\n\t\t\t\t\tscope.m.remitToAddressSameAsPhysicalAddress = response.data.remitToAddressSameAsPhysicalAddress;\n\t\t\t\t\tif (!scope.m.remitToAddressSameAsMailingAddress && !scope.m.remitToAddressSameAsPhysicalAddress) {\n\t\t\t\t\t\tif (response.data.remitToAddress) {\n\t\t\t\t\t\t\tscope.m.remitToName = response.data.remitToName;\n\t\t\t\t\t\t\tscope.m.remitToAddress = response.data.remitToAddress;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.m.remitToAddress = {};\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tscope.m.remitToAddress = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tscope.m.interestInQuickPay = response.data.quickPay;\n\t\t\t\t\tscope.m.factoringCompany = response.data.factoringCompany;\n\t\t\t\t\tscope.m.isDirty = false;\n\t\t\t\t\twindow.onbeforeunload = undefined;\n\n\t\t\t\t\tloadDocuments();\n\t\t\t\t})\n\t\t\t\t.catch(function(e) {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t}\n\n\t\tfunction getCompanyType(companyType) {\n\t\t\treturn Object.keys(scope.companyTypesDic)\n\t\t\t\t.find(function (key) {\n\t\t\t\t\treturn scope.companyTypesDic[key] === companyType;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction loadDocuments() {\n\t\t\tcarrierRegistrationService.lookupCarrierDocuments(scope.carrierId).then(function (response) {\n\t\t\t\tvar documents = response.data.documents;\n\t\t\t\tscope.m.factoringCompanyDocuments = carrierDocumentsService.getDocumentsByType(documents, NOA_DOCUMENT_TYPE);\n\t\t\t});\n\t\t}\n\n\t\tfunction scacKeyDown(event) {\n\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\tvar key = event.keyCode;\n\n\t\t\tswitch (charCode) {\n\t\t\tcase 8: //backspace\n\t\t\tcase 35: //end\n\t\t\tcase 36: //home\n\t\t\tcase 37: //left arrow\n\t\t\tcase 39: //right arrow\n\t\t\tcase 46: //delete\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If the keys include the TAB, CTRL, SHIFT, ALT, or META keys, 10 key pad, or the arrow keys, do nothing.\n\t\t\t// This lets us support copy and paste too\n\t\t\tif ((key === 91) ||\n (15 < key && key < 19) ||\n (37 <= key && key <= 40) ||\n (key === 9) ||\n (96 <= key && key <= 105)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t//comma\n\t\t\tif ((key === 188)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!/^[a-z ]+$/i.test(String.fromCharCode(charCode))) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tfunction goToTab(tab) {\n\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_SET_PENDING_TAB, tab);\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_START_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tnavigate);\n\t\t}\n\n\t\tfunction setPendingTab(tab) {\n\t\t\tscope.tab = tab;\n\t\t}\n\n\t\tfunction navigate() {\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_FINISH_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tscope.tab);\n\t\t}\n\n\t\tfunction onForceGo() {\n\t\t\tif (typeof (scope.pendingCallback) === 'function')\n\t\t\t\tscope.pendingCallback();\n\t\t}\n\n\t\tfunction saveData(callback, isRecursive) {\n\t\t\t// Brokers cannot save data.\n\t\t\tif (scope.m.isDirty && !scope.m.isBroker) {\n\t\t\t\tif (!isRecursive) {\n\t\t\t\t\tvalidateAddresses();\n\t\t\t\t}\n\t\t\t\tif (scope.m.physicalAddressIsValid === null ||\n scope.m.mailingAddressIsValid === null ||\n scope.m.remitToAddressIsValid === null) {\n\t\t\t\t\t$timeout(function() { saveData(callback, true); }, 100);\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (validateForm()) {\n\t\t\t\t\tif (scope.m.remitToAddressSameAsPhysicalAddress || scope.m.remitToAddressSameAsMailingAddress) {\n\t\t\t\t\t\tscope.m.remitToName = null;\n\t\t\t\t\t}\n\t\t\t\t\tcarrierRegistrationService.updateCarrierCompanyInfo(scope.carrierId,\n\t\t\t\t\t\tscope.companyTypesDic[scope.m.companyType],\n\t\t\t\t\t\tscope.m.yearFounded,\n\t\t\t\t\t\tscope.m.scac,\n\t\t\t\t\t\tscope.m.womanOwned,\n\t\t\t\t\t\tscope.m.veteranOwned,\n\t\t\t\t\t\tscope.m.disabaledVeteranOwned,\n\t\t\t\t\t\tscope.m.minorityOwned,\n\t\t\t\t\t\tscope.m.minorityType,\n\t\t\t\t\t\tscope.m.certifiedByNMSDC,\n\t\t\t\t\t\tscope.m.nameOfRegionalCouncil,\n\t\t\t\t\t\tscope.m.certificationNumber,\n\t\t\t\t\t\tscope.m.physicalAddress,\n\t\t\t\t\t\tscope.m.mailingAddressSameAsPhysicalAddress,\n\t\t\t\t\t\tscope.m.mailingAddress,\n\t\t\t\t\t\tscope.m.remitToAddressSameAsPhysicalAddress,\n\t\t\t\t\t\tscope.m.remitToAddressSameAsMailingAddress,\n\t\t\t\t\t\tscope.m.remitToName,\n\t\t\t\t\t\tscope.m.remitToAddress,\n\t\t\t\t\t\tscope.m.interestInQuickPay,\n\t\t\t\t\t\tscope.m.factoringCompany)\n\t\t\t\t\t\t.then(function() {\n\t\t\t\t\t\t\tscope.m.isDirty = false;\n\t\t\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_STATUS,\n\t\t\t\t\t\t\t\t\t'company');\n\t\t\t\t\t\t\tif (typeof (callback) === 'function')\n\t\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.pendingCallback = callback;\n\t\t\t\t\tscope.showSectionMessage = true;\n\n\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\tscope.ux_requirement_hack_for_scrolling = true;\n\t\t\t\t\t\t$('.profile-company')\n\t\t\t\t\t\t\t.animate({\n\t\t\t\t\t\t\t\tscrollTop: $('#error-summary').offset().top\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t200);\n\t\t\t\t\t\tsetIsDirty();\n\t\t\t\t\t},\n\t\t\t\t\t1);\n\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (typeof (callback) === 'function')\n\t\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\n\t\tfunction veteranOwnedChange() {\n\t\t\tif (!scope.m.veteranOwned) {\n\t\t\t\tscope.m.disabaledVeteranOwned = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction minorityOwnedChange() {\n\t\t\tif (!scope.m.minorityOwned) {\n\t\t\t\tscope.m.minorityType = ' ';\n\t\t\t\tscope.m.certifiedByNMSDC = false;\n\t\t\t\tcertifiedByNMSDCChanged();\n\t\t\t}\n\t\t}\n\n\t\tfunction certifiedByNMSDCChanged() {\n\t\t\tif (!scope.m.certifiedByNMSDC) {\n\t\t\t\tscope.m.nameOfRegionalCouncil = '';\n\t\t\t\tscope.m.certificationNumber = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction mailingAddressSameAsPhysicalAddressChange() {\n\t\t\tif (scope.m.mailingAddressSameAsPhysicalAddress) {\n\t\t\t\tscope.m.mailingAddress = {};\n\t\t\t\tif (scope.m.remitToAddressSameAsMailingAddress) {\n\t\t\t\t\tscope.m.remitToAddressSameAsPhysicalAddress = true;\n\t\t\t\t\tscope.m.remitToAddressSameAsMailingAddress = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction remitToAddressSameAsPhysicalAddressChange() {\n\t\t\tif (scope.m.remitToAddressSameAsPhysicalAddress) {\n\t\t\t\tscope.m.remitToAddress = {};\n\t\t\t\tscope.m.remitToAddressSameAsMailingAddress = false;\n\t\t\t\tscope.m.remitToNameError = '';\n\t\t\t\tscope.m.remitToName = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction remitToAddressSameAsMailingAddressChange() {\n\t\t\tif (scope.m.remitToAddressSameAsMailingAddress) {\n\t\t\t\tscope.m.remitToAddress = {};\n\t\t\t\tscope.m.remitToAddressSameAsPhysicalAddress = false;\n\t\t\t\tscope.m.remitToNameError = '';\n\t\t\t\tscope.m.remitToName = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateForm() {\n\n\t\t\tvalidateCompanyTypeField();\n\t\t\tvalidateYearFoundedField();\n\t\t\tvalidateScacField();\n\t\t\tvalidateRemitToNameField();\n\t\t\tvalidateQuikPayField();\n\t\t\tvalidateFactoringCompanyField();\n\t\t\tvalidateFactoringCompanyDocument();\n\n\t\t\tvar isValid = isFormValid();\n\t\t\tif (isValid) {\n\t\t\t\tscope.showSectionMessage = false;\n\t\t\t}\n\n\t\t\treturn isValid;\n\t\t}\n\n\t\tfunction isFormValid() {\n\t\t\treturn !scope.m.companyTypeError && !scope.m.yearFoundedError && !scope.m.scacError &&\n scope.m.physicalAddressIsValid && scope.m.mailingAddressIsValid && scope.m.remitToAddressIsValid &&\n !scope.m.remitToNameError & !scope.m.QuikPayError && !scope.m.factoringCompanyError && !scope.m.factoringCompanyDocumentError;\n\t\t}\n\n\t\tfunction validateAddresses() {\n\t\t\tscope.m.physicalAddressIsValid = null;\n\t\t\tif (!scope.m.mailingAddressSameAsPhysicalAddress)\n\t\t\t\tscope.m.mailingAddressIsValid = null;\n\t\t\telse\n\t\t\t\tscope.m.mailingAddressIsValid = true;\n\n\t\t\tif (!scope.m.remitToAddressSameAsMailingAddress && !scope.m.remitToAddressSameAsPhysicalAddress)\n\t\t\t\tscope.m.remitToAddressIsValid = null;\n\t\t\telse\n\t\t\t\tscope.m.remitToAddressIsValid = true;\n\t\t}\n\n\t\tfunction validateCompanyTypeField() {\n\t\t\tif (!scope.m.companyType) {\n\t\t\t\tscope.m.companyTypeError = 'Please select an option';\n\t\t\t} else {\n\t\t\t\tscope.m.companyTypeError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateYearFoundedField() {\n\t\t\tif (typeof scope.m.yearFounded === 'string') {\n\t\t\t\tif (!scope.m.yearFounded ||\n !scope.m.yearFounded.match(/^(?:19|20)\\d{2}$/)) {\n\t\t\t\t\tscope.m.yearFoundedError = 'Valid input is required';\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tscope.m.yearFounded = parseInt(scope.m.yearFounded);\n\t\t\t}\n\t\t\tif (scope.m.yearFounded > new Date().getFullYear()) {\n\t\t\t\tscope.m.yearFoundedError = 'Valid input is required';\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tscope.m.yearFoundedError = '';\n\t\t}\n\n\t\tfunction validateScacField() {\n\t\t\tif (scope.m.scac) {\n\t\t\t\tif (!scope.m.scac.match(/^[a-zA-Z]{2,4}(,\\s?[a-zA-Z]{2,4})*$/)) {\n\t\t\t\t\tscope.m.scacError = 'Valid input is required';\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tscope.m.scacError = '';\n\t\t}\n\n\t\tfunction validateRemitToNameField() {\n\t\t\tif (!scope.m.remitToAddressSameAsMailingAddress &&\n !scope.m.remitToAddressSameAsPhysicalAddress &&\n scope.m.factoringCompany &&\n !scope.m.remitToName) {\n\t\t\t\tscope.m.remitToNameError = 'Valid input is required.';\n\t\t\t} else {\n\t\t\t\tscope.m.remitToNameError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateQuikPayField() {\n\t\t\tif (typeof (scope.m.interestInQuickPay) === 'boolean') {\n\t\t\t\tscope.m.QuikPayError = '';\n\t\t\t} else {\n\t\t\t\tscope.m.QuikPayError = 'Please select an option.';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateFactoringCompanyField() {\n\t\t\tif (typeof (scope.m.factoringCompany) === 'boolean') {\n\t\t\t\tscope.m.factoringCompanyError = '';\n\t\t\t} else {\n\t\t\t\tscope.m.factoringCompanyError = 'Please select an option.';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateFactoringCompanyDocument() {\n\t\t\tscope.m.factoringCompanyDocumentError = '';\n\n\t\t\tif (!scope.m.factoringCompany) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!scope.m.factoringCompanyDocuments || scope.m.factoringCompanyDocuments.length === 0) {\n\t\t\t\tscope.m.factoringCompanyDocumentError = 'Document upload is mandatory. Please make sure to attach your Notice of Assignment (NOA).';\n\t\t\t}\n\t\t}\n\n\t\tfunction uploadNoaFile(file) {\n\t\t\tif (!file) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar validationResult = carrierDocumentsService.validateFile(file);\n\t\t\tif (!validationResult.succeeded) {\n\t\t\t\tscope.m.factoringCompanyUploadResult = validationResult;\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tuploadFile(file, NOA_DOCUMENT_TYPE);\n\t\t}\n\n\t\tfunction uploadFile(file, type) {\n\t\t\tspinnerService.startSpinner(scope);\n\n\t\t\tcarrierDocumentsService.getBase64DataUrl(file).then(function (url) {\n\t\t\t\tvar documentFile = {\n\t\t\t\t\tdocumentName: file.name,\n\t\t\t\t\tmimeType: file.type,\n\t\t\t\t\tdocumentType: type,\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tbase64: url.split(',')[1]\n\t\t\t\t};\n\n\t\t\t\tcarrierDocumentsService.uploadDocument(documentFile, scope.carrierId).then(function (response) {\n\t\t\t\t\tif (response.data.isSuccess) {\n\t\t\t\t\t\tif (type === NOA_DOCUMENT_TYPE) {\n\t\t\t\t\t\t\tscope.m.factoringCompanyDocuments.unshift(response.data.document);\n\t\t\t\t\t\t\tscope.m.factoringCompanyUploadedRecently = true;\n\t\t\t\t\t\t\tscope.m.factoringCompanyUploadResult = carrierDocumentsService.getResult(true);\n\t\t\t\t\t\t\tscope.m.factoringCompanyDocumentError = '';\n\t\t\t\t\t\t\tsetIsDirty();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}).finally(function () {\n\t\t\t\t\tspinnerService.stopSpinner(scope);\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tfunction deleteNoaFile(file) {\n\t\t\tscope.m.factoringCompanyUploadedRecently = false;\n\t\t\tscope.m.factoringCompanyUploadResult = {};\n\t\t\tsetIsDirty();\n\t\t}\n\t}\n\n})();\n","/* eslint-disable no-useless-escape */\n/* eslint-disable no-undef */\n// TODO: remove code above and fix issues in case changing this file\n'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierProfileContacts', cobCarrierProfileContacts);\n\n\tcobCarrierProfileContacts.$inject = [\n\t\t'$timeout', 'sessionService', 'subjectObserverMessagesService',\n\t\t'observerService', 'carrierRegistrationService', 'validationService', '$stateParams'\n\t];\n\n\tvar $timeout,\n\t\tsessionService,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tcarrierRegistrationService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\thasPrimary,\n\t\tvalidationService,\n\t\t$stateParams;\n\n\n\tfunction cobCarrierProfileContacts(_$timeout_,\n\t\t_sessionService_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierRegistrationService_,\n\t\t_validationService_,\n\t\t_$stateParams_) {\n\t\t$timeout = _$timeout_;\n\t\tsessionService = _sessionService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\tvalidationService = _validationService_;\n\t\t$stateParams = _$stateParams_;\n\n\t\thasPrimary = false;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfileContacts.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\t\t\tscope.carrierId = $stateParams.carrierId;\n\n\t\t\tscope.contactNameTypeAheadFilter = contactNameTypeAheadFilter;\n\t\t\tscope.contactNameTypeAheadSelect = contactNameTypeAheadSelect;\n\t\t\tscope.contactNameChange = contactNameChange;\n\t\t\tscope.contactNameBlur = contactNameBlur;\n\t\t\tscope.contactNameFocus = contactNameFocus;\n\t\t\tscope.contactPrimaryDisable = contactPrimaryDisable;\n\n\t\t\tscope.contactAddEditClick = contactAddEditClick;\n\t\t\tscope.contactCancelClick = contactCancelClick;\n\t\t\tscope.saveContact = saveContact;\n\t\t\tscope.deleteContact = deleteContact;\n\t\t\tscope.contactDeleteConfirm = contactDeleteConfirm;\n\t\t\tscope.contactDeleteCancel = contactDeleteCancel;\n\n\t\t\tscope.saveReference = saveReference;\n\t\t\tscope.deleteReference = deleteReference;\n\t\t\tscope.referenceCancelClick = referenceCancelClick;\n\t\t\tscope.referenceAddEditClick = referenceAddEditClick;\n\n\t\t\tscope.validateContactCompany = validateContactCompany;\n\t\t\tscope.validateContactName = validateContactName;\n\t\t\tscope.validateContactPhoneNumber = validateContactPhoneNumber;\n\t\t\tscope.validateContactFaxNumber = validateContactFaxNumber;\n\t\t\tscope.validateContactEmail = validateContactEmail;\n\n\t\t\tscope.setIsDirtyContacts = setIsDirtyContacts;\n\t\t\tscope.setIsDirtyReferences = setIsDirtyReferences;\n\t\t\tscope.goToTab = goToTab;\n\t\t\tscope.onForceGo = onForceGo;\n\n\t\t\tscope.m = {\n\t\t\t\tisBroker: sessionService.isBroker(),\n\t\t\t\tisAdmin: sessionService.isAuthorizedInternalAdmin(),\n\t\t\t\tcontacts: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayRole: 'Owner/Officer',\n\t\t\t\t\t\tid: 'owner',\n\t\t\t\t\t\trole: 'Owner or Officer',\n\t\t\t\t\t\tvalidation: {}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayRole: 'Accounting',\n\t\t\t\t\t\tid: 'accounting',\n\t\t\t\t\t\trole: 'Accounting',\n\t\t\t\t\t\tvalidation: {}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayRole: 'Dispatch & Operations',\n\t\t\t\t\t\tid: 'dispatch',\n\t\t\t\t\t\trole: 'Dispatch and Operations',\n\t\t\t\t\t\tvalidation: {}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayRole: 'Safety & Claims',\n\t\t\t\t\t\tid: 'safety',\n\t\t\t\t\t\trole: 'Safety and Claims',\n\t\t\t\t\t\tvalidation: {}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayRole: 'After Hours & Emergency',\n\t\t\t\t\t\tid: 'emergency',\n\t\t\t\t\t\trole: 'After Hours and Emergency',\n\t\t\t\t\t\tvalidation: {}\n\t\t\t\t\t}\n\t\t\t\t],\n\n\t\t\t\treference1: {\n\t\t\t\t\tvalidation: {}\n\t\t\t\t},\n\t\t\t\treference2: {\n\t\t\t\t\tvalidation: {}\n\t\t\t\t},\n\t\t\t\treference3: {\n\t\t\t\t\tvalidation: {}\n\t\t\t\t},\n\n\t\t\t\ttypeAheadFilter: [],\n\n\t\t\t\teditContact: false,\n\t\t\t\teditReference: false\n\t\t\t};\n\n\t\t\tscope.contactToDelete = {};\n\t\t\tloadData(false);\n\t\t\tregisterObserverHandlers();\n\t\t\tdocument.title = 'Profile-Contacts';\n\n\t\t}\n\n\t\tfunction loadData(skipSendLoad) {\n\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_AJAX_WAITING);\n\n\t\t\tcarrierRegistrationService.lookupContactsReferences(scope.carrierId)\n\t\t\t\t.then(function(response) {\n\t\t\t\t\thasPrimary = false;\n\t\t\t\t\tif (!scope.m.editContact) //do not reload contacts well they are being edited\n\t\t\t\t\t{\n\t\t\t\t\t\tscope.m.isDirtyContacts = false;\n\t\t\t\t\t\tif (!scope.m.isDirtyReferences) {\n\t\t\t\t\t\t\tsetSectionMessage(false);\n\t\t\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tangular.forEach(response.data.contacts,\n\t\t\t\t\t\t\tfunction(contact) {\n\n\t\t\t\t\t\t\t\tif (contact.isPrimary) {\n\t\t\t\t\t\t\t\t\thasPrimary = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tswitch (contact.role) {\n\t\t\t\t\t\t\t\tcase 'Owner or Officer':\n\t\t\t\t\t\t\t\t\tscope.m.contacts[0].isPrimary = contact.isPrimary;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[0].name = contact.name;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[0].title = contact.title;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[0].phoneNumber = contact.phone;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[0].phoneExtension = contact.phoneExtension;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[0].faxNumber = contact.fax;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[0].email = contact.email;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[0].edit = false;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 'Accounting':\n\t\t\t\t\t\t\t\t\tscope.m.contacts[1].isPrimary = contact.isPrimary;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[1].name = contact.name;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[1].title = contact.title;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[1].phoneNumber = contact.phone;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[1].phoneExtension = contact.phoneExtension;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[1].faxNumber = contact.fax;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[1].email = contact.email;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[1].edit = false;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 'Dispatch and Operations':\n\t\t\t\t\t\t\t\t\tscope.m.contacts[2].isPrimary = contact.isPrimary;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[2].name = contact.name;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[2].title = contact.title;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[2].phoneNumber = contact.phone;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[2].phoneExtension = contact.phoneExtension;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[2].faxNumber = contact.fax;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[2].email = contact.email;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[2].edit = false;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 'Safety and Claims':\n\t\t\t\t\t\t\t\t\tscope.m.contacts[3].isPrimary = contact.isPrimary;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[3].name = contact.name;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[3].title = contact.title;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[3].phoneNumber = contact.phone;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[3].phoneExtension = contact.phoneExtension;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[3].faxNumber = contact.fax;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[3].email = contact.email;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[3].edit = false;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 'After Hours and Emergency':\n\t\t\t\t\t\t\t\t\tscope.m.contacts[4].isPrimary = contact.isPrimary;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[4].name = contact.name;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[4].title = contact.title;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[4].phoneNumber = contact.phone;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[4].phoneExtension = contact.phoneExtension;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[4].faxNumber = contact.fax;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[4].email = contact.email;\n\t\t\t\t\t\t\t\t\tscope.m.contacts[4].edit = false;\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tif (!scope.m.editReference) //do not reload references well they are being edited\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!scope.m.isDirtyContacts) {\n\t\t\t\t\t\t\tsetSectionMessage(false);\n\t\t\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tresetReferences();\n\t\t\t\t\t\tangular.forEach(response.data.references,\n\t\t\t\t\t\t\tfunction(reference, index) {\n\t\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\t\tscope.m.reference1.companyName = reference.companyName;\n\t\t\t\t\t\t\t\t\tscope.m.reference1.name = reference.contactName;\n\t\t\t\t\t\t\t\t\tscope.m.reference1.phoneNumber = reference.phone;\n\t\t\t\t\t\t\t\t\tscope.m.reference1.phoneExtension = reference.phoneExtension;\n\t\t\t\t\t\t\t\t\tscope.m.reference1.referenceIndex = reference.referenceIndex;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (index === 1) {\n\t\t\t\t\t\t\t\t\tscope.m.reference2.companyName = reference.companyName;\n\t\t\t\t\t\t\t\t\tscope.m.reference2.name = reference.contactName;\n\t\t\t\t\t\t\t\t\tscope.m.reference2.phoneNumber = reference.phone;\n\t\t\t\t\t\t\t\t\tscope.m.reference2.phoneExtension = reference.phoneExtension;\n\t\t\t\t\t\t\t\t\tscope.m.reference2.referenceIndex = reference.referenceIndex;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (index === 2) {\n\t\t\t\t\t\t\t\t\tscope.m.reference3.companyName = reference.companyName;\n\t\t\t\t\t\t\t\t\tscope.m.reference3.name = reference.contactName;\n\t\t\t\t\t\t\t\t\tscope.m.reference3.phoneNumber = reference.phone;\n\t\t\t\t\t\t\t\t\tscope.m.reference3.phoneExtension = reference.phoneExtension;\n\t\t\t\t\t\t\t\t\tscope.m.reference3.referenceIndex = reference.referenceIndex;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.finally(function() {\n\t\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\tif (skipSendLoad)\n\t\t\t\t\t\treturn;\n\t\t\t\t\t$timeout(function () {\n\t\t\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_LOAD);\n\t\t\t\t\t}, 0);\n\t\t\t\t});\n\t\t}\n\n\t\tfunction resetReferences() {\n\t\t\tscope.m.isDirtyReferences = false;\n\t\t\tscope.m.reference1.companyName = undefined;\n\t\t\tscope.m.reference1.name = undefined;\n\t\t\tscope.m.reference1.phoneNumber = undefined;\n\t\t\tscope.m.reference1.phoneExtension = undefined;\n\t\t\tscope.m.reference1.referenceIndex = undefined;\n\n\t\t\tscope.m.reference2.companyName = undefined;\n\t\t\tscope.m.reference2.name = undefined;\n\t\t\tscope.m.reference2.phoneNumber = undefined;\n\t\t\tscope.m.reference2.phoneExtension = undefined;\n\t\t\tscope.m.reference2.referenceIndex = undefined;\n\n\t\t\tscope.m.reference3.companyName = undefined;\n\t\t\tscope.m.reference3.name = undefined;\n\t\t\tscope.m.reference3.phoneNumber = undefined;\n\t\t\tscope.m.reference3.phoneExtension = undefined;\n\t\t\tscope.m.reference3.referenceIndex = undefined;\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\n\t\t\tscope.$on('$destroy',\n\t\t\t\tfunction() {\n\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t});\n\n\t\t\tscope.$on('$locationChangeStart',\n\t\t\t\tfunction(event) {\n\t\t\t\t\tif (scope.m.isDirtyReferences || scope.m.isDirtyContacts) {\n\t\t\t\t\t\tif (!\n\t\t\t\t\t\tconfirm('You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page. Are you sure you want to leave the page?')) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_START_CHANGE_CARRIER_PROFILE_VIEW, handler: saveData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SET_PENDING_TAB, handler: setPendingTab }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction setIsDirtyContacts() {\n\t\t\tscope.m.isDirtyContacts = true;\n\t\t\twindow.onbeforeunload = function() {\n\t\t\t\treturn 'You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page.';\n\t\t\t};\n\t\t}\n\n\t\tfunction setIsDirtyReferences() {\n\t\t\tscope.m.isDirtyReferences = true;\n\t\t\twindow.onbeforeunload = function() {\n\t\t\t\treturn 'You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page.';\n\t\t\t};\n\t\t}\n\n\t\tfunction saveData(callback) {\n\t\t\tif (scope.m.isDirtyContacts) {\n\t\t\t\tsaveContacts(callback);\n\t\t\t}\n\t\t\tif (scope.m.isDirtyReferences) {\n\t\t\t\tsaveReferences(callback);\n\t\t\t}\n\t\t\tif (!scope.m.isDirtyContacts && !scope.m.isDirtyReferences) {\n\t\t\t\tif (typeof (callback) === 'function') {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction saveContacts(callback) {\n\t\t\tif (hasContact()) {\n\t\t\t\tsaveContact(scope.m.contacts[0], callback);\n\t\t\t\tsaveContact(scope.m.contacts[1], callback);\n\t\t\t\tsaveContact(scope.m.contacts[2], callback);\n\t\t\t\tsaveContact(scope.m.contacts[3], callback);\n\t\t\t\tsaveContact(scope.m.contacts[4], callback);\n\t\t\t} else {\n\t\t\t\tscope.m.showContactRequired = true;\n\t\t\t\tsetSectionMessage(true);\n\n\t\t\t\tif (typeof (callback) === 'function') {\n\t\t\t\t\tscope.pendingCallback = callback;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction saveReferences(callback) {\n\t\t\tsaveReference(scope.m.reference1, callback);\n\t\t\tsaveReference(scope.m.reference2, callback);\n\t\t\tsaveReference(scope.m.reference3, callback);\n\t\t}\n\n\t\tfunction hasContact() {\n\t\t\treturn (scope.m.contacts[0].name ||\n scope.m.contacts[1].name ||\n scope.m.contacts[2].name ||\n scope.m.contacts[3].name ||\n scope.m.contacts[4].name);\n\t\t}\n\n\t\tfunction contactNameTypeAheadFilter(value) {\n\t\t\tvar filterResults = [];\n\t\t\tif (!value)\n\t\t\t\treturn filterResults;\n\t\t\tvar string = value.toLowerCase();\n\t\t\tif (scope.m.contacts[0].name) {\n\t\t\t\tif (scope.m.contacts[0].edit) {\n\t\t\t\t\tif (scope.m.ownerOfficerClean &&\n scope.m.ownerOfficerClean.name &&\n scope.m.ownerOfficerClean.name.toLowerCase().indexOf(string) > -1) {\n\t\t\t\t\t\tfilterResults.push(scope.m.ownerOfficerClean.name);\n\t\t\t\t\t}\n\t\t\t\t} else if (scope.m.contacts[0].name.toLowerCase().indexOf(string) > -1) {\n\t\t\t\t\tfilterResults.push(scope.m.contacts[0].name);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (scope.m.contacts[1].name) {\n\t\t\t\tif (scope.m.contacts[1].edit) {\n\t\t\t\t\tif (scope.m.accountingClean &&\n scope.m.accountingClean.name &&\n scope.m.accountingClean.name.toLowerCase().indexOf(string) > -1) {\n\t\t\t\t\t\tif (filterResults.indexOf(scope.m.accountingClean.name) > -1) { /** non unique} **/\n\t\t\t\t\t\t} else\n\t\t\t\t\t\t\tfilterResults.push(scope.m.accountingClean.name);\n\t\t\t\t\t}\n\t\t\t\t} else if (scope.m.contacts[1].name.toLowerCase().indexOf(string) > -1) {\n\t\t\t\t\tif (filterResults.indexOf(scope.m.contacts[1].name) > -1) { /** non unique} **/\n\t\t\t\t\t} else\n\t\t\t\t\t\tfilterResults.push(scope.m.contacts[1].name);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (scope.m.contacts[2].name) {\n\t\t\t\tif (scope.m.contacts[2].edit) {\n\t\t\t\t\tif (scope.m.dispatchOperationsClean &&\n scope.m.dispatchOperationsClean.name &&\n scope.m.dispatchOperationsClean.toLowerCase().name.indexOf(string) > -1) {\n\t\t\t\t\t\tif (filterResults.indexOf(scope.m.dispatchOperationsClean.name) > -1) { /** non unique} **/\n\t\t\t\t\t\t} else\n\t\t\t\t\t\t\tfilterResults.push(scope.m.dispatchOperationsClean.name);\n\t\t\t\t\t}\n\t\t\t\t} else if (scope.m.contacts[2].name.toLowerCase().indexOf(string) > -1) {\n\t\t\t\t\tif (filterResults.indexOf(scope.m.contacts[2].name) > -1) { /** non unique} **/\n\t\t\t\t\t} else\n\t\t\t\t\t\tfilterResults.push(scope.m.contacts[2].name);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (scope.m.contacts[3].name) {\n\t\t\t\tif (scope.m.contacts[3].edit) {\n\t\t\t\t\tif (scope.m.saftyClaimsClean &&\n scope.m.saftyClaimsClean.name &&\n scope.m.saftyClaimsClean.name.toLowerCase().indexOf(string) > -1) {\n\t\t\t\t\t\tif (filterResults.indexOf(scope.m.saftyClaimsClean.name) > -1) { /** non unique} **/\n\t\t\t\t\t\t} else\n\t\t\t\t\t\t\tfilterResults.push(scope.m.saftyClaimsClean.name);\n\t\t\t\t\t}\n\t\t\t\t} else if (scope.m.contacts[3].name.toLowerCase().indexOf(string) > -1) {\n\t\t\t\t\tif (filterResults.indexOf(scope.m.contacts[3].name) > -1) { /** non unique} **/\n\t\t\t\t\t} else\n\t\t\t\t\t\tfilterResults.push(scope.m.contacts[3].name);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (scope.m.contacts[4].name) {\n\t\t\t\tif (scope.m.contacts[4].edit) {\n\t\t\t\t\tif (scope.m.afterHoursEmergencyClean &&\n scope.m.afterHoursEmergencyClean.name &&\n scope.m.afterHoursEmergencyClean.name.toLowerCase().indexOf(string) > -1) {\n\t\t\t\t\t\tif (filterResults.indexOf(scope.m.afterHoursEmergencyClean.name) > -1) { /** non unique} **/\n\t\t\t\t\t\t} else\n\t\t\t\t\t\t\tfilterResults.push(scope.m.afterHoursEmergencyClean.name);\n\t\t\t\t\t}\n\t\t\t\t} else if (scope.m.contacts[4].name.toLowerCase().indexOf(string) > -1) {\n\t\t\t\t\tif (filterResults.indexOf(scope.m.contacts[4].name) > -1) { /** non unique} **/\n\t\t\t\t\t} else\n\t\t\t\t\t\tfilterResults.push(scope.m.contacts[4].name);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn filterResults;\n\t\t}\n\n\t\tfunction contactNameTypeAheadSelect(name, contact) {\n\t\t\tif (!name) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tscope.m.contacts[index].showTypeAhead = false;\n\n\t\t\tif (scope.m.contacts[0].name === name) {\n\t\t\t\tscope.m.contacts[index].name = scope.m.contacts[0].name;\n\t\t\t\tscope.m.contacts[index].title = scope.m.contacts[0].title;\n\t\t\t\tscope.m.contacts[index].phoneNumber = scope.m.contacts[0].phoneNumber;\n\t\t\t\tscope.m.contacts[index].phoneExtension = scope.m.contacts[0].phoneExtension;\n\t\t\t\tscope.m.contacts[index].faxNumber = scope.m.contacts[0].faxNumber;\n\t\t\t\tscope.m.contacts[index].email = scope.m.contacts[0].email;\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (scope.m.contacts[1].name === name) {\n\t\t\t\tscope.m.contacts[index].name = scope.m.contacts[1].name;\n\t\t\t\tscope.m.contacts[index].title = scope.m.contacts[1].title;\n\t\t\t\tscope.m.contacts[index].phoneNumber = scope.m.contacts[1].phoneNumber;\n\t\t\t\tscope.m.contacts[index].phoneExtension = scope.m.contacts[1].phoneExtension;\n\t\t\t\tscope.m.contacts[index].faxNumber = scope.m.contacts[1].faxNumber;\n\t\t\t\tscope.m.contacts[index].email = scope.m.contacts[1].email;\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (scope.m.contacts[2].name === name) {\n\t\t\t\tscope.m.contacts[index].name = scope.m.contacts[2].name;\n\t\t\t\tscope.m.contacts[index].title = scope.m.contacts[2].title;\n\t\t\t\tscope.m.contacts[index].phoneNumber = scope.m.contacts[2].phoneNumber;\n\t\t\t\tscope.m.contacts[index].phoneExtension = scope.m.contacts[2].phoneExtension;\n\t\t\t\tscope.m.contacts[index].faxNumber = scope.m.contacts[2].faxNumber;\n\t\t\t\tscope.m.contacts[index].email = scope.m.contacts[2].email;\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (scope.m.contacts[3].name) {\n\t\t\t\tscope.m.contacts[index].name = scope.m.contacts[3].name;\n\t\t\t\tscope.m.contacts[index].title = scope.m.contacts[3].title;\n\t\t\t\tscope.m.contacts[index].phoneNumber = scope.m.contacts[3].phoneNumber;\n\t\t\t\tscope.m.contacts[index].phoneExtension = scope.m.contacts[3].phoneExtension;\n\t\t\t\tscope.m.contacts[index].faxNumber = scope.m.contacts[3].faxNumber;\n\t\t\t\tscope.m.contacts[index].email = scope.m.contacts[3].email;\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (scope.m.contacts[4].name) {\n\t\t\t\tscope.m.contacts[index].name = scope.m.contacts[4].name;\n\t\t\t\tscope.m.contacts[index].title = scope.m.contacts[4].title;\n\t\t\t\tscope.m.contacts[index].phoneNumber = scope.m.contacts[4].phoneNumber;\n\t\t\t\tscope.m.contacts[index].phoneExtension = scope.m.contacts[4].phoneExtension;\n\t\t\t\tscope.m.contacts[index].faxNumber = scope.m.contacts[4].faxNumber;\n\t\t\t\tscope.m.contacts[index].email = scope.m.contacts[4].email;\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tfunction contactNameChange(index) {\n\t\t\tif (scope.contactNameBlurTimer) {\n\t\t\t\t$timeout.cancel(scope.contactNameBlurTimer);\n\t\t\t}\n\t\t\tif (scope.m.contacts[index].name)\n\t\t\t\tscope.m.contacts[index].showTypeAhead = true;\n\t\t\telse\n\t\t\t\tscope.m.contacts[index].showTypeAhead = false;\n\t\t}\n\n\t\tfunction contactNameBlur(index) {\n\t\t\tvalidateContactName(index);\n\n\t\t\tscope.contactNameBlurTimer = $timeout(function() {\n\t\t\t\tscope.m.contacts[index].showTypeAhead = false;\n\t\t\t},\n\t\t\t200);\n\t\t}\n\n\t\tfunction contactNameFocus(event) {\n\t\t\tevent.currentTarget.parentElement.children[0].focus();\n\t\t}\n\n\t\tfunction contactPrimaryDisable(index) {\n\t\t\tif (scope.m.contacts[index].edit) {\n\t\t\t\tif (!scope.m.contacts[index].clean.isPrimary && hasPrimary) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t} else\n\t\t\t\treturn true;\n\t\t}\n\n\t\tfunction saveContact(index, callback) {\n\t\t\tif (!scope.m.contacts[index].edit) //if it is clean don't resave\n\t\t\t\treturn;\n\t\t\tif (validateContact(index)) {\n\t\t\t\tvar action;\n\t\t\t\tif (scope.m.contacts[index].clean && scope.m.contacts[index].clean.name) {\n\t\t\t\t\taction = 'EDIT';\n\t\t\t\t} else {\n\t\t\t\t\taction = 'ADD';\n\t\t\t\t}\n\n\t\t\t\tcarrierRegistrationService.updateCarrierContact(action,\n\t\t\t\t\tscope.m.contacts[index].name,\n\t\t\t\t\tscope.m.contacts[index].role,\n\t\t\t\t\tscope.m.contacts[index].title,\n\t\t\t\t\tscope.m.contacts[index].phoneNumber,\n\t\t\t\t\tscope.m.contacts[index].phoneExtension,\n\t\t\t\t\tscope.m.contacts[index].faxNumber,\n\t\t\t\t\tscope.m.contacts[index].email,\n\t\t\t\t\tscope.m.contacts[index].isPrimary,\n\t\t\t\t\tscope.carrierId)\n\t\t\t\t\t.then(function() {\n\t\t\t\t\t\tscope.m.editContact = false;\n\t\t\t\t\t\tscope.m.showContactRequired = false;\n\t\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_STATUS,\n\t\t\t\t\t\t\t'contacts');\n\n\t\t\t\t\t\tif (typeof (callback) === 'function') {\n\t\t\t\t\t\t\tif (!scope.m.editReference) //wait for references to save\n\t\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tloadData(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t} else if (typeof (callback) === 'function') {\n\t\t\t\tsetSectionMessage(true);\n\t\t\t\tscope.pendingCallback = callback;\n\t\t\t}\n\t\t}\n\n\t\tfunction contactCancelClick(index) {\n\t\t\tscope.m.contacts[index].isPrimary = scope.m.contacts[index].clean.isPrimary;\n\t\t\tscope.m.contacts[index].name = scope.m.contacts[index].clean.name;\n\t\t\tscope.m.contacts[index].title = scope.m.contacts[index].clean.title;\n\t\t\tscope.m.contacts[index].phoneNumber = scope.m.contacts[index].clean.phoneNumber;\n\t\t\tscope.m.contacts[index].phoneExtension = scope.m.contacts[index].clean.phoneExtension;\n\t\t\tscope.m.contacts[index].faxNumber = scope.m.contacts[index].clean.faxNumber;\n\t\t\tscope.m.contacts[index].email = scope.m.contacts[index].clean.email;\n\t\t\tscope.m.contacts[index].edit = false;\n\n\t\t\tdelete scope.m.contacts[index].validation.name;\n\t\t\tdelete scope.m.contacts[index].validation.phoneNumber;\n\t\t\tdelete scope.m.contacts[index].validation.faxNumber;\n\t\t\tdelete scope.m.contacts[index].validation.email;\n\n\t\t\tscope.m.editContact = false;\n\t\t\tscope.m.isDirtyContacts = false;\n\t\t\tif (!scope.m.isDirtyReferences) {\n\t\t\t\tsetSectionMessage(false);\n\t\t\t}\n\t\t}\n\n\t\tfunction contactAddEditClick(index) {\n\n\t\t\tscope.m.editContact = true;\n\n\t\t\t$timeout(function() { scope.m.contacts[index].edit = true; }, 1);\n\n\n\t\t\tscope.m.contacts[index].clean = {\n\t\t\t\tisPrimary: scope.m.contacts[index].isPrimary,\n\t\t\t\tname: scope.m.contacts[index].name,\n\t\t\t\ttitle: scope.m.contacts[index].title,\n\t\t\t\tphoneNumber: scope.m.contacts[index].phoneNumber,\n\t\t\t\tphoneExtension: scope.m.contacts[index].phoneExtension,\n\t\t\t\tfaxNumber: scope.m.contacts[index].faxNumber,\n\t\t\t\temail: scope.m.contacts[index].email\n\t\t\t};\n\t\t\tif (!hasPrimary) {\n\t\t\t\tscope.m.contacts[index].isPrimary = true;\n\t\t\t}\n\t\t}\n\n\t\tfunction deleteContact(index) {\n\t\t\tscope.contactToDelete = scope.m.contacts[index];\n\t\t\tscope.m.showContactDeleteConfimation = true;\n\t\t}\n\n\t\tfunction contactDeleteConfirm() {\n\t\t\tcarrierRegistrationService.updateCarrierContact('DELETE',\n\t\t\t\tscope.contactToDelete.name,\n\t\t\t\tscope.contactToDelete.role,\n\t\t\t\tscope.contactToDelete.title,\n\t\t\t\tscope.contactToDelete.phoneNumber,\n\t\t\t\tscope.contactToDelete.phoneExtension,\n\t\t\t\tscope.contactToDelete.faxNumber,\n\t\t\t\tscope.contactToDelete.email,\n\t\t\t\tscope.contactToDelete.isPrimary,\n\t\t\t\tscope.carrierId)\n\t\t\t\t.then(function() {\n\t\t\t\t\tscope.contactToDelete.name = undefined;\n\t\t\t\t\tscope.contactToDelete.title = undefined;\n\t\t\t\t\tscope.contactToDelete.phoneNumber = undefined;\n\t\t\t\t\tscope.contactToDelete.phoneExtension = undefined;\n\t\t\t\t\tscope.contactToDelete.faxNumber = undefined;\n\t\t\t\t\tscope.contactToDelete.email = undefined;\n\t\t\t\t\tscope.contactToDelete.edit = false;\n\n\t\t\t\t\tscope.m.showContactDeleteConfimation = false;\n\t\t\t\t\tloadData(true);\n\t\t\t\t});\n\n\t\t}\n\n\t\tfunction contactDeleteCancel() {\n\t\t\tscope.m.showContactDeleteConfimation = false;\n\t\t}\n\n\t\tfunction saveReference(reference, callback) {\n\t\t\tif (!reference.edit) //if it is clean don't resave\n\t\t\t\treturn;\n\t\t\tif (validateReference(reference)) {\n\t\t\t\tvar action;\n\t\t\t\tif (reference && reference.clean && reference.clean.name) {\n\t\t\t\t\taction = 'EDIT';\n\t\t\t\t} else {\n\t\t\t\t\taction = 'ADD';\n\t\t\t\t}\n\n\t\t\t\tcarrierRegistrationService.updateCarrierReferences(reference.referenceIndex,\n\t\t\t\t\taction,\n\t\t\t\t\treference.companyName,\n\t\t\t\t\treference.name,\n\t\t\t\t\treference.phoneNumber,\n\t\t\t\t\treference.phoneExtension,\n\t\t\t\t\tscope.carrierId)\n\t\t\t\t\t.then(function() {\n\t\t\t\t\t\tscope.m.editReference = false;\n\t\t\t\t\t\treference.edit = false;\n\n\t\t\t\t\t\tif (typeof (callback) === 'function') {\n\t\t\t\t\t\t\tif (!scope.m.editContact) //wait for contacts to save\n\t\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tloadData(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t} else if (typeof (callback) === 'function') {\n\t\t\t\tsetSectionMessage(true);\n\t\t\t\tscope.pendingCallback = callback;\n\t\t\t}\n\t\t}\n\n\t\tfunction deleteReference(reference) {\n\t\t\tcarrierRegistrationService.updateCarrierReferences(reference.referenceIndex,\n\t\t\t\t'DELETE',\n\t\t\t\treference.companyName,\n\t\t\t\treference.name,\n\t\t\t\treference.phoneNumber,\n\t\t\t\treference.phoneExtension,\n\t\t\t\tscope.carrierId)\n\t\t\t\t.then(function() {\n\n\t\t\t\t\treference.companyName = undefined;\n\t\t\t\t\treference.name = undefined;\n\t\t\t\t\treference.phoneNumber = undefined;\n\t\t\t\t\treference.phoneExtension = undefined;\n\t\t\t\t\treference.edit = false;\n\n\t\t\t\t\tloadData(true);\n\t\t\t\t});\n\t\t}\n\n\t\tfunction referenceCancelClick(reference) {\n\t\t\treference.companyName = reference.clean.companyName;\n\t\t\treference.name = reference.clean.name;\n\t\t\treference.phoneNumber = reference.clean.phoneNumber;\n\t\t\treference.phoneExtension = reference.clean.phoneExtension;\n\t\t\treference.edit = false;\n\n\t\t\tdelete reference.validation.companyName;\n\t\t\tdelete reference.validation.name;\n\t\t\tdelete reference.validation.phoneNumber;\n\t\t\tdelete reference.validation.faxNumber;\n\n\t\t\tscope.m.editReference = false;\n\t\t\tscope.m.isDirtyReferences = false;\n\t\t\tif (!scope.m.isDirtyContacts) {\n\t\t\t\tsetSectionMessage(false);\n\t\t\t}\n\t\t}\n\n\t\tfunction referenceAddEditClick(reference) {\n\t\t\tscope.m.editReference = true;\n\t\t\treference.edit = true;\n\n\t\t\treference.clean = {\n\t\t\t\tcompanyName: reference.companyName,\n\t\t\t\tname: reference.name,\n\t\t\t\tphoneNumber: reference.phoneNumber,\n\t\t\t\tphoneExtension: reference.phoneExtension\n\t\t\t};\n\t\t}\n\n\t\tfunction validateContact(index) {\n\n\t\t\tif (scope.m.contacts[index].edit) {\n\t\t\t\tvalidateContactName(index);\n\t\t\t\tvalidateContactPhoneNumber(index);\n\t\t\t\tvalidateContactFaxNumber(index);\n\t\t\t\tvalidateContactEmail(index);\n\t\t\t}\n\n\t\t\treturn Object.keys(scope.m.contacts[index].validation).length === 0;\n\t\t}\n\n\t\tfunction validateReference(reference) {\n\t\t\tif (reference.edit) {\n\t\t\t\tvalidateContactCompany(reference);\n\t\t\t\tvalidateContactName(reference);\n\t\t\t\tvalidateContactPhoneNumber(reference);\n\t\t\t}\n\n\t\t\treturn Object.keys(reference.validation).length === 0;\n\t\t}\n\n\t\tfunction validateContactCompany(index) {\n\t\t\tif (typeof index === 'object') {\n\t\t\t\tif (!index.companyName) {\n\t\t\t\t\tindex.validation.companyName = 'Input is required';\n\t\t\t\t} else {\n\t\t\t\t\tdelete index.validation.companyName;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (!scope.m.contacts[index].companyName) {\n\t\t\t\t\tscope.m.contacts[index].validation.companyName = 'Input is required';\n\t\t\t\t} else {\n\t\t\t\t\tdelete scope.m.contacts[index].validation.companyName;\n\t\t\t\t} \n\t\t\t}\n \n\t\t}\n\n\t\tfunction validateContactName(index) {\n\t\t\tif (typeof index === 'object') {\n\t\t\t\tif (index.name) {\n\t\t\t\t\tif (index.name.length > 40) {\n\t\t\t\t\t\tindex.validation.name = 'Valid input is required';\n\t\t\t\t\t}\n\n\t\t\t\t\tdelete index.validation.name;\n\t\t\t\t} else {\n\t\t\t\t\tindex.validation.name = 'Input is required';\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (scope.m.contacts[index].name) {\n\t\t\t\t\tif (scope.m.contacts[index].name.length > 40) {\n\t\t\t\t\t\tscope.m.contacts[index].validation.name = 'Valid input is required';\n\t\t\t\t\t}\n\n\t\t\t\t\tdelete scope.m.contacts[index].validation.name;\n\t\t\t\t} else {\n\t\t\t\t\tscope.m.contacts[index].validation.name = 'Input is required';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction validateContactPhoneNumber(index) {\n\t\t\tif (typeof index === 'object') {\n\t\t\t\tif (!index.phoneNumber) {\n\t\t\t\t\tindex.validation.phoneNumber = 'Input is required';\n\t\t\t\t} else if (index.phoneNumber.length !== 10) {\n\t\t\t\t\tindex.validation.phoneNumber = 'Valid input is required';\n\t\t\t\t} else if (index.phoneNumber[0] === '0' || index.phoneNumber[0] === '1') {\n\t\t\t\t\tindex.validation.phoneNumber = 'Valid input is required';\n\t\t\t\t} else {\n\t\t\t\t\tdelete index.validation.phoneNumber;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (!scope.m.contacts[index].phoneNumber) {\n\t\t\t\t\tscope.m.contacts[index].validation.phoneNumber = 'Input is required';\n\t\t\t\t} else if (scope.m.contacts[index].phoneNumber.length !== 10) {\n\t\t\t\t\tscope.m.contacts[index].validation.phoneNumber = 'Valid input is required';\n\t\t\t\t} else if (scope.m.contacts[index].phoneNumber[0] === '0' || scope.m.contacts[index].phoneNumber[0] === '1') {\n\t\t\t\t\tscope.m.contacts[index].validation.phoneNumber = 'Valid input is required';\n\t\t\t\t} else {\n\t\t\t\t\tdelete scope.m.contacts[index].validation.phoneNumber;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction validateContactFaxNumber(index) {\n\t\t\tif (scope.m.contacts[index].faxNumber && scope.m.contacts[index].faxNumber.length !== 10) {\n\t\t\t\tscope.m.contacts[index].validation.faxNumber = 'Valid input is required';\n\t\t\t} else if (scope.m.contacts[index].faxNumber && (scope.m.contacts[index].faxNumber[0] === '0' || scope.m.contacts[index].faxNumber[0] === '1')) {\n\t\t\t\tscope.m.contacts[index].validation.faxNumber = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tdelete scope.m.contacts[index].validation.faxNumber;\n\t\t\t}\n\t\t}\n\n\t\tfunction validateContactEmail(index) {\n\t\t\tif (scope.m.contacts[index].email &&\n !/^([a-zA-Z0-9])([a-zA-Z0-9_\\.\\-])*([a-zA-Z0-9])\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z]{2,4})+$/.test(scope.m.contacts[index].email)) {\n\t\t\t\tscope.m.contacts[index].validation.email = 'Valid email is required';\n\t\t\t} else {\n\t\t\t\tdelete scope.m.contacts[index].validation.email;\n\t\t\t}\n\t\t}\n\n\t\tfunction goToTab(tab) {\n\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_SET_PENDING_TAB, tab);\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_START_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tnavigate);\n\t\t}\n\n\t\tfunction setPendingTab(tab) {\n\t\t\tscope.tab = tab;\n\t\t}\n\n\t\tfunction navigate() {\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_FINISH_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tscope.tab);\n\t\t}\n\n\t\tfunction setSectionMessage(show) {\n\t\t\tscope.m.showSectionMessage = show;\n\t\t\tif (show) {\n\t\t\t\t$timeout(function() {\n\t\t\t\t\t$('.carrier-profile-wrapper')\n\t\t\t\t\t\t.animate({\n\t\t\t\t\t\t\tscrollTop: $('#error-summary').offset().top\n\t\t\t\t\t\t},\n\t\t\t\t\t\t200);\n\t\t\t\t},\n\t\t\t\t10);\n\t\t\t}\n\t\t}\n\n\t\tfunction onForceGo() {\n\t\t\tif (typeof (scope.pendingCallback) === 'function')\n\t\t\t\tscope.pendingCallback();\n\t\t}\n\t}\n\n})();\n","/* eslint-disable no-undef */\n// TODO: remove code above and fix issues in case changing this file\n'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierProfileContracts', cobCarrierProfileContracts);\n\n\tcobCarrierProfileContracts.$inject = [\n\t\t'$location', '$timeout', '$window', '$state', '$stateParams', 'sessionService',\n\t\t'subjectObserverMessagesService', 'observerService',\n\t\t'carrierRegistrationService',\n\t\t'authenticationService'\n\t];\n\n\tvar $location,\n\t\t$timeout,\n\t\t$window,\n\t\t$state,\n\t\t$stateParams,\n\t\tsessionService,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tcarrierRegistrationService,\n\t\tauthenticationService;\n\tvar subjectMessages, observerMessages;\n\n\tfunction cobCarrierProfileContracts(_$location_,\n\t\t_$timeout_, \n\t\t_$window_,\n\t\t_$state_,\n\t\t_$stateParams_,\n\t\t_sessionService_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierRegistrationService_,\n\t\t_authenticationService_) {\n\t\t$location = _$location_;\n\t\t$timeout = _$timeout_;\n\t\t$window = _$window_;\n\t\t$state = _$state_;\n\t\t$stateParams = _$stateParams_;\n\t\tsessionService = _sessionService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\tauthenticationService = _authenticationService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfileContracts.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.carrierId = $stateParams.carrierId;\n\t\t\tscope.brokerId = $stateParams.brokerId;\n\t\t\tscope.ajaxIsRunning = false;\n\t\t\tscope.m = {\n\t\t\t\tisBroker: sessionService.isBroker(),\n\t\t\t\tisAdmin: sessionService.isAuthorizedInternalAdmin(),\n\t\t\t\treadyToSign: sessionService.getCarrierReadyToSign(),\n\t\t\t\tcarrierIsAuthorized: sessionService.isCarrier(),\n\t\t\t\tsignedNewContract: false,\n\t\t\t\tshowConfirmationModal: false,\n\t\t\t\tsearchType: 'brokerName',\n\t\t\t\totherTitleOption: 'Other',\n\t\t\t\tisSubmited: false\n\t\t\t};\n\n\t\t\tscope.titles = [\n\t\t\t\t'Chairman',\n\t\t\t\t'Chief Executive Officer (CEO)',\n\t\t\t\t'Chief Financial Officer (CFO)',\n\t\t\t\t'Chief Operations Officer (COO)',\n\t\t\t\t'Controller',\n\t\t\t\t'Director of Operations',\n\t\t\t\t'Executive Vice President',\n\t\t\t\t'General Manager',\n\t\t\t\t'Owner',\n\t\t\t\t'President',\n\t\t\t\t'Senior Vice President',\n\t\t\t\t'Vice President',\n\t\t\t\tscope.m.otherTitleOption\n\t\t\t];\n\n\t\t\tscope.setIsDirty = setIsDirty;\n\t\t\tscope.onForceGo = onForceGo;\n\t\t\tscope.goToProfile = goToProfile;\n\t\t\tscope.startSigning = startSigning;\n\t\t\tscope.cancelSigning = cancelSigning;\n\t\t\tscope.sign = sign;\n\t\t\tscope.sort = sort;\n\t\t\tscope.brokerClick = brokerClick;\n\t\t\tscope.signatureClick = signatureClick;\n\t\t\tscope.goToBranded = goToBranded;\n\t\t\tscope.validateSigneeFirstField = validateSigneeFirstField;\n\t\t\tscope.validateSigneeLastField = validateSigneeLastField;\n\t\t\tscope.validateSigneeTitleField = validateSigneeTitleField;\n\t\t\tscope.valdiateSigneeTitleOptions = valdiateSigneeTitleOptions;\n\t\t\tscope.getSigneeTitle = getSigneeTitle;\n\t\t\tscope.searchClick = searchClick;\n\t\t\tscope.openModalWindow = openModalWindow,\n\t\t\tscope.closeModalWindow = closeModalWindow,\n\t\t\tscope.logout = logout;\n\n\t\t\tscope.contractStatus = {\n\t\t\t\tsigned: 'Signed',\n\t\t\t\trejected: 'Rejected',\n\t\t\t\tnotSigned: 'NotSigned',\n\t\t\t\tsigning: 'Signing'\n\t\t\t};\n\n\t\t\tloadData();\n\n\t\t\tregisterObserverHandlers();\n\t\t\tdocument.title = 'Profile-Contracts';\n\n\t\t\t$timeout(function() {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_LOAD);\n\t\t\t},\n\t\t\t100);\n\t\t}\n\n\t\tfunction loadData() {\n\t\t\tif (scope.m.isBroker && !scope.m.isAdmin) {\n\t\t\t\tloadBrandedData();\n\t\t\t} else {\n\t\t\t\tloadBranding();\n\t\t\t\tif (scope.m.brokerName) {\n\t\t\t\t\tloadBrandedData();\n\t\t\t\t} else {\n\t\t\t\t\tloadBrokers();\n\t\t\t\t}\n\t\t\t\tif (scope.m.isAdmin) {\n\t\t\t\t\tvar carrier = sessionService.getCarrierImpersonated();\n\t\t\t\t\tif (carrier.dotNumber) {\n\t\t\t\t\t\tcarrierRegistrationService.validateDotNumber(carrier.dotNumber).then(function (response) {\n\t\t\t\t\t\t\tscope.m.carrierIsAuthorized = response.data.validationInfo === 'Authorized';\n\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse if (carrier.intrastateCode) {\n\t\t\t\t\t\tcarrierRegistrationService.validateIntrastateCode(carrier.intrastateState, carrier.intrastateCode).then(function (response) {\n\t\t\t\t\t\t\tscope.m.carrierIsAuthorized = response.data.validationInfo === 'Authorized';\n\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction loadBranding() {\n\t\t\tvar broker = sessionService.getBrokerBranding();\n\t\t\tif (broker && !scope.m.isBroker) {\n\t\t\t\tscope.brokerId = broker.brokerId;\n\t\t\t\tscope.m.brokerName = broker.brokerName;\n\t\t\t\tscope.m.contractMessage = broker.contractMessage;\n\t\t\t\tscope.m.contractMessageDisabled = broker.contractMessageDisabled;\n\t\t\t\tscope.m.logoUrl = sessionService.getBrokerLogoURL();\n\t\t\t\tloadBrandedData();\n\t\t\t}\n\t\t}\n\n\t\tfunction loadBrandedData() {\n\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_AJAX_WAITING);\n\n\t\t\tvar documentId = $location.search()['i'];\n\t\t\tvar documentStatus = $location.search()['status'];\n\t\t\tif (documentId && documentStatus !== 'DocumentDeclined') {\n\t\t\t\t$location.url($location.path());\n\t\t\t\tcarrierRegistrationService.facsimileSignatures(documentId)\n\t\t\t\t\t.then(loadContractsHelper)\n\t\t\t\t\t.finally(function () {\n\t\t\t\t\t\t// User has been redirected back to our app from signing an AssureSign document if they're in this block\n\t\t\t\t\t\tscope.m.signedNewContract = true;\n\t\t\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tif (documentStatus) { \n\t\t\t\t\t$location.url($location.path());\n\t\t\t\t}\n\t\t\t\tcarrierRegistrationService.lookupContractsAndSignatures(scope.carrierId, scope.brokerId)\n\t\t\t\t\t.then(loadContractsHelper)\n\t\t\t\t\t.finally(function() {\n\t\t\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t});\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tfunction loadContractsHelper(response) {\n\t\t\tscope.m.contracts = response.data.contractSignatures;\n\n\t\t\tvar hasSigned = false;\n\n\t\t\tfor (var i = 0; i < scope.m.contracts.length; i++) {\n\t\t\t\tsetContractStatus(scope.m.contracts[i]);\n\t\t\t\tscope.m.contracts[i].dateSignedClean = new Date(scope.m.contracts[i].dateSigned);\n\t\t\t\tif (new Date(scope.m.contracts[i].dateSigned) < new Date(1900, 1, 1)) {\n\t\t\t\t\tscope.m.contracts[i].dateSigned = '----';\n\t\t\t\t}\n\t\t\t\tif (scope.m.contracts[i].rejected) {\n\t\t\t\t\tscope.m.contracts[i].dateSigned = 'Rejected';\n\t\t\t\t}\n\t\t\t\tif (!scope.m.contracts[i].signee) {\n\t\t\t\t\tscope.m.contracts[i].dateSignedSort = new Date(2101, 12, 12);\n\t\t\t\t} else if (scope.m.contracts[i].rejected) {\n\t\t\t\t\tscope.m.contracts[i].dateSignedSort = new Date(2100, 12, 12);\n\t\t\t\t} else {\n\t\t\t\t\tscope.m.contracts[i].dateSignedSort = scope.m.contracts[i].dateSignedClean;\n\t\t\t\t\thasSigned = true;\n\t\t\t\t}\n\n\t\t\t\tscope.m.contracts[i].signeeClean = scope.m.contracts[i].signee;\n\t\t\t\tscope.m.contracts[i].signeeTitleClean = scope.m.contracts[i].signeeTitle;\n\t\t\t}\n\t\t\tif (hasSigned) {\n\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_STATUS,\n\t\t\t\t\t'contracts');\n\t\t\t}\n\t\t\tsort('contractName');\n\t\t}\n\n\t\tfunction setContractStatus(contract) {\n\t\t\tif (contract.signee) {\n\t\t\t\tif (contract.rejected) {\n\t\t\t\t\tcontract.status = scope.contractStatus.rejected;\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tcontract.status = scope.contractStatus.signed;\n\n\t\t\t\treturn; \n\t\t\t}\n\n\t\t\tcontract.status = scope.contractStatus.notSigned;\n\t\t}\n\n\t\tfunction loadBrokers() {\n\t\t\tscope.ajaxIsRunning = true;\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t},\n\t\t\t1);\n\n\t\t\tcarrierRegistrationService.lookupBrokers(scope.carrierId)\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tscope.m.allBrokers = response.data.brokers;\n\n\t\t\t\t\tfor (var i = 0; i < scope.m.allBrokers.length; i++) {\n\n\t\t\t\t\t\tif (scope.m.allBrokers[i].lastVisited === '0001-01-01T00:00:00') {\n\t\t\t\t\t\t\tscope.m.allBrokers[i].lastVisited = '----';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tscope.m.allBrokers[i].href = scope.m.allBrokers[i].domain +\n\t\t\t\t\t\t\t$state.href('carrierProfile.contracts',\n\t\t\t\t\t\t\t\t{ carrierId: $stateParams.carrierId, brokerId: $stateParams.brokerId });\n\t\t\t\t\t}\n\t\t\t\t\tsort('signedContracts');\n\n\t\t\t\t})\n\t\t\t\t.finally(function () {\n\t\t\t\t\tscope.ajaxIsRunning = false;\n\t\t\t\t\tobserverService\n\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\tif (reloadAjax) {\n\t\t\t\t\t\treloadAjax = false;\n\t\t\t\t\t\tscope.currentRow = 0;\n\t\t\t\t\t\tscope.totalRows = 0;\n\t\t\t\t\t\tscope.carriers = [];\n\t\t\t\t\t\tsetTimeout(function () { getCarriers(); }, 1);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\n\t\tfunction loadSignatures(broker) {\n\t\t\t// has signed contracts but no loaded signatures\n\t\t\tif (broker.signedContracts && !broker.signatures) {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_AJAX_WAITING);\n\t\t\t\tcarrierRegistrationService.lookupSignatures(scope.carrierId, broker.brokerId)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tbroker.signatures = response.data.contractSignatures;\n\n\t\t\t\t\t\tfor (var i = 0; i < broker.signatures.length; i++) {\n\n\t\t\t\t\t\t\tbroker.signatures[i].dateSignedClean = broker.signatures[i].dateSigned;\n\t\t\t\t\t\t\tif (broker.signatures[i].rejected) {\n\t\t\t\t\t\t\t\tbroker.signatures[i].dateSigned = 'Rejected';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function () {\n\t\t\t\t\t\t\tbroker.open = true;\n\t\t\t\t\t\t}, 20);\n\t\t\t\t\t})\n\t\t\t\t\t.finally(function() {\n\t\t\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tbroker.open = true;\n\t\t\t}\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\n\t\t\tscope.$on('$destroy',\n\t\t\t\tfunction() {\n\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t});\n\n\t\t\tscope.$on('$locationChangeStart',\n\t\t\t\tfunction(event) {\n\t\t\t\t\tif (scope.m.isDirty) {\n\t\t\t\t\t\tif (!\n\t\t\t\t\t\tconfirm('You have not completed the signing process. Contracts are signed using the Sign button at the bottom of the page. Are you sure you want to leave the page?')) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_DOMAIN_DATA_LOADED);\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_START_CHANGE_CARRIER_PROFILE_VIEW, handler: navStart },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_DOMAIN_DATA_LOADED, handler: loadData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CARRIER_PROFILE_STATUS_FINISH, handler: setReadyToSign },\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction navStart(callback) {\n\t\t\tif (scope.m.isDirty) {\n\t\t\t\tscope.m.showSectionMessage = true;\n\t\t\t\tscope.pendingCallback = callback;\n\t\t\t} else if (typeof (callback) === 'function') {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\n\t\tfunction setIsDirty() {\n\t\t\tscope.m.isDirty = true;\n\t\t\twindow.onbeforeunload = function() {\n\t\t\t\treturn 'You have not completed the signing process. Contracts are signed using the Sign button at the bottom of the page. Are you sure you want to leave the page?';\n\t\t\t};\n\t\t}\n\n\t\tfunction clearDirty() {\n\t\t\tscope.m.isDirty = false;\n\t\t\twindow.onbeforeunload = undefined;\n\t\t}\n\n\t\tfunction onForceGo() {\n\t\t\tif (typeof (scope.pendingCallback) === 'function')\n\t\t\t\tscope.pendingCallback();\n\t\t}\n\n\t\tfunction goToProfile() {\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_FINISH_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\t'profile');\n\t\t}\n\n\t\tfunction startSigning(contract) {\n\t\t\thideSigningContractForm(scope.signingContract, scope.contractStatus.notSigned);\n\t\t\tcontract.signing = true;\n\t\t\tscope.m.signing = true;\n\t\t\tcontract.status = scope.contractStatus.signing;\n\t\t\tscope.signingContract = contract;\n\t\t}\n\n\t\tfunction cancelSigning(contract) {\n\t\t\thideSigningContractForm(scope.signingContract, scope.contractStatus.notSigned);\n\t\t\tclearDirty();\n\n\t\t\tcontract.signee = '';\n\t\t\tcontract.signeeFirst = '';\n\t\t\tcontract.signeeLast = '';\n\t\t\tcontract.signeeTitle = '';\n\t\t\tcontract.signeeOtherTitle = '';\n\t\t\tcontract.signeeError = undefined;\n\t\t\tcontract.signeeFirstError = undefined;\n\t\t\tcontract.signeeLastError = undefined;\n\t\t\tcontract.signeeTitleError = undefined;\n\t\t}\n\n\t\tfunction hideSigningContractForm(contract, contractStatus) {\n\t\t\tif(contract) {\n\t\t\t\tcontract.signing = false;\n\t\t\t\tscope.m.signing = false;\n\t\t\t\tcontract.status = contractStatus;\n\t\t\t\tscope.signingContract = undefined;\n\t\t\t}\n\t\t}\n\n\t\tfunction sign(contract) {\n\t\t\tvalidateSigneeFirstField(contract);\n\t\t\tvalidateSigneeLastField(contract);\n\t\t\tvalidateSigneeTitleField(contract);\n\n\t\t\tif (!contract.signeeFirstError && !contract.signeeLastError && !contract.signeeTitleError) {\n\t\t\t\tcontract.signee = contract.signeeFirst + ' ' + contract.signeeLast;\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_AJAX_WAITING);\n\n\t\t\t\tif (contract.isAssureSign) {\n\t\t\t\t\tclearDirty();\n\t\t\t\t\tcarrierRegistrationService\n\t\t\t\t\t\t.signAssuresignContract(\n\t\t\t\t\t\t\tcontract.signee,\n\t\t\t\t\t\t\tgetSigneeTitle(contract),\n\t\t\t\t\t\t\tscope.brokerId,\n\t\t\t\t\t\t\t$window.location.href.split('?')[0])\n\t\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\t\t$window.location.href = response.data.signatureURL;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.finally(function() {\n\t\t\t\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tcarrierRegistrationService\n\t\t\t\t\t\t.signStandardContract(\n\t\t\t\t\t\t\tcontract.signee,\n\t\t\t\t\t\t\tgetSigneeTitle(contract),\n\t\t\t\t\t\t\tcontract.contractId)\n\t\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\t\tcontract.dateSigned = response.data.signed;\n\t\t\t\t\t\t\thideSigningContractForm(contract, scope.contractStatus.signed);\n\t\t\t\t\t\t\tscope.m.isSubmited = false;\n\t\t\t\t\t\t\tclearDirty();\n\t\t\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_STATUS,\n\t\t\t\t\t\t\t\t'contracts');\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.finally(function() {\n\t\t\t\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tscope.m.signedNewContract = true;\n\t\t\t} \n\t\t}\n\n\t\tfunction getSigneeTitle(contract) {\n\t\t\treturn contract.signeeTitle === scope.m.otherTitleOption ? contract.signeeOtherTitle : contract.signeeTitle;\n\t\t}\n\n\t\tfunction validateSigneeFirstField(contract) {\n\t\t\tif (!contract.signeeFirst) {\n\t\t\t\tcontract.signeeFirstError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tcontract.signeeFirstError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateSigneeLastField(contract) {\n\t\t\tif (!contract.signeeLast) {\n\t\t\t\tcontract.signeeLastError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tcontract.signeeLastError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateSigneeTitleField(contract) {\n\t\t\tif (!getSigneeTitle(contract)) {\n\t\t\t\tcontract.signeeTitleError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tcontract.signeeTitleError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction valdiateSigneeTitleOptions(contract) {\n\t\t\tif (!contract.signeeTitle) {\n\t\t\t\tcontract.signeeTitleOptionError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tcontract.signeeTitleOptionError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction sort(col) {\n\t\t\tif (scope.m.order && col === scope.m.order[0].substring(1, scope.m.order[0].length)) {\n\t\t\t\tif (scope.m.order[0].substring(0, 1) === '+') {\n\t\t\t\t\tscope.m.order[0] = scope.m.order[0].replace('+', '-');\n\t\t\t\t} else {\n\t\t\t\t\tscope.m.order[0] = scope.m.order[0].replace('-', '+');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (col) {\n\t\t\t\tcase 'contractName':\n\t\t\t\t\tscope.m.order = ['-contractName', '-version', '+rejected', '-dateSignedClean'];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'version':\n\t\t\t\t\tscope.m.order = ['-version', '+contractName', '+rejected', '-dateSignedClean'];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'signeeClean':\n\t\t\t\t\tscope.m.order = [\n\t\t\t\t\t\t'+signeeClean', '+signeeTitleClean', '+contractName', '-version', '+rejected',\n\t\t\t\t\t\t'-dateSignedClean'\n\t\t\t\t\t];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'signeeTitleClean':\n\t\t\t\t\tscope.m.order = ['+signeeTitleClean', '+signeeClean', '+contractName', '-version', '+rejected'];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'dateSignedSort':\n\t\t\t\t\tscope.m.order = [\n\t\t\t\t\t\t'-dateSignedSort', '+contractName', '-version', '+signeeClean', '+contractName',\n\t\t\t\t\t\t'+signeeTitleClean'\n\t\t\t\t\t];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'brokerName':\n\t\t\t\t\tscope.m.order = ['+brokerName', '-lastVisited'];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'signatureType':\n\t\t\t\t\tscope.m.order = ['-signatureType', '+brokerName'];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'lastVisited':\n\t\t\t\t\tscope.m.order = ['-lastVisited', '+brokerName'];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'signedContracts':\n\t\t\t\t\tscope.m.order = ['-signedContracts', '-lastVisited', '+brokerName'];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\n\t\tfunction searchClick() {\n\t\t\tscope.m.showAllBroker = false;\n\t\t\tscope.m.brokers = {};\n\t\t}\n\n\t\tfunction brokerClick(broker) {\n\t\t\tif (broker.open) {\n\t\t\t\tbroker.open = false;\n\t\t\t}\n\t\t\telse if (broker.signedContracts) {\n\t\t\t\tloadSignatures(broker);\n\t\t\t}\n\t\t}\n\n\t\tfunction signatureClick(signature) {\n\t\t\tsignature.isexpanded = !signature.isexpanded;\n\t\t}\n\n\t\tfunction goToBranded(broker) {\n\t\t\tsessionService.setDomain(broker.domain, scope);\n\t\t}\n\n\t\tfunction setReadyToSign() {\n\t\t\tscope.m.readyToSign = sessionService.getCarrierReadyToSign();\n\t\t}\n\n\t\tfunction openModalWindow() {\n\t\t\tscope.m.showConfirmationModal = true;\n\t\t}\n\n\t\tfunction closeModalWindow() {\n\t\t\tscope.m.signedNewContract = false;\n\t\t\tscope.m.showConfirmationModal = false;\n\t\t\tscope.m.isSubmited = true;\n\t\t}\n\n\t\tfunction logout() {\n\t\t\tauthenticationService.logout();\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function () {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierProfileDocuments', cobCarrierProfileDocuments);\n\n\tcobCarrierProfileDocuments.$inject = [\n\t\t'$timeout', 'sessionService', 'Upload', 'subjectObserverMessagesService', 'observerService',\n\t\t'carrierRegistrationService', '$stateParams'\n\t];\n\n\tvar $timeout,\n\t\tsessionService,\n\t\tngFileUpload,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tcarrierRegistrationService,\n\t\t$stateParams;\n\tvar subjectMessages, observerMessages;\n\n\tvar NOA_DOCUMENT_TYPE = 'Notice of Assigment (NOA)';\n\n\tfunction cobCarrierProfileDocuments(_$timeout_,\n\t\t_sessionService_,\n\t\t_ngFileUpload_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierRegistrationService_,\n\t\t_$stateParams_) {\n\t\t$timeout = _$timeout_;\n\t\tsessionService = _sessionService_;\n\t\tngFileUpload = _ngFileUpload_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\t$stateParams = _$stateParams_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfileDocuments.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\t\t\tscope.carrierId = $stateParams.carrierId;\n\n\t\t\tscope.m = {\n\t\t\t\tisBroker: sessionService.isBroker(),\n\t\t\t\tisAdmin: sessionService.isAuthorizedInternalAdmin(),\n\t\t\t\tdisableUpload: true,\n\t\t\t\tdisplayNewRow: false,\n\t\t\t\tshowCopiedMessage: false,\n\t\t\t\tdocuments: [],\n\t\t\t\tdocumentTypes: [\n\t\t\t\t\t'Interstate Authority Cert', 'State Authority Cert', 'Insurance Cert',\n\t\t\t\t\t'Vehicle Schedule', 'HazMat Cert', 'TWIC Card', 'C-TPAT Cert', NOA_DOCUMENT_TYPE, 'Other'\n\t\t\t\t],\n\t\t\t\tshowDocumentNameError: false,\n\t\t\t\tshowDocumentSharedModal: false,\n\t\t\t\tencryptedUrl: '',\n\t\t\t\tdeleteDocument: {}\n\t\t\t};\n\t\t\tscope.editDocument = editDocument;\n\t\t\tscope.onUploadClick = onUploadClick;\n\t\t\tscope.onCancelUploadClick = onCancelUploadClick;\n\t\t\tscope.validateNewDocumentName = validateNewDocumentName;\n\n\t\t\tscope.onDocumentNameClick = onDocumentNameClick;\n\t\t\tscope.onDocumentTypeClick = onDocumentTypeClick;\n\t\t\tscope.onDescriptionClick = onDescriptionClick;\n\t\t\tscope.onFileUploadStart = onFileUploadStart;\n\t\t\tscope.onTrashClick = onTrashClick;\n\t\t\tscope.confirmDelete = confirmDelete;\n\t\t\tscope.cancelDelete = cancelDelete;\n\t\t\tscope.onForceGo = onForceGo;\n\t\t\tscope.setIsDirty = setIsDirty;\n\t\t\tscope.fileSizeHelper = fileSizeHelper;\n\t\t\tscope.goToTab = goToTab;\n\t\t\tscope.evaluateRows = evaluateRows;\n\t\t\tscope.selectedDocumentsCount = selectedDocumentsCount;\n\t\t\tscope.shareDocuments = shareDocuments;\n\t\t\tscope.copyToClipboard = copyToClipboard;\n\t\t\tscope.closeNoaAlreadyExistsModal = closeNoaAlreadyExistsModal;\n\n\t\t\tregisterObserverHandlers();\n\t\t\tloadData();\n\t\t\tonDomainDataLoad();\n\t\t\tnewDocumentClear();\n\t\t\tdocument.title = 'Profile-Documents';\n\n\t\t\t$timeout(function () {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_LOAD);\n\t\t\t},\n\t\t\t100);\n\t\t}\n\n\t\tfunction loadData() {\n\t\t\tcarrierRegistrationService.lookupCarrierDocuments(scope.carrierId)\n\t\t\t\t.then(function (response) {\n\t\t\t\t\tscope.m.disableUpload = true;\n\t\t\t\t\tnewDocumentClear();\n\n\t\t\t\t\tif (response.data.documents) {\n\t\t\t\t\t\tscope.m.documents = response.data.documents;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\n\t\tfunction onDomainDataLoad() {\n\t\t\tvar broker = sessionService.getBrokerBranding();\n\t\t\tif (broker && !scope.m.isBroker) {\n\t\t\t\tscope.brokerId = broker.brokerId;\n\t\t\t\tscope.m.brokerName = broker.brokerName;\n\t\t\t\tscope.m.documentsMessage = broker.documentsMessage;\n\t\t\t\tscope.m.documentsMessageDisabled = broker.documentsMessageDisabled;\n\t\t\t}\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_DOMAIN_DATA_LOADED, handler: onDomainDataLoad },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_START_CHANGE_CARRIER_PROFILE_VIEW, handler: saveData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CARRIER_PROFILE_VIEW_IS_DIRTY, handler: setIsDirty },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SET_PENDING_TAB, handler: setPendingTab }\n\t\t\t\t]);\n\n\t\t\tscope.$on('$destroy',\n\t\t\t\tfunction () {\n\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t});\n\n\t\t\tscope.$on('$locationChangeStart',\n\t\t\t\tfunction (event) {\n\t\t\t\t\tif (scope.m.isDirty) {\n\t\t\t\t\t\tif (!scope.ux_requirement_hack_for_scrolling) {\n\t\t\t\t\t\t\tif (!confirm('You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page. Are you sure you want to leave the page?')) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tscope.ux_requirement_hack_for_scrolling = false;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction validateNewDocumentName() {\n\t\t\tif (scope.m.newDocumentName) {\n\t\t\t\tscope.m.disableUpload = false;\n\t\t\t\tscope.m.showDocumentNameError = false;\n\t\t\t} else {\n\t\t\t\tscope.m.showDocumentNameError = true;\n\t\t\t}\n\t\t}\n\n\t\tfunction onUploadClick() {\n\t\t\tsaveNewDocument(loadData);\n\t\t}\n\n\t\tfunction onCancelUploadClick() {\n\t\t\tnewDocumentClear();\n\t\t\tscope.m.isDirty = false;\n\t\t}\n\n\t\tfunction newDocumentClear() {\n\t\t\tscope.m.newDocumentType = 'Interstate Authority Cert';\n\t\t\tscope.m.newDocumentDescription = '';\n\t\t\tscope.m.newDocumentName = '';\n\t\t\tscope.m.newDocumentBase64 = '';\n\t\t\tscope.m.displayNewRow = false;\n\t\t\tscope.m.showFileNameError = false;\n\t\t\tscope.m.disableUpload = true;\n\t\t\tscope.m.fileUploaderFile = undefined;\n\t\t}\n\n\t\tfunction onFileUploadStart() {\n\t\t\tif (scope.m.fileUploaderFile) {\n\t\t\t\tif (validateFile()) {\n\t\t\t\t\tsetIsDirty();\n\t\t\t\t\tscope.m.displayNewRow = true;\n\t\t\t\t\tscope.m.newDocumentType = 'Interstate Authority Cert';\n\t\t\t\t\tngFileUpload.base64DataUrl(scope.m.fileUploaderFile, false)\n\t\t\t\t\t\t.then(function (url) {\n\t\t\t\t\t\t\tscope.m.newDocumentBase64 = url.split(',')[1];\n\t\t\t\t\t\t});\n\t\t\t\t\tscope.m.fileUploaderFileError = '';\n\t\t\t\t} else {\n\t\t\t\t\tscope.m\n\t\t\t\t\t\t.fileUploaderFileError =\n\t\t\t\t\t\t'Only .doc, .docx, .gif, .jpeg, .jpg, .pdf, .png, .tif, .tiff, .xls, or .xlsx under 10mb allowed.';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction validateFile() {\n\t\t\tvar validMimeTypes = [\n\t\t\t\t'application/pdf', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n\t\t\t\t'application/msword', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n\t\t\t\t'application/vnd.ms-excel', 'application/vnd.ms-word', 'image/tiff', 'image/png', 'image/jpeg',\n\t\t\t\t'image/gif'\n\t\t\t];\n\n\t\t\tif (validMimeTypes.indexOf(scope.m.fileUploaderFile.type) > -1) {\n\t\t\t\tif (scope.m.fileUploaderFile.size < 10485760) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction fileSizeHelper(size) {\n\t\t\tif ((size ^ 0) === size) {\n\t\t\t\tif (size < 1024) {\n\t\t\t\t\treturn size + 'B';\n\t\t\t\t} else if (size < 1048576) {\n\t\t\t\t\treturn Math.round(size / 1024) + 'KB';\n\t\t\t\t} else if (size < 1073741824) {\n\t\t\t\t\treturn Math.round(size / 1048576) + 'MB';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction setIsDirty() {\n\t\t\tscope.m.isDirty = true;\n\n\t\t\twindow.onbeforeunload = function () {\n\t\t\t\treturn 'You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page.';\n\t\t\t};\n\t\t}\n\n\t\tfunction saveData(callback) {\n\t\t\tif (!scope.m.isBroker) {\n\n\t\t\t\tcarrierRegistrationService.visitedSection('documents', scope.carrierId, scope.brokerId)\n\t\t\t\t\t.then(function () {\n\t\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_STATUS,\n\t\t\t\t\t\t\t'documents');\n\n\t\t\t\t\t\tif (scope.m.displayNewRow) {\n\t\t\t\t\t\t\tvalidateNewDocumentName();\n\t\t\t\t\t\t\tif (!scope.m.showDocumentNameError)\n\t\t\t\t\t\t\t\tsaveNewDocument(callback);\n\t\t\t\t\t\t\telse if (typeof (callback) === 'function') {\n\t\t\t\t\t\t\t\tscope.pendingCallback = callback;\n\t\t\t\t\t\t\t\tscope.showSectionMessage = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (scope.m.isDirty) {\n\t\t\t\t\t\t\tangular.forEach(scope.m.documents,\n\t\t\t\t\t\t\t\tfunction (document) {\n\t\t\t\t\t\t\t\t\tif (document\n\t\t\t\t\t\t\t\t\t\t.documentTypeEdit ||\n\t\t\t\t\t\t\t\t\t\tdocument.documentNameEdit ||\n\t\t\t\t\t\t\t\t\t\tdocument.descriptionEdit) {\n\t\t\t\t\t\t\t\t\t\teditDocument(document, callback);\n\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (typeof (callback) === 'function') {\n\t\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\n\t\tfunction saveNewDocument(callback) {\n\t\t\tif (scope.m.documents.some(function(doc) { return doc.documentType === NOA_DOCUMENT_TYPE; }) &&\n\t\t\t\tscope.m.newDocumentType === NOA_DOCUMENT_TYPE) {\n\t\t\t\tscope.showNoaAlreadyExistsModal = true;\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!scope.m.displayNewRow)\n\t\t\t\treturn;\n\t\t\tif (scope.m.newDocumentBase64) {\n\t\t\t\tvalidateNewDocumentName();\n\n\t\t\t\tvar fileName = scope.m.fileUploaderFile.name;\n\t\t\t\tvar fileExtension = fileName.split('.').pop();\n\t\t\t\tfileName = fileName.substring(0, fileName.length - (fileExtension.length + 1)); //trim off extension\n\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t\t}, 1);\n\n\t\t\t\tcarrierRegistrationService.insertCarrierDocument(fileName,\n\t\t\t\t\tfileExtension,\n\t\t\t\t\tscope.m.fileUploaderFile.type,\n\t\t\t\t\tscope.m.newDocumentBase64,\n\t\t\t\t\tscope.m.newDocumentDescription,\n\t\t\t\t\tscope.m.newDocumentType,\n\t\t\t\t\tscope.m.newDocumentName,\n\t\t\t\t\tscope.carrierId)\n\t\t\t\t\t.then(function () {\n\t\t\t\t\t\tscope.m.isDirty = false;\n\n\t\t\t\t\t\t// Clear fileUploaderFile so that trash cans become visible.\n\t\t\t\t\t\tscope.m.fileUploaderFile = undefined;\n\t\t\t\t\t\tif (typeof (callback) === 'function') {\n\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t}\n\t\t\t\t\t}).finally(function () {\n\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t});\n\t\t\t} else if (callback) {\n\t\t\t\t$timeout(function () {\n\t\t\t\t\tscope.ux_requirement_hack_for_scrolling = true;\n\t\t\t\t\t$('.profile-docs')\n\t\t\t\t\t\t.animate({\n\t\t\t\t\t\t\tscrollTop: $('#error-summary').offset().top\n\t\t\t\t\t\t},\n\t\t\t\t\t\t200);\n\t\t\t\t\tsetIsDirty();\n\t\t\t\t},\n\t\t\t\t1);\n\t\t\t}\n\t\t}\n\n\t\tfunction editDocument(document, callback) {\n\t\t\tif (document.documentName) {\n\t\t\t\tdocument.showDocumentNameError = false;\n\t\t\t\tif (!document.documentStatus) {\n\t\t\t\t\tdocument.documentStatus = 'ACTIVE';\n\t\t\t\t}\n\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t\t}, 1);\n\n\t\t\t\tcarrierRegistrationService.updateCarrierDocument(document.documentId,\n\t\t\t\t\tdocument.description,\n\t\t\t\t\tdocument.documentType,\n\t\t\t\t\tdocument.documentName,\n\t\t\t\t\tdocument.documentStatus,\n\t\t\t\t\tscope.carrierId)\n\t\t\t\t\t.then(function () {\n\t\t\t\t\t\tscope.m.isDirty = false;\n\t\t\t\t\t\tdocument.documentTypeEdit = false;\n\t\t\t\t\t\tdocument.documentNameEdit = false;\n\t\t\t\t\t\tdocument.descriptionEdit = false;\n\n\t\t\t\t\t\tif (typeof (callback) === 'function') {\n\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t}\n\t\t\t\t\t}).finally(function () {\n\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdocument.showDocumentNameError = true;\n\t\t\t\tif (callback) {\n\t\t\t\t\tscope.showSectionMessage = true;\n\t\t\t\t\tscope.pendingCallback = callback;\n\t\t\t\t\t$timeout(function () {\n\t\t\t\t\t\tscope.ux_requirement_hack_for_scrolling = true;\n\t\t\t\t\t\t$('.profile-docs')\n\t\t\t\t\t\t\t.animate({\n\t\t\t\t\t\t\t\tscrollTop: $('#error-summary').offset().top\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t200);\n\t\t\t\t\t},\n\t\t\t\t\t1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction onDocumentNameClick(document, event) {\n\t\t\tif (scope.m.isBroker)\n\t\t\t\treturn;\n\t\t\tdocument.documentNameEdit = true;\n\t\t\t$timeout(function () {\n\t\t\t\tevent.currentTarget.parentElement.children[1].children[0].focus();\n\t\t\t});\n\t\t}\n\n\t\tfunction onDocumentTypeClick(document, event) {\n\t\t\tif (scope.m.isBroker)\n\t\t\t\treturn;\n\t\t\tdocument.documentTypeDirty = document.documentType;\n\t\t\tdocument.documentTypeEdit = true;\n\n\t\t\t$timeout(function () {\n\t\t\t\tevent.currentTarget.parentElement.children[1].children[0].focus();\n\t\t\t});\n\t\t}\n\n\t\tfunction onDescriptionClick(document, event) {\n\t\t\tif (scope.m.isBroker)\n\t\t\t\treturn;\n\t\t\tdocument.descriptionEdit = true;\n\n\t\t\t$timeout(function () {\n\t\t\t\tevent.currentTarget.parentElement.children[1].children[0].focus();\n\t\t\t});\n\t\t}\n\n\t\tfunction onTrashClick(document) {\n\t\t\tif (scope.m.isBroker)\n\t\t\t\treturn;\n\t\t\tscope.m.deleteDocument = document;\n\t\t}\n\n\t\tfunction confirmDelete() {\n\t\t\tscope.m.deleteDocument.documentStatus = 'INACTIVE';\n\t\t\teditDocument(scope.m.deleteDocument, loadData);\n\t\t\tscope.m.deleteDocument = {};\n\t\t}\n\n\t\tfunction cancelDelete() {\n\t\t\tscope.m.deleteDocument = {};\n\t\t}\n\n\t\tfunction goToTab(tab) {\n\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_SET_PENDING_TAB, tab);\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_START_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tnavigate);\n\t\t}\n\n\t\tfunction setPendingTab(tab) {\n\t\t\tscope.tab = tab;\n\t\t}\n\n\t\tfunction navigate() {\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_FINISH_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tscope.tab);\n\t\t}\n\n\t\tfunction onForceGo() {\n\t\t\tif (typeof (scope.pendingCallback) === 'function')\n\t\t\t\tscope.pendingCallback();\n\t\t}\n\n\t\tfunction evaluateRows() {\n\t\t\tif (scope.m.displayNewRow && scope.m.fileUploaderFile) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfunction selectedDocumentsCount() {\n\t\t\tvar count = 0;\n\t\t\tangular.forEach(scope.m.documents,\n\t\t\t\tfunction (doc) {\n\t\t\t\t\tcount += doc.shared ? 1 : 0;\n\t\t\t\t});\n\n\t\t\treturn count;\n\t\t}\n\n\t\tfunction shareDocuments() {\n\t\t\tvar selectedDocs = [];\n\t\t\tif (selectedDocumentsCount() === 0) {\n\t\t\t\tangular.forEach(scope.m.documents,\n\t\t\t\t\tfunction (doc) {\n\t\t\t\t\t\tselectedDocs.push(doc.documentGuid);\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tangular.forEach(scope.m.documents,\n\t\t\t\t\tfunction (doc) {\n\t\t\t\t\t\tif (doc.shared) {\n\t\t\t\t\t\t\tselectedDocs.push(doc.documentGuid);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\tcarrierRegistrationService.shareDocuments(selectedDocs, scope.carrierId).then(function (response) {\n\t\t\t\tscope.m.showDocumentSharedModal = true;\n\t\t\t\tscope.m.encryptedUrl = response.data.url;\n\t\t\t});\n\t\t}\n\n\t\tfunction copyToClipboard() {\n\t\t\tscope.m.showCopiedMessage = true;\n\t\t\tvar elem = document.getElementById('encryptedUrlText');\n\t\t\tvar targetId = '_hiddenCopyText_';\n\t\t\tvar isInput = elem.tagName === 'INPUT' || elem.tagName === 'TEXTAREA';\n\t\t\tvar origSelectionStart, origSelectionEnd;\n\t\t\tif (isInput) {\n\t\t\t\t// can just use the original source element for the selection and copy\n\t\t\t\ttarget = elem;\n\t\t\t\torigSelectionStart = elem.selectionStart;\n\t\t\t\torigSelectionEnd = elem.selectionEnd;\n\t\t\t} else {\n\t\t\t\t// must use a temporary form element for the selection and copy\n\t\t\t\ttarget = document.getElementById(targetId);\n\t\t\t\tif (!target) {\n\t\t\t\t\tvar target = document.createElement('textarea');\n\t\t\t\t\ttarget.style.position = 'absolute';\n\t\t\t\t\ttarget.style.left = '-9999px';\n\t\t\t\t\ttarget.style.top = '0';\n\t\t\t\t\ttarget.id = targetId;\n\t\t\t\t\tdocument.body.appendChild(target);\n\t\t\t\t}\n\t\t\t\ttarget.textContent = elem.textContent;\n\t\t\t}\n\t\t\t// select the content\n\t\t\tvar currentFocus = document.activeElement;\n\t\t\ttarget.focus();\n\t\t\ttarget.setSelectionRange(0, target.value.length);\n\n\t\t\t// copy the selection\n\t\t\tvar succeed;\n\t\t\ttry {\n\t\t\t\tsucceed = document.execCommand('copy');\n\t\t\t} catch (e) {\n\t\t\t\tsucceed = false;\n\t\t\t}\n\t\t\t// restore original focus\n\t\t\tif (currentFocus && typeof currentFocus.focus === 'function') {\n\t\t\t\tcurrentFocus.focus();\n\t\t\t}\n\n\t\t\tif (isInput) {\n\t\t\t\t// restore prior selection\n\t\t\t\telem.setSelectionRange(origSelectionStart, origSelectionEnd);\n\t\t\t} else {\n\t\t\t\t// clear temporary content\n\t\t\t\ttarget.textContent = '';\n\t\t\t}\n\n\t\t\tdocument.getElementById('copyClipboardButton').focus();\n\t\t\t\n\t\t\treturn succeed;\n\t\t}\n\n\t\tfunction closeNoaAlreadyExistsModal() {\n\t\t\tscope.showNoaAlreadyExistsModal = false;\n\t\t}\n\t}\n})();\n","/* eslint-disable no-redeclare */\n// TODO: remove code above and fix issues in case changing this file\n'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierProfileFleetServices', cobCarrierProfileFleetServices);\n\n\tcobCarrierProfileFleetServices.$inject = [\n\t\t'$location', '$timeout', 'sessionService', 'subjectObserverMessagesService', 'observerService',\n\t\t'carrierRegistrationService', 'carrierDocumentsService', '$stateParams', 'spinnerService'\n\t];\n\n\tvar HAZMAT_DOCUMENT_TYPE = 'HazMat Cert';\n\tvar TWIC_DOCUMENT_TYPE = 'TWIC Card';\n\n\tvar HAZMAT_DOCUMENT_HEADER_INFO = 'Please upload an image of your Hazmat Certificate(s)';\n\tvar TWIC_DOCUMENT_HEADER_INFO = 'Please upload an image of your TWIC Card(s)';\n\n\tvar HAZMAT_UPLOADED_MESSAGE = 'You can upload more Hazmat certificate(s).';\n\tvar TWIC_UPLOADED_MESSAGE = 'You can upload more TWIC card(s).';\n\n\tvar $location,\n\t\t$timeout,\n\t\tsessionService,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tcarrierRegistrationService,\n\t\tcarrierDocumentsService,\n\t\t$stateParams,\n\t\tspinnerService;\n\tvar subjectMessages, observerMessages;\n\n\tfunction cobCarrierProfileFleetServices(\n\t\t_$location_,\n\t\t_$timeout_,\n\t\t_sessionService_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierRegistrationService_,\n\t\t_carrierDocumentsService_,\n\t\t_$stateParams_,\n\t\t_spinnerService_) {\n\t\tsessionService = _sessionService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\tcarrierDocumentsService = _carrierDocumentsService_;\n\t\t$timeout = _$timeout_;\n\t\t$location = _$location_;\n\t\t$stateParams = _$stateParams_;\n\t\tspinnerService = _spinnerService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfileFleetServices.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.m = {\n\t\t\t\tisBroker: sessionService.isBroker(),\n\t\t\t\tisAdmin: sessionService.isAuthorizedInternalAdmin(),\n\t\t\t\tisDirty: false,\n\t\t\t\tshowSectionMessage: false,\n\t\t\t\thazmatUploadResult: {\n\t\t\t\t\tsucceeded: true,\n\t\t\t\t\terrorMessage: ''\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tscope.hazmatDocumentHeaderInfo = HAZMAT_DOCUMENT_HEADER_INFO;\n\t\t\tscope.twicDocumentHeaderInfo = TWIC_DOCUMENT_HEADER_INFO;\n\n\t\t\tscope.hazmatUploadedMessage = HAZMAT_UPLOADED_MESSAGE;\n\t\t\tscope.twicUploadedMessage = TWIC_UPLOADED_MESSAGE;\n\n\t\t\tscope.carrierId = $stateParams.carrierId;\n\t\t\tscope.setIsDirty = setIsDirty;\n\t\t\tscope.isValidNumberOfPowerUnits = isValidNumberOfPowerUnits;\n\t\t\tscope.isValidNumberOfOwnerOperators = isValidNumberOfOwnerOperators;\n\t\t\tscope.isValidNumberOfCompanyDrivers = isValidNumberOfCompanyDrivers;\n\t\t\tscope.isValidTrailerCounts = isValidTrailerCounts;\n\t\t\tscope.isFormValid = isFormValid;\n\t\t\tscope.textFieldKeyDown = textFieldKeyDown;\n\t\t\tscope.textFieldBlur = textFieldBlur;\n\t\t\tscope.goToTab = goToTab;\n\t\t\tscope.loadData = loadData;\n\t\t\tscope.clearTrailerCounts = clearTrailerCounts;\n\t\t\tscope.clearVanTypes = clearVanTypes;\n\t\t\tscope.clearFlatbedTypes = clearFlatbedTypes;\n\t\t\tscope.clearTrailerAttributes = clearTrailerAttributes;\n\t\t\tscope.onChangeHasDangerousGoods = onChangeHasDangerousGoods;\n\t\t\tscope.onChangeHasInternational = onChangeHasInternational;\n\t\t\tscope.onChangeHasSecurityCerts = onChangeHasSecurityCerts;\n\t\t\tscope.onChangeHasEnvironmentalCerts = onChangeHasEnvironmentalCerts;\n\t\t\tscope.onChangeHasLtlCapabilities = onChangeHasLtlCapabilities;\n\t\t\tscope.onChangeHasDropOffPort = onChangeHasDropOffPort;\n\t\t\tscope.onChangeIsPortDrayage = onChangeIsPortDrayage;\n\t\t\tscope.onChangeIsAirCartage = onChangeIsAirCartage;\n\t\t\tscope.onForceGo = onForceGo;\n\t\t\tscope.saveData = saveData;\n\t\t\tscope.setPendingTab = setPendingTab;\n\t\t\tscope.uploadHazmatFile = uploadHazmatFile;\n\t\t\tscope.uploadTwicFile = uploadTwicFile;\n\n\t\t\tscope.ux_requirement_hack_for_scrolling = false;\n\n\t\t\tregisterObserverHandlers();\n\t\t\tloadData();\n\t\t\tdocument.title = 'Profile-Fleet';\n\n\t\t\t$timeout(function() {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_LOAD);\n\t\t\t},\n\t\t\t100);\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_START_CHANGE_CARRIER_PROFILE_VIEW, handler: saveData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CARRIER_PROFILE_VIEW_IS_DIRTY, handler: setIsDirty },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SET_PENDING_TAB, handler: setPendingTab }\n\t\t\t\t]);\n\n\t\t\tscope.$on('$destroy',\n\t\t\t\tfunction() {\n\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t});\n\n\t\t\tscope.$on('$locationChangeStart',\n\t\t\t\tfunction(event) {\n\t\t\t\t\tif (scope.m.isDirty) {\n\t\t\t\t\t\tif (!scope.ux_requirement_hack_for_scrolling) {\n\t\t\t\t\t\t\tif (!confirm('You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page. Are you sure you want to leave the page?')) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tscope.ux_requirement_hack_for_scrolling = false;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction setIsDirty() {\n\t\t\tscope.m.isDirty = true;\n\t\t\twindow.onbeforeunload = function() {\n\t\t\t\treturn 'You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page.';\n\t\t\t};\n\t\t}\n\n\t\tfunction textFieldKeyDown(event) {\n\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\tvar isShift = !!event.shiftKey;\n\n\t\t\tif (isShift) {\n\t\t\t\tswitch (charCode) {\n\t\t\t\tcase 220: // | character\n\t\t\t\tcase 222: // '\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction textFieldBlur() {\n\t\t\tif (scope.m.otherServices != undefined) {\n\t\t\t\tscope.m.otherServices = scope.m.otherServices.replace(/\\|/g, ' ');\n\t\t\t\tscope.m.otherServices = scope.m.otherServices.replace(/'/g, ' ');\n\t\t\t}\n\n\t\t\tif (scope.m.airCartageAirports != undefined) {\n\t\t\t\tscope.m.airCartageAirports = scope.m.airCartageAirports.replace(/\\|/g, ' ');\n\t\t\t\tscope.m.airCartageAirports = scope.m.airCartageAirports.replace(/'/g, ' ');\n\t\t\t}\n\n\t\t\tif (scope.m.portDrayageCities != undefined) {\n\t\t\t\tscope.m.portDrayageCities = scope.m.portDrayageCities.replace(/\\|/g, ' ');\n\t\t\t\tscope.m.portDrayageCities = scope.m.portDrayageCities.replace(/'/g, ' ');\n\t\t\t}\n\t\t}\n\n\t\tfunction loadData() {\n\t\t\tvar carrierId = getCarrierId();\n\n\t\t\tcarrierRegistrationService.lookupCarrierFleetServices(carrierId)\n\t\t\t\t.then(function(response) {\n\n\t\t\t\t\tscope.m.hasDangerousGoods = response.data.hasDangerousGoods;\n\t\t\t\t\tscope.m.hasInternational = response.data.hasInternational;\n\t\t\t\t\tscope.m.hasEnvironmentalCerts = response.data.hasEnvironmentalCerts;\n\t\t\t\t\tscope.m.hasLtlCapabilities = response.data.hasLtlCapabilities;\n\t\t\t\t\tscope.m.hasDropOffPort = response.data.hasDropOffPort;\n\t\t\t\t\tscope.m.hasNoTrailers = response.data.hasNoTrailers;\n\t\t\t\t\tscope.m.hasSecurityCerts = response.data.hasSecurityCerts;\n\n\t\t\t\t\tif (response.data.equipment != null) {\n\t\t\t\t\t\tscope.m.numberOfPowerUnits = response.data.equipment.numberOfPowerUnits;\n\t\t\t\t\t\tscope.m.numberOfOwnerOperators = response.data.equipment.numberOfOwnerOperators;\n\t\t\t\t\t\tscope.m.numberOfCompanyDrivers = response.data.equipment.numberOfCompanyDrivers;\n\t\t\t\t\t\tscope.m.numberOfTeams = response.data.equipment.numberOfTeams;\n\t\t\t\t\t\tscope.m.onBoardCommunications = response.data.equipment.communicationType;\n\t\t\t\t\t\tscope.m.hasAirRide = response.data.equipment.hasAirRide;\n\t\t\t\t\t\tscope.m.hasChains = response.data.equipment.hasChains;\n\t\t\t\t\t\tscope.m.hasCoilRacks = response.data.equipment.hasCoilRacks;\n\t\t\t\t\t\tscope.m.hasConestoga = response.data.equipment.hasConestoga;\n\t\t\t\t\t\tscope.m.hasContainerLocks = response.data.equipment.hasContainerLocks;\n\t\t\t\t\t\tscope.m.hasCurtains = response.data.equipment.hasCurtains;\n\t\t\t\t\t\tscope.m.hasEtrac = response.data.equipment.hasEtrac;\n\t\t\t\t\t\tscope.m.hasGarmentRacks = response.data.equipment.hasGarmentRacks;\n\t\t\t\t\t\tscope.m.hasHotshot = response.data.equipment.hasHotshot;\n\t\t\t\t\t\tscope.m.hasInsulated = response.data.equipment.hasInsulated;\n\t\t\t\t\t\tscope.m.hasPadWrap = response.data.equipment.hasPadWrap;\n\t\t\t\t\t\tscope.m.hasStraps = response.data.equipment.hasStraps;\n\t\t\t\t\t\tscope.m.hasTarps = response.data.equipment.hasTarps;\n\t\t\t\t\t\tscope.m.hasVented = response.data.equipment.hasVented;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (response.data.services != null) {\n\t\t\t\t\t\tscope.m.isBrokerage = response.data.services.doesBrokerage;\n\t\t\t\t\t\tscope.m.isMultiStop = response.data.services.doesMultipleStops;\n\t\t\t\t\t\tscope.m.isPalletExchange = response.data.services.doesPalletExchange;\n\t\t\t\t\t\tscope.m.isParcel = response.data.services.doesParcels;\n\t\t\t\t\t\tscope.m.isTrailerInterchange = response.data.services.doesTrailerInterchange;\n\t\t\t\t\t\tscope.m.isAirCartage = response.data.services.handlesAirFreightCartage;\n\t\t\t\t\t\tscope.m.isEdi = response.data.services.handlesEdi;\n\t\t\t\t\t\tscope.m.isLargeLoad = response.data.services.handlesOversizeLoads;\n\t\t\t\t\t\tscope.m.isPortDrayage = response.data.services.handlesPortDryage;\n\t\t\t\t\t\tscope.m.isRailDrayage = response.data.services.handlesRailDryage;\n\t\t\t\t\t\tscope.m.isCarbCompliant = response.data.services.hasCarbCompliantTrucks;\n\t\t\t\t\t\tscope.m.isExpeditedGround = response.data.services.hasExpeditedGround;\n\t\t\t\t\t\tscope.m.isSpottedTrailers = response.data.services.hasSpottedTrailers;\n\t\t\t\t\t\tscope.m.isAceCertified = response.data.services.isAceCertified;\n\t\t\t\t\t\tscope.m.is100PctCarbCompliant = response.data.services.isCarbComplientTru;\n\t\t\t\t\t\tscope.m.isCtpatMember = response.data.services.isCtpatMember;\n\t\t\t\t\t\tscope.m.isHazmatCertified = response.data.services.isHazmatCertified;\n\t\t\t\t\t\tscope.m.isRadioactiveCertified = response.data.services.isRadioactiveCertified;\n\t\t\t\t\t\tscope.m.isResponsibleCareCarrier = response.data.services.isResponsibileCare;\n\t\t\t\t\t\tscope.m.isSmartWayCarrier = response.data.services.isSmartwayCarrier;\n\t\t\t\t\t\tscope.m.isTsaRegistered = response.data.services.isTsaRegistered;\n\t\t\t\t\t\tscope.m.isTwicCardholder = response.data.services.isTwicCardholder;\n\t\t\t\t\t\tscope.m.isUpsCarrier = response.data.services.isUpsCarrier;\n\t\t\t\t\t\tscope.m.otherServices = response.data.services.otherServices;\n\t\t\t\t\t\tscope.m.isLtlCapabilities = response.data.services.hasLtlCapabilties;\n\n\t\t\t\t\t\tif (response.data.services.airports != null) {\n\t\t\t\t\t\t\tvar airportCount = response.data.services.airports.length;\n\t\t\t\t\t\t\tif (airportCount > 0) {\n\t\t\t\t\t\t\t\tscope.m.airCartageAirports = '';\n\t\t\t\t\t\t\t\tfor (var i = 0; i < airportCount; i++) {\n\t\t\t\t\t\t\t\t\tscope.m.airCartageAirports += response.data.services.airports[i] + '\\n';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (response.data.services.ports != null) {\n\t\t\t\t\t\t\tvar portCount = response.data.services.ports.length;\n\t\t\t\t\t\t\tif (portCount > 0) {\n\t\t\t\t\t\t\t\tscope.m.portDrayageCities = '';\n\t\t\t\t\t\t\t\tfor (var i = 0; i < portCount; i++) {\n\t\t\t\t\t\t\t\t\tscope.m.portDrayageCities += response.data.services.ports[i] + '\\n';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif (response.data.equipment != null) {\n\n\t\t\t\t\t\tvar arrayLength = response.data.equipment.trailers.length;\n\n\t\t\t\t\t\tfor (var i = 0; i < arrayLength; i++) {\n\t\t\t\t\t\t\tswitch (response.data.equipment.trailers[i].trailerType.toLowerCase()) {\n\t\t\t\t\t\t\tcase 'flatbed48ft':\n\t\t\t\t\t\t\t\tscope.m.flatbeds48 = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'flatbed53ft':\n\t\t\t\t\t\t\t\tscope.m.flatbeds53 = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'van48ft':\n\t\t\t\t\t\t\t\tscope.m.vans48 = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'van53ft':\n\t\t\t\t\t\t\t\tscope.m.vans53 = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'reefer48ft':\n\t\t\t\t\t\t\t\tscope.m.reefers48 = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'reefer53ft':\n\t\t\t\t\t\t\t\tscope.m.reefers53 = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'doubledrop':\n\t\t\t\t\t\t\t\tscope.m.doubleDropCount = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'lowboy':\n\t\t\t\t\t\t\t\tscope.m.lowBoyCount = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'autocarrier':\n\t\t\t\t\t\t\t\tscope.m.autoCarrierCount = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'container':\n\t\t\t\t\t\t\t\tscope.m.containerCount = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'movingvan':\n\t\t\t\t\t\t\t\tscope.m.movingVanCount = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'dropstep':\n\t\t\t\t\t\t\t\tscope.m.dropStepDeckCount = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'dumptrailer':\n\t\t\t\t\t\t\t\tscope.m.dumpTrailerCount = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'stretchtrailer':\n\t\t\t\t\t\t\t\tscope.m.stretchTrailerCount = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'hopperbottom':\n\t\t\t\t\t\t\t\tscope.m.hopperBottomCount = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'tanker':\n\t\t\t\t\t\t\t\tscope.m.tankerCount = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'straighttruck':\n\t\t\t\t\t\t\t\tscope.m.straightTruckCount = response.data.equipment.trailers[i].trailerAmount;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\tclearVanTypes();\n\t\t\t\t\t\tclearFlatbedTypes();\n\t\t\t\t\t\tclearTrailerAttributes();\n\t\t\t\t\t\tonChangeHasDangerousGoods();\n\t\t\t\t\t\tonChangeHasInternational();\n\t\t\t\t\t\tonChangeHasSecurityCerts();\n\t\t\t\t\t\tonChangeHasEnvironmentalCerts();\n\t\t\t\t\t\tonChangeHasLtlCapabilities();\n\t\t\t\t\t\tonChangeHasDropOffPort();\n\t\t\t\t\t\tonChangeIsPortDrayage();\n\t\t\t\t\t\tonChangeIsAirCartage();\n\n\t\t\t\t\t\tscope.m.isDirty = false;\n\t\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t\t});\n\n\t\t\t\t\tloadDocuments();\n\t\t\t\t})\n\t\t\t\t.catch(function(e) {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\n\t\t}\n\n\t\tfunction getCarrierId() {\n\t\t\treturn $stateParams.carrierId ? $stateParams.carrierId : -1;\n\t\t}\n\n\t\tfunction clearTrailerCounts() {\n\t\t\tif (scope.m.hasNoTrailers) {\n\t\t\t\tscope.m.vans48 = null;\n\t\t\t\tscope.m.vans53 = null;\n\t\t\t\tscope.m.flatbeds48 = null;\n\t\t\t\tscope.m.flatbeds53 = null;\n\t\t\t\tscope.m.reefers48 = null;\n\t\t\t\tscope.m.reefers53 = null;\n\t\t\t\tscope.m.containerCount = null;\n\t\t\t\tscope.m.movingVanCount = null;\n\t\t\t\tscope.m.straightTruckCount = null;\n\t\t\t\tscope.m.tankerCount = null;\n\t\t\t\tscope.m.autoCarrierCount = null;\n\t\t\t\tscope.m.doubleDropCount = null;\n\t\t\t\tscope.m.dropStepDeckCount = null;\n\t\t\t\tscope.m.lowBoyCount = null;\n\t\t\t\tscope.m.stretchTrailerCount = null;\n\t\t\t\tscope.m.dumpTrailerCount = null;\n\n\t\t\t\tif (flatbedsCountIsZero()) {\n\t\t\t\t\tscope.m.hopperBottomCount = null;\n\t\t\t\t}\n\n\t\t\t\tclearTrailerAttributes();\n\t\t\t}\n\t\t}\n\n\t\tfunction clearVanTypes() {\n\t\t\tif (vansCountIsZero()) {\n\t\t\t\tscope.m.containerCount = null;\n\t\t\t\tscope.m.movingVanCount = null;\n\t\t\t\tscope.m.straightTruckCount = null;\n\t\t\t\tscope.m.tankerCount = null;\n\t\t\t\tscope.m.hopperBottomCount = null;\n\n\t\t\t\tif (flatbedsCountIsZero()) {\n\t\t\t\t\tscope.m.hopperBottomCount = null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tclearTrailerAttributes();\n\t\t}\n\n\t\tfunction clearFlatbedTypes() {\n\t\t\tif (flatbedsCountIsZero()) {\n\t\t\t\tscope.m.autoCarrierCount = null;\n\t\t\t\tscope.m.doubleDropCount = null;\n\t\t\t\tscope.m.dropStepDeckCount = null;\n\t\t\t\tscope.m.lowBoyCount = null;\n\t\t\t\tscope.m.stretchTrailerCount = null;\n\t\t\t\tscope.m.dumpTrailerCount = null;\n\n\t\t\t\tif (vansCountIsZero()) {\n\t\t\t\t\tscope.m.hopperBottomCount = null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tclearTrailerAttributes();\n\t\t}\n\n\t\tfunction clearTrailerAttributes() {\n\t\t\tif (vansCountIsZero()) {\n\t\t\t\tscope.m.hasCurtains = false;\n\t\t\t\tscope.m.hasGarmentRacks = false;\n\t\t\t\tscope.m.hasPadWrap = false;\n\t\t\t}\n\n\t\t\tif (flatbedsCountIsZero()) {\n\t\t\t\tscope.m.hasChains = false;\n\t\t\t\tscope.m.hasCoilRacks = false;\n\t\t\t\tscope.m.hasStraps = false;\n\t\t\t\tscope.m.hasTarps = false;\n\t\t\t}\n\n\t\t\tif (vansCountIsZero() && flatbedsCountIsZero()) {\n\t\t\t\tscope.m.hasConestoga = false;\n\t\t\t\tscope.m.hasHotshot = false;\n\t\t\t}\n\n\t\t\tif (vansCountIsZero() && flatbedsCountIsZero() && reefersCountIsZero()) {\n\t\t\t\tscope.m.hasAirRide = false;\n\t\t\t}\n\t\t\tif (vansCountIsZero() && reefersCountIsZero()) {\n\t\t\t\tscope.m.hasInsulated = false;\n\t\t\t\tscope.m.hasVented = false;\n\t\t\t\tscope.m.hasContainerLocks = false;\n\t\t\t\tscope.m.hasEtrac = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction vansCountIsZero() {\n\t\t\treturn ((scope.m\n\t\t\t\t.vans48 ===\n\t\t\t\tnull ||\n\t\t\t\tscope.m.vans48 === '0' ||\n\t\t\t\tscope.m.vans48 === '' ||\n\t\t\t\tscope.m.vans48 === 0) &&\n\t\t\t(scope.m.vans53 === null || scope.m.vans53 === '0' || scope.m.vans53 === '' || scope.m.vans53 === 0));\n\t\t}\n\n\t\tfunction flatbedsCountIsZero() {\n\t\t\treturn ((scope.m.flatbeds48 === null ||\n\t\t\t\tscope.m.flatbeds48 === '0' ||\n\t\t\t\tscope.m.flatbeds48 === '' ||\n\t\t\t\tscope.m.flatbeds48 === 0) &&\n\t\t\t(scope.m.flatbeds53 === null ||\n\t\t\t\tscope.m.flatbeds53 === '0' ||\n\t\t\t\tscope.m.flatbeds53 === '' ||\n\t\t\t\tscope.m.flatbeds53 === 0));\n\t\t}\n\n\t\tfunction reefersCountIsZero() {\n\t\t\treturn ((scope.m.reefers48 === null ||\n\t\t\t\tscope.m.reefers48 === '0' ||\n\t\t\t\tscope.m.reefers48 === '' ||\n\t\t\t\tscope.m.reefers48 === 0) &&\n\t\t\t(scope.m.reefers53 === null ||\n\t\t\t\tscope.m.reefers53 === '0' ||\n\t\t\t\tscope.m.reefers53 === '' ||\n\t\t\t\tscope.m.reefers53 === 0));\n\t\t}\n\n\t\tfunction isValidNumberOfOwnerOperators() {\n\t\t\tif (scope.m.numberOfOwnerOperators == null || scope.m.numberOfOwnerOperators === '') {\n\t\t\t\tscope.m.numberOfOwnerOperatorsError = 'Valid input is required';\n\t\t\t\t\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tscope.m.numberOfOwnerOperatorsError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction onChangeHasDangerousGoods() {\n\t\t\tif (scope.m.hasDangerousGoods === false || scope.m.hasDangerousGoods === null) {\n\t\t\t\tscope.m.isHazmatCertified = false;\n\t\t\t\tscope.m.isRadioactiveCertified = false;\n\t\t\t\tscope.m.isResponsibleCareCarrier = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction onChangeHasInternational() {\n\t\t\tif (scope.m.hasInternational === false || scope.m.hasInternational === null) {\n\t\t\t\tscope.m.isAceCertified = false;\n\t\t\t\tscope.m.isCtpatMember = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction onChangeHasSecurityCerts() {\n\t\t\tif (scope.m.hasSecurityCerts === false || scope.m.hasSecurityCerts === null) {\n\t\t\t\tscope.m.isTwicCardholder = false;\n\t\t\t\tscope.m.isTsaRegistered = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction onChangeHasEnvironmentalCerts() {\n\t\t\tif (scope.m.hasEnvironmentalCerts === false || scope.m.hasEnvironmentalCerts === null) {\n\t\t\t\tscope.m.isSmartWayCarrier = false;\n\t\t\t\tscope.m.isCarbCompliant = false;\n\t\t\t\tscope.m.is100PctCarbCompliant = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction onChangeHasLtlCapabilities() {\n\t\t\tif (scope.m.hasLtlCapabilities === false || scope.m.hasLtlCapabilities === null) {\n\t\t\t\tscope.m.isParcel = false;\n\t\t\t\tscope.m.isUpsCarrier = false;\n\t\t\t\tscope.m.isLtlCapabilities = false;\n\t\t\t\tscope.m.isExpeditedGround = false;\n\t\t\t\tscope.m.isMultiStop = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction onChangeHasDropOffPort() {\n\t\t\tif (scope.m.hasDropOffPort === false || scope.m.hasDropOffPort === null) {\n\t\t\t\tscope.m.isRailDrayage = false;\n\t\t\t\tscope.m.isPortDrayage = false;\n\t\t\t\tscope.m.portDrayageCities = null;\n\t\t\t\tscope.m.isAirCartage = false;\n\t\t\t\tscope.m.airCartageAirports = null;\n\t\t\t}\n\t\t}\n\n\t\tfunction onChangeIsPortDrayage() {\n\t\t\tif (scope.m.isPortDrayage === false || scope.m.isPortDrayage === null) {\n\t\t\t\tscope.m.portDrayageCities = null;\n\t\t\t}\n\t\t}\n\n\t\tfunction onChangeIsAirCartage() {\n\t\t\tif (scope.m.isAirCartage === false || scope.m.isAirCartage === null) {\n\t\t\t\tscope.m.airCartageAirports = null;\n\t\t\t}\n\t\t}\n\n\t\tfunction isValidNumberOfPowerUnits() {\n\t\t\tif (!scope.m.isBroker) {\n\t\t\t\tif (scope.m.numberOfPowerUnits == null || scope.m.numberOfPowerUnits === '') {\n\t\t\t\t\tscope.m.numberOfPowerUnitsError = 'Valid input is required';\n\t\t\t\t\t\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\tscope.m.numberOfPowerUnitsError = '';\n\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction isValidNumberOfOwnerOperators() {\n\t\t\tif (!scope.m.isBroker) {\n\t\t\t\tif (scope.m.numberOfOwnerOperators == null || scope.m.numberOfOwnerOperators === '') {\n\t\t\t\t\tscope.m.numberOfOwnerOperatorsError = 'Valid input is required';\n\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\tscope.m.numberOfOwnerOperatorsError = '';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction isValidNumberOfCompanyDrivers() {\n\t\t\tif (!scope.m.isBroker) {\n\t\t\t\tif (scope.m.numberOfCompanyDrivers == null || scope.m.numberOfCompanyDrivers === '') {\n\t\t\t\t\tscope.m.numberOfCompanyDriversError = 'Valid input is required';\n\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\tscope.m.numberOfCompanyDriversError = '';\n\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction isValidTrailerCounts() {\n\t\t\tif (!scope.m.hasNoTrailers) {\n\t\t\t\tif ((scope.m.vans48 != null && scope.m.vans48 !== '' && scope.m.vans48 >= 0) ||\n\t\t\t\t(scope.m.vans53 != null && scope.m.vans53 !== '' && scope.m.vans53 >= 0) ||\n\t\t\t\t(scope.m.flatbeds48 != null && scope.m.flatbeds48 !== '' && scope.m.flatbeds48 >= 0) ||\n\t\t\t\t(scope.m.flatbeds53 != null && scope.m.flatbeds53 !== '' && scope.m.flatbeds53 >= 0) ||\n\t\t\t\t(scope.m.reefers48 != null && scope.m.reefers48 !== '' && scope.m.reefers48 >= 0) ||\n\t\t\t\t(scope.m.reefers53 != null && scope.m.reefers53 !== '' && scope.m.reefers53 >= 0)) {\n\t\t\t\t\tscope.m.numberOfTrailersError = '';\n\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tscope.m\n\t\t\t\t\t.numberOfTrailersError =\n\t\t\t\t\t'Enter at least one quantity for Number of Trailers or select the \\'I have no trailers\\' checkbox. ';\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tscope.m.numberOfTrailersError = '';\n\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction isFormValid() {\n\t\t\tisValidNumberOfCompanyDrivers();\n\t\t\tisValidNumberOfOwnerOperators();\n\t\t\tisValidNumberOfPowerUnits();\n\t\t\tisValidTrailerCounts();\n\n\t\t\tif (scope.m.numberOfCompanyDriversError === '' &&\n\t\t\t\tscope.m.numberOfOwnerOperatorsError === '' &&\n\t\t\t\tscope.m.numberOfPowerUnitsError === '' &&\n\t\t\t\tscope.m.numberOfTrailersError === '') {\n\t\t\t\tsetSectionMessage(false);\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tsetSectionMessage(true);\n\t\t\t\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction saveData(callback) {\n\t\t\tif (scope.m.isDirty) {\n\t\t\t\tif (isFormValid()) {\n\t\t\t\t\tvar trailers = [];\n\t\t\t\t\tvar ports = [];\n\t\t\t\t\tvar airports = [];\n\n\t\t\t\t\tif (scope.m.vans48 == 0 &&\n\t\t\t\t\t\tscope.m.vans53 == 0 &&\n\t\t\t\t\t\tscope.m.flatbeds48 == 0 &&\n\t\t\t\t\t\tscope.m.flatbeds53 == 0 &&\n\t\t\t\t\t\tscope.m.reefers48 == 0 &&\n\t\t\t\t\t\tscope.m.reefers53 == 0) {\n\n\t\t\t\t\t\tscope.m.vans48 = null;\n\t\t\t\t\t\tscope.m.vans53 = null;\n\t\t\t\t\t\tscope.m.flatbeds48 = null;\n\t\t\t\t\t\tscope.m.flatbeds53 = null;\n\t\t\t\t\t\tscope.m.reefers48 = null;\n\t\t\t\t\t\tscope.m.reefers53 = null;\n\n\t\t\t\t\t\tscope.m.hasNoTrailers = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.vans48 != null && scope.m.vans48 !== '') {\n\t\t\t\t\t\tif (scope.m.vans48 >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'Van48ft',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.vans48\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.vans53 != null && scope.m.vans53 !== '') {\n\t\t\t\t\t\tif (scope.m.vans53 >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'Van53ft',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.vans53\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.flatbeds48 != null && scope.m.flatbeds48 !== '') {\n\t\t\t\t\t\tif (scope.m.flatbeds48 >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'Flatbed48ft',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.flatbeds48\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.flatbeds53 != null && scope.m.flatbeds53 !== '') {\n\t\t\t\t\t\tif (scope.m.flatbeds53 >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'Flatbed53ft',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.flatbeds53\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.reefers48 != null && scope.m.reefers48 !== '') {\n\t\t\t\t\t\tif (scope.m.reefers48 >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'Reefer48ft',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.reefers48\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.reefers53 != null && scope.m.reefers53 !== '') {\n\t\t\t\t\t\tif (scope.m.reefers53 >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'Reefer53ft',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.reefers53\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.doubleDropCount != null && scope.m.doubleDropCount !== '') {\n\t\t\t\t\t\tif (scope.m.doubleDropCount >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'DoubleDrop',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.doubleDropCount\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.containerCount != null && scope.m.containerCount !== '') {\n\t\t\t\t\t\tif (scope.m.containerCount >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'Container',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.containerCount\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.movingVanCount != null && scope.m.movingVanCount !== '') {\n\t\t\t\t\t\tif (scope.m.movingVanCount >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'MovingVan',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.movingVanCount\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.straightTruckCount != null && scope.m.straightTruckCount !== '') {\n\t\t\t\t\t\tif (scope.m.straightTruckCount >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'StraightTruck',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.straightTruckCount\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.tankerCount != null && scope.m.tankerCount !== '') {\n\t\t\t\t\t\tif (scope.m.tankerCount >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'Tanker',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.tankerCount\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.autoCarrierCount != null && scope.m.autoCarrierCount !== '') {\n\t\t\t\t\t\tif (scope.m.autoCarrierCount >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'AutoCarrier',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.autoCarrierCount\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.dropStepDeckCount != null && scope.m.dropStepDeckCount !== '') {\n\t\t\t\t\t\tif (scope.m.dropStepDeckCount >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'DropStep',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.dropStepDeckCount\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.lowBoyCount != null && scope.m.lowBoyCount !== '') {\n\t\t\t\t\t\tif (scope.m.lowBoyCount >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'Lowboy',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.lowBoyCount\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.stretchTrailerCount != null && scope.m.stretchTrailerCount !== '') {\n\t\t\t\t\t\tif (scope.m.stretchTrailerCount >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'StretchTrailer',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.stretchTrailerCount\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.dumpTrailerCount != null && scope.m.dumpTrailerCount !== '') {\n\t\t\t\t\t\tif (scope.m.dumpTrailerCount >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'DumpTrailer',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.dumpTrailerCount\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.hopperBottomCount != null && scope.m.hopperBottomCount !== '') {\n\t\t\t\t\t\tif (scope.m.hopperBottomCount >= 0) {\n\t\t\t\t\t\t\ttrailers.push({\n\t\t\t\t\t\t\t\ttrailerType: 'HopperBottom',\n\t\t\t\t\t\t\t\tnumberOf: scope.m.hopperBottomCount\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\n\t\t\t\t\tif (scope.m.airCartageAirports != null) {\n\t\t\t\t\t\tairports = scope.m.airCartageAirports.split('\\n');\n\t\t\t\t\t}\n\n\t\t\t\t\tif (scope.m.portDrayageCities != null) {\n\t\t\t\t\t\tports = scope.m.portDrayageCities.split('\\n');\n\t\t\t\t\t}\n\n\t\t\t\t\tvar carrierId = getCarrierId();\n\t\t\t\t\tcarrierRegistrationService.updateEquipmentInfo(carrierId,\n\t\t\t\t\t\tscope.m.hasNoTrailers,\n\t\t\t\t\t\tscope.m.hasInternational,\n\t\t\t\t\t\tscope.m.hasDangerousGoods,\n\t\t\t\t\t\tscope.m.hasSecurityCerts,\n\t\t\t\t\t\tscope.m.hasEnvironmentalCerts,\n\t\t\t\t\t\tscope.m.hasLtlCapabilities,\n\t\t\t\t\t\tscope.m.numberOfPowerUnits,\n\t\t\t\t\t\tscope.m.numberOfTeams,\n\t\t\t\t\t\tscope.m.numberOfOwnerOperators,\n\t\t\t\t\t\tscope.m.numberOfCompanyDrivers,\n\t\t\t\t\t\tscope.m.onBoardCommunications,\n\t\t\t\t\t\ttrailers,\n\t\t\t\t\t\tscope.m.hasAirRide,\n\t\t\t\t\t\tscope.m.hasVented,\n\t\t\t\t\t\tscope.m.hasHotshot,\n\t\t\t\t\t\tscope.m.hasCurtains,\n\t\t\t\t\t\tscope.m.hasInsulated,\n\t\t\t\t\t\tscope.m.hasConestoga,\n\t\t\t\t\t\tscope.m.hasCoilRacks,\n\t\t\t\t\t\tscope.m.hasContainerLocks,\n\t\t\t\t\t\tscope.m.hasTarps,\n\t\t\t\t\t\tscope.m.hasEtrac,\n\t\t\t\t\t\tscope.m.hasGarmentRacks,\n\t\t\t\t\t\tscope.m.hasPadWrap,\n\t\t\t\t\t\tscope.m.hasStraps,\n\t\t\t\t\t\tscope.m.hasChains,\n\t\t\t\t\t\tscope.m.isHazmatCertified,\n\t\t\t\t\t\tscope.m.isRadioactiveCertified,\n\t\t\t\t\t\tscope.m.isResponsibleCareCarrier,\n\t\t\t\t\t\tscope.m.isAceCertified,\n\t\t\t\t\t\tscope.m.isCtpatMember,\n\t\t\t\t\t\tscope.m.isTwicCardholder,\n\t\t\t\t\t\tscope.m.isTsaRegistered,\n\t\t\t\t\t\tscope.m.isSmartWayCarrier,\n\t\t\t\t\t\tscope.m.isCarbCompliant,\n\t\t\t\t\t\tscope.m.is100PctCarbCompliant,\n\t\t\t\t\t\tscope.m.isParcel,\n\t\t\t\t\t\tscope.m.isUpsCarrier,\n\t\t\t\t\t\tscope.m.isLtlCapabilities,\n\t\t\t\t\t\tscope.m.isExpeditedGround,\n\t\t\t\t\t\tscope.m.isMultiStop,\n\t\t\t\t\t\tscope.m.isRailDrayage,\n\t\t\t\t\t\tscope.m.isPortDrayage,\n\t\t\t\t\t\tscope.m.isAirCartage,\n\t\t\t\t\t\tscope.m.isEdi,\n\t\t\t\t\t\tscope.m.isSpottedTrailers,\n\t\t\t\t\t\tscope.m.isLargeLoad,\n\t\t\t\t\t\tscope.m.isTrailerInterchange,\n\t\t\t\t\t\tscope.m.isPalletExchange,\n\t\t\t\t\t\tscope.m.isBrokerage,\n\t\t\t\t\t\tscope.m.otherServices,\n\t\t\t\t\t\tairports,\n\t\t\t\t\t\tports,\n\t\t\t\t\t\tscope.m.hasDropOffPort)\n\t\t\t\t\t\t.then(function() {\n\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_STATUS,\n\t\t\t\t\t\t\t\t\t'fleetServices');\n\t\t\t\t\t\t\tscope.m.isDirty = false;\n\t\t\t\t\t\t\tsetSectionMessage(false);\n\t\t\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t\t\t\tif (typeof (callback) === 'function')\n\t\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(function(e) {\n\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tsetSectionMessage(true);\n\t\t\t\t\tscope.pendingCallback = callback;\n\n\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsetSectionMessage(false);\n\t\t\t\tif (typeof (callback) === 'function')\n\t\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\n\t\tfunction goToTab(tab) {\n\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_SET_PENDING_TAB, tab);\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_START_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tnavigate);\n\t\t}\n\n\t\tfunction setPendingTab(tab) {\n\t\t\tscope.tab = tab;\n\t\t}\n\n\t\tfunction navigate() {\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_FINISH_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tscope.tab);\n\t\t}\n\n\t\tfunction onForceGo() {\n\t\t\tif (typeof (scope.pendingCallback) === 'function')\n\t\t\t\tscope.pendingCallback();\n\t\t}\n\n\t\tfunction setSectionMessage(show) {\n\t\t\tscope.m.showSectionMessage = show;\n\t\t\tif (show) {\n\t\t\t\t$timeout(function () {\n\t\t\t\t\t$('.carrier-profile-wrapper')\n\t\t\t\t\t\t.animate({\n\t\t\t\t\t\t\tscrollTop: $('#error-summary').offset().top\n\t\t\t\t\t\t},\n\t\t\t\t\t\t200);\n\t\t\t\t},\n\t\t\t\t10);\n\t\t\t}\n\t\t}\n\n\t\tfunction loadDocuments() {\n\t\t\tvar carrierId = getCarrierId();\n\t\t\tcarrierRegistrationService.lookupCarrierDocuments(carrierId).then(function (response) {\n\t\t\t\tvar documents = response.data.documents;\n\t\t\t\tscope.m.hazmatCertificates = carrierDocumentsService.getDocumentsByType(documents, HAZMAT_DOCUMENT_TYPE);\n\t\t\t\tscope.m.twicCards = carrierDocumentsService.getDocumentsByType(documents, TWIC_DOCUMENT_TYPE);\n\t\t\t});\n\t\t}\n\n\t\tfunction uploadTwicFile(file) {\n\t\t\tif (!file)\n\t\t\t\treturn;\n\n\t\t\tvar validationResult = carrierDocumentsService.validateFleetDocument(scope.m.twicCards, file);\n\t\t\tif (!validationResult.succeeded) {\n\t\t\t\tscope.m.twicUploadResult = validationResult;\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tuploadFile(file, TWIC_DOCUMENT_TYPE);\n\t\t}\n\n\t\tfunction uploadHazmatFile(file) {\n\t\t\tif (!file)\n\t\t\t\treturn;\n\n\t\t\tvar validationResult = carrierDocumentsService.validateFleetDocument(scope.m.hazmatCertificates, file);\n\t\t\tif (!validationResult.succeeded) {\n\t\t\t\tscope.m.hazmatUploadResult = validationResult;\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tuploadFile(file, HAZMAT_DOCUMENT_TYPE);\n\t\t}\n\n\t\tfunction uploadFile(file, type) {\n\t\t\tspinnerService.startSpinner(scope);\n\n\t\t\tcarrierDocumentsService.getBase64DataUrl(file).then(function (url) {\n\t\t\t\tvar documentFile = {\n\t\t\t\t\tdocumentName: file.name,\n\t\t\t\t\tmimeType: file.type,\n\t\t\t\t\tdocumentType: type,\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tbase64: url.split(',')[1]\n\t\t\t\t};\n\n\t\t\t\tvar carrierId = getCarrierId();\n\t\t\t\tcarrierDocumentsService.uploadDocument(documentFile, carrierId).then(function (response) {\n\t\t\t\t\tif (response.data.isSuccess) {\n\t\t\t\t\t\tif (type === HAZMAT_DOCUMENT_TYPE) {\n\t\t\t\t\t\t\tscope.m.hazmatCertificates.unshift(response.data.document);\n\t\t\t\t\t\t\tscope.m.hazmatFileUploadedRecently = true;\n\t\t\t\t\t\t\tscope.m.hazmatUploadResult = carrierDocumentsService.getResult(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (type === TWIC_DOCUMENT_TYPE) {\n\t\t\t\t\t\t\tscope.m.twicCards.unshift(response.data.document);\n\t\t\t\t\t\t\tscope.m.twicCardUploadedRecently = true;\n\t\t\t\t\t\t\tscope.m.twicUploadResult = carrierDocumentsService.getResult(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}).finally(function () {\n\t\t\t\t\tspinnerService.stopSpinner(scope);\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierProfileInsurance', cobCarrierProfileInsurance);\n\n\tcobCarrierProfileInsurance.$inject = [\n\t\t'$timeout', 'sessionService', 'subjectObserverMessagesService', 'observerService', 'carrierRegistrationService', '$stateParams'\n\t];\n\n\tvar $timeout, sessionService, subjectObserverMessagesService, observerService, carrierRegistrationService, $stateParams;\n\tvar subjectMessages, observerMessages;\n\n\tfunction cobCarrierProfileInsurance(_$timeout_,\n\t\t_sessionService_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierRegistrationService_,\n\t\t_$stateParams_) {\n\t\t$timeout = _$timeout_;\n\t\tsessionService = _sessionService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\t$stateParams = _$stateParams_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfileInsurance.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.m = {};\n\n\t\t\tloadData();\n\t\t\tregisterObserverHandlers();\n\t\t\tdocument.title = 'Profile-Insurance';\n\n\t\t\t$timeout(function() {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_LOAD);\n\t\t\t\tloadData();\n\t\t\t},\n\t\t\t100);\n\t\t}\n\n\t\tfunction loadData() {\n\n\t\t\tcarrierRegistrationService.lookupInsuranceInformation($stateParams.carrierId)\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tif (response.data.isRegistryInsurance) {\n\t\t\t\t\t\tvar regInsurance = {\n\t\t\t\t\t\t\tagents: response.data\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (sessionService.getBrokerBranding()) {\n\t\t\t\t\t\t\tregInsurance.insuranceMessage = sessionService.getBrokerBranding().insuranceMessage;\n\t\t\t\t\t\t\tregInsurance.brokerName = sessionService.getBrokerBranding().brokerName;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_INSUREANCE_REG_LOADED,\n\t\t\t\t\t\t\tregInsurance);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar dobInsurance = {\n\t\t\t\t\t\t\tagents: response.data.agents\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (sessionService.getBrokerBranding()) {\n\t\t\t\t\t\t\tdobInsurance.insuranceMessage = sessionService.getBrokerBranding().insuranceMessage;\n\t\t\t\t\t\t\tdobInsurance.brokerName = sessionService.getBrokerBranding().brokerName;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_INSUREANCE_DOB_LOADED,\n\t\t\t\t\t\t\tdobInsurance);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CARRIER_PROFILE_INSUREANCE_RELOAD, handler: loadData }\n\t\t\t\t]);\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierProfileInsuranceDob', cobCarrierProfileInsuranceDob);\n\n\tcobCarrierProfileInsuranceDob.$inject = [\n\t\t'$timeout', '$location', 'Upload', 'sessionService', 'subjectObserverMessagesService',\n\t\t'observerService', 'carrierRegistrationService', 'validationService', '$stateParams'\n\t];\n\n\tvar $timeout,\n\t\t$location,\n\t\tngFileUpload,\n\t\tsessionService,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tvalidationService,\n\t\t$stateParams;\n\tvar subjectMessages, observerMessages, carrierRegistrationService, cleanAgent, pendingTab;\n\n\tfunction cobCarrierProfileInsuranceDob(_$timeout_,\n\t\t_$location_,\n\t\t_ngFileUpload_,\n\t\t_sessionService_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierRegistrationService_,\n\t\t_validationService_,\n\t\t_$stateParams_) {\n\t\t$timeout = _$timeout_;\n\t\t$location = _$location_;\n\t\tngFileUpload = _ngFileUpload_;\n\t\tsessionService = _sessionService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\tvalidationService = _validationService_;\n\t\t$stateParams = _$stateParams_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfileInsuranceDob.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.getCoverage = getCoverage;\n\t\t\tscope.onEditClick = onEditClick;\n\t\t\tscope.onTrashClick = onTrashClick;\n\t\t\tscope.onSaveClick = onSaveClick;\n\t\t\tscope.onCancelClick = onCancelClick;\n\t\t\tscope.confirmDelete = confirmDelete;\n\t\t\tscope.cancelDelete = cancelDelete;\n\t\t\tscope.onAddClick = onAddClick;\n\t\t\tscope.goToTab = goToTab;\n\t\t\tscope.onDiscardFileClick = onDiscardFileClick;\n\t\t\tscope.onFileUploadStart = onFileUploadStart;\n\t\t\tscope.setIsDirty = setIsDirty;\n\t\t\tscope.onForceGo = onForceGo;\n\t\t\tscope.validateName = validateName;\n\t\t\tscope.validatePhone = validatePhone;\n\t\t\tscope.validateFax = validateFax;\n\t\t\tscope.validateEmail = validateEmail;\n\t\t\tscope.validateCoverage = validateCoverage;\n\n\t\t\tscope.m = {\n\t\t\t\tisBroker: sessionService.isBroker(),\n\t\t\t\tisAdmin: sessionService.isAuthorizedInternalAdmin(),\n\t\t\t\tloaded: false,\n\t\t\t\tedit: false,\n\t\t\t\taddNewRow: false,\n\t\t\t\tagents: [],\n\t\t\t\tnewAgent: {},\n\t\t\t\tdeleteAgent: {}\n\t\t\t};\n\n\t\t\tregisterObserverHandlers();\n\n\t\t\t$timeout(function() {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_LOAD);\n\t\t\t},\n\t\t\t100);\n\t\t}\n\n\t\tfunction loadData(data) {\n\n\t\t\tscope.m.loaded = true;\n\n\t\t\tscope.m.agents = [];\n\t\t\tscope.m.newAgent = {};\n\n\t\t\tscope.m.insuranceMessage = data.insuranceMessage;\n\t\t\tscope.m.brokerName = data.brokerName;\n\n\t\t\tangular.forEach(data.agents,\n\t\t\t\tfunction(agent) {\n\t\t\t\t\tvar dobAgent = {\n\t\t\t\t\t\tcertificateFileName: agent.certificateFileName,\n\t\t\t\t\t\tagentName: agent.agentName,\n\t\t\t\t\t\tagentId: agent.agentId,\n\t\t\t\t\t\tphone: agent.phone,\n\t\t\t\t\t\textension: agent.extension,\n\t\t\t\t\t\tfax: agent.fax,\n\t\t\t\t\t\temail: agent.email,\n\t\t\t\t\t\tauto: agent.coverage.indexOf('AUTO') > -1,\n\t\t\t\t\t\tcargo: agent.coverage.indexOf('CARGO') > -1,\n\t\t\t\t\t\tgeneral: agent.coverage.indexOf('GENERAL') > -1,\n\t\t\t\t\t\tworkersComp: agent.coverage.indexOf('WORKERS_COMP') > -1\n\t\t\t\t\t};\n\n\t\t\t\t\tif (agent.certificateFileName) {\n\t\t\t\t\t\tdobAgent.hadCert = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.push(dobAgent);\n\t\t\t\t},\n\t\t\t\tscope.m.agents);\n\n\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_START_CHANGE_CARRIER_PROFILE_VIEW, handler: saveData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CARRIER_PROFILE_INSUREANCE_DOB_LOADED, handler: loadData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SET_PENDING_TAB, handler: setPendingTab }\n\t\t\t\t]);\n\n\t\t\tscope.$on('$destroy',\n\t\t\t\tfunction() {\n\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t});\n\n\t\t\tscope.$on('$locationChangeStart',\n\t\t\t\tfunction(event) {\n\t\t\t\t\tif (scope.m.isDirty) {\n\t\t\t\t\t\tif (!scope.ux_requirement_hack_for_scrolling) {\n\t\t\t\t\t\t\tif (!\n\t\t\t\t\t\t\tconfirm('You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page. Are you sure you want to leave the page?')) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tscope.ux_requirement_hack_for_scrolling = false;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction saveData(callback) {\n\t\t\tif (!scope.m.loaded) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!scope.m.isDirty) {\n\t\t\t\tif (typeof (callback) === 'function')\n\t\t\t\t\tcallback();\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (formIsValid()) {\n\t\t\t\tif (scope.m.addNewRow || scope.m.agents.length === 0) { //new row\n\t\t\t\t\tsaveAgent(scope.m.newAgent, callback);\n\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\tangular.forEach(scope.m.agents,\n\t\t\t\t\t\tfunction(agent) {\n\t\t\t\t\t\t\tif (agent.edit) {\n\t\t\t\t\t\t\t\tsaveAgent(agent, callback);\n\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsetSectionMessage(true);\n\t\t\t\tscope.pendingCallback = callback;\n\n\t\t\t\t$timeout(function() {\n\t\t\t\t\tscope.ux_requirement_hack_for_scrolling = true;\n\t\t\t\t\t$('.profile-insurance-DOB').animate({\n\t\t\t\t\t\tscrollTop: $('#error-summary').offset().top\n\t\t\t\t\t}, 200);\n\t\t\t\t\tsetIsDirty();\n\t\t\t\t},\n\t\t\t\t1);\n\t\t\t}\n\t\t}\n\n\t\tfunction saveAgent(agent, callback) {\n\t\t\tvar carrierId = -1;\n\n\t\t\tif ($stateParams.carrierId)\n\t\t\t\tcarrierId = $stateParams.carrierId;\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t}, 1);\n\n\t\t\tcarrierRegistrationService.updateDobInsurance(carrierId,\n\t\t\t\tagent.agentId,\n\t\t\t\tagent.agentName,\n\t\t\t\tagent.phone,\n\t\t\t\tagent.extension,\n\t\t\t\tagent.fax,\n\t\t\t\tagent.auto,\n\t\t\t\tagent.cargo,\n\t\t\t\tagent.general,\n\t\t\t\tagent.workersComp,\n\t\t\t\tagent.email,\n\t\t\t\tagent.certificateFileName,\n\t\t\t\tagent.newDocumentExe,\n\t\t\t\tagent.newDocumentBase64,\n\t\t\t\tagent.newDocumentType,\n\t\t\t\tagent.hadCert)\n\t\t\t\t.then(function() {\n\t\t\t\t\tscope.m.edit = false;\n\t\t\t\t\tagent.edit = false;\n\t\t\t\t\tscope.m.isDirty = false;\n\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t\tscope.m.addNewRow = false;\n\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_STATUS,\n\t\t\t\t\t\t'insurance');\n\n\t\t\t\t\tif (typeof (callback) === 'function') {\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_INSUREANCE_RELOAD);\n\t\t\t\t\t}\n\n\t\t\t\t})\n\t\t\t\t.catch(function(error) {\n\t\t\t\t\tconsole.log(error);\n\t\t\t\t}).finally(function () {\n\t\t\t\t\tobserverService\n\t\t\t\t\t\t.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t});\n\t\t}\n\n\t\tfunction setIsDirty() {\n\t\t\tscope.m.isDirty = true;\n\n\t\t\twindow.onbeforeunload = function() {\n\t\t\t\treturn 'You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page.';\n\t\t\t};\n\t\t}\n\n\t\tfunction getCoverage(agent) {\n\t\t\tvar output = '';\n\n\t\t\tif (agent.auto)\n\t\t\t\toutput = 'Auto, ';\n\n\t\t\tif (agent.cargo)\n\t\t\t\toutput = output + 'Cargo, ';\n\n\t\t\tif (agent.general)\n\t\t\t\toutput = output + 'General, ';\n\n\t\t\tif (agent.workersComp)\n\t\t\t\toutput = output + 'Workers\\' Comp ';\n\n\t\t\tif (output)\n\t\t\t\toutput = output.replace(/,\\s+$/gm, '');\n\n\t\t\treturn output;\n\t\t}\n\n\t\tfunction onEditClick(agent) {\n\t\t\tscope.m.edit = true;\n\t\t\tagent.edit = true;\n\n\t\t\tcleanAgent = {\n\t\t\t\tagentName: agent.agentName,\n\t\t\t\tphone: agent.phone,\n\t\t\t\textension: agent.extension,\n\t\t\t\tfax: agent.fax,\n\t\t\t\temail: agent.email,\n\t\t\t\tauto: agent.auto,\n\t\t\t\tcargo: agent.cargo,\n\t\t\t\tgeneral: agent.general,\n\t\t\t\tworkersComp: agent.workersComp,\n\t\t\t\tcertificateFileName: agent.certificateFileName,\n\t\t\t\tcertificateId: agent.certficateId\n\t\t\t};\n\t\t}\n\n\t\tfunction onTrashClick(agent) {\n\t\t\tscope.m.deleteAgent = agent;\n\t\t}\n\n\t\tfunction onSaveClick(agent) {\n\t\t\tif (agentIsValid(agent)) {\n\t\t\t\tsaveAgent(agent);\n\t\t\t}\n\t\t}\n\n\t\tfunction onCancelClick(agent) {\n\t\t\tif (scope.m.edit) {\n\t\t\t\tagent.agentName = cleanAgent.agentName;\n\t\t\t\tagent.phone = cleanAgent.phone;\n\t\t\t\tagent.extension = cleanAgent.extension;\n\t\t\t\tagent.fax = cleanAgent.fax;\n\t\t\t\tagent.email = cleanAgent.email;\n\t\t\t\tagent.auto = cleanAgent.auto;\n\t\t\t\tagent.cargo = cleanAgent.cargo;\n\t\t\t\tagent.general = cleanAgent.general;\n\t\t\t\tagent.workersComp = cleanAgent.workersComp;\n\t\t\t\tagent.certificateFileName = cleanAgent.certificateFileName;\n\n\t\t\t\tscope.m.edit = false;\n\t\t\t\tagent.edit = false;\n\t\t\t} else if (scope.m.addNewRow || scope.m.agents.length === 0) {\n\t\t\t\tscope.m.newAgent.agentName = undefined;\n\t\t\t\tscope.m.newAgent.phone = undefined;\n\t\t\t\tscope.m.newAgent.extension = undefined;\n\t\t\t\tscope.m.newAgent.fax = undefined;\n\t\t\t\tscope.m.newAgent.email = undefined;\n\t\t\t\tscope.m.newAgent.auto = undefined;\n\t\t\t\tscope.m.newAgent.cargo = undefined;\n\t\t\t\tscope.m.newAgent.general = undefined;\n\t\t\t\tscope.m.newAgent.workersComp = undefined;\n\t\t\t\tscope.m.newAgent.certificateFileName = undefined;\n\n\t\t\t\tscope.m.addNewRow = false;\n\t\t\t}\n\n\t\t\tagent.nameError = '';\n\t\t\tagent.phoneError = '';\n\t\t\tagent.faxError = '';\n\t\t\tagent.emailError = '';\n\t\t\tagent.coverageError = '';\n\t\t\tscope.m.isDirty = false;\n\t\t\twindow.onbeforeunload = undefined;\n\t\t}\n\n\t\tfunction confirmDelete() {\n\t\t\tscope.m.deleteAgent.agentName = '';\n\t\t\tsaveAgent(scope.m.deleteAgent);\n\t\t}\n\n\t\tfunction cancelDelete() {\n\t\t\tscope.m.deleteAgent = {};\n\t\t}\n\n\t\tfunction onAddClick() {\n\t\t\tscope.m.addNewRow = true;\n\t\t}\n\n\t\tfunction goToTab(tab) {\n\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_SET_PENDING_TAB, tab);\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_START_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tnavigate);\n\t\t}\n\n\t\tfunction setPendingTab(tab) {\n\t\t\tscope.tab = tab;\n\t\t}\n\n\t\tfunction navigate() {\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_FINISH_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tscope.tab);\n\t\t}\n\n\t\tfunction onDiscardFileClick(agent) {\n\t\t\tagent.certificateFileName = undefined;\n\t\t\tsetIsDirty();\n\t\t}\n\n\t\tfunction onFileUploadStart(agent) {\n\t\t\tif (agent.fileUploaderFile) {\n\t\t\t\tsetIsDirty();\n\t\t\t\tif (validateFile(agent)) {\n\t\t\t\t\tngFileUpload.base64DataUrl(agent.fileUploaderFile, false)\n\t\t\t\t\t\t.then(function(url) {\n\t\t\t\t\t\t\tvar nameSplit = agent.fileUploaderFile.name.split('.');\n\n\t\t\t\t\t\t\tagent.newDocumentBase64 = url.split(',')[1];\n\t\t\t\t\t\t\tagent.newDocumentType = agent.fileUploaderFile.type,\n\t\t\t\t\t\t\tagent.newDocumentExe = nameSplit[nameSplit.length - 1];\n\t\t\t\t\t\t\tagent.certificateFileName = agent.fileUploaderFile.name;\n\t\t\t\t\t\t});\n\n\t\t\t\t} else {\n\t\t\t\t\tagent.fileError = 'Only .pdf, .tif, .tiff, .jpg, .jpeg .png or .gif under 10mb allowed.';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction validateFile(agent) {\n\t\t\tvar validMimeTypes = [\n\t\t\t\t'application/pdf', 'image/tiff', 'image/png', 'image/jpeg',\n\t\t\t\t'image/gif'\n\t\t\t];\n\n\t\t\tif (validMimeTypes.indexOf(agent.fileUploaderFile.type) > -1) {\n\t\t\t\tif (agent.fileUploaderFile.size < 10485760) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction formIsValid() {\n\t\t\tvar isValid = true;\n\t\t\tif (!scope.m.isDirty) {\n\t\t\t\treturn true;\n\t\t\t} else if (scope.m.addNewRow || scope.m.agents.length === 0) { //new row\n\n\t\t\t\tif (!agentIsValid(scope.m.newAgent)) {\n\t\t\t\t\tisValid = false;\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\tangular.forEach(scope.m.agents,\n\t\t\t\t\tfunction(agent) {\n\t\t\t\t\t\tif (agent.edit) {\n\t\t\t\t\t\t\tif (!agentIsValid(agent)) {\n\t\t\t\t\t\t\t\tisValid = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn isValid;\n\t\t}\n\n\t\tfunction agentIsValid(agent) {\n\t\t\tvar isValid = true;\n\t\t\tvalidateName(agent);\n\t\t\tvalidatePhone(agent);\n\t\t\tvalidateFax(agent);\n\t\t\tvalidateEmail(agent);\n\t\t\tvalidateCoverage(agent);\n\n\t\t\tif (agent.nameError || agent.phoneError || agent.faxError || agent.emailError || agent.coverageError) {\n\t\t\t\tisValid = false;\n\t\t\t}\n\n\t\t\treturn isValid;\n\t\t}\n\n\t\tfunction validateCoverage(agent) {\n\t\t\tif (!agent.auto && !agent.cargo && !agent.general && !agent.workersComp) {\n\t\t\t\tagent.coverageError = 'Please select at least one option.';\n\t\t\t} else {\n\t\t\t\tagent.coverageError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateName(agent) {\n\t\t\tif (!agent.agentName) {\n\t\t\t\tagent.nameError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tagent.nameError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validatePhone(agent) {\n\t\t\tif (!agent.phone) {\n\t\t\t\tagent.phoneError = 'Valid input is required';\n\t\t\t} else if (agent.phone.length !== 10) {\n\t\t\t\tagent.phoneError = 'Valid input is required';\n\t\t\t} else if (agent.phone[0] === '0' || agent.phone[0] === '1') {\n\t\t\t\tagent.phoneError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tagent.phoneError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateFax(agent) {\n\t\t\tif (agent.fax && agent.fax.length !== 10) {\n\t\t\t\tagent.faxError = 'Valid input is required';\n\t\t\t} else if (agent.fax && (agent.fax[0] === '0' || agent.fax[0] === '1')) {\n\t\t\t\tagent.faxError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tagent.faxError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateEmail(agent) {\n\t\t\tif (agent.email && !validationService.isValidEmail(agent.email)) {\n\t\t\t\tagent.emailError = 'Valid email is required';\n\t\t\t} else {\n\t\t\t\tagent.emailError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction onForceGo() {\n\t\t\tif (typeof (scope.pendingCallback) === 'function')\n\t\t\t\tscope.pendingCallback();\n\t\t}\n\n\t\tfunction setSectionMessage(show) {\n\t\t\tscope.m.showSectionMessage = show;\n\t\t\tif (show) {\n\t\t\t\t$timeout(function () {\n\t\t\t\t\t$('.carrier-profile-wrapper')\n\t\t\t\t\t\t.animate({\n\t\t\t\t\t\t\tscrollTop: $('#error-summary').offset().top\n\t\t\t\t\t\t},\n\t\t\t\t\t\t200);\n\t\t\t\t},\n\t\t\t\t10);\n\t\t\t}\n\t\t}\n\t}\n\n})();\n","// TODO: remove code above and fix issues in case changing this file\n/* eslint-disable no-undef */\n'use strict';\n\n(function () {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierProfileInsuranceReg', cobCarrierProfileInsuranceReg);\n\n\tcobCarrierProfileInsuranceReg.$inject = [\n\t\t'$timeout', 'sessionService', 'Upload', 'subjectObserverMessagesService', 'observerService',\n\t\t'carrierRegistrationService', '$location', 'validationService', '$stateParams'\n\t];\n\n\tvar $timeout,\n\t\tsessionService,\n\t\tngFileUpload,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tcarrierRegistrationService,\n\t\t$location,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tvalidationService,\n\t\t$stateParams;\n\n\tfunction cobCarrierProfileInsuranceReg(_$timeout_,\n\t\t_sessionService_,\n\t\t_ngFileUpload_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierRegistrationService_,\n\t\t_$location_,\n\t\t_validationService_,\n\t\t_$stateParams_) {\n\t\t$timeout = _$timeout_;\n\t\tsessionService = _sessionService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\tngFileUpload = _ngFileUpload_;\n\t\t$location = _$location_;\n\t\tvalidationService = _validationService_;\n\t\t$stateParams = _$stateParams_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfileInsuranceReg.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\t\t\tscope.m = {\n\t\t\t\tisBroker: sessionService.isBroker(),\n\t\t\t\tisAdmin: sessionService.isAuthorizedInternalAdmin(),\n\t\t\t\tloaded: false,\n\t\t\t\ttoggleFeedbackForm: false,\n\t\t\t\tagents: [],\n\t\t\t\tfeedbackAgents: [],\n\t\t\t\taddNewRow: false,\n\t\t\t\tfeedbackDate: '',\n\t\t\t\totherFeedback: '',\n\t\t\t\tfeedbackError: [],\n\t\t\t\tsubmitted: false,\n\t\t\t\tshowSectionMessage: false,\n\t\t\t\tshowSectionSubmitMessage: false,\n\t\t\t\tregistryDate: ''\n\t\t\t};\n\t\t\tscope.goToTab = goToTab;\n\t\t\tscope.onForceGo = onForceGo;\n\t\t\tscope.sortCoverage = sortCoverage;\n\t\t\tscope.sortCoverageRows = sortCoverageRows;\n\t\t\tscope.toggleFeedback = toggleFeedback;\n\t\t\tscope.addNewRow = addNewRow;\n\t\t\tscope.deleteRow = deleteRow;\n\t\t\tscope.onDiscardFileClick = onDiscardFileClick;\n\t\t\tscope.onFileUploadStart = onFileUploadStart;\n\t\t\tscope.setIsDirty = setIsDirty;\n\t\t\tscope.validateFile = validateFile;\n\t\t\tscope.validateCoverage = validateCoverage;\n\t\t\tscope.validateName = validateName;\n\t\t\tscope.validatePhone = validatePhone;\n\t\t\tscope.validateFax = validateFax;\n\t\t\tscope.validateEmail = validateEmail;\n\t\t\tscope.getDate = getDate;\n\t\t\tscope.onSubmit = onSubmit;\n\t\t\tscope.deleteAll = deleteAll;\n\n\t\t\tregisterObserverHandlers();\n\t\t\t$timeout(function () {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_LOAD);\n\t\t\t},\n\t\t\t100);\n\t\t}\n\n\t\tfunction loadData(data) {\n\t\t\tscope.m.agents = [];\n\t\t\tscope.m.insuranceMessage = data.insuranceMessage;\n\t\t\tscope.m.brokerName = data.brokerName;\n\t\t\tscope.m.feedbackDate = Date.parse(data.agents.feedbackDate);\n\t\t\tscope.m.registryDate = Date.parse(data.agents.registryDate);\n\t\t\tangular.forEach(data.agents.agents,\n\t\t\t\tfunction (agent) {\n\t\t\t\t\tvar regAgent = {\n\t\t\t\t\t\tcoverage: agent.coverage,\n\t\t\t\t\t\tpolicy: agent.policy,\n\t\t\t\t\t\tphone: agent.phone\n\t\t\t\t\t};\n\t\t\t\t\tsortCoverage(regAgent);\n\t\t\t\t\tscope.m.agents.push(regAgent);\n\t\t\t\t});\n\t\t\tscope.m.loaded = true;\n\t\t}\n\n\t\tfunction setIsDirty() {\n\t\t\tscope.m.isDirty = true;\n\n\t\t\twindow.onbeforeunload = function () {\n\t\t\t\treturn 'Your feedback has not been submitted. If you leave this page any feedback will be lost. To submit your feedback, click the Submit button at the bottom of the page.';\n\t\t\t};\n\t\t}\n\n\t\tfunction canLeaveFeedback() {\n\t\t\tif (scope.m.feedbackDate > scope.m.registryDate) {\n\t\t\t\tscope.m.submitted = !scope.m.submitted;\n\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tfunction sortCoverage(regAgent) {\n\t\t\tvar formattedCoverage = [];\n\t\t\tif (regAgent.coverage) {\n\t\t\t\tformattedCoverage = regAgent.coverage.map(function (coverageType) {\n\t\t\t\t\tif (coverageType === 'AUTO') {\n\t\t\t\t\t\tcoverageType = ' Auto';\n\t\t\t\t\t}\n\t\t\t\t\tif (coverageType === 'CARGO') {\n\t\t\t\t\t\tcoverageType = ' Cargo';\n\t\t\t\t\t}\n\t\t\t\t\tif (coverageType === 'GENERAL') {\n\t\t\t\t\t\tcoverageType = ' General';\n\t\t\t\t\t}\n\t\t\t\t\tif (coverageType === 'WORKERS_COMP') {\n\t\t\t\t\t\tcoverageType = ' Workers\\' Comp';\n\t\t\t\t\t}\n\n\t\t\t\t\treturn coverageType;\n\t\t\t\t});\n\t\t\t}\n\t\t\tformattedCoverage.sort();\n\t\t\tregAgent.formattedCoverage = formattedCoverage;\n\t\t}\n\n\t\tfunction sortCoverageRows(coverageRows) {\n\t\t\tcoverageRows.sort(function (a, b) {\n\t\t\t\tif (a.formattedCoverage[0] < b.formattedCoverage[0]) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\tif (a.formattedCoverage[0] > b.formattedCoverage[0]) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\n\t\t\t\treturn 0;\n\t\t\t});\n\t\t}\n\n\t\tfunction toggleFeedback() {\n\t\t\tif (canLeaveFeedback() && !scope.m.toggleFeedbackForm) {\n\t\t\t\tscope.m.toggleFeedbackForm = true;\n\t\t\t\tif (scope.m.feedbackAgents.length === 0) {\n\t\t\t\t\taddNewRow();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tscope.m.toggleFeedbackForm = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction addNewRow() {\n\t\t\tscope.m.addNewRow = true;\n\t\t\tvar feedbackAgent = {};\n\t\t\tvar errors = {};\n\t\t\tscope.m.feedbackError.push(errors);\n\t\t\tscope.m.feedbackAgents.push(feedbackAgent);\n\t\t}\n\n\t\tfunction deleteRow(deletedRow) {\n\t\t\tscope.m.feedbackAgents.splice(deletedRow, 1);\n\t\t\tscope.m.feedbackError.splice(deletedRow, 1);\n\t\t}\n\n\t\tfunction deleteAll() {\n\t\t\tscope.m.feedbackAgents = [];\n\t\t\tscope.m.feedbackError = [];\n\t\t\tscope.m.isDirty = false;\n\t\t}\n\n\t\tfunction onDiscardFileClick(feedbackAgent) {\n\t\t\tfeedbackAgent.certificateFileName = undefined;\n\t\t}\n\n\t\tfunction onFileUploadStart(feedbackAgent, index) {\n\t\t\tif (feedbackAgent.fileUploaderFile) {\n\t\t\t\tsetIsDirty();\n\t\t\t\tif (validateFile(feedbackAgent, index)) {\n\t\t\t\t\tngFileUpload.base64DataUrl(feedbackAgent.fileUploaderFile, false)\n\t\t\t\t\t\t.then(function (url) {\n\t\t\t\t\t\t\tfeedbackAgent.certificateContent = url.split(',')[1];\n\t\t\t\t\t\t\tfeedbackAgent.certificateFileName = feedbackAgent.fileUploaderFile.name;\n\t\t\t\t\t\t\tfeedbackAgent.certificateMimeType = feedbackAgent.fileUploaderFile.type;\n\t\t\t\t\t\t});\n\n\t\t\t\t} else {\n\t\t\t\t\tscope.m.feedbackError[index]\n\t\t\t\t\t\t.fileError = 'Only .pdf, .tif, .tiff, .jpg, .jpeg .png or .gif under 10mb allowed.';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction getDate() {\n\t\t\tscope.m.feedbackDate = new Date();\n\t\t}\n\n\t\tfunction validateCoverage(feedbackAgent, index) {\n\t\t\tif (!feedbackAgent.HasAuto &&\n !feedbackAgent.HasCargo &&\n !feedbackAgent.HasWorkersComp &&\n !feedbackAgent.HasGeneral) {\n\t\t\t\tscope.m.feedbackError[index].coverageError = 'Please select at least one option';\n\t\t\t} else {\n\t\t\t\tscope.m.feedbackError[index].coverageError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateName(feedbackAgent, index) {\n\t\t\tif (!feedbackAgent.AgentName) {\n\t\t\t\tscope.m.feedbackError[index].nameError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.feedbackError[index].nameError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validatePhone(feedbackAgent, index) {\n\t\t\tif (!feedbackAgent.Phone) {\n\t\t\t\tscope.m.feedbackError[index].phoneError = 'Valid input is required';\n\t\t\t} else if (feedbackAgent.Phone.length !== 10) {\n\t\t\t\tscope.m.feedbackError[index].phoneError = 'Valid input is required';\n\t\t\t} else if (feedbackAgent.Phone[0] === '1' || feedbackAgent.Phone[0] === '0') {\n\t\t\t\tscope.m.feedbackError[index].phoneError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.feedbackError[index].phoneError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateFax(feedbackAgent, index) {\n\t\t\tif (feedbackAgent.Fax && feedbackAgent.Fax.length !== 10) {\n\t\t\t\tscope.m.feedbackError[index].faxError = 'Valid input is required';\n\t\t\t} else if (feedbackAgent.Fax && (feedbackAgent.Fax[0] === '1' || feedbackAgent.Fax[0] === '0')) {\n\t\t\t\tscope.m.feedbackError[index].faxError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.feedbackError[index].faxError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateEmail(feedbackAgent, index) {\n\t\t\tif (feedbackAgent.Email && !validationService.isValidEmail(feedbackAgent.Email)) {\n\t\t\t\tscope.m.feedbackError[index].emailError = 'Valid email is required';\n\t\t\t} else {\n\t\t\t\tscope.m.feedbackError[index].emailError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateFile(feedbackAgent) {\n\t\t\tvar validMimeTypes = [\n\t\t\t\t'application/pdf', 'image/tiff', 'image/png', 'image/jpeg',\n\t\t\t\t'image/gif'\n\t\t\t];\n\t\t\tif (validMimeTypes.indexOf(feedbackAgent.fileUploaderFile.type) > -1) {\n\t\t\t\tif (feedbackAgent.fileUploaderFile.size < 10485760) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction validateAgent(feedbackAgent, key) {\n\t\t\tvalidateCoverage(feedbackAgent, key);\n\t\t\tvalidateName(feedbackAgent, key);\n\t\t\tvalidatePhone(feedbackAgent, key);\n\t\t\tvalidateFax(feedbackAgent, key);\n\t\t\tvalidateEmail(feedbackAgent, key);\n\t\t\tif (scope.m.feedbackError[key].coverageError ||\n scope.m.feedbackError[key].nameError ||\n scope.m.feedbackError[key].phoneError ||\n scope.m.feedbackError[key].faxError ||\n scope.m.feedbackError[key].emailError) {\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tfunction validateAgents() {\n\t\t\tvar isValid = true;\n\t\t\tangular.forEach(scope.m.feedbackAgents,\n\t\t\t\tfunction (feedbackAgent, key) {\n\t\t\t\t\tif (!validateAgent(feedbackAgent, key)) {\n\t\t\t\t\t\tisValid = false;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\treturn isValid;\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_START_CHANGE_CARRIER_PROFILE_VIEW, handler: saveData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CARRIER_PROFILE_INSUREANCE_REG_LOADED, handler: loadData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SET_PENDING_TAB, handler: setPendingTab }\n\t\t\t\t]);\n\t\t\tscope.$on('$destroy',\n\t\t\t\tfunction () {\n\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t});\n\n\t\t\tscope.$on('$locationChangeStart',\n\t\t\t\tfunction (event) {\n\t\t\t\t\tif (scope.m.isDirty) {\n\t\t\t\t\t\tif (!scope.ux_requirement_hack_for_scrolling) {\n\t\t\t\t\t\t\tif (!\n\t\t\t\t\t\t\tconfirm('Your feedback has not been submitted. If you leave this page any feedback will be lost. To submit your feedback, click the Submit button at the bottom of the page. Are you sure you want to leave the page?')) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tscope.ux_requirement_hack_for_scrolling = false;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction onSubmit() {\n\t\t\tif (!scope.m.loaded) {\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tif (validateAgents()) {\n\t\t\t\t\tscope.m.toggleFeedbackForm = false;\n\t\t\t\t\tscope.m.showSectionSubmitMessage = false;\n\t\t\t\t\tsetSectionMessage(false);\n\t\t\t\t\tgetDate();\n\t\t\t\t\tscope.m.submitted = true;\n\n\t\t\t\t\tvar carrierId = -1;\n\n\t\t\t\t\tif ($stateParams.carrierId)\n\t\t\t\t\t\tcarrierId = $stateParams.carrierId;\n\n\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\tobserverService.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t\t\t}, 1);\n\n\t\t\t\t\tcarrierRegistrationService\n\t\t\t\t\t\t.submitRegistryInsuranceInfo(carrierId, scope.m.feedbackAgents, scope.m.otherFeedback)\n\t\t\t\t\t\t.then(function () {\n\t\t\t\t\t\t\tif (typeof (callback) === 'function')\n\t\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t}).finally(function () {\n\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction scrollTop() {\n\t\t\t$timeout(function () {\n\t\t\t\tscope.ux_requirement_hack_for_scrolling = true;\n\t\t\t\t$('.profile-insurance-reg')\n\t\t\t\t\t.animate({\n\t\t\t\t\t\tscrollTop: $('#error-summary').offset().top\n\t\t\t\t\t},\n\t\t\t\t\t200);\n\t\t\t\tsetIsDirty();\n\t\t\t},\n\t\t\t1);\n\t\t}\n\n\t\tfunction onForceGo() {\n\t\t\tif (typeof (scope.pendingCallback) === 'function')\n\t\t\t\tscope.pendingCallback();\n\t\t}\n\n\t\tfunction goToTab(tab) {\n\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_SET_PENDING_TAB, tab);\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_START_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tnavigate);\n\t\t}\n\n\t\tfunction setPendingTab(tab) {\n\t\t\tscope.tab = tab;\n\t\t}\n\n\t\tfunction navigate() {\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_FINISH_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tscope.tab);\n\t\t}\n\n\t\tfunction saveData(callback) {\n\t\t\tif (!scope.m.loaded) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ((!scope.m.isDirty || scope.m.submitted) && typeof (callback) === 'function') {\n\t\t\t\tcallback();\n\t\t\t} else if (validateAgents() && !scope.m.submitted) {\n\t\t\t\tscope.m.showSectionSubmitMessage = true;\n\t\t\t\tsetSectionMessage(false);\n\t\t\t\tscrollTop();\n\t\t\t} else if (!validateAgents() && !scope.m.submitted) {\n\t\t\t\tscope.m.showSectionSubmitMessage = false;\n\t\t\t\tsetSectionMessage(true);\n\t\t\t\tscrollTop();\n\t\t\t}\n\t\t\tscope.pendingCallback = callback;\n\t\t}\n\n\t\tfunction setSectionMessage(show) {\n\t\t\tscope.m.showSectionMessage = show;\n\t\t\tif (show) {\n\t\t\t\t$timeout(function () {\n\t\t\t\t\t$('.carrier-profile-wrapper')\n\t\t\t\t\t\t.animate({\n\t\t\t\t\t\t\tscrollTop: $('#error-summary').offset().top\n\t\t\t\t\t\t},\n\t\t\t\t\t\t200);\n\t\t\t\t},\n\t\t\t\t10);\n\t\t\t}\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierProfileLaneCoverage', cobCarrierProfileLaneCoverage);\n\n\tcobCarrierProfileLaneCoverage.$inject = [\n\t\t'$timeout', 'sessionService', 'subjectObserverMessagesService', 'observerService', 'carrierRegistrationService', '$stateParams'\n\t];\n\n\tvar $timeout, sessionService, subjectObserverMessagesService, observerService, carrierRegistrationService, $stateParams;\n\tvar subjectMessages, observerMessages, allMetros, ignoreAllUsToggle;\n\n\tfunction cobCarrierProfileLaneCoverage(_$timeout_,\n\t\t_sessionService_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierRegistrationService_,\n\t\t_$stateParams_) {\n\t\t$timeout = _$timeout_;\n\t\tsessionService = _sessionService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\t$stateParams = _$stateParams_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfileLaneCoverage.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.carrierId = $stateParams.carrierId;\n\n\t\t\tscope.m = {\n\t\t\t\tisBroker: sessionService.isBroker(),\n\t\t\t\tisAdmin: sessionService.isAuthorizedInternalAdmin(),\n\t\t\t\tpreferredLanes: [],\n\t\t\t\tpreferredAreas: {},\n\t\t\t\tshowNewLane: false,\n\t\t\t\tshowCanadaMexico: false,\n\t\t\t\tshowUnitedStates: false\n\t\t\t};\n\n\t\t\tscope.trashClick = trashClick;\n\t\t\tscope.saveLane = saveLane;\n\t\t\tscope.addClicK = addClicK;\n\n\t\t\tscope.setIsDirty = setIsDirty;\n\t\t\tscope.canadaMexicoClick = canadaMexicoClick;\n\t\t\tscope.allCanadianRegionsChange = allCanadianRegionsChange;\n\t\t\tscope.westernChange = westernChange;\n\t\t\tscope.centralChange = centralChange;\n\t\t\tscope.easternChange = easternChange;\n\t\t\tscope.provinceChange = provinceChange;\n\t\t\tscope.goToTab = goToTab;\n\n\t\t\tscope.unitedStatesClick = unitedStatesClick;\n\t\t\tscope.allUsCheckClick = allUsCheckClick;\n\t\t\tscope.allUsZoneChange = allUsZoneChange;\n\t\t\tscope.zone0Change = zone0Change;\n\t\t\tscope.zone1Change = zone1Change;\n\t\t\tscope.zone2Change = zone2Change;\n\t\t\tscope.zone3Change = zone3Change;\n\t\t\tscope.zone4Change = zone4Change;\n\t\t\tscope.zone5Change = zone5Change;\n\t\t\tscope.zone6Change = zone6Change;\n\t\t\tscope.zone7Change = zone7Change;\n\t\t\tscope.zone8Change = zone8Change;\n\t\t\tscope.zone9Change = zone9Change;\n\t\t\tscope.stateChange = stateChange;\n\n\t\t\tsetAllMetros();\n\t\t\tloadData();\n\t\t\tregisterObserverHandlers();\n\t\t\tdocument.title = 'Profile-Lanes';\n\n\t\t\t$timeout(function() {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_LOAD);\n\t\t\t},\n\t\t\t100);\n\t\t}\n\n\t\tfunction setAllMetros() {\n\t\t\tallMetros = [\n\t\t\t\t{ metroCode: -1, state: 'AK', metro: 'entire state' },\n\t\t\t\t{ metroCode: 380, state: 'AK', metro: 'Anchorage' },\n\t\t\t\t{ metroCode: -1, state: 'AL', metro: 'entire state' },\n\t\t\t\t{ metroCode: 450, state: 'AL', metro: 'Anniston' },\n\t\t\t\t{ metroCode: 580, state: 'AL', metro: 'Auburn-Opelika' },\n\t\t\t\t{ metroCode: 1000, state: 'AL', metro: 'Birmingham' },\n\t\t\t\t{ metroCode: 2030, state: 'AL', metro: 'Decatur' },\n\t\t\t\t{ metroCode: 2180, state: 'AL', metro: 'Dothan' },\n\t\t\t\t{ metroCode: 2650, state: 'AL', metro: 'Florence' },\n\t\t\t\t{ metroCode: 2880, state: 'AL', metro: 'Gadsden' },\n\t\t\t\t{ metroCode: 3440, state: 'AL', metro: 'Huntsville' },\n\t\t\t\t{ metroCode: 5160, state: 'AL', metro: 'Mobile' },\n\t\t\t\t{ metroCode: 5240, state: 'AL', metro: 'Montgomery' },\n\t\t\t\t{ metroCode: 1800, state: 'AL', metro: 'Phenix City' },\n\t\t\t\t{ metroCode: 8600, state: 'AL', metro: 'Tuscaloosa' },\n\t\t\t\t{ metroCode: -1, state: 'AR', metro: 'entire state' },\n\t\t\t\t{ metroCode: 2580, state: 'AR', metro: 'Fayetteville-Springdale-Rogers' },\n\t\t\t\t{ metroCode: 2720, state: 'AR', metro: 'Ft Smith' },\n\t\t\t\t{ metroCode: 3700, state: 'AR', metro: 'Jonesboro' },\n\t\t\t\t{ metroCode: 4400, state: 'AR', metro: 'Little Rock' },\n\t\t\t\t{ metroCode: 6240, state: 'AR', metro: 'Pine Bluff' },\n\t\t\t\t{ metroCode: 8360, state: 'AR', metro: 'Texarkana' },\n\t\t\t\t{ metroCode: 4920, state: 'AR', metro: 'W Memphis' },\n\t\t\t\t{ metroCode: -1, state: 'AZ', metro: 'entire state' },\n\t\t\t\t{ metroCode: 2620, state: 'AZ', metro: 'Flagstaff' },\n\t\t\t\t{ metroCode: 4120, state: 'AZ', metro: 'Kingman' },\n\t\t\t\t{ metroCode: 6200, state: 'AZ', metro: 'Phoenix' },\n\t\t\t\t{ metroCode: 8520, state: 'AZ', metro: 'Tucson' },\n\t\t\t\t{ metroCode: 9360, state: 'AZ', metro: 'Yuma' },\n\t\t\t\t{ metroCode: -1, state: 'CA', metro: 'entire state' },\n\t\t\t\t{ metroCode: 680, state: 'CA', metro: 'Bakersfield' },\n\t\t\t\t{ metroCode: 1620, state: 'CA', metro: 'Chico-Paradise' },\n\t\t\t\t{ metroCode: 2840, state: 'CA', metro: 'Fresno' },\n\t\t\t\t{ metroCode: 4480, state: 'CA', metro: 'Angeles-Long Beach' },\n\t\t\t\t{ metroCode: 4940, state: 'CA', metro: 'Merced' },\n\t\t\t\t{ metroCode: 5170, state: 'CA', metro: 'Modesto' },\n\t\t\t\t{ metroCode: 5775, state: 'CA', metro: 'Oakland' },\n\t\t\t\t{ metroCode: 5945, state: 'CA', metro: 'Orange County' },\n\t\t\t\t{ metroCode: 6690, state: 'CA', metro: 'Redding' },\n\t\t\t\t{ metroCode: 6780, state: 'CA', metro: 'Riverside-San Bernardino' },\n\t\t\t\t{ metroCode: 6920, state: 'CA', metro: 'Sacramento' },\n\t\t\t\t{ metroCode: 7120, state: 'CA', metro: 'Salinas' },\n\t\t\t\t{ metroCode: 7320, state: 'CA', metro: 'San Diego' },\n\t\t\t\t{ metroCode: 7360, state: 'CA', metro: 'San Francisco' },\n\t\t\t\t{ metroCode: 7400, state: 'CA', metro: 'San Jose' },\n\t\t\t\t{ metroCode: 7460, state: 'CA', metro: 'San Luis Obispo-Atascadero-Paso Robles' },\n\t\t\t\t{ metroCode: 7480, state: 'CA', metro: 'Santa Barbara-Santa Maria-Lompoc' },\n\t\t\t\t{ metroCode: 7485, state: 'CA', metro: 'Santa Cruz-Watsonville' },\n\t\t\t\t{ metroCode: 7500, state: 'CA', metro: 'Santa Rosa' },\n\t\t\t\t{ metroCode: 8120, state: 'CA', metro: 'Stockton-Lodi' },\n\t\t\t\t{ metroCode: 8720, state: 'CA', metro: 'Vallejo-Fairfield-Napa' },\n\t\t\t\t{ metroCode: 8735, state: 'CA', metro: 'Ventura' },\n\t\t\t\t{ metroCode: 8780, state: 'CA', metro: 'Visalia-Tulare-Porterville' },\n\t\t\t\t{ metroCode: 9270, state: 'CA', metro: 'Yolo' },\n\t\t\t\t{ metroCode: 9340, state: 'CA', metro: 'Yuba City' },\n\t\t\t\t{ metroCode: -1, state: 'CO', metro: 'entire state' },\n\t\t\t\t{ metroCode: 1125, state: 'CO', metro: 'Boulder-Longmont' },\n\t\t\t\t{ metroCode: 1720, state: 'CO', metro: 'Colorado Springs' },\n\t\t\t\t{ metroCode: 2080, state: 'CO', metro: 'Denver' },\n\t\t\t\t{ metroCode: 2670, state: 'CO', metro: 'Fort Collins-Loveland' },\n\t\t\t\t{ metroCode: 2995, state: 'CO', metro: 'Grand Junction' },\n\t\t\t\t{ metroCode: 3060, state: 'CO', metro: 'Greeley' },\n\t\t\t\t{ metroCode: 6560, state: 'CO', metro: 'Pueblo' },\n\t\t\t\t{ metroCode: -1, state: 'CT', metro: 'entire state' },\n\t\t\t\t{ metroCode: 1160, state: 'CT', metro: 'Bridgeport' },\n\t\t\t\t{ metroCode: 1930, state: 'CT', metro: 'Danbury' },\n\t\t\t\t{ metroCode: 3280, state: 'CT', metro: 'Hartford' },\n\t\t\t\t{ metroCode: 5020, state: 'CT', metro: 'Middletown' },\n\t\t\t\t{ metroCode: 5440, state: 'CT', metro: 'New Britain' },\n\t\t\t\t{ metroCode: 5480, state: 'CT', metro: 'New Haven-Meriden' },\n\t\t\t\t{ metroCode: 5520, state: 'CT', metro: 'New London-Norwich' },\n\t\t\t\t{ metroCode: 5760, state: 'CT', metro: 'Norwalk' },\n\t\t\t\t{ metroCode: 8040, state: 'CT', metro: 'Stamford-Norwalk' },\n\t\t\t\t{ metroCode: 8880, state: 'CT', metro: 'Waterbury' },\n\t\t\t\t{ metroCode: -1, state: 'DC', metro: 'entire state' },\n\t\t\t\t{ metroCode: 8840, state: 'DC', metro: 'Washington DC' },\n\t\t\t\t{ metroCode: -1, state: 'DE', metro: 'entire state' },\n\t\t\t\t{ metroCode: 2190, state: 'DE', metro: 'Dover' },\n\t\t\t\t{ metroCode: 9160, state: 'DE', metro: 'Wilmington-Newark' },\n\t\t\t\t{ metroCode: -1, state: 'FL', metro: 'entire state' },\n\t\t\t\t{ metroCode: 1140, state: 'FL', metro: 'Bradenton' },\n\t\t\t\t{ metroCode: 2020, state: 'FL', metro: 'Daytona Beach' },\n\t\t\t\t{ metroCode: 2680, state: 'FL', metro: 'Ft Lauderdale' },\n\t\t\t\t{ metroCode: 2700, state: 'FL', metro: 'Ft Myers-Cape Coral' },\n\t\t\t\t{ metroCode: 2710, state: 'FL', metro: 'Ft Pierce-Port St Lucie' },\n\t\t\t\t{ metroCode: 2750, state: 'FL', metro: 'Ft Walton Beach' },\n\t\t\t\t{ metroCode: 2900, state: 'FL', metro: 'Gainesville' },\n\t\t\t\t{ metroCode: 3600, state: 'FL', metro: 'Jacksonville' },\n\t\t\t\t{ metroCode: 3980, state: 'FL', metro: 'Lakeland-Winter Haven' },\n\t\t\t\t{ metroCode: 4900, state: 'FL', metro: 'Melbourne-Titusville-Palm Bay' },\n\t\t\t\t{ metroCode: 5000, state: 'FL', metro: 'Miami' },\n\t\t\t\t{ metroCode: 5345, state: 'FL', metro: 'Naples' },\n\t\t\t\t{ metroCode: 5790, state: 'FL', metro: 'Ocala' },\n\t\t\t\t{ metroCode: 5960, state: 'FL', metro: 'Orlando' },\n\t\t\t\t{ metroCode: 6015, state: 'FL', metro: 'Panama City' },\n\t\t\t\t{ metroCode: 6080, state: 'FL', metro: 'Pensacola' },\n\t\t\t\t{ metroCode: 6580, state: 'FL', metro: 'Punta Gorda' },\n\t\t\t\t{ metroCode: 7510, state: 'FL', metro: 'Sarasota-Bradenton' },\n\t\t\t\t{ metroCode: 8240, state: 'FL', metro: 'Tallahassee' },\n\t\t\t\t{ metroCode: 8280, state: 'FL', metro: 'Tampa-St Petersburg-Clearwater' },\n\t\t\t\t{ metroCode: 8960, state: 'FL', metro: 'W Palm Beach-Boca Raton' },\n\t\t\t\t{ metroCode: -1, state: 'GA', metro: 'entire state' },\n\t\t\t\t{ metroCode: 120, state: 'GA', metro: 'Albany' },\n\t\t\t\t{ metroCode: 500, state: 'GA', metro: 'Athens' },\n\t\t\t\t{ metroCode: 520, state: 'GA', metro: 'Atlanta' },\n\t\t\t\t{ metroCode: 600, state: 'GA', metro: 'Augusta' },\n\t\t\t\t{ metroCode: 1800, state: 'GA', metro: 'Columbus' },\n\t\t\t\t{ metroCode: 4680, state: 'GA', metro: 'Macon' },\n\t\t\t\t{ metroCode: 7520, state: 'GA', metro: 'Savannah' },\n\t\t\t\t{ metroCode: -1, state: 'HI', metro: 'entire state' },\n\t\t\t\t{ metroCode: 3320, state: 'HI', metro: 'Honolulu' },\n\t\t\t\t{ metroCode: -1, state: 'IA', metro: 'entire state' },\n\t\t\t\t{ metroCode: 1360, state: 'IA', metro: 'Cedar Rapids' },\n\t\t\t\t{ metroCode: 5920, state: 'IA', metro: 'Council Bluffs' },\n\t\t\t\t{ metroCode: 1960, state: 'IA', metro: 'Davenport-Moline-Rock Island' },\n\t\t\t\t{ metroCode: 2120, state: 'IA', metro: 'Des Moines' },\n\t\t\t\t{ metroCode: 2200, state: 'IA', metro: 'Dubuque' },\n\t\t\t\t{ metroCode: 3500, state: 'IA', metro: 'Iowa City' },\n\t\t\t\t{ metroCode: 7720, state: 'IA', metro: 'Sioux City' },\n\t\t\t\t{ metroCode: 8920, state: 'IA', metro: 'Waterloo-Cedar Falls' },\n\t\t\t\t{ metroCode: -1, state: 'ID', metro: 'entire state' },\n\t\t\t\t{ metroCode: 1080, state: 'ID', metro: 'Boise' },\n\t\t\t\t{ metroCode: 6340, state: 'ID', metro: 'Pocatello' },\n\t\t\t\t{ metroCode: -1, state: 'IL', metro: 'entire state' },\n\t\t\t\t{ metroCode: 620, state: 'IL', metro: 'Aurora-Elgin' },\n\t\t\t\t{ metroCode: 1040, state: 'IL', metro: 'Bloomington-Normal' },\n\t\t\t\t{ metroCode: 1400, state: 'IL', metro: 'Champaign-Urbana' },\n\t\t\t\t{ metroCode: 1600, state: 'IL', metro: 'Chicago' },\n\t\t\t\t{ metroCode: 1960, state: 'IL', metro: 'Davenport-Moline-Rock Island' },\n\t\t\t\t{ metroCode: 2040, state: 'IL', metro: 'Decatur' },\n\t\t\t\t{ metroCode: 7040, state: 'IL', metro: 'E St Louis' },\n\t\t\t\t{ metroCode: 3690, state: 'IL', metro: 'Joliet' },\n\t\t\t\t{ metroCode: 3740, state: 'IL', metro: 'Kankakee' },\n\t\t\t\t{ metroCode: 6120, state: 'IL', metro: 'Peoria-Pekin' },\n\t\t\t\t{ metroCode: 6880, state: 'IL', metro: 'Rockford' },\n\t\t\t\t{ metroCode: 7880, state: 'IL', metro: 'Springfield' },\n\t\t\t\t{ metroCode: -1, state: 'IN', metro: 'entire state' },\n\t\t\t\t{ metroCode: 400, state: 'IN', metro: 'Anderson' },\n\t\t\t\t{ metroCode: 1020, state: 'IN', metro: 'Bloomington' },\n\t\t\t\t{ metroCode: 2330, state: 'IN', metro: 'Elkhart-Goshen' },\n\t\t\t\t{ metroCode: 2440, state: 'IN', metro: 'Evansville-Henderson' },\n\t\t\t\t{ metroCode: 2760, state: 'IN', metro: 'Ft Wayne' },\n\t\t\t\t{ metroCode: 2960, state: 'IN', metro: 'Gary' },\n\t\t\t\t{ metroCode: 3480, state: 'IN', metro: 'Indianapolis' },\n\t\t\t\t{ metroCode: 3850, state: 'IN', metro: 'Kokomo' },\n\t\t\t\t{ metroCode: 3920, state: 'IN', metro: 'Lafayette' },\n\t\t\t\t{ metroCode: 5280, state: 'IN', metro: 'Muncie' },\n\t\t\t\t{ metroCode: 4520, state: 'IN', metro: 'New Albany' },\n\t\t\t\t{ metroCode: 7800, state: 'IN', metro: 'S Bend' },\n\t\t\t\t{ metroCode: 8320, state: 'IN', metro: 'Terre Haute' },\n\t\t\t\t{ metroCode: -1, state: 'KS', metro: 'entire state' },\n\t\t\t\t{ metroCode: 3760, state: 'KS', metro: 'Kansas City' },\n\t\t\t\t{ metroCode: 4150, state: 'KS', metro: 'Lawrence' },\n\t\t\t\t{ metroCode: 8440, state: 'KS', metro: 'Topeka' },\n\t\t\t\t{ metroCode: 9040, state: 'KS', metro: 'Wichita' },\n\t\t\t\t{ metroCode: -1, state: 'KY', metro: 'entire state' },\n\t\t\t\t{ metroCode: 1640, state: 'KY', metro: 'Cincinnati-Covington' },\n\t\t\t\t{ metroCode: 1660, state: 'KY', metro: 'Clarksville-Hopkinsville' },\n\t\t\t\t{ metroCode: 3400, state: 'KY', metro: 'Huntington-Ashland' },\n\t\t\t\t{ metroCode: 4280, state: 'KY', metro: 'Lexington-Fayette' },\n\t\t\t\t{ metroCode: 4520, state: 'KY', metro: 'Louisville' },\n\t\t\t\t{ metroCode: 5990, state: 'KY', metro: 'Owensboro' },\n\t\t\t\t{ metroCode: -1, state: 'LA', metro: 'entire state' },\n\t\t\t\t{ metroCode: 220, state: 'LA', metro: 'Alexandria' },\n\t\t\t\t{ metroCode: 760, state: 'LA', metro: 'Baton Rouge' },\n\t\t\t\t{ metroCode: 3350, state: 'LA', metro: 'Houma' },\n\t\t\t\t{ metroCode: 3880, state: 'LA', metro: 'Lafayette' },\n\t\t\t\t{ metroCode: 3960, state: 'LA', metro: 'Lake Charles' },\n\t\t\t\t{ metroCode: 3965, state: 'LA', metro: 'Lake County' },\n\t\t\t\t{ metroCode: 5200, state: 'LA', metro: 'Monroe' },\n\t\t\t\t{ metroCode: 5560, state: 'LA', metro: 'New Orleans' },\n\t\t\t\t{ metroCode: 7680, state: 'LA', metro: 'Shreveport' },\n\t\t\t\t{ metroCode: -1, state: 'MA', metro: 'entire state' },\n\t\t\t\t{ metroCode: 740, state: 'MA', metro: 'Barnstable-Yarmouth' },\n\t\t\t\t{ metroCode: 1120, state: 'MA', metro: 'Boston' },\n\t\t\t\t{ metroCode: 1200, state: 'MA', metro: 'Brockton' },\n\t\t\t\t{ metroCode: 2480, state: 'MA', metro: 'Fall River' },\n\t\t\t\t{ metroCode: 2600, state: 'MA', metro: 'Fitchburg-Leominster' },\n\t\t\t\t{ metroCode: 4160, state: 'MA', metro: 'Lawrence' },\n\t\t\t\t{ metroCode: 4560, state: 'MA', metro: 'Lowell' },\n\t\t\t\t{ metroCode: 5400, state: 'MA', metro: 'New Bedford' },\n\t\t\t\t{ metroCode: 6060, state: 'MA', metro: 'Pawtucket-Woonsocket-Attleboro' },\n\t\t\t\t{ metroCode: 6320, state: 'MA', metro: 'Pittsfield' },\n\t\t\t\t{ metroCode: 6480, state: 'MA', metro: 'Providence-Fall River-Warwick' },\n\t\t\t\t{ metroCode: 7090, state: 'MA', metro: 'Salem-Gloucester' },\n\t\t\t\t{ metroCode: 8000, state: 'MA', metro: 'Springfield' },\n\t\t\t\t{ metroCode: 9240, state: 'MA', metro: 'Worcester' },\n\t\t\t\t{ metroCode: -1, state: 'MD', metro: 'entire state' },\n\t\t\t\t{ metroCode: 720, state: 'MD', metro: 'Baltimore' },\n\t\t\t\t{ metroCode: 1900, state: 'MD', metro: 'Cumberland' },\n\t\t\t\t{ metroCode: 3180, state: 'MD', metro: 'Hagerstown' },\n\t\t\t\t{ metroCode: 8840, state: 'MD', metro: 'Washington DC' },\n\t\t\t\t{ metroCode: 9160, state: 'MD', metro: 'Wilmington-Newark' },\n\t\t\t\t{ metroCode: -1, state: 'ME', metro: 'entire state' },\n\t\t\t\t{ metroCode: 730, state: 'ME', metro: 'Bangor' },\n\t\t\t\t{ metroCode: 4240, state: 'ME', metro: 'Lewiston-Auburn' },\n\t\t\t\t{ metroCode: 6400, state: 'ME', metro: 'Portland' },\n\t\t\t\t{ metroCode: 6450, state: 'ME', metro: 'Portsmouth-Rochester' },\n\t\t\t\t{ metroCode: -1, state: 'MI', metro: 'entire state' },\n\t\t\t\t{ metroCode: 440, state: 'MI', metro: 'Ann Arbor' },\n\t\t\t\t{ metroCode: 780, state: 'MI', metro: 'Battle Creek' },\n\t\t\t\t{ metroCode: 870, state: 'MI', metro: 'Benton Harbor' },\n\t\t\t\t{ metroCode: 2160, state: 'MI', metro: 'Detroit' },\n\t\t\t\t{ metroCode: 2640, state: 'MI', metro: 'Flint' },\n\t\t\t\t{ metroCode: 3000, state: 'MI', metro: 'Grand Rapids-Muskegon-Holland' },\n\t\t\t\t{ metroCode: 3520, state: 'MI', metro: 'Jackson' },\n\t\t\t\t{ metroCode: 3720, state: 'MI', metro: 'Kalamazoo-Battle Creek' },\n\t\t\t\t{ metroCode: 4040, state: 'MI', metro: 'Lansing-East Lansing' },\n\t\t\t\t{ metroCode: 6960, state: 'MI', metro: 'Saginaw-Bay City-Midland' },\n\t\t\t\t{ metroCode: -1, state: 'MN', metro: 'entire state' },\n\t\t\t\t{ metroCode: 2240, state: 'MN', metro: 'Duluth-Superior' },\n\t\t\t\t{ metroCode: 2520, state: 'MN', metro: 'Fargo-Moorhead' },\n\t\t\t\t{ metroCode: 2985, state: 'MN', metro: 'Grand Forks' },\n\t\t\t\t{ metroCode: 5120, state: 'MN', metro: 'Minneapolis-St. Paul' },\n\t\t\t\t{ metroCode: 6820, state: 'MN', metro: 'Rochester' },\n\t\t\t\t{ metroCode: 6980, state: 'MN', metro: 'St Cloud' },\n\t\t\t\t{ metroCode: -1, state: 'MO', metro: 'entire state' },\n\t\t\t\t{ metroCode: 1740, state: 'MO', metro: 'Columbia' },\n\t\t\t\t{ metroCode: 3710, state: 'MO', metro: 'Joplin' },\n\t\t\t\t{ metroCode: 3760, state: 'MO', metro: 'Kansas City' },\n\t\t\t\t{ metroCode: 7920, state: 'MO', metro: 'Springfield' },\n\t\t\t\t{ metroCode: 7000, state: 'MO', metro: 'St Joesph' },\n\t\t\t\t{ metroCode: 7040, state: 'MO', metro: 'St Louis' },\n\t\t\t\t{ metroCode: -1, state: 'MS', metro: 'entire state' },\n\t\t\t\t{ metroCode: 920, state: 'MS', metro: 'Biloxi-Gulfport-Pascagoula' },\n\t\t\t\t{ metroCode: 3285, state: 'MS', metro: 'Hattiesburg' },\n\t\t\t\t{ metroCode: 3560, state: 'MS', metro: 'Jackson' },\n\t\t\t\t{ metroCode: 4920, state: 'MS', metro: 'Memphis' },\n\t\t\t\t{ metroCode: -1, state: 'MT', metro: 'entire state' },\n\t\t\t\t{ metroCode: 880, state: 'MT', metro: 'Billings' },\n\t\t\t\t{ metroCode: 3040, state: 'MT', metro: 'Great Falls' },\n\t\t\t\t{ metroCode: 5140, state: 'MT', metro: 'Missoula' },\n\t\t\t\t{ metroCode: -1, state: 'NC', metro: 'entire state' },\n\t\t\t\t{ metroCode: 480, state: 'NC', metro: 'Asheville' },\n\t\t\t\t{ metroCode: 1520, state: 'NC', metro: 'Charlotte-Gastonia-Rock Hill' },\n\t\t\t\t{ metroCode: 2560, state: 'NC', metro: 'Fayetteville' },\n\t\t\t\t{ metroCode: 2980, state: 'NC', metro: 'Goldsboro' },\n\t\t\t\t{ metroCode: 3120, state: 'NC', metro: 'Greensboro-WinstonSalem-High Pt' },\n\t\t\t\t{ metroCode: 3150, state: 'NC', metro: 'Greenville' },\n\t\t\t\t{ metroCode: 3290, state: 'NC', metro: 'Hickory-Morganton-Lenoir' },\n\t\t\t\t{ metroCode: 3605, state: 'NC', metro: 'Jacksonville' },\n\t\t\t\t{ metroCode: 5720, state: 'NC', metro: 'Norfolk-Virginia Beach-Newport News' },\n\t\t\t\t{ metroCode: 6640, state: 'NC', metro: 'Raleigh-Durham-Chapel Hill' },\n\t\t\t\t{ metroCode: 6895, state: 'NC', metro: 'Rocky Mount' },\n\t\t\t\t{ metroCode: 9200, state: 'NC', metro: 'Wilmington' },\n\t\t\t\t{ metroCode: -1, state: 'ND', metro: 'entire state' },\n\t\t\t\t{ metroCode: 1010, state: 'ND', metro: 'Bismarck' },\n\t\t\t\t{ metroCode: 2520, state: 'ND', metro: 'Fargo-Moorhead' },\n\t\t\t\t{ metroCode: 2985, state: 'ND', metro: 'Grand Forks' },\n\t\t\t\t{ metroCode: -1, state: 'NE', metro: 'entire state' },\n\t\t\t\t{ metroCode: 4360, state: 'NE', metro: 'Lincoln' },\n\t\t\t\t{ metroCode: 5920, state: 'NE', metro: 'Omaha' },\n\t\t\t\t{ metroCode: 7720, state: 'NE', metro: 'S Sioux City' },\n\t\t\t\t{ metroCode: -1, state: 'NH', metro: 'entire state' },\n\t\t\t\t{ metroCode: 4160, state: 'NH', metro: 'Lawrence' },\n\t\t\t\t{ metroCode: 4760, state: 'NH', metro: 'Manchester' },\n\t\t\t\t{ metroCode: 5350, state: 'NH', metro: 'Nashua' },\n\t\t\t\t{ metroCode: 6450, state: 'NH', metro: 'Portsmouth-Rochester' },\n\t\t\t\t{ metroCode: -1, state: 'NJ', metro: 'entire state' },\n\t\t\t\t{ metroCode: 560, state: 'NJ', metro: 'Atlantic City-Cape May' },\n\t\t\t\t{ metroCode: 875, state: 'NJ', metro: 'Bergen-Passaic' },\n\t\t\t\t{ metroCode: 6160, state: 'NJ', metro: 'Camden' },\n\t\t\t\t{ metroCode: 3640, state: 'NJ', metro: 'Jersey City' },\n\t\t\t\t{ metroCode: 5015, state: 'NJ', metro: 'Middlesex-Somerset-Hunterdon' },\n\t\t\t\t{ metroCode: 5190, state: 'NJ', metro: 'Monmouth-Ocean' },\n\t\t\t\t{ metroCode: 5640, state: 'NJ', metro: 'Newark' },\n\t\t\t\t{ metroCode: 8480, state: 'NJ', metro: 'Trenton' },\n\t\t\t\t{ metroCode: 8760, state: 'NJ', metro: 'Vineland-Millville-Bridgeton' },\n\t\t\t\t{ metroCode: -1, state: 'NM', metro: 'entire state' },\n\t\t\t\t{ metroCode: 200, state: 'NM', metro: 'Albuquerque' },\n\t\t\t\t{ metroCode: 4100, state: 'NM', metro: 'Las Cruces' },\n\t\t\t\t{ metroCode: 7490, state: 'NM', metro: 'Santa Fe' },\n\t\t\t\t{ metroCode: -1, state: 'NV', metro: 'entire state' },\n\t\t\t\t{ metroCode: 4120, state: 'NV', metro: 'Las Vegas' },\n\t\t\t\t{ metroCode: 6720, state: 'NV', metro: 'Reno' },\n\t\t\t\t{ metroCode: -1, state: 'NY', metro: 'entire state' },\n\t\t\t\t{ metroCode: 160, state: 'NY', metro: 'Albany' },\n\t\t\t\t{ metroCode: 960, state: 'NY', metro: 'Binghamton' },\n\t\t\t\t{ metroCode: 1280, state: 'NY', metro: 'Buffalo-Niagara Falls' },\n\t\t\t\t{ metroCode: 2281, state: 'NY', metro: 'Dutchess County' },\n\t\t\t\t{ metroCode: 2335, state: 'NY', metro: 'Elmira' },\n\t\t\t\t{ metroCode: 2975, state: 'NY', metro: 'Glens Falls' },\n\t\t\t\t{ metroCode: 3610, state: 'NY', metro: 'Jamestown' },\n\t\t\t\t{ metroCode: 5380, state: 'NY', metro: 'Nassau-Suffolk' },\n\t\t\t\t{ metroCode: 5600, state: 'NY', metro: 'New York City' },\n\t\t\t\t{ metroCode: 5660, state: 'NY', metro: 'Newburgh' },\n\t\t\t\t{ metroCode: 5950, state: 'NY', metro: 'Orange County' },\n\t\t\t\t{ metroCode: 6840, state: 'NY', metro: 'Rochester' },\n\t\t\t\t{ metroCode: 8160, state: 'NY', metro: 'Syracuse' },\n\t\t\t\t{ metroCode: 8680, state: 'NY', metro: 'Utica-Rome' },\n\t\t\t\t{ metroCode: -1, state: 'OH', metro: 'entire state' },\n\t\t\t\t{ metroCode: 80, state: 'OH', metro: 'Akron' },\n\t\t\t\t{ metroCode: 1320, state: 'OH', metro: 'Canton-Massillon' },\n\t\t\t\t{ metroCode: 1640, state: 'OH', metro: 'Cincinnati-Covington' },\n\t\t\t\t{ metroCode: 1680, state: 'OH', metro: 'Cleveland-Lorain-Elyria' },\n\t\t\t\t{ metroCode: 1840, state: 'OH', metro: 'Columbus' },\n\t\t\t\t{ metroCode: 2000, state: 'OH', metro: 'Dayton-Springfield' },\n\t\t\t\t{ metroCode: 3200, state: 'OH', metro: 'Hamilton-Middletown' },\n\t\t\t\t{ metroCode: 3400, state: 'OH', metro: 'Huntington-Ashland' },\n\t\t\t\t{ metroCode: 4320, state: 'OH', metro: 'Lima' },\n\t\t\t\t{ metroCode: 4800, state: 'OH', metro: 'Mansfield' },\n\t\t\t\t{ metroCode: 6020, state: 'OH', metro: 'Marietta' },\n\t\t\t\t{ metroCode: 8080, state: 'OH', metro: 'Steubenville-Weirton' },\n\t\t\t\t{ metroCode: 8400, state: 'OH', metro: 'Toledo' },\n\t\t\t\t{ metroCode: 9320, state: 'OH', metro: 'Youngstown-Warren' },\n\t\t\t\t{ metroCode: -1, state: 'OK', metro: 'entire state' },\n\t\t\t\t{ metroCode: 2340, state: 'OK', metro: 'Enid' },\n\t\t\t\t{ metroCode: 4200, state: 'OK', metro: 'Lawton' },\n\t\t\t\t{ metroCode: 5880, state: 'OK', metro: 'Oklahoma City' },\n\t\t\t\t{ metroCode: 2720, state: 'OK', metro: 'Sallisaw' },\n\t\t\t\t{ metroCode: 8560, state: 'OK', metro: 'Tulsa' },\n\t\t\t\t{ metroCode: -1, state: 'OR', metro: 'entire state' },\n\t\t\t\t{ metroCode: 1890, state: 'OR', metro: 'Corvallis' },\n\t\t\t\t{ metroCode: 2400, state: 'OR', metro: 'Eugene-Springfield' },\n\t\t\t\t{ metroCode: 4890, state: 'OR', metro: 'Medford-Ashland' },\n\t\t\t\t{ metroCode: 6440, state: 'OR', metro: 'Portland-Vancouver' },\n\t\t\t\t{ metroCode: 7080, state: 'OR', metro: 'Salem' },\n\t\t\t\t{ metroCode: -1, state: 'PA', metro: 'entire state' },\n\t\t\t\t{ metroCode: 240, state: 'PA', metro: 'Allentown-Bethlehem-Easton' },\n\t\t\t\t{ metroCode: 280, state: 'PA', metro: 'Altoona' },\n\t\t\t\t{ metroCode: 845, state: 'PA', metro: 'Beaver County' },\n\t\t\t\t{ metroCode: 2360, state: 'PA', metro: 'Erie' },\n\t\t\t\t{ metroCode: 3240, state: 'PA', metro: 'Harrisburg-Lebanon-Carlisle' },\n\t\t\t\t{ metroCode: 3680, state: 'PA', metro: 'Johnstown' },\n\t\t\t\t{ metroCode: 4000, state: 'PA', metro: 'Lancaster' },\n\t\t\t\t{ metroCode: 6160, state: 'PA', metro: 'Philadelphia' },\n\t\t\t\t{ metroCode: 6280, state: 'PA', metro: 'Pittsburgh' },\n\t\t\t\t{ metroCode: 6680, state: 'PA', metro: 'Reading' },\n\t\t\t\t{ metroCode: 7560, state: 'PA', metro: 'Scranton--Wilkes-Barre--Hazleton' },\n\t\t\t\t{ metroCode: 7610, state: 'PA', metro: 'Sharon' },\n\t\t\t\t{ metroCode: 8050, state: 'PA', metro: 'State College' },\n\t\t\t\t{ metroCode: 9140, state: 'PA', metro: 'Williamsport' },\n\t\t\t\t{ metroCode: 9280, state: 'PA', metro: 'York' },\n\t\t\t\t{ metroCode: -1, state: 'RI', metro: 'entire state' },\n\t\t\t\t{ metroCode: 2480, state: 'RI', metro: 'Fall River' },\n\t\t\t\t{ metroCode: 6060, state: 'RI', metro: 'Pawtucket-Woonsocket-Attleboro' },\n\t\t\t\t{ metroCode: 6480, state: 'RI', metro: 'Providence-Fall River-Warwick' },\n\t\t\t\t{ metroCode: -1, state: 'SC', metro: 'entire state' },\n\t\t\t\t{ metroCode: 600, state: 'SC', metro: 'Aiken' },\n\t\t\t\t{ metroCode: 405, state: 'SC', metro: 'Anderson' },\n\t\t\t\t{ metroCode: 1440, state: 'SC', metro: 'Charleston' },\n\t\t\t\t{ metroCode: 1760, state: 'SC', metro: 'Columbia' },\n\t\t\t\t{ metroCode: 2655, state: 'SC', metro: 'Florence' },\n\t\t\t\t{ metroCode: 3160, state: 'SC', metro: 'Greenville-Spartanburg-Anderson' },\n\t\t\t\t{ metroCode: 5330, state: 'SC', metro: 'Myrtle Beach' },\n\t\t\t\t{ metroCode: 8140, state: 'SC', metro: 'Sumter' },\n\t\t\t\t{ metroCode: -1, state: 'SD', metro: 'entire state' },\n\t\t\t\t{ metroCode: 6660, state: 'SD', metro: 'Rapid City' },\n\t\t\t\t{ metroCode: 7760, state: 'SD', metro: 'Sioux Falls' },\n\t\t\t\t{ metroCode: -1, state: 'TN', metro: 'entire state' },\n\t\t\t\t{ metroCode: 1560, state: 'TN', metro: 'Chattanooga' },\n\t\t\t\t{ metroCode: 1660, state: 'TN', metro: 'Clarksville-Hopkinsville' },\n\t\t\t\t{ metroCode: 3580, state: 'TN', metro: 'Jackson' },\n\t\t\t\t{ metroCode: 3660, state: 'TN', metro: 'Johnson City-Kingsport-Bristol' },\n\t\t\t\t{ metroCode: 3840, state: 'TN', metro: 'Knoxville' },\n\t\t\t\t{ metroCode: 4920, state: 'TN', metro: 'Memphis' },\n\t\t\t\t{ metroCode: 5360, state: 'TN', metro: 'Nashville' },\n\t\t\t\t{ metroCode: -1, state: 'TX', metro: 'entire state' },\n\t\t\t\t{ metroCode: 40, state: 'TX', metro: 'Abilene' },\n\t\t\t\t{ metroCode: 320, state: 'TX', metro: 'Amarillo' },\n\t\t\t\t{ metroCode: 640, state: 'TX', metro: 'Austin-San Marcos' },\n\t\t\t\t{ metroCode: 840, state: 'TX', metro: 'Beaumont-Port Arthur' },\n\t\t\t\t{ metroCode: 1145, state: 'TX', metro: 'Brazoria' },\n\t\t\t\t{ metroCode: 1240, state: 'TX', metro: 'Brownsville-Harlingen-San Benito' },\n\t\t\t\t{ metroCode: 1260, state: 'TX', metro: 'Bryan-College Station' },\n\t\t\t\t{ metroCode: 1880, state: 'TX', metro: 'Corpus Christi' },\n\t\t\t\t{ metroCode: 1920, state: 'TX', metro: 'Dallas' },\n\t\t\t\t{ metroCode: 2320, state: 'TX', metro: 'El Paso' },\n\t\t\t\t{ metroCode: 2800, state: 'TX', metro: 'Ft Worth-Arlington' },\n\t\t\t\t{ metroCode: 2920, state: 'TX', metro: 'Galveston-Texas City' },\n\t\t\t\t{ metroCode: 3360, state: 'TX', metro: 'Houston' },\n\t\t\t\t{ metroCode: 3810, state: 'TX', metro: 'Killeen-Temple' },\n\t\t\t\t{ metroCode: 44, state: 'TX', metro: 'Lanius' },\n\t\t\t\t{ metroCode: 4080, state: 'TX', metro: 'Laredo' },\n\t\t\t\t{ metroCode: 4420, state: 'TX', metro: 'Longview-Marshall' },\n\t\t\t\t{ metroCode: 4600, state: 'TX', metro: 'Lubbock' },\n\t\t\t\t{ metroCode: 4880, state: 'TX', metro: 'McAllen-Edinburg-Mission' },\n\t\t\t\t{ metroCode: 5800, state: 'TX', metro: 'Odessa-Midland' },\n\t\t\t\t{ metroCode: 7200, state: 'TX', metro: 'San Angelo' },\n\t\t\t\t{ metroCode: 7240, state: 'TX', metro: 'San Antonio' },\n\t\t\t\t{ metroCode: 7640, state: 'TX', metro: 'Sherman-Denison' },\n\t\t\t\t{ metroCode: 8360, state: 'TX', metro: 'Texarkana' },\n\t\t\t\t{ metroCode: 8640, state: 'TX', metro: 'Tyler' },\n\t\t\t\t{ metroCode: 8750, state: 'TX', metro: 'Victoria' },\n\t\t\t\t{ metroCode: 8800, state: 'TX', metro: 'Waco' },\n\t\t\t\t{ metroCode: 9080, state: 'TX', metro: 'Wichita Falls' },\n\t\t\t\t{ metroCode: -1, state: 'UT', metro: 'entire state' },\n\t\t\t\t{ metroCode: 2620, state: 'UT', metro: 'Flagstaff' },\n\t\t\t\t{ metroCode: 6520, state: 'UT', metro: 'Provo-Orem' },\n\t\t\t\t{ metroCode: 7160, state: 'UT', metro: 'Salt Lake City-Ogden' },\n\t\t\t\t{ metroCode: -1, state: 'VA', metro: 'entire state' },\n\t\t\t\t{ metroCode: 1540, state: 'VA', metro: 'Charlottesville' },\n\t\t\t\t{ metroCode: 1950, state: 'VA', metro: 'Danville' },\n\t\t\t\t{ metroCode: 3660, state: 'VA', metro: 'Johnson City-Kingsport-Bristol' },\n\t\t\t\t{ metroCode: 4640, state: 'VA', metro: 'Lynchburg' },\n\t\t\t\t{ metroCode: 5720, state: 'VA', metro: 'Norfolk-Virginia Beach-Newport News' },\n\t\t\t\t{ metroCode: 6760, state: 'VA', metro: 'Richmond-Petersburg' },\n\t\t\t\t{ metroCode: 6800, state: 'VA', metro: 'Roanoke' },\n\t\t\t\t{ metroCode: 8840, state: 'VA', metro: 'Washington DC' },\n\t\t\t\t{ metroCode: -1, state: 'VT', metro: 'entire state' },\n\t\t\t\t{ metroCode: 1305, state: 'VT', metro: 'Burlington' },\n\t\t\t\t{ metroCode: -1, state: 'WA', metro: 'entire state' },\n\t\t\t\t{ metroCode: 860, state: 'WA', metro: 'Bellingham' },\n\t\t\t\t{ metroCode: 1150, state: 'WA', metro: 'Bremerton' },\n\t\t\t\t{ metroCode: 5910, state: 'WA', metro: 'Olympia' },\n\t\t\t\t{ metroCode: 6440, state: 'WA', metro: 'Portland-Vancouver' },\n\t\t\t\t{ metroCode: 6740, state: 'WA', metro: 'Richland-Kennewick-Pasco' },\n\t\t\t\t{ metroCode: 7600, state: 'WA', metro: 'Seattle-Bellevue-Everett' },\n\t\t\t\t{ metroCode: 7840, state: 'WA', metro: 'Spokane' },\n\t\t\t\t{ metroCode: 8200, state: 'WA', metro: 'Tacoma' },\n\t\t\t\t{ metroCode: 8725, state: 'WA', metro: 'Vancouver' },\n\t\t\t\t{ metroCode: 9260, state: 'WA', metro: 'Yakima' },\n\t\t\t\t{ metroCode: -1, state: 'WI', metro: 'entire state' },\n\t\t\t\t{ metroCode: 460, state: 'WI', metro: 'Appleton-Oshkosh-Neenah' },\n\t\t\t\t{ metroCode: 2240, state: 'WI', metro: 'Duluth-Superior' },\n\t\t\t\t{ metroCode: 2290, state: 'WI', metro: 'Eau Claire' },\n\t\t\t\t{ metroCode: 3080, state: 'WI', metro: 'Green Bay' },\n\t\t\t\t{ metroCode: 3620, state: 'WI', metro: 'Janesville-Beloit' },\n\t\t\t\t{ metroCode: 3800, state: 'WI', metro: 'Kenosha' },\n\t\t\t\t{ metroCode: 3870, state: 'WI', metro: 'La Crosse' },\n\t\t\t\t{ metroCode: 4720, state: 'WI', metro: 'Madison' },\n\t\t\t\t{ metroCode: 5080, state: 'WI', metro: 'Milwaukee-Waukesha' },\n\t\t\t\t{ metroCode: 5120, state: 'WI', metro: 'Minneapolis-St. Paul' },\n\t\t\t\t{ metroCode: 6600, state: 'WI', metro: 'Racine' },\n\t\t\t\t{ metroCode: 7620, state: 'WI', metro: 'Sheboygan' },\n\t\t\t\t{ metroCode: 8940, state: 'WI', metro: 'Wausau' },\n\t\t\t\t{ metroCode: -1, state: 'WV', metro: 'entire state' },\n\t\t\t\t{ metroCode: 1480, state: 'WV', metro: 'Charleston' },\n\t\t\t\t{ metroCode: 1900, state: 'WV', metro: 'Cumberland' },\n\t\t\t\t{ metroCode: 3400, state: 'WV', metro: 'Huntington-Ashland' },\n\t\t\t\t{ metroCode: 6020, state: 'WV', metro: 'Parkersburg' },\n\t\t\t\t{ metroCode: 8080, state: 'WV', metro: 'Steubenville-Weirton' },\n\t\t\t\t{ metroCode: 8840, state: 'WV', metro: 'Washington DC' },\n\t\t\t\t{ metroCode: 9000, state: 'WV', metro: 'Wheeling' },\n\t\t\t\t{ metroCode: -1, state: 'WY', metro: 'entire state' },\n\t\t\t\t{ metroCode: 1350, state: 'WY', metro: 'Casper' },\n\t\t\t\t{ metroCode: 1580, state: 'WY', metro: 'Cheyenne' }\n\t\t\t];\n\n\t\t\tscope.m.states = states();\n\t\t}\n\n\t\tfunction loadData(lanesOnly) {\n\t\t\tcarrierRegistrationService.lookupPreferredAreasLanes(scope.carrierId)\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tscope.m.preferredLanes = response.data.preferredLanes;\n\t\t\t\t\tif (lanesOnly)\n\t\t\t\t\t\treturn;\n\t\t\t\t\tscope.m.preferredAreas = {};\n\t\t\t\t\tscope.m.hasServiceInMexico = response.data.hasServiceInMexico;\n\t\t\t\t\tif (response.data.preferredAreas) {\n\t\t\t\t\t\tresponse.data.preferredAreas.forEach(function(state) {\n\t\t\t\t\t\t\tscope.m.preferredAreas[state.toLowerCase()] = true;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tprovinceChange();\n\t\t\t\t\t\tstateChange();\n\n\t\t\t\t\t\tscope.m.showCanadaMexico = scope.m.preferredAreas.ab ||\n scope.m.preferredAreas.bc ||\n scope.m.preferredAreas.mb ||\n scope.m.preferredAreas.sk ||\n scope.m.preferredAreas.on ||\n scope.m.preferredAreas.pq ||\n scope.m.preferredAreas.nb ||\n scope.m.preferredAreas.nf ||\n scope.m.preferredAreas.ns ||\n scope.m.preferredAreas.pe ||\n scope.m.hasServiceInMexico;\n\t\t\t\t\t}\n\t\t\t\t\tscope.m.showUnitedStates = !scope.m.allUsZones;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\t\t\tscope.$watch('m.newOrginState',\n\t\t\t\tfunction(newVal) {\n\t\t\t\t\tif (newVal) {\n\t\t\t\t\t\tfilterOrginMetros();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\tscope.$watch('m.newDestinationState',\n\t\t\t\tfunction(newVal) {\n\t\t\t\t\tif (newVal) {\n\t\t\t\t\t\tfilterDestinationMetros();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\tscope.$on('$destroy',\n\t\t\t\tfunction() {\n\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t});\n\n\t\t\tscope.$on('$locationChangeStart',\n\t\t\t\tfunction(event) {\n\t\t\t\t\tif (scope.m.isDirty || scope.m.showNewLane) {\n\t\t\t\t\t\tif (!\n\t\t\t\t\t\tconfirm('You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page. Are you sure you want to leave the page?')) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_START_CHANGE_CARRIER_PROFILE_VIEW, handler: saveData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SET_PENDING_TAB, handler: setPendingTab }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction setIsDirty() {\n\t\t\tscope.m.isDirty = true;\n\t\t\twindow.onbeforeunload = function() {\n\t\t\t\treturn 'You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page.';\n\t\t\t};\n\t\t}\n\n\t\tfunction saveData(callback) {\n\t\t\tif (!scope.m.isBroker) {\n\t\t\t\tcarrierRegistrationService.visitedSection('laneCoverage', scope.carrierId, scope.brokerId)\n\t\t\t\t\t.then(function() {\n\t\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_STATUS,\n\t\t\t\t\t\t\t'laneCoverage');\n\t\t\t\t\t\tif (scope.m.showNewLane) {\n\t\t\t\t\t\t\tsaveLane();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsavePreferredAreas(callback);\n\t\t\t\t\t});\n\n\t\t\t} else {\n\t\t\t\tif (scope.m.showNewLane) {\n\t\t\t\t\tsaveLane();\n\t\t\t\t}\n\t\t\t\tsavePreferredAreas(callback);\n\t\t\t}\n\t\t}\n\n\t\tfunction states() {\n\t\t\tvar cur = '';\n\t\t\tvar states = [];\n\t\t\tallMetros.forEach(function(metro) {\n\t\t\t\tif (cur !== metro.state) {\n\t\t\t\t\tstates.push(metro.state);\n\t\t\t\t\tcur = metro.state;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn states;\n\t\t}\n\n\t\tfunction filterOrginMetros() {\n\t\t\tvar filtered = [];\n\t\t\tscope.m.newOrginMetro = {};\n\n\t\t\tallMetros.forEach(function(metro) {\n\t\t\t\tif (scope.m.newOrginState === metro.state) {\n\t\t\t\t\tfiltered.push(metro);\n\t\t\t\t\tif (!scope.m.newOrginMetro.state) {\n\t\t\t\t\t\tscope.m.newOrginMetro = metro;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tscope.m.filteredOrginMetros = filtered;\n\t\t}\n\n\t\tfunction filterDestinationMetros() {\n\t\t\tvar filtered = [];\n\t\t\tscope.m.newDestinationMetro = {};\n\n\t\t\tallMetros.forEach(function(metro) {\n\t\t\t\tif (scope.m.newDestinationState === metro.state) {\n\t\t\t\t\tfiltered.push(metro);\n\t\t\t\t\tif (!scope.m.newDestinationMetro.state) {\n\t\t\t\t\t\tscope.m.newDestinationMetro = metro;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tscope.m.filteredDestinationMetros = filtered;\n\t\t}\n\n\t\tfunction trashClick(lane) {\n\t\t\tif (lane) {\n\t\t\t\tfor (var i = 0; i < scope.m.preferredLanes.length; i++) {\n\t\t\t\t\tif (scope.m.preferredLanes[i].originState === lane.originState)\n\t\t\t\t\t\tif (scope.m.preferredLanes[i].originMetroName === lane.originMetroName)\n\t\t\t\t\t\t\tif (scope.m.preferredLanes[i].destinationState === lane.destinationState)\n\t\t\t\t\t\t\t\tif (scope.m.preferredLanes[i].destinationMetroName === lane.destinationMetroName) {\n\t\t\t\t\t\t\t\t\tcarrierRegistrationService.updatePreferredLanes(lane.originState,\n\t\t\t\t\t\t\t\t\t\tlane.originMetroCode,\n\t\t\t\t\t\t\t\t\t\tlane.originMetroName,\n\t\t\t\t\t\t\t\t\t\tlane.destinationState,\n\t\t\t\t\t\t\t\t\t\tlane.destinationMetroCode,\n\t\t\t\t\t\t\t\t\t\tlane.destinationMetroName,\n\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\tscope.carrierId)\n\t\t\t\t\t\t\t\t\t\t.then(function() { loadData(true); });\n\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tscope.m.showNewLane = false;\n\t\t\t\tif (!scope.m.isDirty) {\n\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\tfunction saveLane() {\n\t\t\tcarrierRegistrationService.updatePreferredLanes(scope.m.newOrginMetro.state,\n\t\t\t\tscope.m.newOrginMetro.metroCode,\n\t\t\t\tscope.m.newOrginMetro.metro,\n\t\t\t\tscope.m.newDestinationMetro.state,\n\t\t\t\tscope.m.newDestinationMetro.metroCode,\n\t\t\t\tscope.m.newDestinationMetro.metro,\n\t\t\t\tfalse,\n\t\t\t\tscope.carrierId)\n\t\t\t\t.then(function() {\n\t\t\t\t\tloadData(true);\n\t\t\t\t\tif (!scope.m.isDirty) {\n\t\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\tscope.m.showNewLane = false;\n\t\t}\n\n\t\tfunction addClicK() {\n\t\t\tscope.m.newOrginState = 'AK';\n\t\t\tscope.m.newDestinationState = 'AK';\n\t\t\tfilterOrginMetros();\n\t\t\tfilterDestinationMetros();\n\t\t\twindow.onbeforeunload = function() {\n\t\t\t\treturn 'You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page.';\n\t\t\t};\n\n\t\t\tscope.m.showNewLane = true;\n\t\t}\n\n\t\tfunction canadaMexicoClick() {\n\t\t\tscope.m.showCanadaMexico = !scope.m.showCanadaMexico;\n\t\t}\n\n\t\tfunction allCanadianRegionsChange() {\n\t\t\tscope.m.western = scope.m.allCanadianRegions;\n\t\t\tscope.m.central = scope.m.allCanadianRegions;\n\t\t\tscope.m.eastern = scope.m.allCanadianRegions;\n\n\t\t\twesternChange();\n\t\t\tcentralChange();\n\t\t\teasternChange();\n\t\t}\n\n\t\tfunction westernChange() {\n\t\t\tscope.m.preferredAreas.ab = scope.m.western;\n\t\t\tscope.m.preferredAreas.bc = scope.m.western;\n\t\t\tscope.m.preferredAreas.mb = scope.m.western;\n\t\t\tscope.m.preferredAreas.sk = scope.m.western;\n\n\t\t\tscope.m.allCanadianRegions = scope.m.western && scope.m.central && scope.m.eastern;\n\t\t}\n\n\t\tfunction centralChange() {\n\t\t\tscope.m.preferredAreas.on = scope.m.central;\n\t\t\tscope.m.preferredAreas.pq = scope.m.central;\n\n\t\t\tscope.m.allCanadianRegions = scope.m.western && scope.m.central && scope.m.eastern;\n\t\t}\n\n\t\tfunction easternChange() {\n\t\t\tscope.m.preferredAreas.nb = scope.m.eastern;\n\t\t\tscope.m.preferredAreas.nf = scope.m.eastern;\n\t\t\tscope.m.preferredAreas.ns = scope.m.eastern;\n\t\t\tscope.m.preferredAreas.pe = scope.m.eastern;\n\n\t\t\tscope.m.allCanadianRegions = scope.m.western && scope.m.central && scope.m.eastern;\n\t\t}\n\n\t\tfunction provinceChange() {\n\t\t\tscope.m.western = scope.m.preferredAreas.ab &&\n scope.m.preferredAreas.bc &&\n scope.m.preferredAreas.mb &&\n scope.m.preferredAreas.sk;\n\n\t\t\tscope.m.central = scope.m.preferredAreas.on && scope.m.preferredAreas.pq;\n\n\t\t\tscope.m.eastern = scope.m.preferredAreas.nb &&\n scope.m.preferredAreas.nf &&\n scope.m.preferredAreas.ns &&\n scope.m.preferredAreas.pe;\n\n\t\t\tscope.m.allCanadianRegions = scope.m.western && scope.m.central && scope.m.eastern;\n\t\t}\n\n\t\tfunction unitedStatesClick() {\n\t\t\tif (!ignoreAllUsToggle) {\n\t\t\t\tscope.m.showUnitedStates = !scope.m.showUnitedStates;\n\t\t\t} else {\n\t\t\t\tignoreAllUsToggle = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction allUsCheckClick() {\n\t\t\t// Brokers cannot select\n\t\t\tif (scope.m.isBroker) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tscope.m.allUsZones = !scope.m.allUsZones;\n\t\t\tallUsZoneChange();\n\t\t\tsetIsDirty();\n\n\t\t\tif (!scope.m.allUsZones && scope.m.showUnitedStates) {\n\t\t\t\tignoreAllUsToggle = true;\n\t\t\t}\n\t\t}\n\n\t\tfunction allUsZoneChange() {\n\t\t\tscope.m.zone0 = scope.m.allUsZones;\n\t\t\tscope.m.zone1 = scope.m.allUsZones;\n\t\t\tscope.m.zone2 = scope.m.allUsZones;\n\t\t\tscope.m.zone3 = scope.m.allUsZones;\n\t\t\tscope.m.zone4 = scope.m.allUsZones;\n\t\t\tscope.m.zone5 = scope.m.allUsZones;\n\t\t\tscope.m.zone6 = scope.m.allUsZones;\n\t\t\tscope.m.zone7 = scope.m.allUsZones;\n\t\t\tscope.m.zone8 = scope.m.allUsZones;\n\t\t\tscope.m.zone9 = scope.m.allUsZones;\n\n\t\t\tzone0Change();\n\t\t\tzone1Change();\n\t\t\tzone2Change();\n\t\t\tzone3Change();\n\t\t\tzone4Change();\n\t\t\tzone5Change();\n\t\t\tzone6Change();\n\t\t\tzone7Change();\n\t\t\tzone8Change();\n\t\t\tzone9Change();\n\n\t\t\tif (scope.m.allUsZones) {\n\t\t\t\tscope.m.showUnitedStates = true;\n\t\t\t} else {\n\t\t\t\tscope.m.showUnitedStates = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction zone0Change() {\n\t\t\tscope.m.preferredAreas.ct = scope.m.zone0;\n\t\t\tscope.m.preferredAreas.ma = scope.m.zone0;\n\t\t\tscope.m.preferredAreas.me = scope.m.zone0;\n\t\t\tscope.m.preferredAreas.nh = scope.m.zone0;\n\t\t\tscope.m.preferredAreas.nj = scope.m.zone0;\n\t\t\tscope.m.preferredAreas.ri = scope.m.zone0;\n\t\t\tscope.m.preferredAreas.vt = scope.m.zone0;\n\n\t\t\tallUsZonesHelper();\n\t\t}\n\n\t\tfunction zone1Change() {\n\t\t\tscope.m.preferredAreas.de = scope.m.zone1;\n\t\t\tscope.m.preferredAreas.ny = scope.m.zone1;\n\t\t\tscope.m.preferredAreas.pa = scope.m.zone1;\n\n\t\t\tallUsZonesHelper();\n\t\t}\n\n\t\tfunction zone2Change() {\n\t\t\tscope.m.preferredAreas.md = scope.m.zone2;\n\t\t\tscope.m.preferredAreas.nc = scope.m.zone2;\n\t\t\tscope.m.preferredAreas.sc = scope.m.zone2;\n\t\t\tscope.m.preferredAreas.va = scope.m.zone2;\n\t\t\tscope.m.preferredAreas.dc = scope.m.zone2;\n\t\t\tscope.m.preferredAreas.wv = scope.m.zone2;\n\n\t\t\tallUsZonesHelper();\n\t\t}\n\n\t\tfunction zone3Change() {\n\t\t\tscope.m.preferredAreas.al = scope.m.zone3;\n\t\t\tscope.m.preferredAreas.fl = scope.m.zone3;\n\t\t\tscope.m.preferredAreas.ga = scope.m.zone3;\n\t\t\tscope.m.preferredAreas.ms = scope.m.zone3;\n\t\t\tscope.m.preferredAreas.tn = scope.m.zone3;\n\n\t\t\tallUsZonesHelper();\n\t\t}\n\n\t\tfunction zone4Change() {\n\t\t\tscope.m.preferredAreas.in = scope.m.zone4;\n\t\t\tscope.m.preferredAreas.ky = scope.m.zone4;\n\t\t\tscope.m.preferredAreas.mi = scope.m.zone4;\n\t\t\tscope.m.preferredAreas.oh = scope.m.zone4;\n\n\t\t\tallUsZonesHelper();\n\t\t}\n\n\t\tfunction zone5Change() {\n\t\t\tscope.m.preferredAreas.ia = scope.m.zone5;\n\t\t\tscope.m.preferredAreas.mn = scope.m.zone5;\n\t\t\tscope.m.preferredAreas.mt = scope.m.zone5;\n\t\t\tscope.m.preferredAreas.sd = scope.m.zone5;\n\t\t\tscope.m.preferredAreas.nd = scope.m.zone5;\n\t\t\tscope.m.preferredAreas.wi = scope.m.zone5;\n\n\t\t\tallUsZonesHelper();\n\t\t}\n\n\t\tfunction zone6Change() {\n\t\t\tscope.m.preferredAreas.il = scope.m.zone6;\n\t\t\tscope.m.preferredAreas.ks = scope.m.zone6;\n\t\t\tscope.m.preferredAreas.mo = scope.m.zone6;\n\t\t\tscope.m.preferredAreas.ne = scope.m.zone6;\n\n\t\t\tallUsZonesHelper();\n\t\t}\n\n\t\tfunction zone7Change() {\n\t\t\tscope.m.preferredAreas.ar = scope.m.zone7;\n\t\t\tscope.m.preferredAreas.la = scope.m.zone7;\n\t\t\tscope.m.preferredAreas.ok = scope.m.zone7;\n\t\t\tscope.m.preferredAreas.tx = scope.m.zone7;\n\n\t\t\tallUsZonesHelper();\n\t\t}\n\n\t\tfunction zone8Change() {\n\t\t\tscope.m.preferredAreas.az = scope.m.zone8;\n\t\t\tscope.m.preferredAreas.co = scope.m.zone8;\n\t\t\tscope.m.preferredAreas.id = scope.m.zone8;\n\t\t\tscope.m.preferredAreas.nv = scope.m.zone8;\n\t\t\tscope.m.preferredAreas.nm = scope.m.zone8;\n\t\t\tscope.m.preferredAreas.ut = scope.m.zone8;\n\t\t\tscope.m.preferredAreas.wy = scope.m.zone8;\n\n\t\t\tallUsZonesHelper();\n\t\t}\n\n\t\tfunction zone9Change() {\n\t\t\tscope.m.preferredAreas.ca = scope.m.zone9;\n\t\t\tscope.m.preferredAreas.or = scope.m.zone9;\n\t\t\tscope.m.preferredAreas.wa = scope.m.zone9;\n\t\t\tscope.m.preferredAreas.ak = scope.m.zone9;\n\n\t\t\tallUsZonesHelper();\n\t\t}\n\n\t\tfunction stateChange() {\n\t\t\tscope.m.zone0 = scope.m.preferredAreas.ct &&\n scope.m.preferredAreas.ma &&\n scope.m.preferredAreas.me &&\n scope.m.preferredAreas.nh &&\n scope.m.preferredAreas.nj &&\n scope.m.preferredAreas.ri &&\n scope.m.preferredAreas.vt;\n\t\t\tscope.m.zone1 = scope.m.preferredAreas.de &&\n scope.m.preferredAreas.ny &&\n scope.m.preferredAreas.pa;\n\t\t\tscope.m.zone2 = scope.m.preferredAreas.md &&\n scope.m.preferredAreas.nc &&\n scope.m.preferredAreas.sc &&\n scope.m.preferredAreas.va &&\n scope.m.preferredAreas.dc &&\n scope.m.preferredAreas.wv;\n\t\t\tscope.m.zone3 = scope.m.preferredAreas.al &&\n scope.m.preferredAreas.fl &&\n scope.m.preferredAreas.ga &&\n scope.m.preferredAreas.ms &&\n scope.m.preferredAreas.tn;\n\t\t\tscope.m.zone4 = scope.m.preferredAreas.in &&\n scope.m.preferredAreas.ky &&\n scope.m.preferredAreas.mi &&\n scope.m.preferredAreas.oh;\n\t\t\tscope.m.zone5 = scope.m.preferredAreas.ia &&\n scope.m.preferredAreas.mn &&\n scope.m.preferredAreas.mt &&\n scope.m.preferredAreas.sd &&\n scope.m.preferredAreas.nd &&\n scope.m.preferredAreas.nd &&\n scope.m.preferredAreas.wi;\n\t\t\tscope.m.zone6 = scope.m.preferredAreas.il &&\n scope.m.preferredAreas.ks &&\n scope.m.preferredAreas.mo &&\n scope.m.preferredAreas.ne;\n\t\t\tscope.m.zone7 = scope.m.preferredAreas.ar &&\n scope.m.preferredAreas.la &&\n scope.m.preferredAreas.ok &&\n scope.m.preferredAreas.tx;\n\t\t\tscope.m.zone8 = scope.m.preferredAreas.az &&\n scope.m.preferredAreas.co &&\n scope.m.preferredAreas.id &&\n scope.m.preferredAreas.nv &&\n scope.m.preferredAreas.nm &&\n scope.m.preferredAreas.ut &&\n scope.m.preferredAreas.wy;\n\t\t\tscope.m.zone9 = scope.m.preferredAreas.ca &&\n scope.m.preferredAreas.or &&\n scope.m.preferredAreas.wa &&\n scope.m.preferredAreas.ak;\n\n\n\t\t\tallUsZonesHelper();\n\t\t}\n\n\t\tfunction allUsZonesHelper() {\n\t\t\tscope.m.allUsZones = scope.m.zone0 &&\n scope.m.zone1 &&\n scope.m.zone2 &&\n scope.m.zone3 &&\n scope.m.zone4 &&\n scope.m.zone5 &&\n scope.m.zone6 &&\n scope.m.zone7 &&\n scope.m.zone8 &&\n scope.m.zone9;\n\t\t}\n\n\t\tfunction savePreferredAreas(callback) {\n\t\t\tif (scope.m.isDirty) {\n\t\t\t\tvar preferredAreas = [];\n\t\t\t\tfor (var key in scope.m.preferredAreas) {\n\t\t\t\t\tif (scope.m.preferredAreas[key]) {\n\t\t\t\t\t\tpreferredAreas.push(key.toUpperCase());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcarrierRegistrationService\n\t\t\t\t\t.updatePreferredAreas(preferredAreas, scope.m.hasServiceInMexico, scope.carrierId)\n\t\t\t\t\t.then(function() {\n\t\t\t\t\t\tscope.m.isDirty = false;\n\t\t\t\t\t\tif (!scope.m.showNewLane)\n\t\t\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t\t\tif (typeof (callback) === 'function')\n\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t});\n\n\t\t\t} else if (typeof (callback) === 'function')\n\t\t\t\tcallback();\n\t\t}\n\n\t\tfunction goToTab(tab) {\n\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_SET_PENDING_TAB, tab);\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_START_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tnavigate);\n\t\t}\n\n\t\tfunction setPendingTab(tab) {\n\t\t\tscope.tab = tab;\n\t\t}\n\n\t\tfunction navigate() {\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_FINISH_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tscope.tab);\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierProfileNavigation', cobCarrierProfileNavigation);\n\n\tcobCarrierProfileNavigation.$inject = [\n\t\t'$rootScope', '$state', '$stateParams', 'subjectObserverMessagesService', 'observerService', 'sessionService',\n\t\t'carrierRegistrationService', 'carrierService', 'carrierSettingsService', '$timeout'\n\t];\n\n\tvar $rootScope,\n\t\t$state,\n\t\t$stateParams,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tsessionService,\n\t\tcarrierRegistrationService,\n\t\tcarrierSettingsService,\n\t\t$timeout,\n\t\tcarrierService;\n\n\tfunction cobCarrierProfileNavigation(_$rootScope_,\n\t\t_$state_,\n\t\t_$stateParams_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_sessionService_,\n\t\t_carrierRegistrationService_,\n\t\t_carrierService_,\n\t\t_carrierSettingsService_,\n\t\t_$timeout_) {\n\t\t$rootScope = _$rootScope_;\n\t\t$state = _$state_;\n\t\t$stateParams = _$stateParams_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tsessionService = _sessionService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\tcarrierService = _carrierService_;\n\t\tcarrierSettingsService = _carrierSettingsService_;\n\t\t$timeout = _$timeout_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfileNavigation.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.m = {\n\t\t\t\tisBroker: sessionService.isAuthorizedBrokerRead(),\n\t\t\t\tisBrokerWrite: sessionService.isAuthorizedBrokerWrite(),\n\t\t\t\tisAdmin: sessionService.isAuthorizedInternalAdmin(),\n\t\t\t\tisCarrier: sessionService.isAuthorizedCarrierRead(),\n\t\t\t\tstatusCount: 0\n\t\t\t};\n\n\t\t\tscope.carrierId = $stateParams.carrierId;\n\t\t\tscope.brokerId = $stateParams.brokerId;\n\t\t\tscope.pendingViewStatusChange = '';\n\t\t\tscope.selectTab = selectTab;\n\t\t\tscope.setTab = setTab;\n\t\t\tscope.navigationOrder = [\n\t\t\t\t'carrierProfile.company',\n\t\t\t\t'carrierProfile.contacts',\n\t\t\t\t'carrierProfile.fleetServices',\n\t\t\t\t'carrierProfile.laneCoverage',\n\t\t\t\t'carrierProfile.taxes',\n\t\t\t\t'carrierProfile.documents',\n\t\t\t\t'carrierProfile.insurance',\n\t\t\t\t'carrierProfile.contracts'\n\t\t\t];\n\n\t\t\tscope.navigationHeader = {\n\t\t\t\t'carrierProfile.company': 'Company',\n\t\t\t\t'carrierProfile.contacts': 'Contacts',\n\t\t\t\t'carrierProfile.fleetServices': 'Fleet',\n\t\t\t\t'carrierProfile.laneCoverage': 'Lanes',\n\t\t\t\t'carrierProfile.taxes': 'Tax',\n\t\t\t\t'carrierProfile.documents': 'Documents',\n\t\t\t\t'carrierProfile.insurance': 'Insurance',\n\t\t\t\t'carrierProfile.contracts': 'Contracts'\n\t\t\t};\n\t\t\tscope.saveNote = saveNote;\n\t\t\tscope.$state = $state;\n\t\t\tscope.makeNavSticky = true;\n\n\t\t\tvar tab = location.hash.substr(10);\n\t\t\tregisterObserverHandlers();\n\t\t\tselectTab(tab, true);\n\t\t\tlookupCarrierStatus();\n\t\t\tgetCarrierImpersonated();\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage: observerMessages.COB_OBSERVER_FINISH_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\t\t\thandler: onFinishChangeView\n\t\t\t\t\t},\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CARRIER_PROFILE_VIEW_LOAD, handler: onViewLoad },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CARRIER_PROFILE_VIEW_STATUS, handler: onViewStatusChange },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CARRIER_PROFILE_STATUS_FINISH, handler: loadFirstTab }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction onFinishChangeView(view) {\n\t\t\tif (view === 'profile') {\n\t\t\t\t$rootScope.firstLogin = true;\n\t\t\t\tloadFirstTab();\n\t\t\t} else {\n\t\t\t\tselectTab(view);\n\t\t\t\tsetTab();\n\t\t\t}\n\t\t}\n\n\t\tfunction onViewLoad() {\n\t\t\tsetStickyNav();\n\t\t\tvar tab = location.hash.substr(10).split('?')[0];\n\t\t\tselectTab(tab, true);\n\t\t}\n\n\t\tfunction loadFirstTab() {\n\t\t\tif ($rootScope.firstLogin) {\n\t\t\t\tfor (var i = 0; i < scope.navigationOrder.length; i++) {\n\t\t\t\t\tif (!navStatusHelper(scope.navigationOrder[i])) {\n\t\t\t\t\t\tif (scope.navigationOrder[i] !== $state.current.name)\n\t\t\t\t\t\t\t$state.go(scope.navigationOrder[i],\n\t\t\t\t\t\t\t\t{ carrierId: $stateParams.carrierId, brokerId: $stateParams.brokerId });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$rootScope.firstLogin = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction selectTab(tab, isViewLoad) {\n\t\t\tvar next, back;\n\t\t\t//the order of items MATTER\n\t\t\tif (tab === 'next') {\n\t\t\t\tnext = true;\n\t\t\t} else if (tab === 'back') {\n\t\t\t\tback = true;\n\t\t\t} else {\n\t\t\t\tscope.m.pendingTab = tab;\n\t\t\t}\n\n\t\t\tif (next || back) {\n\t\t\t\tfor (var i = 0; i < scope.navigationOrder.length; i++) {\n\t\t\t\t\tif (scope.navigationOrder[i] === $state.current.name) {\n\t\t\t\t\t\tif (next) {\n\t\t\t\t\t\t\ti = i + 1;\n\t\t\t\t\t\t} else if (back) {\n\t\t\t\t\t\t\ti = i - 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tscope.m.pendingTab = scope.navigationOrder[i];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (scope.pendingViewStatusChange) {\n\t\t\t\tviewStatusChange();\n\t\t\t}\n\t\t\tif (isViewLoad) {\n\t\t\t\tscope.m.pendingTab = '';\n\t\t\t} else\n\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\tsubjectMessages.COB_SUBJECT_START_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\t\tsetTab);\n\t\t}\n\n\t\tfunction setTab() {\n\t\t\tif (scope.m.pendingTab === $state.current.name) {\n\t\t\t\t$state.go(scope.m.pendingTab,\n\t\t\t\t\t{ carrierId: $stateParams.carrierId, brokerId: $stateParams.brokerId },\n\t\t\t\t\t{ reload: true });\n\t\t\t\tscope.m.pendingTab = '';\n\t\t\t} else if (scope.m.pendingTab) {\n\t\t\t\t$state.go(scope.m.pendingTab, { carrierId: $stateParams.carrierId, brokerId: $stateParams.brokerId });\n\t\t\t\tscope.m.pendingTab = '';\n\t\t\t}\n\n\t\t}\n\n\t\tfunction lookupCarrierStatus() {\n\t\t\tcarrierRegistrationService.lookupCarrierStatus(scope.carrierId)\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tscope.m.companyInfoComplete = response.data.companyInfoComplete;\n\t\t\t\t\tscope.m.contactsComplete = response.data.contactsComplete;\n\t\t\t\t\tscope.m.documentsComplete = response.data.documentsComplete;\n\t\t\t\t\tscope.m.equipmentInfoComplete = response.data.equipmentInfoComplete;\n\t\t\t\t\tscope.m.insuranceInfoComplete = response.data.insuranceInfoComplete;\n\t\t\t\t\tscope.m.laneInfoComplete = response.data.laneInfoComplete;\n\t\t\t\t\tscope.m.taxInfoComplete = response.data.taxInfoComplete;\n\t\t\t\t\tisReadyToSign();\n\t\t\t\t\tsetCarrierNavState();\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_STATUS_FINISH);\n\t\t\t\t});\n\t\t\tif ($stateParams.carrierId \n\t\t\t\t&& ($('base').attr('href').split('/')[1] || $stateParams.brokerId || scope.m.isBroker) \n\t\t\t\t&& !scope.m.isAdmin) {\n\t\t\t\tcarrierRegistrationService.lookupContractsAndSignatures($stateParams.carrierId, $stateParams.brokerId)\n\t\t\t\t\t.then(loadContractsHelper);\n\t\t\t}\n\t\t}\n\n\t\tfunction loadContractsHelper(response) {\n\n\t\t\tfor (var i = 0; i < response.data.contractSignatures.length; i++) {\n\t\t\t\tif (response.data.contractSignatures[i].signee &&! response.data.contractSignatures[i].rejected) {\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_STATUS,\n\t\t\t\t\t\t'contracts');\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\tfunction onViewStatusChange(view) {\n\t\t\tif (view === 'contracts') {\n\t\t\t\tscope.m.contractsComplete = true;\n\t\t\t} else {\n\t\t\t\tscope.pendingViewStatusChange = view;\n\t\t\t}\n\n\t\t}\n\n\t\tfunction viewStatusChange() {\n\t\t\tswitch (scope.pendingViewStatusChange) {\n\t\t\tcase 'company':\n\t\t\t\tscope.m.companyInfoComplete = true;\n\t\t\t\tbreak;\n\t\t\tcase 'contacts':\n\t\t\t\tscope.m.contactsComplete = true;\n\t\t\t\tbreak;\n\t\t\tcase 'documents':\n\t\t\t\tscope.m.documentsComplete = true;\n\t\t\t\tbreak;\n\t\t\tcase 'fleetServices':\n\t\t\t\tscope.m.equipmentInfoComplete = true;\n\t\t\t\tbreak;\n\t\t\tcase 'insurance':\n\t\t\t\tscope.m.insuranceInfoComplete = true;\n\t\t\t\tbreak;\n\t\t\tcase 'laneCoverage':\n\t\t\t\tscope.m.laneInfoComplete = true;\n\t\t\t\tbreak;\n\t\t\tcase 'taxes':\n\t\t\t\tscope.m.taxInfoComplete = true;\n\t\t\t\tbreak;\n\t\t\t}\n \n\t\t\tsetCarrierNavState();\n\t\t\tnavStatusHelper();\n\t\t\tscope.pendingViewStatusChange = '';\n\n\t\t\tif (!scope.m.readyTosign) {\n\t\t\t\tif (isReadyToSign()) {\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_READY_TO_SIGN);\n\t\t\t\t\tcarrierRegistrationService.sendProfileCompleteNotification($stateParams.carrierId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction navStatusHelper(tab) {\n\t\t\tswitch (tab) {\n\t\t\tcase 'carrierProfile.company':\n\t\t\t\treturn scope.m.companyInfoComplete;\n\t\t\tcase 'carrierProfile.contacts':\n\t\t\t\treturn scope.m.contactsComplete;\n\t\t\tcase 'carrierProfile.fleetServices':\n\t\t\t\treturn scope.m.equipmentInfoComplete;\n\t\t\tcase 'carrierProfile.laneCoverage':\n\t\t\t\treturn scope.m.laneInfoComplete;\n\t\t\tcase 'carrierProfile.taxes':\n\t\t\t\treturn scope.m.taxInfoComplete;\n\t\t\tcase 'carrierProfile.documents':\n\t\t\t\treturn scope.m.documentsComplete;\n\t\t\tcase 'carrierProfile.insurance':\n\t\t\t\treturn scope.m.insuranceInfoComplete;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfunction isReadyToSign() {\n\t\t\tscope.m.statusCount = 0;\n\t\t\tif (scope.m.companyInfoComplete)\n\t\t\t\tscope.m.statusCount = scope.m.statusCount + 1;\n\t\t\tif (scope.m.contactsComplete)\n\t\t\t\tscope.m.statusCount = scope.m.statusCount + 1;\n\t\t\tif (scope.m.documentsComplete)\n\t\t\t\tscope.m.statusCount = scope.m.statusCount + 1;\n\t\t\tif (scope.m.equipmentInfoComplete)\n\t\t\t\tscope.m.statusCount = scope.m.statusCount + 1;\n\t\t\tif (scope.m.insuranceInfoComplete)\n\t\t\t\tscope.m.statusCount = scope.m.statusCount + 1;\n\t\t\tif (scope.m.laneInfoComplete)\n\t\t\t\tscope.m.statusCount = scope.m.statusCount + 1;\n\t\t\tif (scope.m.taxInfoComplete)\n\t\t\t\tscope.m.statusCount = scope.m.statusCount + 1;\n\t\t\tif (scope.m.statusCount === 7) {\n\t\t\t\tscope.m.readyTosign = true;\n\t\t\t\tif (sessionService.getCarrierReadyToSign() === false) {\n\t\t\t\t\tscope.m.readyToSign = sessionService.setCarrierReadyToSign(true);\n\t\t\t\t} \n\t\t\t} else {\n\t\t\t\tscope.m.readyTosign = false;\n\t\t\t\tscope.m.readyToSign = sessionService.setCarrierReadyToSign(false);\n\t\t\t}\n\n\t\t\treturn scope.m.readyTosign;\n\t\t}\n\n\t\tfunction saveNote() {\n\t\t\tif (scope.m.carrierNotesChange) {\n\t\t\t\tif (scope.m.carrierNotes) {\n\t\t\t\t\tcarrierService.updateCarrierNote(scope.m.carrierId, scope.m.carrierNotes)\n\t\t\t\t\t\t.then(function() {\n\t\t\t\t\t\t\tscope.m.editingNotes = false;\n\t\t\t\t\t\t\tscope.m.carrierNotesChange = false;\n\t\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tcarrierService.deleteCarrierNote(scope.m.carrierId)\n\t\t\t\t\t\t.then(function() {\n\t\t\t\t\t\t\tscope.m.editingNotes = false;\n\t\t\t\t\t\t\tscope.m.carrierNotesChange = false;\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tscope.m.editingNotes = false;\n\t\t\t}\n\n\t\t}\n\n\t\tfunction setStickyNav() {\n\t\t\tvar Ylocation = Ylocation || 0;\n\t\t\t$('.carrier-profile-wrapper')\n\t\t\t\t.bind('scroll',\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tvar currentLocation = $(this).scrollTop();\n\t\t\t\t\t\t$(this).addClass('full-length');\n\t\t\t\t\t\t$('.carrier-profile').addClass('full-length');\n\t\t\t\t\t\tif (currentLocation >= Ylocation) {\n\t\t\t\t\t\t\tscope.makeNavSticky = false;\n\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_SCROLL,\n\t\t\t\t\t\t\t\t\tscope.makeNavSticky);\n\t\t\t\t\t\t\tYlocation = currentLocation;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.makeNavSticky = true;\n\t\t\t\t\t\t\t$(this).removeClass('full-length');\n\t\t\t\t\t\t\t$('.carrier-profile').removeClass('full-length');\n\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_SCROLL,\n\t\t\t\t\t\t\t\t\tscope.makeNavSticky);\n\t\t\t\t\t\t\tYlocation = currentLocation;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tscope.$apply();\n\t\t\t\t\t});\n\t\t}\n\n\t\tfunction setCarrierNavState() {\n\t\t\tvar navState = {companyInfoComplete: scope.m.companyInfoComplete,\n\t\t\t\tcontactsComplete: scope.m.contactsComplete,\n\t\t\t\tdocumentsComplete: scope.m.documentsComplete,\n\t\t\t\tequipmentInfoComplete: scope.m.equipmentInfoComplete,\n\t\t\t\tinsuranceInfoComplete: scope.m.insuranceInfoComplete,\n\t\t\t\tlaneInfoComplete: scope.m.laneInfoComplete,\n\t\t\t\ttaxInfoComplete: scope.m.taxInfoComplete\n\t\t\t};\n\t\t\tsessionService.setCarrierNavState(navState);\n\t\t}\n\n\t\tfunction getCarrierImpersonated() {\n\t\t\tif (scope.carrierId) {\n\t\t\t\tif (scope.m.isAdmin && !scope.brokerId) {\n\t\t\t\t\tvar carrier = sessionService.getCarrierImpersonated();\n\t\t\t\t\tscope.m.dotNumber = carrier.dotNumber;\n\t\t\t\t\tscope.m.intrastateNumber = carrier.intrastateNumber;\n\t\t\t\t\tscope.m.carrierName = carrier.carrierName;\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcarrierService.getCarrierDetails(scope.carrierId, scope.brokerId)\n\t\t\t\t\t.then(function (response) {\n\t\t\t\t\t\tscope.m.carrierId = response.data.carrierDetails.carrierId;\n\t\t\t\t\t\tscope.m.businessUnitId = response.data.carrierDetails.businessUnitId;\n\t\t\t\t\t\tif (response.data.carrierDetails.dbaName) {\n\t\t\t\t\t\t\tscope.m.carrierName = response.data.carrierDetails.dbaName;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tscope.m.carrierName = response.data.carrierDetails.legalName;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tscope.m.dotNumber = response.data.carrierDetails.dot;\n\t\t\t\t\t\tscope.m.intrastateNumber = response.data.carrierDetails.intrastateCode;\n\t\t\t\t\t\tscope.m.carrierNotes = response.data.carrierDetails.notes;\n\t\t\t\t\t\tscope.m.carrierStatus = response.data.carrierDetails.status;\n\n\t\t\t\t\t\tif (scope.m.isBroker) {\n\t\t\t\t\t\t\tcarrierRegistrationService.lookupUrlsByCategory(scope.m.businessUnitId)\n\t\t\t\t\t\t\t\t.then(function (response) {\n\t\t\t\t\t\t\t\t\tscope.m.carrierWatchUrl = response.data.url;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tif (scope.m.isCarrier) {\n\t\t\t\t\tcarrierSettingsService.lookupCarrierProfileModal(scope.carrierId).then(function (response) {\n\t\t\t\t\t\tif (response.data.dbaName) {\n\t\t\t\t\t\t\tscope.m.carrierCompanyName = response.data.dbaName;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.m.carrierCompanyName = response.data.legalName;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function() {\n\tvar app = angular.module('onboarding.carrier');\n\tapp.directive('cobCarrierProfileTaxes', cobCarrierProfileTaxes);\n\tapp.constant('SSN_PLACEHOLDER', 'SSN, such as ### - ## - ####');\n\tapp.constant('SIN_PLACEHOLDER', 'SIN, such as ### - ### - ###');\n\tapp.constant('EIN_PLACEHOLDER', 'EIN, such as ## - #######');\n\n\tcobCarrierProfileTaxes.$inject = [\n\t\t'sessionService', 'subjectObserverMessagesService', 'observerService', 'carrierRegistrationService', '$timeout',\n\t\t'$location', '$stateParams'\n\t];\n\n\tvar\n\t\tsessionService,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tcarrierRegistrationService,\n\t\t$timeout,\n\t\t$location,\n\t\t$stateParams;\n\tvar subjectMessages, observerMessages;\n\n\tfunction cobCarrierProfileTaxes(_sessionService_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierRegistrationService_,\n\t\t_$timeout_,\n\t\t_$location_,\n\t\t_$stateParams_) {\n\t\tsessionService = _sessionService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\t$timeout = _$timeout_;\n\t\t$location = _$location_;\n\t\t$stateParams = _$stateParams_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfileTaxes.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tregisterObserverHandlers();\n\t\t\tdocument.title = 'Profile-Tax';\n\n\t\t\t$timeout(function() {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_LOAD);\n\t\t\t\tloadData();\n\t\t\t},\n\t\t\t100);\n\t\t}\n\n\t\tfunction loadData() {\n\t\t\tcarrierRegistrationService.getCarrierTaxInfo($stateParams.carrierId)\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tif (response.data.w8TaxInfo) {\n\t\t\t\t\t\tvar w8Data = {};\n\n\t\t\t\t\t\tw8Data.name = response.data.w8TaxInfo.name;\n\n\t\t\t\t\t\tif (response.data.w8TaxInfo.beneficialOwnerType) {\n\t\t\t\t\t\t\tw8Data.beneficialOwnerType = response.data.w8TaxInfo.beneficialOwnerType;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tw8Data.beneficialOwnerType = '--';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (response.data.w8TaxInfo.federalTaxIdType === 'EIN') {\n\t\t\t\t\t\t\tw8Data.ein = response.data.w8TaxInfo.tin;\n\t\t\t\t\t\t} else if (response.data.w8TaxInfo.federalTaxIdType === 'SSN') {\n\t\t\t\t\t\t\tw8Data.ssn = response.data.w8TaxInfo.tin;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (response.data.w8TaxInfo.foreignTaxIdType === 'SIN') {\n\t\t\t\t\t\t\tw8Data.sin = response.data.w8TaxInfo.foreignTaxId;\n\t\t\t\t\t\t} else if (response.data.w8TaxInfo.foreignTaxIdType === 'BN') {\n\t\t\t\t\t\t\tw8Data.bn = response.data.w8TaxInfo.foreignTaxId;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tw8Data.formYear = response.data.w8TaxInfo.formYear;\n\t\t\t\t\t\tw8Data.incorporationCountry = response.data.w8TaxInfo.incorporationCountry;\n\n\t\t\t\t\t\tw8Data.streetAddress = response.data.w8TaxInfo.streetAddress;\n\t\t\t\t\t\tw8Data.city = response.data.w8TaxInfo.city;\n\t\t\t\t\t\tw8Data.state = response.data.w8TaxInfo.state;\n\t\t\t\t\t\tw8Data.postalCode = response.data.w8TaxInfo.postalCode;\n\t\t\t\t\t\tw8Data.country = response.data.w8TaxInfo.country;\n\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tresponse.data.w8TaxInfo.mailingStreet === w8Data.streetAddress &&\n response.data.w8TaxInfo.mailingCity === w8Data.city &&\n response.data.w8TaxInfo.mailingCountry === w8Data.country &&\n response.data.w8TaxInfo.mailingPostalCode === w8Data.postalCode &&\n response.data.w8TaxInfo.mailingState === w8Data.state) {\n\t\t\t\t\t\t\tw8Data.mailingSameAsPermanent = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tw8Data.mailingSameAsPermanent = false;\n\t\t\t\t\t\t\tw8Data.mailingCity = response.data.w8TaxInfo.mailingCity;\n\t\t\t\t\t\t\tw8Data.mailingCountry = response.data.w8TaxInfo.mailingCountry;\n\t\t\t\t\t\t\tw8Data.mailingPostalCode = response.data.w8TaxInfo.mailingPostalCode;\n\t\t\t\t\t\t\tw8Data.mailingState = response.data.w8TaxInfo.mailingState;\n\t\t\t\t\t\t\tw8Data.mailingStreet = response.data.w8TaxInfo.mailingStreet;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!w8Data.mailingStreet && !w8Data.mailingCity && !w8Data.mailingPostalCode) {\n\t\t\t\t\t\t\tw8Data.mailingSameAsPermanent = true;\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_CARRIER_PROFILE_W8_LOADED, w8Data);\n\t\t\t\t\t} else if (response.data.w9TaxInfo) {\n\t\t\t\t\t\tvar w9Data = {};\n\t\t\t\t\t\tw9Data.taxStatus = response.data.w9TaxInfo.taxStatus;\n\t\t\t\t\t\tw9Data.exemptionType = 0;\n\t\t\t\t\t\tw9Data.name = response.data.w9TaxInfo.name;\n\t\t\t\t\t\tw9Data.businessName = response.data.w9TaxInfo.businessName;\n\t\t\t\t\t\tw9Data.streetAddress = response.data.w9TaxInfo.streetAddress;\n\t\t\t\t\t\tw9Data.cityAddress = response.data.w9TaxInfo.city;\n\t\t\t\t\t\tw9Data.postalCodeAddress = response.data.w9TaxInfo.postalCode;\n\n\t\t\t\t\t\tif (response.data.w9TaxInfo.state) {\n\t\t\t\t\t\t\tw9Data.stateAddress = response.data.w9TaxInfo.state;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tw9Data.stateAddress = '--';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (response.data.w9TaxInfo.taxClassification) {\n\t\t\t\t\t\t\tw9Data.federalType = response.data.w9TaxInfo.taxClassification;\n\n\t\t\t\t\t\t\tif (w9Data.federalType === 'Other') {\n\t\t\t\t\t\t\t\tw9Data.federalTypeOther = response.data.w9TaxInfo.otherText;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tw9Data.federalType = '--';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (response.data.w9TaxInfo.exemptPayeeCode) {\n\t\t\t\t\t\t\tw9Data.exemptionType = parseInt(response.data.w9TaxInfo.exemptPayeeCode);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tw9Data.exemptionType = '0';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (response.data.w9TaxInfo.fatcaReportingCode) {\n\t\t\t\t\t\t\tw9Data.reportCode = response.data.w9TaxInfo.fatcaReportingCode;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tw9Data.reportCode = '--';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (response.data.w9TaxInfo.federalTaxIdType === 'EIN') {\n\t\t\t\t\t\t\tw9Data.eid = response.data.w9TaxInfo.tin;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (response.data.w9TaxInfo.federalTaxIdType === 'SSN') {\n\t\t\t\t\t\t\tw9Data.ssn = response.data.w9TaxInfo.tin;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_CARRIER_PROFILE_W9_LOADED, w9Data);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(function(e) {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CARRIER_PROFILE_TAX_RELOAD, handler: loadData }\n\t\t\t\t]);\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierProfileTaxesW8', cobCarrierProfileTaxesW8);\n\n\tcobCarrierProfileTaxesW8.$inject = [\n\t\t'sessionService', 'subjectObserverMessagesService', 'observerService',\n\t\t'carrierRegistrationService', '$timeout', '$location', 'validationService',\n\t\t'$stateParams', 'SSN_PLACEHOLDER', 'SIN_PLACEHOLDER', 'EIN_PLACEHOLDER'\n\t];\n\n\tvar sessionService,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tcarrierRegistrationService,\n\t\t$timeout,\n\t\t$location,\n\t\tvalidationService,\n\t\t$stateParams,\n\t\tssnPlaceholder,\n\t\tsinPlaceholder,\n\t\teinPlaceholder;\n\tvar subjectMessages, observerMessages;\n\n\tfunction cobCarrierProfileTaxesW8(_sessionService_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierRegistrationService_,\n\t\t_$timeout_,\n\t\t_$location_,\n\t\t_validationService_,\n\t\t_$stateParams_,\n\t\tSSN_PLACEHOLDER,\n\t\tSIN_PLACEHOLDER,\n\t\tEIN_PLACEHOLDER) {\n\t\tsessionService = _sessionService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\t$timeout = _$timeout_;\n\t\t$location = _$location_;\n\t\tvalidationService = _validationService_;\n\t\t$stateParams = _$stateParams_;\n\t\tssnPlaceholder = SSN_PLACEHOLDER;\n\t\tsinPlaceholder = SIN_PLACEHOLDER;\n\t\teinPlaceholder = EIN_PLACEHOLDER;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfileTaxesW8.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.ssnPlaceholder = ssnPlaceholder;\n\t\t\tscope.sinPlaceholder = sinPlaceholder;\n\t\t\tscope.einPlaceholder = einPlaceholder;\n \n\t\t\tscope.carrierId = $stateParams.carrierId;\n\t\t\tscope.m = {\n\t\t\t\tisBroker: sessionService.isBroker(),\n\t\t\t\tisAdmin: sessionService.isAuthorizedInternalAdmin(),\n\t\t\t\tloaded: false\n\t\t\t};\n\n\t\t\tscope.beneficialOwnerTypes = [\n\t\t\t\t{ key: '--', value: 'Select' },\n\t\t\t\t{ key: 'GrantorTrust', value: 'Grantor Trust' },\n\t\t\t\t{ key: 'Centralbankofissue', value: 'Central bank of issue' },\n\t\t\t\t{ key: 'Individual', value: 'Individual' },\n\t\t\t\t{ key: 'Complextrust', value: 'Complex trust' },\n\t\t\t\t{ key: 'Taxexemptorganization', value: 'Tax-exempt organization' },\n\t\t\t\t{ key: 'Corporation', value: 'Corporation' },\n\t\t\t\t{ key: 'Estate', value: 'Estate' },\n\t\t\t\t{ key: 'Privatefoundation', value: 'Private Foundation' },\n\t\t\t\t{ key: 'Disregarded', value: 'Disregarded' },\n\t\t\t\t{ key: 'Government', value: 'Government' },\n\t\t\t\t{ key: 'Partnership', value: 'Partnership' },\n\t\t\t\t{ key: 'Internationalorganization', value: 'International organization' },\n\t\t\t\t{ key: 'Simpletrust', value: 'Simple Trust' }\n\t\t\t];\n\t\t\tscope.stateList = [\n\t\t\t\t{ key: 'AB', value: 'AB', country: 'Canada' },\n\t\t\t\t{ key: 'BC', value: 'BC', country: 'Canada' },\n\t\t\t\t{ key: 'MB', value: 'MB', country: 'Canada' },\n\t\t\t\t{ key: 'NB', value: 'NB', country: 'Canada' },\n\t\t\t\t{ key: 'NF', value: 'NF', country: 'Canada' },\n\t\t\t\t{ key: 'NT', value: 'NT', country: 'Canada' },\n\t\t\t\t{ key: 'NS', value: 'NS', country: 'Canada' },\n\t\t\t\t{ key: 'NU', value: 'NU', country: 'Canada' },\n\t\t\t\t{ key: 'ON', value: 'ON', country: 'Canada' },\n\t\t\t\t{ key: 'PE', value: 'PE', country: 'Canada' },\n\t\t\t\t{ key: 'PQ', value: 'PQ', country: 'Canada' },\n\t\t\t\t{ key: 'SK', value: 'SK', country: 'Canada' },\n\t\t\t\t{ key: 'YT', value: 'YT', country: 'Canada' }\n\t\t\t];\n\n\t\t\tscope.setIsDirty = setIsDirty;\n\t\t\tscope.textFieldKeyDown = textFieldKeyDown;\n\t\t\tscope.validateName = validateName;\n\t\t\tscope.validateBeneficialOwner = validateBeneficialOwner;\n\n\t\t\tscope.validateStreetAddress = validateStreetAddress;\n\t\t\tscope.validateCityAddress = validateCityAddress;\n\t\t\tscope.validateStateAddress = validateStateAddress;\n\t\t\tscope.validatePostalCodeAddress = validatePostalCodeAddress;\n\n\t\t\tscope.validateMailingStreet = validateMailingStreet;\n\t\t\tscope.validateMailingCity = validateMailingCity;\n\t\t\tscope.validateMailingState = validateMailingState;\n\t\t\tscope.validateMailingPostalCode = validateMailingPostalCode;\n\n\t\t\tscope.validateSsn = validateSsn;\n\t\t\tscope.validateEin = validateEin;\n\t\t\tscope.validateBn = validateBn;\n\t\t\tscope.validateSin = validateSin;\n\n\t\t\tscope.mailingSameAsPermanentChange = mailingSameAsPermanentChange;\n\t\t\tscope.mailingStateChange = mailingStateChange;\n\t\t\tscope.goToTab = goToTab;\n\t\t\tscope.onForceGo = onForceGo;\n\n\t\t\tregisterObserverHandlers();\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_START_CHANGE_CARRIER_PROFILE_VIEW, handler: saveData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CARRIER_PROFILE_W8_LOADED, handler: loadData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SET_PENDING_TAB, handler: setPendingTab }\n\t\t\t\t]);\n\n\t\t\tscope.$on('$destroy',\n\t\t\t\tfunction() {\n\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t});\n\n\t\t\tscope.$on('$locationChangeStart',\n\t\t\t\tfunction(event, next, current) {\n\t\t\t\t\tif (scope.m.isDirty) {\n\t\t\t\t\t\tif (!scope.ux_requirement_hack_for_scrolling) {\n\t\t\t\t\t\t\tif (!\n\t\t\t\t\t\t\tconfirm('You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page. Are you sure you want to leave the page?')) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tscope.ux_requirement_hack_for_scrolling = false;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction setIsDirty() {\n\t\t\tscope.m.isDirty = true;\n\t\t\twindow.onbeforeunload = function() {\n\t\t\t\treturn 'You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page.';\n\t\t\t};\n\t\t}\n\n\t\tfunction loadData(data) {\n\t\t\tscope.m.loaded = true;\n\n\t\t\tscope.m.beneficialOwnerType = data.beneficialOwnerType;\n\t\t\tscope.m.cityAddress = data.city;\n\t\t\tscope.m.countryAddress = 'Canada';\n\t\t\tscope.m.ein = data.ein;\n\t\t\tscope.m.ssn = data.ssn;\n\t\t\tscope.m.sin = data.sin;\n\t\t\tscope.m.bn = data.bn;\n\t\t\tscope.m.formYear = data.formYear;\n\t\t\tscope.m.incorporationCountry = 'Canada';\n\t\t\tscope.m.mailingSameAsPermanent = data.mailingSameAsPermanent;\n\t\t\tscope.m.mailingCity = data.mailingCity;\n\t\t\tif (data.mailingState)\n\t\t\t\tscope.m.mailingCountry = 'Canada';\n\n\t\t\tscope.m.mailingPostalCode = data.mailingPostalCode;\n\t\t\tscope.m.mailingState = data.mailingState;\n\t\t\tscope.m.mailingStreet = data.mailingStreet;\n\t\t\tscope.m.name = data.name;\n\t\t\tscope.m.postalCodeAddress = data.postalCode;\n\t\t\tscope.m.stateAddress = data.state;\n\t\t\tscope.m.streetAddress = data.streetAddress;\n\n\t\t\tvar navState = sessionService.getCarrierNavState();\n\t\t\tif (!scope.m.ein && !scope.m.ssn && !scope.m.sin && !scope.m.bn) {\n\t\t\t\tif (navState && navState.taxInfoComplete) {\n\t\t\t\t\tscope.m.ein = '*********';\n\t\t\t\t\tscope.m.ssn = '*********';\n\t\t\t\t\tscope.m.sin = '*********';\n\t\t\t\t\tscope.m.bn = '*********';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction saveData(callback) {\n\t\t\tif (!scope.m.loaded)\n\t\t\t\treturn;\n\t\t\tif (scope.m.isDirty) {\n\t\t\t\tif (formIsValid()) {\n\n\t\t\t\t\tvar mailingAddress, mailingCity, mailingState, mailingPostalCode, mailingCountry;\n\t\t\t\t\tif (scope.m.mailingSameAsPermanent) {\n\t\t\t\t\t\tmailingAddress = scope.m.streetAddress;\n\t\t\t\t\t\tmailingCity = scope.m.cityAddress;\n\t\t\t\t\t\tmailingState = scope.m.stateAddress;\n\t\t\t\t\t\tmailingPostalCode = scope.m.postalCodeAddress;\n\t\t\t\t\t\tmailingCountry = scope.m.countryAddress;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmailingAddress = scope.m.mailingStreet;\n\t\t\t\t\t\tmailingCity = scope.m.mailingCity;\n\t\t\t\t\t\tmailingState = scope.m.mailingState;\n\t\t\t\t\t\tmailingPostalCode = scope.m.mailingPostalCode;\n\t\t\t\t\t\tmailingCountry = scope.m.mailingCountry;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar tin, federalTaxType;\n\t\t\t\t\tif (scope.m.ein) {\n\t\t\t\t\t\ttin = scope.m.ein;\n\t\t\t\t\t\tfederalTaxType = 'EIN';\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttin = scope.m.ssn;\n\t\t\t\t\t\tfederalTaxType = 'SSN';\n\t\t\t\t\t}\n\n\t\t\t\t\tvar foreignTaxId, foreignTaxIdType;\n\t\t\t\t\tif (scope.m.bn) {\n\t\t\t\t\t\tforeignTaxId = scope.m.bn;\n\t\t\t\t\t\tforeignTaxIdType = 'BN';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tforeignTaxId = scope.m.sin;\n\t\t\t\t\t\tforeignTaxIdType = 'SIN';\n\t\t\t\t\t}\n\n\t\t\t\t\tcarrierRegistrationService.updateW8TaxInformation(scope.m.name,\n\t\t\t\t\t\tscope.m.beneficialOwnerType,\n\t\t\t\t\t\tscope.m.streetAddress,\n\t\t\t\t\t\tscope.m.cityAddress,\n\t\t\t\t\t\tscope.m.stateAddress,\n\t\t\t\t\t\tscope.m.postalCodeAddress,\n\t\t\t\t\t\tscope.m.countryAddress,\n\t\t\t\t\t\tmailingAddress,\n\t\t\t\t\t\tmailingCity,\n\t\t\t\t\t\tmailingState,\n\t\t\t\t\t\tmailingPostalCode,\n\t\t\t\t\t\tmailingCountry,\n\t\t\t\t\t\ttin,\n\t\t\t\t\t\tfederalTaxType,\n\t\t\t\t\t\tforeignTaxId,\n\t\t\t\t\t\tforeignTaxIdType,\n\t\t\t\t\t\tscope.carrierId)\n\t\t\t\t\t\t.then(function() {\n\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_STATUS,\n\t\t\t\t\t\t\t\t\t'taxes');\n\t\t\t\t\t\t\tif (typeof (callback) === 'function')\n\t\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t});\n\n\t\t\t\t} else {\n\t\t\t\t\t// invalid form\n\t\t\t\t\tsetSectionMessage(true);\n\t\t\t\t\tscope.pendingCallback = callback;\n\n\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\tscope.ux_requirement_hack_for_scrolling = true;\n\t\t\t\t\t\t$('.profile-tax')\n\t\t\t\t\t\t\t.animate({\n\t\t\t\t\t\t\t\tscrollTop: $('#error-summary').offset().top\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t200);\n\t\t\t\t\t\tsetIsDirty();\n\t\t\t\t\t},\n\t\t\t\t\t1);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tsetSectionMessage(false);\n\t\t\t\tif (typeof (callback) === 'function')\n\t\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\n\t\tfunction textFieldKeyDown(event) {\n\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\tvar isShift = !!event.shiftKey;\n\n\t\t\tif (isShift) {\n\t\t\t\tswitch (charCode) {\n\t\t\t\tcase 220: // | character\n\t\t\t\tcase 222: // \"\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction formIsValid() {\n\t\t\tvalidateName();\n\t\t\tvalidateBeneficialOwner();\n\t\t\tvalidateStreetAddress();\n\t\t\tvalidateCityAddress();\n\t\t\tvalidateStateAddress();\n\t\t\tvalidatePostalCodeAddress();\n\t\t\tvalidateMailingStreet();\n\t\t\tvalidateMailingCity();\n\t\t\tvalidateMailingState();\n\t\t\tvalidateMailingPostalCode();\n\t\t\tvalidateSsn();\n\t\t\tvalidateEin();\n\t\t\tvalidateBn();\n\t\t\tvalidateSin();\n\n\t\t\tif (scope.m.nameError ||\n scope.m.beneficialOwnerError ||\n scope.m.streetAddressError ||\n scope.m.cityAddressError ||\n scope.m.stateAddressError ||\n scope.m.postalCodeAddressError ||\n scope.m.mailingStreetError ||\n scope.m.mailingCityError ||\n scope.m.mailingStateError ||\n scope.m.mailingPostalCodeError ||\n scope.m.ssnError ||\n scope.m.einError ||\n scope.m.bnError ||\n scope.m.sinError ||\n scope.m.foreignTaxIdError ||\n scope.m.taxpayerIdError) {\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tfunction validateName() {\n\t\t\tif (scope.m.name === null || scope.m.name === '') {\n\t\t\t\tscope.m.nameError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.nameError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateBeneficialOwner() {\n\t\t\tif (scope.m.beneficialOwnerType && scope.m.beneficialOwnerType !== '--') {\n\t\t\t\tscope.m.beneficialOwnerError = '';\n\t\t\t} else {\n\t\t\t\tscope.m.beneficialOwnerError = 'Please select an option';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateStreetAddress() {\n\t\t\tif (!scope.m.streetAddress) {\n\t\t\t\tscope.m.streetAddressError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.streetAddressError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateCityAddress() {\n\t\t\tif (scope.m.cityAddress === null || scope.m.cityAddress === '') {\n\t\t\t\tscope.m.cityAddressError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.cityAddressError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateStateAddress() {\n\t\t\tif (scope.m.stateAddress === '--') {\n\t\t\t\tscope.m.stateAddressError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.stateAddressError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validatePostalCodeAddress() {\n\t\t\tif (!validationService.isValidCanadianPostalCode(scope.m.postalCodeAddress)) {\n\t\t\t\tscope.m.postalCodeAddressError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.postalCodeAddressError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateMailingStreet() {\n\t\t\tif (!scope.m.mailingStreet && !scope.m.mailingSameAsPermanent) {\n\t\t\t\tscope.m.mailingStreetError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.mailingStreetError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateMailingCity() {\n\t\t\tif (!scope.m.mailingCity && !scope.m.mailingSameAsPermanent) {\n\t\t\t\tscope.m.mailingCityError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.mailingCityError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateMailingState() {\n\t\t\tif (!scope.m.mailingState && !scope.m.mailingSameAsPermanent) {\n\t\t\t\tscope.m.mailingStateError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.mailingStateError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateMailingPostalCode() {\n\t\t\tvar isValidZip = /^[ABCEGHJKLMNPRSTVXY][0-9][ABCEGHJKLMNPRSTVWXYZ] ?[0-9][ABCEGHJKLMNPRSTVWXYZ][0-9]$/i\n\t\t\t\t.test(scope.m.mailingPostalCode);\n\n\t\t\tif (!isValidZip && !scope.m.mailingSameAsPermanent) {\n\t\t\t\tscope.m.mailingPostalCodeError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.mailingPostalCodeError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateSsn() {\n\t\t\tif (scope.m.ssn && scope.m.ssn.toString().length !== 9) {\n\t\t\t\tscope.m.ssnError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.ssnError = '';\n\t\t\t}\n\n\t\t\tvalidateTaxpayerId();\n\t\t}\n\n\t\tfunction validateEin() {\n\t\t\tif (scope.m.ein && scope.m.ein.toString().length !== 9) {\n\t\t\t\tscope.m.einError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.einError = '';\n\t\t\t}\n\n\t\t\tvalidateTaxpayerId();\n\t\t}\n\n\t\tfunction validateTaxpayerId() {\n\n\t\t\tif (scope.m.ein && scope.m.ssn) {\n\t\t\t\tscope.m.taxpayerIdError = 'Only one TIN allowed';\n\t\t\t} else {\n\t\t\t\tscope.m.taxpayerIdError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateBn() {\n\t\t\tscope.m.bnError = '';\n\t\t\tvalidateForeignTaxId();\n\t\t}\n\n\t\tfunction validateSin() {\n\t\t\tif (scope.m.sin && scope.m.sin.toString().length !== 9) {\n\t\t\t\tscope.m.sinError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.sinError = '';\n\t\t\t}\n \n\t\t\tvalidateForeignTaxId();\n\t\t}\n\n\t\tfunction validateForeignTaxId() {\n\t\t\tif (scope.m.bn && scope.m.sin)\n\t\t\t\tscope.m.foreignTaxIdError = 'Only one Foreign Tax ID allowed';\n\t\t\telse if (!scope.m.bn && !scope.m.sin)\n\t\t\t\tscope.m.foreignTaxIdError = 'Valid input is required';\n\t\t\telse\n\t\t\t\tscope.m.foreignTaxIdError = '';\n\t\t}\n\n\t\tfunction mailingSameAsPermanentChange() {\n\t\t\tif (!scope.m.mailingSameAsPermanent) {\n\n\t\t\t\tscope.m.mailingCity = '';\n\t\t\t\tscope.m.mailingCountry = '';\n\t\t\t\tscope.m.mailingPostalCode = '';\n\t\t\t\tscope.m.mailingState = '';\n\t\t\t\tscope.m.mailingStreet = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction mailingStateChange() {\n\t\t\tif (scope.m.mailingState)\n\t\t\t\tscope.m.mailingCountry = 'Canada';\n\t\t\telse\n\t\t\t\tscope.m.mailingCountry = '';\n\t\t}\n\n\t\tfunction goToTab(tab) {\n\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_SET_PENDING_TAB, tab);\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_START_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tnavigate);\n\t\t}\n\n\t\tfunction setPendingTab(tab) {\n\t\t\tscope.tab = tab;\n\t\t}\n\n\t\tfunction navigate() {\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_FINISH_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tscope.tab);\n\t\t}\n\n\t\tfunction onForceGo() {\n\t\t\tif (typeof (scope.pendingCallback) === 'function')\n\t\t\t\tscope.pendingCallback();\n\t\t}\n\n\t\tfunction setSectionMessage(show) {\n\t\t\tscope.m.showSectionMessage = show;\n\t\t\tif (show) {\n\t\t\t\t$timeout(function () {\n\t\t\t\t\t$('.carrier-profile-wrapper')\n\t\t\t\t\t\t.animate({\n\t\t\t\t\t\t\tscrollTop: $('#error-summary').offset().top\n\t\t\t\t\t\t},\n\t\t\t\t\t\t200);\n\t\t\t\t},\n\t\t\t\t10);\n\t\t\t}\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierProfileTaxesW9', cobCarrierProfileTaxesW9);\n\n\tcobCarrierProfileTaxesW9.$inject = [\n\t\t'sessionService', 'subjectObserverMessagesService', 'observerService',\n\t\t'carrierRegistrationService', '$timeout', '$location', '$stateParams',\n\t\t'SSN_PLACEHOLDER', 'EIN_PLACEHOLDER'\n\t];\n\n\tvar sessionService,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tcarrierRegistrationService,\n\t\t$timeout,\n\t\t$location,\n\t\t$stateParams,\n\t\tssnPlaceholder,\n\t\teinPlaceholder;\n\tvar subjectMessages, observerMessages;\n\n\tfunction cobCarrierProfileTaxesW9(_sessionService_,\n\t\t_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierRegistrationService_,\n\t\t_$timeout_,\n\t\t_$location_,\n\t\t_$stateParams_,\n\t\tSSN_PLACEHOLDER,\n\t\tEIN_PLACEHOLDER) {\n\t\tsessionService = _sessionService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierRegistrationService = _carrierRegistrationService_;\n\t\t$timeout = _$timeout_;\n\t\t$location = _$location_;\n\t\t$stateParams = _$stateParams_;\n\t\tssnPlaceholder = SSN_PLACEHOLDER;\n\t\teinPlaceholder = EIN_PLACEHOLDER;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/carrierProfileTaxesW9.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.ssnPlaceholder = ssnPlaceholder;\n\t\t\tscope.einPlaceholder = einPlaceholder;\n\n\t\t\tscope.carrierId = $stateParams.carrierId;\n\t\t\tscope.m = {\n\t\t\t\tisBroker: sessionService.isBroker(),\n\t\t\t\tisAdmin: sessionService.isAuthorizedInternalAdmin(),\n\t\t\t\tloaded: false,\n\t\t\t\tisDirty: false,\n\t\t\t\tshowSectionMessage: false,\n\t\t\t\texemptionType: 0\n\t\t\t};\n\n\t\t\tscope.federalTypes = [\n\t\t\t\t{ key: '--', value: 'Select' },\n\t\t\t\t{ key: 'Individualsoleproprietor', value: 'Individual/Sole Proprietor or Single-Member LLC' },\n\t\t\t\t{ key: 'CCorporation', value: 'C Corporation' },\n\t\t\t\t{ key: 'SCorporation', value: 'S Corporation' },\n\t\t\t\t{ key: 'Partnership', value: 'Partnership' },\n\t\t\t\t{ key: 'Trustestate', value: 'Trust/Estate' },\n\t\t\t\t{ key: 'LLC_CCorporation', value: 'LLC taxed as C Corp' },\n\t\t\t\t{ key: 'LLC_SCorporation', value: 'LLC taxed as S Corp' },\n\t\t\t\t{ key: 'LLC_Partnership', value: 'LLC taxed as Partnership' },\n\t\t\t\t{ key: 'Other', value: 'Other' }\n\t\t\t];\n\n\t\t\tscope.exemptionTypes = [\n\t\t\t\t{ key: 0, value: '--' },\n\t\t\t\t{ key: 1, value: '1' },\n\t\t\t\t{ key: 2, value: '2' },\n\t\t\t\t{ key: 3, value: '3' },\n\t\t\t\t{ key: 4, value: '4' },\n\t\t\t\t{ key: 5, value: '5' },\n\t\t\t\t{ key: 6, value: '6' },\n\t\t\t\t{ key: 7, value: '7' },\n\t\t\t\t{ key: 8, value: '8' },\n\t\t\t\t{ key: 9, value: '9' },\n\t\t\t\t{ key: 10, value: '10' },\n\t\t\t\t{ key: 11, value: '11' },\n\t\t\t\t{ key: 12, value: '12' },\n\t\t\t\t{ key: 13, value: '13' }\n\t\t\t];\n\n\t\t\tscope.reportCodes = {\n\t\t\t\t'--': '--',\n\t\t\t\t'A': 'A',\n\t\t\t\t'B': 'B',\n\t\t\t\t'C': 'C',\n\t\t\t\t'D': 'D',\n\t\t\t\t'E': 'E',\n\t\t\t\t'F': 'F',\n\t\t\t\t'G': 'G',\n\t\t\t\t'H': 'H',\n\t\t\t\t'I': 'I',\n\t\t\t\t'J': 'J',\n\t\t\t\t'K': 'K',\n\t\t\t\t'L': 'L',\n\t\t\t\t'M': 'M'\n\t\t\t};\n\n\t\t\tscope.stateList = [\n\t\t\t\t{ key: '--', value: '--', country: 'USA' },\n\t\t\t\t{ key: 'AL', value: 'AL', country: 'USA' },\n\t\t\t\t{ key: 'AK', value: 'AK', country: 'USA' },\n\t\t\t\t{ key: 'AS', value: 'AS', country: 'USA' },\n\t\t\t\t{ key: 'AZ', value: 'AZ', country: 'USA' },\n\t\t\t\t{ key: 'AR', value: 'AR', country: 'USA' },\n\t\t\t\t{ key: 'CA', value: 'CA', country: 'USA' },\n\t\t\t\t{ key: 'CO', value: 'CO', country: 'USA' },\n\t\t\t\t{ key: 'CT', value: 'CT', country: 'USA' },\n\t\t\t\t{ key: 'DE', value: 'DE', country: 'USA' },\n\t\t\t\t{ key: 'DC', value: 'DC', country: 'USA' },\n\t\t\t\t{ key: 'FL', value: 'FL', country: 'USA' },\n\t\t\t\t{ key: 'GA', value: 'GA', country: 'USA' },\n\t\t\t\t{ key: 'GU', value: 'GU', country: 'USA' },\n\t\t\t\t{ key: 'HI', value: 'HI', country: 'USA' },\n\t\t\t\t{ key: 'ID', value: 'ID', country: 'USA' },\n\t\t\t\t{ key: 'IL', value: 'IL', country: 'USA' },\n\t\t\t\t{ key: 'IN', value: 'IN', country: 'USA' },\n\t\t\t\t{ key: 'IA', value: 'IA', country: 'USA' },\n\t\t\t\t{ key: 'KS', value: 'KS', country: 'USA' },\n\t\t\t\t{ key: 'KY', value: 'KY', country: 'USA' },\n\t\t\t\t{ key: 'LA', value: 'LA', country: 'USA' },\n\t\t\t\t{ key: 'ME', value: 'ME', country: 'USA' },\n\t\t\t\t{ key: 'MD', value: 'MD', country: 'USA' },\n\t\t\t\t{ key: 'MA', value: 'MA', country: 'USA' },\n\t\t\t\t{ key: 'MI', value: 'MI', country: 'USA' },\n\t\t\t\t{ key: 'MN', value: 'MN', country: 'USA' },\n\t\t\t\t{ key: 'MS', value: 'MS', country: 'USA' },\n\t\t\t\t{ key: 'MO', value: 'MO', country: 'USA' },\n\t\t\t\t{ key: 'MT', value: 'MT', country: 'USA' },\n\t\t\t\t{ key: 'NE', value: 'NE', country: 'USA' },\n\t\t\t\t{ key: 'NV', value: 'NV', country: 'USA' },\n\t\t\t\t{ key: 'NH', value: 'NH', country: 'USA' },\n\t\t\t\t{ key: 'NJ', value: 'NJ', country: 'USA' },\n\t\t\t\t{ key: 'NM', value: 'NM', country: 'USA' },\n\t\t\t\t{ key: 'NY', value: 'NY', country: 'USA' },\n\t\t\t\t{ key: 'NC', value: 'NC', country: 'USA' },\n\t\t\t\t{ key: 'ND', value: 'ND', country: 'USA' },\n\t\t\t\t{ key: 'OH', value: 'OH', country: 'USA' },\n\t\t\t\t{ key: 'OK', value: 'OK', country: 'USA' },\n\t\t\t\t{ key: 'OR', value: 'OR', country: 'USA' },\n\t\t\t\t{ key: 'PA', value: 'PA', country: 'USA' },\n\t\t\t\t{ key: 'PR', value: 'PR', country: 'USA' },\n\t\t\t\t{ key: 'RI', value: 'RI', country: 'USA' },\n\t\t\t\t{ key: 'SC', value: 'SC', country: 'USA' },\n\t\t\t\t{ key: 'SD', value: 'SD', country: 'USA' },\n\t\t\t\t{ key: 'TN', value: 'TN', country: 'USA' },\n\t\t\t\t{ key: 'TX', value: 'TX', country: 'USA' },\n\t\t\t\t{ key: 'UT', value: 'UT', country: 'USA' },\n\t\t\t\t{ key: 'VT', value: 'VT', country: 'USA' },\n\t\t\t\t{ key: 'VA', value: 'VA', country: 'USA' },\n\t\t\t\t{ key: 'VI', value: 'VI', country: 'USA' },\n\t\t\t\t{ key: 'WA', value: 'WA', country: 'USA' },\n\t\t\t\t{ key: 'WV', value: 'WV', country: 'USA' },\n\t\t\t\t{ key: 'WI', value: 'WI', country: 'USA' },\n\t\t\t\t{ key: 'WY', value: 'WY', country: 'USA' }\n\t\t\t];\n\n\t\t\tscope.validateName = validateName;\n\t\t\tscope.validateTaxClassification = validateTaxClassification;\n\t\t\tscope.validateStreetAddress = validateStreetAddress;\n\t\t\tscope.validateCityAddress = validateCityAddress;\n\t\t\tscope.validateStateAddress = validateStateAddress;\n\t\t\tscope.validatePostalCodeAddress = validatePostalCodeAddress;\n\t\t\tscope.validateFederalTypeOther = validateFederalTypeOther;\n\t\t\tscope.textFieldKeyDown = textFieldKeyDown;\n\t\t\tscope.validateTin = validateTin;\n\t\t\tscope.goToTab = goToTab;\n\t\t\tscope.onForceGo = onForceGo;\n\t\t\tscope.setIsDirty = setIsDirty;\n\t\t\tscope.parseInt = parseInt;\n\n\t\t\tregisterObserverHandlers();\n\t\t}\n\n\t\tfunction loadData(data) {\n\n\t\t\tscope.m.loaded = true;\n\t\t\tscope.m.name = data.name;\n\t\t\tscope.m.businessName = data.businessName;\n\t\t\tscope.m.streetAddress = data.streetAddress;\n\t\t\tscope.m.cityAddress = data.cityAddress;\n\t\t\tscope.m.postalCodeAddress = data.postalCodeAddress;\n\t\t\tscope.m.stateAddress = data.stateAddress;\n\t\t\tscope.m.federalType = data.federalType;\n\t\t\tscope.m.federalTypeOther = data.federalTypeOther;\n\t\t\tscope.m.reportCode = data.reportCode;\n\t\t\tscope.m.eid = data.eid;\n\t\t\tscope.m.ssn = data.ssn;\n \n\t\t\tvar navState = sessionService.getCarrierNavState();\n\t\t\tif (!scope.m.eid && !scope.m.ssn) {\n\t\t\t\tif (navState && navState.taxInfoComplete) {\n\t\t\t\t\tscope.m.eid = '*********';\n\t\t\t\t\tscope.m.ssn = '*********';\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!data.exemptionType) {\n\t\t\t\tscope.m.exemptionType = 0;\n\t\t\t} else {\n\t\t\t\tscope.m.exemptionType = data.exemptionType;\n\t\t\t}\n\n\t\t\tupdateTaxStatus(data.taxStatus);\n\t\t}\n\n\t\tfunction updateTaxStatus(taxStatus) {\n\t\t\tvar taxStatusDic = {\n\t\t\t\t'Valid': 'valid',\n\t\t\t\t'Pending': 'awaiting validation'\n\t\t\t};\n\n\t\t\tif(taxStatusDic[taxStatus]) {\n\t\t\t\tscope.m.taxStatusText = taxStatusDic[taxStatus];\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tscope.m.taxStatusText = 'invalid';\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_START_CHANGE_CARRIER_PROFILE_VIEW, handler: saveData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CARRIER_PROFILE_W9_LOADED, handler: loadData },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SET_PENDING_TAB, handler: setPendingTab }\n\t\t\t\t]);\n\n\t\t\tscope.$on('$destroy',\n\t\t\t\tfunction() {\n\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t});\n\n\t\t\tscope.$on('$locationChangeStart',\n\t\t\t\tfunction(event) {\n\t\t\t\t\tif (scope.m.isDirty) {\n\t\t\t\t\t\tif (!scope.ux_requirement_hack_for_scrolling) {\n\t\t\t\t\t\t\tif (!\n\t\t\t\t\t\t\tconfirm('You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page. Are you sure you want to leave the page?')) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tscope.ux_requirement_hack_for_scrolling = false;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction setIsDirty() {\n\t\t\tscope.m.isDirty = true;\n\t\t\twindow.onbeforeunload = function() {\n\t\t\t\treturn 'You have unsaved data. If you leave this page any changes will be lost. Changes are saved using the Save buttons at the bottom of the page.';\n\t\t\t};\n\t\t}\n\n\t\tfunction saveData(callback) {\n\t\t\tif (!scope.m.loaded)\n\t\t\t\treturn;\n\t\t\tif (scope.m.isDirty) {\n\t\t\t\tif (formIsValid()) {\n\t\t\t\t\tvar federalTaxType;\n\t\t\t\t\tvar tin;\n\t\t\t\t\tif (scope.m.ssn) {\n\t\t\t\t\t\tfederalTaxType = 'SSN';\n\t\t\t\t\t\ttin = scope.m.ssn;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfederalTaxType = 'EID';\n\t\t\t\t\t\ttin = scope.m.eid;\n\t\t\t\t\t}\n\n\t\t\t\t\tcarrierRegistrationService.updateW9TaxInformation(scope.m.name,\n\t\t\t\t\t\tscope.m.businessName,\n\t\t\t\t\t\tscope.m.federalType,\n\t\t\t\t\t\tscope.m.federalTypeOther,\n\t\t\t\t\t\tscope.m.exemptionType,\n\t\t\t\t\t\tscope.m.reportCode,\n\t\t\t\t\t\tscope.m.streetAddress,\n\t\t\t\t\t\tscope.m.cityAddress,\n\t\t\t\t\t\tscope.m.stateAddress,\n\t\t\t\t\t\tscope.m.postalCodeAddress,\n\t\t\t\t\t\ttin,\n\t\t\t\t\t\tfederalTaxType,\n\t\t\t\t\t\tscope.carrierId)\n\t\t\t\t\t\t.then(function() {\n\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CARRIER_PROFILE_VIEW_STATUS,\n\t\t\t\t\t\t\t\t\t'taxes');\n\t\t\t\t\t\t\tscope.m.isDirty = false;\n\t\t\t\t\t\t\twindow.onbeforeunload = undefined;\n\t\t\t\t\t\t\tif (typeof (callback) === 'function')\n\t\t\t\t\t\t\t\tcallback();\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\t\tsubjectMessages\n\t\t\t\t\t\t\t\t\t\t\t.COB_SUBJECT_CARRIER_PROFILE_TAX_RELOAD);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(function(e) {\n\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t});\n\n\t\t\t\t} else {\n\t\t\t\t\t// invalid form\n\t\t\t\t\tscope.m.showSectionMessage = true;\n\t\t\t\t\tscope.pendingCallback = callback;\n\n\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\tscope.ux_requirement_hack_for_scrolling = true;\n\t\t\t\t\t\t$('.profile-tax')\n\t\t\t\t\t\t\t.animate({\n\t\t\t\t\t\t\t\tscrollTop: $('#error-summary').offset().top\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t200);\n\t\t\t\t\t\tsetIsDirty();\n\t\t\t\t\t},\n\t\t\t\t\t1);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tscope.m.showSectionMessage = false;\n\t\t\t\tif (typeof (callback) === 'function')\n\t\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\n\t\tfunction validateName() {\n\t\t\tif (!scope.m.name) {\n\t\t\t\tscope.m.nameError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.nameError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateTaxClassification() {\n\t\t\tif (scope.m.federalType === '--') {\n\t\t\t\tvalidateFederalTypeOther();\n\t\t\t\tscope.m.federalTypeError = 'Please select an option';\n\t\t\t} else {\n\t\t\t\tif (scope.m.federalType !== 'Other') {\n\t\t\t\t\tvalidateFederalTypeOther();\n\t\t\t\t\tscope.m.federalTypeOther = '';\n\t\t\t\t}\n\t\t\t\tscope.m.federalTypeError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateStreetAddress() {\n\t\t\tif (!scope.m.streetAddress) {\n\t\t\t\tscope.m.streetAddressError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.streetAddressError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateCityAddress() {\n\t\t\tif (!scope.m.cityAddress) {\n\t\t\t\tscope.m.cityAddressError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.cityAddressError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateStateAddress() {\n\t\t\tif (scope.m.stateAddress === '--') {\n\t\t\t\tscope.m.stateAddressError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.stateAddressError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validatePostalCodeAddress() {\n\t\t\tvar isValidZip = /(^\\d{5}$)|(^\\d{5}-\\d{4}$)/.test(scope.m.postalCodeAddress);\n\n\t\t\tif (!isValidZip) {\n\t\t\t\tscope.m.postalCodeAddressError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.postalCodeAddressError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateSsn() {\n\t\t\tif (scope.m.ssn) {\n\t\t\t\tif (scope.m.ssn.toString().length !== 9) {\n\t\t\t\t\tscope.m.ssnError = 'Valid input is required';\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tscope.m.ssnError = '';\n\t\t}\n\n\t\tfunction validateEid() {\n\t\t\tif (scope.m.eid) {\n\t\t\t\tif (scope.m.eid.toString().length !== 9) {\n\t\t\t\t\tscope.m.eidError = 'Valid input is required';\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tscope.m.eidError = '';\n\t\t}\n\n\t\tfunction validateFederalTypeOther() {\n\t\t\tif (scope.m.federalType === 'Other' && !scope.m.federalTypeOther) {\n\t\t\t\tscope.m.federalTypeOtherError = 'Valid input is required';\n\t\t\t} else {\n\t\t\t\tscope.m.federalTypeOtherError = '';\n\t\t\t}\n\t\t}\n\n\t\tfunction validateTin() {\n\t\t\tif (scope.m.eid && scope.m.ssn) {\n\t\t\t\tscope.m.tinError = 'Only one TIN allowed';\n\t\t\t\tscope.m.eidError = '';\n\t\t\t\tscope.m.ssnError = '';\n\t\t\t} else if (!scope.m.eid && !scope.m.ssn) {\n\t\t\t\tscope.m.tinError = 'Valid input is required';\n\t\t\t\tscope.m.eidError = '';\n\t\t\t\tscope.m.ssnError = '';\n\t\t\t} else {\n\t\t\t\tscope.m.tinError = '';\n\t\t\t\tvalidateEid();\n\t\t\t\tvalidateSsn();\n\t\t\t}\n\t\t}\n\n\t\tfunction formIsValid() {\n\t\t\tvalidateName();\n\t\t\tvalidateTaxClassification();\n\t\t\tvalidateStreetAddress();\n\t\t\tvalidateStateAddress();\n\t\t\tvalidatePostalCodeAddress();\n\t\t\tvalidateTin();\n\t\t\tvalidateFederalTypeOther();\n\n\t\t\tif (!scope.m.nameError &&\n !scope.m.federalTypeError &&\n !scope.m.streetAddressError &&\n !scope.m.stateAddressError &&\n !scope.m.postalCodeAddressError &&\n !scope.m.ssnError &&\n !scope.m.eidError &&\n !scope.m.federalTypeOtherError &&\n !scope.m.tinError) {\n\n\t\t\t\tscope.m.showSectionMessage = false;\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tscope.m.showSectionMessage = true;\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction goToTab(tab) {\n\t\t\tobserverService.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_SET_PENDING_TAB, tab);\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_START_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tnavigate);\n\t\t}\n\n\t\tfunction setPendingTab(tab) {\n\t\t\tscope.tab = tab;\n\t\t}\n\n\t\tfunction navigate() {\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_FINISH_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tscope.tab);\n\t\t}\n\n\t\tfunction onForceGo() {\n\t\t\tif (typeof (scope.pendingCallback) === 'function')\n\t\t\t\tscope.pendingCallback();\n\t\t}\n\n\t\tfunction textFieldKeyDown(event) {\n\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\tvar isShift = !!event.shiftKey;\n\n\t\t\tif (isShift) {\n\t\t\t\tswitch (charCode) {\n\t\t\t\tcase 220: // | character\n\t\t\t\tcase 222: // \"\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierReadyToSignModal', cobCarrierReadyToSignModal);\n\n\tcobCarrierReadyToSignModal.$inject = [\n\t\t'sessionService', '$state', 'subjectObserverMessagesService', 'observerService'\n\t];\n\n\tvar sessionService,\n\t\t$location,\n\t\t$state,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService,\n\t\tsubjectMessages,\n\t\tobserverMessages;\n\n\tfunction\n\tcobCarrierReadyToSignModal(_sessionService_, _$state_, _subjectObserverMessagesService_, _observerService_) {\n\t\tsessionService = _sessionService_;\n\t\t$state = _$state_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/readyToSignModal.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.m = {\n\t\t\t\thidden: true\n\t\t\t};\n\t\t\tvar broker = sessionService.getBrokerBranding();\n\t\t\tif (broker) {\n\t\t\t\tscope.m.logoUrl = sessionService.getBrokerLogoURL();\n\t\t\t\tscope.m.welcomeMessage = broker.welcomeMessage;\n\t\t\t\tscope.m.brokerName = broker.brokerName;\n\t\t\t}\n\n\t\t\tscope.hide = hide;\n\t\t\tscope.navTo = navTo;\n\t\t\tregisterObserverHandlers();\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_CARRIER_PROFILE_READY_TO_SIGN, handler: show }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction show() {\n\t\t\tscope.m.hidden = false;\n\t\t}\n\n\t\tfunction hide() {\n\t\t\tscope.m.hidden = true;\n\t\t}\n\n\t\tfunction navTo(view) {\n\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\tsubjectMessages.COB_SUBJECT_FINISH_CHANGE_CARRIER_PROFILE_VIEW,\n\t\t\t\tview);\n\t\t\thide();\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.carrier')\n\t\t.directive('cobCarrierWelcomeModal', cobCarrierWelcomeModal);\n\n\tcobCarrierWelcomeModal.$inject = ['sessionService', '$state', 'subjectObserverMessagesService', 'observerService'];\n\n\tvar sessionService,\n\t\t$state,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tsubjectObserverMessagesService,\n\t\tobserverService;\n\n\tfunction cobCarrierWelcomeModal(_sessionService_, _$state_, _subjectObserverMessagesService_, _observerService_) {\n\t\tsessionService = _sessionService_;\n\t\t$state = _$state_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/carrier/profile/welcomeModal.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\t\t\tscope.m = {};\n\t\t\tvar broker = sessionService.getBrokerBranding();\n\t\t\tif (broker) {\n\t\t\t\tscope.m.logoUrl = sessionService.getBrokerLogoURL();\n\t\t\t\tscope.m.welcomeMessage = broker.welcomeMessage;\n\t\t\t\tscope.m.brokerName = broker.brokerName;\n\t\t\t}\n\n\t\t\tscope.hide = hide;\n\t\t\tdocument.title = 'Profile Steps';\n\t\t}\n\n\t\tfunction hide() {\n\t\t\tdocument.title = 'Profile-Company';\n\t\t\t$state.go('carrierProfile.company');\n\t\t}\n\t}\n\n})();\n","'use strict';\n\nangular.module('onboarding.broker',\n\t[\n\t]);\n","angular.module('onboarding.broker.carriers',\n\t[\n\t\t'naif.base64'\n\t]);\n","'use strict';\n\nangular.module('onboarding.broker.contracts',\n\t[\n\t]);\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.broker.carriers')\n\t\t.directive('cobCarrierList', cobCarrierList);\n\n\tcobCarrierList.$inject = [\n\t\t'subjectObserverMessagesService', 'observerService', 'carrierService','sessionService', '$log', '$timeout',\n\t\t'$state', '$stateParams'\n\t];\n\n\tvar subjectObserverMessagesService,\n\t\tobserverService,\n\t\tcarrierService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tsessionService,\n\t\trowCount,\n\t\treloadAjax,\n\t\t$log,\n\t\t$timeout,\n\t\t$state,\n\t\t$stateParams;\n\n\tfunction cobCarrierList(_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_carrierService_,\n\t\t_sessionService_,\n\t\t_$log_,\n\t\t_$timeout_,\n\t\t_$state_,\n\t\t_$stateParams_) {\n\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcarrierService = _carrierService_;\n\t\tsessionService = _sessionService_;\n\t\t$state = _$state_;\n\t\t$stateParams = _$stateParams_;\n\t\trowCount = 100;\n\n\t\treloadAjax = false;\n\t\t$log = _$log_;\n\t\t$timeout = _$timeout_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/broker/carriers/carrier-list.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope, elem) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tscope.$stateParams = $stateParams;\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.m = {\n\t\t\t\terrors: []\n\t\t\t};\n\n\t\t\tscope.carriers = [];\n\t\t\tscope.sortType = 'lastVisited';\n\t\t\tscope.isSortDescending = true;\n\t\t\tscope.showConfirmation = false;\n\t\t\tscope.emailAddress = '';\n\t\t\tscope.ajaxIsRunning = false;\n\t\t\tscope.initialLoad = true;\n\t\t\tscope.showAllDocsList = false;\n\n\t\t\tscope.lastClicked = -1;\n\t\t\tscope.checkBoxClick = checkBoxClick;\n\n\t\t\tscope.associationEnumToString = associationEnumToString;\n\t\t\tscope.selectedCarriersCount = selectedCarriersCount;\n\t\t\tscope.saveNote = saveNote;\n\t\t\tscope.dismissErrors = dismissErrors;\n\t\t\tscope.carrierNoteHelper = carrierNoteHelper;\n\t\t\tscope.exportCarriers = exportCarriers;\n\t\t\tscope.exportCarriersDisable = exportCarriersDisable;\n\t\t\tscope.isWriteEnabledUser = sessionService.isAuthorizedBrokerWrite();\n\t\t\tscope.exportSelectedCarriersHelper = exportSelectedCarriersHelper;\n\n\t\t\tscope.closeModalWindow = closeModalWindow;\n\t\t\tscope.toggleDocsModal = toggleDocsModal;\n\t\t\tscope.getCarriers = getCarriers;\n\t\t\tscope.loadMore = loadMore;\n\t\t\tscope.setFilter = setFilter;\n\t\t\tscope.expandCarrier = expandCarrier;\n\t\t\tscope.changeStatus = changeStatus;\n\t\t\tscope.changeSort = changeSort;\n\t\t\tscope.getSortCssClass = getSortCssClass;\n\t\t\tscope.searchTypeChange = searchTypeChange;\n\t\t\tscope.searchInputChange = searchInputChange;\n\t\t\tscope.validateSearchInput = validateSearchInput;\n\t\t\tscope.searchClick = searchClick;\n\t\t\tscope.searchInputKeyPress = searchInputKeyPress;\n\t\t\tscope.notesClicked = notesClicked;\n\t\t\tscope.searchValue = '';\n\t\t\tresetOpenedCarrierIndex();\n\t\t\tresetCarrierProfileSectionStatusData();\n\t\t\tscope.getContractsInfo = getContractsInfo;\n\n\t\t\tscope.currentRow = 0;\n\t\t\tscope.totalRows = 0;\n\t\t\tscope.statusChoices = [\n\t\t\t\t{ id: -1, name: 'Export Selected to CSV' },\n\t\t\t\t//{ id: -2, name: 'Export Selected to XML' },\n\t\t\t\t{ id: 2, name: 'Mark as Incomplete' },\n\t\t\t\t{ id: 0, name: 'Mark as Complete' },\n\t\t\t\t{ id: 1, name: 'Hide Selected' },\n\t\t\t\t{ id: 5, name: 'Show Selected' }\n\t\t\t];\n\n\t\t\tscope.statuses = [\n\t\t\t\t{ id: 0, name: 'Complete' },\n\t\t\t\t{ id: 2, name: 'Incomplete' },\n\t\t\t\t{ id: 1, name: 'Hidden' }\n\t\t\t];\n\n\t\t\tregisterEventHandlers();\n\t\t\tdocument.title = 'Carrier List';\n\t\t\tscope.searchType = 'company';\n\n\t\t\tsearchTypeChange();\n\t\t\t// setFilter('complete');\n\t\t}\n\n\t\tfunction registerEventHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SCROLL_MESSAGE, handler: loadMore }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction resetOpenedCarrierIndex() {\n\t\t\tscope.openedCarrierIndex = -1;\n\t\t}\n\n\t\tfunction dismissErrors() {\n\t\t\tscope.m.errors = [];\n\t\t}\n\n\t\tfunction carrierNoteHelper() {\n\t\t\tif (scope.carrier.notes === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (scope.carrier.notes.length > 20) {\n\t\t\t\treturn scope.carrier.notes.substr(0, 20) + '...';\n\t\t\t}\n\n\t\t\treturn scope.carrier.notes;\n\t\t}\n\n\t\tfunction changeStatus() {\n\t\t\tif (scope.selectedStatus !== null && scope.selectedStatus >= 0) {\n\n\t\t\t\tvar changedItems = [];\n\t\t\t\tangular.forEach(scope.carriers,\n\t\t\t\t\tfunction(carrier) {\n\t\t\t\t\t\tif (carrier.checked) {\n\n\t\t\t\t\t\t\tvar status = scope.selectedStatus;\n\t\t\t\t\t\t\tif (scope.selectedStatus === 5) {\n\t\t\t\t\t\t\t\tif (carrier.association === 1) {\n\t\t\t\t\t\t\t\t\tif (carrier.status === 'SIGNED') {\n\t\t\t\t\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tstatus = 2;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tstatus = carrier.association;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tstatus = scope.selectedStatus;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (carrier.association !== status) {\n\t\t\t\t\t\t\t\tvar item = {\n\t\t\t\t\t\t\t\t\tcarrierId: carrier.carrierId,\n\t\t\t\t\t\t\t\t\tstatus: associationEnumToString(status)\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tcarrier.association = status;\n\n\t\t\t\t\t\t\t\tchangedItems.push(item);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\tif (changedItems.length > 0) {\n\t\t\t\t\tcarrierService.updateCarrierStatus(changedItems)\n\t\t\t\t\t\t.catch(function(e) {\n\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tscope.selectedStatus = null;\n\t\t\t}\n\n\t\t\tif (scope.selectedStatus === -1) {\n\t\t\t\texportCarriers();\n\t\t\t}\n\n\t\t\tscope.selectedStatus = null;\n\t\t}\n\n\t\tfunction checkBoxClick(event, index) {\n\t\t\tif (scope.lastClicked > -1 && event.shiftKey) {\n\t\t\t\tangular.forEach(scope.carriers.slice(Math.min(scope.lastClicked, index),\n\t\t\t\t\tMath.max(scope.lastClicked, index) + 1),\n\t\t\t\tfunction(carrier) {\n\t\t\t\t\tcarrier.checked = scope.carriers[scope.lastClicked].checked;\n\t\t\t\t});\n\t\t\t\tdocument.getSelection().removeAllRanges();\n\t\t\t} else {\n\t\t\t\tscope.carriers[index].checked = !scope.carriers[index].checked;\n\t\t\t}\n\t\t\tscope.lastClicked = index;\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\tfunction exportAllCarriers() {\n\t\t\tscope.showConfirmation = true;\n\n\t\t\tcarrierService.exportAllCarriers(scope.selectedFilter)\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tscope.emailAddress = response.data.emailAddress;\n\t\t\t\t})\n\t\t\t\t.catch(function(e) {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t});\n\t\t}\n\n\t\tfunction exportSelectedCarriersHelper() {\n\t\t\tvar params = '';\n\n\t\t\tangular.forEach(scope.carriers,\n\t\t\t\tfunction (carrier) {\n\t\t\t\t\tif (carrier.checked) {\n\t\t\t\t\t\tif (params) {\n\t\t\t\t\t\t\tparams = params + ',';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparams = params + carrier.carrierId;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\tif ($stateParams.brokerId) {\n\t\t\t\tparams = params + '&brokerId=' + $stateParams.brokerId;\n\t\t\t}\n\n\t\t\treturn params;\n\t\t}\n\n\t\tfunction exportCarriers() {\n\t\t\texportAllCarriers();\n\t\t}\n\n\t\tfunction exportCarriersDisable() {\n\t\t\tif (scope.carriers.length === 0) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (selectedCarriersCount() === 0 && !scope.selectedFilter) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction changeSort(sortType) {\n\t\t\tscope.sortType = sortType;\n\t\t\tscope.isSortDescending = !scope.isSortDescending;\n\t\t\tscope.currentRow = 0;\n\t\t\tscope.totalRows = 0;\n\t\t\tscope.carriers = [];\n\n\t\t\tloadMore();\n\t\t}\n\n\t\tfunction getSortCssClass(sortType) {\n\t\t\tif (scope.sortType === sortType) {\n\t\t\t\treturn scope.isSortDescending ? 'sort-dsc' : 'sort-asc';\n\t\t\t}\n\t\t}\n\n\t\tfunction setFilter(filter) {\n\t\t\tscope.initialLoad = false;\n\t\t\tscope.selectedFilter = filter;\n\t\t\tscope.currentRow = 0;\n\t\t\tscope.totalRows = 0;\n\t\t\tscope.carriers = [];\n\t\t\tscope.searchType = 'company';\n\t\t\tresetOpenedCarrierIndex();\n\n\t\t\tsearchTypeChange();\n\t\t\tif (scope.ajaxIsRunning) {\n\t\t\t\treloadAjax = true;\n\t\t\t}\n\t\t\tgetCarriers();\n\t\t}\n\n\t\tfunction getCarriers() {\n\t\t\tif (scope.ajaxIsRunning) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Only execute if currentRow is less than total rows\n\t\t\tif (scope.currentRow === 0 || scope.currentRow < scope.totalRows) {\n\t\t\t\tscope.ajaxIsRunning = true;\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t\t},\n\t\t\t\t1);\n\n\t\t\t\tcarrierService.getCarriers(scope.selectedFilter,\n\t\t\t\t\tscope.currentRow,\n\t\t\t\t\trowCount,\n\t\t\t\t\tscope.sortType,\n\t\t\t\t\tscope.isSortDescending,\n\t\t\t\t\tscope.currentRow === 0)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tif (scope.currentRow === 0) {\n\t\t\t\t\t\t\tscope.totalRows = response.data.totalRowsAvailable;\n\t\t\t\t\t\t\tsetTimeout(function() { elem.find('.wrapper-table-flex')[0].scrollTop = 0; }, 1);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tscope.currentRow += rowCount;\n\t\t\t\t\t\tvar length = response.data.carriers.length;\n\t\t\t\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\t\t\t\tvar carrier = response.data.carriers[i];\n\t\t\t\t\t\t\tcarrier.selectedFilter = scope.selectedFilter;\n\t\t\t\t\t\t\tscope.carriers.push(carrier);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(function(e) {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t// alert('Unable to retrieve carriers');\n\t\t\t\t\t})\n\t\t\t\t\t.finally(function() {\n\t\t\t\t\t\tscope.ajaxIsRunning = false;\n\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t\tif (reloadAjax) {\n\t\t\t\t\t\t\treloadAjax = false;\n\t\t\t\t\t\t\tscope.currentRow = 0;\n\t\t\t\t\t\t\tscope.totalRows = 0;\n\t\t\t\t\t\t\tscope.carriers = [];\n\t\t\t\t\t\t\tsetTimeout(function() { getCarriers(); }, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tfunction associationEnumToString(association) {\n\t\t\tvar result = $.grep(scope.statuses,\n\t\t\t\tfunction(e) {\n\t\t\t\t\treturn e.id === association;\n\t\t\t\t});\n\n\t\t\tif (result.length > 0) {\n\t\t\t\treturn result[0].name;\n\t\t\t}\n\n\t\t\treturn 'Unknown';\n\t\t}\n\n\t\tfunction saveNote(carrier) {\n\t\t\tif (carrier.oldValue !== carrier.notes || carrier.oldValue !== undefined) {\n\t\t\t\tif (carrier.notes !== '' && carrier.notes !== null) {\n\t\t\t\t\tcarrierService.updateCarrierNote(carrier.carrierId, carrier.notes)\n\t\t\t\t\t\t.catch(function(res) {\n\t\t\t\t\t\t\tvar modelErrors = res.data.modelState;\n\t\t\t\t\t\t\tvar errors = [];\n\t\t\t\t\t\t\tfor (var key in modelErrors) {\n\t\t\t\t\t\t\t\tfor (var i = 0; i < modelErrors[key].length; i++) {\n\t\t\t\t\t\t\t\t\terrors.push(modelErrors[key][i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t.sendMessageToSubject(scope, subjectMessages.COB_SUBJECT_GENERIC_SERVER_ERROR, errors);\n\t\t\t\t\t\t\tscope.m.errors = errors;\n\t\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tif (carrier.oldValue !== '' && carrier.oldValue !== null) {\n\t\t\t\t\t\tcarrierService.deleteCarrierNote(carrier.carrierId)\n\t\t\t\t\t\t\t.catch(function(res) {\n\t\t\t\t\t\t\t\tvar modelErrors = res.data.modelState;\n\t\t\t\t\t\t\t\tvar errors = [];\n\t\t\t\t\t\t\t\tfor (var key in modelErrors) {\n\t\t\t\t\t\t\t\t\tfor (var i = 0; i < modelErrors[key].length; i++) {\n\t\t\t\t\t\t\t\t\t\terrors.push(modelErrors[key][i]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_GENERIC_SERVER_ERROR,\n\t\t\t\t\t\t\t\t\t\terrors);\n\t\t\t\t\t\t\t\tscope.m.errors = errors;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction loadMore() {\n\t\t\tif (scope.selectedFilter) {\n\t\t\t\tgetCarriers();\n\t\t\t} else {\n\t\t\t\tsearchCarriers();\n\t\t\t}\n\t\t}\n\n\t\tfunction closeModalWindow() {\n\t\t\tscope.showConfirmation = false;\n\t\t}\n\n\t\tfunction toggleDocsModal() {\n\t\t\tscope.showAllDocsList = !scope.showAllDocsList;\n\t\t}\n\n\t\tfunction expandCarrier(index) {\n\t\t\tif (scope.openedCarrierIndex >= 0) {\n\t\t\t\tscope.carriers[scope.openedCarrierIndex].isExpanded = false;\n\t\t\t\tif (index === scope.openedCarrierIndex) {\n\t\t\t\t\tresetOpenedCarrierIndex();\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tresetOpenedCarrierIndex();\n\t\t\t}\n\t\t\tvar currentCarrier = scope.carriers[index];\n\t\t\tcurrentCarrier.isExpanded = true;\n\t\t\tscope.openedCarrierIndex = index;\n\n\t\t\tif (currentCarrier.isExpanded) {\n\t\t\t\tcurrentCarrier.documents = [];\n\t\t\t\tresetCarrierProfileSectionStatusData();\n\t\t\t\tcarrierService.getCarrierPrimaryContact(currentCarrier.carrierId)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tcurrentCarrier.contactName = response.data.contactName;\n\t\t\t\t\t\tcurrentCarrier.contactRole = response.data.contactRole;\n\t\t\t\t\t\tcurrentCarrier.contactEmail = response.data.contactEmail;\n\t\t\t\t\t\tcurrentCarrier.contactPhone = response.data.contactPhone;\n\t\t\t\t\t\tcurrentCarrier.tinStatus = response.data.tinStatus;\n\t\t\t\t\t\tscope.carrierProfileSectionStatusData = createCarrierProfileSectionStatusData(response.data, response.data.signedContracts, currentCarrier.carrierId);\n\t\t\t\t\t\tcurrentCarrier.signedContracts = response.data.signedContracts;\n\t\t\t\t\t\tcurrentCarrier.documents = response.data.documents;\n\t\t\t\t\t})\n\t\t\t\t\t.catch(function(response) {\n\t\t\t\t\t\t$log(response);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction resetCarrierProfileSectionStatusData() {\n\t\t\tscope.carrierProfileSectionStatusData = {};\n\t\t}\n\n\t\tfunction createCarrierProfileSectionStatusData(data, signedContracts, carrierId) {\n\t\t\treturn {\n\t\t\t\tcarrierProfileSectionsStatus: {\n\t\t\t\t\tcompanyInfoComplete: data.companyInfoComplete,\n\t\t\t\t\tcontactsComplete: data.contactsComplete,\n\t\t\t\t\tequipmentInfoComplete: data.equipmentInfoComplete,\n\t\t\t\t\tlaneInfoComplete: data.laneInfoComplete,\n\t\t\t\t\ttaxInfoComplete: data.taxInfoComplete,\n\t\t\t\t\tdocumentsComplete: data.documentsComplete,\n\t\t\t\t\tinsuranceInfoComplete: data.insuranceInfoComplete,\n\t\t\t\t\tcontractsComplete: !!signedContracts\n\t\t\t\t},\n\t\t\t\tcarrierId: carrierId\n\t\t\t};\n\t\t}\n\n\t\tfunction getContractsInfo(carrier) {\n\t\t\tif (carrier && carrier.signedContracts) {\n\t\t\t\treturn carrier.signedContracts.signee + ', ' + carrier.signedContracts.title + ' (' + carrier.signedContracts.contracts.join(', ') + ')';\n\t\t\t}\n\t\t}\n\n\t\tfunction notesClicked($event, carrier) {\n\t\t\t$event.stopPropagation();\n\t\t\tif (!scope.isWriteEnabledUser) {\n\t\t\t\tcarrier.editingNotes = false;\n\t\t\t} else if (carrier.editingNotes !== true) {\n\t\t\t\tcarrier.oldValue = carrier.notes;\n\t\t\t\tcarrier.editingNotes = true;\n\t\t\t\tif (carrier.oldValue !== carrier.notes || carrier.oldValue !== undefined) {\n\t\t\t\t\tif (scope.oldValue !== carrier.notes) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcarrierService.deleteCarrierNote(carrier.carrierId)\n\t\t\t\t\t\t\t.catch(function(res) {\n\t\t\t\t\t\t\t\tvar modelErrors = res.data.modelState;\n\t\t\t\t\t\t\t\tvar errors = [];\n\t\t\t\t\t\t\t\tfor (var key in modelErrors) {\n\t\t\t\t\t\t\t\t\tfor (var i = 0; i < modelErrors[key].length; i++) {\n\t\t\t\t\t\t\t\t\t\terrors.push(modelErrors[key][i]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_GENERIC_SERVER_ERROR,\n\t\t\t\t\t\t\t\t\t\terrors);\n\t\t\t\t\t\t\t\tscope.m.errors = errors;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction searchTypeChange() {\n\t\t\tscope.searchValue = '';\n\t\t\tscope.searchValue2 = '';\n\t\t\tscope.searchInputError = '';\n\t\t\tswitch (scope.searchType) {\n\t\t\tcase 'company':\n\t\t\t\tscope.searchInputType = 'text';\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. Sample Company';\n\t\t\t\tbreak;\n\t\t\tcase 'dotNumber':\n\t\t\t\tscope.searchInputType = 'text';\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. 1234567';\n\t\t\t\tbreak;\n\t\t\tcase 'docketNumber':\n\t\t\t\tscope.searchInputType = 'text';\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. 123456';\n\t\t\t\tbreak;\n\t\t\tcase 'timeFrame':\n\t\t\t\tscope.searchInputType = 'text';\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. mm/dd/yy';\n\t\t\t\tbreak;\n\t\t\tcase 'intrastateNumber':\n\t\t\t\tscope.searchInputType = 'text';\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. 001122333A';\n\t\t\t\tbreak;\n\t\t\tcase 'scacCode':\n\t\t\t\tscope.searchInputType = 'text';\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. ABCD';\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfunction validateSearchInput() {\n\t\t\tvar errorText = 'Please input a valid search value';\n\t\t\tswitch (scope.searchType) {\n\t\t\tcase 'company':\n\t\t\t\tif (scope.searchValue.length > 155 || scope.searchValue.length === 0) {\n\t\t\t\t\tscope.searchInputError = errorText;\n\t\t\t\t} else {\n\t\t\t\t\tscope.searchInputError = '';\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'dotNumber':\n\t\t\t\tif (/^[0-9]{1,9}$/.test(scope.searchValue)) {\n\t\t\t\t\tscope.searchInputError = '';\n\t\t\t\t} else {\n\t\t\t\t\tscope.searchInputError = errorText;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'docketNumber':\n\t\t\t\tif (/^[0-9]{1,9}$/.test(scope.searchValue)) {\n\t\t\t\t\tscope.searchInputError = '';\n\t\t\t\t} else {\n\t\t\t\t\tscope.searchInputError = errorText;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'timeFrame':\n\t\t\t\tif (!scope.searchValue && scope.searchValue2) {\n\t\t\t\t\tscope.searchValue = scope.searchValue2;\n\t\t\t\t\tscope.searchValue2 = '';\n\t\t\t\t}\n\t\t\t\t// eslint-disable-next-line no-useless-escape\n\t\t\t\tif (/^(0[1-9]|1[012])[\\/](0[1-9]|[12][0-9]|3[01])[\\/]\\d\\d$/.test(scope.searchValue)) {\n\n\t\t\t\t\tif (scope.searchValue2) {\n\t\t\t\t\t\t// eslint-disable-next-line no-useless-escape\n\t\t\t\t\t\tif (/^(0[1-9]|1[012])[\\/](0[1-9]|[12][0-9]|3[01])[\\/]\\d\\d$/.test(scope.searchValue2)) {\n\t\t\t\t\t\t\tscope.searchInputError = '';\n\t\t\t\t\t\t\tvar searchValueParts = scope.searchValue.split('/');\n\t\t\t\t\t\t\tvar searchValue2Parts = scope.searchValue2.split('/');\n\n\t\t\t\t\t\t\tvar date1 = new Date(parseInt(searchValueParts[2]),\n\t\t\t\t\t\t\t\tparseInt(searchValueParts[0]) - 1,\n\t\t\t\t\t\t\t\tparseInt(searchValueParts[1]));\n\t\t\t\t\t\t\tvar date2 = new Date(parseInt(searchValue2Parts[2]),\n\t\t\t\t\t\t\t\tparseInt(searchValue2Parts[0]) - 1,\n\t\t\t\t\t\t\t\tparseInt(searchValue2Parts[1]));\n\t\t\t\t\t\t\tif (date1 > date2) {\n\t\t\t\t\t\t\t\tvar tempVal = scope.searchValue;\n\t\t\t\t\t\t\t\tscope.searchValue = scope.searchValue2;\n\t\t\t\t\t\t\t\tscope.searchValue2 = tempVal;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.searchInputError = errorText;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tscope.searchValue2 = scope.searchValue;\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\t\t\t\t\tscope.searchInputError = errorText;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'intrastateNumber':\n\t\t\t\tif (/^[a-zA-Z0-9-]{1,15}$/.test(scope.searchValue)) {\n\t\t\t\t\tscope.searchInputError = '';\n\t\t\t\t} else {\n\t\t\t\t\tscope.searchInputError = errorText;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'scacCode':\n\t\t\t\tif (/^[a-zA-Z]{1,4}$/.test(scope.searchValue)) {\n\t\t\t\t\tscope.searchInputError = '';\n\t\t\t\t} else {\n\t\t\t\t\tscope.searchInputError = errorText;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn !scope.searchInputError;\n\t\t}\n\n\t\tfunction selectedCarriersCount() {\n\t\t\tvar count = 0;\n\t\t\tangular.forEach(scope.carriers,\n\t\t\t\tfunction(carrier) {\n\t\t\t\t\tcount += carrier.checked ? 1 : 0;\n\t\t\t\t});\n\n\t\t\treturn count;\n\t\t}\n\n\t\tfunction searchInputKeyPress(event) {\n\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\tif (charCode === 13) { // on Enter\n\t\t\t\tsearchClick();\n\t\t\t\tevent.preventDefault();\n\t\t\t\t\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tswitch (charCode) {\n\t\t\tcase 8: //backspace\n\t\t\tcase 35: //end\n\t\t\tcase 36: //home\n\t\t\tcase 37: //left arrow\n\t\t\tcase 39: //right arrow\n\t\t\tcase 46: //delete\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar key = String.fromCharCode(charCode);\n\n\t\t\tswitch (scope.searchType) {\n\t\t\tcase 'company':\n\t\t\t\tbreak;\n\t\t\tcase 'dotNumber':\n\t\t\tcase 'docketNumber':\n\t\t\t\tif (!/^[0-9]$/.test(key)) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'timeFrame':\n\t\t\t\t// TODO: move this to the date picker directive so it works with the picker\n\t\t\t\t// eslint-disable-next-line no-useless-escape\n\t\t\t\tif (!/^[0-9\\/]$/.test(key)) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'intrastateNumber':\n\t\t\t\tif (!/^[a-zA-Z0-9-]$/.test(key)) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'scacCode':\n\t\t\t\tif (!/^[a-zA-Z]$/.test(key)) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfunction searchInputChange() {\n\t\t\tswitch (scope.searchType) {\n\t\t\tcase 'company':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 50);\n\t\t\t\tbreak;\n\t\t\tcase 'dotNumber':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 9);\n\t\t\t\tbreak;\n\t\t\tcase 'docketNumber':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 9);\n\t\t\t\tbreak;\n\t\t\tcase 'timeFrame':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 10);\n\t\t\t\tscope.searchValue2 = scope.searchValue2.substring(0, 10);\n\t\t\t\tbreak;\n\t\t\tcase 'intrastateNumber':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 15);\n\t\t\t\tbreak;\n\t\t\tcase 'scacCode':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 4);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfunction searchClick() {\n\t\t\tif (validateSearchInput()) {\n\t\t\t\tscope.initialLoad = false;\n\t\t\t\tscope.currentRow = 0;\n\t\t\t\tscope.totalRows = 0;\n\t\t\t\tscope.carriers = [];\n\t\t\t\tscope.searchInputError = '';\n\t\t\t\tscope.selectedFilter = '';\n\t\t\t\t$timeout(function() {\n\t\t\t\t\tif (scope.ajaxIsRunning) {\n\t\t\t\t\t\treloadAjax = true;\n\t\t\t\t\t}\n\t\t\t\t\tsearchCarriers();\n\t\t\t\t}); // need to wait for $apply from date switch in validation\n\t\t\t}\n\t\t}\n\n\t\tfunction searchCarriers() {\n\t\t\tif (scope.ajaxIsRunning) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Only execute if currentRow is less than total rows\n\t\t\tif (scope.currentRow === 0 || scope.currentRow < scope.totalRows) {\n\t\t\t\tscope.ajaxIsRunning = true;\n\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\n\t\t\t\tcarrierService.searchCarriers(scope.searchValue,\n\t\t\t\t\tscope.searchValue2,\n\t\t\t\t\tscope.searchType,\n\t\t\t\t\tscope.currentRow,\n\t\t\t\t\trowCount,\n\t\t\t\t\tscope.sortType,\n\t\t\t\t\tscope.isSortDescending,\n\t\t\t\t\tscope.currentRow === 0)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tif (scope.currentRow === 0) {\n\t\t\t\t\t\t\tscope.totalRows = response.data.totalRowsAvailable;\n\t\t\t\t\t\t\tsetTimeout(function() { elem.find('.wrapper-table-flex')[0].scrollTop = 0; }, 1);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tscope.currentRow += rowCount;\n\t\t\t\t\t\tvar length = response.data.carriers.length;\n\t\t\t\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\t\t\t\tvar carrier = response.data.carriers[i];\n\t\t\t\t\t\t\tcarrier.selectedFilter = scope.selectedFilter;\n\t\t\t\t\t\t\tscope.carriers.push(carrier);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(function(e) {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t// alert('Unable to retrieve carriers');\n\t\t\t\t\t})\n\t\t\t\t\t.finally(function() {\n\t\t\t\t\t\tscope.ajaxIsRunning = false;\n\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t\tif (reloadAjax) {\n\t\t\t\t\t\t\treloadAjax = false;\n\t\t\t\t\t\t\tscope.currentRow = 0;\n\t\t\t\t\t\t\tscope.totalRows = 0;\n\t\t\t\t\t\t\tscope.carriers = [];\n\t\t\t\t\t\t\tsearchCarriers();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.broker.contracts')\n\t\t.directive('cobBrokerContract', cobBrokerContract);\n\n\tcobBrokerContract.$inject = [\n\t\t'subjectObserverMessagesService', 'observerService', 'contractService', 'Upload', 'sessionService', '$state',\n\t\t'$stateParams'\n\t];\n\n\tvar observerService,\n\t\tsubjectObserverMessagesService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tcontractService,\n\t\tngFileUpload,\n\t\tsessionService,\n\t\t$state,\n\t\t$stateParams;\n\n\tfunction cobBrokerContract(_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_contractService_,\n\t\t_ngFileUpload_,\n\t\t_sessionService_,\n\t\t_state_,\n\t\t_$stateParams_) {\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tcontractService = _contractService_;\n\n\t\tsessionService = _sessionService_;\n\t\t$state = _state_;\n\t\t$stateParams = _$stateParams_;\n\t\tobserverService = _observerService_;\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\n\t\tngFileUpload = _ngFileUpload_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {\n\t\t\t\tcontracts: '=',\n\t\t\t\tcontract: '=',\n\t\t\t\t//disableUpload: '='\n\t\t\t},\n\t\t\ttemplateUrl: '/app/broker/contracts/brokerContract.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tif (sessionService.isAuthorizedInternalAdmin() && !$stateParams.brokerId) {\n\t\t\t\t$state.go('brokersAdmin');\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.upload = fileSelect;\n\n\t\t\tif (!scope.contract) {\n\t\t\t\tscope.contract = {};\n\t\t\t}\n\t\t\tif (!scope.contract.errors) {\n\t\t\t\tscope.contract.errors = {};\n\t\t\t}\n\n\t\t\tscope.contract.save = saveContract;\n\t\t\tscope.contract.validate = validate;\n\t\t\tscope.contract.validateContractName = validateContractName;\n\t\t\tscope.contract.reset = reset;\n\t\t\tscope.contract.isready = true;\n\t\t\tscope.disableUpload = false;\n\t\t}\n\n\t\tfunction saveContract() {\n\t\t\tif (validate() === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar regex = /(?:\\.([^.]+))?$/;\n\n\t\t\tvar addBrokerContractRequest = {\n\t\t\t\tname: scope.contract.contractName,\n\t\t\t\tdescription: scope.contract.contractDescription,\n\t\t\t\tfileContent: scope.contract.contractFile.base64,\n\t\t\t\tmimeType: scope.contract.contractFile.filetype,\n\t\t\t\tfileName: scope.contract.contractFile.filename,\n\t\t\t\tfileSize: scope.contract.contractFile.filesize,\n\t\t\t\tfileExtension: regex.exec(scope.contract.contractFile.filename)[1],\n\t\t\t\tcontractId: scope.contract.contractId\n\t\t\t};\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t}, 1);\n\n\t\t\tcontractService.addContract(addBrokerContractRequest)\n\t\t\t\t.then(function() {\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_FILE_UPLOAD_SAVED);\n\t\t\t\t\treset();\n\t\t\t\t})\n\t\t\t\t.catch(function(res) {\n\t\t\t\t\tvar modelErrors = res.data.modelState;\n\t\t\t\t\tvar errors = [];\n\t\t\t\t\tfor (var key in modelErrors) {\n\t\t\t\t\t\tfor (var i = 0; i < modelErrors[key].length; i++) {\n\t\t\t\t\t\t\terrors.push(modelErrors[key][i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}).finally(function () {\n\t\t\t\t\tobserverService\n\t\t\t\t\t\t.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t});\n\t\t}\n\n\t\tfunction validateContractName() {\n\t\t\tif (scope.contract.contractName) {\n\t\t\t\tif (scope.contract.contractId) {\n\t\t\t\t\tdelete scope.contract.errors['contractName'];\n\t\t\t\t} else {\n\t\t\t\t\tif (scope.contracts) {\n\t\t\t\t\t\tdelete scope.contract.errors['contractName'];\n\t\t\t\t\t\tfor (var i = 0; i < scope.contracts.length; i++) {\n\t\t\t\t\t\t\tif (scope.contract.contractName.toLowerCase() === scope.contracts[i].name.toLowerCase()) {\n\t\t\t\t\t\t\t\tscope.contract.errors.contractName = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tscope.contract.errors.contractName = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tscope.contract.errors.contractName = true;\n\t\t\t}\n\n\t\t\tif (scope.contract.contractFile.filename) {\n\t\t\t\tscope.contract.isValid = !(Object.keys(scope.contract.errors).length);\n\t\t\t}\n\t\t}\n\n\t\tfunction validateFile() {\n\t\t\tvar errors = [];\n\t\t\tvar validMimeTypes = [\n\t\t\t\t'application/pdf', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n\t\t\t\t'application/msword', 'application/vnd.ms-word', 'image/tiff', 'image/png', 'image/jpeg'\n\t\t\t];\n\n\t\t\tvar validFileExtensions = ['pdf', 'docx', 'doc', 'tif', 'tiff', 'png', 'jpg', 'jpeg'];\n\n\n\t\t\tif (scope.contract.contractFile.filesize >= 10485760) {\n\t\t\t\terrors.push('File size must be less than 10mb');\n\t\t\t}\n\n\n\t\t\tif (scope.contract.contractFile.filetype !== '') {\n\t\t\t\tif (validMimeTypes.indexOf(scope.contract.contractFile.filetype) === -1) {\n\t\t\t\t\terrors.push('Select a valid file type');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvar regex = /(?:\\.([^.]+))?$/;\n\t\t\t\tvar extension = regex.exec(scope.contract.contractFile.filename);\n\n\t\t\t\tif (validFileExtensions.indexOf(extension[1]) === -1) {\n\t\t\t\t\terrors.push('Select a valid file type');\n\t\t\t\t} else {\n\t\t\t\t\tswitch (extension[1]) {\n\t\t\t\t\tcase 'pdf':\n\t\t\t\t\t\tscope.contract.contractFile.filetype = 'application/pdf';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'docx':\n\t\t\t\t\t\tscope.contract.contractFile\n\t\t\t\t\t\t\t.filetype = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'doc':\n\t\t\t\t\t\tscope.contract.contractFile.filetype = 'application/msword';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'tiff':\n\t\t\t\t\tcase 'tif':\n\t\t\t\t\t\tscope.contract.contractFile.filetype = 'image/tiff';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'png':\n\t\t\t\t\t\tscope.contract.contractFile.filetype = 'image/png';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'jpg':\n\t\t\t\t\tcase 'jpeg':\n\t\t\t\t\t\tscope.contract.contractFile.filetype = 'image/jpeg';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (errors.length > 0) {\n\t\t\t\tscope.contract.errors.file = true;\n\t\t\t} else {\n\t\t\t\tdelete scope.contract.errors['file'];\n\t\t\t}\n\n\t\t\tif (scope.contract.contractName) {\n\t\t\t\tscope.contract.isValid = !(Object.keys(scope.contract.errors).length);\n\t\t\t}\n\t\t}\n\n\t\tfunction fileSelect(files) {\n\t\t\tif (files && files.length == 1) {\n\t\t\t\tvar file = files[0];\n\n\t\t\t\tif (!scope.contract.contractFile) {\n\t\t\t\t\tscope.contract.contractFile = {};\n\t\t\t\t}\n\t\t\t\tscope.contract.contractFile.filetype = file.type;\n\t\t\t\tscope.contractFile.filename = file.name;\n\t\t\t\tscope.contract.contractFile.filename = file.name;\n\t\t\t\tscope.contract.contractFile.filesize = file.size;\n\n\t\t\t\tngFileUpload.base64DataUrl(file, false)\n\t\t\t\t\t.then(function(url) {\n\t\t\t\t\t\tscope.contract.contractFile.base64 = url.split(',')[1];\n\t\t\t\t\t\tvalidateFile();\n\t\t\t\t\t\tif (scope.contract.errors.file) {\n\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_FILE_UPLOAD_ERROR);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.disableUpload = true;\n\t\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\t\tsubjectObserverMessagesService\n\t\t\t\t\t\t\t\t\t\t.getSubjectMessages()\n\t\t\t\t\t\t\t\t\t\t.COB_SUBJECT_FILE_UPLOAD_SUCCESS);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_FILE_UPLOAD_ERROR);\n\t\t\t}\n\t\t}\n\n\t\tfunction validate() {\n\t\t\tvalidateContractName();\n\t\t\tvalidateFile();\n\t\t\tscope.contract.isValid = !(Object.keys(scope.contract.errors).length);\n\n\t\t\treturn scope.contract.isValid;\n\t\t}\n\n\t\tfunction reset() {\n\t\t\tscope.disableUpload = false;\n\t\t\tscope.contract.isValid = false;\n\t\t\tscope.contract.contractFile = {};\n\t\t\tscope.contract.errors = {};\n\t\t\tscope.contract.contractDescription = '';\n\t\t\tif (!scope.contract.contractId) {\n\t\t\t\tscope.contract.contractName = '';\n\t\t\t}\n\n\t\t}\n\n\t\tfunction registerObserverHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_FILE_UPLOAD_SUCCESS, handler: onSuccess },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_FILE_UPLOAD_SAVED, handler: onChange },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_FILE_UPLOAD_ERROR, handler: onError }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction onSuccess() {\n\t\t\tconsole.log('File Upload Success');\n\t\t}\n\n\t\tfunction onChange() {\n\t\t\tconsole.log('File Upload Change');\n\t\t}\n\n\t\tfunction onError() {\n\t\t\tconsole.log('File Upload Error');\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.broker.contracts')\n\t\t.directive('cobContractList', cobContractList);\n\n\tcobContractList.$inject = [\n\t\t'subjectObserverMessagesService', 'observerService', 'contractService', 'sessionService', '$state',\n\t\t'$stateParams'\n\t];\n\n\tvar subjectObserverMessagesService,\n\t\tobserverService,\n\t\tcontractService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tsessionService,\n\t\t$state,\n\t\t$stateParams;\n\n\tfunction cobContractList(_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_contractService_,\n\t\t_sessionService_,\n\t\t_state_,\n\t\t_$stateParams_) {\n\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcontractService = _contractService_;\n\t\tsessionService = _sessionService_;\n\t\t$state = _state_;\n\t\t$stateParams = _$stateParams_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/broker/contracts/contract-list.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\t////////////\n\n\t\tfunction activate() {\n\n\t\t\tif (sessionService.isAuthorizedInternalAdmin() && !$stateParams.brokerId) {\n\t\t\t\t$state.go('brokersAdmin');\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\t\t\tregisterEventHandlers();\n\n\t\t\tscope.m = {\n\t\t\t\terrors: [],\n\t\t\t\tshowAddContractModal: false\n\t\t\t};\n\n\t\t\tscope.$stateParams = $stateParams;\n\t\t\tscope.contracts = [];\n\t\t\tscope.ajaxIsRunning = false;\n\t\t\tscope.dismissErrors = dismissErrors;\n\t\t\tscope.getContracts = getContracts;\n\t\t\tscope.setFilter = setFilter;\n\t\t\tscope.saveDescription = saveDescription;\n\t\t\tscope.onfileUploadCancel = onfileUploadCancel;\n\t\t\tscope.onFileUploadSave = onFileUploadSave;\n\t\t\tscope.sortType = 'uploadDate';\n\t\t\tscope.sortReverse = false;\n\t\t\tscope.currentRow = 0;\n\n\t\t\tsetFilter('active');\n\t\t\tdocument.title = 'Contracts';\n\t\t}\n\n\t\tfunction registerEventHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_FILE_UPLOAD_SUCCESS, handler: onFileUploadSuccess },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_FILE_UPLOAD_SAVED, handler: onFileUploadSaved }\n\t\t\t\t\t//,{ message: observerMessages.COB_OBSERVER_FILE_UPLOAD_ERROR, handler: onError }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction dismissErrors() {\n\t\t\tscope.m.errors = [];\n\t\t}\n\n\t\tfunction setFilter(filter) {\n\t\t\tscope.selectedFilter = filter;\n\t\t\tgetContracts();\n\t\t}\n\n\t\tfunction saveDescription(contract) {\n\n\t\t\tcontractService.updateContractDescription(contract.contractId, contract.name, contract.description)\n\t\t\t\t.catch(function(res) {\n\t\t\t\t\tvar modelErrors = res.data.modelState;\n\t\t\t\t\tvar errors = [];\n\t\t\t\t\tfor (var key in modelErrors) {\n\t\t\t\t\t\tfor (var i = 0; i < modelErrors[key].length; i++) {\n\t\t\t\t\t\t\terrors.push(modelErrors[key][i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_GENERIC_SERVER_ERROR,\n\t\t\t\t\t\terrors);\n\t\t\t\t\tscope.m.errors = errors;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction getContracts() {\n\t\t\tif (!scope.ajaxIsRunning) {\n\t\t\t\tscope.ajaxIsRunning = true;\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t\t},\n\t\t\t\t1);\n\n\t\t\t\tcontractService.getContracts(scope.selectedFilter)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tscope.contracts = response.data.contracts;\n\t\t\t\t\t})\n\t\t\t\t\t.catch(function(e) {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t// alert('Unable to retrieve carriers');\n\t\t\t\t\t})\n\t\t\t\t\t.finally(function() {\n\t\t\t\t\t\tscope.ajaxIsRunning = false;\n\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction onFileUploadSuccess() {\n\t\t\tscope.disableUpload = true;\n\t\t}\n\n\t\tfunction onFileUploadSaved() {\n\t\t\tsetFilter('active');\n\t\t\tscope.disableUpload = false;\n\t\t}\n\n\t\tfunction onFileUploadSave() {\n\t\t\tscope.newContract.save();\n\t\t}\n\n\t\tfunction onfileUploadCancel() {\n\t\t\tscope.newContract.reset();\n\t\t\tscope.disableUpload = false;\n\t\t}\n\t}\n})();\n","/* eslint-disable no-redeclare */\n// TODO: remove code above and fix issues in case changing this file\n'use strict';\n\n(function() {\n\tangular.module('onboarding.broker.contracts')\n\t\t.directive('cobContractSignaturesList', cobContractSignaturesList);\n\n\tcobContractSignaturesList.$inject = [\n\t\t'subjectObserverMessagesService', 'observerService', 'contractService', '$log', '$timeout', 'sessionService', '$state',\n\t\t'$stateParams'\n\t];\n\n\tvar subjectObserverMessagesService,\n\t\tobserverService,\n\t\tcontractService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\trowCount,\n\t\t$log,\n\t\t$timeout,\n\t\tsessionService,\n\t\t$state,\n\t\t$stateParams,\n\t\treloadAjax;\n\n\tfunction cobContractSignaturesList(_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_contractService_,\n\t\t_$log_,\n\t\t_$timeout_,\n\t\t_sessionService_,\n\t\t_state_,\n\t\t_$stateParams_) {\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcontractService = _contractService_;\n\t\trowCount = 100;\n\t\t$log = _$log_;\n\t\t$timeout = _$timeout_;\n\t\tsessionService = _sessionService_;\n\t\t$state = _state_;\n\t\t$stateParams = _$stateParams_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/broker/contracts/contractSignaturesList.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\n\t\t\tif (sessionService.isAuthorizedInternalAdmin() && !$stateParams.brokerId) {\n\t\t\t\t$state.go('brokersAdmin');\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.$stateParams = $stateParams;\n\t\t\tscope.m = {\n\t\t\t\terrors: []\n\t\t\t};\n\t\t\tscope.signatures = [];\n\t\t\tscope.contractId = $stateParams['contractid'];\n\t\t\tscope.contract = {};\n\t\t\tscope.ajaxIsRunning = false;\n\n\t\t\tscope.currentRow = 0;\n\t\t\tscope.isSortDescending = true;\n\t\t\tscope.sortOrder = 'date';\n\t\t\tscope.filter = '';\n\t\t\tscope.filterType = 'sortName';\n\t\t\tscope.filterInputPlaceholder = 'e.g. Sample Company';\n\t\t\tscope.isFilter = false;\n\t\t\tscope.haveAllRows = false;\n\t\t\tscope.allChecked = false;\n\t\t\tscope.checkedCount = 0;\n\t\t\tscope.lastClicked = -1;\n\n\n\t\t\tscope.rejectSignatureHideConfirm = rejectSignatureHideConfirm;\n\t\t\tscope.rejectClicked = rejectClicked;\n\t\t\tscope.getSignatures = getSignatures;\n\t\t\tscope.rejectSignatures = rejectSignatures;\n\t\t\tscope.timezoneFilter = timezoneFilter;\n\t\t\tscope.hamburgerClicked = hamburgerClicked;\n\t\t\tscope.filterTypeChange = filterTypeChange;\n\t\t\tscope.filterInputKeyPress = filterInputKeyPress;\n\t\t\tscope.filterInputChange = filterInputChange;\n\t\t\tscope.searchClick = searchClick;\n\t\t\tscope.toggleChecked = toggleChecked;\n\t\t\tscope.exportSignatures = exportSignatures;\n\t\t\tscope.selectedSignatures = selectedSignatures;\n\t\t\tscope.exportSignaturesDisable = exportSignaturesDisable;\n\t\t\tscope.showRejectConfirmation = { showConfirmation: false };\n\t\t\tscope.sort = sort;\n\t\t\tscope.enableRejectButton = false;\n\t\t\tscope.rejectableCheckedCount = 0;\n\t\t\tscope.singleSigneeName = '';\n\t\t\tscope.statChoices = [];\n\n\t\t\tif (sessionService.isAuthorizedBrokerWrite()) {\n\t\t\t\tscope.statusChoices = [\n\t\t\t\t\t{ id: 0, name: 'Export Selected to CSV' },\n\t\t\t\t\t{ id: 1, name: 'Reject' }\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\tscope.statusChoices = [\n\t\t\t\t\t{ id: 0, name: 'Export Selected to CSV' }\n\t\t\t\t];\n\t\t\t}\n\n\t\t\tgetSignatures(true);\n\t\t\tgetDetails();\n\t\t\tregisterEventHandlers();\n\t\t\tdocument.title = 'Contract Signatures';\n\t\t}\n\n\t\tfunction registerEventHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SCROLL_MESSAGE, handler: getSignatures }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction rejectClicked() {\n\t\t\tscope.showRejectConfirmation.showConfirmation = true;\n\n\t\t\tvar length = scope.signatures.length;\n\t\t\tif (scope.rejectableCheckedCount === 1) {\n\t\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\t\tif (scope.signatures[i].checked && scope.signatures[i].status.toLowerCase() === 'active') {\n\t\t\t\t\t\tscope.singleSigneeName = scope.signatures[i].signee;\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction hamburgerClicked() {\n\t\t\tswitch (scope.selectedStatus) {\n\t\t\tcase 0:\n\t\t\t\tif (scope.checkedCount > 0) {\n\t\t\t\t\texportSignatures();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tif (scope.rejectableCheckedCount > 0) {\n\t\t\t\t\trejectClicked();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t}\n\n\t\t\tscope.selectedStatus = null;\n\t\t}\n\n\t\tfunction filterTypeChange() {\n\t\t\tswitch (scope.filterType) {\n\t\t\tcase 'signatory':\n\t\t\t\tscope.filterInputPlaceholder = 'e.g. John Doe';\n\t\t\t\tbreak;\n\t\t\tcase 'sortName':\n\t\t\t\tscope.filterInputPlaceholder = 'e.g. Sample Company';\n\t\t\t\tbreak;\n\t\t\tcase 'title':\n\t\t\t\tscope.filterInputPlaceholder = 'e.g. Owner';\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfunction validateFilter() {\n\t\t\tif (scope.filter.length === 0) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t}\n\n\t\tfunction filterInputKeyPress(event) {\n\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\tif (charCode === 13) { // on Enter\n\t\t\t\tsearchClick();\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tswitch (charCode) {\n\t\t\tcase 8: //backspace\n\t\t\tcase 35: //end\n\t\t\tcase 36: //home\n\t\t\tcase 37: //left arrow\n\t\t\tcase 39: //right arrow\n\t\t\tcase 46: //delete\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tfunction filterInputChange() {\n\t\t\tswitch (scope.filterType) {\n\t\t\tcase 'signatory':\n\t\t\t\tscope.filter = scope.filter.substring(0, 100);\n\t\t\t\tbreak;\n\t\t\tcase 'sortName':\n\t\t\t\tscope.filter = scope.filter.substring(0, 155);\n\t\t\t\tbreak;\n\t\t\tcase 'title':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 100);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfunction searchClick(clearSearch) {\n\t\t\tif (clearSearch) {\n\t\t\t\tscope.filter = '';\n\t\t\t}\n\t\t\tif (validateFilter() || clearSearch) {\n\t\t\t\tscope.currentRow = 0;\n\t\t\t\tscope.haveAllRows = false;\n\t\t\t\tscope.isFilter = (scope.filter.length > 0);\n\t\t\t\t$timeout(function () {\n\t\t\t\t\tif (scope.ajaxIsRunning) {\n\t\t\t\t\t\treloadAjax = true;\n\t\t\t\t\t}\n\t\t\t\t\tgetSignatures(true);\n\t\t\t\t}); // need to wait for $apply from date switch in validation\n\t\t\t}\n\t\t}\n\n\t\tfunction getSignatures(clearOld) {\n\t\t\tif (scope.ajaxIsRunning) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (scope.haveAllRows === false) {\n\t\t\t\tscope.ajaxIsRunning = true;\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t\t},\n\t\t\t\t1);\n\n\t\t\t\tcontractService.getContractSignatures(scope.contractId,\n\t\t\t\t\tscope.currentRow,\n\t\t\t\t\trowCount,\n\t\t\t\t\tscope.sortOrder,\n\t\t\t\t\tscope.isSortDescending,\n\t\t\t\t\tscope.filter,\n\t\t\t\t\tscope.filterType)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tvar length = response.data.signatures.length;\n\t\t\t\t\t\tscope.currentRow += rowCount;\n\t\t\t\t\t\tif (clearOld) {\n\t\t\t\t\t\t\tscope.signatures = response.data.signatures;\n\t\t\t\t\t\t\tscope.allChecked = false;\n\t\t\t\t\t\t\tscope.checkedCount = 0;\n\t\t\t\t\t\t\tscope.rejectableCheckedCount = 0;\n\t\t\t\t\t\t\tscope.availableRows = response.data.availableRows;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\t\t\t\t\tresponse.data.signatures[i].checked = false;\n\t\t\t\t\t\t\t\tscope.signatures.push(response.data.signatures[i]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (length < rowCount) {\n\t\t\t\t\t\t\tscope.haveAllRows = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(function(e) {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t// alert('Unable to retrieve carriers');\n\t\t\t\t\t})\n\t\t\t\t\t.finally(function() {\n\t\t\t\t\t\tscope.ajaxIsRunning = false;\n\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tfunction rejectSignatures() {\n\t\t\tvar rejectedSignatures = [];\n\t\t\tvar length = scope.signatures.length;\n\n\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\tif (scope.signatures[i].checked && scope.signatures[i].status.toLowerCase() === 'active') {\n\t\t\t\t\trejectedSignatures.push(scope.signatures[i].signatureId);\n\t\t\t\t\tscope.signatures[i].signee = 'REJECTED';\n\t\t\t\t\tscope.signatures[i].status = 'REJECTED';\n\t\t\t\t\tscope.signatures[i].title = '–';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t}, 1);\n\n\t\t\tcontractService.rejectSignatures(rejectedSignatures)\n\t\t\t\t.then(function() {\n\t\t\t\t\tscope.currentRow = 0;\n\t\t\t\t\tscope.haveAllRows = false;\n\t\t\t\t\t// Do not refresh list, model is updated. UX wants to retain checkbox checked state\n\t\t\t\t})\n\t\t\t\t.catch(function(e) {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t}).finally(function () {\n\t\t\t\t\tobserverService.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t});\n\n\t\t\tscope.showRejectConfirmation.showConfirmation = false;\n\n\t\t\trejectedSignatures = [];\n\t\t\tscope.rejectableCheckedCount = 0;\n\t\t}\n\n\t\tfunction rejectSignatureHideConfirm() {\n\t\t\tscope.showRejectConfirmation.showConfirmation = false;\n\t\t}\n\n\t\tfunction sort(sortBy) {\n\n\t\t\tif (sortBy === scope.sortOrder) {\n\t\t\t\tscope.isSortDescending = !scope.isSortDescending;\n\t\t\t} else {\n\t\t\t\tscope.sortOrder = sortBy;\n\t\t\t\tscope.isSortDescending = true;\n\t\t\t}\n\n\t\t\tscope.currentRow = 0;\n\t\t\tscope.haveAllRows = false;\n\n\n\t\t\tgetSignatures(true);\n\t\t}\n\n\t\tfunction timezoneFilter(time) {\n\t\t\tvar timeObj = new Date(time);\n\t\t\tif (timeObj.getTimezoneOffset() / 60 === 7)\n\t\t\t\treturn 'PDT';\n\t\t\telse if (timeObj.getTimezoneOffset() / 60 === 8)\n\t\t\t\treturn 'PST';\n\t\t\telse //should not happen but we do not want to give wrong data ever\n\t\t\t\treturn 'UTC -' + (timeObj.getTimezoneOffset() / 60);\n\t\t}\n\n\t\tfunction toggleChecked(event, index) {\n\t\t\tif (scope.lastClicked > -1 && event.shiftKey) {\n\t\t\t\tangular.forEach(scope.signatures.slice(Math.min(scope.lastClicked, index),\n\t\t\t\t\tMath.max(scope.lastClicked, index) + 1),\n\t\t\t\tfunction(signature) {\n\t\t\t\t\tif (signature.checked) {\n\t\t\t\t\t\tscope.checkedCount--;\n\t\t\t\t\t\tif (signature.status.toLowerCase() === 'active') {\n\t\t\t\t\t\t\tscope.rejectableCheckedCount--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tsignature.checked = scope.signatures[scope.lastClicked].checked;\n\n\t\t\t\t\tif (scope.signatures[scope.lastClicked].checked) {\n\t\t\t\t\t\tscope.checkedCount++;\n\t\t\t\t\t\tif (signature.status.toLowerCase() === 'active') {\n\t\t\t\t\t\t\tscope.rejectableCheckedCount++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tdocument.getSelection().removeAllRanges();\n\t\t\t} else {\n\t\t\t\tvar signature = scope.signatures[index];\n\t\t\t\tsignature.checked = !signature.checked;\n\t\t\t\tif (signature.checked) {\n\t\t\t\t\tscope.checkedCount++;\n\t\t\t\t\tif (signature.status.toLowerCase() === 'active') {\n\t\t\t\t\t\tscope.rejectableCheckedCount++;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tscope.checkedCount--;\n\t\t\t\t\tif (signature.status.toLowerCase() === 'active') {\n\t\t\t\t\t\tscope.rejectableCheckedCount--;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tscope.lastClicked = index;\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\tfunction getDetails() {\n\t\t\tsetTimeout(function () {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t}, 1);\n\n\t\t\tcontractService.getContractDetail(scope.contractId)\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tscope.contract = response.data;\n\t\t\t\t})\n\t\t\t\t.catch(function(e) {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t}).finally(function () {\n\t\t\t\t\tobserverService.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tfunction exportSignaturesDisable() {\n\t\t\tif (scope.signatures.length === 0) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction exportSignatures() {\n\t\t\tif (scope.checkedCount > 0) {\n\t\t\t\t//export selected\n\t\t\t\tvar exportedSignatures = [];\n\t\t\t\tvar length = scope.signatures.length;\n\n\t\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\t\tif (scope.signatures[i].checked)\n\t\t\t\t\t\texportedSignatures.push(scope.signatures[i].signatureId);\n\t\t\t\t}\n\n\t\t\t\tcontractService.exportContractSignatures(scope.contractId, exportedSignatures)\n\t\t\t\t\t.then(downloadFile)\n\t\t\t\t\t.catch(function (e) {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t});\n\t\t\t} else if (scope.isFilter) {\n\t\t\t\texportedSignatures = [];\n\t\t\t\tlength = scope.signatures.length;\n\n\t\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\t\texportedSignatures.push(scope.signatures[i].signatureId);\n\t\t\t\t}\n\n\t\t\t\tcontractService.exportContractSignatures(scope.contractId, exportedSignatures)\n\t\t\t\t\t.then(downloadFile)\n\t\t\t\t\t.catch(function (e) {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t//export all\n\t\t\t\tcontractService.exportAllContractSignatures(Number(scope.contractId))\n\t\t\t\t\t.then(function (response) {\n\t\t\t\t\t\tscope.showExportConfirmation = true;\n\t\t\t\t\t\tscope.exportConfirmationEmailAddress = response.data.emailAddress;\n\t\t\t\t\t})\n\t\t\t\t\t.catch(function (e) {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction selectedSignatures() {\n\t\t\tvar signatures = '';\n\t\t\tangular.forEach(scope.signatures,\n\t\t\t\tfunction (signature) {\n\t\t\t\t\tif (signature.checked) {\n\t\t\t\t\t\tif (signatures !== '') {\n\t\t\t\t\t\t\tsignatures = signatures + '&signatureIds=' + signature.signatureId;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsignatures = 'signatureIds=' + signature.signatureId;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\tif (signatures.length) {\n\t\t\t\tscope.m.hasSelectedSignatures = true;\n\t\t\t} else {\n\t\t\t\tscope.m.hasSelectedSignatures = false;\n\t\t\t}\n\n\t\t\treturn signatures;\n\t\t}\n\n\t\tfunction getDate() {\n\t\t\tvar today = new Date();\n\t\t\tvar returnVal = today.getFullYear().toString();\n\n\t\t\tif (today.getMonth() < 9) {\n\t\t\t\treturnVal += '0' + (today.getMonth() + 1);\n\t\t\t} else {\n\t\t\t\treturnVal += (today.getMonth() + 1);\n\t\t\t}\n\n\t\t\tif (today.getMonth() < 9) {\n\t\t\t\treturnVal += '0' + (today.getDate() + 1);\n\t\t\t} else {\n\t\t\t\treturnVal += (today.getDate() + 1);\n\t\t\t}\n\n\t\t\treturn returnVal;\n\t\t}\n\n\t\tfunction downloadFile(response) {\n\t\t\tvar blob = new Blob([response.data], { type: 'text/csv;charset=utf-8' });\n\t\t\tvar fileName = scope.contract.contractName + '+Signatures+' + getDate() + '.csv';\n\n\t\t\tif (navigator.msSaveBlob) { // IE 10+\n\t\t\t\tnavigator.msSaveBlob(blob, fileName);\n\t\t\t} else {\n\t\t\t\tvar link = document.createElement('a');\n\t\t\t\tif (link.download !== undefined) { // feature detection\n\t\t\t\t\t// Browsers that support HTML5 download attribute\n\t\t\t\t\tvar url = URL.createObjectURL(blob);\n\t\t\t\t\tlink.setAttribute('href', url);\n\t\t\t\t\tlink.setAttribute('download', fileName);\n\t\t\t\t\tlink.style.visibility = 'hidden';\n\t\t\t\t\tdocument.body.appendChild(link);\n\t\t\t\t\tlink.click();\n\t\t\t\t\tdocument.body.removeChild(link);\n\t\t\t\t} else { // safari sucks\n\t\t\t\t\turl = URL.createObjectURL(blob);\n\t\t\t\t\tlink.setAttribute('href', url);\n\t\t\t\t\tlink.setAttribute('download', fileName);\n\t\t\t\t\tlink.style.visibility = 'hidden';\n\t\t\t\t\tdocument.body.appendChild(link);\n\t\t\t\t\tlink.click();\n\t\t\t\t\tdocument.body.removeChild(link);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.broker.contracts')\n\t\t.directive('cobContractVersionsList', cobContractVersionsList);\n\n\tcobContractVersionsList.$inject = [\n\t\t'subjectObserverMessagesService', 'observerService', 'contractService', '$log', '$location', 'sessionService',\n\t\t'$state', '$stateParams'\n\t];\n\n\tvar subjectObserverMessagesService,\n\t\tobserverService,\n\t\tcontractService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\trowCount,\n\t\t$log,\n\t\t$location,\n\t\tsessionService,\n\t\t$state,\n\t\t$stateParams;\n\n\tfunction cobContractVersionsList(_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_contractService_,\n\t\t_$log_,\n\t\t_$location_,\n\t\t_sessionService_,\n\t\t_state_,\n\t\t_$stateParams_) {\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tcontractService = _contractService_;\n\t\trowCount = 100;\n\t\t$log = _$log_;\n\t\t$location = _$location_;\n\t\tsessionService = _sessionService_;\n\t\t$state = _state_;\n\t\t$stateParams = _$stateParams_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/broker/contracts/contractVersionList.html',\n\t\t\tlink: linkFunction,\n\t\t\tbindToController: true\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\n\t\t\tif (sessionService.isAuthorizedInternalAdmin() && !$stateParams.brokerId) {\n\t\t\t\t$state.go('brokersAdmin');\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\t\t\tregisterEventHandlers();\n\n\t\t\tscope.$stateParams = $stateParams;\n\t\t\tscope.m = {\n\t\t\t\terrors: [],\n\t\t\t\tshowDeleteContractModal: false\n\t\t\t};\n\t\t\tscope.versions = [];\n\t\t\tscope.sortReverse = false;\n\t\t\tscope.sortType = 'uploadDate';\n\t\t\tvar contractId = $location.search()['contractid'];\n\t\t\tif (contractId) {\n\t\t\t\tscope.contractId = parseFloat(contractId);\n\t\t\t}\n\n\t\t\tscope.showDeleteConfirmation = {\n\t\t\t\tshowDeleteConfirmation: false,\n\t\t\t\tcontractId: undefined\n\t\t\t};\n\t\t\tscope.deleteContract = deleteContract;\n\t\t\tscope.deleteContractHideConfirm = deleteContractHideConfirm;\n\t\t\tscope.deleteContractShowConfirm = deleteContractShowConfirm;\n\t\t\tscope.descriptionClicked = descriptionClicked;\n\t\t\tscope.saveDescription = saveDescription;\n\t\t\tscope.getVersions = getVersions;\n\t\t\tscope.setActive = setActive;\n\t\t\tscope.sortClicked = sortClicked;\n\n\t\t\tgetDetails();\n\t\t\tdocument.title = 'Contract Versions';\n\t\t}\n\n\t\tfunction registerEventHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_FILE_UPLOAD_SUCCESS, handler: onFileUploadSuccess },\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_FILE_UPLOAD_SAVED, handler: onFileUploadSave }\n\t\t\t\t\t//,{ message: observerMessages.COB_OBSERVER_FILE_UPLOAD_ERROR, handler: onError }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction deleteContract() {\n\t\t\tsetTimeout(function () {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t}, 1);\n\n\t\t\tcontractService.deleteContract(scope.showDeleteConfirmation.contractId)\n\t\t\t\t// .then(function(response) {\n\n\t\t\t\t// \tscope.versions = response.data.versions;\n\t\t\t\t// })\n\t\t\t\t.catch(function(e) {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t})\n\t\t\t\t.finally(function() {\n\t\t\t\t\tscope.showDeleteConfirmation.showDeleteConfirmation = false;\n\t\t\t\t\tscope.showDeleteConfirmation.contractId = undefined;\n\t\t\t\t\tgetVersions();\n\t\t\t\t\tobserverService.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t});\n\n\t\t}\n\n\t\tfunction deleteContractHideConfirm() {\n\t\t\tscope.showDeleteConfirmation.showDeleteConfirmation = false;\n\t\t\tscope.showDeleteConfirmation.contractId = undefined;\n\t\t}\n\n\t\tfunction deleteContractShowConfirm(version) {\n\t\t\tscope.showDeleteConfirmation.showDeleteConfirmation = true;\n\t\t\tscope.showDeleteConfirmation.contractId = version.contractId;\n\t\t}\n\n\t\tfunction descriptionClicked(version) {\n\t\t\tif (version.isLatest) {\n\t\t\t\tscope.oldValue = version.description;\n\t\t\t\tversion.editMode = !version.editMode || true;\n\t\t\t}\n\t\t}\n\n\t\tfunction getVersions() {\n\t\t\tsetTimeout(function() {\n\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t},\n\t\t\t1);\n\n\t\t\tcontractService.getContractVersions(scope.contract.contractName)\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tscope.versions = response.data.contracts;\n\t\t\t\t\tif (scope.versions.length > 0) {\n\t\t\t\t\t\tscope.versions[0].isLatest = true;\n\t\t\t\t\t\tscope.newContract.contractId = scope.versions[0].contractId;\n\t\t\t\t\t\t$location.search('contractid', scope.newContract.contractId);\n\t\t\t\t\t} else // no versions found\n\t\t\t\t\t{\n\t\t\t\t\t\t$state.go('contracts',{ brokerId: $stateParams.brokerId });\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(function(e) {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t// alert('Unable to retrieve carriers');\n\t\t\t\t})\n\t\t\t\t.finally(function() {\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tfunction getDetails() {\n\t\t\tif (scope.contractId) {\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\tobserverService.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t\t}, 1);\n\n\t\t\t\tcontractService.getContractDetail(scope.contractId)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tscope.contract = response.data;\n\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_CONTRACT_GROUP_SELECTED,\n\t\t\t\t\t\t\t\tscope.contract);\n\t\t\t\t\t\tgetVersions();\n\n\t\t\t\t\t\tif (!scope.newContract) {\n\t\t\t\t\t\t\tscope.newContract = {};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tscope.newContract.contractId = scope.contractId;\n\t\t\t\t\t\tscope.newContract.contractName = scope.contract.contractName;\n\n\t\t\t\t\t})\n\t\t\t\t\t.catch(function(e) {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t}).finally(function () {\n\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t});\n\t\t\t} else // cannot load a contract whithout the ID\n\t\t\t{\n\t\t\t\t$location.search('contractid', null);\n\t\t\t\t$location.path('/contracts');\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tfunction saveDescription(contract) {\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t}, 1);\n\n\t\t\tcontractService.updateContractDescription(contract.contractId, contract.name, contract.description)\n\t\t\t\t.then(function() {\n\t\t\t\t})\n\t\t\t\t.catch(function(res) {\n\t\t\t\t\tvar modelErrors = res.data.modelState;\n\t\t\t\t\tvar errors = [];\n\t\t\t\t\tfor (var key in modelErrors) {\n\t\t\t\t\t\tfor (var i = 0; i < modelErrors[key].length; i++) {\n\t\t\t\t\t\t\terrors.push(modelErrors[key][i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectMessages.COB_SUBJECT_GENERIC_SERVER_ERROR,\n\t\t\t\t\t\terrors);\n\t\t\t\t\tscope.m.errors = errors;\n\t\t\t\t}).finally(function () {\n\t\t\t\t\tobserverService\n\t\t\t\t\t\t.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t});\n\t\t}\n\n\t\tfunction setActive(isActive) {\n\t\t\tif (!scope.contract) {\n\t\t\t\tscope.contract = {};\n\t\t\t}\n\t\t\tif (isActive) {\n\t\t\t\tscope.contract.status = 'ACTIVE';\n\t\t\t} else {\n\t\t\t\tscope.contract.status = 'INACTIVE';\n\t\t\t}\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tobserverService.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t}, 1);\n\n\t\t\tcontractService.updateContractStatus(scope.contractId, scope.contract.status, scope.contract.contractName)\n\t\t\t\t// .then(function(response) {\n\t\t\t\t// \tscope.contract.status = response.data.status;\n\t\t\t\t// })\n\t\t\t\t.catch(function(e) {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t// Return To Original State\n\t\t\t\t\tif (!isActive) {\n\t\t\t\t\t\tscope.contract.status = 'ACTIVE';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tscope.contract.status = 'INACTIVE';\n\t\t\t\t\t}\n\t\t\t\t}).finally(function () {\n\t\t\t\t\tobserverService\n\t\t\t\t\t\t.sendMessageToSubject(scope, subjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sortClicked(sortType) {\n\t\t\tif (scope.sortType === sortType) {\n\t\t\t\tscope.sortReverse = !scope.sortReverse;\n\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tscope.sortType = sortType;\n\t\t\t\tscope.sortReverse = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction onFileUploadSuccess() {\n\t\t\tscope.newContract.save();\n\t\t}\n\n\t\tfunction onFileUploadSave() {\n\t\t\tgetVersions();\n\t\t}\n\t}\n})();\n","'use strict';\n\nangular.module('onboarding.internaladmin',\n\t[\n\t]);\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.internaladmin')\n\t\t.directive('cobAdminBrokerList', cobAdminBrokerList);\n\n\tcobAdminBrokerList.$inject = [\n\t\t'subjectObserverMessagesService', 'observerService', 'internalAdminService', 'sessionService', '$state'\n\t];\n\n\tvar subjectObserverMessagesService,\n\t\tobserverService,\n\t\tinternalAdminService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tsessionService,\n\t\tstate;\n\n\tfunction cobAdminBrokerList(_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_internalAdminService_,\n\t\t_sessionService_,\n\t\t_state_) {\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tinternalAdminService = _internalAdminService_;\n\t\tsessionService = _sessionService_;\n\t\tstate = _state_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/internaladmin/cobAdminBrokerList.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.ajaxIsRunning = false;\n\t\t\tscope.brokers = [];\n\t\t\tscope.searchType = 'companyName';\n\t\t\tscope.setFilter = setFilter;\n\t\t\tscope.sortReverse = false;\n\t\t\tscope.sortType = 'activeDate';\n\n\t\t\tscope.hideAssureSignIdModal = hideAssureSignIdModal;\n\t\t\tscope.masqueradeClick = masqueradeClick;\n\t\t\tscope.searchClick = searchClick;\n\t\t\tscope.searchTypeChange = searchTypeChange;\n\t\t\tscope.sortClicked = sortClicked;\n\t\t\tscope.searchInputKeyPress = searchInputKeyPress;\n\t\t\tscope.showAssureSignIdModal = showAssureSignIdModal;\n\t\t\tscope.clearSearchClicked = clearSearchClicked;\n\t\t\tscope.searchInputChange = searchInputChange;\n\t\t\tscope.isSearch = false;\n\n\t\t\tsetFilter('Active');\n\t\t\tsearchTypeChange();\n\t\t\tgetBrokers();\n\t\t\tdocument.title = 'Admin - Brokers';\n\t\t}\n\n\t\tfunction masqueradeClick(brokerId, brokerName, domain) {\n\t\t\tsessionService.setBrokerImpersonated(brokerId, brokerName, domain);\n\t\t}\n\n\t\tfunction getBrokers() {\n\t\t\tif (scope.ajaxIsRunning) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tscope.ajaxIsRunning = true;\n\t\t\tsetTimeout(function() {\n\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t},\n\t\t\t1);\n\n\t\t\tinternalAdminService.getBrokers()\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tscope.brokers = response.data.brokers;\n\t\t\t\t})\n\t\t\t\t.finally(function() {\n\t\t\t\t\tscope.ajaxIsRunning = false;\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tfunction hideAssureSignIdModal() {\n\t\t\tscope.displayAssureSignIdModal = false;\n\t\t}\n\n\t\tfunction searchClick() {\n\t\t\tscope.isSearch = true;\n\t\t\tscope.filter = '';\n\t\t\tsetfilterExpr();\n\t\t}\n\n\t\tfunction searchTypeChange() {\n\t\t\tscope.searchValue = '';\n\t\t\tif (scope.searchType === 'accountId') {\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. 182789';\n\t\t\t} else if (scope.searchType === 'guid') {\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. DECA1A5E-3147-483D-BC7E-E5F601A205F9';\n\t\t\t}\n\t\t\telse {\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. Sample Company';\n\t\t\t}\n\n\t\t}\n\n\t\tfunction setFilter(filter) {\n\t\t\tscope.filter = filter;\n\t\t\tsetfilterExpr();\n\t\t}\n\n\t\tfunction setfilterExpr() {\n\t\t\tif (scope.filter) {\n\t\t\t\tscope.filterExpr = { status: scope.filter };\n\t\t\t\tscope.searchExact = true;\n\t\t\t} else if (scope.searchType === 'companyName') {\n\t\t\t\tscope.filterExpr = { companyName: scope.searchValue };\n\t\t\t\tscope.searchExact = false;\n\t\t\t} else if (scope.searchType === 'accountId') {\n\t\t\t\tscope.filterExpr = { accountId: scope.searchValue };\n\t\t\t\tscope.searchExact = false;\n\t\t\t} else if (scope.searchType === 'guid') {\n\t\t\t\tscope.filterExpr = { guid: scope.searchValue.toUpperCase() };\n\t\t\t\tscope.searchExact = true;\n\t\t\t}\n\t\t}\n\n\t\tfunction sortClicked(sortType) {\n\t\t\tif (scope.sortType === sortType) {\n\t\t\t\tscope.sortReverse = !scope.sortReverse;\n\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tscope.sortType = sortType;\n\t\t\t\tscope.sortReverse = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction searchInputKeyPress(event) {\n\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\tif (charCode === 13) { // on Enter\n\t\t\t\tsearchClick();\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tfunction showAssureSignIdModal(broker) {\n\t\t\tscope.displayAssureSignIdModal = true;\n\t\t\tscope.assuresignBrokerId = broker.brokerId;\n\t\t\tscope.assuresignBrokerName = broker.companyName;\n\t\t\tscope.assuresignBrokerDomain = broker.domain;\n\t\t}\n\n\t\tfunction clearSearchClicked() {\n\t\t\tscope.isSearch = false;\n\t\t\tscope.searchValue = '';\n\t\t\tsetFilter('Active');\n\t\t}\n\n\t\tfunction searchInputChange() {\n\t\t\tswitch (scope.searchType) {\n\t\t\tcase 'companyName':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 150);\n\t\t\t\tbreak;\n\t\t\tcase 'accountId':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 8);\n\t\t\t\tbreak;\n\t\t\tcase 'guid':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 50);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.internaladmin')\n\t\t.directive('cobAdminBrokerUsageReport', cobAdminBrokerUsageReport);\n\n\tcobAdminBrokerUsageReport.$inject = ['subjectObserverMessagesService', 'observerService', 'internalAdminService'];\n\n\tvar subjectObserverMessagesService, observerService, internalAdminService;\n\n\tfunction cobAdminBrokerUsageReport(_subjectObserverMessagesService_, _observerService_, _internalAdminService_) {\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tinternalAdminService = _internalAdminService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/internaladmin/cobAdminBrokerUsageReport.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tscope.ajaxIsRunning = false;\n\t\t\tscope.brokers = [];\n\t\t\tscope.sortReverse = false;\n\t\t\tscope.sortType = 'average';\n\n\t\t\tscope.sortClicked = sortClicked;\n\t\t\tgetReport();\n\t\t}\n\n\t\tfunction getReport() {\n\t\t\tif (scope.ajaxIsRunning) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tscope.ajaxIsRunning = true;\n\t\t\tsetTimeout(function() {\n\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t},\n\t\t\t1);\n\n\t\t\tinternalAdminService.getBrokerUsageReport()\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tscope.brokers = response.data.brokers;\n\t\t\t\t})\n\t\t\t\t.finally(function() {\n\t\t\t\t\tscope.ajaxIsRunning = false;\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sortClicked(sortType) {\n\t\t\tif (scope.sortType === sortType) {\n\t\t\t\tscope.sortReverse = !scope.sortReverse;\n\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tscope.sortType = sortType;\n\t\t\t\tscope.sortReverse = false;\n\t\t\t}\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.internaladmin')\n\t\t.directive('cobAdminCarrierList', cobAdminCarrierList);\n\n\tcobAdminCarrierList.$inject = [\n\t\t'subjectObserverMessagesService', 'observerService', 'internalAdminService', 'sessionService', '$state',\n\t\t'Upload', 'validationService'\n\t];\n\n\tvar subjectObserverMessagesService,\n\t\tobserverService,\n\t\tinternalAdminService,\n\t\tsubjectMessages,\n\t\tobserverMessages,\n\t\tsessionService,\n\t\tstate,\n\t\tvalidationService,\n\t\tngFileUpload,\n\t\treloadAjax;\n\n\tfunction cobAdminCarrierList(_subjectObserverMessagesService_,\n\t\t_observerService_,\n\t\t_internalAdminService_,\n\t\t_sessionService_,\n\t\t_state_,\n\t\t_ngFileUpload_,\n\t\t_validationService_) {\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tinternalAdminService = _internalAdminService_;\n\t\tsessionService = _sessionService_;\n\t\tstate = _state_;\n\t\tngFileUpload = _ngFileUpload_;\n\t\tvalidationService = _validationService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/internaladmin/cobAdminCarrierList.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tsubjectMessages = subjectObserverMessagesService.getSubjectMessages();\n\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.carriers = [];\n\t\t\tscope.sortReverse = true;\n\t\t\tscope.rowCount = 100;\n\t\t\tscope.currentRow = 0;\n\t\t\tscope.totalRows = -1;\n\t\t\tscope.ajaxIsRunning = false;\n\t\t\tscope.sortType = 'legalName';\n\t\t\tscope.searchType = 'docketNumber';\n\t\t\tscope.searchInputPlaceholder = '';\n\t\t\tscope.isSearch = false;\n\t\t\tscope.showTinErrorModal = false;\n\t\t\tscope.searchClicked = searchClicked;\n\t\t\tscope.searchTypeChanged = searchTypeChanged;\n\t\t\tscope.searchInputKeyPress = searchInputKeyPress;\n\t\t\tscope.searchInputChange = searchInputChange;\n\t\t\tscope.setTinText = setTinText;\n\t\t\tscope.sortClicked = sortClicked;\n\t\t\tscope.upload = upload;\n\t\t\tscope.closeTinErrorModal = closeTinErrorModal;\n\t\t\tscope.clearSearchClicked = clearSearchClicked;\n\t\t\tscope.closeTinStatusModal = closeTinStatusModal;\n\t\t\tscope.tinStatusFilter = tinStatusFilter;\n\t\t\tscope.tinStatusChange = tinStatusChange;\n\t\t\tscope.openTinStatusModal = openTinStatusModal;\n\t\t\tscope.carrierImpersonate = carrierImpersonate;\n\t\t\tscope.setStatusFilter = setStatusFilter;\n\t\t\tscope.tinStatusRejectionCodeInfo = {\n\t\t\t\t0 : 'TIN and Name combination matches IRS Record',\n\t\t\t\t1 : 'TIN was missing or TIN not 9-digit numeric',\n\t\t\t\t2 :'TIN entered is not currently issued',\n\t\t\t\t3 : 'TIN and Name combination does not match IRS record',\n\t\t\t\t4: 'Invalid TIN Matching request',\n\t\t\t\t5: 'Duplicate TIN Matching request',\n\t\t\t\t6: 'TIN and Name combination matches IRS SSN records',\n\t\t\t\t7: 'TIN and Name combination matches IRS EIN records',\n\t\t\t\t8: 'TIN and Name combination matches IRS SSN and EIN records'\n\t\t\t};\n\t\t\tresetModalWindowData();\n\n\t\t\tif (!scope.tinResultsFileErrors) {\n\t\t\t\tscope.tinResultsFileErrors = {};\n\t\t\t}\n\n\t\t\tregisterEventHandlers();\n\t\t\tdocument.title = 'Admin - Carriers';\n\t\t\tsearchTypeChanged();\n\t\t\tsetStatusFilter('Pending');\n\t\t}\n\n\t\tfunction registerEventHandlers() {\n\t\t\tobserverService.registerHandlers(scope,\n\t\t\t\t[\n\t\t\t\t\t{ message: observerMessages.COB_OBSERVER_SCROLL_MESSAGE, handler: getSearchData }\n\t\t\t\t]);\n\t\t}\n\n\t\tfunction getCarriers() {\n\n\t\t\tif (scope.ajaxIsRunning) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tscope.ajaxIsRunning = true;\n\t\t\tsetTimeout(function() {\n\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t},\n\t\t\t1);\n\n\t\t\tinternalAdminService.getCarriers()\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tscope.carriers = response.data.carriers;\n\t\t\t\t\tscope.totalRows = response.data.totalRowsAvailable;\n\t\t\t\t})\n\t\t\t\t.finally(function() {\n\t\t\t\t\tscope.ajaxIsRunning = false;\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sortClicked(sortType) {\n\t\t\tif (scope.sortType === sortType) {\n\t\t\t\tscope.sortReverse = !scope.sortReverse;\n\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tscope.sortType = sortType;\n\t\t\t\tscope.sortReverse = false;\n\t\t\t}\n\t\t}\n\n\t\tfunction searchClicked() {\n\t\t\tif (validateSearchInput()) {\n\t\t\t\tclearFilter();\n\t\t\t\tclearSearch();\n\t\t\t\tgetSearchData();\n\t\t\t}\n\t\t}\n\n\t\tfunction getSearchData() {\n\t\t\tif (scope.ajaxIsRunning || !scope.isSearch) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (scope.currentRow <= scope.totalRows) {\n\t\t\t\tscope.ajaxIsRunning = true;\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t\t},\n\t\t\t\t1);\n\n\t\t\t\tinternalAdminService.searchCarriers(scope.filterType || scope.searchType,\n\t\t\t\t\tscope.searchValue || scope.filterValue,\n\t\t\t\t\tscope.currentRow,\n\t\t\t\t\tscope.rowCount,\n\t\t\t\t\tscope.currentRow === 0)\n\t\t\t\t\t.then(function(response) {\n\t\t\t\t\t\tif (scope.currentRow === 0) {\n\t\t\t\t\t\t\tscope.totalRows = response.data.totalRowsAvailable;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tscope.currentRow += scope.rowCount;\n\n\t\t\t\t\t\tvar length = response.data.carriers.length;\n\t\t\t\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\t\t\t\tif (response.data.carriers[i].intrastateState)\n\t\t\t\t\t\t\t\tresponse.data.carriers[i].intrastate = response.data.carriers[i].intrastateState + '/' + response.data.carriers[i].intrastateCode;\n\t\t\t\t\t\t\tscope.carriers.push(response.data.carriers[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(function(e) {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t})\n\t\t\t\t\t.finally(function() {\n\t\t\t\t\t\tscope.ajaxIsRunning = false;\n\t\t\t\t\t\tobserverService\n\t\t\t\t\t\t\t.sendMessageToSubject(scope,\n\t\t\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t\t\tif (reloadAjax) {\n\t\t\t\t\t\t\treloadAjax = false;\n\t\t\t\t\t\t\tscope.currentRow = 0;\n\t\t\t\t\t\t\tscope.totalRows = 0;\n\t\t\t\t\t\t\tscope.carriers = [];\n\t\t\t\t\t\t\tgetSearchData();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tfunction searchTypeChanged() {\n\t\t\tscope.searchValue = '';\n\t\t\tscope.searchInputError = '';\n\t\t\tswitch (scope.searchType) {\n\t\t\tcase 'company':\n\t\t\t\tscope.searchInputType = 'text';\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. Sample Company';\n\t\t\t\tbreak;\n\t\t\tcase 'dotNumber':\n\t\t\t\tscope.searchInputType = 'text';\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. 1234567';\n\t\t\t\tbreak;\n\t\t\tcase 'docketNumber':\n\t\t\t\tscope.searchInputType = 'text';\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. 123456';\n\t\t\t\tbreak;\n\t\t\tcase 'timeFrame':\n\t\t\t\tscope.searchInputType = 'text';\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. mm/dd/yy';\n\t\t\t\tbreak;\n\t\t\tcase 'intrastateNumber':\n\t\t\t\tscope.searchInputType = 'text';\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. 001122333A';\n\t\t\t\tbreak;\n\t\t\tcase 'scacCode':\n\t\t\t\tscope.searchInputType = 'text';\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. ABCD';\n\t\t\t\tbreak;\n\t\t\tcase 'email':\n\t\t\t\tscope.searchInputType = 'text';\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. john.smith@dat.com';\n\t\t\t\tbreak;\n\t\t\tcase 'guid':\n\t\t\t\tscope.searchInputType = 'guid';\n\t\t\t\tscope.searchInputPlaceholder = 'e.g. DECA1A5E-3147-483D-BC7E-E5F601A205F9';\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfunction validateSearchInput() {\n\t\t\tvar errorText = 'Please input a valid search value';\n\t\t\tswitch (scope.searchType) {\n\t\t\tcase 'company':\n\t\t\t\tif (scope.searchValue.length > 155 || scope.searchValue.length === 0) {\n\t\t\t\t\tscope.searchInputError = errorText;\n\t\t\t\t} else {\n\t\t\t\t\tscope.searchInputError = '';\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'guid':\n\t\t\t\tif (scope.searchValue.length > 50 || scope.searchValue.length === 0) {\n\t\t\t\t\tscope.searchInputError = errorText;\n\t\t\t\t} else {\n\t\t\t\t\tscope.searchInputError = '';\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'dotNumber':\n\t\t\t\tif (/^[0-9]{1,9}$/.test(scope.searchValue)) {\n\t\t\t\t\tscope.searchInputError = '';\n\t\t\t\t} else {\n\t\t\t\t\tscope.searchInputError = errorText;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'docketNumber':\n\t\t\t\tif (/^[0-9]{1,9}$/.test(scope.searchValue)) {\n\t\t\t\t\tscope.searchInputError = '';\n\t\t\t\t} else {\n\t\t\t\t\tscope.searchInputError = errorText;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'intrastateNumber':\n\t\t\t\tif (/^[a-zA-Z0-9-]{1,15}$/.test(scope.searchValue)) {\n\t\t\t\t\tscope.searchInputError = '';\n\t\t\t\t} else {\n\t\t\t\t\tscope.searchInputError = errorText;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'scacCode':\n\t\t\t\tif (/^[a-zA-Z]{1,4}$/.test(scope.searchValue)) {\n\t\t\t\t\tscope.searchInputError = '';\n\t\t\t\t} else {\n\t\t\t\t\tscope.searchInputError = errorText;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'email':\n\t\t\t\tif (validationService.isValidEmail(scope.searchValue)) {\n\t\t\t\t\tscope.searchInputError = '';\n\t\t\t\t} else {\n\t\t\t\t\tscope.searchInputError = 'Please enter a valid email';\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn !scope.searchInputError;\n\t\t}\n\n\t\tfunction searchInputChange() {\n\t\t\tswitch (scope.searchType) {\n\t\t\tcase 'company':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 155);\n\t\t\t\tbreak;\n\t\t\tcase 'guid':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 50);\n\t\t\t\tbreak;\n\t\t\tcase 'dotNumber':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 9);\n\t\t\t\tbreak;\n\t\t\tcase 'docketNumber':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 9);\n\t\t\t\tbreak;\n\t\t\tcase 'intrastateNumber':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 15);\n\t\t\t\tbreak;\n\t\t\tcase 'scacCode':\n\t\t\t\tscope.searchValue = scope.searchValue.substring(0, 4);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfunction searchInputKeyPress(event) {\n\t\t\tvar charCode = (event.which) ? event.which : event.keyCode;\n\t\t\tif (charCode === 13) { // on Enter\n\t\t\t\tsearchClicked();\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tswitch (charCode) {\n\t\t\tcase 8: //backspace\n\t\t\tcase 35: //end\n\t\t\tcase 36: //home\n\t\t\tcase 37: //left arrow\n\t\t\tcase 39: //right arrow\n\t\t\tcase 46: //delete\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar key = String.fromCharCode(charCode);\n\n\t\t\tswitch (scope.searchType) {\n\t\t\tcase 'company':\n\t\t\tcase 'email':\n\t\t\t\tbreak;\n\t\t\tcase 'dotNumber':\n\t\t\tcase 'docketNumber':\n\t\t\t\tif (!/^[0-9]$/.test(key)) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'intrastateNumber':\n\t\t\t\tif (!/^[a-zA-Z0-9-]$/.test(key)) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'scacCode':\n\t\t\t\tif (!/^[a-zA-Z]$/.test(key)) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfunction setTinText(input) {\n\t\t\tif (input === 'New') {\n\t\t\t\treturn 'Canadian';\n\t\t\t}\n\n\t\t\treturn input;\n\t\t}\n\n\t\tfunction saveTinResults() {\n\t\t\tif (scope.tinResultsFileErrors.file) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar regex = /(?:\\.([^.]+))?$/;\n\n\t\t\tvar uploadTinResultsRequest = {\n\t\t\t\tfileContent: scope.tinResultsFile.base64,\n\t\t\t\tmimeType: scope.tinResultsFile.filetype,\n\t\t\t\tfileName: scope.tinResultsFile.filename,\n\t\t\t\tfileExtension: regex.exec(scope.tinResultsFile.filename)[1]\n\t\t\t};\n\n\t\t\tinternalAdminService.processTinFile(uploadTinResultsRequest)\n\t\t\t\t.then(function() {\n\t\t\t\t\tgetCarriers();\n\t\t\t\t})\n\t\t\t\t.catch(function() {\n\t\t\t\t\tscope.showTinErrorModal = true;\n\t\t\t\t});\n\t\t}\n\n\t\tfunction validateTinResults() {\n\t\t\tvar errors = [];\n\t\t\tvar validMimeTypes = [\n\t\t\t\t'text/plain'\n\t\t\t];\n\n\t\t\tvar validFileExtensions = ['txt'];\n\n\n\t\t\tif (scope.tinResultsFile.filesize >= 15728640) {\n\t\t\t\terrors.push('File size must be less than 15mb');\n\t\t\t}\n\n\n\t\t\tif (scope.tinResultsFile.filetype !== '') {\n\t\t\t\tif (validMimeTypes.indexOf(scope.tinResultsFile.filetype) === -1) {\n\t\t\t\t\terrors.push('Select a valid file type');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvar regex = /(?:\\.([^.]+))?$/;\n\t\t\t\tvar extension = regex.exec(scope.tinResultsFile.filename);\n\n\t\t\t\tif (validFileExtensions.indexOf(extension[1]) === -1) {\n\t\t\t\t\terrors.push('Select a valid file type');\n\t\t\t\t} else {\n\t\t\t\t\tswitch (extension[1]) {\n\t\t\t\t\tcase 'txt':\n\t\t\t\t\t\tscope.contract.tinResultsFile.filetype = 'text/palin';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (errors.length > 0) {\n\t\t\t\tscope.tinResultsFileErrors.file = true;\n\t\t\t} else {\n\t\t\t\tscope.tinResultsFileErrors.file = false;\n\t\t\t}\n\n\t\t\tsaveTinResults();\n\t\t}\n\n\t\tfunction upload(files) {\n\t\t\tif (files && files.length === 1) {\n\t\t\t\tvar file = files[0];\n\n\t\t\t\tscope.tinResultsFile.filetype = file.type;\n\t\t\t\tscope.tinResultsFile.filename = file.name;\n\t\t\t\tscope.tinResultsFile.filesize = file.size;\n\n\t\t\t\tngFileUpload.base64DataUrl(file, false)\n\t\t\t\t\t.then(function(url) {\n\t\t\t\t\t\tscope.tinResultsFile.base64 = url.split(',')[1];\n\t\t\t\t\t\tvalidateTinResults();\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction clearSearchClicked() {\n\t\t\tsetStatusFilter('Pending');\n\t\t\tgetCarriers();\n\t\t\tscope.isSearch = false;\n\t\t\tscope.searchValue = '';\n\t\t}\n\n\t\tfunction closeTinErrorModal() {\n\t\t\tscope.showTinErrorModal = false;\n\t\t}\n\n\t\tfunction closeTinStatusModal() {\n\t\t\tscope.showTinStatusModal = false;\n\t\t\tupdateCarriersList();\n\t\t\tresetModalWindowData();\n\t\t}\n\n\t\tfunction resetModalWindowData() {\n\t\t\tscope.modalWindowData = {};\n\t\t}\n\n\t\tfunction updateCarriersList() {\n\t\t\tif (scope.modalWindowData.carrierTinStatus !== scope.carrier.tinStatus && scope.filterValue !== 'All') {\n\t\t\t\tscope.carriers.splice(scope.modalWindowData.carrierIndex, 1);\n\t\t\t\tscope.carriers = scope.carriers.slice();\n\t\t\t}\n\t\t}\n\n\t\tfunction openTinStatusModal(index, carrier) {\n\t\t\tscope.carrier = carrier;\n\t\t\tscope.modalWindowData = createModalWindowData(index, carrier.tinStatus);\n\t\t\tscope.showTinStatusModal = true;\n\t\t}\n\n\t\tfunction createModalWindowData(index, tinStatus) {\n\t\t\treturn {\n\t\t\t\tcarrierIndex: index,\n\t\t\t\tcarrierTinStatus: tinStatus\n\t\t\t};\n\t\t}\n\n\t\tfunction tinStatusChange() {\n\t\t\tvar tinStatusChangeRequest = {\n\t\t\t\tlegalName: scope.carrier.legalName,\n\t\t\t\ttin: scope.carrier.tin,\n\t\t\t\ttinStatus: scope.carrier.tinStatus\n\t\t\t};\n\n\t\t\tif (scope.carrier.taxLegalName) {\n\t\t\t\ttinStatusChangeRequest.legalName = scope.carrier.taxLegalName;\n\t\t\t}\n\n\t\t\tinternalAdminService.updateTinStatus(tinStatusChangeRequest)\n\t\t\t\t.then(function() {\n\t\t\t\t// \tgetCarriers();\n\t\t\t\t});\n\t\t}\n\n\t\tfunction tinStatusFilter(carrier) {\n\t\t\tif (carrier.tinStatus == 'NotValid')\n\t\t\t\treturn 'Invalid';\n\n\t\t\treturn carrier.tinStatus;\n\t\t}\n\n\t\tfunction carrierImpersonate(carrier) {\n\t\t\tsessionService.setCarrierImpersonated(carrier.carrierId,\n\t\t\t\tcarrier.legalName,\n\t\t\t\tcarrier.dotNumber,\n\t\t\t\tcarrier.intrastateCode,\n\t\t\t\tcarrier.intrastateState);\n\t\t}\n\n\t\tfunction setStatusFilter(status) {\n\t\t\tscope.searchType = 'docketNumber';\n\t\t\tsearchTypeChanged();\n\t\t\tclearSearch();\n\n\t\t\tscope.filterType = 'tinStatus';\n\t\t\tscope.filterValue = status;\n\t\t\t\n\t\t\tif (scope.ajaxIsRunning) {\n\t\t\t\treloadAjax = true;\n\t\t\t}\n\t\t\tgetSearchData();\n\t\t}\n\n\t\tfunction clearFilter() {\n\t\t\tscope.filterType = '';\n\t\t\tscope.filterValue = '';\n\t\t}\n\n\t\tfunction clearSearch() {\n\t\t\tscope.carriers = [];\n\t\t\tscope.searchInputError = '';\n\t\t\tscope.currentRow = 0;\n\t\t\tscope.totalRows = 0;\n\t\t\tscope.isSearch = true;\n\t\t}\n\t}\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.internaladmin')\n\t\t.directive('cobAdminContractList', cobAdminContractList);\n\n\tcobAdminContractList.$inject = ['subjectObserverMessagesService', 'observerService', 'internalAdminService'];\n\n\tvar subjectObserverMessagesService, observerService, internalAdminService;\n\n\tfunction cobAdminContractList(_subjectObserverMessagesService_, _observerService_, _internalAdminService_) {\n\t\tsubjectObserverMessagesService = _subjectObserverMessagesService_;\n\t\tobserverService = _observerService_;\n\t\tinternalAdminService = _internalAdminService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/internaladmin/cobAdminContractList.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tvar subjectMessages = subjectObserverMessagesService.getSubjectMessages(),\n\t\t\t\tobserverMessages = subjectObserverMessagesService.getObserverMessages();\n\n\t\t\tscope.ajaxIsRunning = false;\n\t\t\tscope.contracts = [];\n\t\t\tscope.totalRows = 0;\n\t\t\tscope.sortType = 'companyName';\n\t\t\tscope.sortReverse = true;\n\t\t\tscope.templateClicked = templateClicked;\n\t\t\tscope.saveTemplateId = saveTemplateId;\n\t\t\tscope.scope = scope;\n\n\t\t\tdocument.title = 'Admin - Contracts';\n\t\t\tgetContracts();\n\t\t}\n\n\t\tfunction getContracts() {\n\t\t\tif (scope.ajaxIsRunning) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tscope.ajaxIsRunning = true;\n\t\t\tsetTimeout(function() {\n\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_WAITING);\n\t\t\t},\n\t\t\t1);\n\n\t\t\tinternalAdminService.getAssureSignContracts()\n\t\t\t\t.then(function(response) {\n\n\t\t\t\t\tvar length = response.data.contracts.length;\n\t\t\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\t\t\tscope.contracts.push(response.data.contracts[i]);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(function(e) {\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t})\n\t\t\t\t.finally(function() {\n\t\t\t\t\tscope.ajaxIsRunning = false;\n\t\t\t\t\tobserverService.sendMessageToSubject(scope,\n\t\t\t\t\t\tsubjectObserverMessagesService.getSubjectMessages().COB_SUBJECT_AJAX_DONE);\n\t\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tfunction saveTemplateId(contract) {\n\t\t\tif (contract.oldValue !== contract.templateId || contract.oldValue !== undefined) {\n\t\t\t\tif (contract.templateId !== '' && contract.templateId !== null) {\n\t\t\t\t\tinternalAdminService\n\t\t\t\t\t\t.updateContractTemplateId(contract.brokerId,\n\t\t\t\t\t\t\tcontract.contractId,\n\t\t\t\t\t\t\tcontract.templateId,\n\t\t\t\t\t\t\tcontract.contractName)\n\t\t\t\t\t\t.catch(function(res) {\n\t\t\t\t\t\t\tvar modelErrors = res.data.modelState;\n\t\t\t\t\t\t\tvar errors = [];\n\t\t\t\t\t\t\tfor (var key in modelErrors) {\n\t\t\t\t\t\t\t\tfor (var i = 0; i < modelErrors[key].length; i++) {\n\t\t\t\t\t\t\t\t\terrors.push(modelErrors[key][i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconsole.log(errors);\n\n\t\t\t\t\t\t});\n\t\t\t\t\tcontract.editingTemplateId = false;\n\t\t\t\t} else {\n\t\t\t\t\tcontract.templateId = contract.oldValue;\n\n\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\tcontract.editingTemplateId = false;\n\t\t\t\t\t});\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction templateClicked($event, contract) {\n\t\t\t$event.stopPropagation();\n\t\t\tif (contract.editingTemplateId !== true) {\n\t\t\t\tcontract.oldValue = contract.templateId;\n\t\t\t\tcontract.editingTemplateId = true;\n\t\t\t}\n\t\t}\n\t}\n\n})();\n","'use strict';\n\n(function() {\n\tangular.module('onboarding.internaladmin')\n\t\t.directive('cobAssureSignIdModal', cobAssureSignIdModal);\n\n\tcobAssureSignIdModal.$inject = ['internalAdminService', 'validationService'];\n\tvar internalAdminService, validationService;\n\n\tfunction cobAssureSignIdModal(_internalAdminService_, _validationService_) {\n\n\t\tinternalAdminService = _internalAdminService_;\n\t\tvalidationService = _validationService_;\n\n\t\treturn {\n\t\t\trestrict: 'E',\n\t\t\tscope: {\n\t\t\t\tbrokerId: '=',\n\t\t\t\tcloseFn: '&',\n\t\t\t\tcompanyName: '=',\n\t\t\t\tdomain: '='\n\t\t\t},\n\t\t\treplace: true,\n\t\t\ttemplateUrl: '/app/internaladmin/cobAssureSignIdModal.html',\n\t\t\tlink: linkFunction\n\t\t};\n\t}\n\n\tfunction linkFunction(scope) {\n\n\t\tactivate();\n\n\t\tfunction activate() {\n\t\t\tscope.cancelClicked = cancelClicked;\n\t\t\tscope.saveClicked = saveClicked;\n\n\t\t\tscope.$watch('brokerId',\n\t\t\t\tfunction() {\n\t\t\t\t\tif (scope.brokerId > 0) {\n\t\t\t\t\t\tgetAssureSignContext();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\n\t\tfunction cancelClicked() {\n\t\t\tscope.brokerId = 0;\n\t\t\tscope.closeFn()();\n\t\t}\n\n\t\tfunction getAssureSignContext() {\n\t\t\tinternalAdminService.identifyBroker(scope.domain)\n\t\t\t\t.then(function(response) {\n\t\t\t\t\tscope.brokerIdentity = response.data;\n\t\t\t\t})\n\t\t\t\t.catch(function(e) {\n\t\t\t\t\tconsole.print(e);\n\t\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tfunction saveClicked() {\n\t\t\tvalidateEmail();\n\t\t\tif (scope.assureSignUserIdError)\n\t\t\t\treturn;\n\t\t\tinternalAdminService.defineOnboardingBroker(scope.brokerIdentity)\n\t\t\t\t.then(function() {\n\t\t\t\t\t// all is good\n\t\t\t\t\tscope.closeFn()();\n\t\t\t\t})\n\t\t\t\t.catch(function(e) {\n\t\t\t\t\tconsole.print(e);\n\t\t\t\t});\n\t\t}\n\n\t\tfunction validateEmail() {\n\t\t\tif (scope.brokerIdentity.assureSignUserId &&\n !validationService.isValidEmail(scope.brokerIdentity.assureSignUserId)) {\n\t\t\t\tscope.assureSignUserIdError = 'Valid email is required';\n\t\t\t} else {\n\t\t\t\tdelete scope.assureSignUserIdError;\n\t\t\t}\n\t\t}\n\t}\n})();\n"]}