PageSourceSearch

https://stellenmarkt.wuv.de/api/js/jwtpljslib.consent-0.3.js?cb=b68592391ca08696051551e9002c536d

js wuv.de collected 2026-09-24 15:17:12 UTC 54,449 bytes, 1,175 lines download raw bytes

1function jwSstCustomConsent(level){}
2function jwSstCustomConsentInit(){}
3
4var JwTplJsLibConsent = (function () {
5    'use strict';
6    const
7        appName = 'JwTplJsLibConsent',
8        consentCookieName = 'jwconsent',
9        expires = 30;
10
11    var
12        _api = false,
13        consentActive = true,
14        version = 3,
15        appVersion = 3,
16        cookiesDisabled = false,
17        storageDisabled = false,
18        htmlInserted = false,
19        origGet,
20        origSet,
21        origLocalStorage,
22        origSessionStorage,
23        cookies = [],
24        callbacks = [],
25        callbacks2 = [],
26        callbacks4 = [],
27        consentNotice,
28        background,
29        settingsButton,
30        settingsGroup,
31        closeButton,
32        agreeButton,
33        agreeAll,
34        rejectAll,
35        interval,
36        errorShown = false,
37        reloading = false,
38        initRun = false,
39        consentObject = {
40            ct: 0,
41            mt: 0,
42            cl:'',
43            m: mode,
44            v: version
45        },
46        textContent = {
47            logo: 'logo.png',
48            title: 'Dürfen wir Sie um Ihre Zustimmung bitten?',
49            notice: 'Wir verwenden Cookies und andere Technologien gemäß den aufgeführten Zwecken. Darüber hinaus können Partner/Drittanbieter Cookies auf Ihrem Gerät speichern und ähnliche Technologien zur Personalisierung, Messung und Analyse verwenden. Durch Betätigen des Buttons "Akzeptieren" willigen Sie in diese Datenverarbeitung gemäß Art. 6 Abs. 1 S. 1 lit. a EU-DS-GVO, § 15 Abs. 3 TMG ein. Bitte beachten Sie, dass Ihre Einwilligung auch die Datenverarbeitung außerhalb der EU/des EWR betrifft, Art. 49 Abs. 1 lit. a EU-DS-GVO. So können Ihre Daten in den USA verarbeitet werden, wo derzeit das EU-Datenschutzniveau wegen des behördlichen Zugriffs, mangelnder Rechtsbehelfsmöglichkeiten sowie eingeschränkter Betroffenenrechte nicht gewährleistet werden kann. Sofern Daten technisch notwendig sind, erfolgt die Verarbeitung aufgrund unseres berechtigten Interesses, Art. 6 Abs. 1 S. 1 lit. f EU-DS-GVO. Weitere Informationen zu Ihren Rechten und zur jederzeit möglichen Änderung Ihrer Datenschutz-Einstellungen finden Sie in unserer Datenschutzerklärung.',
50            linktext: 'Weitere Informationen zum Datenschutz finden Sie hier',
51            durl: '#',
52            iurl: '#',
53            pessential: {
54                'title': 'Essentiell',
55                'text': '<p>Essentiell wird dazu verwendet um die Kernfunktionalitäten der Webseite zu aktivieren z.B. die Darstellung der Anzeige inkl. der notwendigen Trackings-Mechanismen.</p><strong>Betrieb/Bereitstellung: Jobware GmbH</strong><p>Beschreibung: Technische Grundlage für die Zählung und Abrechnung von Klicks auf Stellenanzeigen.</p><ul><li>jobtimize</li><li>localToken</li><li>advToken</li><li>borderToken</li><li>fipCan</li><li>fipWeb</li></ul><strong>Betrieb/Bereitstellung: Jobware GmbH</strong><p>Steuerung des Verhaltens des Stellenmarktes bezüglich der Cookie-Einstellungen des Nutzers.</p><ul><li>jwconsent</li></ul>'
56            },
57            poptions: {
58                'title': 'Präferenzen',
59                'text': '<p>Präferenzen werden dazu verwendet die Usability und den Comfort der Website zu erhöhen z.B. die Merkliste.</p> <strong>Betrieb/Bereitstellung: Jobware GmbH</strong><p>Funktionen um die Usability und den Comfort der Website zu erhöhen.</p><ul><li>md5(host + noli-2)</li><li>jobmailcounter</li></ul>'
60            },
61            pexternal: {
62                'title': 'Externe Inhalte',
63                'text': 'Externe Inhalte werden dazu verwendet innerhalb von Stellenanzeigen oder Firmenprofilen externe Ressourcen zu laden z.B. Videos.'
64            },
65            decline: {
66                'title': '<h3>Information</h3>',
67                'text': 'Diese Website benötigt essentielle Cookies. Bitte bestätigen Sie diese um weiter zu kommen.'
68            },
69            btnaccept: 'Akzeptieren',
70            btnacceptoptions: 'Einstellungen akzeptieren',
71            btnacceptall: 'Alle Akzeptieren',
72            btnrejectall: 'Alle Ablehnen',
73            btnreject: 'Ablehnen',
74            btnoptions: 'Einstellungen',
75            btncloseoptions: 'Einstellungen schliessen'
76        };
77
78    if (typeof JwTplJsLib == "object") {
79        _api = JwTplJsLib;
80    }
81
82    if(_api !== false && _api.getAppInfo('spuch') === '' && consentActive === true && _api.getConsentStatus() !== false && _api.getConsentStatus().indexOf('true') === 0 && _api.getConsentStatus().indexOf('pcsm') == -1) {
83        var
84            hideCloseButton = _api.getConsentStatus().indexOf('pcnn') !== -1,
85            hideOptions = _api.getConsentStatus().indexOf('pcnn') !== -1,
86            mode = _api.getConsentStatus().substring(5) || 'default',
87            oldConsent = getConsentObjectFromCookie().cl;
88
89        function addKeyClick(element, fn) {
90            if (element === null || element === undefined) return;
91            element.addEventListener('keydown', function(e) {
92                if (e.key === 'Enter' || e.key === ' ') {
93                    e.preventDefault();
94                    fn.call(this, e);
95                }
96            });
97        }
98
99        function insertHtml() {
100            getCustomText();
101
102            var
103                html = '',
104                modeClass = ' jwtpl-sysConsent-mode' + mode;
105
106            html += '<div class="jwtpl-sysConsent-block jwtpl-jmpt-cookieNotice jwtpl-jmpt-cookieNoticeHidden jwtpl-sysConsent-version3' + modeClass + '">';
107            html += '<div class="jwtpl-sysConsent-inner">';
108            html += '<img class="jwtpl-sysConsent-image" src="' + JwTplJsLib.getProjectPath() + 'resource/img/' + textContent.logo + '" alt="Datenschutz-Logo">';
109            html += '<div class="jwtpl-jmpt-cookieNoticeHeadline">' + textContent.title +'</div>';
110            html += '<div class="jwtpl-jmpt-cookieNoticeText">' + textContent.notice + '</div>';
111
112            html += '<div class="jwtpl-sysConsent-usageBlock">';
113            html += '<div class="jwtpl-sysConsent-usageTab">';
114            html += '<div tabindex="0" role="button" class="jwtpl-sysConsent-usageTabTitle jwtpl-sysConsent-usageTabTitleEssential jwtpl-gc-expanded" data-jwtpl-sysConsent-tabTarget="jwtpl-sysConsent-usageText1">' + textContent.pessential.title + '</div>';
115            html += '<div tabindex="0" role="button" class="jwtpl-sysConsent-usageTabTitle jwtpl-sysConsent-usageTabTitleOptional" data-jwtpl-sysConsent-tabTarget="jwtpl-sysConsent-usageText2">' + textContent.poptions.title + '</div>';
116            html += '<div tabindex="0" role="button" class="jwtpl-sysConsent-usageTabTitle jwtpl-sysConsent-usageTabTitleExternal" data-jwtpl-sysConsent-tabTarget="jwtpl-sysConsent-usageText3">' + textContent.pexternal.title + '</div>';
117            html += '</div>';
118            html += '<div class="jwtpl-sysConsent-usageTabTarget">';
119            html += '<div class="jwtpl-sysConsent-usageTabItem jwtpl-sysConsent-usageTabItemEssential jwtpl-sysConsent-usageText1 open">' + textContent.pessential.text + '</div>';
120            html += '<div class="jwtpl-sysConsent-usageTabItem jwtpl-sysConsent-usageTabItemOptional jwtpl-sysConsent-usageText2 jwtpl-gc-hidden1">' + textContent.poptions.text + '</div>';
121            html += '<div class="jwtpl-sysConsent-usageTabItem jwtpl-sysConsent-usageTabItemExternal jwtpl-sysConsent-usageText3 jwtpl-gc-hidden1">
121' + textContent.pexternal.text + '</div>';
122            html += '</div>';
123            html += '</div>';
124
125            html += '<div class="jwtpl-jmpt-cookieNoticeWarning jwtpl-jmpt-cookieNoticeHidden">F&uuml;r diese Funktion sind zus&auml;tzliche Berechtigungen erforderlich!</div>';
126            html += '<div class="jwtpl-jmpt-cookieOptions jwtpl-jmpt-cookieNoticeHidden">';
127            html += '<div class="jwtpl-jmpt-cookieOptionsGroup"><input type="checkbox" checked disabled name="essential" id="essential">';
128            html += '<label for="essential">' + textContent.pessential.title + '</label>';
129            html += '</div>';
130            html += '<div class="jwtpl-jmpt-cookieOptionsGroup"><input type="checkbox" name="options" id="options"></input>';
131            html += '<label for="options">' + textContent.poptions.title + '</label>';
132            html += '</div>';
133            html += '<div class="jwtpl-jmpt-cookieOptionsGroup"><input type="checkbox" name="external" id="external">';
134            html += '<label for="external">' + textContent.pexternal.title + '</label>';
135            html += '</div>';
136            html += '</div>';
137            html += '</div>';
138
139            html += '<div class="jwtpl-sysConsent-actionGroup">';
140            html += '<span tabindex="0" role="button" class="jwtpl-jmpt-btCookieNoticeDecline">' + textContent.btnreject + '</span>';
141            html += '<span tabindex="0" role="button" class="jwtpl-jmpt-btCookieNoticeConfigure">' + textContent.btnoptions + '</span>';
142            html += '<span tabindex="0" role="button" class="jwtpl-jmpt-btCookieNoticeAgree">' + textContent.btnaccept + '</span>';
143            html += '<span tabindex="0" role="button" class="jwtpl-jmpt-btCookieNoticeRejectAll">' + textContent.btnrejectall + '</span>';
144            html += '<span tabindex="0" role="button" class="jwtpl-jmpt-btCookieNoticeAgreeAll">' + textContent.btnacceptall + '</span>';
145            html += '<div class="jwtpl-jmpt-cookieDeclineWarning jwtpl-jmpt-cookieNoticeHidden">' + textContent.decline.title + textContent.decline.text + '</div>';
146            html += '</div>';
147
148            html += '<span class="jwtpl-jmpt-cookieNoticeClose"></span>';
149            html += '<div class="jwtpl-sysConsent-consentLinks">';
150            html += '<a class="" href="' + textContent.durl +'" target="_blank">Datenschutz</a>';
151            if(_api.trim(textContent.iurl) !== '#') {
152                html += '<a class="" href="' + textContent.iurl +'" target="_blank">Impressum</a>';
153            }
154            html += '</div>';
155            html += '</div>';
156            html += '<div class="jwtpl-jmpt-cookieNoticeBackground jwtpl-jmpt-cookieNoticeHidden"></div>';
157
158            var insertPosition = document.querySelector('.jwdrf-frame-inner') || document.querySelector('.jwtpl-vw-bodyWrapper') || document.querySelector('.jwtpl-jmpt-inner');
159            if (insertPosition === null) {
160                return false;
161            }
162            insertPosition.insertAdjacentHTML('beforebegin', html);
163            htmlInserted = true;
164
165            document.getElementById('options').addEventListener('click',()=>{
166                document.getElementsByClassName('jwtpl-jmpt-cookieNoticeWarning')[0].innerHTML='';
167            });
168            document.getElementById('external').addEventListener('click',()=>{
169                document.getElementsByClassName('jwtpl-jmpt-cookieNoticeWarning')[0].innerHTML='';
170            });
171
172            let usageTabTitle = _api.get('.jwtpl-sysConsent-usageTabTitle');
173
174            if(usageTabTitle.length > 0) {
175                _api.each(usageTabTitle, function(it){
176
177                    function handleTabClick(e) {
178                        let
179                            active,
180                            currTab = this,
181                            tabItems = _api.get(
182                                '.jwtpl-sysConsent-usageTabTitle, .jwtpl-sysConsent-usageTabItem'
183                            );
184
185                        if(tabItems.length > 0){
186                            _api.each(tabItems, function(tabItem){
187                                if(_api.hasClass(tabItem, 'jwtpl-sysConsent-usageTabTitle') === true) {
188                                    _api.removeClass(tabItem, 'jwtpl-gc-expanded');
189                                }
190                                if(_api.hasClass(tabItem, 'jwtpl-sysConsent-usageTabItem') === true) {
191                                    _api.addClass(tabItem, 'jwtpl-gc-hidden1');
192                                    _api.removeClass(tabItem, 'open');
193                                }
194                            });
195                        }
196
197                        active = currTab.getAttribute('data-jwtpl-sysConsent-tabTarget');
198
199                        if(_api.isString(active) === true) {
200                            let activeTabItem = _api.get('.' + active);
201                            if(activeTabItem.length > 0){
202                                _api.removeClass(activeTabItem[0], 'jwtpl-gc-hidden1');
203                                _api.addClass(activeTabItem[0], 'open');
204                                _api.addClass(currTab, 'jwtpl-gc-expanded');
205                            }
206                        }
207                    }
208
209                    _api.event(it, 'click', function(e){
210                        handleTabClick.call(this, e);
211                    });
212                    addKeyClick(it, handleTabClick);
213                });
214            }
215        }
216
217        function getCustomText(){
218            textContent.logo = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.logo', textContent.logo);
219            textContent.title = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.title', textContent.title);
220            textContent.notice = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.notice', textContent.notice);
221            textContent.linktext = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.linktext', textContent.linktext);
222            textContent.durl = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.durl', textContent.durl);
223            textContent.iurl = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.iurl', textContent.iurl);
224            textContent.pessential = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.pessential', textContent.pessential);
225            textContent.poptions = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.poptions', textContent.poptions);
226            textContent.pexternal = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.pexternal', textContent.pexternal);
227            textContent.decline = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.decline', textContent.decline);
228            textContent.btnaccept = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.btnaccept', textContent.btnaccept);
229            textContent.btnacceptoptions = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.btnacceptoptions', textContent.btnacceptoptions);
230            textContent.btnreject = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.btnreject', textContent.btnreject);
231            textContent.btnrejectoptions = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.btnrejectoptions', textContent.btnrejectoptions);
232            textContent.btnoptions = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.btnoptions', textContent.btnoptions);
233            textContent.btncloseoptions = JwTplJsLib.getBaseObject()._globalGetCfg('consent.3.gui.btncloseoptions', textContent.btncloseoptions);
234
235            if(_api.trim(textContent.durl) === '#'){
236                JwTplJsLibConsent.printErrorMsg('.getCustomText() -> kein Link zum Datenschutz vorhanden!');
237            }
238        }
239
240        function getConsentObjectFromCookie(){
241            var cookie = _api.getCookie(consentCookieName);
242            var cookieObject;
243            try {
244                cookieObject = JSON.parse(cookie);
245                if (typeof cookieObject !== 'object') {
246                    throw new Error('Consent format not recognized');
247                }
248                if (cookieObject.cl.indexOf('1') === -1) {
249                    throw new Error('External Opt-Out, new consent required');
250                }
251                if (cookieObject.m !== mode) {
252                    if(cookieObject.m === 'pcam') {
253                    } else {
254                        throw new Error('Mode has changed, new consent required');
255                    }
256                }
257                if (cookieObject.v !== version) {
258                    throw new Error('Version has changed, new consent required');
259                }
260                errorShown = false;
261            } catch (e) {
262                if (errorShown === false) {
263                    _api.printInfoMsg(' getConsentObjectFromCookie - invalid cookie, reset. exception: ' + e.message);
264                    if(_api.getCookie(consentCookieName) !== ''){
265                        document.cookie = consentCookieName + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
266                    }
267                    errorShown = true;
268                }
269                cookieObject = JSON.parse(JSON.stringify(consentObject));
270            }
271            return cookieObject;
272        }
273
274        function saveConsentObject(consentLevel){
275            var consent = getConsentObjectFromCookie();
276            if (checkConsent(1) === false) {
277                consent.ct = Date.now().toString();
278            }
279            consent.mt = Date.now().toString();
280            consent.m = _api.getConsentStatus().substring(5) || 'default';
281            consent.cl = consentLevel;
282            _api.setCookie(consentCookieName, JSON.stringify(consent), 30);
283            if(_api.isIos() === true) {
284                location.reload();
285            }
286        }
287
288        function displayWarning(level, text) {
289            if (htmlInserted === false) {
290                insertHtml();
291            }
292            if (checkConsent(1) === false || text === '') {
293                return false;
294            }
295            var warning = document.querySelector('.jwtpl-jmpt-cookieNoticeWarning');
296            warning.classList.remove('jwtpl-jmpt-cookieNoticeHidden');
297            if (text) {
298                warning.innerText = text;
299            }
300            var levelOption = getLabelForLevel(level);
301            if (levelOption !== null) {
302                levelOption.classList.add('jwtpl-jmpt-CookieNoticeHighlight');
303                document.querySelector('.jwtpl-jmpt-cookieOptions').scrollIntoView({
304                    behavior: 'smooth'
305                });
306            }
307        }
308
309        function acceptAll(){
310            if(_api.type(settingsGroup) !== undefined){
311                var labels = settingsGroup.querySelectorAll('input[type="checkbox"]');
312                for(var i = 0; i < labels.length; i++){
313                    labels[i].checked = true;
314                }
315                setConsent();
316            }
317        }
318
319        function refuseAll() {
320            if (_api.type(settingsGroup) !== undefined) {
321                var labels = settingsGroup.querySelectorAll('input[type="checkbox"]');
322                for (var i = 0; i < labels.length; i++) {
323                    if (!labels[i].disabled) {
324                        labels[i].checked = false;
325                    }
326                }
327                setConsent();
328            }
329        }
330
331        function toogleSettings(){
332            if(_api.hasClass(settingsGroup, 'jwtpl-jmpt-cookieNoticeHidden') === true) {
333                settingsButton.innerText = textContent.btncloseoptions;
334                _api.addClass(rejectAll, 'jwtpl-jmpt-cookieNoticeHidden');
335                _api.addClass(agreeAll, 'jwtpl-jmpt-cookieNoticeHidden');
336                _api.removeClass(agreeButton, 'jwtpl-jmpt-cookieNoticeHidden');
337                agreeButton.innerText = textContent.btnacceptoptions;
338            } else {
339                settingsButton.innerText = textContent.btnoptions;
340                _api.removeClass(rejectAll, 'jwtpl-jmpt-cookieNoticeHidden');
341                _api.removeClass(agreeAll, 'jwtpl-jmpt-cookieNoticeHidden');
342                _api.addClass(agreeButton, 'jwtpl-jmpt-cookieNoticeHidden');
343            }
344
345            settingsGroup.classList.toggle('jwtpl-jmpt-cookieNoticeHidden');
346            document.querySelector('.jwtpl-jmpt-cookieOptions').scrollIntoView({
347                behavior: 'smooth'
348            });
349        }
350
351        function displayNotice() {
352            if(textContent.durl === _api.getCurrentUrl()){
353                return false;
354            }
355            if(textContent.iurl === _api.getCurrentUrl()){
356                return false;
357            }
358            if(mode === 'pcihp' && _api.isStartPage() === true) {
359                return false;
360            }
361
362            var firstopen = !checkConsent(1);
363            if (htmlInserted === false) {
364                insertHtml();
365            }
366
367            consentNotice = document.querySelector('.jwtpl-jmpt-cookieNotice');
368            background = document.querySelector('.jwtpl-jmpt-cookieNoticeBackground');
369            if (consentNotice === null || background === null) {
370                return false;
371            }
372
373            if (consentNotice.classList.contains('jwtpl-jmpt-cookieNoticeHidden') === false && consentNotice.classList.contains('jwtpl-jmpt-cookieNoticeClosed') === false) {
374                return false;
375            }
376
377            closeButton = document.querySelector('.jwtpl-jmpt-cookieNoticeClose');
378            if (closeButton !== null) {
379                if (firstopen === true && hideCloseButton === true) {
380                    closeButton.classList.add('jwtpl-jmpt-cookieNoticeHidden');
381                } else {
382                    closeButton.addEventListener('click', hideNotice);
383                    addKeyClick(closeButton, hideNotice);
384                    closeButton.classList.remove('jwtpl-jmpt-cookieNoticeHidden');
385                }
386            }
387
388            agreeButton = document.querySelector('.jwtpl-jmpt-btCookieNoticeAgree');
389            if (agreeButton !== null) {
390                agreeButton.addEventListener('click', setConsent);
391                addKeyClick(agreeButton, setConsent);
392            }
393
394            agreeAll = document.querySelector('.jwtpl-jmpt-btCookieNoticeAgreeAll');
395            if (agreeAll !== null) {
396                agreeAll.addEventListener('click', acceptAll);
397                addKeyClick(agreeAll, acceptAll);
398            }
399
400            rejectAll = document.querySelector('.jwtpl-jmpt-btCookieNoticeRejectAll');
401            if (rejectAll !== null) {
402                rejectAll.addEventListener('click', refuseAll);
403                addKeyClick(rejectAll, refuseAll);
404            }
405
406            settingsButton = document.querySelector('.jwtpl-jmpt-btCookieNoticeConfigure');
407            settingsGroup = document.querySelector('.jwtpl-jmpt-cookieOptions');
408            if (settingsButton !== null && settingsGroup !== null) {
409                if (hideOptions === true) {
410                    settingsButton.classList.add('jwtpl-jmpt-cookieNoticeHidden');
411                } else {
412                    settingsButton.addEventListener('click', toogleSettings);
413                    addKeyClick(settingsButton, toogleSettings);
414                }
415            }
416
417            consentNotice.classList.add('jwtpl-jmpt-cookieNoticeFullscreen');
418            if (firstopen === true) {
419                settingsButton.innerText = textContent.btnoptions;
420                consentNotice.classList.add('jwtpl-jmpt-cookieNoticeFullscreen');
421                settingsGroup.classList.add('jwtpl-jmpt-cookieNoticeHidden');
422                agreeButton.classList.add('jwtpl-jmpt-cookieNoticeHidden');
423                rejectAll.classList.remove('jwtpl-jmpt-cookieNoticeHidden');
424                agreeAll.classList.remove('jwtpl-jmpt-cookieNoticeHidden');
425                background.classList.remove('jwtpl-jmpt-cookieNoticeHidden');
426                document.body.style.overflow = 'hidden';
427            } else {
428                restoreSelection();
429                settingsGroup.classList.remove('jwtpl-jmpt-cookieNoticeHidden');
430                settingsButton.classList.add('jwtpl-jmpt-cookieNoticeHidden');
431                rejectAll.classList.add('jwtpl-jmpt-cookieNoticeHidden');
432                agreeAll.classList.add('jwtpl-jmpt-cookieNoticeHidden');
433                agreeButton.classList.remove('jwtpl-jmpt-cookieNoticeHidden');
434                consentNotice.classList.add('jwtpl-sysConsent-restore');
435                document.body.style.overflow = 'hidden';
436                background.classList.remove('jwtpl-jmpt-cookieNoticeHidden');
437                agreeButton.innerText = textContent.btnacceptoptions;
438
439                let checkedOptions = _api.get('.jwtpl-sysConsent-modepcnn.jwtpl-sysConsent-restore .jwtpl-jmpt-cookieOptionsGroup input');
440                _api.each(checkedOptions, (option) => {
441                    if(option.disabled === false) {
442                        option.disabled = true;
443                    }
444                });
445            }
446
447            consentNotice.classList.remove('jwtpl-jmpt-cookieNoticeHidden');
448            consentNotice.classList.remove('jwtpl-jmpt-cookieNoticeClosed');
449
450            let
451                restoreModus = _api.get('.jwtpl-sysConsent-restore'),
452                declineAll = _api.get('.jwtpl-jmpt-btCookieNoticeDecline');
453
454            if(declineAll.length > 0) {
455                let declineNotice = _api.get('.jwtpl-jmpt-cookieDeclineWarning');
456                if(declineNotice.length > 0){
457                    if(restoreModus.length > 0){
458                        declineAll[0].innerText = 'Alle ablehnen';
459                        _api.addClass(declineNotice[0], 'jwtpl-jmpt-cookieNoticeHidden');
460                    }
461
462                    if(initRun === false){
463                        initRun = true;
464
465                        function declineHandler(e) {
466                            let restoreModus = _api.get('.jwtpl-sysConsent-restore');
467                            if(restoreModus.length > 0){
468                                JwTplJsLibConsent.resetSstAll();
469                            } else {
470                                if(_api.hasClass(declineNotice[0], 'jwtpl-jmpt-cookieNoticeHidden') === true) {
471                                    _api.removeClass(declineNotice[0], 'jwtpl-jmpt-cookieNoticeHidden');
472                                } else {
473                                    _api.addClass(declineNotice[0], 'jwtpl-jmpt-cookieNoticeHidden');
474                                }
475                            }
476                        }
477
478                        _api.event(declineAll[0], 'click', declineHandler);
479                        addKeyClick(declineAll[0], declineHandler);
480                    }
481                }
482            }
483        }
484
485        function hideNotice() {
486            if (htmlInserted === false) {
487                return true;
488            }
489
490            if(_api.type(consentNotice) !== undefined) {
491                if (consentNotice.classList.contains('jwtpl-jmpt-cookieNoticeHidden') === true || consentNotice.classList.contains('jwtpl-jmpt-cookieNoticeClosed') === true) {
492                    return false;
493                }
494
495                if (consentNotice.classList.contains('jwtpl-jmpt-cookieNoticeFullscreen') === false) {
496                    consentNotice.classList.add('jwtpl-jmpt-cookieNoticeClosed');
497                } else {
498                    consentNotice.classList.add('jwtpl-jmpt-cookieNoticeHidden');
499                    background.classList.add('jwtpl-jmpt-cookieNoticeHidden');
500                    document.body.style.overflow = '';
501                }
502            }
503
504            var hightlight = document.querySelectorAll('.jwtpl-jmpt-cookieNoticeHighlight');
505            for (var i = 0; i < hightlight.length; i++) {
506                hightlight[i].classList.remove('.jwtpl-jmpt-cookieNoticeHighlight');
507            }
508        }
509
510        function restoreSelection() {
511            var options = document.querySelector('.jwtpl-jmpt-cookieOptions input#options');
512            if (checkConsent(2) === true) {
513                options.checked = true;
514            } else {
515                options.checked = false;
516            }
517
518            var external = document.querySelector('.jwtpl-jmpt-cookieOptions input#external');
519            if (checkConsent(4) === true) {
520                external.checked = true;
521            } else {
522                external.checked = false;
523            }
524        }
525
526        function setConsent() {
527            enableCookies();
528            enableStorage();
529
530            var consentLevel = getConsentLevel();
531            if (consentLevel.indexOf(1) === -1) {
532                document.cookie = consentCookieName + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
533            } else {
534                saveConsentObject(consentLevel);
535            }
536            hideNotice();
537
538            var i = oldConsent.length;
539            while (i--) {
540                if (consentLevel.indexOf(oldConsent.charAt(i)) === -1) {
541                    location.reload();
542                }
543            }
544
545            oldConsent = getConsentObjectFromCookie().cl;
546
547            if (consentLevel.indexOf(1) !== -1) {
548                for (var i = 0; i < callbacks.length; i++) {
549                    callbacks[i]();
550                }
551                callbacks = [];
552            }
553
554            if (consentLevel.indexOf(2) !== -1) {
555                for (var i = 0; i < callbacks2.length; i++) {
556                    callbacks2[i]();
557                }
558                callbacks2 = [];
559            }
560
561            if (consentLevel.indexOf(4) !== -1) {
562                for (var i = 0; i < callbacks4.length; i++) {
563                    callbacks4[i]();
564                }
565                callbacks4 = [];
566            }
567        }
568
569        function reloadOnCookieChange(){
570            if(reloading === true){
571                return true;
572            }
573            var currentConsent = getConsentObjectFromCookie().cl;
574
575            var i = oldConsent.length;
576            while (i--) {
577                if (currentConsent.indexOf(oldConsent.charAt(i)) === -1) {
578                    clearInterval(interval);
579                    reloading = true;
580                    location.reload();
581                }
582            }
583        }
584
585        function getLabelForLevel(level) {
586            var essential = document.querySelector('.jwtpl-jmpt-cookieOptions label[for=essential]');
587            var options = document.querySelector('.jwtpl-jmpt-cookieOptions label[for=options]');
588            var external = document.querySelector('.jwtpl-jmpt-cookieOptions label[for=external]');
589
590            if (level === 1) {
591                return essential;
592            }
593            if (level === 2) {
594                return options;
595            }
596            if (level === 4) {
597                return external;
598            }
599            else {
600                return null;
601            }
602        }
603
604        function getConsentLevel() {
605            var essential = document.querySelector('.jwtpl-jmpt-cookieOptions input#essential');
606            var options = document.querySelector('.jwtpl-jmpt-cookieOptions input#options');
607            var external = document.querySelector('.jwtpl-jmpt-cookieOptions input#external');
608
609            var cookieText = "";
610
611            if (essential && essential.checked) {
612                cookieText += '1';
613            }
614            if (options && options.checked) {
615                cookieText += '2';
616            }
617            if (external && external.checked) {
618                cookieText += '4';
619            }
620
621            return cookieText;
622        }
623
624        function disableCookies() {
625            if (cookiesDisabled === true) {
626                return false;
627            }
628
629            var cookieProto = Object.getOwnPropertyDescriptor(Document.prototype, 'cookie');
630            if (cookieProto !== undefined) {
631                origGet = Object.getOwnPropertyDescriptor(Document.prototype, 'cookie').get;
632                origSet = Object.getOwnPropertyDescriptor(Document.prototype, 'cookie').set;
633            } else {
634                origGet = document.__lookupGetter__('cookie');
635                origSet = document.__lookupSetter__('cookie');
636            }
637
638            if (!origGet || !origSet) {
639                return false;
640            }
641
642            if (!document.__defineGetter__) {
643                Object.defineProperty(document, 'cookie', {
644                    get: function () { return '' },
645                    set: cookieSetProxy
646                });
647            } else {
648                document.__defineGetter__("cookie", function () { return ''; });
649                document.__defineSetter__("cookie", cookieSetProxy);
650            }
651            cookiesDisabled = true;
652        }
653
654        function enableCookies() {
655            if (cookiesDisabled === false) {
656                return false;
657            }
658            if (!document.__defineGetter__) {
659                Object.defineProperty(document, 'cookie', {
660                    get: origGet,
661                    set: origSet
662                });
663            } else {
664                document.__defineGetter__("cookie", origGet);
665                document.__defineSetter__("cookie", origSet);
666            }
667            for (var i = 0; i < cookies.length; i++) {
668                document.cookie = cookies[i];
669            }
670            cookiesDisabled = false;
671        }
672
673        function disableStorage() {
674            if (storageDisabled === true) {
675                return false;
676            }
677
678            origLocalStorage = window.__lookupGetter__('localStorage');
679            origSessionStorage = window.__lookupGetter__('sessionStorage');
680
681            if (!origLocalStorage || !origSessionStorage) {
682                return false;
683            }
684
685            if (!document.__defineGetter__) {
686                Object.defineProperty(window, 'localStorage', {
687                    get: function () {
688                        return {
689                            __proto__: {
690                                length: 0,
691                                setItem: function () { },
692                                getItem: function () { return null },
693                                key: function () { return null },
694                                removeItem: function () { },
695                                clear: function () { }
696                            }
697                        }
698                    },
699                });
700            } else {
701                window.__defineGetter__("localStorage", function () {
702                    return {
703                        __proto__: {
704                            length: 0,
705                            setItem: function () { },
706                            getItem: function () { return null },
707                            key: function () { return null },
708                            removeItem: function () { },
709                            clear: function () { }
710                        }
711                    }
712                });
713            }
714
715            if (!document.__defineGetter__) {
716                Object.defineProperty(window, 'sessionStorage', {
717                    get: function () {
718                        return {
719                            __proto__: {
720                                length: 0,
721                                setItem: function () { },
722                                getItem: function () { return null },
723                                key: function () { return null },
724                                removeItem: function () { },
725                                clear: function () { }
726                            }
727                        }
728                    },
729                });
730            } else {
731                window.__defineGetter__("sessionStorage", function () {
732                    return {
733                        __proto__: {
734                            length: 0,
735                            setItem: function () { },
736                            getItem: function () { return null },
737                            key: function () { return null },
738                            removeItem: function () { },
739                            clear: function () { }
740                        }
741                    }
742                });
743            }
744        }
745
746        function enableStorage() {
747            if (storageDisabled === false) {
748                return false;
749            }
750            window.__defineGetter__("localStorage", origLocalStorage);
751            window.__defineGetter__("sessionStorage", origSessionStorage);
752        }
753
754        function cookieSetProxy(text) {
755            cookies.push(text);
756            return true;
757        }
758
759        function checkConsent(level, callback) {
760            var consent = getConsentObjectFromCookie().cl;
761            if (consent.indexOf(level) !== -1) {
762                if (callback) {
763                    callback();
764                }
765                return true;
766            } else {
767                return false;
768            }
769        }
770
771        function getConsent(level, callback, text) {
772            var consent = getConsentObjectFromCookie().cl;
773            if (consent.indexOf(level) === -1) {
774                displayWarning(level, text);
775                if (callback) {
776                    if (level === 1) {
777                        callbacks.push(callback);
778                    }
779                    if (level === 2) {
780                        callbacks2.push(callback);
781                    }
782                    if (level === 4) {
783                        callbacks4.push(callback);
784                    }
785                    if(mode === 'pcam'){
786                        jwSstCustomConsent(level);
787                    } else {
788                        displayNotice();
789                    }
790                }
791            } else {
792                callback();
793            }
794        }
795
796        function checkConsentCallback(level, callback) {
797            var consent = getConsentObjectFromCookie().cl;
798            if (consent.indexOf(level) === -1) {
799                if (callback) {
800                    if (level === 1) {
801                        callbacks.push(callback);
802                    }
803                    if (level === 2) {
804                        callbacks2.push(callback);
805                    }
806                    if (level === 4) {
807                        callbacks4.push(callback);
808                    }
809                    if(mode === 'pcam'){
810                        jwSstCustomConsent(level);
811                    }
812                }
813            } else {
814                callback();
815            }
816        }
817
818        return {
819            setSstAll: function(){
820                var done = this.setSstEssential() && this.setSstOptional() && this.setSstExternal();
821                if(done === true) {
822                    acceptAll();
823                    return true;
824                } else {
825                    return false;
826                }
827            },
828
829            setSstRefuseAll: function(){
830                var done = this.setSstEssential();
831                if(done === true) {
832                    refuseAll();
833                    return true;
834                } else {
835                    return false;
836                }
837            },
838
839            getSstAll: function(){
840                return this.getSstEssential() && this.getSstOptional() && this.getSstExternal();
841            },
842
843            resetSstAll: function() {
844                return this.resetSstEssential();
845            },
846
847            setSstEssential: function(){
848                if(this.getSstEssential() === false) {
849                    saveConsentObject('1');
850                    setConsent();
851                    return true;
852                } else {
853                    return true;
854                }
855            },
856
857            getSstEssential: function() {
858                var data = _api.getCookie(consentCookieName);
859                if(_api.isString(data) === true) {
860                    var value = _api.jsonParse(data);
861                    if(_api.isObject(value) === true && _api.isNull(value.cl) === false) {
862                        return value.cl.indexOf('1') !== -1;
863                    } else {
864                        return false;
865                    }
866                } else {
867                    return false;
868                }
869            },
870
871            resetSstEssential: function() {
872                var data = _api.getCookie(consentCookieName);
873                if(_api.isString(data) === true) {
874                    _api.setCookie(consentCookieName, 'expired', 0);
875                    location.reload();
876                    return true;
877                } else {
878                    return false;
879                }
880            },
881
882            setSstOptional: function() {
883                if(this.getSstEssential() === false) {
884                    return false;
885                } else {
886                    var
887                        data = _api.getCookie(consentCookieName),
888                        value = _api.jsonParse(data);
889
890                    if(_api.isNull(value.cl) === false && value.cl.indexOf("2") == -1) {
891                        if(value.cl === '1') {
892                            value.cl = '12';
893                        } else if(value.cl === '14'){
894                            value.cl = '124';
895                        }
896                        _api.setCookie(consentCookieName, _api.jsonStringify(value), expires);
897                        for (var i = 0; i < callbacks2.length; i++) {
898                            callbacks2[i]();
899                        }
900                        return true;
901                    } else {
902                        return true;
903                    }
904                }
905            },
906
907            getSstOptional: function() {
908                var data = _api.getCookie(consentCookieName);
909                if(_api.isString(data) === true) {
910                    var value = _api.jsonParse(data);
911                    if(_api.isObject(value) === true && _api.isNull(value.cl) === false) {
912                        return value.cl.indexOf('2') !== -1;
913                    } else {
914                        return false;
915                    }
916                } else {
917                    return false;
918                }
919            },
920
921            resetSstOptional: function() {
922                var data = _api.getCookie(consentCookieName);
923                if(_api.isString(data) === true) {
924                    var value = _api.jsonParse(data);
925                    if(_api.isNull(value.cl) === false && value.cl.indexOf('2') !== -1) {
926                        var slice = '';
927                        for(var i=0; i<value.cl.length; i++){
928                            if(value.cl[i] !== '2') {
929                                slice += value.cl[i];
930                            }
931                        }
932                        value.cl = slice;
933                        _api.setCookie(consentCookieName, _api.jsonStringify(value), expires);
934                        location.reload();
935                        return true;
936                    } else {
937                        return true;
938                    }
939                }
940                return false;
941            },
942
943            setSstExternal: function() {
944                if(this.getSstEssential() === false){
945                    return false;
946                } else {
947                    var
948                        data = _api.getCookie(consentCookieName),
949                        value = _api.jsonParse(data);
950
951                    if(_api.isNull(value.cl) === false && value.cl.indexOf("4") 
951== -1) {
952                        value.cl = value.cl + '4';
953                        _api.setCookie(consentCookieName, _api.jsonStringify(value), expires);
954                        for (var i = 0; i < callbacks4.length; i++) {
955                            callbacks4[i]();
956                        }
957                        return true;
958                    } else {
959                        return true;
960                    }
961                }
962            },
963
964            getSstExternal: function() {
965                var data = _api.getCookie(consentCookieName);
966                if(_api.isString(data) === true) {
967                    var value = _api.jsonParse(data);
968                    if(_api.isObject(value) === true && _api.isNull(value.cl) === false) {
969                        return value.cl.indexOf('4') !== -1;
970                    } else {
971                        return false;
972                    }
973                } else {
974                    return false;
975                }
976            },
977
978            resetSstExternal: function() {
979                var data = _api.getCookie(consentCookieName);
980                if(_api.isString(data) === true) {
981                    var value = _api.jsonParse(data);
982                    if(_api.isNull(value.cl) === false && value.cl.indexOf('4') !== -1) {
983                        value.cl = value.cl.substring(0, value.cl.length - 1);
984                        _api.setCookie(consentCookieName, _api.jsonStringify(value), expires);
985                        location.reload();
986                        return true;
987                    } else {
988                        return true;
989                    }
990                }
991                return false;
992            },
993
994            checkConsent: function (level, callback) {
995                var consent = getConsentObjectFromCookie().cl;
996                if (consent.indexOf(level) !== -1) {
997                    if (callback) {
998                        callback();
999                    }
1000                    return true;
1001                } else {
1002                    return false;
1003                }
1004            },
1005
1006            getConsent: function (level, callback, text) {
1007                var consent = getConsentObjectFromCookie().cl;
1008                if (consent.indexOf(level) === -1) {
1009                    displayWarning(level, text);
1010                    if (callback) {
1011                        if (level === 1) {
1012                            callbacks.push(callback);
1013                        }
1014                        if (level === 2) {
1015                            callbacks2.push(callback);
1016                        }
1017                        if (level === 4) {
1018                            callbacks4.push(callback);
1019                        }
1020                    }
1021                    if (text === '') {
1022                        return;
1023                    }
1024                    if(mode === 'pcam'){
1025                        jwSstCustomConsent(level);
1026                    } else {
1027                        displayNotice();
1028                    }
1029                } else {
1030                    if (callback) {
1031                        callback();
1032                    }
1033                }
1034            },
1035
1036            checkConsentCallback: function (level, callback) {
1037                var consent = getConsentObjectFromCookie().cl;
1038                if (consent.indexOf(level) === -1) {
1039                    if (callback) {
1040                        if (level === 1) {
1041                            callbacks.push(callback);
1042                        }
1043                        if (level === 2) {
1044                            callbacks2.push(callback);
1045                        }
1046                        if (level === 4) {
1047                            callbacks4.push(callback);
1048                        }
1049                    }
1050                    if(mode === 'pcam'){
1051                        jwSstCustomConsent(level);
1052                    }
1053                } else {
1054                    if (callback) {
1055                        callback();
1056                    }
1057                }
1058            },
1059
1060            getConsentNoWarning: function (level, callback, text) {
1061                var consent = getConsentObjectFromCookie().cl;
1062                if (consent.indexOf(level) === -1) {
1063                    if (callback) {
1064                        if (level === 1) {
1065                            callbacks.push(callback);
1066                        }
1067                        if (level === 2) {
1068                            callbacks2.push(callback);
1069                        }
1070                        if (level === 4) {
1071                            callbacks4.push(callback);
1072                        }
1073                    }
1074                    if (text === '') {
1075                        return;
1076                    }
1077                    if(mode === 'pcam'){
1078                        jwSstCustomConsent(level);
1079                    }
1080                } else {
1081                    if (callback) {
1082                        callback();
1083                    }
1084                }
1085            },
1086
1087            showConsent: function(){
1088                if(mode === 'pcam'){
1089                    jwSstCustomConsent(0);
1090                } else {
1091                    displayNotice();
1092                }
1093                var essentialBox = document.querySelector('input#essential');
1094                if (essentialBox !== null) {
1095                    //essentialBox.disabled = false;
1096                }
1097            },
1098
1099            init: function () {
1100                interval = window.setInterval(reloadOnCookieChange, 1000);
1101                if (checkConsent(1) === true) {
1102                    _api.printInfoMsg(" Message -> _globalCookieConsent - user already consented");
1103                    return false;
1104                }
1105                if(mode === 'pcam'){
1106                    jwSstCustomConsent(0);
1107                } else {
1108                    displayNotice();
1109                }
1110            },
1111
1112            printErrorMsg: function (msg) {
1113                if (_api.isLocalHost() === true) {
1114                    if (_api.type(msg) === 'String' && msg.length > 0) {
1115                        console.trace("%c" + appName + msg, "color: #ce0000;");
1116                    }
1117                }
1118            },
1119
1120            getIFrameMsg: function() {
1121                return '<!doctype html><html><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Datenschutzhinweis</title><link rel="stylesheet" type="text/css" href="' + _api.getProjectPath() + 'api/css/font-awesome-4.5.0.css"/><style>@font-face {font-family: "Roboto Condensed"; src: url("' + _api.getProjectPath() + 'api/css/roboto-condensed-regular.woff2") format("woff"); font-style: normal; font-weight: 400;} html {height: 500px; cursor: pointer;} .jwtpl-sys-adConsent {font-family: "Roboto Condensed"; background-color: #fff; color: #000; padding: 60px 0; text-align: center; width: 400px; margin: 20px auto; font-size: 1.2em; box-sizing: border-box; position:relative; border:2px solid #000; border-radius:.3rem;} .jwtpl-sys-adConsentIcon {color: #ffc107; font-size: 50px; margin-bottom: 20px;} .jwtpl-sys-adConsentClose{position: absolute;top: 10px;right: 10px;cursor: pointer;width: 23px;height: 23px;padding: 0;background-color:#000;color: #fff;border-radius: 20px;} .jwtpl-sys-adConsentTitleMsg{font-size: 25px;padding: 20px;} .jwtpl-sys-adConsentMsg{padding: 20px 20px 0;} .jwtpl-sys-adButton{color: #000;background-color: #ffc107;text-decoration: none;transition: all 0.4s;line-height: normal;border-radius: 3px;margin: 30px 0 0px;padding: 10px 20px;min-width: 150px;border: none;cursor: pointer;} .jwtpl-sys-adConsentClose::before{font-family: FontAwesome;content: "\\f00d";} @media(max-width:600px){.jwtpl-sys-adConsent {width: 100%;}} </style></head><body><div class="jwtpl-sys-adConsent"><i class="jwtpl-sys-adConsentIcon fa fa-exclamation-triangle"></i><span class="jwtpl-sys-adConsentClose"></span><div class="jwtpl-sys-adConsentTitleMsg">Fehlende Berechtigung!</div><div class="jwtpl-sys-adConsentMsg">Um Ihnen dieses Stellenangebot anzeigen zu k&ouml;nnen, m&uuml;ssen Sie essentiellen Cookies zustimmen.</div><button class="jwtpl-sys-adButton">Einstellung öffnen</button></div></body></html>';
1122            },
1123
1124            getAppVersion: function() {
1125                return appVersion;
1126            }
1127        }
1128    } else {
1129        return {
1130            checkConsent: function (level, callback) {
1131                if (callback) {
1132                    callback();
1133                }
1134                return true;
1135            },
1136            getConsent: function (level, callback, text) {
1137                if (callback) {
1138                    callback();
1139                }
1140                return true;
1141            },
1142            checkConsentCallback: function (level, callback) {
1143                if (callback) {
1144                    callback();
1145                }
1146                return true;
1147            },
1148            getConsentNoWarning: function (level, callback, text) {
1149                if (callback) {
1150                    callback();
1151                }
1152                return true;
1153            },
1154            showConsent: function(){return false;},
1155            init: function (){return false;},
1156            printErrorMsg: function (){return false;},
1157            initConsent: function (){return false;},
1158            setSstAll: function(){return false;},
1159            setSstRefuseAll: function(){return false;},
1160            getSstAll: function(){return true;},
1161            resetSstAll: function(){return false;},
1162            setSstEssential: function(){return false;},
1163            getSstEssential: function(){return true;},
1164            resetSstEssential: function(){return false;},
1165            setSstOptional: function(){return false;},
1166            getSstOptional: function(){return true;},
1167            resetSstOptional: function(){return false;},
1168            setSstExternal: function(){return false;},
1169            getSstExternal: function(){return true;},
1170            resetSstExternal: function() {return false;},
1171            getIFrameMsg: function() {return false;},
1172            getAppVersion: function() {return false;}
1173        }
1174    }
1175})();

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.