const cookieStyles = ` #iai_cookie { position: fixed; top: 0; left: 0; bottom: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 2147483647; font-size: 13px; font-family: 'Arial', 'Helvetica', sans-serif, "Arial", sans-serif; } #iai_cookie[data-cookie-view='basic'] [data-cookie-view]:not([data-cookie-view~='basic']), #iai_cookie[data-cookie-view='minimal'] [data-cookie-view]:not([data-cookie-view~='minimal']), #iai_cookie[data-cookie-view='consents'] [data-cookie-view]:not([data-cookie-view~='consents']), #iai_cookie[data-cookie-view='consents_summary'] [data-cookie-view]:not([data-cookie-view~='consents_summary']), #iai_cookie[data-cookie-view='privacy'] [data-cookie-view]:not([data-cookie-view~='privacy']) { display: none !important; } body.--cookie-overflow { overflow-y: hidden; } .iai_cookie .d-none { display: none !important; } .iai_cookie.d-none { display: none !important; } .iai_cookie .d-flex { display: flex !important; } .iai_cookie .d-block { display: block !important; } .iai_cookie__box { position: absolute; left: 50%; bottom: 50%; transform: translate(-50%, 45%); width: 100%; background: #fff; border-radius: 0; } .iai_cookie__box .cookies_show_more__link { white-space: nowrap; } #iai_cookie[data-cookie-view='basic'] .iai_cookie__box { bottom: 0; left: 0; transform: unset; border-radius: 0; } .iai_cookie__box__wrapper { color: #333; max-height: calc(95vh - 60px); overflow-y: auto; overflow-x: hidden; padding: 25px 15px; box-sizing: border-box; max-width: 1440px; margin: auto; } .iai_cookie__box .d-block { display: block !important; } @media (min-width: 757px) { .iai_cookie__box { width: 600px; transform: translate(-50%, 50%); } #iai_cookie[data-cookie-view="basic"] .iai_cookie__box { width: 100%; } .iai_cookie__box__wrapper { padding: 30px; } #iai_cookie[data-cookie-view="basic"] .iai_cookie__box__wrapper { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(300px, 1fr)); grid-gap: 50px; min-height: 170px; } #iai_cookie:not([data-cookie-view="basic"]) .iai_cookie__box__wrapper { margin: 0; } } @media (max-width: 979px) and (orientation: landscape) { .iai_cookie__box { transform: translate(-50%, 45%); } } #iai_cookie.--white_label_disabled .iai_cookie__box { transform: translate(-50%, 50%); } #iai_cookie.--white_label_disabled .iai_cookie__box__wrapper { max-height: 85vh; } #iai_cookie[data-cookie-view="basic"] .iai_cookie__box { transform: unset; } #iai_cookie[data-cookie-view='basic'] .iai_cookie__box__wrapper { border-radius: 0; } @media (max-width: 757px) { #iai_cookie:not([data-cookie-view='basic']) .iai_cookie__box { width: calc(100% - 20px); } } .iai_cookie__tabName, .iai_cookie__item { font-size: 14px; font-weight: 700; padding: 10px 0; min-height: 50px; line-height: 16.1px; position: relative; cursor: pointer; display: flex; justify-content: space-between; align-items: center; } .iai_cookie__tabName.--top, .iai_cookie__item.--top { padding-top: 0px; font-size: 16px; } .iai_cookie__tabContent.--top { font-size: 13px; line-height: 18px; padding-bottom: 0; } .iai_cookie__tabContent.--top h3 { font-size: 16px; font-weight: 600; padding: 14.27px 0; line-height: 17px; padding-top: 0; color: inherit; } .iai_cookie__tabName:before { content: ''; background-image: url("data:image/svg+xml,%3Csvg id='svg8' clip-rule='evenodd' fill-rule='evenodd' height='512' stroke-linejoin='round' stroke-miterlimit='2' viewBox='0 0 24 24' width='512' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cpath id='path2' d='m12 14.586 6.293-6.293c.39-.39 1.024-.39 1.414 0s.39 1.024 0 1.414l-7 7c-.39.391-1.024.391-1.414 0l-7-7c-.39-.39-.39-1.024 0-1.414s1.024-.39 1.414 0z'/%3E%3C/svg%3E"); background-size: contain; height: 15px; width: 15px; position: absolute; left: -27px; } .iai_cookie__tabName.--top:before { display: none; } .iai_cookie__tabName small { font-weight: 400; font-size: 11px; color: #0090f6 !important; } @media (max-width: 756px) { .iai_cookie__tabName small { flex: 1; text-align: right; } } .iai_cookie .--opened .iai_cookie__tabName:before { transform: rotate(180deg); } .iai_cookie .--opened .iai_cookie__tabContent { display: block; } .iai_cookie__tabContent { padding-bottom: 1.8rem; display: none; } .iai_cookie__description { line-height: 18px; } .iai_cookie__tabContent.--top { position: relative; display: block !important; } .iai_cookie__tabContent.--opened .iai_cookie__tabContent { display: block; } .iai_cookie__topInfo { margin-bottom: 25px; } @media (min-width: 757px) { #iai_cookie[data-cookie-view='basic'] .iai_cookie__topInfo[data-cookie-view~='basic'], #iai_cookie[data-cookie-view='consents_summary'] .iai_cookie__topInfo[data-cookie-view~='consents_summary'] { margin-bottom: 0; display: flex; align-items: center; height: 100%; } } .iai_cookie__topInfo .iai_cookie__tab { position: relative; } .iai_cookie__topInfo .iai_cookie__tab.--opened:after { display: none; } .iai_cookie__tab:last-child { border-bottom: none; } .iai_cookie_idosell__logo { position: absolute; bottom: 0; left: 50%; right: 50%; transform: translate(-50%, 130%); width: 102px; height: 37px; margin: auto auto; display: flex; align-items: center; justify-content: center; } #iai_cookie[data-cookie-view='basic'] .iai_cookie_idosell__logo { transform: translate(-20%, -130%); top: 0; right: 0; left: unset; bottom: unset; } .iai_cookie_header { display: flex; margin-bottom: 25px; align-items: center; } .iai_cookie_header__previous { width: 21px; height: 21px; color: #333333; border: 1px solid #dbdbdb; border-radius: 3px; font-weight: bold; display: flex; align-items: center; justify-content: center; text-decoration: none; margin-right: 15px; background: #fff; cursor: pointer; } .iai_cookie_header__name { font-size: 18px; font-weight: 700; line-height: 20.7px; } .iai_cookie__switchWrapper { width: 47px; height: 27px; border-radius: 40px; } .iai_cookie__switch { display: block; height: 27px; position: relative; } .iai_cookie__switch input { visibility: hidden; } .iai_cookie__switch input:checked+.iai_cookie__slider { width: 100%; height: 100%; display: block; top: 0; position: absolute; background-color: #0090f6 !important; border-radius: 40px; } .iai_cookie__switch input:checked+.iai_cookie__slider:before { transition: 0.4s all; transform: translate(100%, -50%); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.56); left: 4px; } .iai_cookie__slider { transition: 0.3s all; border-radius: 40px; background-color: #c4c7c8 !important; display: block; height: 100%; position: absolute; top: 0; left: 0; width: 100%; cursor: pointer; } .iai_cookie__slider:before { width: 19px; height: 19px; background: #fff; display: block; position: absolute; top: 50%; transform: translateY(-50%); border-radius: 50%; left: 5px; transition: 0.4s all; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.56); content: ""; } .iai_cookie__content_wrapper { max-height: 50vh; overflow: auto; scrollbar-color: #0090f6 transparent; scrollbar-width: thin; padding: 0 10px; } .iai_cookie__content_wrapper::-webkit-scrollbar-track { background-color: #f1f1f1; margin-top: 25px; margin-bottom: 25px; border-radius: 5px; -webkit-border-radius: 5px; } .iai_cookie__content_wrapper::-webkit-scrollbar { width: 6px; background-color: transparent; height: 6px; } .iai_cookie__content_wrapper::-webkit-scrollbar-thumb { background-color: #0090f6; border-radius: 5px; -webkit-border-radius: 5px; } #iai_cookie[data-cookie-view="consents"] .iai_cookie__content_wrapper, #iai_cookie[data-cookie-view="privacy"] .iai_cookie__content_wrapper { margin-bottom: 25px; } .iai_cookie__consentsWrapper .iai_cookie__tab { border: 1px solid #dbdbdb; border-bottom: 0; padding-left: 40px; padding-right: 20px; } .iai_cookie__consentsWrapper .iai_cookie__tab:last-child { border-bottom: 1px solid #dbdbdb; } .iai_cookie__consentsActions { display: grid; grid-template-columns: 1fr !important; grid-gap: 13px; padding: 0 10px; width: 100%; grid-auto-rows: 1fr; } .iai_cookie__consentsActions_wrapper { display: flex; width: 100%; flex-wrap: nowrap; align-items: center; } @media (min-width: 757px) { .iai_cookie__consentsActions { grid-template-columns: repeat(auto-fit, minmax(150px, auto)) !important; justify-content: stretch; grid-gap: 20px; } #iai_cookie[data-cookie-view='basic'] .iai_cookie__consentsActions, #iai_cookie[data-cookie-view='minimal'] .iai_cookie__consentsActions { justify-content: unset; align-items: stretch; } } #iai_cookie .iai_cookie__box .iai_cookie__box__wrapper .iai_cookie__consentsActions a.btn { font-size: 14px; display: flex; align-items: center; font-weight: 400; justify-content: center; border-radius: 12px; } @media (min-width: 757px) { #iai_cookie .iai_cookie__box .iai_cookie__box__wrapper .iai_cookie__consentsActions a.btn { margin-bottom: 0px; } } #iai_cookie .iai_cookie__box .iai_cookie__box__wrapper .iai_cookie__consentsActions a.btn:last-child { margin-bottom: 0px; } .iai_cookie__wrapper { margin-bottom: 2px; } .iai_cookie__privacy { font-size: 13px; line-height: 18px; } .iai_cookie__privacy * { padding: revert; margin: revert; } .iai_cookie__privacy h4 { font-size: 14px; margin-bottom: 15px; } .iai_cookie__privacy ol { font-size: 13px; line-height: 17px; margin-bottom: 15px; } #iai_cookie .iai_cookie__box .iai_cookie__box__wrapper .iai_cookie__consentsActions .btn { border-radius: 0; text-decoration: none; padding: 14.5px 10px; line-height: 1; } #iai_cookie .iai_cookie__box .iai_cookie__box__wrapper .iai_cookie__consentsActions .btn.--large.--solid { background: #0090f6; border: 1px solid #0090f6; color: #fff; border-radius: 0; } #iai_cookie .iai_cookie__box .iai_cookie__box__wrapper .iai_cookie__consentsActions .btn.--large.--solid:hover { background: #333; border: 1px solid #333; color: #fff; } #iai_cookie .iai_cookie__box .iai_cookie__box__wrapper .iai_cookie__consentsActions .btn.--large.--outline { background: #fff; border: 1px solid #0090f6; color: #0090f6; border-radius: 0; } #iai_cookie .iai_cookie__box .iai_cookie__box__wrapper .iai_cookie__consentsActions .btn.--large.--outline:hover { background: #fff; border: 1px solid #333; color: #333; } #iai_cookie .iai_cookie__consentsActions:not(.acceptSelected) .acceptSelected { display: none; } #iai_cookie .iai_cookie__consentsActions.acceptSelected .acceptSelected { display: flex; } `; var cookiesList = {"categories":{"functional":{"deliverers":{"shishaskleppl":{"selected":false,"name":"shishasklep.pl","code":"shishaskleppl"},"iaisa":{"selected":false,"name":"IAI S.A.","code":"iaisa"},"idosell":{"selected":false,"name":"IdoSell","code":"idosell"},"idoaccounts":{"selected":false,"name":"IdoAccounts","code":"idoaccounts"},"google":{"selected":false,"name":"Google","code":"google"},"googlerecaptcha":{"selected":false,"name":"Google reCAPTCHA","code":"googlerecaptcha"},"paypal":{"selected":false,"name":"PayPal","code":"paypal"}},"description":"Funkcjonalne pliki cookie s\u0105 niezb\u0119dne dla prawid\u0142owego funkcjonowania strony internetowej i s\u0142u\u017c\u0105 do zapami\u0119tywania np. sesji logowania, preferencji j\u0119zykowych, wype\u0142niania formularzy, wybranej opcji prywatno\u015bci. Mo\u017cesz je zablokowa\u0107 w przegl\u0105darce, ale wtedy niekt\u00f3re cz\u0119\u015bci witryny mog\u0105 nie dzia\u0142a\u0107 prawid\u0142owo.","name":"Funkcjonalne pliki cookie (wymagane)","c_name":"functional","defaultSelected":false,"alwaysActive":true,"selected":false},"analytics":{"deliverers":{"iaisa":{"selected":false,"name":"IAI S.A.","code":"iaisa"},"googleanalytics":{"selected":false,"name":"Google Analytics","code":"googleanalytics"},"googlemaps":{"selected":false,"name":"Google Maps","code":"googlemaps"}},"description":"Analityczne pliki cookie umo\u017cliwiaj\u0105 sprawdzenie liczby wizyt i \u017ar\u00f3de\u0142 ruchu w naszym sklepie. Pomagaj\u0105 nam ustali\u0107, kt\u00f3re strony s\u0105 bardziej, a kt\u00f3re mniej popularne, i zrozumie\u0107, jak u\u017cytkownicy poruszaj\u0105 si\u0119 po stronie. Dzi\u0119ki temu mo\u017cemy bada\u0107 statystyki i poprawia\u0107 wydajno\u015b\u0107 naszego sklepu. Informacje zbierane przez te pliki cookie s\u0105 agregowane, nie maj\u0105 wi\u0119c na celu ustalenia Twojej to\u017csamo\u015bci. Je\u015bli nie zezwolisz na ich stosowanie, to nie b\u0119dziemy wiedzie\u0107, kiedy odwiedzi\u0142e\u015b nasz\u0105 stron\u0119 internetow\u0105.","name":"Analityczne pliki cookie","c_name":"analytics","defaultSelected":false,"alwaysActive":false,"selected":false},"marketing":{"deliverers":{"shishaskleppl":{"selected":false,"name":"shishasklep.pl","code":"shishaskleppl"},"googleanalytics":{"selected":false,"name":"Google Analytics","code":"googleanalytics"}},"description":"Reklamowe pliki cookie pozwalaj\u0105 na dopasowanie wy\u015bwietlanych tre\u015bci reklamowych do Twoich zainteresowa\u0144, nie tylko na naszej witrynie, ale te\u017c poza ni\u0105. Mog\u0105 by\u0107 instalowane przez partner\u00f3w reklamowych za po\u015brednictwem naszej strony internetowej. Na podstawie informacji z tych plik\u00f3w cookie i aktywno\u015bci w innych serwisach jest budowany Tw\u00f3j profil zainteresowa\u0144. Reklamowe cookies nie przechowuj\u0105 bezpo\u015brednio Twoich danych osobowych, ale identyfikuj\u0105 Twoj\u0105 przegl\u0105dark\u0119 internetow\u0105 i sprz\u0119t. Je\u015bli nie zezwolisz na stosowanie tych plik\u00f3w cookie, dalej b\u0119dziemy mogli wy\u015bwietla\u0107 Ci reklamy, jednak nie b\u0119d\u0105 one dopasowane do Twoich preferencji.","name":"Reklamowe pliki cookie","c_name":"marketing","defaultSelected":false,"alwaysActive":false,"selected":false}},"texts":{"privacy_policy_configure_consents_txt":"Konfiguracja zg\u00f3d","privacy_policy_privacy_policy_txt":"Polityka prywatno\u015bci","privacy_policy_functional_name_txt":"Funkcjonalne pliki cookie (wymagane)","privacy_policy_functional_description_txt":"Funkcjonalne pliki cookie s\u0105 niezb\u0119dne dla prawid\u0142owego funkcjonowania strony internetowej i s\u0142u\u017c\u0105 do zapami\u0119tywania np. sesji logowania, preferencji j\u0119zykowych, wype\u0142niania formularzy, wybranej opcji prywatno\u015bci. Mo\u017cesz je zablokowa\u0107 w przegl\u0105darce, ale wtedy niekt\u00f3re cz\u0119\u015bci witryny mog\u0105 nie dzia\u0142a\u0107 prawid\u0142owo.","privacy_policy_analytics_name_txt":"Analityczne pliki cookie","privacy_policy_analytics_description_txt":"Analityczne pliki cookie umo\u017cliwiaj\u0105 sprawdzenie liczby wizyt i \u017ar\u00f3de\u0142 ruchu w naszym sklepie. Pomagaj\u0105 nam ustali\u0107, kt\u00f3re strony s\u0105 bardziej, a kt\u00f3re mniej popularne, i zrozumie\u0107, jak u\u017cytkownicy poruszaj\u0105 si\u0119 po stronie. Dzi\u0119ki temu mo\u017cemy bada\u0107 statystyki i poprawia\u0107 wydajno\u015b\u0107 naszego sklepu. Informacje zbierane przez te pliki cookie s\u0105 agregowane, nie maj\u0105 wi\u0119c na celu ustalenia Twojej to\u017csamo\u015bci. Je\u015bli nie zezwolisz na ich stosowanie, to nie b\u0119dziemy wiedzie\u0107, kiedy odwiedzi\u0142e\u015b nasz\u0105 stron\u0119 internetow\u0105.","privacy_policy_marketing_name_txt":"Reklamowe pliki cookie","privacy_policy_marketing_description_txt":"Reklamowe pliki cookie pozwalaj\u0105 na dopasowanie wy\u015bwietlanych tre\u015bci reklamowych do Twoich zainteresowa\u0144, nie tylko na naszej witrynie, ale te\u017c poza ni\u0105. Mog\u0105 by\u0107 instalowane przez partner\u00f3w reklamowych za po\u015brednictwem naszej strony internetowej. Na podstawie informacji z tych plik\u00f3w cookie i aktywno\u015bci w innych serwisach jest budowany Tw\u00f3j profil zainteresowa\u0144. Reklamowe cookies nie przechowuj\u0105 bezpo\u015brednio Twoich danych osobowych, ale identyfikuj\u0105 Twoj\u0105 przegl\u0105dark\u0119 internetow\u0105 i sprz\u0119t. Je\u015bli nie zezwolisz na stosowanie tych plik\u00f3w cookie, dalej b\u0119dziemy mogli wy\u015bwietla\u0107 Ci reklamy, jednak nie b\u0119d\u0105 one dopasowane do Twoich preferencji.","privacy_policy_always_active_txt":"Zawsze aktywne","privacy_policy_accept_all_txt":"Potwierdzam wszystkie","privacy_policy_accept_selected_txt":"Potwierdzam wybrane","privacy_policy_reject_all_txt":"Potwierdzam wymagane","privacy_policy_type_cookie_txt":"plik cookie","privacy_policy_type_local_storage_txt":"pami\u0119\u0107 lokalna","privacy_policy_type_pixel_txt":"pixel \u015bledz\u0105cy","privacy_policy_more_txt":"wi\u0119cej","privacy_policy_days_txt":"dni","privacy_policy_minutes_txt":"minut","privacy_policy_temporary_txt":"sesja","privacy_policy_cookies_txt":"

Wykorzystujemy pliki cookies do prawid\u0142owego dzia\u0142ania serwisu, aby oferowa\u0107 funkcje spo\u0142eczno\u015bciowe, analizowa\u0107 ruch i prowadzi\u0107 dzia\u0142ania marketingowe - zar\u00f3wno przez nas, jak i naszych Zaufanych Partner\u00f3w. Pliki cookies s\u0142u\u017c\u0105 r\u00f3wnie\u017c do personalizacji reklam. Wi\u0119cej informacji znajdziesz w polityce prywatno\u015bci<\/a>. Akceptacja tego komunikatu oznacza zgod\u0119 na ich zapisywanie na Twoim komputerze. Mo\u017cesz okre\u015bli\u0107 warunki przechowywania lub dost\u0119pu do nich klikaj\u0105c w zak\u0142adk\u0119 \u201eKonfiguracja zg\u00f3d\u201d. Zgod\u0119 mo\u017cesz wycofa\u0107 w dowolnym momencie poprzez usuni\u0119cie plik\u00f3w cookies z przegl\u0105darki z danego urz\u0105dzenia ko\u0144cowego.<\/p>"},"hash":"49c9ba3d6d939081a432cebfdf7d45da","canDownloadSnippets":true,"showDenyAllButton":true,"privacyPolicyLinkSelector":"https:\/\/shishasklep.pl\/pol-privacy-and-cookie-notice.html","shouldDisplayBottomVersion":false,"shouldDisplayWhiteLabel":true} IaiCookies = function IaiCookies(params) { const that = this; this.params = params || {}; this.cookieObj = null; this.previousView = 'basic'; this.currentView = 'consents'; this.modalType = 'basic'; this.cookieId = "iai_cookie"; this.vars = { categories: Object.values(cookiesList.categories), anySelected: false, eventsAttached: false, maxTextLength: 250, enabledPrivacyPolicyView: true, showDenyAllButton: cookiesList?.showDenyAllButton, truncatedSummary: false, privacyPolicyStandardSelector: cookiesList?.privacyPolicyLinkSelector, shouldDisplayBottomVersion: cookiesList?.shouldDisplayBottomVersion, shouldDisplayWhiteLabel: cookiesList?.shouldDisplayWhiteLabel, canLoadAdditionalSnippets: cookiesList.canDownloadSnippets }; this.texts = { privacy_policy_cookies_txt: cookiesList.texts.privacy_policy_cookies_txt, privacy_policy_cookies_txt_summary: '', show_more: cookiesList.texts.privacy_policy_more_txt, }; this.views = { basic: 'basic', minimal: 'minimal', consents: 'consents', consents_summary: 'consents_summary', privacy: 'privacy', }; this.checkIfAnySelected = (categories) => { this.vars.anySelected = categories.map((category) => { const deliverers = Object.values(category.deliverers); return deliverers.some((k) => (k.selected == true ? true : false)) || category.selected; }); }; this.updateViewType = (view = '') => { if (!view) return; that.previousView = that.currentView; that.currentView = view; const cookieModalElement = document.querySelector('#iai_cookie'); if (!cookieModalElement) return; cookieModalElement.setAttribute('data-cookie-view', view); }; this.truncateSummary = (value = '') => { if (!value) return {}; const lastSpacesRgx = /\s+$/; const showMore = value.length > that.vars.maxTextLength; let summary = value.slice(0, that.vars.maxTextLength); if (showMore) { summary = summary.replace(lastSpacesRgx, ''); summary += '...'; } return { summary, showMore, }; }; this.transformSummary = () => { if (!that.texts.privacy_policy_cookies_txt) return; const truncated = that.truncateSummary(that.texts.privacy_policy_cookies_txt); this.vars.truncatedSummary = truncated?.showMore || this.vars.truncatedSummary; this.texts.privacy_policy_cookies_txt_summary = truncated?.summary || this.texts.privacy_policy_cookies_txt_summary; }; this.rejectAllCookies = () => { var cookieObj = new Object(); if (cookiesList.hash !== null) cookieObj['hash'] = cookiesList.hash; document.querySelectorAll('.iai_cookie__tabName .iai_cookie__switch').forEach((label) => { cookieObj[label.querySelector('input').getAttribute('name')] = false; }); var date = new Date(); date.setFullYear(date.getFullYear() + 1); document.cookie = `iai_cookie = ${JSON.stringify(cookieObj)};expires=${date.toUTCString()};path=/;secure;`; that.cookieObj = cookieObj; document.querySelector('#iai_cookie').classList.add('d-none'); that.toggleBodyOverflow(false); document.cookie = `ck_cook = shown; max-age=3600; path=/;secure;`; }; that.hasInputsChecked = () => { return document.querySelectorAll('.iai_cookie__item input:checked').length > 0; }; this.eventHandlers = () => { if (that.vars.eventsAttached) return; that.vars.eventsAttached = true; document.querySelectorAll('.iai_cookie__tabName').forEach((e) => { e.addEventListener('click', (ev) => { const tab = e.closest('.iai_cookie__tab'); const switchClosest = ev.target.closest('.iai_cookie__switchWrapper'); if (!switchClosest) { tab.classList.toggle('--opened'); } if (!switchClosest && tab.classList.contains('--opened')) { e.scrollIntoView({ behavior: 'smooth', block: 'start' }); } }); }); document.querySelectorAll('.iai_cookie__tabName input[type="checkbox"]').forEach((e) => { e.addEventListener('change', () => { const parent = e.closest('.iai_cookie__tab'); const checked_items = parent.querySelectorAll('.iai_cookie__item input:checked'); const unchecked_items = parent.querySelectorAll('.iai_cookie__item input:not(:checked)'); if (e.checked) { unchecked_items.forEach((e) => { e.checked = !e.checked; }); } else { checked_items.forEach((e) => { e.checked = !e.checked; }); } if (document.querySelectorAll('.iai_cookie__item input:checked').length > 0) { document.querySelector('.iai_cookie__consentsActions').classList.add('acceptSelected'); } else { if (that.vars.showDenyAllButton === true) { document.querySelector('.iai_cookie__consentsActions').classList.remove('acceptSelected'); } } }); }); document.querySelectorAll('.iai_cookie__item').forEach((e) => { const parent = e.closest('.iai_cookie__tab'); const items_length = parent.querySelectorAll('.iai_cookie__item').length; e.querySelectorAll('input').forEach((e) => { e.addEventListener('change', () => { if (items_length === parent.querySelectorAll('.iai_cookie__item input:checked').length) { parent.querySelector('.iai_cookie__tabName input').checked = true; } else { parent.querySelector('.iai_cookie__tabName input').checked = false; } if (document.querySelectorAll('.iai_cookie__item input:checked').length > 0) { document.querySelector('.iai_cookie__consentsActions').classList.add('acceptSelected'); } else { if (that.vars.showDenyAllButton === true) { document.querySelector('.iai_cookie__consentsActions').classList.remove('acceptSelected'); } } }); }); }); document.querySelectorAll('[data-cookie-view-action]').forEach((item) => { item.addEventListener('click', (el) => { el.preventDefault(); const viewType = el.target.getAttribute('data-cookie-view-action'); if (!viewType) return; this.updateViewType(viewType); }); }); document.querySelector('.iai_cookie a.acceptSelected')?.addEventListener('click', function (e) { e.preventDefault(); var cookieObj = new Object(); if (cookiesList.hash !== null) cookieObj['hash'] = cookiesList.hash; if (that.hasInputsChecked()) { document.querySelectorAll('.iai_cookie__consentsWrapper .iai_cookie__tab').forEach((el) => { const [cookieTabInput, cookieTabName] = [ el.querySelector('.iai_cookie__tabName input'), el.querySelector('.iai_cookie__tabName input') ? el.querySelector('.iai_cookie__tabName input').getAttribute('name') : null, ]; if (cookieTabName !== null && cookieTabInput !== null && cookieTabInput.checked) { cookieObj[cookieTabName] = true; } else { if (cookieTabName !== null) { cookieObj[cookieTabName] = {}; el.querySelectorAll('.iai_cookie__item input:checked').forEach((input) => { cookieObj[cookieTabName][input.getAttribute('name')] = true; }); } } }); var date = new Date(); date.setFullYear(date.getFullYear() + 1); document.cookie = `iai_cookie = ${JSON.stringify(cookieObj)};expires=${date.toUTCString()};path=/;secure;`; that.cookieObj = cookieObj; document.querySelectorAll('script[id*="iaiscript_"]').forEach((el) => that.setInnerHTML(el, window[el.id])); document.querySelector('#iai_cookie').classList.add('d-none'); that.toggleBodyOverflow(false); document.cookie = `ck_cook = shown; max-age=3600; path=/;secure;`; } else { that.rejectAllCookies(); } that.setConsentMode(); that.downloadMissingSnippets(); }); document.querySelector('.iai_cookie .acceptAll')?.addEventListener('click', function (e) { e.preventDefault(); var cookieObj = new Object(); if (cookiesList.hash !== null) cookieObj['hash'] = cookiesList.hash; document.querySelectorAll('.iai_cookie__tabName .iai_cookie__switch').forEach((label) => { const input = label.querySelector('input'); if (!input.checked) label.click(); cookieObj[label.querySelector('input').getAttribute('name')] = true; }); var date = new Date(); date.setFullYear(date.getFullYear() + 1); document.cookie = `iai_cookie = ${JSON.stringify(cookieObj)};expires=${date.toUTCString()};path=/;secure;`; that.cookieObj = cookieObj; document.querySelectorAll('script[id*="iaiscript_"]').forEach((el) => that.setInnerHTML(el, window[el.id])); document.querySelector('#iai_cookie').classList.add('d-none'); that.toggleBodyOverflow(false); document.cookie = `ck_cook = shown; max-age=3600; path=/;secure;`; that.setConsentMode(); that.downloadMissingSnippets(); }); document.querySelector('.iai_cookie a.rejectAll')?.addEventListener('click', function (e) { e.preventDefault(); that.rejectAllCookies(); that.setConsentMode(); }); document.querySelector('.iai_cookie_header__previous')?.addEventListener('click', function (e) { e.preventDefault(); switch (that.currentView) { case that.views.consents: { if (that.modalType && that.views[that.modalType]) { that.updateViewType(that.views[that.modalType]); } break; } case that.views.consents_summary: { that.updateViewType(that.previousView); break; } case that.views.privacy: { that.updateViewType(that.views.consents); break; } default: { that.updateViewType(that.previousView); break; } } }); if (that.vars.enabledPrivacyPolicyView) { const privacyPolicyViewSelector = `.iai_cookie .iai_cookie__tabContent.--top a[href*="${that.vars.privacyPolicyStandardSelector}"]`; document.querySelector(privacyPolicyViewSelector)?.addEventListener('click', (e) => { e.preventDefault(); that.updateViewType(that.views.privacy); }); } var dom_observer = new MutationObserver(function (mutation) { const cookies = document.querySelector('#iai_cookie'); const body = document.querySelector('body'); if (cookies.classList.contains('d-none')) { dom_observer.disconnect(); } else if (body.children[body.children.length - 1] !== cookies) { body.insertAdjacentElement('beforeend', cookies); } }); if (document.querySelector('#iai_cookie')) { const config = { attributes: false, childList: true, characterData: false }; dom_observer.observe(document.body || document.documentElement, config); } }; this.setInnerHTML = (elm, html) => { let requiredConsents = JSON.parse(atob(elm.dataset.requirements)); let canExecuteScript = true; for (const [category, deliverers] of Object.entries(requiredConsents)) { if (typeof that.cookieObj[category] === 'boolean') { if (that.cookieObj[category] !== true) { canExecuteScript = false; } } else { deliverers.forEach((deliverer) => { if (category in that.cookieObj && (!(deliverer in that.cookieObj[category]) || that.cookieObj[category][deliverer] !== true)) { canExecuteScript = false; } }); } } if (!canExecuteScript) { return; } elm.insertAdjacentHTML('afterend', `

`); tempElm = document.querySelector(`#temp_${elm.id}`); tempElm.innerHTML = html; Array.from(tempElm.querySelectorAll('script')).forEach((oldScriptEl) => { const newScriptEl = document.createElement('script'); Array.from(oldScriptEl.attributes).forEach((attr) => { newScriptEl.setAttribute(attr.name, attr.value); }); let scriptText = new Text(''); if (oldScriptEl.className !== 'google_consent_mode_update') { scriptText = document.createTextNode(oldScriptEl.innerHTML); } newScriptEl.appendChild(scriptText); oldScriptEl.parentNode.replaceChild(newScriptEl, oldScriptEl); }); elm.parentNode.removeChild(elm); tempElm.outerHTML = tempElm.innerHTML; }; this.createIdoSellLogo = () => { if (!that.vars.shouldDisplayWhiteLabel) return ''; return ``; }; this.createSwitch = (code = '', selected = false) => { if (!code) return ''; return ``; }; this.createTab = () => {}; this.createCategoryList = (categories) => { const deliveryList = (category) => Object.values(category.deliverers) .map((deliverer) => ``) .join(''); return categories.map((category) => ``).join(''); }; this.createSummary = () => { return ` `; }; this.createTemplate = (categories) => { const template = ` `; return template; }; this.setConsentMode = () => { const consentModeSnippet = document.querySelector('.google_consent_mode_update'); if (consentModeSnippet) { let adsStorageConsent = 'denied'; let analyticsStorageConsent = 'denied'; let adPersonalizationConsent = 'denied'; let adUserDataConsent = 'denied'; if (typeof this.cookieObj['marketing'] === 'boolean') { if (this.cookieObj['marketing'] === true) { adsStorageConsent = 'granted'; adPersonalizationConsent = 'granted'; adUserDataConsent = 'granted'; } } else { if (this.cookieObj['marketing']['googleads'] === true) { adsStorageConsent = 'granted'; adPersonalizationConsent = 'granted'; adUserDataConsent = 'granted'; } } if (typeof this.cookieObj['analytics'] === 'boolean') { if (this.cookieObj['analytics'] === true) { analyticsStorageConsent = 'granted'; } } else { if (this.cookieObj['analytics']['googleanalytics'] === true) { analyticsStorageConsent = 'granted'; } } let consentModeUpdate = document.createElement('script'); consentModeUpdate.setAttribute('class', 'google_consent_mode_update'); consentModeUpdate.innerHTML = "gtag('consent', 'update', {\n" + "'ad_storage': '" + adsStorageConsent + "',\n" + "'analytics_storage': '" + analyticsStorageConsent + "',\n" + "'ad_personalization': '" + adPersonalizationConsent + "',\n" + "'ad_user_data': '" + adUserDataConsent + "'\n" + '});'; consentModeSnippet.insertAdjacentElement('afterend', consentModeUpdate); consentModeSnippet.parentNode.removeChild(consentModeSnippet); } }; this.appendToBody = (template) => { document.querySelector('#iai_cookie') == null ? document.querySelector('body').insertAdjacentHTML('beforeend', template) : false; }; this.toggleBodyOverflow = (add = false) => { if (add) { document.querySelector('body').classList.add('--cookie-overflow'); } else { document.querySelector('body').classList.remove('--cookie-overflow'); } }; this.attachCookieStyles = (styles) => { const styleElement = document.createElement('style'); styleElement.innerHTML = styles; document.head.appendChild(styleElement); }; this.showCookieModal = () => { document.querySelector('#iai_cookie')?.classList?.remove('d-none'); }; this.toggleBottomVersion = () => { if (that.vars.shouldDisplayBottomVersion) { that.updateViewType(that.views.basic); } }; this.downloadMissingSnippets = async () => { if (!this.vars.canLoadAdditionalSnippets) { return true; } const formData = new FormData(); formData.append( "request", JSON.stringify({ Snippets: { format: "json", params: { mobile: (app_shop.vars.view == 1).toString(), tablet: (app_shop.vars.view == 2).toString(), pc: (app_shop.vars.view >= 3).toString(), request_uri: app_shop.vars.request_uri, additional_ajax: app_shop.vars.additional_ajax, consentAcceptedOnly: true, }, }, }) ); const snippetsData = await fetch("/ajax/get.php", { method: "POST", body: formData, }); const result = await snippetsData.json(); const snippets = result.Snippets.response.items; that.snippetsList = snippets; let head = document.querySelector("head"); let body = document.querySelector("body"); for (let key in snippets) { let div = document.createElement("div"); div.innerHTML = snippets[key].content; [...div.querySelectorAll("script")].forEach((script) => { let scr = document.createElement("script"); scr.text = script.textContent; script.replaceWith(scr); }); [...div.children].forEach((child) => { switch (snippets[key].region) { case "head": { head.appendChild(child); break; } case "body_top": { body.insertBefore(child, body.firstChild); break; } default: { body.appendChild(child); break; } } }); } return true; }; this.init = (showCookiesConfiguration = false) => { if (document.cookie.indexOf('ck_cook=shown') == -1 || showCookiesConfiguration) { that.toggleBottomVersion(); if (showCookiesConfiguration) { that.updateViewType(that.views.consents); that.showCookieModal(); } that.attachCookieStyles(cookieStyles); that.transformSummary(); that.checkIfAnySelected(that.vars.categories); that.appendToBody(that.createTemplate(that.vars.categories)); that.eventHandlers(); that.toggleBodyOverflow(true); } }; return this.init(); }; var newIaiCookie = new IaiCookies();