PageSourceSearch

https://www.trendcarpet.fi/js/minified/cookiecontrol.js?v=4860

js trendcarpet.fi collected 2026-09-30 09:25:00 UTC 9,846 bytes, 66 lines download raw bytes

1(function(WGR,$){'use strict';const WGR_COOKIE_NAME='wgr-cookie';const BANNER_STYLE_BIG_BANNER=1;const BANNER_STYLE_SMALL_BANNER=2;const BANNER_STYLE_POPUP=3;const DEBUG=new URLSearchParams(window.location.search).has('debug');let config={necessary:[],optional:[],text:{bannerText:'Site use cookies',necessaryTitle:'Necessary cookies',necessaryDescription:'These cookies must exist for the site to work correctly.',settingsText:''},bannerStyle:1,bannerColor:'',version:1};let acceptedCookies=[];let wgrCookie={choiceMade:!1,acceptAll:!1,optional:{},version:1};let isEditing=!1;$('.js-open-cookie-control').on('click',openControllerForEditing);function initCookieControl(newConfig)
2{Object.assign(config,newConfig);addAcceptedCookies(config.necessary);wgrCookie=getCookie(WGR_COOKIE_NAME);if(wgrCookie===''){wgrCookie={choiceMade:!1,acceptAll:!1,optional:[],version:config.version};saveSettings()}
3else{wgrCookie=JSON.parse(wgrCookie);for(let key in config.optional){const optional=config.optional[key];if(wgrCookie.optional[optional.systemCode]!==undefined&&wgrCookie.optional[optional.systemCode]===!0){addAcceptedCookies(optional.cookies)}}}
4if(wgrCookie.choiceMade===!1){renderBanner()}
5deleteNotAcceptedCookies();setInterval(deleteNotAcceptedCookies,250)}
6function saveSettings()
7{if(wgrCookie.choiceMade){setCookie(WGR_COOKIE_NAME,JSON.stringify(wgrCookie))}}
8function renderBanner()
9{if(config.bannerStyle==BANNER_STYLE_POPUP){return renderController(!1)}
10let bannerStyleClass='cookie-control-banner--big';if(config.bannerStyle==BANNER_STYLE_SMALL_BANNER){bannerStyleClass='cookie-control-banner--small'}
11const $banner=$('<div class="cookie-control-banner js-cookie-banner '+bannerStyleClass+'">');
11if(config.bannerColor){$banner.css('background',config.bannerColor)}
12const $wrapper=$('<div class="cookie-control-wrapper">');const $bannerText=$('<span class="cookie-control-banner__text">');$bannerText.html(config.text.bannerText);$wrapper.append($bannerText);const $acceptBtn=$('<button class="btn btn--small btn--primary">');$acceptBtn.text(getPhrase('js_cookiecontrol_banner_accept_all','')).on('click',acceptAllCookies);const $settingsBtn=$('<button class="btn btn--small">');$settingsBtn.text(getPhrase('js_cookiecontrol_settings','')).on('click',renderController);const $denyBtn=$('<button class="btn btn--small">');$denyBtn.text(getPhrase('js_cookiecontrol_deny','')).on('click',denyCookies);const $btnWrapper=$('<div class="cookie-control-banner__buttons">');$btnWrapper.append($settingsBtn);$btnWrapper.append($denyBtn);$btnWrapper.append($acceptBtn);$wrapper.append($btnWrapper);$banner.append($wrapper);$('body').append($banner)}
13function renderController(isSettings)
14{if(typeof isSettings==='undefined'){isSettings=!0}
15$('.js-cookie-overlay, .js-cookie-banner, .js-cookie-controller').remove();const $overlay=$('<div class="cookie-control-overlay js-cookie-overlay">');$('body').append($overlay);const $holder=$('<div class="cookie-control-controller-holder js-cookie-controller">');const $controller=$('<div class="cookie-control-controller">');$holder.append($controller)
16let $wrapper=$('<div class="cookie-control-controller__item">');if(isSettings){$controller.append('<div>'+config.text.settingsText+'</div>');$wrapper=$('<div class="cookie-control-controller__item cookie-control-controller__optional">');$wrapper.append('<input type="checkbox" checked>').append('<label><div class="item-text"><b>'+htmlEncode(config.text.necessaryTitle)+'</b><p>'+config.text.necessaryDescription+'</p></div></label>');$controller.append($wrapper);for(let key in config.optional){const optional=config.optional[key];const $wrapper=$('<div class="cookie-control-controller__item cookie-control-controller__optional">');const $checkbox=$('<input type="checkbox" id="optional-cookie-'+key+'">');const currentChoice=wgrCookie.optional[optional.systemCode]??!1;if(wgrCookie.acceptAll||currentChoice||(!isEditing&&optional.isRecommended)){$checkbox.prop('checked',!0)}
17$wrapper.append($checkbox).append('<label for="optional-cookie-'+key+'"><div class="item-text"><b>'+htmlEncode(optional.title)+'</b><p>'+optional.description+'</p></div></label>');$controller.append($wrapper)}
18$wrapper=$('<div class="cookie-control-banner__buttons">');const $closeBtn=$('<button class="btn">');$closeBtn.text(getPhrase('js_cookiecontrol_save','')).on('click',acceptOptionalCookies);$wrapper.append($closeBtn);const $denyBtn=$('<button class="btn btn--small">');$denyBtn.text(getPhrase('js_cookiecontrol_deny','')).on('click',denyCookies);$wrapper.append($denyBtn);const $acceptBtn=$('<button class="btn btn--small btn--primary">');$acceptBtn.text(getPhrase('js_cookiecontrol_settings_accept_all','')).on('click',acceptAllCookies);$wrapper.append($acceptBtn);$controller.append($wrapper)}
19else{$wrapper.html(config.text.bannerText);$controller.append($wrapper);$wrapper=$('<div class="cookie-control-banner__buttons">');const $settingsBtn=$('<button class="btn">');$settingsBtn.text(getPhrase('js_cookiecontrol_settings','')).on('click',renderController);$wrapper.append($settingsBtn);const $denyBtn=$('<button class="btn">');$denyBtn.text(getPhrase('js_cookiecontrol_deny','')).on('click',denyCookies);$wrapper.append($denyBtn);const $acceptBtn=$('<button class="btn btn--primary">');$acceptBtn.text(getPhrase('js_cookiecontrol_banner_accept_all','')).on('click',acceptAllCookies);$wrapper.append($acceptBtn);$controller.append($wrapper)}
20$('body').append($holder);return!1}
21function closeController()
22{$('.js-cookie-overlay, .js-cookie-banner, .js-cookie-controller').remove();wgrCookie.choiceMade=!0;saveSettings();if(isEditing){window.location.reload()}}
23function acceptAllCookies()
24{for(let key in config.optional){const optional=config.optional[key];const currentChoice=wgrCookie.optional[optional.systemCode]??!1;if(!currentChoice&&!wgrCookie.acceptAll){$(document).trigger(optional.onAcceptEvent)}}
25wgrCookie.acceptAll=!0;closeController();return!1}
26function acceptOptionalCookies()
27{const currentAcceptAllChoice=wgrCookie.acceptAll;wgrCookie.acceptAll=!1;let json={};for(let key in config.optional){const optional=config.optional[key];const currentChoice=wgrCookie.optional[optional.systemCode]??!1;if($('#optional-cookie-'+key).is(':checked')){json[optional.systemCode]=!0;addAcceptedCookies(optional.cookies);if(!currentChoice&&!currentAcceptAllChoice){$(document).trigger(optional.onAcceptEvent)}}
28else{json[optional.systemCode]=!1;if(currentChoice||currentAcceptAllChoice){$(document).trigger(optional.onDenyEvent)}
29deleteCookies(optional.cookies);deleteAcceptedCookies(optional.cookies)}}
30wgrCookie.optional=json;wgrCookie.choiceMade=!0;closeController()}
31function denyCookies()
32{const currentAcceptAllChoice=wgrCookie.acceptAll;wgrCookie.acceptAll=!1;let json={};for(let key in config.optional){const optional=config.optional[key]
33const currentChoice=wgrCookie.optional[optional.systemCode]??!1;json[optional.systemCode]=!1;if(currentChoice||currentAcceptAllChoice){$(document).trigger(optional.onDenyEvent)}
34deleteCookies(optional.cookies);deleteAcceptedCookies(optional.cookies)}
35wgrCookie.optional=json;wgrCookie.choiceMade=!0;closeController()}
36function deleteNotAcceptedCookies()
37{if(wgrCookie.acceptAll){return}
38let cookies=document.cookie.split(';');for(let key in cookies){const cookieName=cookies[key].split('=')[0].trim();if(!isCookieAccepted(cookieName)){deleteCookie(cookieName)}}}
39function addAcceptedCookies(cookies)
40{acceptedCookies=acceptedCookies.concat(cookies);acceptedCookies=acceptedCookies.filter(arrayUnique)}
41function deleteAcceptedCookies(cookies)
42{for(let key in cookies){const cookie=cookies[key];while(isCookieAccepted(cookie)){const key2=acceptedCookies.indexOf(cookie);acceptedCookies.splice(key2,1);}}}
43function setCookie(name,value,validForDays,path)
44{if(!isCookieAccepted(name)){console.log('Cookie '+name+' is not allowed');return}
45if(validForDays===undefined){validForDays=7}
46if(path===undefined){path='/'}
47const expires=new Date();expires.setDate(expires.getDate()+validForDays);document.cookie=name+'='+value+'; expires='+expires.toUTCString()+'; path='+path}
48function deleteCookie(name,path)
49{if(path===undefined){path='/'}
50if(DEBUG){console.log('Cookie control: deleting cookie '+name)}
51const expires=new Date(1970);let hostname=location.hostname;document.cookie=name+'=; expires='+expires+'; path='+path;document.cookie=name+'=; expires='+expires+'; path='+path+'; Domain=.'+hostname;document.cookie=name+'=; expires='+expires+'; path='+path+'; Domain=.'+hostname.replace('www.','');hostname=hostname.replace('www.','');const hostnameDotArr=hostname.match(/\./g);if(hostnameDotArr&&hostnameDotArr.length>1){hostname=hostname.match(/([\w\d-]+)\.([\w]+)$/g).pop();document.cookie=name+'=; expires='+expires+'; path='+path+'; Domain=.'+hostname;document.cookie=name+'=; expires='+expires+'; path='+path+'; Domain=.www.'+hostname}}
52function deleteCookies(cookies)
53{for(let key in cookies){deleteCookie(cookies[key])}}
54function getCookie(name){let cookies=document.cookie.split(';');for(let key in cookies){const cookie=cookies[key].split('=');if(cookie[0].trim()===name){return cookie[1]}}
55return ''}
56function arrayUnique(value,index,self)
57{return self.indexOf(value)===index}
58function isCookieAccepted(cookieName)
59{if(wgrCookie.acceptAll){return!0}
60if(acceptedCookies.indexOf(cookieName)>-1){return!0}
61for(let key in acceptedCookies){const cookie=acceptedCookies[key];if(cookie.slice('-1')!=='*'){continue}
62if(cookieName.indexOf(cookie.replace('*',''))===0){return!0}}
63return!1}
64function openControllerForEditing(event)
65{event.preventDefault();isEditing=!0;renderController(!0)}
66WGR.cookie={initCookieControl:initCookieControl,setCookie:setCookie,deleteCookie:deleteCookie,deleteCookies:deleteCookies,getCookie:getCookie,openControllerForEditing:openControllerForEditing}}(window.WGR=window.WGR||{},jQuery))

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.