{"version":3,"file":"main.js","mappings":"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","sources":["webpack://app/external var \"Cookies\"","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/resources.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/constants.ts","webpack://app/external var \"jQuery\"","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/contact/_contact.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/dialogs/dialogs.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/faq/accordion.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/faq/_faq.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/functions/licenseplate.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/functions/validation.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/functions/show-hide.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/functions/alerts.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/functions/util.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/functions/_functions.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/version.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/logging.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/navigation/_navigation.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/common.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/date-time.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/lazy/_lazy.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/_app.ts","webpack://app/../../../Common/Web.UI/CommonContent/scripts/app/global/user-interface.ts","webpack://app/./Scripts/_contact-evidence.ts","webpack://app/./Scripts/evidenz.ts"],"sourcesContent":["const __WEBPACK_NAMESPACE_OBJECT__ = Cookies;","//Resources.Apis\r\nexport class Apis {\r\n static get validateLicensePlateURL(): string { return document.getElementById(\"Resources.Apis\").getAttribute(\"data-validateLicensePlateURL\"); }//\"/api/licensePlate/validate\";\r\n static get validateCiamPasswordUrl(): string { return document.getElementById(\"Resources.Apis\").getAttribute(\"data-validateCiamPasswordUrl\"); }//\"/api/passwordvalidation/ciam\";\r\n static get validateDiviPasswordUrl(): string { return document.getElementById(\"Resources.Apis\").getAttribute(\"data-validateDiviPasswordUrl\"); }//\"/api/passwordvalidation/divi\";\r\n static get getLoginStatusURL(): string { return document.getElementById(\"Resources.Apis\").getAttribute(\"data-getLoginStatusURL\"); }//\"/api/checkloginstatus\";\r\n}\r\n\r\n//Resources.ErrorMessages\r\nexport class ErrorMessages {\r\n static get emailRequiredError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-emailRequiredError\"); }\r\n static get emailNotValid(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-emailNotValid\"); }\r\n static get emailNotEqualTo(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-emailNotEqualTo\"); }\r\n static get emailregexnotvalid(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-emailregexnotvalid\"); }\r\n static get paymentMethodRequiredError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-paymentMethodRequiredError\"); }\r\n static get billingAddressRequiredError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-billingAddressRequiredError\"); }\r\n static get licenceplateCountryRequiredError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-licenceplateCountryRequiredError\"); }\r\n static get licenceplateRequiredError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-licenceplateRequiredError\"); }\r\n static get licenceplateNotEqualTo(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-licenceplateNotEqualTo\"); }\r\n static get licenceplateLength(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-licenceplateLength\"); }\r\n static get routeRequiredError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-routeRequiredError\"); }\r\n static get amountOfTripsRequiredError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-amountOfTripsRequiredError\"); }\r\n static get checkboxRequiredError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-checkboxRequiredError\"); }\r\n static get errorLicensePlateRegEx(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorLicensePlateRegEx\"); }\r\n static get errorLicensePlateRegExNoAnswer(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorLicensePlateRegExNoAnswer\"); }\r\n static get ticketsNotGeneratedError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-ticketsNotGeneratedError\"); }\r\n static get ticketsNotGeneratedErrorWithFlex(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-ticketsNotGeneratedErrorWithFlex\"); }\r\n static get sessiongoneticketssent(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-sessiongoneticketssent\"); }\r\n static get sessiongoneticketssentWithFlex(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-sessiongoneticketssentWithFlex\"); }\r\n static get fieldRequiredError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-fieldRequiredError\"); }\r\n static get captchaRequiredError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-captchaRequiredError\"); }\r\n static get serverError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-serverError\"); }\r\n static get errorMinLength(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorMinLength\"); }\r\n static get errorMaxLength(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorMaxLength\"); }\r\n static get dateFormatNotValid(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-dateFormatNotValid\"); }\r\n static get dateRangeNotValid(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-dateRangeNotValid\"); }\r\n static get dateRequired(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-dateRequired\"); }\r\n static get vignettenumberlength(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-vignettenumberlength\"); }\r\n static get vignettenumberIsNumber(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-vignettenumberIsNumber\"); }\r\n static get passwordRequiredError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-passwordRequiredError\"); }\r\n static get passwordNotEqualTo(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-passwordNotEqualTo\"); }\r\n static get errorPwSecurityServerNotAvailable(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorPwSecurityServerNotAvailable\"); }\r\n static get seamlessDataInvalid(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-seamlessDataInvalid\"); }\r\n static get errorVignetteNumberNoStartdateSet(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorVignetteNumberNoStartdateSet\"); }\r\n static get errorMessageCouponCodeRequired(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorMessageCouponCodeRequired\"); }\r\n static get errorMessageCouponCodeLength(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorMessageCouponCodeLength\"); }\r\n static get checkOldLicenseplateInvalid(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-checkOldLicenseplateInvalid\"); }\r\n static get singleticketsagreeRequiredError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-singleticketsagreeRequiredError\"); }\r\n static get formDoubleSubmitWarning(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-formDoubleSubmitWarning\"); }\r\n static get ValidFromRequiredError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-ValidFromRequiredError\"); }\r\n static get UploadErrorFileRequired(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-UploadErrorFileRequired\"); }\r\n static get errorDatatablesGeneric(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorDatatablesGeneric\"); }\r\n static get errorTelRegex(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorTelRegex\"); }\r\n static get errorHasUnicodeNumberSpaceMinus(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorHasUnicodeNumberSpaceMinus\"); }\r\n static get serviceFeeUploadError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-serviceFeeUploadError\"); }\r\n static get serviceFeeUploadErrorMaxFileSize(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-serviceFeeUploadErrorMaxFileSize\"); }\r\n static get paymentProviderNotVerifiedError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-paymentProviderNotVerifiedError\"); }\r\n static get paymentProfileRequiredError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-paymentProfileRequiredError\"); }\r\n static get errorUniqueCceUnitname(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorUniqueCceUnitname\"); }\r\n static get errorUniqueCceUnitnameUnavailable(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorUniqueCceUnitnameUnavailable\"); }\r\n static get activateSubscriptionPaymentProviderNotVerifiedError(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-activateSubscriptionPaymentProviderNotVerifiedError\"); }\r\n static get atLeastOneLicensePlateSelected(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-atLeastOneLicensePlateSelected\"); }\r\n static get lightboxCloseButtonLabel(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-lightboxCloseButtonLabel\"); }\r\n static get errorLicensePlateInvalidLength(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorLicensePlateInvalidLength\"); }\r\n static get errorLicensePlateAjaxCallFailed(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorLicensePlateAjaxCallFailed\"); }\r\n static get errorLicensePlateNoAjaxCallPossible(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorLicensePlateNoAjaxCallPossible\"); }\r\n static get errorMessageLicensePlateMustBeDifferent(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorMessageLicensePlateMustBeDifferent\"); }\r\n static get errorFieldRequired(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorFieldRequired\"); } //TODO: same as fieldRequiredError?? 19.07.2023 15:07. Anmerkung VK: kinda, fieldRequiredError should be used only in OrderProcess. This one is only for SPP.\r\n static get errorCheckboxRequired(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorCheckboxRequired\"); } //TODO:same as checkboxRequiredError?\r\n static get errorDateFormat(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorDateFormat\"); } //TODO: same as dateFormatNotValid?\r\n static get preventUnloadWarning(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-preventUnloadWarning\"); }\r\n static get timeFormatNotValid(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-timeFormatNotValid\"); }\r\n static get errorVignetteNumberWrongLength(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorVignetteNumberWrongLength\"); } //TODO: same as vignettenumberlength?\r\n static get cookieLimitMessage(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-cookieLimitMessage\"); }\r\n static get activateCookies(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-activateCookies\"); }\r\n static get errorCaptcha(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorCaptcha\"); }\r\n static get errorLicensePlateLength(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorLicensePlateLength\"); } //TODO: same as errorLicensePlateInvalidLength?\r\n static get errorPaymentProfileDescriptionDoesNotMatchRegex(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-errorPaymentProfileDescriptionDoesNotMatchRegex\"); }\r\n static get acceptWithdrawalCheckbox(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-acceptWithdrawalCheckbox\"); }\r\n static get lpChangeProcessDuplicateDocuments(): string { return document.getElementById(\"Resources.ErrorMessages\").getAttribute(\"data-LPChangeProcessDuplicateDocuments\"); }\r\n}\r\n\r\n//Resources.FileUpload\r\nexport class FileUpload {\r\n static get serviceFeeDeleteUpload(): string { return document.getElementById(\"Resources.FileUpload\").getAttribute(\"data-serviceFeeDeleteUpload\"); }\r\n static get serviceFeePossibleFiles(): string { return document.getElementById(\"Resources.FileUpload\").getAttribute(\"data-serviceFeePossibleFiles\"); }\r\n static get serviceFeeSelectedFiles(): string { return document.getElementById(\"Resources.FileUpload\").getAttribute(\"data-serviceFeeSelectedFiles\"); }\r\n static get serviceFeeNoDocuments(): string { return document.getElementById(\"Resources.FileUpload\").getAttribute(\"data-serviceFeeNoDocuments\"); }\r\n}\r\n\r\n//Resources.Labels\r\nexport class Labels {\r\n static get cceEmptyString(): string { return document.getElementById(\"Resources.Labels\").getAttribute(\"data-cceEmptyString\"); }\r\n static get cceDifferentValuesString(): string { return document.getElementById(\"Resources.Labels\").getAttribute(\"data-cceDifferentValuesString\"); }\r\n}\r\n\r\n//Resources.SppConfigurationPage\r\nexport class SppConfigurationPage {\r\n static get sppOverlappingModalHeader(): string { return document.getElementById(\"Resources.SppConfigurationPage\").getAttribute(\"data-sppOverlappingModalHeader\"); }\r\n static get sppOverlappingModalOkButton(): string { return document.getElementById(\"Resources.SppConfigurationPage\").getAttribute(\"data-sppOverlappingModalOkButton\"); }\r\n static get sppOrderProcessTimeoutMessage(): string { return document.getElementById(\"Resources.SppConfigurationPage\").getAttribute(\"data-sppOrderProcessTimeoutMessage\"); }\r\n}\r\n\r\nexport class Resources {\r\n static readonly Apis = Apis;\r\n static readonly ErrorMessages = ErrorMessages;\r\n static readonly FileUpload = FileUpload;\r\n static readonly Labels = Labels;\r\n static readonly SppConfigurationPage = SppConfigurationPage;\r\n\r\n static init(): void {\r\n // eslint-disable-next-line\r\n (window as any).Resources = Resources;\r\n }\r\n}\r\n","enum ResponseMessage {\r\n Success = \"success\",\r\n InProgress = \"inprogress\",\r\n Failure = \"failed\",\r\n FailedWarning = \"failed_warning\",\r\n Redirect = \"redirect\",\r\n PermanentError = \"permanent-error\",\r\n ErrorUndisclosed = \"error-undisclosed\",\r\n Timeout = \"timeout\",\r\n Modal = \"modal\"\r\n}\r\n\r\nclass Api {\r\n static readonly ResponseMessage = ResponseMessage;\r\n}\r\n\r\nenum LicensePlateType {\r\n Standard = \"Standard\",\r\n Special = \"Special\",\r\n Multi = \"Multi\",\r\n MultiSpecial = \"MultiSpecial\"\r\n}\r\n\r\nclass Enums {\r\n static readonly LicensePlateType = LicensePlateType;\r\n}\r\n\r\n//App.Common.Constants\r\nexport class Constants {\r\n\r\n static readonly Api = Api;\r\n static readonly Enums = Enums;\r\n}","const __WEBPACK_NAMESPACE_OBJECT__ = jQuery;","import * as $ from \"jquery\"\r\nimport { App } from \"../../_app\";\r\n\r\n//App.Common.Contact\r\nexport class Contact {\r\n\r\n static init(): void {\r\n if (document.getElementById(\"contact-page\") != null) {\r\n document.getElementById(\"faqCategory\").addEventListener(\"change\", () => {\r\n\r\n const subject = document.getElementById(\"subject\");\r\n const infoBox = document.getElementById(\"infobox\");\r\n const faqCategory = document.getElementById(\"faqCategory\");\r\n if (parseInt(faqCategory.value) === 0) {\r\n App.Common.Functions.ShowHide.hide(document.getElementById(\"contact-main-form\"));\r\n infoBox.innerHTML = document.getElementById(\"hide-on-scroll\").getAttribute(\"data-main\");\r\n subject.value = \"\";\r\n } else {\r\n const faqCategory = document.getElementById(\"faqCategory\");\r\n const selectedFaqCategory = faqCategory.options[faqCategory.selectedIndex];\r\n const selectedFaqText = selectedFaqCategory.text;\r\n const selectedFaqValue = selectedFaqCategory.value;\r\n\r\n subject.value = selectedFaqCategory.getAttribute(\"data-german\");\r\n\r\n document.getElementById(\"contactSelectionChangeStatusHeadline\").innerText = selectedFaqText;\r\n document.getElementById(\"contactSelectionChangeStatus\").innerText = selectedFaqText\r\n + document.getElementById(\"contactSelectionChangeStatus\").getAttribute(\"data-additional-text\");\r\n\r\n const subjectHolder = document.getElementById(\"SubjectHolder\");\r\n subjectHolder.value = selectedFaqText;\r\n\r\n $(\".faq-screen\").hide();\r\n $(\"#faq-subject-\" + selectedFaqValue).show();\r\n\r\n\r\n if ($(\"#startPageLink\").is(\":visible\")) {\r\n $(\".sent\").each(function () {\r\n $(this).html($(this).data(\"original\"));\r\n });\r\n\r\n App.Common.Functions.ShowHide.show(document.getElementById(\"faqPageLink\"));\r\n App.Common.Functions.ShowHide.hide(document.getElementById(\"startPageLink\"));\r\n\r\n document.getElementById(\"error-container\").innerHTML = \"\";\r\n }\r\n\r\n App.Common.Functions.ShowHide.show(document.getElementById(\"contact-main-form\"));\r\n \r\n infoBox.innerHTML = document.getElementById(\"hide-on-scroll\").getAttribute(\"data-faq\");\r\n }\r\n });\r\n }\r\n }\r\n}","import * as $ from \"jquery\"\r\nimport * as Cookies from \"js-cookie\";\r\n\r\nimport { App } from \"../../_app\";\r\nimport { Resources } from \"../resources\";\r\nimport { AjaxServiceResponse } from \"../service-response\";\r\nimport { DynaTrace } from \"../../dynatrace\";\r\n\r\ndeclare const dtrum: DynaTrace;\r\n\r\ninterface IGetLoginStatus {\r\n RedirectUrl: string;\r\n}\r\n\r\n//App.Common.Dialogs\r\nexport class Dialogs {\r\n static openDialogDataLostOnLangChange(button: HTMLAnchorElement) {\r\n const text = $(\"#datalostonlangchange\");\r\n BootstrapDialog.show({\r\n id: \"modalDataLostOnLangChange\",\r\n title: $(\"

\" + $(text).data(\"dialogheadline\") + \"

\"),\r\n message: $(\"

\" + $(text).data(\"dialogtext\") + \"

\"),\r\n buttons: [\r\n {\r\n label: $(text).data(\"dialogno\"),\r\n cssClass: \"btn-secondary\",\r\n action: function (dialogItself) {\r\n dialogItself.close();\r\n }\r\n },\r\n {\r\n label: $(text).data(\"dialogyes\"),\r\n cssClass: \"btn-primary\",\r\n action: function (dialogItself) {\r\n App.displayWarningOnUnload = false;\r\n window.location.href = button.href;\r\n if ($(button).data(\"langcode\") !== null) {\r\n App.saveLangInSession(button);\r\n }\r\n dialogItself.close();\r\n }\r\n }\r\n ]\r\n });\r\n }\r\n\r\n static openCookieModal() {\r\n const button = document.getElementById(\"cookiemodal\");\r\n App.Common.Logging.logBrowserInfos();\r\n const daysToExpire = Number(button.getAttribute(\"data-expires\"));\r\n BootstrapDialog.show({\r\n id: \"modalCookieInfo\",\r\n title: \"

\" + button.getAttribute(\"data-dialogheadline\") + \"

\",\r\n message: \"
\" + button.getAttribute(\"data-dialogtext\") + \"
\",\r\n onshown: function (dialog) {\r\n const link = $.parseHTML(button.getAttribute(\"data-dialoglink\"));\r\n dialog.getModalFooter().first().append(link);\r\n dialog.getModalFooter().find(\"#privacypolicy\").addClass(\"cookiebtn-alignleft\");\r\n dialog.getModalFooter().find(\"#privacypolicy\").addClass(\"btn\");\r\n },\r\n buttons: [\r\n {\r\n label: button.getAttribute(\"data-dialogyes\"),\r\n cssClass: \"btn-primary btn-fullwidth marginBottom\",\r\n action: (dialogItself) => {\r\n Cookies.set(\"NonEssentialCookiesAccepted\", \"yes\", { expires: daysToExpire, secure: true, sameSite: \"lax\" });\r\n dialogItself.close();\r\n // enable dynatrace\r\n if (typeof (dtrum) !== \"undefined\") {\r\n dtrum.enable();\r\n }\r\n }\r\n },\r\n {\r\n label: button.getAttribute(\"data-dialogno\"),\r\n cssClass: \"btn-secondary btn-fullwidth\",\r\n action: (dialogItself) => {\r\n Cookies.set(\"NonEssentialCookiesAccepted\", \"no\", { expires: daysToExpire, secure: true, sameSite: \"lax\" });\r\n // No Analytics and no dynatrace \r\n dialogItself.close();\r\n // disable dynatrace\r\n if (typeof (dtrum) !== \"undefined\") {\r\n dtrum.disable();\r\n }\r\n }\r\n }\r\n ]\r\n });\r\n }\r\n\r\n static showDataLossWarning() {\r\n return document.getElementById(\"ordersummaryview\") == null && document.getElementById(\"seamlesspaymentview\") == null;\r\n }\r\n\r\n static warningLooseOfData(link: HTMLAnchorElement, forceWarning: boolean) {\r\n forceWarning = forceWarning || false;\r\n if (forceWarning\r\n && Dialogs.showDataLossWarning()) {\r\n App.Common.Dialogs.openDialogDataLostOnLangChange(link);\r\n } else {\r\n if ($(\"form:visible:not(#unitchoice-form)\").length > 0) {\r\n let filledInputs = 0;\r\n $(\"form input[type=\\\"text\\\"], form input[type=\\\"email\\\"], form input[type=\\\"passwort\\\"], form select, form input.hiddenuserinput[type=\\\"hidden\\\"], form #filesuploaded\")\r\n .each(function () {\r\n if (App.Common.Functions.hasValue(this)) {\r\n if (!$(this).parent().hasClass(\"unit-change-container\")) {\r\n filledInputs++;\r\n }\r\n }\r\n });\r\n if (document.getElementById(\"progress-navigation\") != null) {\r\n if (App.inputChanged\r\n && App.Common.Dialogs.showDataLossWarning()) {\r\n App.Common.Dialogs.openDialogDataLostOnLangChange(link);\r\n } else {\r\n App.displayWarningOnUnload = false;\r\n window.location.href = link.href;\r\n return true;\r\n }\r\n } else {\r\n if (filledInputs > 0) {\r\n App.Common.Dialogs.openDialogDataLostOnLangChange(link);\r\n } else {\r\n App.displayWarningOnUnload = false;\r\n window.location.href = link.href;\r\n return true;\r\n }\r\n }\r\n } else {\r\n window.location.href = link.href;\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n static openModalSessionAboutToExpire(button: HTMLElement) {\r\n BootstrapDialog.show({\r\n id: \"modalSessionAboutToExpire\",\r\n title: $(\"

\" + $(button).data(\"dialogheadline\") + \"

\"),\r\n message: $(\"

\" + $(button).data(\"dialogtext\") + \"

\"),\r\n buttons: [\r\n {\r\n label: $(button).data(\"dialogyes\"),\r\n cssClass: \"btn-primary\",\r\n id: \"cancel-btn\",\r\n action: (dialogItself) => {\r\n App.Common.Functions.buttonLoader(\"cancel-btn\", true);\r\n\r\n let data = {};\r\n if (App.isCiamSet) {\r\n // Only for Webshop, not SPP\r\n data = {\r\n isCiam: App.isCiam,\r\n isAnonymous: App.isAnonymous,\r\n allowAspNetSessionIsAboutToExpireDialog: App.allowAspNetSessionIsAboutToExpireDialog\r\n };\r\n }\r\n $.ajax({\r\n url: Resources.Apis.getLoginStatusURL,\r\n type: \"GET\",\r\n data: data,\r\n success: function (response: AjaxServiceResponse) {\r\n if (response.Status === App.Common.Constants.Api.ResponseMessage.Success) {\r\n if (response.Data.RedirectUrl == null) {\r\n dialogItself.close();\r\n } else {\r\n App.displayWarningOnUnload = false; //prevent \"do you want to leave\"-message\r\n window.location.href = response.Data.RedirectUrl;\r\n }\r\n }\r\n },\r\n error: (error) => {\r\n const errorString = JSON.stringify(error);\r\n App.Common.Logging.logWarning(`${Resources.Apis.getLoginStatusURL} - Error: \"${errorString}\"`);\r\n dialogItself.close();\r\n }\r\n });\r\n }\r\n }\r\n ]\r\n });\r\n }\r\n}","export class Accordion {\r\n buttonEl: HTMLElement;\r\n contentEl: HTMLElement;\r\n isOpen: boolean;\r\n static init() {\r\n // init accordions\r\n const accordions = document.querySelectorAll(\".accordion button\");\r\n [].forEach.call(accordions, (accordionEl: HTMLElement) => {\r\n new Accordion(accordionEl);\r\n });\r\n }\r\n constructor(domNode: HTMLElement) {\r\n this.buttonEl = domNode;\r\n const controlsId = this.buttonEl.getAttribute(\"aria-controls\");\r\n if (controlsId != null) {\r\n this.contentEl = document.getElementById(controlsId);\r\n this.isOpen = this.buttonEl.getAttribute(\"aria-expanded\") === \"true\";\r\n // add event listeners\r\n this.buttonEl.addEventListener(\"click\", this.onButtonClick.bind(this));\r\n }\r\n }\r\n\r\n onButtonClick() {\r\n this.toggle(!this.isOpen);\r\n }\r\n\r\n toggle(isOpen: boolean) {\r\n // don't do anything if the open state doesn't change\r\n if (isOpen === this.isOpen) {\r\n return;\r\n }\r\n\r\n // update the internal state\r\n this.isOpen = isOpen;\r\n\r\n // handle DOM updates\r\n this.buttonEl.setAttribute(\"aria-expanded\", `${isOpen}`);\r\n if (isOpen) {\r\n this.contentEl.removeAttribute(\"hidden\");\r\n } else {\r\n this.contentEl.setAttribute(\"hidden\", \"\");\r\n }\r\n }\r\n\r\n // Add public open and close methods for convenience\r\n open() {\r\n this.toggle(true);\r\n }\r\n\r\n close() {\r\n this.toggle(false);\r\n }\r\n}\r\n","import { Accordion } from \"./accordion\";\r\n\r\n//App.Common.Faq\r\nexport class Faq {\r\n static init(): void {\r\n Accordion.init();\r\n window.addEventListener(\"hashchange\", () => {\r\n Faq.openFaqWithHash();\r\n });\r\n Faq.openFaqWithHash();\r\n\r\n document.getElementById(\"faq-toggle\")?.addEventListener(\"click\", () => {\r\n Faq.handleToggle();\r\n });\r\n\r\n // Search on click\r\n document.getElementById(\"faq-search-form\")?.addEventListener(\"submit\", (event) => {\r\n event.preventDefault();\r\n Faq.search();\r\n });\r\n Faq.attachImageEvent();\r\n }\r\n static attachImageEvent(): void {\r\n document.querySelectorAll(\"details\").forEach((e) => {\r\n Faq.attachEventToggle(e);\r\n });\r\n }\r\n static attachEventToggle(element: HTMLElement) {\r\n element.addEventListener(\"toggle\", (event: Event) => {\r\n const eventTarget = event.target as HTMLElement;\r\n if (eventTarget.hasAttribute(\"open\")) {\r\n eventTarget.querySelectorAll(\"img\").forEach((img: HTMLImageElement) => {\r\n if (!img.src) {\r\n img.src = img.getAttribute(\"data-src\");\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n static openFaqWithHash(): void {\r\n const hash = window.location.hash.substring(1);\r\n Faq.closeAllFaq();\r\n if (hash.length > 0) {\r\n if (document.getElementById(hash)) {\r\n document.getElementById(hash).setAttribute(\"open\", \"true\");\r\n }\r\n }\r\n }\r\n\r\n static closeAllFaq(): void {\r\n document.querySelectorAll(\"details\").forEach((e) => {\r\n if (e.hasAttribute(\"open\")) {\r\n e.removeAttribute(\"open\");\r\n }\r\n });\r\n }\r\n\r\n static openAllFaq(): void {\r\n document.querySelectorAll(\"details\").forEach((e) => {\r\n e.setAttribute(\"open\", \"true\");\r\n });\r\n }\r\n\r\n\r\n static handleToggle(): void {\r\n const toggleButton = document.getElementById(\"faq-toggle\");\r\n const actualText = toggleButton.innerText.trim();\r\n const openText = toggleButton.getAttribute(\"data-togglebuttonopen\");\r\n const closeText = toggleButton.getAttribute(\"data-togglebuttonclose\");\r\n if (actualText !== openText) {\r\n toggleButton.innerText = openText;\r\n Faq.closeAllFaq();\r\n } else {\r\n toggleButton.innerText = closeText;\r\n Faq.openAllFaq();\r\n }\r\n }\r\n\r\n static search(): void {\r\n const keywordObj = document.getElementById(\"faq-search-keyword\");\r\n const keyword: string = keywordObj.value.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\r\n const contextContainer = document.getElementById(\"faq-text\");\r\n // Reset\r\n contextContainer.innerHTML = contextContainer.innerHTML.replace(/<(\\/){0,1}mark>/g, \"\");\r\n\r\n if (keyword.length > 0) {\r\n const highlighter = new InstantSearch(contextContainer, [keyword]);\r\n highlighter.highlight();\r\n }\r\n\r\n const numberOfSearchResults: number = document.querySelectorAll(\"mark\").length;\r\n const faqSearchResults = document.getElementById(\"faq-search-results\");\r\n\r\n faqSearchResults.innerText = numberOfSearchResults.toString() + \" \"\r\n + faqSearchResults.getAttribute(numberOfSearchResults === 1 ? \"data-searchresultsingural\" : \"data-searchresultplural\");\r\n faqSearchResults.removeAttribute(\"aria-hidden\");\r\n\r\n document.querySelectorAll(\"details\").forEach((e) => {\r\n Faq.attachEventToggle(e);\r\n if (e.querySelectorAll(\"mark\").length > 0) {\r\n e.setAttribute(\"open\", \"true\");\r\n } else {\r\n e.removeAttribute(\"open\");\r\n }\r\n });\r\n\r\n if (numberOfSearchResults > 0) {\r\n document.querySelector(\"mark\").closest(\"details\")?.querySelector(\"summary\")?.focus();\r\n }\r\n }\r\n}\r\n\r\nexport class InstantSearch {\r\n\r\n protected m_container: Node;\r\n protected m_keywords: string[];\r\n\r\n constructor(container: Node, tokens: string[]) {\r\n this.iterator = this.iterator.bind(this);\r\n this.checkAndReplace = this.checkAndReplace.bind(this);\r\n this.highlight = this.highlight.bind(this);\r\n this.m_container = container;\r\n this.m_keywords = tokens || [\"test\"];\r\n }\r\n\r\n protected checkAndReplace(node: Node) {\r\n let nodeVal: string = node.nodeValue;\r\n const parentNode: Node = node.parentNode;\r\n let textNode: Text = null;\r\n\r\n for (let i = 0, j = this.m_keywords.length; i < j; i++) {\r\n const textToHighlight: string = this.m_keywords[i];\r\n\r\n let isFirst = true;\r\n // eslint-disable-next-line no-constant-condition\r\n while (true) {\r\n const foundIndex: number = nodeVal.toLowerCase().indexOf(textToHighlight.toLowerCase());\r\n\r\n if (foundIndex < 0) {\r\n if (isFirst)\r\n break;\r\n\r\n if (nodeVal) {\r\n textNode = document.createTextNode(nodeVal);\r\n parentNode.insertBefore(textNode, node);\r\n }\r\n parentNode.removeChild(node);\r\n break;\r\n }\r\n isFirst = false;\r\n\r\n\r\n const begin: string = nodeVal.substring(0, foundIndex);\r\n const matched: string = nodeVal.substr(foundIndex, textToHighlight.length);\r\n\r\n if (begin) {\r\n textNode = document.createTextNode(begin);\r\n parentNode.insertBefore(textNode, node);\r\n }\r\n\r\n const span: HTMLElement = document.createElement(\"mark\");\r\n span.appendChild(document.createTextNode(matched));\r\n parentNode.insertBefore(span, node);\r\n\r\n nodeVal = nodeVal.substring(foundIndex + textToHighlight.length);\r\n }\r\n }\r\n }\r\n\r\n protected iterator(p: Node) {\r\n if (p == null)\r\n return;\r\n const children: Node[] = Array.prototype.slice.call(p.childNodes);\r\n if (children.length) {\r\n for (let i = 0; i < children.length; i++) {\r\n const cur: Node = children[i];\r\n if (cur.nodeType === Node.TEXT_NODE) {\r\n this.checkAndReplace(cur);\r\n }\r\n else if (cur.nodeType === Node.ELEMENT_NODE) {\r\n this.iterator(cur);\r\n }\r\n }\r\n }\r\n }\r\n public highlight() {\r\n this.iterator(this.m_container);\r\n }\r\n}\r\n","import * as $ from \"jquery\"\r\n\r\nexport class LicensePlate {\r\n\r\n static ResetSpecialLicensePlate() {\r\n $(\"#licenseplatestatus\").val(\"isNormal\");\r\n $(\"#div-speciallicenseplate\").hide();\r\n document.getElementById(\"check-speciallicenseplate\")?.removeAttribute(\"required\");\r\n $(\"#check-speciallicenseplate\").prop(\"checked\", false);\r\n LicensePlate.ShowInfoText();\r\n LicensePlate.ShowLicensePlatePlaceHolder();\r\n }\r\n\r\n static isLicensePlateCountrySet() {\r\n return $(\"#licenseplate_country option:selected\").length > 0 &&\r\n $(\"#licenseplate_country option:selected\").val() !== \"\";\r\n }\r\n\r\n static ShowInfoText() {\r\n if (LicensePlate.isLicensePlateCountrySet()) {\r\n const $selectedCountryOption = $(\"#licenseplate_country option:selected\");\r\n const helpText = $selectedCountryOption.data(\"helptext\");\r\n const specialHelpText = $selectedCountryOption.data(\"specialhelptext\");\r\n\r\n //const specialWarning = $selectedCountryOption.data(\"specialwarning\");\r\n //$(\"#div-speciallicenseplate-warning b\").text(specialWarning); //does not work since there is no tag to set the text\r\n const specialLabel = $selectedCountryOption.data(\"speciallabel\");\r\n $(\"#label-check-speciallicenseplate\").text(specialLabel);\r\n\r\n const $checkBox = $(\"#check-speciallicenseplate\");\r\n if ($checkBox.is(\":checked\")) {\r\n $(\"#div-speciallicenseplate-warning\").removeClass(\"alert-warning\").removeClass(\"alert-warning-hide\").removeClass(\"alert\");\r\n $(\"#div-speciallicenseplate-header\").hide();\r\n } else {\r\n $(\"#div-speciallicenseplate-warning\").addClass(\"alert-warning\").addClass(\"alert-warning-hide\").addClass(\"alert\");\r\n $(\"#div-speciallicenseplate-header\").show();\r\n }\r\n\r\n if (!$checkBox.is(\":checked\") && helpText !== \"\") {\r\n $(\"#infotext-licenseplate-text\").text(helpText);\r\n $(\"#infotext-licenseplate-sr-text\").text(helpText);\r\n $(\"#infotext-licenseplate\").show();\r\n } else if ($checkBox.is(\":checked\") && specialHelpText !== \"\") {\r\n $(\"#infotext-licenseplate-text\").text(specialHelpText);\r\n $(\"#infotext-licenseplate-sr-text\").text(specialHelpText);\r\n $(\"#infotext-licenseplate\").show();\r\n\r\n } else {\r\n $(\"#infotext-licenseplate-text\").text(\"\");\r\n $(\"#infotext-licenseplate-sr-text\").text(\"\");\r\n $(\"#infotext-licenseplate\").hide();\r\n }\r\n } else {\r\n $(\"#infotext-licenseplate-text\").text(\"\");\r\n $(\"#infotext-licenseplate-sr-text\").text(\"\");\r\n $(\"#infotext-licenseplate\").hide();\r\n }\r\n }\r\n\r\n static ShowLicensePlatePlaceHolder() {\r\n let placeholder = \"\";\r\n if (LicensePlate.isLicensePlateCountrySet()) {\r\n const SelectedCountryContainer: HTMLSelectElement = document.getElementById(\"licenseplate_country\");\r\n const SelectedCountry = SelectedCountryContainer.item(SelectedCountryContainer.selectedIndex);\r\n const placeholderText = SelectedCountry.getAttribute(\"data-placeholdertext\");\r\n const specialPlaceholderText = SelectedCountry.getAttribute(\"data-specialplaceholdertext\");\r\n const SpecialLicensePlateCheckbox: HTMLInputElement = document.getElementById(\"check-speciallicenseplate\");\r\n placeholder = SpecialLicensePlateCheckbox?.checked && specialPlaceholderText !== \"\"\r\n ? specialPlaceholderText\r\n : placeholderText !== \"\"\r\n ? placeholderText\r\n : \"\";\r\n }\r\n document.getElementById(\"licenseplate\").setAttribute(\"placeholder\", placeholder);\r\n document.getElementById(\"licenseplateconfirm\")?.setAttribute(\"placeholder\", placeholder);\r\n }\r\n}\r\n","import * as $ from \"jquery\"\r\nimport { App } from \"../../_app\";\r\nimport { Resources } from \"../resources\";\r\nimport { AjaxServiceResponse } from \"../service-response\";\r\nimport { Functions } from \"./_functions\";\r\n\r\ninterface IValidateLicensePlateData {\r\n __RequestVerificationToken: string,\r\n licensePlate: string,\r\n countryCode: string,\r\n isZba: boolean\r\n}\r\n\r\nexport interface IValidatePlateResponseData {\r\n IsValid: boolean;\r\n RegexType: LicensePlateRegexType;\r\n IsInZba: boolean;\r\n PreviewBackgroundImageUrl: string,\r\n GraphicRegistrationNumberImageUrl: string,\r\n TextBefore: string,\r\n TextAfter: string\r\n}\r\n\r\nexport enum LicensePlateRegexType {\r\n Standard = 1,\r\n Special = 2,\r\n Custom = 3\r\n}\r\n\r\ninterface UnobtrusiveValidationValidator extends MicrosoftJQueryUnobtrusiveValidation.Validator {\r\n options: JQueryValidation.ValidationOptions\r\n}\r\n\r\n//App.Common.Functions.Validation\r\nexport class Validation {\r\n private static errorMessageRegEx = Resources.ErrorMessages.errorLicensePlateRegEx;\r\n private static lastData: IValidateLicensePlateData = null;\r\n private static lastResult: AjaxServiceResponse = null;\r\n\r\n public static ValidatorSettings: JQueryValidation.ValidationOptions = {\r\n onkeyup: false,\r\n errorClass: \"input-validation-error\",\r\n errorElement: \"div\",\r\n ignore: \".ignore-validation\",\r\n errorPlacement: function (error: JQuery, element: JQuery) {\r\n if (element.hasClass(\"selectpicker\") || element.hasClass(\"datepicker\")) {\r\n error.insertAfter(element.parent());\r\n } else if (element.hasClass(\"validateBeforeRedirect\")) {\r\n $(\"
\").append(error).insertAfter(element.parent());\r\n } else if (element.hasClass(\"payment-profile-radio\") || element.hasClass(\"payment_method-radio\")) {\r\n $(\"
\").append(error).insertAfter(element.parent().parent().parent().parent());\r\n } else if (element[0].name === \"VariationCode\") {\r\n $(\"
\").append(error).insertAfter(element.parent().parent().parent().parent());\r\n } else if ($(element).is(\":checkbox\")) {\r\n const fieldSet$ = $(element).parents(\"fieldset\");\r\n if (fieldSet$.length && fieldSet$.hasClass(\"display-status-border\")) {\r\n fieldSet$.addClass(\"input-validation-error\");\r\n error.insertAfter(fieldSet$);\r\n } else {\r\n error.insertAfter(element);\r\n if ($(element).parent().parent().hasClass(\"offset-md-4\")) { // Modal in VPP ProductSelection SM\r\n $(\"
\").append(error).insertAfter(element.parent().parent().parent());\r\n } else if ($(element).parent().parent().hasClass(\"col-12\")) {\r\n $(\"
\").append(error).insertAfter(element.parent().parent());\r\n } else {\r\n $(\"
\").append(error).insertAfter(element.parent().parent().parent());\r\n }\r\n }\r\n } else {\r\n error.insertAfter(element);\r\n }\r\n },\r\n success: (label: JQuery/*, validatedInput: HTMLElement*/) => {\r\n label.parent().find(\".display-status-border\").removeClass(\"input-validation-error\");\r\n label.removeClass(\"input-validation-error\");\r\n label.remove();\r\n },\r\n showErrors: function (errorMap: JQueryValidation.ErrorDictionary, errorList: JQueryValidation.ErrorListItem[]) {\r\n if (this.numberOfInvalids() > 0) {\r\n $.each(errorList, function (index, item) {\r\n const placeholder = \"{{FELDNAME}}\";\r\n const domElement = item[\"element\"];\r\n\r\n if (String(item.message).indexOf(placeholder) !== -1) {\r\n const labelElements = $(\"label[for=\" + domElement.id + \"]\");\r\n let messageWithReplacement = \"\";\r\n\r\n if (labelElements.length > 0) { // is error for JS validated field\r\n messageWithReplacement = item.message.replace(placeholder, labelElements[0].innerText);\r\n } else { // is error for Unobtrusive validated field\r\n const labelText = domElement.parentElement.previousElementSibling ? (domElement.parentElement.previousElementSibling).innerText : undefined;\r\n if (labelText) {\r\n messageWithReplacement = item.message.replace(placeholder, labelText);\r\n }\r\n }\r\n item.message = messageWithReplacement;\r\n item.element.outerHTML.replace(item.message, messageWithReplacement);\r\n }\r\n });\r\n }\r\n this.defaultShowErrors();\r\n },\r\n invalidHandler: () => {\r\n setTimeout(() => App.Common.Functions.scrollToError(), 10);\r\n },\r\n }\r\n\r\n static init(): void {\r\n // Validator Settings\r\n $.validator.setDefaults(Validation.ValidatorSettings);\r\n\r\n // Validator unobtrusive global settings (Notice: must be defined before including unobtrusive.js)\r\n // override jQuery unobtrusive validator settings\r\n if (typeof $.validator.unobtrusive !== \"undefined\") {\r\n ($.validator.unobtrusive).options = Validation.ValidatorSettings;\r\n }\r\n\r\n $.validator.addMethod(\"hasUnicodeNumberSpaceMinus\", function (value, element) {\r\n return this.optional(element) || new RegExp(\"^[\\\\u00C0-\\\\u017Fa-zA-Z0-9\\\\s\\\\ -]*$\").test(value);\r\n }, \"Just Unicodes Space and Minus\");\r\n\r\n $.validator.addMethod(\"isAtLeastOneCheckboxSelected\", function (/*value, element*/) {\r\n /* Check if at least one checkbox is checked */\r\n return ($(\"#vignette\").is(\":checked\") || $(\"#sondermaut\").is(\":checked\"));\r\n });\r\n\r\n\r\n $.validator.addMethod(\"dateFormat\", function (value, element) {\r\n let check = false;\r\n const re = /^\\d{2}\\.\\d{2}\\.\\d{4}$/;\r\n if (re.test(value)) {\r\n const adata = value.split(\".\");\r\n const dd = parseInt(adata[0], 10);\r\n const mm = parseInt(adata[1], 10);\r\n const yyyy = parseInt(adata[2], 10);\r\n const xdata = new Date(yyyy, mm - 1, dd);\r\n if (xdata.getFullYear() === yyyy && xdata.getMonth() === mm - 1 && xdata.getDate() === dd) {\r\n check = true;\r\n }\r\n else {\r\n check = false;\r\n }\r\n } else {\r\n check = false;\r\n }\r\n return this.optional(element) || check;\r\n }, function (/*params, element*/) {\r\n return Resources.ErrorMessages.dateFormatNotValid;\r\n });\r\n\r\n $.validator.addMethod(\"meetsRegEx\", function (/*value, element*/) {\r\n function showSpecialLicensePlateCheckbox(result: AjaxServiceResponse) {\r\n if (result.Status === App.Common.Constants.Api.ResponseMessage.Success) {\r\n if (result.Data != null) {\r\n valid = result.Data.IsValid;\r\n if (valid && result.Data.RegexType == LicensePlateRegexType.Special) {\r\n $(\"#licenseplatestatus\").val(\"isSpecial\");\r\n $(\"#div-speciallicenseplate\").show();\r\n Functions.LicensePlate.ShowInfoText();\r\n if (!$(\"#check-speciallicenseplate\").is(\":checked\")) {\r\n valid = true;\r\n }\r\n Functions.setFieldRequired(\"check-speciallicenseplate\", true);\r\n\r\n\r\n showLicensePlatePreview(\r\n result.Data.GraphicRegistrationNumberImageUrl,\r\n result.Data.PreviewBackgroundImageUrl,\r\n result.Data.TextBefore,\r\n result.Data.TextAfter);\r\n\r\n\r\n } else if (valid && result.Data.RegexType == LicensePlateRegexType.Standard) {\r\n $(\"#licenseplatestatus\").val(\"isNormal\");\r\n Functions.setFieldRequired(\"check-speciallicenseplate\", false);\r\n $(\"#div-speciallicenseplate\").hide();\r\n\r\n showLicensePlatePreview(\r\n result.Data.GraphicRegistrationNumberImageUrl,\r\n result.Data.PreviewBackgroundImageUrl,\r\n result.Data.TextBefore,\r\n result.Data.TextAfter);\r\n } else {\r\n Validation.errorMessageRegEx = Resources.ErrorMessages.errorLicensePlateRegEx;\r\n hideLicensePlatePreview();\r\n }\r\n } else {\r\n valid = false;\r\n Validation.errorMessageRegEx = Resources.ErrorMessages.errorLicensePlateRegEx;\r\n hideLicensePlatePreview();\r\n }\r\n }\r\n }\r\n function hideLicensePlatePreview() {\r\n $(\"#glp-bgimage\").css(\"background-image\", \"\");\r\n $(\"#lp-img\").css(\"background-image\", \"\");\r\n $(\"#lp-code\").text(\"\");\r\n $(\"#lp-number\").text(\"\");\r\n }\r\n\r\n function showLicensePlatePreview(bgFrameUrl: string, previewBackgroundImageUrl: string, textBefore: string, textAfter: string) {\r\n if (bgFrameUrl != null || previewBackgroundImageUrl != null) {\r\n $(\"#glp-container\").show();\r\n }\r\n if (bgFrameUrl != null) {\r\n $(\"#glp-bgimage\").css(\"background-image\", \"url(\" + bgFrameUrl + \")\");\r\n }\r\n if (previewBackgroundImageUrl != null) {\r\n $(\"#lp-img\").css(\"background-image\", \"url(\" + previewBackgroundImageUrl + \")\");\r\n }\r\n $(\"#lp-code\").text(textBefore);\r\n $(\"#lp-number\").text(textAfter);\r\n }\r\n function meetsSpecialLicensePlateRegEx(result: AjaxServiceResponse) {\r\n if (result.Status === App.Common.Constants.Api.ResponseMessage.Success) {\r\n Validation.errorMessageRegEx = Resources.ErrorMessages.errorLicensePlateRegEx;\r\n valid = result.Data.IsValid;\r\n showSpecialLicensePlateCheckbox(result);\r\n }\r\n }\r\n\r\n /* Replace lowercase with uppercase letters and minus with hyphen */\r\n const licenseplate = ($(\"#licenseplate\").val()).toUpperCase().replace(/\\\\–/g, \"-\").replace(/ /g, \"\") || \"\";\r\n const countrycode = $(\"#licenseplate_country\").val() || \"\";\r\n let valid = false;\r\n\r\n const data: IValidateLicensePlateData = {\r\n __RequestVerificationToken: (document.querySelector(\"input[name=__RequestVerificationToken]\")).value,\r\n licensePlate: licenseplate,\r\n countryCode: countrycode,\r\n isZba: false\r\n }\r\n\r\n $(\"#licenseplate\").val(licenseplate);\r\n /* we have to validate every kind of license plate, even special ones */\r\n $(\"#licenseplatestatus\").val(\"isInvalid\");\r\n\r\n if (JSON.stringify(data) === JSON.stringify(Validation.lastData)) {\r\n // call function with oldResult\r\n meetsSpecialLicensePlateRegEx(Validation.lastResult);\r\n } else if (licenseplate !== \"\" && countrycode !== \"\") {\r\n //ajax call and call function\r\n $.ajax({\r\n url: Resources.Apis.validateLicensePlateURL,\r\n type: \"POST\",\r\n async: false,\r\n data: data,\r\n success: (result: AjaxServiceResponse) => {\r\n Validation.lastData = data;\r\n Validation.lastResult = result;\r\n meetsSpecialLicensePlateRegEx(result);\r\n },\r\n error: (error) => {\r\n const errorString = JSON.stringify(error);\r\n App.Common.Logging.logWarning(`${Resources.Apis.validateLicensePlateURL} - Error: \"${errorString}\"`);\r\n Validation.errorMessageRegEx = Resources.ErrorMessages.errorLicensePlateRegExNoAnswer;\r\n }\r\n });\r\n }\r\n return valid;\r\n }, () => {\r\n return Validation.errorMessageRegEx ?? Resources.ErrorMessages.errorLicensePlateRegEx;\r\n });\r\n\r\n\r\n $.validator.addMethod(\"meetsRegExEvidence\", function (/*value, element*/) {\r\n const licenseplate = ($(\"#evidence-widget-licenseplate\").val()).toUpperCase().replace(/\\\\–/g, \"-\").replace(/ /g, \"\") || \"\";\r\n const countrycode = $(\"#evidence-widget-nationality\").val() || \"\";\r\n\r\n const data: IValidateLicensePlateData = {\r\n __RequestVerificationToken: (document.querySelector(\"input[name=__RequestVerificationToken]\")).value,\r\n licensePlate: licenseplate,\r\n countryCode: countrycode,\r\n isZba: false\r\n }\r\n let valid = false;\r\n\r\n $.ajax({\r\n url: Resources.Apis.validateLicensePlateURL,\r\n type: \"POST\",\r\n async: false,\r\n data: data,\r\n success: function (result: AjaxServiceResponse) {\r\n Validation.lastData = data;\r\n Validation.lastResult = result;\r\n if (result.Status === App.Common.Constants.Api.ResponseMessage.Success) {\r\n if (result.Data != null) {\r\n valid = result.Data.IsValid;\r\n } else {\r\n valid = false;\r\n Validation.errorMessageRegEx = Resources.ErrorMessages.errorLicensePlateRegEx;\r\n }\r\n\r\n }\r\n },\r\n error: (error) => {\r\n const errorString = JSON.stringify(error);\r\n App.Common.Logging.logWarning(`${Resources.Apis.validateLicensePlateURL} - Error: \"${errorString}\"`);\r\n Validation.errorMessageRegEx = Resources.ErrorMessages.errorLicensePlateRegExNoAnswer;\r\n }\r\n });\r\n return valid;\r\n }, function () {\r\n return Validation.errorMessageRegEx ?? Resources.ErrorMessages.errorLicensePlateRegEx;\r\n });\r\n\r\n $.validator.addMethod(\"telRegex\", function (value/*, element*/) {\r\n if (value.length) {\r\n return /^[+]?[\\d ]{1,25}$/im.test(value);\r\n }\r\n return true;\r\n });\r\n\r\n $.validator.addMethod(\"fitsLength\", function (/*value, element*/) {\r\n /* Replace minus with empty value */\r\n const licenseplate = ($(\"#licenseplate\").val())?.toString().replace(/–/g, \"\").replace(/ /g, \"\") || \"\";\r\n const length = licenseplate.length;\r\n let valid = false;\r\n // hideLicensePlatePreview();\r\n /* validate only if standard licence plate */\r\n if (length >= 2 && length <= 10) {\r\n valid = true;\r\n }\r\n return valid;\r\n }, function (/*params, element*/) {\r\n return Resources.ErrorMessages.licenceplateLength;\r\n });\r\n\r\n $.validator.addMethod(\"emailRegex\", function (value/*, element*/) {\r\n // eslint-disable-next-line no-useless-escape, no-control-regex\r\n return /^(?:[a-zA-Z0-9!#$%&'*+=?^_`\\{\\|\\}~\\-]+(?:\\.[a-zA-Z0-9!#$%&'*+=?^_`\\{\\|\\}~\\-]+)*|\"\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\"\")@(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\\-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\\-]*[a-zA-Z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9\\-]*[a-zA-Z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/.test(value);\r\n }, () => {\r\n return Resources.ErrorMessages.emailregexnotvalid;\r\n });\r\n\r\n $.validator.addMethod(\"equalToIgnoreCase\", function (value, element, param) {\r\n return this.optional(element) ||\r\n value.toLowerCase() === ($(param).val()).toLowerCase();\r\n });\r\n\r\n $.validator.addMethod(\"requiredDepends\",\r\n function (value, element) {\r\n const dependsFieldChecked = $(\"#\" + $(element).data(\"depends\") + \":checked\").length > 0;\r\n return !dependsFieldChecked ||\r\n jQuery.validator.methods.required.call(this, value, element);\r\n },\r\n function (/*params, element*/) {\r\n return Resources.ErrorMessages.fieldRequiredError;\r\n });\r\n }\r\n}","export class ShowHide {\r\n static display(el: Element | Element[] | HTMLCollectionOf | string, showHide: boolean) {\r\n if (typeof (el) === \"string\") {\r\n el = document.getElementById(el.toString());\r\n }\r\n\r\n if (el == null) return;\r\n\r\n if (showHide) {\r\n ShowHide.show(el);\r\n } else {\r\n ShowHide.hide(el);\r\n }\r\n }\r\n static show(el: Element | Element[] | HTMLCollectionOf | string): void {\r\n if (typeof(el) ===\"string\") {\r\n el = document.getElementById(el.toString());\r\n }\r\n if (el == null) return;\r\n\r\n if (Array.isArray(el)) {\r\n [].forEach.call(el, (element: HTMLElement) => ShowHide.show(element));\r\n } else {\r\n if (el instanceof Element) {\r\n const htmlEl = el as HTMLElement;\r\n\r\n htmlEl.style.display = \"\";\r\n htmlEl.removeAttribute(\"aria-hidden\");\r\n } else {\r\n for (let index = 0; index < el.length; index++) {\r\n ShowHide.show(el[index]);\r\n }\r\n }\r\n }\r\n }\r\n static hide(el: Element | Element[] | HTMLCollectionOf | string): void {\r\n if (typeof (el) === \"string\") {\r\n el = document.getElementById(el.toString());\r\n }\r\n if (el == null) return;\r\n\r\n if (Array.isArray(el)) {\r\n [].forEach.call(el, (element: HTMLElement) => ShowHide.hide(element));\r\n } else {\r\n if (el instanceof Element) {\r\n const htmlEl = el as HTMLElement;\r\n\r\n htmlEl.style.display = \"none\";\r\n htmlEl.setAttribute(\"aria-hidden\", \"aria-hidden\");\r\n } else {\r\n for (let index = 0; index < el.length; index++) {\r\n ShowHide.hide(el[index]);\r\n }\r\n }\r\n }\r\n }\r\n}","export class Alerts {\r\n static getHtml(message: string, alertClass: string, additionalClasses?: string, additionalAttributes?: string) {\r\n if (additionalClasses != null) {\r\n alertClass += \" \" + additionalClasses;\r\n }\r\n if (additionalAttributes == null)\r\n additionalAttributes = \"\";\r\n return `

${message}

`;\r\n }\r\n\r\n static getSuccessHtml(message: string, additionalClasses?: string, additionalAttributes?: string) {\r\n return Alerts.getHtml(message, \"alert-success\", additionalClasses, additionalAttributes);\r\n }\r\n\r\n static getDangerHtml(message: string, additionalClasses?: string, additionalAttributes?: string) {\r\n return Alerts.getHtml(message, \"alert-danger\", additionalClasses, additionalAttributes);\r\n }\r\n\r\n static getWarningHtml(message: string, additionalClasses?: string, additionalAttributes?: string) {\r\n return Alerts.getHtml(message, \"alert-warning\", additionalClasses, additionalAttributes);\r\n }\r\n\r\n static getInfoHtml(message: string, additionalClasses?: string, additionalAttributes?: string) {\r\n return Alerts.getHtml(message, \"alert-info\", additionalClasses, additionalAttributes);\r\n }\r\n\r\n static appendErrorMessage(jqueryResult: JQuery, message: string, additionalClasses?: string, additionalAttributes?: string) {\r\n jqueryResult.append(Alerts.getDangerHtml(message, additionalClasses, additionalAttributes));\r\n }\r\n\r\n static setErrorMessage(jqueryResult: JQuery, message: string, additionalClasses?: string, additionalAttributes?: string) {\r\n jqueryResult.empty();\r\n jqueryResult.append(Alerts.getDangerHtml(message, additionalClasses, additionalAttributes));\r\n }\r\n\r\n static setSuccessMessage(jqueryResult: JQuery, message: string, additionalClasses?: string, additionalAttributes?: string) {\r\n jqueryResult.empty();\r\n jqueryResult.append(Alerts.getSuccessHtml(message, additionalClasses, additionalAttributes));\r\n }\r\n\r\n static prependErrorMessage(jqueryResult: JQuery, message: string, additionalClasses?: string, additionalAttributes?: string) {\r\n jqueryResult.prepend(Alerts.getDangerHtml(message, additionalClasses, additionalAttributes));\r\n }\r\n}","//App.Common.Functions.Util\r\nexport class Util {\r\n static findInParents(element: HTMLElement, selectors: string): HTMLElement {\r\n if (element.matches(selectors)) {\r\n return element;\r\n }\r\n if (element.parentElement == null) {\r\n throw \"Parent not found\";\r\n }\r\n return Util.findInParents(element.parentElement, selectors);\r\n }\r\n}","import * as $ from \"jquery\"\r\nimport * as Cookies from \"js-cookie\";\r\nimport { DialogContext } from \"bootstrap-dialog\";\r\nimport { App } from \"../../_app\";\r\nimport { Resources } from \"../resources\";\r\nimport { Dialogs } from \"../dialogs/dialogs\";\r\nimport { LicensePlate } from \"./licenseplate\";\r\nimport { Validation } from \"./validation\";\r\nimport { ShowHide } from \"./show-hide\";\r\nimport { Alerts } from \"./alerts\";\r\nimport { Util } from \"./util\";\r\n\r\n//App.Common.Functions\r\nexport class Functions {\r\n static readonly LicensePlate = LicensePlate;\r\n static readonly Validation = Validation;\r\n static readonly ShowHide = ShowHide;\r\n static readonly Util = Util;\r\n static readonly Alerts = Alerts;\r\n static pageIsScrolling = false;\r\n\r\n static init(): void {\r\n Validation.init();\r\n Functions.initLoadHistory();\r\n Functions.displayNonSupportedBrowserMessage();\r\n Functions.displayAdBlockerBrowserMessage();\r\n Functions.displayChatToSupportedBrowser();\r\n Functions.addGlobalEventhandlers();\r\n }\r\n\r\n static getAntiForgeryToken() {\r\n const element = document.querySelector(\"[name=__RequestVerificationToken]\");\r\n return element.value;\r\n }\r\n\r\n static addGlobalEventhandlers() {\r\n Functions.bindLightbox();\r\n\r\n document.querySelectorAll(\"button[data-remove-selection-id]\").forEach(\r\n button => button.addEventListener(\"click\", () => Functions.removeSelection(button.getAttribute(\"data-remove-selection-id\"))));\r\n\r\n // Checks if Hamburger button was clicked\r\n $(\".navbar-toggle\").on(\"click\", function () {\r\n if ($(this).find(\"i\").hasClass(\"asf-ui-close\")) {\r\n $(this).find(\"i\").removeClass(\"asf-hamburger-navi\");\r\n $(this).find(\"i\").addClass(\"asf-ui-close\");\r\n $(\"#topNav\").slideDown();\r\n }\r\n else {\r\n $(this).find(\"i\").removeClass(\"asf-ui-close\");\r\n $(this).find(\"i\").addClass(\"asf-hamburger-navi\");\r\n $(\"#topNav\").slideUp();\r\n }\r\n });\r\n\r\n $(\"input, select, textarea\").on(\"focusout\",\r\n function () {\r\n App.inputChanged = true;\r\n });\r\n\r\n $(\"input[type=checkbox][readonly]\").each(function () {\r\n $(this).attr(\"disabled\", \"true\");\r\n });\r\n\r\n\r\n $(window).bind(\"resizeEnd\", function () {\r\n /* Collapsing Header */\r\n if ($(\".epi-edit\").length === 0) { // nicht für CMS\r\n const minContainerHeight = window.innerHeight - $(\"header\").height();\r\n $(\".dv-background-placeholder\").css(\"min-height\", minContainerHeight);\r\n }\r\n\r\n if (window.innerWidth >= 1024) {\r\n $(\"#topNav\").slideDown();\r\n\r\n } else if ($(\".navbar-toggle\").hasClass(\"collapsed\")) {\r\n $(\"#topNav\").slideUp();\r\n\r\n }\r\n });\r\n\r\n /* Warning to loose data on views with filled out input fields */\r\n $(\"#lang-list a\").click(function (e) {\r\n e.preventDefault();\r\n const langChanged = Dialogs.warningLooseOfData(this, false);\r\n if (langChanged === true) {\r\n App.saveLangInSession(this);\r\n }\r\n });\r\n\r\n // Toggle Menu on hover\r\n $(\"#main-nav-collapse .dropdown, #topNav .dropdown\").mouseenter(function () {\r\n if (window.innerWidth >= 1024) {\r\n $(this).addClass(\"open\");\r\n }\r\n }).mouseleave(function () {\r\n if (window.innerWidth >= 1024) {\r\n $(this).removeClass(\"open\");\r\n }\r\n }).click(function () {\r\n if (window.innerWidth >= 1024) {\r\n $(this).removeClass(\"open\");\r\n }\r\n });\r\n\r\n /* Show forms only if JS is activated */\r\n $(\"main\").find(\".nojs\").each(function () {\r\n $(this).removeClass(\"nojs\");\r\n })\r\n\r\n const options = document.querySelectorAll(\".selectpicker > option\");\r\n Array.prototype.forEach.call(options, function (el: Element) {\r\n const text = el.textContent;\r\n el.textContent = text.trim();\r\n });\r\n\r\n $(\".dropdown-toggle\").on(\"keydown\", function (e) {\r\n if (e.code === \"Space\") {\r\n $(e.target).trigger(\"click\");\r\n }\r\n });\r\n\r\n $(document).on(\"shown.bs.modal\", \".modal\", function () {\r\n $(this).find(\".btn:last\").focus();\r\n });\r\n\r\n $(document).on(\"hidden.bs.modal\", \".modal\", function () {\r\n const modals = $(\".modal\").is(\":visible\");\r\n if (modals) {\r\n $(\".modal:visible\").focus();\r\n }\r\n });\r\n\r\n }\r\n\r\n static setFieldRequired(id: string, required: boolean): boolean {\r\n if (required) {\r\n document.getElementById(id).setAttribute(\"required\", \"true\");\r\n } else {\r\n document.getElementById(id).removeAttribute(\"required\");\r\n }\r\n return required;\r\n }\r\n\r\n static hasValue(elem: HTMLElement) {\r\n return (elem)?.value != null;\r\n }\r\n\r\n static changeContrast(): void {\r\n $(\"body\").toggleClass(\"contrast\");\r\n Cookies.set(\"contrast\", String($(\"body\").hasClass(\"contrast\")), { expires: 365, secure: true, sameSite: \"lax\" });\r\n }\r\n\r\n static displayAdBlockerBrowserMessage() {\r\n const element = document.getElementById(\"ad-blocker-warning\");\r\n if (typeof element !== \"undefined\") {\r\n setTimeout(() => {\r\n if (!Object.prototype.hasOwnProperty.call(window, \"Matomo\")) {\r\n App.Common.Logging.logInfo(\"Es wurde die Adblocker Warnung angezeigt.\");\r\n Functions.ShowHide.show(element);\r\n }\r\n }, 4000);\r\n }\r\n }\r\n static displayNonSupportedBrowserMessage() {\r\n const browserCheckRegex: string = document.getElementById(\"body\").getAttribute(\"data-not-supported-browser-regex\");\r\n const browserNotSupportedMessage: string = document.getElementById(\"body\").getAttribute(\"data-not-supported-browser-message\");\r\n if (!(browserCheckRegex?.length > 0) || browserNotSupportedMessage == null)\r\n return;\r\n\r\n const browserCheckRegexArray = browserCheckRegex.split(\"','\");\r\n if (!Array.isArray(browserCheckRegexArray) || browserCheckRegexArray.length == 0)\r\n return;\r\n const userAgent = navigator.userAgent;\r\n let showNotSupportedBrowserMessage = false;\r\n browserCheckRegexArray.forEach((item) => {\r\n if (!showNotSupportedBrowserMessage) {\r\n const regexp = new RegExp(item, \"g\");\r\n showNotSupportedBrowserMessage = userAgent.match(regexp) != null;\r\n }\r\n });\r\n if (showNotSupportedBrowserMessage) {\r\n const container = document.createElement(\"div\");\r\n container.classList.add(\"container\");\r\n container.classList.add(\"d-print-none\");\r\n\r\n const row = document.createElement(\"div\");\r\n row.className = \"row\";\r\n const col = document.createElement(\"div\");\r\n col.classList.add(\"col-12\");\r\n col.classList.add(\"alert\");\r\n col.classList.add(\"alert-warning\");\r\n col.innerHTML = browserNotSupportedMessage;\r\n row.appendChild(col);\r\n container.appendChild(row);\r\n $(\"main\").prepend(container);\r\n }\r\n }\r\n\r\n static displayChatToSupportedBrowser() {\r\n\r\n document.getElementById(\"communication-widget-contact-toggle\")?.addEventListener(\"click\", () => {\r\n App.Common.Logging.logInfo(\"communication.widget.clicked\");\r\n ShowHide.show(\"contact-widget\");\r\n ShowHide.hide(\"communication-widget-contact-toggle\");\r\n });\r\n document.getElementById(\"contact-widget-header\")?.addEventListener(\"click\", () => {\r\n ShowHide.hide(\"contact-widget\");\r\n ShowHide.show(\"communication-widget-contact-toggle\");\r\n });\r\n\r\n const browserCheckRegexString: string = document.getElementById(\"body\").getAttribute(\"data-not-supported-chat-browser-regex\");\r\n if (!(browserCheckRegexString?.length > 0)) {\r\n\r\n return;\r\n }\r\n\r\n const browserCheckRegex = browserCheckRegexString.split(\",\");\r\n if (!Array.isArray(browserCheckRegex) || browserCheckRegex.length == 0) {\r\n return;\r\n }\r\n\r\n window.addEventListener(\"DOMContentLoaded\", () => {\r\n const userAgent = navigator.userAgent;\r\n let showChatButton = false;\r\n browserCheckRegex.forEach((item) => {\r\n if (!showChatButton && item.length > 0) {\r\n const regexp = new RegExp(item, \"g\");\r\n showChatButton = userAgent.match(regexp) != null;\r\n }\r\n });\r\n if (!showChatButton) {\r\n document.getElementById(\"communication-widget-chat\")?.classList.add(\"d-md-flex\");\r\n }\r\n });\r\n }\r\n\r\n static displaySubmitButtonsAfterCaptchaReady() {\r\n $(\".hidden-till-captcha-validated\").removeClass(\"hidden-till-captcha-validated\");\r\n }\r\n\r\n static dockCommunicationWidgetToFooter() {\r\n $(window).scroll(function () {\r\n Functions.makeCommunicationWidgetSticky();\r\n });\r\n\r\n $(window).on(\"show.bs.collapse\", function () {\r\n Functions.makeCommunicationWidgetSticky();\r\n });\r\n\r\n $(window).resize(function () {\r\n Functions.makeCommunicationWidgetSticky();\r\n });\r\n Functions.makeCommunicationWidgetSticky();\r\n }\r\n\r\n static makeCommunicationWidgetSticky() {\r\n if (Functions.needPageScrollingToFooter()) {\r\n const footerHeight = $(\"footer\").position().top - $(\"#communication-widget\").innerHeight();\r\n $(\"#communication-widget\").addClass(\"sticky\");\r\n $(\"#communication-widget\").css(\"top\", footerHeight + \"px\");\r\n } else {\r\n $(\"#communication-widget\").removeClass(\"sticky\");\r\n $(\"#communication-widget\").css(\"top\", \"\");\r\n }\r\n }\r\n\r\n static needPageScrollingToFooter() {\r\n return ($(window).height() + $(window).scrollTop()) > $(\"footer\")?.position()?.top;\r\n }\r\n\r\n static isModalDialogOpen() {\r\n return document.querySelector(\".modal.show\") != null;\r\n }\r\n static scrollToError() {\r\n if (Functions.isModalDialogOpen())\r\n return;\r\n let position = 0;\r\n if ($(\"form .input-validation-error:visible:first\").length > 0) {\r\n if (document.getElementById(\"PurchaseAssistantVehicleDataForm\") == null) {\r\n const firstError = $(\"form .input-validation-error:visible:first\");\r\n position = $(firstError).offset().top;\r\n if ($(firstError).parent().hasClass(\"datepicker\"))\r\n position -= 265;\r\n else if ($(firstError).parent().hasClass(\"mtcaptcha\"))\r\n position -= 265;\r\n else if (($(firstError).parent()[0].lastChild).id === \"IsAgbConfirmed-error\") {\r\n position = $(\"#IsAgbConfirmed\").offset().top;\r\n }\r\n else if (($(firstError).parent()[0].lastChild).id === \"checkagb-error\") {\r\n position = $(\"#checkagb\").offset().top;\r\n } else if ($(firstError)[0].id === \"evidence-widget-licenseplate\") {\r\n position = 0;\r\n }\r\n }\r\n }\r\n if (position > 0) {\r\n Functions.scrollToPosition(position - 150);\r\n }\r\n }\r\n\r\n static scrollToPosition(position: number, delay = 1000) {\r\n if (position >= 0 && Functions.pageIsScrolling === false) {\r\n Functions.pageIsScrolling = true;\r\n $(\"html, body\").animate({\r\n scrollTop: position\r\n }, delay).promise().then(function () {\r\n Functions.pageIsScrolling = false;\r\n });\r\n }\r\n }\r\n\r\n static isElementInViewport(el: HTMLElement) {\r\n const rect = el?.getBoundingClientRect();\r\n\r\n if (rect == null) {\r\n return false;\r\n }\r\n\r\n return (\r\n rect.top >= 0 &&\r\n rect.left >= 0 &&\r\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /* or $(window).height() */\r\n rect.right <= (window.innerWidth || document.documentElement.clientWidth) /* or $(window).width() */\r\n );\r\n }\r\n\r\n static fixAccessibility() {\r\n const originalhide = $.fn.hide;\r\n $.fn.hide = function () {\r\n // eslint-disable-next-line\r\n const r = originalhide.apply(this, arguments);\r\n r.attr(\"aria-hidden\", \"true\");\r\n Functions.makeCommunicationWidgetSticky();\r\n return r;\r\n };\r\n\r\n const originalshow = $.fn.show;\r\n $.fn.show = function () {\r\n // eslint-disable-next-line\r\n const r = originalshow.apply(this, arguments);\r\n r.attr(\"aria-hidden\", \"false\");\r\n Functions.makeCommunicationWidgetSticky();\r\n return r;\r\n };\r\n\r\n const originalslidedown = $.fn.slideDown;\r\n $.fn.slideDown = function () {\r\n // eslint-disable-next-line\r\n const r = originalslidedown.apply(this, arguments);\r\n r.attr(\"aria-hidden\", \"false\");\r\n Functions.makeCommunicationWidgetSticky();\r\n return r;\r\n };\r\n\r\n const originalslideup = $.fn.slideUp;\r\n $.fn.slideUp = function () {\r\n // eslint-disable-next-line\r\n const r = originalslideup.apply(this, arguments);\r\n r.attr(\"aria-hidden\", \"true\");\r\n Functions.makeCommunicationWidgetSticky();\r\n return r;\r\n };\r\n }\r\n\r\n static getResponsiveBreakpoint() {\r\n const envs = { xs: \"d-none\", sm: \"d-sm-none\", md: \"d-md-none\", lg: \"d-lg-none\", xl: \"d-xl-none\" };\r\n let env: envsKeyType = \"\" as envsKeyType;\r\n\r\n const $el = $(\"
\");\r\n $el.appendTo($(\"body\"));\r\n\r\n type envsKeyType = keyof typeof envs;\r\n\r\n for (let i = Object.keys(envs).length - 1; i >= 0; i--) {\r\n env = Object.keys(envs)[i] as envsKeyType;\r\n $el.addClass(envs[env]);\r\n if ($el.is(\":hidden\")) {\r\n break; // env detected\r\n }\r\n }\r\n $el.remove();\r\n return env;\r\n }\r\n\r\n static isLocalEnvironment() {\r\n return window.location.hostname === \"localhost\" ||\r\n window.location.hostname === \"[::1]\" ||\r\n window.location.hostname === \"127.0.0.1\";\r\n }\r\n\r\n static bindLightbox() {\r\n if (document.getElementsByClassName(\"lightbox\").length > 0) {\r\n Functions.bindLightBoxEvents();\r\n }\r\n }\r\n\r\n static bindLightBoxEvents() {\r\n const lightboxes = document.getElementsByClassName(\"lightbox\");\r\n Array.from(lightboxes).forEach((element) => {\r\n element.addEventListener(\"click\", function handleClick(event) {\r\n event.preventDefault();\r\n const url = element.getAttribute(\"href\");\r\n const xhr = new XMLHttpRequest();\r\n xhr.open(\"GET\", url, true);\r\n xhr.onreadystatechange = () => {\r\n if (xhr.readyState === XMLHttpRequest.DONE) {\r\n const status = xhr.status;\r\n if (status === 0 || (status >= 200 && status < 400)) {\r\n const res = document.createElement(\"div\");\r\n res.innerHTML = xhr.response.replaceAll(\"\\n\", \"\").replaceAll(\"\\r\", \"\");\r\n const content = res.querySelector(\"#main-content\").innerHTML;\r\n const title = res.querySelector(\"title\").innerText;\r\n BootstrapDialog.show({\r\n id: \"modalLightbox\",\r\n title: title,\r\n message: \"
\" + content + \"
\",\r\n buttons: [\r\n {\r\n label: Resources.ErrorMessages.lightboxCloseButtonLabel,\r\n cssClass: \"btn-primary\",\r\n action: function (dialogItself: DialogContext) {\r\n dialogItself.close();\r\n }\r\n }\r\n ]\r\n });\r\n }\r\n }\r\n };\r\n xhr.send();\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Removes query string from URL and reloads the page (to avoid duplicate Modal Dialog message, for example)\r\n */\r\n static removeQueryStringAndReloadWindow() {\r\n // Workaround for Firefox. Fixed in 70.0a1 https://bugzilla.mozilla.org/show_bug.cgi?id=1422334:\r\n // eslint-disable-next-line no-self-assign\r\n location.hash = location.hash;\r\n\r\n // Replace queryString and refresh\r\n window.history.replaceState({}, document.title, window.location.pathname);\r\n\r\n Functions.reloadLocation();\r\n }\r\n\r\n static reloadLocation() {\r\n //TODO: is this an issue? - is there some better solution?\r\n //https://stackoverflow.com/questions/55127650/location-reloadtrue-is-deprecated\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (window.location as any).reload(true);\r\n }\r\n\r\n static addOrRemoveShiftFilterbuttonClass(searchMenuContentIdName: string, searchSelectionIdName: string) {\r\n if (document.getElementById(\"filterView\") != null) {\r\n // Add shift-filterbutton class if the search menu is opened or if .search-list-selection has children\r\n if (document.getElementById(searchMenuContentIdName)?.getAttribute(\"aria-hidden\") == \"false\" || $(searchSelectionIdName).children().length > 0) {\r\n document.getElementById(\"filterView\")?.classList.add(\"shift-filterbutton\");\r\n } else {\r\n document.getElementById(\"filterView\")?.classList.remove(\"shift-filterbutton\");\r\n }\r\n }\r\n }\r\n static hideHistory() {\r\n if ($(\"#historyView\").is(\":visible\")) {\r\n Functions.changeSign();\r\n }\r\n }\r\n\r\n static changeSign() {\r\n const icon = $(\"#viewHistoryContainer\").find(\"i\");\r\n const view = $(\"#historyView\");\r\n const link = $(\"#loadHistory\");\r\n\r\n Functions.toggleAccessibility(icon, view, link, link.data(\"open\"), link.data(\"close\"));\r\n }\r\n\r\n static toggleAccessibility(icon: JQuery, view: JQuery, link: JQuery, opentext?: string, closetext?: string) {\r\n if (!view.hasClass(\"show\") && !view.hasClass(\"collapsing\")) {\r\n view.collapse(\"toggle\");\r\n icon.removeClass(\"asf-ui-plus\").addClass(\"asf-ui-close\");\r\n link.attr(\"aria-label\", closetext);\r\n } else if (view.hasClass(\"show\") && !view.hasClass(\"collapsing\")) {\r\n view.collapse(\"toggle\");\r\n icon.addClass(\"asf-ui-plus\").removeClass(\"asf-ui-close\");\r\n link.attr(\"aria-label\", opentext);\r\n }\r\n }\r\n\r\n static initLoadHistory() {\r\n $(\"#loadHistory, .sign\").on(\"click\",\r\n function (e) {\r\n Functions.changeSign();\r\n e.preventDefault();\r\n if ($(\"#historyView\").text().trim() === $(\"#loadHistory\").data(\"loading\").trim()) {\r\n $.ajax({\r\n url: $(\"#loadHistory\").data(\"url\"),\r\n type: \"GET\",\r\n cache: false,\r\n success: function (result) {\r\n if (result.Status === App.Common.Constants.Api.ResponseMessage.Success) {\r\n $(\"#historyView\").html(result.Data);\r\n } else {\r\n const errorText = (typeof $(\"#historyView\").data(\"error\") !== \"undefined\")\r\n ? $(\"#historyView\").data(\"error\")\r\n : result.Message;\r\n $(\"#historyView\").text(errorText);\r\n }\r\n },\r\n error: function (error) {\r\n const errorString = JSON.stringify(error);\r\n App.Common.Logging.logWarning(`${$(\"#loadHistory\").data(\"url\")} - Error: \"${errorString}\"`);\r\n $(\"#historyView\").text($(this).data(\"error\"));\r\n }\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n static removeSelection(fieldId: string) {\r\n const field = document.getElementById(fieldId);\r\n field.value = \"\";\r\n }\r\n\r\n static buttonLoader(field: string | HTMLElement, isLoading: boolean) {\r\n const self = typeof field === \"string\" ? document.getElementById(field) : field;\r\n if (!self) return;\r\n const loadingText: string = self.getAttribute(\"data-loading-text\") ??\r\n document.getElementById(\"body\").getAttribute(\"data-loading-text\");\r\n if (isLoading && self.getAttribute(\"disabled\") === null) {\r\n self.setAttribute(\"disabled\", \"disabled\");\r\n self.setAttribute(\"data-btn-text\", self.innerHTML);\r\n self.innerHTML = \" \" + loadingText;\r\n self.classList.add(\"has-spinner\");\r\n } else if (!isLoading && self.getAttribute(\"disabled\") === \"disabled\") {\r\n self.innerHTML = self.getAttribute(\"data-btn-text\");\r\n self.classList.remove(\"has-spinner\");\r\n self.removeAttribute(\"disabled\");\r\n }\r\n }\r\n\r\n /**\r\n * Gets URL parameter by name. Url is optional.\r\n * @param {string} name Name of the parameter to read from URL\r\n * @param {string} url Url. Null to get from window.location.href.\r\n */\r\n static getUrlParameterByName(name: string, url?: string) {\r\n if (!url)\r\n url = window.location.href;\r\n // eslint-disable-next-line no-useless-escape\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n\r\n const regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\", \"i\");\r\n\r\n const results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return \"\";\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n }\r\n\r\n static isIeOrEdge() {\r\n const userAgent = window.navigator.userAgent;\r\n return userAgent.indexOf(\"MSIE \") >= 0 || userAgent.indexOf(\"rv:11.0\") >= 0 || userAgent.indexOf(\"Edge/\") >= 0;\r\n }\r\n\r\n static replaceAll(string: string, from: string, to: string) {\r\n const escapedRegex = from.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\r\n const regexp = new RegExp(escapedRegex, \"ig\");\r\n return string.replace(regexp, to);\r\n }\r\n\r\n static isMobileWorkflow() {\r\n return App.Common.Functions.getUrlParameterByName(\"origin\") === \"Mobile\";\r\n }\r\n\r\n static germanDateStringTODateFormat(date: string | Date) {\r\n let dateString: string;\r\n if (date instanceof Date)\r\n dateString = date.toString();\r\n else\r\n dateString = date;\r\n\r\n const re = /^\\d{2}\\.\\d{2}\\.\\d{4}$/;\r\n if (re.test(dateString)) {\r\n const adata = dateString.split(\".\");\r\n const dd = parseInt(adata[0], 10);\r\n const mm = parseInt(adata[1], 10);\r\n const yyyy = parseInt(adata[2], 10);\r\n return new Date(yyyy, mm - 1, dd);\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n static formatDate(d: string | number | Date) {\r\n const date = new Date(d);\r\n const dd = date.getDate();\r\n const mm = date.getMonth() + 1;\r\n const yyyy = date.getFullYear();\r\n\r\n return (dd < 10 ? \"0\" : \"\")\r\n + dd + \".\"\r\n + (mm < 10 ? \"0\" : \"\")\r\n + mm + \".\" + yyyy;\r\n }\r\n\r\n static setCheckboxValue(checkbox: HTMLInputElement, value: boolean): void {\r\n if (checkbox.checked != value) {\r\n checkbox.checked = value;\r\n checkbox.dispatchEvent(new Event(\"change\"));\r\n }\r\n }\r\n}","export class Version {\r\n //replaced with real version before build for deployments via Azure Devops pipeline\r\n //see steps_build.yml\r\n static readonly ClientVersion = \"10.2.2.31002\";\r\n}\r\n","import { Version } from \"../version\";\r\n\r\n//App.Common.Logging\r\nexport class Logging {\r\n static maxMessageLength = 2000;\r\n static clientVersionLogMessage = \", Client version: \" + Version.ClientVersion;\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n static logConsole(...data: any[]): void {\r\n if (console && console.log) {\r\n console.log(data);\r\n }\r\n }\r\n\r\n static logErrorEvent(event: ErrorEvent): void {\r\n Logging.sendLog(\"logerror\", null, event);\r\n }\r\n\r\n static logError(message: string): void {\r\n Logging.sendLog(\"logerror\", message);\r\n }\r\n\r\n static logWarning(message: string): void {\r\n Logging.sendLog(\"logwarning\", message);\r\n }\r\n\r\n static logInfo(message: string): void {\r\n Logging.sendLog(\"loginfo\", message);\r\n }\r\n\r\n static logDebug(message: string): void {\r\n Logging.sendLog(\"logdebug\", message);\r\n }\r\n\r\n static sendLog(type: string, message: string, event?: ErrorEvent) {\r\n message = Logging.appendDebuggingInfo(message, event);\r\n\r\n Logging.logConsole(message);\r\n\r\n const req = new XMLHttpRequest();\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const data: any = {\r\n message: Logging.limitMessageAndAppendVersion(message),\r\n __RequestVerificationToken: $(\"input[name=\\\"__RequestVerificationToken\\\"]\").val()\r\n }\r\n req.open(\"POST\", \"/api/logging/\" + type, true);\r\n req.setRequestHeader(\"Content-Type\", \"application/json;charset=UTF-8\");\r\n req.send(JSON.stringify(data));\r\n }\r\n\r\n private static appendDebuggingInfo(message: string, event?: ErrorEvent): string {\r\n if (!Logging.isNullOrUndefined(event)) {\r\n message = \"ErrorEvent: \";\r\n message += Logging.useDefaultIfEmpty(Logging.getErrorEventMessage(event), \", ErrorEvent: \" + JSON.stringify(event));\r\n message += \"\\n\" + Logging.getPageInfo();\r\n message += \"\\n\" + Logging.useDefaultIfEmpty(Logging.getErrorEventStackTrace(event), \"\");\r\n\r\n if (!Logging.isNullOrUndefined(event.filename)) {\r\n message += `\\nin file \"${event.filename}\"`;\r\n if (!Logging.isNullOrUndefined(event.lineno)) {\r\n message += ` line ${event.lineno}`;\r\n }\r\n if (!Logging.isNullOrUndefined(event.colno)) {\r\n message += ` column ${event.colno}`;\r\n }\r\n }\r\n } else {\r\n message = Logging.useDefaultIfEmpty(message, \"\");\r\n message += \"\\n\" + Logging.getPageInfo();\r\n message += \"\\n\" + Logging.useDefaultIfEmpty(Logging.getStackTrace(), \"\");\r\n }\r\n return message;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n static isNullOrUndefined(obj: any): boolean {\r\n return typeof obj === \"undefined\" || obj == null;\r\n }\r\n private static useDefaultIfEmpty(message: string, defaultMessage: string): string {\r\n return (message == null || message.length == 0) ? defaultMessage : message;\r\n }\r\n private static getErrorEventMessage(event: ErrorEvent): string {\r\n if (!Logging.isNullOrUndefined(event.error)) {\r\n return Logging.isNullOrUndefined(event.error.message) ? event.error : event.error.message;\r\n }\r\n }\r\n private static getPageInfo(): string {\r\n return ` at page \"${location.href}\"`;\r\n }\r\n\r\n private static getErrorEventStackTrace(event: ErrorEvent): string {\r\n return Logging.isNullOrUndefined(event.error) || Logging.isNullOrUndefined(event.error.stack) ? Logging.getStackTrace() : event.error.stack;\r\n }\r\n private static getStackTrace(): string {\r\n return (new Error())?.stack?.replace(\"Error\\n\", \"\");\r\n }\r\n\r\n static logBrowserInfos() {\r\n const ww = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\r\n const wh = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0);\r\n const sw = window.screen.width;\r\n const sh = window.screen.height;\r\n\r\n let message = \"OS:\" + navigator.appVersion;\r\n message += \"; Agent:\" + navigator.userAgent;\r\n message += \"; Window Size:\" + ww + \"x\" + wh;\r\n message += \"; Screen Size:\" + sw + \"x\" + sh;\r\n Logging.logInfo(message);\r\n }\r\n\r\n static limitMessageAndAppendVersion(message: string): string {\r\n return message.substring(0, Logging.maxMessageLength - Logging.clientVersionLogMessage.length) + Logging.clientVersionLogMessage;\r\n }\r\n}\r\n","import * as $ from \"jquery\"\r\nimport { WindowEx } from \"../../window-ex\";\r\nimport { App } from \"../../_app\";\r\n\r\n//App.Common.Navigation\r\nexport class Navigation {\r\n static init(): void {\r\n /**\r\n * Bootstrap Navigation Menu (left side)\r\n */\r\n const originalClassesData = \"original-classes\";\r\n const navigationMenuButton = $(\"#navbarLinks\");\r\n navigationMenuButton.on(\"show.bs.collapse\", function () {\r\n $(\"body\").addClass(\"full-screen\");\r\n\r\n const leftContainer = $(\"#navbar-left-container\");\r\n leftContainer.data(originalClassesData, leftContainer.attr(\"class\"));\r\n leftContainer.attr(\"class\", \"col-12\");\r\n\r\n const rightContainer = $(\"#navbar-right-container\");\r\n rightContainer.addClass(\"d-none\");\r\n\r\n const menuOpenIcon = $(\"#hamburger-menu-icon\");\r\n menuOpenIcon.addClass(\"d-none\");\r\n const menuCloseIcon = $(\"#hamburger-menu-close-icon\");\r\n menuCloseIcon.removeClass(\"d-none\");\r\n });\r\n navigationMenuButton.on(\"hidden.bs.collapse\", function () {\r\n $(\"body\").removeClass(\"full-screen\");\r\n\r\n const leftContainer = $(\"#navbar-left-container\");\r\n leftContainer.attr(\"class\", leftContainer.data(originalClassesData));\r\n\r\n const rightContainer = $(\"#navbar-right-container\");\r\n rightContainer.removeClass(\"d-none\");\r\n });\r\n navigationMenuButton.on(\"hide.bs.collapse\", function () {\r\n // Just clicked on hide, not hidden yet\r\n const menuOpenIcon = $(\"#hamburger-menu-icon\");\r\n menuOpenIcon.removeClass(\"d-none\");\r\n const menuCloseIcon = $(\"#hamburger-menu-close-icon\");\r\n menuCloseIcon.addClass(\"d-none\");\r\n });\r\n $(\".navbar-toggler\").removeClass(\"invisible\");\r\n\r\n const navigationDropDown = $(\".nav-item.dropdown\");\r\n if (navigationDropDown.length) {\r\n navigationDropDown.on(\"show.bs.dropdown\",\r\n function (data) {\r\n $(data.target).find(\".nav-link-plus-container i\").removeClass(\"asf-ui-plus\").addClass(\"asf-ui-close\");\r\n });\r\n navigationDropDown.on(\"hide.bs.dropdown\",\r\n function (data) {\r\n $(data.target).find(\".nav-link-plus-container i\").removeClass(\"asf-ui-close\").addClass(\"asf-ui-plus\");\r\n });\r\n }\r\n\r\n const contrastLinks = document.getElementsByClassName(\"change-contrast\") as HTMLCollectionOf;\r\n Array.from(contrastLinks).forEach(link => {\r\n link.addEventListener(\"click\", function () {\r\n App.Common.Functions.changeContrast();\r\n })\r\n });\r\n\r\n Navigation.closeOpenedMenu();\r\n Navigation.addResizeEvent();\r\n }\r\n static closeOpenedMenu() {\r\n if ($(\"body\").hasClass(\"full-screen\")) {\r\n // Menu is opened\r\n const breakpoint = App.Common.Functions.getResponsiveBreakpoint();\r\n if (breakpoint !== \"xs\" && breakpoint !== \"sm\" && breakpoint !== \"md\") {\r\n $(\"body\").addClass(\"no-transition\");\r\n $(\".navbar-toggler\").click();\r\n $(\"body\").removeClass(\"no-transition\");\r\n }\r\n }\r\n }\r\n\r\n static addResizeEvent() {\r\n $(window).resize(function () {\r\n const win = this as WindowEx;\r\n if (win.resizeTO) window.clearTimeout(win.resizeTO);\r\n win.resizeTO = window.setTimeout(function () {\r\n $(this).trigger(\"resizeEnd\");\r\n }, 200);\r\n });\r\n\r\n $(window).bind(\"resizeEnd\", function () {\r\n Navigation.closeOpenedMenu();\r\n });\r\n }\r\n}","import { Constants } from \"./constants\";\r\nimport { Contact } from \"./contact/_contact\";\r\nimport { Dialogs } from \"./dialogs/dialogs\";\r\nimport { Faq } from \"./faq/_faq\";\r\nimport { Functions } from \"./functions/_functions\";\r\nimport { Logging } from \"./logging\";\r\nimport { Navigation } from \"./navigation/_navigation\";\r\n\r\n//App.Common\r\nexport class Common {\r\n static readonly Constants = Constants;\r\n static readonly Contact = Contact;\r\n static readonly Faq = Faq;\r\n static readonly Functions = Functions;\r\n static readonly Logging = Logging;\r\n static readonly Navigation = Navigation;\r\n static readonly Dialogs = Dialogs;\r\n\r\n static init(): void {\r\n Functions.init();\r\n Navigation.init();\r\n Contact.init();\r\n Faq.init();\r\n }\r\n\r\n}","export class DateTime {\r\n static serverTimeDifference: number;\r\n static init(): void {\r\n const body = document.getElementById(\"body\");\r\n const attValue = body.getAttribute(\"data-now\");\r\n const serverDate = new Date(attValue);\r\n const clientDate = new Date();\r\n const difference = serverDate.getTime() - clientDate.getTime();\r\n const threshold = 3 * 60 * 1000;\r\n\r\n DateTime.serverTimeDifference = difference - (difference % threshold);\r\n }\r\n static now(): Date {\r\n const clientDate = new Date();\r\n const difference = clientDate.getTime() + DateTime.serverTimeDifference;\r\n const now = new Date(difference);\r\n\r\n return now;\r\n }\r\n}\r\n","import { App } from \"../../_app\";\r\n\r\nexport class Lazy {\r\n\r\n static init(): void {\r\n const screenWidth: number = window.innerWidth || $(window).width();\r\n\r\n const lazyMobileItems = document.getElementsByClassName(\"lazyMobile\") as HTMLCollectionOf;\r\n Array.from(lazyMobileItems).forEach(div => {\r\n div.style.backgroundImage = div.getAttribute(\"data-src\");\r\n });\r\n\r\n const lazyItems = document.getElementsByClassName(\"lazy\") as HTMLCollectionOf;\r\n Array.from(lazyItems).forEach(item => {\r\n \r\n // hasclass dv-channel-image immer\r\n if (item.classList.contains(\"dv-channel-image\")) {\r\n item.style.backgroundImage = \"url(\" + item.getAttribute(\"data-src\") + \")\";\r\n\r\n }\r\n // hasbclass dv-background-image nur wenn 1024 \r\n if (screenWidth >= 1024) {\r\n if (item.classList.contains(\"dv-background-image\") ||\r\n item.classList.contains(\"dv-footer-background-image\")) {\r\n\r\n item.style.backgroundImage = \"url(\" + item.getAttribute(\"data-src\") + \")\";\r\n item.classList.remove(\"no-bg\");\r\n Lazy.setHeader(true);\r\n } else { \r\n item.classList.add(\"no-bg\");\r\n Lazy.setHeader(false);\r\n }\r\n }\r\n });\r\n App.Common.Functions.dockCommunicationWidgetToFooter();\r\n\r\n }\r\n private static setHeader(colorOrNot: boolean) {\r\n const headers = document.getElementsByClassName(\"header-color\") as HTMLCollectionOf;\r\n Array.from(headers).forEach(header => {\r\n header.style.color = colorOrNot ? header.getAttribute(\"data-color\") : \"unset\";\r\n });\r\n }\r\n}","import * as Cookies from \"js-cookie\";\r\nimport { Common } from \"./global/common\";\r\nimport { DateTime } from \"./global/date-time\";\r\nimport { Lazy } from \"./global/lazy/_lazy\";\r\nimport { UserInterface } from \"./global/user-interface\";\r\n\r\nexport class App {\r\n static readonly Common = Common;\r\n static readonly Lazy = Lazy;\r\n static readonly UserInterface = UserInterface;\r\n static readonly DateTime = DateTime;\r\n\r\n static loginSessionAboutToExpireTimer: number;\r\n\r\n static get currentLanguage(): string { return document.documentElement.getAttribute(\"data-currentLanguage\"); }\r\n static get loginSessionAboutToExpireSeconds(): number { return Number(document.getElementById(\"body\").getAttribute(\"data-loginSessionAboutToExpireSeconds\")); }\r\n static set loginSessionAboutToExpireSeconds(seconds: number) { document.getElementById(\"body\").setAttribute(\"data-loginSessionAboutToExpireSeconds\", seconds.toString()); }\r\n static displayWarningOnUnload = true;\r\n static inputChanged = false;\r\n\r\n static isCiamSet: boolean;\r\n static isCiam: boolean;\r\n static isAnonymous: boolean;\r\n static allowAspNetSessionIsAboutToExpireDialog: boolean;\r\n\r\n static validator: JQueryValidation.Validator = null;\r\n\r\n static init(autocreation = false): void {\r\n const body = document.getElementById(\"body\");\r\n const ciamFlag = body.getAttribute(\"data-is-ciam\");\r\n App.isCiamSet = ciamFlag != null;\r\n App.isCiam = ciamFlag == \"true\";\r\n App.isAnonymous = body.getAttribute(\"data-is-anonymous\") == \"true\";\r\n App.allowAspNetSessionIsAboutToExpireDialog = body.getAttribute(\"data-allow-asp-net-session-is-about-to-expire-dialog\") == \"true\";\r\n\r\n window.addEventListener(\"error\", (event) => {\r\n setTimeout(() => { App.Common.Logging.logErrorEvent(event); }, 1);\r\n });\r\n\r\n /* Show forms only if JS is activated */\r\n const noJsItems = document.getElementsByClassName(\"nojs\") as HTMLCollectionOf;\r\n Array.from(noJsItems).forEach(item => {\r\n item.classList.remove(\"nojs\");\r\n });\r\n\r\n // eslint-disable-next-line\r\n (window as any).App = App;\r\n\r\n App.DateTime.init();\r\n App.Common.init();\r\n App.UserInterface.init();\r\n if (!autocreation) {\r\n App.Lazy.init();\r\n }\r\n\r\n //for this log is an antiForgeryToken required. this is not available at this point. either move token before scripts or use some kind of event\r\n App.Common.Logging.logDebug(\"App initialized\");\r\n }\r\n\r\n static setEpsLanguageCookieIfNotExists() {\r\n if (!Cookies.get(\"epslanguage\")) {\r\n const selectedLanguageCode = $(\"html\").attr(\"lang\");\r\n App.setEpsLanguageCookie(selectedLanguageCode);\r\n }\r\n }\r\n\r\n static setEpsLanguageCookie(languageCode: string) {\r\n Cookies.set(\"epslanguage\", languageCode, { expires: 365, secure: true, sameSite: \"lax\" });\r\n }\r\n\r\n static saveLangInSession(link: HTMLAnchorElement | JQuery) {\r\n const langCode = $(link).data(\"langcode\");\r\n App.setEpsLanguageCookie(langCode);\r\n }\r\n\r\n static setLoginSessionAboutToExpireTimer() {\r\n if (App.loginSessionAboutToExpireTimer) {\r\n clearTimeout(App.loginSessionAboutToExpireTimer);\r\n }\r\n if (App.loginSessionAboutToExpireSeconds) {\r\n App.loginSessionAboutToExpireTimer = window.setTimeout(() => { App.Common.Dialogs.openModalSessionAboutToExpire(document.getElementById(\"sessionIsAboutToExpireDialog\")) }, App.loginSessionAboutToExpireSeconds * 1000);\r\n }\r\n }\r\n}","import { DialogOptions, DialogStatic } from \"../../@types/bootstrap-dialog\";\r\ninterface BootstrapDialog extends DialogStatic {\r\n defaultOptions: DialogOptions\r\n}\r\n\r\n\r\nexport class UserInterface {\r\n static init(): void {\r\n\r\n // Bootstrap Dialog Custom settings\r\n $.extend((BootstrapDialog as BootstrapDialog).defaultOptions, {\r\n closable: false,\r\n animate: false\r\n });\r\n\r\n // Remove whitespace around links\r\n document.querySelectorAll(\".col-12.dv-action-line a.btn-link\").forEach((element) => {\r\n element.innerHTML = element.innerHTML?.trim();\r\n });\r\n\r\n document.querySelectorAll(\"a.btn-back\").forEach((element) => {\r\n element.addEventListener(\"click\", () => { history.back(); });\r\n });\r\n }\r\n}\r\n","import * as $ from \"jquery\"\r\nimport { IMtCaptcha } from \"mt-captcha/IMtCaptcha\";\r\nimport { Resources } from \"../../../../Common/Web.UI/CommonContent/scripts/app/global/resources\";\r\nimport { AjaxServiceResponse } from \"../../../../Common/Web.UI/CommonContent/scripts/app/global/service-response\";\r\nimport { App } from \"../../../../Common/Web.UI/CommonContent/scripts/app/_app\";\r\n\r\ndeclare const mtcaptcha: IMtCaptcha;\r\n\r\nexport class ContactEvidence {\r\n\r\n static init(): void {\r\n if (document.getElementById(\"contact-form\") != null) {\r\n const $contactForm = $(\"#contact-form\");\r\n $contactForm.validate({\r\n submitHandler: function (form: HTMLFormElement) {\r\n App.Common.Functions.buttonLoader(\"submitContactForm\", true);\r\n\r\n\r\n document.getElementById(\"error-container\").innerHTML = \"\";\r\n\r\n $.ajax({\r\n url: form.getAttribute(\"action\"),\r\n type: \"POST\",\r\n data: {\r\n __RequestVerificationToken: $(\"input[name=\\\"__RequestVerificationToken\\\"]\", form).val(),\r\n \"name\": $(\"#name\").val() || \"\",\r\n \"email\": $(\"#email\").val() || \"\",\r\n \"licenseplate\": $(\"#licenseplate\").val() || \"\",\r\n \"telephone\": $(\"#telephone\").val() || \"\",\r\n \"subject\": $(\"#subject\").val() || \"\",\r\n \"message\": $(\"#message\").val() || \"\",\r\n \"CaptchaToken\": $(\"#contact-form\").find(\".mtcaptcha-verifiedtoken\").first().val()\r\n },\r\n success: function (response: AjaxServiceResponse) {\r\n if (response.Status === App.Common.Constants.Api.ResponseMessage.Success) {\r\n $(\"#contact-main-form\").hide();\r\n $(\"#faqPageLink\").hide();\r\n $(\"#startPageLink\").show();\r\n\r\n $(\"#infobox\").html($(\"#hide-on-scroll\").data(\"sent\"));\r\n\r\n $contactForm.trigger(\"reset\");\r\n $(\"#faqCategory\").val(\"0\");\r\n document.getElementById(\"error-container\").innerHTML = App.Common.Functions.Alerts.getSuccessHtml(response.Message);\r\n $contactForm.find(\"input[type=text], input[type=email], textarea\").val(\"\");\r\n $(\".sent\").each(function () {\r\n $(this).html($(this).data(\"sent\"));\r\n });\r\n } else {\r\n document.getElementById(\"error-container\").innerHTML = App.Common.Functions.Alerts.getDangerHtml(response.Message);\r\n $(window).scrollTop(0);\r\n }\r\n const mtCaptcha = document.getElementsByClassName(\"mtcaptcha\");\r\n for (let i = 0; i < mtCaptcha.length; i++) {\r\n mtcaptcha.resetUI(mtCaptcha[i].id);\r\n }\r\n },\r\n error: function (jqXHR: JQuery.jqXHR, textStatus: JQuery.Ajax.ErrorTextStatus, errorThrown: string) {\r\n App.Common.Logging.logConsole(\"error\", jqXHR, textStatus, errorThrown);\r\n document.getElementById(\"error-messages\").innerHTML = App.Common.Functions.Alerts.getDangerHtml(Resources.ErrorMessages.serverError);\r\n $(window).scrollTop(0);\r\n },\r\n complete: () => {\r\n App.Common.Functions.buttonLoader(\"submitContactForm\", false);\r\n }\r\n });\r\n return false;\r\n },\r\n rules: {\r\n Email: {\r\n required: true,\r\n emailRegex: true\r\n },\r\n Telephone: {\r\n telRegex: true\r\n },\r\n Licenseplate: {\r\n hasUnicodeNumberSpaceMinus: true\r\n },\r\n Message: {\r\n required: true,\r\n maxlength: 2000\r\n },\r\n \"mtcaptcha-verifiedtoken\": {\r\n required: {\r\n depends: function () {\r\n return $(\"#contact-form\").find(\".mtcaptcha-verifiedtoken\").length > 0;\r\n }\r\n }\r\n }\r\n },\r\n messages: {\r\n Name: {\r\n required: Resources.ErrorMessages.fieldRequiredError\r\n },\r\n Email: {\r\n required: Resources.ErrorMessages.emailRequiredError,\r\n email: Resources.ErrorMessages.emailNotValid\r\n },\r\n Telephone: {\r\n telRegex: Resources.ErrorMessages.errorTelRegex\r\n },\r\n Licenseplate: {\r\n hasUnicodeNumberSpaceMinus: Resources.ErrorMessages.errorHasUnicodeNumberSpaceMinus\r\n },\r\n Message: {\r\n required: Resources.ErrorMessages.fieldRequiredError,\r\n maxlength: Resources.ErrorMessages.errorMaxLength\r\n },\r\n \"mtcaptcha-verifiedtoken\": {\r\n required: Resources.ErrorMessages.captchaRequiredError\r\n }\r\n }\r\n });\r\n\r\n }\r\n }\r\n}","import * as Cookies from \"js-cookie\";\r\nimport { Resources } from \"../../../../Common/Web.UI/CommonContent/scripts/app/global/resources\";\r\nimport { App } from \"../../../../Common/Web.UI/CommonContent/scripts/app/_app\";\r\nimport { DynaTrace } from \"../../../../Common/Web.UI/CommonContent/scripts/app/dynatrace\";\r\nimport { ContactEvidence } from \"./_contact-evidence\";\r\n\r\ndeclare const dtrum: DynaTrace;\r\nexport class Evidenz {\r\n\r\n private static cookieEnabled = false;\r\n\r\n static cookiesEnabled(): boolean {\r\n let cookieEnabled = (navigator.cookieEnabled) ? true : false;\r\n\r\n if (typeof navigator.cookieEnabled == \"undefined\" && !cookieEnabled) {\r\n document.cookie = \"testcookie\";\r\n cookieEnabled = (document.cookie.indexOf(\"testcookie\") != -1) ? true : false;\r\n }\r\n return cookieEnabled;\r\n }\r\n\r\n static setLicensePlateCookie() {\r\n const d = new Date();\r\n d.setTime(d.getTime() + (20 * 60 * 1000));\r\n if ($(\"#licenseplate_country option:selected\").length > 0 &&\r\n $(\"#licenseplate_country option:selected\").val() != \"\") {\r\n Cookies.set(\"licenseplate_country\", $(\"#licenseplate_country option:selected\").val().toString(), { expires: d, secure: true, sameSite: \"lax\" });\r\n }\r\n\r\n let checkboxValue = \"\";\r\n if ($(\"#check-speciallicenseplate\").is(\":checked\")) {\r\n checkboxValue = \"on\";\r\n }\r\n Cookies.set(\"licenseplate_special\", checkboxValue, { expires: d, secure: true, sameSite: \"lax\" });\r\n\r\n $(\"#licenseplate\").val($(\"#licenseplate\").val().toString().toUpperCase().replace(/–/g, \"-\").replace(/ /g, \"\"));\r\n Cookies.set(\"licenseplate\", $(\"#licenseplate\").val().toString(), { expires: d, secure: true, sameSite: \"lax\" });\r\n }\r\n\r\n static isLicensePlateSet() {\r\n const licenseplate: HTMLInputElement = document.getElementById(\"licenseplate\");\r\n const licenseplate_country: HTMLSelectElement = document.getElementById(\"licenseplate_country\");\r\n return licenseplate.value.length > 0 && licenseplate_country != null && licenseplate_country.value !== \"\";\r\n }\r\n\r\n static init() {\r\n Evidenz.cookieEnabled = Evidenz.cookiesEnabled();\r\n\r\n const urlParams = new URLSearchParams(window.location.search);\r\n // Cookies\r\n const cookie = Cookies.get(\"NonEssentialCookiesAccepted\");\r\n const dtcookie = Cookies.get(\"dtcookie\");\r\n if (!cookie && (urlParams.get(\"showcookie\") == null || urlParams.get(\"showcookie\") !== \"false\")) {\r\n App.Common.Dialogs.openCookieModal();\r\n }\r\n\r\n App.init();\r\n App.Common.Functions.dockCommunicationWidgetToFooter();\r\n App.Common.Functions.fixAccessibility();\r\n ContactEvidence.init();\r\n\r\n if (cookie === \"yes\" && !dtcookie && typeof (dtrum) !== \"undefined\") {\r\n dtrum.enable();\r\n }\r\n\r\n // Delete old Cookie for \"cookies accepted\"\r\n if (Cookies.get(\"cookieconsent_dismissed\")) {\r\n Cookies.set(\"cookieconsent_dismissed\", \"yes\", { expires: 0 });\r\n }\r\n\r\n if (document.getElementById(\"validitycheckformview\") != null) {\r\n /* Validator */\r\n const validator = $(\"#validitycheck-form\").validate({\r\n submitHandler: function () {\r\n if ($(\"#licensePlateStatus\").val() === \"isSpecial\" && !$(\"#check-speciallicenseplate\").is(\":checked\")) {\r\n return false;\r\n }\r\n if (!Evidenz.cookieEnabled) {\r\n // eslint-disable-next-line\r\n window.location.href = window.location.href;\r\n return false;\r\n } else {\r\n const maxRequests = parseInt($(\"#ed-validitycheck\").attr(\"data-max-requests\"));\r\n let counter: number = parseInt(Cookies.get(\"evidence-counter\")) || 0;\r\n if (counter < maxRequests) {\r\n counter++;\r\n const d = new Date();\r\n d.setHours(24, 0, 0, 0);\r\n const properties : Cookies.CookieAttributes = { expires: d, domain: \"\", secure: true, sameSite: \"lax\" };\r\n if (!App.Common.Functions.isLocalEnvironment()) {\r\n properties.domain = \".asfinag.at\";\r\n }\r\n Cookies.set(\"evidence-counter\", counter.toString(), properties);\r\n } else {\r\n $(\"#limit-error-container\").empty().append(\"
\" + App.Common.Functions.Alerts.getDangerHtml(Resources.ErrorMessages.cookieLimitMessage, \"center-block mt-3 mb-3\") + \"
\");\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n },\r\n\r\n rules: {\r\n Country: {\r\n required: true\r\n },\r\n LicensePlate: {\r\n required: {\r\n depends: Evidenz.isLicensePlateSet\r\n },\r\n fitsLength: {\r\n depends: Evidenz.isLicensePlateSet\r\n },\r\n meetsRegEx: {\r\n depends: Evidenz.isLicensePlateSet\r\n }\r\n },\r\n DigitalVignette: {\r\n isAtLeastOneCheckboxSelected: true\r\n },\r\n SpecialToll: {\r\n isAtLeastOneCheckboxSelected: true\r\n },\r\n \"mtcaptcha-verifiedtoken\": {\r\n required: {\r\n depends: function () {\r\n return document.getElementById(\"mtcaptcha-verifiedtoken-1\") != null;\r\n }\r\n }\r\n }\r\n },\r\n messages: {\r\n Country: {\r\n required: Resources.ErrorMessages.fieldRequiredError\r\n },\r\n LicensePlate: {\r\n required: Resources.ErrorMessages.fieldRequiredError,\r\n fitsLength: Resources.ErrorMessages.licenceplateLength\r\n },\r\n DigitalVignette: {\r\n isAtLeastOneCheckboxSelected: Resources.ErrorMessages.checkboxRequiredError\r\n },\r\n SpecialToll: {\r\n isAtLeastOneCheckboxSelected: Resources.ErrorMessages.checkboxRequiredError\r\n },\r\n \"mtcaptcha-verifiedtoken\": {\r\n required: Resources.ErrorMessages.captchaRequiredError\r\n }\r\n }\r\n });\r\n\r\n // On load, do show the correct text\r\n if ($(\"#licenseplate_country\").val() !== null) {\r\n App.Common.Functions.LicensePlate.ShowInfoText();\r\n App.Common.Functions.LicensePlate.ShowLicensePlatePlaceHolder();\r\n if ($(\"#licenseplate\").val().toString().length > 0) {\r\n validator.element($(\"#licenseplate\"));\r\n }\r\n }\r\n\r\n $(\"#licenseplate_country\").change(function () {\r\n Evidenz.setLicensePlateCookie();\r\n App.Common.Functions.LicensePlate.ResetSpecialLicensePlate();\r\n App.Common.Functions.LicensePlate.ShowLicensePlatePlaceHolder();\r\n validator.element($(\"#licenseplate_country\"));\r\n if ($(\"#licenseplate\").val().toString().length > 0) {\r\n validator.element($(\"#licenseplate\"));\r\n }\r\n App.Common.Functions.LicensePlate.ShowInfoText();\r\n });\r\n $(\"#licenseplate\").change(function () {\r\n Evidenz.setLicensePlateCookie();\r\n validator.element($(\"#licenseplate_country\"));\r\n App.Common.Functions.LicensePlate.ResetSpecialLicensePlate();\r\n });\r\n\r\n $(\"#check-speciallicenseplate\").change(function () {\r\n Evidenz.setLicensePlateCookie();\r\n validator.element($(\"#licenseplate\"));\r\n App.Common.Functions.LicensePlate.ShowInfoText();\r\n App.Common.Functions.LicensePlate.ShowLicensePlatePlaceHolder();\r\n });\r\n\r\n\r\n }\r\n\r\n if (!Evidenz.cookieEnabled) {\r\n $(\"#validitycheckformview\").empty();\r\n $(\"#validitycheckformview\").append(\"
\" + App.Common.Functions.Alerts.getDangerHtml(Resources.ErrorMessages.activateCookies) + \"
\");\r\n }\r\n\r\n /**\r\n * Scroll to top Button\r\n */\r\n $(window).scroll(function () {\r\n if ($(this).scrollTop() > 10) {\r\n $(\"#back-to-top\").fadeIn();\r\n } else {\r\n $(\"#back-to-top\").fadeOut(100);\r\n }\r\n });\r\n\r\n /*\r\n * Trigger resize Event\r\n */\r\n /*\r\n $(window).resize(function () {\r\n if (this.resizeTO) clearTimeout(this.resizeTO);\r\n this.resizeTO = setTimeout(function () {\r\n $(this).trigger(\"resizeEnd\");\r\n }, 500);\r\n });\r\n */\r\n\r\n $(\".navbar-header button.navbar-toggle\").on(\"click\", function () {\r\n if (window.innerWidth < 1024) {\r\n $(\".navbar-top ul li:first-child a\").focus();\r\n }\r\n });\r\n\r\n $(\".navbar-top li:visible:last-child\").on(\"focusout\", function () {\r\n if (window.innerWidth < 1024) {\r\n if (!$(\".lang-selector\").hasClass(\"open\")) {\r\n $(\".navbar-header button.navbar-toggle\").focus();\r\n }\r\n }\r\n });\r\n $(\"#lang-list li:last-child\").on(\"keydown\", function (event) {\r\n if (window.innerWidth < 1024 && event.originalEvent.keyCode === 9 && !event.originalEvent.shiftKey) {\r\n $(\".navbar-header button.navbar-toggle\").focus();\r\n\r\n }\r\n });\r\n\r\n $(\"#lang-list li\").on(\"keydown\", function (event) {\r\n if (($(event.currentTarget).is(\":last-child\") && event.originalEvent.keyCode === 9 && !event.originalEvent.shiftKey) ||\r\n ($(event.currentTarget).is(\":first-child\") && event.originalEvent.keyCode === 9 && event.originalEvent.shiftKey)) {\r\n $(\".lang-selector a\").attr(\"aria-expanded\", \"false\");\r\n $(\".lang-selector\").removeClass(\"open\");\r\n }\r\n });\r\n\r\n /* \r\n * Set Language Selection to Cookie\r\n */\r\n $(\"#lang-list a\").on(\"click\",\r\n function () {\r\n const langCode = $(this).data(\"langcode\");\r\n Cookies.set(\"epslanguage\", langCode, { expires: 365, secure: true, sameSite: \"lax\" });\r\n });\r\n\r\n const event = new CustomEvent(\"Evidence.WebApp.initialized\", {\r\n bubbles: true,\r\n cancelable: false\r\n });\r\n document.dispatchEvent(event);\r\n\r\n }\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\",\r\n () => {\r\n Evidenz.init();\r\n });\r\nResources.init();"],"names":["Cookies","Resources","init","window","_defineProperty","validateLicensePlateURL","document","getElementById","getAttribute","validateCiamPasswordUrl","validateDiviPasswordUrl","getLoginStatusURL","emailRequiredError","emailNotValid","emailNotEqualTo","emailregexnotvalid","paymentMethodRequiredError","billingAddressRequiredError","licenceplateCountryRequiredError","licenceplateRequiredError","licenceplateNotEqualTo","licenceplateLength","routeRequiredError","amountOfTripsRequiredError","checkboxRequiredError","errorLicensePlateRegEx","errorLicensePlateRegExNoAnswer","ticketsNotGeneratedError","ticketsNotGeneratedErrorWithFlex","sessiongoneticketssent","sessiongoneticketssentWithFlex","fieldRequiredError","captchaRequiredError","serverError","errorMinLength","errorMaxLength","dateFormatNotValid","dateRangeNotValid","dateRequired","vignettenumberlength","vignettenumberIsNumber","passwordRequiredError","passwordNotEqualTo","errorPwSecurityServerNotAvailable","seamlessDataInvalid","errorVignetteNumberNoStartdateSet","errorMessageCouponCodeRequired","errorMessageCouponCodeLength","checkOldLicenseplateInvalid","singleticketsagreeRequiredError","formDoubleSubmitWarning","ValidFromRequiredError","UploadErrorFileRequired","errorDatatablesGeneric","errorTelRegex","errorHasUnicodeNumberSpaceMinus","serviceFeeUploadError","serviceFeeUploadErrorMaxFileSize","paymentProviderNotVerifiedError","paymentProfileRequiredError","errorUniqueCceUnitname","errorUniqueCceUnitnameUnavailable","activateSubscriptionPaymentProviderNotVerifiedError","atLeastOneLicensePlateSelected","lightboxCloseButtonLabel","errorLicensePlateInvalidLength","errorLicensePlateAjaxCallFailed","errorLicensePlateNoAjaxCallPossible","errorMessageLicensePlateMustBeDifferent","errorFieldRequired","errorCheckboxRequired","errorDateFormat","preventUnloadWarning","timeFormatNotValid","errorVignetteNumberWrongLength","cookieLimitMessage","activateCookies","errorCaptcha","errorLicensePlateLength","errorPaymentProfileDescriptionDoesNotMatchRegex","acceptWithdrawalCheckbox","lpChangeProcessDuplicateDocuments","serviceFeeDeleteUpload","serviceFeePossibleFiles","serviceFeeSelectedFiles","serviceFeeNoDocuments","cceEmptyString","cceDifferentValuesString","sppOverlappingModalHeader","sppOverlappingModalOkButton","sppOrderProcessTimeoutMessage","ResponseMessage","Api","LicensePlateType","Enums","Constants","jQuery","Contact","addEventListener","subject","infoBox","faqCategory","parseInt","value","App","Common","Functions","ShowHide","hide","innerHTML","selectedFaqCategory","options","selectedIndex","selectedFaqText","text","selectedFaqValue","innerText","$","show","is","each","this","html","data","Dialogs","openDialogDataLostOnLangChange","button","BootstrapDialog","id","title","message","buttons","label","cssClass","action","dialogItself","close","displayWarningOnUnload","location","href","saveLangInSession","openCookieModal","Logging","logBrowserInfos","daysToExpire","Number","onshown","dialog","link","getModalFooter","first","append","find","addClass","expires","secure","sameSite","dtrum","enable","disable","showDataLossWarning","warningLooseOfData","forceWarning","length","filledInputs","hasValue","parent","hasClass","inputChanged","openModalSessionAboutToExpire","buttonLoader","isCiamSet","isCiam","isAnonymous","allowAspNetSessionIsAboutToExpireDialog","url","Apis","type","success","response","Status","Success","Data","RedirectUrl","error","errorString","JSON","stringify","logWarning","Accordion","accordions","querySelectorAll","forEach","call","accordionEl","constructor","domNode","buttonEl","controlsId","contentEl","isOpen","onButtonClick","bind","toggle","setAttribute","removeAttribute","open","Faq","openFaqWithHash","handleToggle","event","preventDefault","search","attachImageEvent","e","attachEventToggle","element","eventTarget","target","hasAttribute","img","src","hash","substring","closeAllFaq","openAllFaq","toggleButton","actualText","trim","openText","closeText","keyword","replace","contextContainer","InstantSearch","highlight","numberOfSearchResults","faqSearchResults","toString","querySelector","closest","focus","container","tokens","iterator","checkAndReplace","m_container","m_keywords","node","nodeVal","nodeValue","parentNode","textNode","i","j","textToHighlight","isFirst","foundIndex","toLowerCase","indexOf","createTextNode","insertBefore","removeChild","begin","matched","substr","span","createElement","appendChild","p","children","Array","prototype","slice","childNodes","cur","nodeType","Node","TEXT_NODE","ELEMENT_NODE","LicensePlate","ResetSpecialLicensePlate","val","prop","ShowInfoText","ShowLicensePlatePlaceHolder","isLicensePlateCountrySet","$selectedCountryOption","helpText","specialHelpText","specialLabel","$checkBox","removeClass","placeholder","SelectedCountryContainer","SelectedCountry","item","placeholderText","specialPlaceholderText","SpecialLicensePlateCheckbox","checked","LicensePlateRegexType","Validation","setDefaults","ValidatorSettings","unobtrusive","addMethod","optional","RegExp","test","check","adata","split","dd","mm","yyyy","xdata","Date","getFullYear","getMonth","getDate","ErrorMessages","hideLicensePlatePreview","css","showLicensePlatePreview","bgFrameUrl","previewBackgroundImageUrl","textBefore","textAfter","meetsSpecialLicensePlateRegEx","result","errorMessageRegEx","valid","IsValid","RegexType","Special","setFieldRequired","GraphicRegistrationNumberImageUrl","PreviewBackgroundImageUrl","TextBefore","TextAfter","Standard","showSpecialLicensePlateCheckbox","licenseplate","toUpperCase","countrycode","__RequestVerificationToken","licensePlate","countryCode","isZba","lastData","lastResult","async","param","validator","methods","required","onkeyup","errorClass","errorElement","ignore","errorPlacement","insertAfter","name","fieldSet$","parents","remove","showErrors","errorMap","errorList","numberOfInvalids","index","domElement","String","labelElements","messageWithReplacement","labelText","parentElement","previousElementSibling","undefined","outerHTML","defaultShowErrors","invalidHandler","setTimeout","scrollToError","display","el","showHide","isArray","Element","htmlEl","style","Alerts","getHtml","alertClass","additionalClasses","additionalAttributes","getSuccessHtml","getDangerHtml","getWarningHtml","getInfoHtml","appendErrorMessage","jqueryResult","setErrorMessage","empty","setSuccessMessage","prependErrorMessage","prepend","Util","findInParents","selectors","matches","initLoadHistory","displayNonSupportedBrowserMessage","displayAdBlockerBrowserMessage","displayChatToSupportedBrowser","addGlobalEventhandlers","getAntiForgeryToken","bindLightbox","removeSelection","on","slideDown","slideUp","attr","minContainerHeight","innerHeight","height","innerWidth","click","mouseenter","mouseleave","textContent","code","trigger","elem","changeContrast","toggleClass","Object","hasOwnProperty","logInfo","browserCheckRegex","browserNotSupportedMessage","browserCheckRegexArray","userAgent","navigator","showNotSupportedBrowserMessage","regexp","match","classList","add","row","className","col","browserCheckRegexString","showChatButton","displaySubmitButtonsAfterCaptchaReady","dockCommunicationWidgetToFooter","scroll","makeCommunicationWidgetSticky","resize","needPageScrollingToFooter","footerHeight","position","top","scrollTop","isModalDialogOpen","firstError","offset","lastChild","scrollToPosition","delay","pageIsScrolling","animate","promise","then","isElementInViewport","rect","getBoundingClientRect","left","bottom","documentElement","clientHeight","right","clientWidth","fixAccessibility","originalhide","r","apply","arguments","originalshow","originalslidedown","originalslideup","getResponsiveBreakpoint","envs","xs","sm","md","lg","xl","env","$el","appendTo","keys","isLocalEnvironment","hostname","getElementsByClassName","bindLightBoxEvents","lightboxes","from","xhr","XMLHttpRequest","onreadystatechange","readyState","DONE","status","res","replaceAll","content","send","removeQueryStringAndReloadWindow","history","replaceState","pathname","reloadLocation","reload","addOrRemoveShiftFilterbuttonClass","searchMenuContentIdName","searchSelectionIdName","hideHistory","changeSign","icon","view","toggleAccessibility","opentext","closetext","collapse","cache","errorText","Message","fieldId","field","isLoading","self","loadingText","getUrlParameterByName","results","exec","decodeURIComponent","isIeOrEdge","string","to","escapedRegex","isMobileWorkflow","germanDateStringTODateFormat","date","dateString","formatDate","d","setCheckboxValue","checkbox","dispatchEvent","Event","Version","logConsole","console","log","logErrorEvent","sendLog","logError","logDebug","appendDebuggingInfo","req","limitMessageAndAppendVersion","setRequestHeader","isNullOrUndefined","useDefaultIfEmpty","getPageInfo","getStackTrace","getErrorEventMessage","getErrorEventStackTrace","filename","lineno","colno","obj","defaultMessage","stack","Error","ww","Math","max","wh","sw","screen","width","sh","appVersion","maxMessageLength","clientVersionLogMessage","ClientVersion","Navigation","originalClassesData","navigationMenuButton","leftContainer","navigationDropDown","contrastLinks","closeOpenedMenu","addResizeEvent","breakpoint","win","resizeTO","clearTimeout","DateTime","attValue","serverDate","clientDate","difference","getTime","serverTimeDifference","now","Lazy","screenWidth","lazyMobileItems","div","backgroundImage","lazyItems","contains","setHeader","colorOrNot","headers","header","color","currentLanguage","loginSessionAboutToExpireSeconds","seconds","autocreation","body","ciamFlag","noJsItems","UserInterface","setEpsLanguageCookieIfNotExists","selectedLanguageCode","setEpsLanguageCookie","languageCode","langCode","setLoginSessionAboutToExpireTimer","loginSessionAboutToExpireTimer","extend","defaultOptions","closable","back","ContactEvidence","$contactForm","validate","submitHandler","form","mtCaptcha","mtcaptcha","resetUI","jqXHR","textStatus","errorThrown","complete","rules","Email","emailRegex","Telephone","telRegex","Licenseplate","hasUnicodeNumberSpaceMinus","maxlength","depends","messages","Name","email","Evidenz","cookiesEnabled","cookieEnabled","cookie","setLicensePlateCookie","setTime","checkboxValue","isLicensePlateSet","licenseplate_country","urlParams","URLSearchParams","dtcookie","get","maxRequests","counter","setHours","properties","domain","Country","fitsLength","meetsRegEx","DigitalVignette","isAtLeastOneCheckboxSelected","SpecialToll","change","fadeIn","fadeOut","originalEvent","keyCode","shiftKey","currentTarget","CustomEvent","bubbles","cancelable"],"sourceRoot":""}