PageSourceSearch

https://erejestracja.wspl.pl/app

html wspl.pl collected 2026-10-05 00:41:20 UTC 91,765 bytes, 1,760 lines download raw bytes

1
2<!DOCTYPE html>
3<html lang="pl">
4<head>
5    
6<meta charset="utf-8" />
7<title>Strona główna - eRejestracja</title>
8    <meta name="robots" content="index, nofollow" />
9    <meta name="viewport" content="width=device-width, initial-scale=1" />
10
11    <link rel="shortcut icon" type="image/x-icon" href="/app/favicon.ico" />
12<script src="/app/content/js/topscripts.min.js?v=oKht2or-ccHTyuHv-ocv7Zir54igJoCpzZ4sH4Sfud8"></script>
vendor: 2 bytes, line 12
12
13<script>
14    $(document).ajaxStart(function () { $('.er-loading-ajax-page').removeClass("d-none"); }).ajaxStop(function () { $('.er-loading-ajax-page').addClass("d-none").removeClass("er-skip-fade"); });
15</script>
15
16        <link href="/app/content/css/site.min.css?v=i9-ZPSsPeY0cd9P5SSkm3zPKo--0mCFUMPIYP3Yuvc0" rel="stylesheet" />
17    
17<script>
18        if ($.cookie('NegativePage') != undefined) {
19            $('html').addClass('negative');
20            $('#Map_PreviewWindow').removeClass('negative');
21            var font = $.cookie('NegativePageFont');
22            if (font != undefined) {
23                switch (font) {
24                    case '1':
25                        $('html').addClass('normal');
26                        break;
27                    case '2':
28                        $('html').addClass('large');
29                        break;
30                }
31            }
32        }
33    </script>
33
34</head>
35<body data-szafirsdk-ready="yes">
36    <div class="er-page">
37        <div class="er-top">
38            <div id="NoSupportCookies" class="d-none">
39                <div class="webSupportInfo">Strona wymaga w&#x142;&#x105;czonej obs&#x142;ugi plik&#xF3;w cookies (ciasteczek)</div>
40                <div class="webSupportInfoBox"></div>
41            </div>
42            <noscript>
43                <div class="webSupportInfo">Strona wymaga w&#x142;&#x105;czonej obs&#x142;ugi JavaScript</div>
44                <div class="webSupportInfoBox"></div>
45            </noscript>
46            <header>
47                <div class="er-padding-div">
48                            <div class="er-main-logo d-none d-md-flex"></div>
49                    <div class="er-custom-header">
50                        
51                    </div>
52                    <div class="negative">
53                        <div class="icons">
54                            <div class="siteMapContainer">
55                                <a href="/app/Home/SiteMap" role="button" class="siteMap ignore" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Mapa serwisu" aria-label="Mapa serwisu"></a>
56                            </div>
57                            <div class="eye ignore click" role="button" tabindex="0" data-bs-toggle="tooltip" data-bs-placement="bottom" title="W&#x142;&#x105;cz wy&#x142;&#x105;cz tryb kontrastowy" aria-label="W&#x142;&#x105;cz wy&#x142;&#x105;cz tryb kontrastowy"></div>
58                        </div>
59
60                        <div class="font normal ignore click" role="button" tabindex="0" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Wr&#xF3;&#x107; do standardowego rozmiaru czcionki" aria-label="Wr&#xF3;&#x107; do standardowego rozmiaru czcionki">A</div>
61                        <div class="font large ignore click" role="button" tabindex="0" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Zwi&#x119;ksz rozmiar czcionki" aria-label="Zwi&#x119;ksz rozmiar czcionki">+A</div>
62                    </div>
63                </div>
64                <div style="clear:both"></div>
65                <nav class="navbar navbar-default navbar-fixed-mobile navbar-expand-lg navbar-expand-md navbar-light" role="navigation" aria-label="Menu g&#x142;&#xF3;wne">
66                    <div role="img" class="er-main-logo-small d-flex d-md-none click" data-bs-toggle="tooltip" data-bs-placement="bottom" data-original-title="eRejestracja" aria-label="Przejd&#x17A; do strony g&#x142;&#xF3;wnej eRejestracja" tabindex="0">
67<span class="home"></span>                    </div>
68                    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#UpperMenuNavbar" aria-controls="UpperMenuNavbar" aria-expanded="false" aria-label="Prze&#x142;&#x105;cz nawigacj&#x119;" title="Prze&#x142;&#x105;cz nawigacj&#x119;">
69                        <span class="navbar-toggler-icon"></span>
70                    </button>
71                    <div class="collapse navbar-collapse" id="UpperMenuNavbar">
72                        <ul class="navbar-nav">
73
74                            <li class="nav-item er-menu-button er-no-ajax-button er-main-page" attr="MainPage"><a attr="/app" tabindex="0">Strona g&#x142;&#xF3;wna</a></li>
75                            <li class="nav-item dropdown d-block d-md-none subaccountsMenuMobile">
76
77                            </li>
78                            <li class="nav-item er-menu-button" attr="FreeTermsPageMenuButton" directly="true"><a tabindex="0">Wolne terminy</a></li>
79                        </ul>
80                        <ul class="navbar-nav ms-auto">
81                            <li class="nav-item er-menu-button er-no-ajax-button" attr="HelpPageMenuButton"><a attr="/app/Home/Help" tabindex="0">Pomoc</a></li>
82                                    <li class="nav-item er-menu-button" attr="RegisterPageMenuButton" directly="true"><a tabindex="0">Utw&#xF3;rz konto</a></li>
83                                <li class="nav-item er-menu-button er-no-ajax-button" attr="LoginSelectPageMenuButton">
84                                    <a attr="/app/Account/LogOnDefault" tabindex="0">Zaloguj si&#x119;</a>
85                                </li>
86                        </ul>
87                    </div>
88                </nav>
89                <div class="mobile-header-panel">
90                    <div class="negative">
91                        <div class="icons">
92                            <div class="siteMapContainer">
93                                <a href="/app/Home/SiteMap" role="button" class="siteMap" aria-label="Mapa serwisu" title="Mapa serwisu"></a>
94                            </div>
95                            <div role="button" class="eye ignore" aria-label="W&#x142;&#x105;cz wy&#x142;&#x105;cz tryb kontrastowy" title="W&#x142;&#x105;cz wy&#x142;&#x105;cz tryb kontrastowy"></div>
96                        </div>
97                    </div>
98                    <div class="er-custom-header"></div>
99                </div>
100                <nav aria-label="Podmenu">
101                    
102
103                </nav>
104            </header>
105            <div class="er-main container" role="main" aria-label="G&#x142;&#xF3;wna zawarto&#x15B;&#x107; strony">
106                <div class="er-padding-div">
107                    <div class="er-left float-start col-12 col-xl-2 col-lg-2 col-md-3 px-3">
108                        <div class="er-extra-menu">
109                            
110
111                        </div>
112                    </div>
113                    <div class="er-extra-menu-extension float-start d-none col-12 col-xl-10 col-lg-10 col-md-9 px-3">
114                        
115                    </div>
116                    <div class="er-content er-full-width float-start col-12 col-xl-10 col-lg-10 col-md-9">
117                        <div class="er-loading-ajax-page d-none"><div class="er-loader"></div></div>
118                        
119
120                        
121                        <div id="mainPageContainer" attr="MainPageManuButton">
122                            
123<h1 class="er-page-title">eRejestracja</h1>
124
125<div class="homeContent noMenu">
126<p style="text-align:center;"><span style="font-size:x-large;">Witamy w serwisie e-Rejestracja !</span> </p><p style="text-align:center;">&nbsp;</p><p style="text-align:center;"><span style="font-size:large;">&nbsp;</span></p><p style="text-align:center;"><span style="font-size:large;">&nbsp;</span></p><p style="text-align:justify;"><span style="font-size:large;">Rejestracja do poradni stomatologi chirurgicznej na usunięcie &oacute;semek tylko telefonicznie!!!</span></p><p style="text-align:justify;"><span style="font-size:large;">&nbsp;</span></p><p style="text-align:justify;"><span style="font-size:large;">&nbsp;</span></p><p style="text-align:justify;"><span style="font-size:large;">System eRejestracja przeznaczony jest dla użytkownik&oacute;w, kt&oacute;rzy chcą dokonać rezerwacji wizyty </span><span style="font-size:large;">u wybranego lekarza dla wybranej poradni. Użytkownik może umawiać się na wizyty, odwoływać je oraz zmieniać terminy już zarezerwowanych. Aby wykonywać wymienione czynności, użytkownik musi posiadać aktywne konto.</span></p><ul style="text-align:center;"><li style="text-align:justify;"><span style="font-size:large;">a</span><span style="font-size:large;">by utworzyć konto należy nacisnąć przycisk &bdquo;Utw&oacute;rz konto&rdquo;
126 znajdujący się na pasku menu.</span><span style="font-size:large;">Po zakończeniu etapu rejestracji konta, na podany adres mail otrzymamy wiadomość z&nbsp; linkiem aktywacyjnym </span><span style="font-size:large;color:#003333;"><em>(w przypadku braku wiadomości z linkiem aktywacyjnym, proszę sprawdzić folder "SPAM" lub skontaktować się z administratorem /link na dole strony/</em><span style="color:#003333;">)</span></span></li><li style="text-align:justify;"><span style="font-size:large;">logowanie dostępne jest dla użytkownika posiadającego aktywne konto w&nbsp;systemie eRejestracja. Należy w tym celu użyć przycisku &bdquo;Zaloguj się&rdquo; </span></li><li style="text-align:justify;"><span style="font-size:large;">nie ma możliwości tworzenia kilku kont za pomocą jednego adresu E-Mail. Konta rodzinne można tworzyć za pomocą opcji subkonto, dostępnej w menu "Moje konto" po zalogowaniu. Podczas tworzenia subkont należy wpisywać nr PESEL należący do osoby dla kt&oacute;rej tworzymy subkonto,</span></li><li style="text-align:justify;"><span style="font-size:large;">możliwość wypisania e-recepty obejmuje wyłącznie leki oznaczone przez lekarza jako "stale podawane".</span></li></ul><table><tbody><tr style="height:100%;"><td style="width:100%;">&nbsp;</td></tr></tbody></table><p>&nbsp;</p><p><span style="font-family:Arial, Helvetica, sans-serif;font-size:medium;"><em>WAŻNE! W trakcie dodawania subkonta - opcję "OPIEKUN" - zaznaczamy TYLKO w przypadku os&oacute;b nie posiadających nr PESEL (np. noworodk&oacute;w). Brak lub nieprawidłowy nr PESEL członka rodziny ,dołączanego do konta gł&oacute;wnego, uniemożliwi realizację zarezerwowanej wizyty w przychodni</em><em>,</em></span></p><div style="text-align:justify;"><p><span style="color:#000000;font-family:'Trebuchet MS',Helvetica,sans-serif;font-size:medium;text-decoration:underline;"><em><strong><br /></strong></em></span><span style="color:#000000;font-family:'Courier New', Courier, monospace;font-size:large;"><em>UWAGA!!!!</em></span><span style="color:#000000;font-family:'Trebuchet MS',Helvetica,sans-serif;font-size:medium;text-decoration:underline;"><em><strong><br /></strong></em></span><span style="color:#000000;font-family:'Courier New', Courier, monospace;font-size:medium;"><em><strong>NAZWA UŻYTKOWNIKA </strong></em><em>i </em><em><strong>HASŁO </strong>rozr&oacute;żnia duże i małe litery! </em></span><em><span style="color:#000000;"><strong></strong></span></em><em><span style="color:#000000;"><strong></strong></span></em></p><p style="text-align:center;"><em><span style="color:#000000;"><strong>&nbsp;</strong></span></em></p><p style="text-align:center;"><span style="color:#000000;"><span style="text-decoration:underline;">Zapraszamy r&oacute;wnież do skorzystania z zakładki POMOC, gdzie znajdą Państwo szczeg&oacute;łową instrukcję obsługi portalu eRejestracja</span></span><em><span style="color:#000000;"><strong><br /></strong></span></em><span style="color:#ff0000;font-size:small;"><em></em></span></p><p><span style="color:#ff0000;font-size:small;"><em>10-krotna nieudana pr&oacute;ba zalogowania się przy użyciu błędnego LOGINU lub HASŁA skutkuje automatyczną blokadą dostępu do systemu z adresu IP, z kt&oacute;rego nastąpiła wspomniana ilość błędnych pr&oacute;b logowania. </em><em>W przypadku takiej blokady prosimy o kontakt z Administratorem pod adresem mailowym podanym w dole strony. W miarę możliwości prosimy o dołączenie zrzutu ekranowego z treścią komunikatu.</em></span></p></div><strong></strong><span style="font-size:medium;background-color:#ff0000;"></span>
127    
128<div role="list" class="newsSelectionDiv" aria-label="Newsy">
129</div>
130<div class="newsSelectionDiv newsDetalis" style="display: none;"></div>
131<script>
132    $(function () {
133        $('.newsSelectionDiv > .news').each(function () {
134            if ($(this).find('.newsContent .newsBody').height() > 165) {
135                $(this).find('.newsContent .newsBody').dotdotdot({
136                    watch: "window"
137                });
138            } else {
139                $(this).find('.newsShow').remove();
140            }
141
142            var effect = $('html').hasClass('negative') ? 'fade' : 'fold';
143            var time = $('html').hasClass('negative') ? 100 : 600;
144            $(this).find('.newsShow').on('click',function() {
145               var parent = $(this).parent();
146                    var div = $(parent).find('.newsContent .newsBody');
147                    var button = $(this);
148                    if ($(this).hasClass('showDetail')) {
149                        $(parent).addClass('divShow');
150                        $(parent).addClass("newsDetails");
151                        $(div).trigger('destroy');
152                        $(button).find('span').text('Zwiń');
153                        $(button).removeClass('showDetail').addClass('hideDetail');
154                        $(parent).show(effect, [], time, function(){});
155                    }
156                    else {
157                        $(parent).removeClass("newsDetails");
158                        $(div).dotdotdot({});
159                        $(button).find('span').text('Rozwiń')
160                        $(button).removeClass('hideDetail').addClass('showDetail');
161                        $('.newsSelectionDiv > .news:not(divShow)').show(effect, [], time);
162                        $(parent).show(effect, [], time, function(){
163                            $(parent).removeClass('divShow');
164                        });
165                   }
166               });
167        });
168    });
169</script>
169
170</div>
171
172<script>
173    $(function () {
174        window.scrollTo(0, 0);
175    })
176</script>
176
177                        </div>
178                    </div>
179                    <div class="spacer"></div>
180                </div>
181            </div>
182            <ul hidden aria-hidden="true">
183    <li id="FilterInfo">W celu rozwini&#x119;cia konfiguracji filtru wci&#x15B;nij Alt &#x2B; Strza&#x142;ka w d&#xF3;&#x142;</li>
184    <li id="ButtonsAreaDesc">W celu wybrania przycisku kliknij Enter</li>
185    <li id="CheckboxAreaDesc">Klikniej Enter, aby przej&#x15B;&#x107; do zaznaczenia pola</li>
186</ul>
187            <div class="up" style="display: none;">
188                <div>Na g&#xF3;r&#x119;</div>
189            </div>
190        </div>
191        <footer>
192            <hr />
193            <div class="er-first">
194                <nav class="er-links-container" aria-label="Podmenu w stopce">
195                    <a href="/app/Home/SiteMap" class="siteMap"><span>Mapa serwisu</span></a>
196                    <div class="er-links">
197                        
198
199                        <div class="contact">
200                            Kontakt z administratorem: <a href='#' id='mail-address'>adres e-mail</a>
201                
201<script type='text/javascript'>
202                     $('#mail-address').on('mouseenter focus', function (e) {
203                        var sp = ['administratpor', 'entqer-24.pl']; var vm = [sp[0].slice(0, 11) + sp[0].slice(11 + 1), '@', sp[1].slice(0, 3) + sp[1].slice(3 + 1)].join('');
204                        $(this).html(vm).attr('href', 'mailto:' + vm + '?Subject=eRejestracja');
205                    });
206                </script>
206
207                        </div>
208                    </div>
209                </nav>
210
211                <div class="separator"></div>
212            </div>
213            <div class="version col-12 px-3" style="" role="contentinfo">
214                v. 12.9.0.5 Copyright &#xA9; ASSECO POLAND S.A. All rights reserved.
215            </div>
216        </footer>
217    </div>
218    <div id="cookie">
219        <div class="cookieContainer">
220            <div class="AcceptCookie color">
221            </div>
222        </div>
223        <div class="cookieContainer">
224            <div class="AcceptCookie">
225                <strong class="text">
226                    W ramach naszej witryny stosujemy pliki cookies, zapisywane na urz&#x105;dzeniu u&#x17C;ytkownika, &#xD;&#xA;                w celu dostosowania zachowania serwisu do indywidualnych preferencji u&#x17C;ytkownika, &#xD;&#xA;                ewentualnego logowania i podtrzymania sesji (tam, gdzie jest to wymagane). &#xD;&#xA;                U&#x17C;ytkownik ma mo&#x17C;liwo&#x15B;&#x107; samodzielnej zmiany ustawie&#x144; dotycz&#x105;cych cookies w swojej przegl&#x105;darce internetowej. &#xD;&#xA;                Korzystaj&#x105;c ze strony wyra&#x17C;aj&#x105; Pa&#x144;stwo zgod&#x119; na u&#x17C;ywanie plik&#xF3;w cookies, zgodnie z ustawieniami przegl&#x105;darki.
227                </strong>
228                <button aria-label="Akceptuj&#x119; polityk&#x119; wykorzystania plik&#xF3;w cookies. Zamknij okno." class="k-button btn-cancel" id="AcceptCookieClose" name="AcceptCookieClose" type="button">Zamknij</button>
228<script>(typeof KendoLicensing === 'object' && KendoLicensing.setScriptKey('141j041f611f063e0837023e133i0i490g310c3a18445h425d3857385d355d325g3e5k3i58125d15500c3i0c1b001d0j1f0j1d3457395i424j4053455b3157101i0a293i4k455b345c311h0k1b0i1g385e311e01230d250d1c01465f184g24371f4f00501h3g0542035g26013g1h5617412h5048305j2b033b1h5b135h2j520i5a1f43264g1e3g1g611j184j2j5522510e4f0f4g2k50482c53305c3d4e07602a4a2i0e48265g0j5j1034115h2e544819460e305c295h0j4g0d501c3e2g4c295h3d05521k361h390a4i023b175b114117561h3c181k3b0d4d1332143c2h45524b2c5g0j424h213i0k541b461a254d1g4g124a264i173719401935073f5f274719234f144b2d5h004j183i05312g5c274g0g4a15442a5g0g1b103d1h3e2b5g233f5j284h2i360b3g062b5306385b234018551i3b2833161k610a50470d38184a121c4k02434j205k1i3c0h4117254f2d593313480558305f2b3316395f3e03274f08350g414g2k5h1b3e123k0i51264g20310e4j230k2g332c322f3g1a410758295d2d4j09342d35275k2k5g132b4553244e244j215f304c0i5f21491g4d005839003h205g0a36243b1g5h303e2g402g53442b5b1d0i4f2c572h3h4d22012a4608380d381e550k4d0k5h0j4b5230383007370k580k4229581c4j4a2h5j27320b2i4k135i174a073c1656143g2c4j08273c0h3j11412d033h1j153h173b5i145f1c1046200i3b09612h4k2f3f03284f283h042807432c3g1i3b2236072d5g015b2i5e2e461j3e2045093b0c2j3961144609603a2g3b2k3a133k2c5a0a5h29381h4j3b0d380855014c401g551d16350e31265h19422h462i5c2j094d444d113129600i3e5f22600d5h1j1842561f391522602i3k1b3915440g421e520f392k4j4306501b0i32273k26181j3c2h0e4214341d5h11340i46175g104c421a1j5237274i3k07540k4g2c3i173j1d512j4a304i0252145e1j511b5736584814223g101e4d29352i591h0b4e16541j05593h0d3h'));window._wrappersMetadata = Object.freeze({"name":"@progress/kendo-ui","productCode":"UIASPCORE","productName":"Telerik UI for ASP.NET Core","version":"2026.1.325","licensingDocsUrl":"https://www.telerik.com/aspnet-core-ui/documentation/installation/activating-your-license/setting-up-your-license"});kendo.syncReady(function(){jQuery("#AcceptCookieClose").kendoButton({"click":AcceptCookieClose});});</script>
228
229            </div>
230        </div>
231    </div>
232    
232<script>
233    window.otpWindow = (() => {
234        // #region selectors
235        const selector = '#OtpWindow';
236
237        const extraIds = {};
238
239        let state = {
240            saveCallback: null
241        };
242
243        // #endregion selectors
244
245        const initAsync = () => {
246            otpWindowContent.initAsync(_close);
247        };
248
249        // #region private
250
251        const _close = () => {
252            $(selector).data('kendoWindow').close();
253        };
254
255        // #endregion private
256
257        // #region public
258
259        const open = (data = { confirmCallback, status, options, errorMessage }) => {
260            if (data.status === 'UserMfaDisabled' || data.status === 'InnerError') {
261                alertMsg({
262                    title: 'Informacja',
263                    message: data.errorMessage,
264                });
265            } else {
266                otpWindowContent.prepareWindowContent(data);
267
268                $(selector).data('kendoWindow').open().center();
269            }
270        };
271
272        const onClose = () => {
273            otpWindowContent.resetWindowContent();
274        };
275
276        // #endregion public
277
278        kendo.syncReady(initAsync);
279
280        return {
281            open,
282            onClose
283        };
284    })();
285</script>
285
286
287<div class="k-hidden" id="OtpWindow" name="OtpWindow">
288<script>
289    window.otpWindowContent = (() => {
290        // #region selectors
291        const selector = '#OtpWindowContent';
292
293        const extraIds = {
294            otpForm: '#OtpForm',
295            otpInfoMessage: '#OtpInfoMessage',
296            otpErrorBar: '#OtpErrorBar',
297            otp: '#Otp',
298            otpRememberDeviceSection: '#OtpRememberDeviceSection',
299            otpRememberDevice: '#OtpRememberDevice',
300            useOtpAlternativeCodeBtn: '#UseOtpAlternativeCodeBtn',
301            otpAlternativeCodeForm: '#OtpAlternativeCodeForm',
302            otpAlternativeCodeErrorBar: '#OtpAlternativeCodeErrorBar',
303            otpAlternativeCode: '#OtpAlternativeCode'
304        };
305
306        let state = {
307            confirmCallback: null,
308            status: null,
309            options: null,
310            infoMessage: null,
311            errorMessage: null,
312            closeWindow: null
313        };
314
315        // #endregion selectors
316
317        const initAsync = (closeWindow) => {
318            $.validator.unobtrusive.parse(selector);
319
320            utils.bindEnter($(selector).find(extraIds.otpForm)[0], {
321                callback: confirmOtpBtn_Click
322            });
323            utils.bindEnter($(selector).find(extraIds.otpAlternativeCodeForm)[0], {
324                callback: confirmOtpAlternativeCodeBtn_Click
325            });
326
327            utils.updateState(state, { closeWindow });
328        };
329
330        // #region private
331
332        const _changeMode = (alternativeMode) => {
333            $(selector).find(extraIds.otpForm).toggleClass('d-none', alternativeMode);
334            $(selector).find(extraIds.otpAlternativeCodeForm).toggleClass('d-none', !alternativeMode);
335        };
336
337        // #endregion private
338
339        // #region public
340
341        const prepareWindowContent = (data) => {
342            utils.updateState(state, data);
343
344            CreatePrettyCheckbox();
345
346            const allowAlternativeCode = state.options.includes('AllowAlternativeCode');
347            const allowTrustedDevice = state.options.includes('AllowTrustedDevice');
348
349            $(selector).find(extraIds.otpInfoMessage).toggleClass('d-none', !state.infoMessage).text(state.infoMessage);
350            $(selector).find(extraIds.useOtpAlternativeCodeBtn).toggleClass('d-none', !allowAlternativeCode);
351            $(selector).find(extraIds.otpRememberDeviceSection).toggleClass('d-none', !allowTrustedDevice || !allowAlternativeCode);
352
353            if (state.status === 'OtpError') {
354                $(selector).find(extraIds.otpErrorBar).toggleClass('d-none', false).text(state.errorMessage);
355                _changeMode(false);
356            } else if (state.status === 'AlternativeCodeError') {
357                $(selector).find(extraIds.otpAlternativeCodeErrorBar).toggleClass('d-none', false).text(state.errorMessage);
358                _changeMode(true);
359            }
360        };
361
362        const getContentSize = () => {
363            return Math.max($(selector).find(extraIds.otpForm).outerHeight(), $(selector).find(extraIds.otpAlternativeCodeForm).outerHeight());
364        };
365
366        const confirmOtpBtn_Click = () => {
367            const $form = $(selector).find(extraIds.otpForm);
368
369            if($form.valid()) {
370                const data = $form.serializeToJSON();
371                const confirmCallback = state.confirmCallback;
372
373                state.closeWindow();
374                resetWindowContent();
375
376                confirmCallback(data);
377            }
378        };
379
380        const useOtpAlternativeCodeBtn_Click = () => {
381            _changeMode(true);
382        };
383
384        const otpBackBtn_Click = () => {
385            state.closeWindow();
386            resetWindowContent();
387        };
388
389        const confirmOtpAlternativeCodeBtn_Click = () => {
390            const $form = $(selector).find(extraIds.otpAlternativeCodeForm);
391
392            if($form.valid()) {
393                const data = $form.serializeToJSON();
394                const confirmCallback = state.confirmCallback;
395
396                state.closeWindow();
397                resetWindowContent();
398
399                confirmCallback(data);
400            }
401        };
402
403        const otpAlternativeCodeBackBtn_Click = () => {
404            _changeMode(false);
405        };
406
407        const resetWindowContent = () => {
408            $(selector).find(extraIds.otpForm).clearValidation();
409            $(selector).find(extraIds.otpAlternativeCodeForm).clearValidation();
410            $(selector).find(extraIds.otpInfoMessage).addClass('d-none').text(null);
411            $(selector).find(extraIds.otp).data('kendoMaskedTextBox').value(null);
412            $(selector).find(extraIds.otpAlternativeCode).data('kendoMaskedTextBox').value(null);
413            $(selector).find(extraIds.otpErrorBar).addClass('d-none').text(null);
414            $(selector).find(extraIds.otpAlternativeCodeErrorBar).addClass('d-none').text(null);
415
416            _changeMode(false);
417            utils.updateState(state, { confirmCallback: null, status: null, options: null, infoMessage: null, errorMessage: null });
418        };
419
420        // #endregion public
421
422        return {
423            initAsync,
424            prepareWindowContent,
425            confirmOtpBtn_Click,
426            useOtpAlternativeCodeBtn_Click,
427            otpBackBtn_Click,
428            confirmOtpAlternativeCodeBtn_Click,
429            otpAlternativeCodeBackBtn_Click,
430            resetWindowContent
431        };
432    })();
433</script>
433
434
435<div id="OtpWindowContent" class="h-100">
436    <form id="OtpForm">
437        <div role="alert" id="OtpInfoMessage" class="alert alert-info er-top-bar text-center d-none" tabindex="0"></div>
438        <div role="alert" id="OtpErrorBar" class="alert alert-danger er-top-bar text-center mb-0 d-none" tabindex="0"></div>
439        <div class="row er-form-row mt-4">
440            <div class="col">
441                <div class="er-form-label">
442                    <label for="Otp">Kod</label>
443                </div>
444                <div class="er-form-field">
445                    <input data-val="true" data-val-length="Warto&#x15B;&#x107; w polu &#x27;Kod&#x27; nie mo&#x17C;e przekracza&#x107; 6 znak&#xF3;w." data-val-length-max="6" data-val-regex="Przekazany kod jest nieprawid&#x142;owy." data-val-regex-pattern="^\d{6}$" data-val-required="Warto&#x15B;&#x107; w polu &#x27;Kod&#x27; jest wymagana." id="Otp" name="Otp" type="text" value="" />
445<script>kendo.syncReady(function(){jQuery("#Otp").kendoMaskedTextBox({"mask":"000000","rules":{}});});</script>
445
446                    <span class="field-validation-valid" data-valmsg-for="Otp" data-valmsg-replace="true"></span>
447                </div>
448            </div>
449        </div>
450        <div id="OtpRememberDeviceSection" class="row er-form-row">
451            <div class="col">
452                <div class="er-editor-field prettyCheckableCheckbox labelright">
453                    <input data-val="true" data-val-required="The Zapami&#x119;taj urz&#x105;dzenie field is required." id="OtpRememberDevice" name="RememberDevice" type="checkbox" value="true" />
454                    <label for="OtpRememberDevice">Zapami&#x119;taj urz&#x105;dzenie</label>
455                </div>
456            </div>
457        </div>
458        <div class="er-buttons-div">
459            <button class="k-button btn-primary" id="ConfirmOtpBtn" name="ConfirmOtpBtn" type="button">Wyślij</button>
459<script>kendo.syncReady(function(){jQuery("#ConfirmOtpBtn").kendoButton({"click":otpWindowContent.confirmOtpBtn_Click});});</script>
459
460            <button class="k-button" id="UseOtpAlternativeCodeBtn" name="UseOtpAlternativeCodeBtn" type="button">Wykorzystaj alternatywny kod</button>
460<script>kendo.syncReady(function(){jQuery("#UseOtpAlternativeCodeBtn").kendoButton({"click":otpWindowContent.useOtpAlternativeCodeBtn_Click});});</script>
460
461            <button class="k-button" id="OtpBackBtn" name="OtpBackBtn" type="button">Powrót</button>
461<script>kendo.syncReady(function(){jQuery("#OtpBackBtn").kendoButton({"click":otpWindowContent.otpBackBtn_Click});});</script>
461
462        </div>
463    <input name="RememberDevice" type="hidden" value="false" /></form>
464    <form id="OtpAlternativeCodeForm" class="d-none">
465        <div role="alert" class="alert alert-info er-top-bar text-center" tabindex="0">
466            Wprowadzany kod jest jednorazowy, powinien by&#x107; stosowany tylko w przypadku, gdy nie masz dost&#x119;pu do aplikacji do uwierzytelniania wielosk&#x142;adnikowego lub urz&#x105;dzenia z tak&#x105; aplikacj&#x105;.
467        </div>
468        <div role="alert" id="OtpAlternativeCodeErrorBar" class="alert alert-danger er-top-bar text-center mb-0 d-none" tabindex="0"></div>
469        <div class="row er-form-row mt-4">
470            <div class="col">
471                <div class="er-form-label">
472                    <label for="OtpAlternativeCode">Alternatywny kod</label>
473                </div>
474                <div class="er-form-field">
475                    <input data-val="true" data-val-length="Warto&#x15B;&#x107; w polu &#x27;Alternatywny kod&#x27; nie mo&#x17C;e przekracza&#x107; 36 znak&#xF3;w." data-val-length-max="36" data-val-regex="Przekazany kod jest nieprawid&#x142;owy." data-val-regex-pattern="^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$" data-val-required="Warto&#x15B;&#x107; w polu &#x27;Alternatywny kod&#x27; jest wymagana." id="OtpAlternativeCode" name="OtpAlternativeCode" type="text" value="" />
475<script>kendo.syncReady(function(){jQuery("#OtpAlternativeCode").kendoMaskedTextBox({"mask":"AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA","rules":{}});});</script>
475
476                    <span class="field-validation-valid" data-valmsg-for="OtpAlternativeCode" data-valmsg-replace="true"></span>
477                </div>
478            </div>
479        </div>
480        <div class="er-buttons-div">
481            <button class="k-button btn-primary" id="ConfirmOtpAlternativeCodeBtn" name="ConfirmOtpAlternativeCodeBtn" type="button">Wyślij</button>
481<script>kendo.syncReady(function(){jQuery("#ConfirmOtpAlternativeCodeBtn").kendoButton({"click":otpWindowContent.confirmOtpAlternativeCodeBtn_Click});});</script>
481
482            <button class="k-button" id="OtpAlternativeCodeBackBtn" name="OtpAlternativeCodeBackBtn" type="button">Powrót</button>
482<script>kendo.syncReady(function(){jQuery("#OtpAlternativeCodeBackBtn").kendoButton({"click":otpWindowContent.otpAlternativeCodeBackBtn_Click});});</script>
482
483        </div>
484    </form>
485</div></div>
485<script>kendo.syncReady(function(){jQuery("#OtpWindow").kendoWindow({"close":otpWindow.onClose,"pinned":false,"scrollable":true,"visible":false,"content":null,"actions":["Close"],"resizable":false,"title":"Uwierzytelnianie wieloskładnikowe","modal":true,"height":"auto","width":"600px"});});</script>
485
486    <input name="__RequestVerificationToken" type="hidden" value="CfDJ8BeE7yxyID1Ola6kUcbEp0VxKTeOAqMWIIk79it_efUcR0DymkErPlKlLVotalrrugu1OVdwWSntf_0DTugX2VMicWHCq5GGtaymI43Vai4doTj9boktrYwBXZPZaOzQ2e_S4kLvrOEWUGJuxuuubm4" />
487    
487<script src="/app/content/js/bottomscripts.min.js?v=p-etu5_8eXOdWTPMF38bz60Evk03zfkHVgYBKCXdOuM"></script>
487
488    
488<script>
489        ErrorHandling.init({
490            noBasePage: '/app/Maintenance/NoBase',
491            maintenancePage: '/app/Maintenance/MismatchDatabaseVersion'
492        });
493        Globalize.culture("pl-PL");
494        kendo.culture("pl-PL");
495        var ajaxLinkArray = {};
496        var timeoutAction;
497        $(function () {
498            $.ajaxSetup({ cache: false });
499            //RestoreFromCookie();
500            var cookieEnabled = (navigator.cookieEnabled) ? true : false
501            if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
502                document.cookie = "eRCookieChecker"
503                cookieEnabled = (document.cookie.indexOf("eRCookieChecker") != -1) ? true : false
504            }
505            if (!cookieEnabled) {
506                $("#NoSupportCookies").removeClass("d-none");
507            }
508
509            if ($.cookie('eR.AcceptCookies') != 'true') {
510                $('#cookie').show(500);
511            }
512
513
514            BindClick();
515            RestoreFromCookie(false);
516
517            var pageAjaxLinkCookie = $.cookie("PageAjaxLink");
518            if ((PathnameEquals()
519                || pageAjaxLinkCookie === undefined
520                || pageAjaxLinkCookie === "CustomPageMenuButton") && history.replaceState) {
521                history.replaceState({}, document.title);
522            }
523
524
525                InitializeMap();
526                            SetStartupHeaderImagesRatio();
527
528            function handleFirstTab(e) {
529              if (e.keyCode === 9) {
530                document.body.classList.add('user-is-tabbing');
531                window.removeEventListener('keydown', handleFirstTab);
532                window.addEventListener('mousedown', handleMouseDownOnce);
533              }
534            }
535
536            function handleMouseDownOnce() {
537              document.body.classList.remove('user-is-tabbing');
538
539              window.removeEventListener('mousedown', handleMouseDownOnce);
540              window.addEventListener('keydown', handleFirstTab);
541            }
542
543            window.addEventListener('keydown', handleFirstTab);
544
545            removeTooltips();
546            MapTooltips();
547
548            $('.navbar-collapse').on('show.bs.collapse', function () {
549                $('body').addClass('overflow-hidden');
550                $('nav.navbar').removeClass('fixed-top');
551            });
552            $('.navbar-collapse').on('hide.bs.collapse', function () {
553                $('body').removeClass('overflow-hidden');
554                $('.navbar-collapse').scrollTop(0);
555            });
556
557            initPopstateHandler();
558        });
559
560        function AcceptCookieClose() {
561            $.cookie('eR.AcceptCookies', 'true', { path: '/', expires: 365, samesite: "Strict", secure: true });
562            $('#cookie').hide(500);
563        }
564
565        function CreateSubaccountMenus() {
566            var subAccountsMenu = $(".subaccountsMenu").clone();
567            $(subAccountsMenu).removeClass("d-none d-md-block");
568            $(subAccountsMenu).find("ul.accountSettings").remove();
569            var menuOpt = $(subAccountsMenu).find(".menuOptions");
570            $(subAccountsMenu).find(".menuOptions").removeClass("menuOptions");
571            $(".subaccountsMenuMobile").html(subAccountsMenu.get(0).innerHTML);
572
573            $(".subaccountsMenuMobile").addClass("bottomBorder");
574            if ($(".subaccountsMenuMobile .dropdown-menu .subaccountButton").length == 0) {
575                $(".subaccountsMenuMobile .firstSubaccount").addClass("hideToggle");
576            }
577
578            $(document).on("click", '.subaccountButton:not(.firstSubaccount)', function (e) {
579                e.stopImmediatePropagation();
580                ChangeSelectedSubAccount($(this).attr('attr'));
581            });
582        }
583
584       function ChangeSelectedSubAccount(id) {
585            $.get('/app/Account/GetQuickSubAccountWindow', { id: id }, function (data) {
586                confirmMsg({
587                    message: data,
588                    onOk: function () {
589                        $('.navbar-collapse').collapse('hide');
590                        $.post('/app/Account/SubAccountWindowSubmit', { SelectedSubAccountId: id, SetDefault: $("#setDefaultSubaccount").is(":checked") }, function (data) {
591                            if (data.IsSucceeded) {
592                                $(".er-menu-button.er-no-ajax-button[attr=MainPage]").trigger('click');
593                            } else {
594                                alertMsg({
595                                    message: data.ErrorMessage
596                                });
597                            }
598                        });
599                    },
600                    onCancel: function () {
601                        $('.navbar-collapse').collapse('hide');
602                    }
603                });
604        });
605        }
606
607        function CheckTermNotificationTypeIsAvailable() {
608            $.get('/app/Account/CheckTermNotificationTypeIsAvailable', function (data) {
609                if (data.TermNotificationTypeIsAvailable == false) {
610                    if (data.IsSucceed) {
611                        var message = data.Message + '<br /><br />' + 'Po naci&#x15B;ni&#x119;ciu OK nast&#x105;pi przekierowanie do formularza zmiany danych, gdzie mo&#x17C;liwe jest ponowne wybranie preferowanego rodzaju powiadomienia.';
612                    } else {
613                        var message = data.Message + '<br /><br />' + 'Po naci&#x15B;ni&#x119;ciu OK nast&#x105;pi przekierowanie do formularza danych, gdzie b&#x119;dzie mo&#x17C;liwa r&#x119;czna zmiana preferowanego rodzaju powiadomienia. W przypadku niedokonania edycji danych, ponowna pr&#xF3;ba zmiany typu powiadomienia nast&#x105;pi po kolejnym logowaniu do portalu.';
614                    }
615                    confirmMsg({
616                        message: message,
617                        title: 'Informacja',
618                        onOk: function () {
619                            $('.er-extra-menu-button[attr=ChangeUserDataPageMenuButton]').trigger('click');
620                        }
621                    });
622                }
623            });
624        }
625
626        var headerImages = [];
627        var mobile;
628        var refreshed = false;
629        function SetStartupHeaderImagesRatio() {
630            mobile = ($(window).width() >= 751) ? true : false;
631            if ($(".er-custom-header img").length > 0) {
632                $.each($(".er-custom-header img"), function (index, obj) {
633                    if ($(obj).closest(".er-custom-header").width() > 0 && !$(obj).attr("height")) {
634                        $(obj).width(parseInt(($(obj).width() * $(obj).closest(".er-custom-header").width()) / 1113))
635                        headerImages.push({ id: obj, ratio: parseFloat($(obj).width() / $(obj).closest(".er-custom-header").width()) });
636                    }
637                });
638            }
639        }
640        function ChangeHeaderImagesWidth() {
641            if (headerImages !== null && headerImages.length > 0) {
642                $.each(headerImages, function (index, obj) {
643                    if ($(obj.id).closest(".er-custom-header").width() > 0) {
644                        $(obj.id).width(parseInt($(obj.id).closest(".er-custom-header").width() * obj.ratio));
645                    }
646                });
647                if (!refreshed) {
648                    if ((!mobile && ($(window).width() >= 751)) || (mobile && ($(window).width() < 751))) {
649                        SetStartupHeaderImagesRatio();
650                        refreshed = true;
651                    }
652                }
653            }
654        }
655        function ClearAndRefreshHeaderImages() {
656            headerImages = [];
657            refreshed = false;
658            SetStartupHeaderImagesRatio()
659        }
660        $(window).on("resize", function () {
661            ChangeHeaderImagesWidth();
662        });
663        $(".up").on("click", function () {
664            $("html,body").animate({ scrollTop: 0 }, 1000, 'swing');
665        });
666        var scrollEvent = false;
667        $(window).on("scroll", function () {
668            if (!scrollEvent) {
669                scrollEvent = true;
670                if ($(window).scrollTop() > 109) {
671                    $("nav[role='navigation'].navbar").addClass("fixed-top");
672                    $('.breadcrumb').addClass("b-fixed-top");
673                    if ($('header').find('.breadcrumb').length == 0 || $('.breadcrumb').hasClass('d-none')) {
674                        $('.er-page div.er-main').addClass("fixed-top-without-bread");
675                    } else {
676                        $('.er-page div.er-main').addClass("fixed-top-with-bread");
677                    }
678                } else {
679                    $("nav[role='navigation'].navbar").removeClass("fixed-top");
680                    $('.er-page div.er-main').removeClass("fixed-top-with-bread");
681                    $('.er-page div.er-main').removeClass("fixed-top-without-bread");
682                    $('.breadcrumb').removeClass("b-fixed-top");
683                }
684
685                if ($(window).scrollTop() > 700) {
686                    $('.up').fadeIn(300);
687                } else {
688                    $('.up').fadeOut(300);
689                }
690
691                scrollEvent = false;
692            }
693        });
694
695
696        var startAttrForView;
697        function ShowViewDirectly(attr, skipPushState) {
698            $(window).scrollTop(0);
699            $('.er-extra-menu-button.er-ajax-menu-button.er-active').removeClass('er-active');
700            var element = '.er-menu-button[attr=' + attr + ']';
701            $('a.er-active').removeClass('er-active');
702            $(element).find('a').addClass('er-active');
703            showLeftMenu(attr);
704            $("#mainPageContainer").html('');
705            $.get(ajaxLinkArray[attr].link).done(function (data) {
706                $("#mainPageContainer").attr("attr", attr);
707                if (history.pushState) {
708                    var stateObj = { attr: attr };
709                    if (skipPushState === false) {
710                        history.replaceState(stateObj, ajaxLinkArray[attr].title);
711                    } else if (!skipPushState) {
712                        history.pushState(stateObj, ajaxLinkArray[attr].title);
713                    }
714                }
715                document.title = ajaxLinkArray[attr].title;
716                $("#mainPageContainer").html(data);
717                MapTooltips();
718                startAttrForView = undefined;
719            }).done(function () {
720                $.checkAndCreateCookie('PageAjaxLink', attr, { samesite: "Strict", secure: true });
721                if (ajaxLinkArray[attr].menu !== undefined) {
722                    $(".er-first-floor").addClass("d-none");
723                    $(".er-first-floor." + ajaxLinkArray[attr].menu).removeClass("d-none");
724                    $('.er-menu-button a').removeClass('er-active');
725                    $('.er-menu-button[attr=' + ajaxLinkArray[attr].menu + '] a').addClass('er-active');
726                }
727                if (ajaxLinkArray[attr].active != undefined)
728                    $('.er-ajax-menu-button[attr=' + ajaxLinkArray[attr].active + ']').addClass('er-active');
729                else
730                    $('.er-ajax-menu-button[attr=' + attr + ']').addClass('er-active');
731                resetFormValidation();
732            });
733        }
734        function BindClick() {
735            BindMenuButtonClick();
736            BindAjaxMenuButtonClick();
737            BindClickComplex();
738            BindLogoClick();
739            BindNegativeClick();
740            BindNavBarClick();
741        }
742        function BindNavBarClick() {
743            $(document).on('click', function (e) {
744                if (!$(e.target).is('li.subaccountsMenuMobile > a')) {
745                    $('.navbar-collapse').collapse('hide');
746                }
747            });
748        }
749        function BindNegativeClick() {
750            $('header .negative .font').on("click", function () {
751                if ($(this).hasClass('normal')) {
752                    $('html').removeClass('large');
753                    $.checkAndCreateCookie('NegativePageFont', '1', { samesite: "Strict",secure: true });
754                } else if ($(this).hasClass('large')) {
755                    $('html').addClass('large');
756                    $.checkAndCreateCookie('NegativePageFont', '2', { samesite: "Strict", secure: true });
757                }
758                if ($('.newsContent .newsBody').length > 0) {
759                    $('.newsContent .newsBody').dotdotdot();
760                }
761            });
762            $('header .negative .eye').on("click", function () {
763                if ($.cookie('NegativePage') != undefined) {
764                    $.removeCookie('NegativePage', { samesite: "Strict", secure: true });
765                    $('html').removeClass('negative');
766                } else {
767                    $('html').addClass('negative');
768                    $('#Map_PreviewWindow').removeClass('negative');
769                    $.checkAndCreateCookie('NegativePage', true, { samesite: "Strict",secure: true });
770                }
771            });
772        }
773        function BindLogoClick() {
774            $(".er-main-logo, .er-main-logo-small").off("click");
775            $("" + ".er-main-logo-small").on("click", function() {
776                $(".er-menu-button.er-no-ajax-button[attr=MainPage]").trigger('click');
777            });
778        }
779        function BindClickComplex() {
780            $('.er-extra-menu-button.complex').off("click");
781            $('.er-extra-menu-button.complex').on("click", function (event, skipPushState) {
782                var extraMenuExtension = $('.er-extra-menu-extension');
783                extraMenuExtension.children().addClass('d-none');
784                var attr = $(this).attr('attr');
785                var menuToShow = extraMenuExtension.find('nav[attr="' + attr + '"]');
786                menuToShow.removeClass('d-none');
787                menuToShow.children().first().trigger("click", [skipPushState]);
788
789                if ($(extraMenuExtension).hasClass("d-none")) {
790                    $(extraMenuExtension).removeClass('d-none');
791                    $(this).parent().addClass('expanded');
792                }
793            });
794        }
795        var CheckStatus = [];
796        function BindAjaxMenuButtonClick() {
797            $('.er-ajax-menu-button').each(function () {
798                $(this).off("click");
799                $(this).on("click", function (event, skipPushState) {
800                    var button = this;
801                    SetLoading('visible');
802                    var attr = $(this).attr('attr');
803                    showLeftMenu(attr);
804
805                    if ($(this).hasClass("er-extra-user-menu-option")) {
806                        $(".er-menu-button > a.er-active").removeClass("er-active");
807                        var menu = $(this).closest(".menuOptions");
808                        if ($(menu).length > 0 && !$(menu).hasClass("collapsed")) {
809                            $(menu).addClass("collapsed");
810                        }
811                    }
812
813                    if (attr.length != undefined) {
814                        if (attr == "CustomHyperlinkPageMenuButton") {
815                            var selectElement = HyperLinkAction($(this));
816                            if (selectElement) {
817                                $(".er-extra-menu-button.er-active").removeClass("er-active");
818                                $(".er-menu-button > a.er-active").removeClass("er-active");
819                                $(".breadcrumb a[attr=CustomHyperlinkPageMenuButton][attrid='" + attrid + "']").addClass("er-active");
820                                $(".er-links a[attr=CustomHyperlinkPageMenuButton][attrid='" + attrid + "']").addClass("er-active");
821                                $(".er-first-floor").addClass("d-none");
822                            }
823                        } else if (ajaxLinkArray[attr] != undefined) {
824                            $(".er-extra-menu-button.er-active").removeClass("er-active");
825                            var params = startAttrForView;
826                            if ($(this).attr('attrID') !== undefined) {
827                                params = { id: $(this).attr('attrID') };
828                            }
829                            if (ajaxLinkArray[attr].startAttr != undefined && params != undefined) {
830                                $.get(ajaxLinkArray[attr].link, params).done(function (data) {
831                                    $("#mainPageContainer").attr("attr", attr);
832                                    if (history.pushState) {
833                                        var stateObj = { params: params, attr: attr };
834                                        if (skipPushState === false) {
835                                            history.replaceState(stateObj, ajaxLinkArray[attr].title);
836                                        }
837                                        else if (!skipPushState) {
838                                            history.pushState(stateObj, ajaxLinkArray[attr].title);
839                                        }
840                                    }
841                                    document.title = ajaxLinkArray[attr].title;
842                                    $("#mainPageContainer").html(data);
843                                    MapTooltips();
844                                    startAttrForView = undefined;
845                                }).done(function () {
846                                    SetMenuExtensionVisibility(button);
847                                    $.checkAndCreateCookie('PageAjaxLink', attr, { samesite: "Strict", secure: true });
848                                    if (ajaxLinkArray[attr].menu !== undefined) {
849                                        $(".er-first-floor").addClass("d-none");
850                                        $(".er-first-floor." + ajaxLinkArray[attr].menu).removeClass("d-none");
851                                        $('.er-menu-button a').removeClass('er-active');
852                                        $('.er-menu-button[attr=' + ajaxLinkArray[attr].menu + '] a').addClass('er-active');
853                                    }
854                                });
855                            } else {
856                                $.get(ajaxLinkArray[attr].link).done(function (data) {
857                                    $("#mainPageContainer").attr("attr", attr);
858                                    if (history.pushState) {
859                                        var stateObj = { attr: attr };
860                                        if (skipPushState === false) {
861                                            history.replaceState(stateObj, ajaxLinkArray[attr].title);
862                                        } else if (!skipPushState) {
863                                            history.pushState(stateObj, ajaxLinkArray[attr].title);
864                                        }
865                                    }
866                                    document.title = ajaxLinkArray[attr].title;
867                                    $("#mainPageContainer").html(data);
868                                    MapTooltips();
869                                }).done(function () {
870                                    SetMenuExtensionVisibility(button);
871                                    $.checkAndCreateCookie('PageAjaxLink', attr, { samesite: "Strict", secure: true });
872                                    if (ajaxLinkArray[attr].menu !== undefined) {
873                                        $(".er-first-floor").addClass("d-none");
874                                        $(".er-first-floor." + ajaxLinkArray[attr].menu).removeClass("d-none");
875                                        $('.er-menu-button a').removeClass('er-active');
876                                        $('.er-menu-button[attr=' + ajaxLinkArray[attr].menu + '] a').addClass('er-active');
877                                    }
878
879                                    resetFormValidation();
880                                });
881                            }
882                            if (attr == "CustomPageMenuButton") {
883                                $(".er-menu-button > a.er-active").removeClass("er-active");
884                                var attrid = $(this).attr("attrid");
885                                $(".breadcrumb a[attr=CustomPageMenuButton][attrid='" + attrid + "']").addClass("er-active");
886                                $(".er-links a[attr=CustomPageMenuButton][attrid='" + attrid + "']").addClass("er-active");
887                                $(".er-first-floor").addClass("d-none");
888                            } else {
889                                if (!$(this).parent().hasClass("menuDropDownContent")) {
890                                    $(this).addClass("er-active");
891                                    if ($(this).hasClass("er-extra-user-menu-option") && ajaxLinkArray[attr].active != undefined) {
892                                        $('.er-ajax-menu-button[attr=' + ajaxLinkArray[attr].active + ']').addClass('er-active');
893                                    } else if ($(this).closest(".er-extra-menu-extension").length > 0) {
894                                        var parentAttr = $(this).parent().attr("attr");
895                                        if (typeof parentAttr !== typeof undefined && parentAttr !== false) {
896                                            $(".er-extra-menu-button.complex[attr=" + parentAttr + "]").addClass('er-active');
897                                        }
898                                    }
899                                } else {
900                                    $(this).parent().parent().addClass("er-active");
901                                }
902                            }
903                        }
904                    }
905
906                    CheckStatus.forEach(function (item, index) {
907                        if (item.readyState != 4) {
908                            item.abort();
909                            CheckStatus.splice(index, 1);
910                        }
911                    });
912                });
913            });
914        }
915
916        function SetMenuExtensionVisibility(button) {
917            // ukryj menuExtension, jesli przycisk nie jest wlasnie z tego menu i nie powoduje wyświetlenia menuExtension
918            if ((!$(button).is(".er-extra-menu-extension .er-ajax-menu-button") && !$(button).hasClass("complex"))) {
919                $('.er-extra-menu-extension').addClass("d-none");
920            }
921            else {
922                var extAttr = $(button).parent().attr("attr")
923                var menuToShow = $('.er-extra-menu-extension').find('nav[attr="' + extAttr + '"]');
924                $('.er-extra-menu-extension').children().addClass('d-none');
925                menuToShow.removeClass('d-none');
926                $('.er-extra-menu-extension').removeClass("d-none");
927            }
928
929        }
930
931        function BindMenuButtonClick() {
932            $('.er-menu-button').off("click");
933            $('.er-menu-button').on("click", function () {
934                SetLoading('visible');
935                var isAjaxButton = !$(this).hasClass("er-no-ajax-button");
936                if ($(this).attr("directly")) {
937                    ShowViewDirectly($(this).attr("attr"));
938                }
939                if (isAjaxButton) {
940                    $(this).find('a.er-active').removeClass('er-active');
941                    $(this).find('a').addClass('er-active');
942                    $('.er-extra-menu-extension').addClass("d-none");
943                    var objectName = '.er-first-floor.' + $(this).attr("attr");
944                    $('.er-first-floor').addClass('d-none');
945                    $(objectName).removeClass('d-none');
946                } else {
947                    var link = $(this).find('a[attr]');
948                    if (link.length > 0) {
949                        var cookie = $.cookie("PageAjaxLink");
950                        $.removeCookie('PageAjaxLink', { samesite: "Strict", secure: true, path: '/', expires: 1 });
951                        var attr = $(link).attr('attr');
952
953                        if (PathnameEquals(attr)) {
954                            if (cookie && history.pushState) {
955                                history.pushState(null, null, null);
956                            }
957                            var isFirefox = typeof InstallTrigger !== 'undefined';
958                            if (isFirefox && window.location.search.length == 0) {
959                                location.reload();
960                            } else {
961                                window.location.href = attr;
962                            }
963                        } else {
964                            if (attr === "/app/Account/LogOff") {
965                                LogOffAction(attr);
966                            } else {
967                                window.location.href = attr;
968                            }
969                        }
970                    }
971                }
972            });
973        }
974
975        $(window).on('popstate', function (event) {
976            var data = history.state;
977            if (data) {
978                var attr = data.attr;
979                var params = data.params;
980                var title;
981                var link;
982
983                $('.er-extra-menu-extension').addClass("d-none");
984                if (attr) {
985                    if (attr === 'CustomPageMenuButton') {
986                        title = ajaxLinkArray[attr].title;
987                        link = ajaxLinkArray[attr].link;
988                        AjaxRedirect(link, params, title, true);
989                    } else {
990                        $.checkAndCreateCookie('PageAjaxLink', attr, { samesite: "Strict", secure: true });
991                        RestoreFromCookie(true);
992                    }
993                    showLeftMenu(attr);
994                } else {
995                    if (params) {
996                        title = data.title;
997                        link = data.link;
998                        showLeftMenu(null);
999                        AjaxRedirect(link, params, title, true);
1000                    } else {
1001                        $.removeCookie('PageAjaxLink', { samesite: "Strict", secure: true, path: '/', expires: 1 });
1002                        window.location.reload();
1003                    }
1004                }
1005            }
1006        });
1007
1008        function LogOffAction(attr) {
1009             window.location.href = attr;
1010        }
1011
1012        function PathnameEquals(page) {
1013            if (!page) {
1014                page = '';
1015            }
1016            return 'GET' == 'GET'
1017                && window.location.pathname !== undefined
1018                && window.location.pathname !== null
1019                && (window.location.pathname.toLowerCase() === page.toLowerCase()
1020                    || window.location.pathname.toLowerCase() === '/' + page.toLowerCase()
1021                    || window.location.pathname.toLowerCase() === page.toLowerCase() + '/'
1022                    || window.location.pathname.toLowerCase() === '/' + page.toLowerCase() + '/'
1023                    || window.location.pathname.toLowerCase() === "/app" + page.toLowerCase()
1024                    || window.location.pathname.toLowerCase() === "/app/" + page.toLowerCase()
1025                    || window.location.pathname.toLowerCase() === "/app" + page.toLowerCase() + '/'
1026                    || window.location.pathname.toLowerCase() === "/app/" + page.toLowerCase() + '/'
1027                );
1028        }
1029
1030        function RestoreFromCookie(skipPushState) {
1031            if (PathnameEquals() || skipPushState) {
1032                var cookie = $.cookie("PageAjaxLink");
1033                if (cookie != undefined) {
1034                    if (cookie != 'CustomPageMenuButton') {
1035                        if (ajaxLinkArray[cookie] != undefined) {
1036                            var ajaxElement = '.er-ajax-menu-button[attr=' + cookie + ']';
1037                            if ($(ajaxElement).length > 0) {
1038                                $(".er-first-floor.customPageExtraMenu").addClass("d-none");
1039                                $(".er-first-floor." + ajaxLinkArray[cookie].menu).removeClass("d-none");
1040                                if (ajaxLinkArray[cookie].startAttr == undefined) {
1041                                    $(ajaxElement).not('.complex').trigger('click', [skipPushState]);
1042                                    $('.er-menu-button[attr=' + cookie + '] a').addClass('er-active');
1043                                } else {
1044                                    if (ajaxLinkArray[cookie].parentClass != undefined) {
1045                                        ajaxElement = '.er-ajax-menu-button[attr=' + ajaxLinkArray[cookie].parentClass + ']';
1046                                        $(ajaxElement).not('.complex').trigger('click', [skipPushState]);
1047                                    } else {
1048                                        $('.er-menu-button[attr=' + cookie + '] a').addClass('er-active');
1049                                        $(ajaxElement).not('.complex').trigger('click', [skipPushState]);
1050                                    }
1051                                }
1052                            } else {
1053                                ShowViewDirectly(cookie, skipPushState);
1054                                $(".er-first-floor.customPageExtraMenu").addClass("d-none");
1055                                $(".er-first-floor." + ajaxLinkArray[cookie].menu).removeClass("d-none");
1056                            }
1057                        } else {
1058                            // nie ma podstrony w tablicy ajaxLinkArray, co znaczy, że sesja wygasła i użytownik
1059                            // został wylogowany i przekierowany na stronę główną
1060                            $('.er-menu-button[attr="MainPage"] a').addClass('er-active');
1061                            $.removeCookie('PageAjaxLink', { samesite: "Strict", secure: true, path: '/', expires: 1 });
1062                        }
1063                    }
1064                } else {
1065                    if ($.cookie("Redirect") == undefined) {
1066                        $('.er-menu-button[attr="MainPage"] a').addClass('er-active');
1067                    }
1068                }
1069            } else {
1070                // Nieajaxowe podstrony poza Stroną główną
1071                $('.er-menu-button a.er-active').removeClass('er-active');
1072                if (PathnameEquals($('.er-menu-button[attr="LoginSelectPageMenuButton"] a').attr('attr'))) {
1073                    $('.er-menu-button[attr="LoginSelectPageMenuButton"] a').addClass('er-active');
1074                }
1075                else if (PathnameEquals($('.er-menu-button[attr="HelpPageMenuButton"] a').attr('attr'))) {
1076                    $('.er-menu-button[attr="HelpPageMenuButton"] a').addClass('er-active');
1077                }
1078            }
1079            $.removeCookie('Redirect', { samesite: "Strict", secure: true });
1080        }
1081
1082        function showLeftMenu(attr) {
1083            if (ajaxLinkArray[attr] !== undefined && ajaxLinkArray[attr].menu !== undefined) {
1084                $(".er-main .er-content").removeClass("er-full-width");
1085                $(".er-left").show();
1086            } else {
1087                $(".er-main .er-content").addClass("er-full-width");
1088                $(".er-left").hide();
1089            }
1090        }
1091
1092        function disableKendoList(elem, disable) {
1093            disable = disable || false;
1094            elem.readonly(disable);
1095            if(disable)
1096                elem.element.addClass("k-state-disabled").parent().addClass("k-state-disabled").attr("aria-readonly", "true");
1097            else
1098                elem.element.removeClass("k-state-disabled").parent().removeClass("k-state-disabled").removeAttr("aria-readonly", "true");
1099        }
1100
1101        var elementClick = function ElementClick(e) {
1102            if ($(this).is(":focus")) {
1103                if (e.which == 13 || e.which == 32) {
1104                    e.preventDefault();
1105                    $(this).click();
1106                }
1107            }
1108        }
1109
1110        $(".nav-item > a").keydown(elementClick);
1111        $("div.click").keydown(elementClick);
1112        $(".nav-item > .subaccountsMenu").keydown(function (e) {
1113            if ($(this).is(":focus")) {
1114                if (e.which == 13 || e.which == 32) {
1115                    e.preventDefault();
1116                    $(this).find("#navbarDropdown").click();
1117                }
1118            }
1119        });
1120
1121        
1122    ajaxLinkArray['MyOutsideTermsPageMenuButton'] = { link: '/app/Terms/MyOutsideTerms', title: 'Moje rezerwacje - eRejestracja', };
1123    ajaxLinkArray['RegisterPageMenuButton'] = { link: '/app/Account/RegisterModeSelection', title: 'Utwórz konto - eRejestracja', };
1124    ajaxLinkArray['LoginSelectPageMenuButton'] = { link: '/app/Account/LogOnDefault', title: 'Wybierz sposób logowania - eRejestracja' };
1125    ajaxLinkArray['FreeTermsPageMenuButton'] = { link: '/app/Terms/FreeTerms', title: 'Wolne terminy - eRejestracja', };
1126ajaxLinkArray['CustomPageMenuButton'] = { link: '/app/Home/CustomPage', title: 'Strona - eRejestracja', startAttr: true };
1127
1128
1129        function convertDateToUTC(date) { return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds()); }
1130
1131        const labelsResx = {"showPassword":"Pokaż hasło","weak":"Słabe","medium":"Średnie","strong":"Silne"};
1132
1133        const portalMessagesResx = {"passwordWeak":" jest słabe.","passwordMedium":" jest średnie.","passwordStrong":" jest silne."};
1134    </script>
1134
1135    
1135<script>
1136        window.layout = (() => {
1137            // #region selectors
1138
1139            const selector = 'body';
1140
1141            const extraIds = {
1142                mainPageContainer: '#mainPageContainer'
1143            };
1144
1145            // #endregion selectors
1146
1147            const init = () => {
1148
1149            };
1150
1151            // #region private
1152
1153            // #endregion private
1154
1155            // #region public
1156
1157            const setContent = (content) => {
1158                $(selector).find(extraIds.mainPageContainer).html(content);
1159            };
1160
1161            // #endregion public
1162
1163            kendo.syncReady(init);
1164
1165            return {
1166                setContent
1167            };
1168        })();
1169    </script>
1169
1170
1171    
1172<script>
1173    function AjaxRedirect(link, params, title, skipPushState) {
1174        $.get(link, params).done(function (data) {
1175            HandleAjaxRedirect(link, params, title, skipPushState, data);
1176        });
1177    }
1178    function AjaxRedirectPost(link, params, title, skipPushState) {
1179        $.postAf(link, params).done(function (data) {
1180            HandleAjaxRedirect(link, params, title, skipPushState, data);
1181        });
1182    }
1183    function HandleAjaxRedirect(link, params, title, skipPushState, data) {
1184        if (history.pushState) {
1185            var stateObj = { link: link, params: params, title: title };
1186            if (skipPushState === false) {
1187                history.replaceState(stateObj, title);
1188            } else if (!skipPushState) {
1189                history.pushState(stateObj, title);
1190            }
1191        }
1192        if (title != null) {
1193            document.title = title;
1194        }
1195        $("#mainPageContainer").html(data);
1196        removeTooltips();
1197        MapTooltips();
1198    }
1199    function HyperLinkAction(link) {
1200        var type = $(link).attr('attrType');
1201        var id = $(link).attr('attrID');
1202        var attr = $(link).attr('attr');
1203        if (typeof type !== typeof undefined) {
1204            if (type != '3') {
1205                var url = $(link).attr('attrUrl');
1206                if (typeof url !== typeof undefined) {
1207                if (type == '1') {
1208                    window.location.href = url;
1209                    } else {
1210                        window.open(url, '_blank');
1211                    }
1212                }
1213            } else if (typeof id !== typeof undefined) {
1214                AjaxRedirect('/app/Home/IframeHyperLink', { id: id }, $(link).html().trim());
1215                return true;
1216            }
1217        }
1218        return false;
1219    }
1220    //alertMsg({ message: 'message text', title: 'title text',onOk: 'function()', onOpen: 'function()' });
1221    //onOk - optional
1222    function alertMsg(opts, callback) {
1223        $.ajax({
1224            url: '/app/Home/GetAlertMsg',
1225            type: "GET",
1226            dataType: "html",
1227            success: function (data) {
1228                var msg = opts.message;
1229                var title = opts.title;
1230                opts.message = data;
1231                opts.baseZ = 99999;
1232                $.blockUI(opts);
1233                $('.messageText').html(msg);
1234                $('.messageTitle').html(title);
1235                BindAlertClick(opts);
1236                if (typeof (opts.onOpen) != 'undefined') {
1237                    opts.onOpen();
1238                }
1239                $('.blockUI.blockMsg').centerElement();
1240                $(".messagebox .alertOk").trigger("focus");
1241                $(".messagebox .alertOk").bind("keydown", function (e) {
1242                    if (e.keyCode == 13) {
1243                        $(this).trigger("click");
1244                    }
1245                });
1246            }
1247        });
1248    };
1249    function BindAlertClick(opts) {
1250        $('.messagebox .alertOk').on("click", function () {
1251            if (typeof (opts.onOk) != 'undefined')
1252                opts.onOk();
1253            $.unblockUI();
1254            $(".messagebox .alertOk").off("click");
1255        });
1256    }
1257    //confirmMsg({ message: 'message text', title: 'title text',class: 'element class', onOk: 'function(){}', onCancel:'function(){}' });
1258    //onOk, onCancel - optional
1259    function confirmMsg(opts, callbacks) {
1260        $.ajax({
1261            url: '/app/Home/GetConfirmMsg',
1262            type: "GET",
1263            dataType: "html",
1264            success: function (data) {
1265                var msg = opts.message;
1266                var title = opts.title;
1267                opts.message = data;
1268                opts.baseZ = 99999;
1269                $.blockUI(opts);
1270                $('.messageText').html(msg);
1271                $('.messageTitle').html(title);
1272                BindConfirmClick(opts);
1273                $(".messagebox .confirmOk").trigger("focus");
1274                $(".messagebox .confirmOk").on("keydown", function (e) {
1275                    if (e.keyCode == 13) {
1276                        $(this).trigger("click");
1277                    }
1278                });
1279                if (opts.class) {
1280                    if (opts.class.length > 0) {
1281                        $('.blockUI').addClass(opts.class);
1282                    }
1283                }
1284                $('.blockUI.blockMsg').centerElement();
1285            }
1286        });
1287    };
1288    function BindConfirmClick(opts) {
1289        $('.messagebox .confirmOk').on("click", function () {
1290            if (typeof (opts.onOk) != 'undefined')
1291                opts.onOk();
1292            $.unblockUI();
1293            $(".messagebox .confirmOk").off("click");
1294        });
1295        $('.messagebox .confirmCancel').on("click", function () {
1296            if (typeof (opts.onCancel) != 'undefined')
1297                opts.onCancel();
1298            $.unblockUI();
1299            $(".messagebox .confirmCancel").off("click");
1300        });
1301    };
1302
1303    function hideMenuButtons() {
1304        $('.er-menu-button[attr=FreeTermsPageMenuButton]').addClass('hidden-menu-button', 'unclickable').attr("aria-hidden", "true");
1305        $('.er-menu-button[attr=PatientAreaPageMenuButton]').addClass('hidden-menu-button', 'unclickable').attr("aria-hidden", "true");
1306        $('.er-menu-button[attr=AdminListPageMenuButton]').addClass('hidden-menu-button', 'unclickable').attr("aria-hidden", "true");
1307        $('.er-menu-button[attr=HelpPageMenuButton]').addClass('hidden-menu-button', 'unclickable').attr("aria-hidden", "true");
1308        $('.er-menu-button[attr=PersonnelTermsSchedulePageMenuButton]').addClass('hidden-menu-button', 'unclickable').attr("aria-hidden", "true");
1309        $('.er-menu-button[attr=loginDiv]').addClass('no-background-image');
1310        $("header .breadcrumb").addClass("d-none");
1311        $("footer .er-links").addClass("d-none");
1312    }
1313    function showMenuButtons() {
1314        $('.er-menu-button[attr=FreeTermsPageMenuButton]').removeClass('hidden-menu-button', 'unclickable').removeAttr("aria-hidden");
1315        $('.er-menu-button[attr=PatientAreaPageMenuButton]').removeClass('hidden-menu-button', 'unclickable').removeAttr("aria-hidden");
1316        $('.er-menu-button[attr=AdminListPageMenuButton]').removeClass('hidden-menu-button', 'unclickable').removeAttr("aria-hidden");
1317        $('.er-menu-button[attr=HelpPageMenuButton]').removeClass('hidden-menu-button', 'unclickable').removeAttr("aria-hidden");
1318        $('.er-menu-button[attr=PersonnelTermsSchedulePageMenuButton]').removeClass('hidden-menu-button', 'unclickable').removeAttr("aria-hidden");
1319        $('.er-menu-button[attr=loginDiv]').removeClass('no-background-image');
1320        $("header .breadcrumb").removeClass("d-none");
1321        $("footer .er-links").removeClass("d-none");
1322    }
1323
1324    $.validator.addMethod("data-val-globilizeddateformat",
1325        function (value, element) {
1326            return this.optional(element) || Globalize.parseDate(value, 'dd.MM.yyyy');
1327        }, '');
1328    $.validator.unobtrusive.adapters.addBool("globilizeddateformat");
1329
1330    function resetFormValidation(formElement) {
1331        if (formElement != undefined) {
1332            var form = $(formElement)
1333                .removeData("validator")
1334                .removeData("unobtrusiveValidation");
1335            $.validator.unobtrusive.parse(form);
1336            $.validator.unobtrusive.parse(document);
1337        } else {
1338            if ($("form").length > 0) {
1339                var form = $("form")
1340                    .removeData("validator")
1341                    .removeData("unobtrusiveValidation");
1342                $.validator.unobtrusive.parse(form);
1343                $.validator.unobtrusive.parse(document);
1344            }
1345        }
1346    }
1347    function GetSelectedRow(element) {
1348        if ($(element).length > 0) {
1349            var entityGrid = $(element).data("kendoGrid");
1350            return entityGrid.dataItem(entityGrid.select());
1351        }
1352    }
1353    function FixLowResGrids(grid) {
1354        var gridToolbar = $(grid.element).find('.k-grid-toolbar');
1355        FixToolbar();
1356        $(window).on('resize', FixToolbar);
1357
1358        function FixToolbar() {
1359            if (gridToolbar.outerHeight() > 100) {
1360                gridToolbar.addClass('low-res');
1361            }
1362            else {
1363                gridToolbar.removeClass('low-res');
1364            }
1365        };
1366    }
1367    function CreatePrettyCheckbox(labelPosition, customClass) {
1368        labelPosition = labelPosition !== undefined ? labelPosition : 'right';
1369        customClass = customClass !== undefined ? customClass : '';
1370
1371        var inputList = $(".prettyCheckableCheckbox > input[type=checkbox]");
1372        for (var i = inputList.length - 1; i >= 0; i--) {
1373            $(inputList[i]).prettyCheckable({
1374                labelPosition: labelPosition,
1375                customClass: customClass
1376            });
1377        }
1378    }
1379    function KButtonEnable(button, enableState) {
1380        $(button).length > 0 && $(button).whenKendoReady('kendoButton').then((kendoButton) => {
1381            kendoButton.enable(enableState);
1382        });
1383    }
1384    function KDropDownButtonEnable(button, enableState) {
1385        if ($(button).length > 0 && $(button).data("kendoDropDownButton") !== undefined) {
1386            $(button).data("kendoDropDownButton").enable(enableState);
1387        }
1388    }
1389    function KDropDownButtonItemEnable(button, item, enableState) {
1390        if ($(button).length > 0 && $(button).data("kendoDropDownButton") !== undefined) {
1391            $(button).data("kendoDropDownButton").enable(enableState, item);
1392        }
1393    }
1394    function SetLoading(loadingMode) {
1395        switch (loadingMode) {
1396            case ('visible'): {
1397                $(".er-loading-ajax-page").removeClass("er-skip-fade");
1398                $(".er-loading-ajax-page").removeClass("er-transparent");
1399                break;
1400            }
1401            case ('none'): {
1402                $(".er-loading-ajax-page").addClass("er-skip-fade");
1403                $(".er-loading-ajax-page").removeClass("er-transparent");
1404                break;
1405            }
1406            case ('transparent'): {
1407                $(".er-loading-ajax-page").removeClass("er-skip-fade");
1408                $(".er-loading-ajax-page").addClass("er-transparent");
1409                break;
1410            }
1411            default:
1412                break;
1413        }
1414    }
1415
1416    function isElementInViewport(el) {
1417        var rect = el[0].getBoundingClientRect();
1418        var navbar = $("nav.navbar");
1419        var fixedNavbarHeight = 0;
1420
1421        if ($(navbar).css('position') == 'fixed') {
1422            fixedNavbarHeight = $(navbar).outerHeight();
1423        }
1424
1425        return (
1426            rect.top >= fixedNavbarHeight &&
1427            rect.left >= 0 &&
1428            rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
1429            rect.right <= (window.innerWidth || document.documentElement.clientWidth)
1430        );
1431    }
1432
1433    function showBarError(topBar, message) {
1434        if ($(topBar).length > 0) {
1435            if (message !== undefined) {
1436                $(topBar).html(message);
1437            }
1438            $(topBar).removeClass("d-none");
1439
1440            if (!isElementInViewport($(topBar))) {
1441                $("html,body").animate({
1442                    scrollTop: $(topBar).offset().top - $("nav.navbar").outerHeight() - 10
1443                });
1444            }
1445        }
1446    }
1447
1448    /* Usuwanie polskich znaków */
1449
1450    String.prototype.escapeDiacritics = function () {
1451        return this.replace(/ą/g, 'a').replace(/Ą/g, 'A')
1452            .replace(/ć/g, 'c').replace(/Ć/g, 'C')
1453            .replace(/ę/g, 'e').replace(/Ę/g, 'E')
1454            .replace(/ł/g, 'l').replace(/Ł/g, 'L')
1455            .replace(/ń/g, 'n').replace(/Ń/g, 'N')
1456            .replace(/ó/g, 'o').replace(/Ó/g, 'O')
1457            .replace(/ś/g, 's').replace(/Ś/g, 'S')
1458            .replace(/ż/g, 'z').replace(/Ż/g, 'Z')
1459            .replace(/ź/g, 'z').replace(/Ź/g, 'Z');
1460    }
1461
1462    /* Formatowanie numeru telefonu */
1463
1464    function FormatPhoneNumber(elem) {
1465        if(!elem.hasClass("input-validation-error")) {
1466            var phoneNumber = elem.val(), 
1467                tmpPhoneNumber = phoneNumber.replace(/^([+]48 *)|^(0+ *)|([^\d+]+)/g, "");
1468
1469            if (!tmpPhoneNumber.startsWith("+") && tmpPhoneNumber.length == 9) {
1470                phoneNumber = tmpPhoneNumber.slice(0, 3) + "-" + tmpPhoneNumber.slice(3, 6) + "-" + tmpPhoneNumber.slice(6, 9);
1471            }
1472
1473            elem.val(phoneNumber);
1474        }
1475    }
1476
1477    /* ---Globalne dodanie funkcji dla eventów związanych z elementami, które mogą istnieć później--- */
1478
1479    // Półprzezroczyste tło loadera
1480    $(document).on("click", "input[type='submit'], .k-tabstrip .k-link, .k-tabstrip .k-button", function () {
1481        SetLoading('transparent');
1482    });
1483
1484    // Brak możliwości wpisania przecinka do inputu dla liczb całkowitych
1485    $(document).on("keydown", ".numeric-integer", function (e) {
1486        if (e.keyCode == 188) {
1487            e.preventDefault();
1488        }
1489    });
1490
1491    $(document).on("change", ".numeric-integer", function (e) {
1492        $(this).val(parseInt($(this).val()));
1493    });
1494
1495    function FixColorPalette() {
1496        // Rozwiązanie problemu ustawiania czarnego tła w color pickerze w widoku kontrastowym
1497        if (typeof observer === 'undefined') {
1498            const paletteCount = 2;
1499            const targetNode = document.getElementsByTagName('body')[0];
1500            const observerConfig = { childList: true, subtree: true };
1501            function loadCallback(_, observer) {
1502                const palette = document.getElementsByClassName('k-palette');
1503                if (palette.length) {
1504                    for (let i = 0; i < palette.length; ++i) {
1505                        const paletteItems = palette[i].querySelectorAll('tr td');
1506                        for (let j = 0; j < paletteItems.length; ++j) {
1507                            paletteItems[j].classList.add('k-palette-color');
1508                        }
1509                    }
1510                    if (palette.length === paletteCount) {
1511                        observer.disconnect();
1512                    }
1513                }
1514            };
1515
1516            const observer = new MutationObserver(loadCallback);
1517            observer.observe(targetNode, observerConfig);
1518        }
1519    }
1520
1521    /* ----------Mapy------------- */
1522
1523    // Inicjalizacja mapy javascript
1524    var MapWasInitialized = false;
1525    function InitializeMap() {
1526        eRMap.init({
1527            googleMapApiKeyJS: 'AIzaSyCL5CtIqq0lKFAJrj-O1M0yEzxanxp2h_k',
1528            googleMapApiKeyStatic: 'AIzaSyCL5CtIqq0lKFAJrj-O1M0yEzxanxp2h_k',
1529            parentElementId: 'MapContent',
1530            isMobileDevice: false,
1531            apiKeyJSRequired: 'true',
1532            apiKeyStaticRequired: 'true'
1533        });
1534        MapWasInitialized = true;
1535        eRMaplocale = eRMap.messages.language;
1536    }
1537    // Otwarcie okna z mapą dynamiczną
1538    function Map_ShowPreview(destination, origin, specName) {
1539        var mapWindow = $("#Map_PreviewWindow").data("kendoWindow");
1540
1541        if (specName != "") {
1542            mapWindow.title(specName + " - \n" + destination);
1543        } else {
1544            mapWindow.title(destination);
1545        }
1546
1547        mapWindow.center().open();
1548        eRMap.setAddresses(origin, destination);
1549        eRMap.refresh();
1550    }
1551    // Kliknięcie przycisku "Zamieść" dla mapy statycznej w editorze
1552    function ButtonInsertStaticOnClick() {
1553        var address = $('#Address').val();
1554        $('#StaticMapContainer').gmap3({
1555            getlatlng: {
1556                address: address,
1557                callback: function (results) {
1558                    if (!results) {
1559                        alertMsg({ message: 'Podany adres nie istnieje' });
1560                        return;
1561                    }
1562                    var editor = $("#Content").data("kendoEditor");
1563                    latLng = results[0].geometry.location;
1564                    var map = document.createElement('img');
1565                    var place = latLng.lat() + "," + latLng.lng();
1566                    var zoom = $('#Zoom').val();
1567                    var width = $('#Width').val();
1568                    var height = width / 2;
1569                    map.width = width;
1570                    map.height = height;
1571                    map.src = "https://maps.googleapis.com/maps/api/staticmap?center=" + place + "&zoom=" + zoom + "&size=600x300&scale=2&maptype=roadmap&markers=color:blue%7Clabel:%7C" + place + "&key=AIzaSyCL5CtIqq0lKFAJrj-O1M0yEzxanxp2h_k";
1572                    map.setAttribute("alt", "Lokalizacja na mapie Google Maps")
1573                    editor.paste(map.outerHTML);
1574                    CloseInsertStaticMapForm_Window();
1575                }
1576            }
1577        });
1578    }
1579    // Kliknięcie przycisku "Zamieść" dla mapy dynamicznej w editorze
1580    function ButtonInsertDynamicOnClick() {
1581        var address = $('#DynamicAddress').val();
1582        $('#DynamicMapContainer').gmap3({
1583            getlatlng: {
1584                address: address,
1585                callback: function (results) {
1586                    if (!results) {
1587                        alertMsg({ message: 'Podany adres nie istnieje' });
1588                        return;
1589                    }
1590                    var editor = $("#Content").data("kendoEditor");
1591                    var name = $('#DynamicName').val();
1592                    if ($('#DynamicTitle').val() != "") {
1593                        var title = $('#DynamicTitle').val();
1594                    } else {
1595                        $('#DynamicTitle').val('Poka&#x17C; lokalizacj&#x119;');
1596                        var title = 'Poka&#x17C; lokalizacj&#x119;';
1597                    }
1598                    var str = '<a href="javascript:void(0)" onclick="Map_ShowPreview(\'' + address + '\',\'\' ,\'' + name + '\')" class="map-link">' + title + '</a>';
1599                    editor.paste(str);
1600                    CloseInsertDynamicMapForm_Window();
1601                }
1602            }
1603        });
1604
1605    }
1606    // Otwarcie okna do wstawiania mapy dynamicznej w editorze
1607    function PreviewDynamicMapOnClick() {
1608        var address = $('#DynamicAddress').val();
1609        var name = $('#DynamicName').val();
1610        if ($('#DynamicTitle').val() != "") {
1611            var title = $('#DynamicTitle').val();
1612        } else {
1613            $('#DynamicTitle').val('Poka&#x17C; lokalizacj&#x119;');
1614            var title = 'Poka&#x17C; lokalizacj&#x119;';
1615        }
1616
1617        $('#DynamicMapContainer').gmap3({
1618            getlatlng: {
1619                address: address,
1620                callback: function (results) {
1621                    if (!results) {
1622                        alertMsg({ message: 'Podany adres nie istnieje' });
1623                        $("#DynamicMapContainer").html("");
1624                        return;
1625                    }
1626                    latLng = results[0].geometry.location;
1627                    var str = '<a href="javascript:void(0)" onclick="Map_ShowPreview(\'' + address + '\',\'\' ,\'' + name + '\')" class="map-link">' + title + '</a>';
1628                    $("#DynamicMapContainer").html(str);
1629                }
1630            }
1631        });
1632    }
1633    // Otwarcie okna do wstawiania mapy statycznej w editorze
1634    function PreviewStaticMapOnClick() {
1635        var address = $('#Address').val();
1636        $('#StaticMapContainer').gmap3({
1637            getlatlng: {
1638                address: address,
1639                callback: function (results) {
1640                    if (!results) {
1641                        alertMsg({ message: 'Podany adres nie istnieje' });
1642                        $("#StaticMapContainer").html("");
1643                        return;
1644                    }
1645                    latLng = results[0].geometry.location;
1646                    $("img").remove(".map-img");
1647                    var map = document.createElement('img');
1648                    var place = latLng.lat() + "," + latLng.lng();
1649                    var zoom = $('#Zoom').val();
1650                    map.classList.add("map-img");
1651                    map.src = "https://maps.googleapis.com/maps/api/staticmap?center=" + place + "&zoom=" + zoom + "&size=600x300&scale=2&maptype=roadmap&markers=color:blue%7Clabel:%7C" + place + "&key=AIzaSyCL5CtIqq0lKFAJrj-O1M0yEzxanxp2h_k";
1652                    map.style.width = "100%";
1653                    map.style.height = "auto";
1654                    if (parseInt($('#Zoom').val()) > parseInt($('#Zoom').attr('max'))) {
1655                        $('#Zoom').val($('#Zoom').attr('max'));
1656                    }
1657                    if (parseInt($('#Width').val()) > parseInt($('#Width').attr('max'))) {
1658                        $('#Width').val($('#Width').attr('max'));
1659                    }
1660                    $("#StaticMapContainer").append(map);
1661                }
1662            }
1663        });
1664    }
1665
1666    // Otwarcie okna do wstawiania mapy statycznej w editorze
1667    function showInsertStaticMapForm_Window() {
1668        var mapWindow = $("#InsertStaticMapForm_Window").data("kendoWindow");
1669
1670        mapWindow.center().open().setOptions({ width: 450 });
1671    }
1672    // Zamknięcie okna do wstawiania mapy statycznej w editorze
1673    function CloseInsertStaticMapForm_Window() {
1674        var mapWindow = $("#InsertStaticMapForm_Window").data("kendoWindow");
1675        mapWindow.close();
1676    }
1677    // Otwarcie okna do wstawiania mapy dynamicznej w editorze
1678    function showInsertDynamicMapForm_Window() {
1679        var mapWindow = $("#InsertDynamicMapForm_Window").data("kendoWindow");
1680
1681        mapWindow.center().open().setOptions({ width: 450 });
1682    }
1683    // Zamknięcie okna do wstawiania mapy dynamicznej w editorze
1684    function CloseInsertDynamicMapForm_Window() {
1685        var mapWindow = $("#InsertDynamicMapForm_Window").data("kendoWindow");
1686        mapWindow.close();
1687    }
1688
1689    function StaticMap_onOpen(e) {
1690        $('#StaticMapContainer').empty();
1691        $('#Zoom').val(15);
1692        $('#Address').val("");
1693        $('#Width').val(200);
1694    }
1695
1696    function DynamicMap_onOpen(e) {
1697        $('#DynamicMapContainer').empty();
1698        $('#DynamicAddress').val("");
1699        $('#DynamicName').val("");
1700        $('#DynamicTitle').val('Pokaż lokalizację');
1701    }
1702
1703    function AddressExists(id, address) {
1704        $('#' + id).gmap3({
1705            getlatlng: {
1706                address: address,
1707                callback: function (results) {
1708                    if (!results) {
1709                        return false;
1710                    }
1711                    return true;
1712                }
1713            }
1714        });
1715    }
1716
1717    function TrimMapInputs() {
1718        $("#InsertStaticMapForm_Window :input").on("focusout", function () {
1719            $(this).val($(this).val().trim());
1720        });
1721        $("#InsertDynamicMapForm_Window :input").on("focusout", function () {
1722            $(this).val($(this).val().trim());
1723        });
1724    }
1725
1726    function Map_onResize() {
1727        setTimeout(function () { eRMap.refresh(); }, 100);
1728    }
1729
1730    function MapTooltips(){
1731        var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
1732
1733        tooltipTriggerList.map(function (tooltipTriggerEl) {
1734            return new bootstrap.Tooltip(tooltipTriggerEl)
1735        });
1736    }
1737
1738    function removeTooltips() {
1739        $('.tooltip').remove();
1740    };
1741
1742    function initPopstateHandler() {
1743        window.addEventListener('popstate', (event) => {
1744            removeTooltips();
1745        });
1746    };
1747
1748    /*-----------------------------------*/
1749
1750</script>
1750
1751
1752<!------- Globalne elementy -------->
1753
1754<div class="k-hidden" id="Map_PreviewWindow" name="Map_PreviewWindow"><div id='MapContent'></div></div>
1754<script>kendo.syncReady(function(){jQuery("#Map_PreviewWindow").kendoWindow({"resize":Map_onResize,"pinned":false,"scrollable":true,"visible":false,"animation":false,"content":null,"actions":["Maximize","Close"],"resizable":false,"title":"Mapa","modal":true,"height":"550px","width":"800px"});});</script>
1754
1755
1756
1757    
1758<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"9af9f988a5524d31967efb79616152a1","r":1,"spa":2}' crossorigin="anonymous"></script>
1758
1759</body>
1760</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.