1 line
4.0 KiB
JavaScript
1 line
4.0 KiB
JavaScript
!function(e){e.fn.ihavecookies=function(n,r){var c=e(this),a=e.extend({cookieTypes:[{type:"Site Preferences",value:"preferences",description:"These are cookies that are related to your site preferences, e.g. remembering your username, site colours, etc."},{type:"Analytics",value:"analytics",description:"Cookies related to site visits, browser types, etc."},{type:"Marketing",value:"marketing",description:"Cookies related to marketing, e.g. newsletters, social media, etc"}],title:"Cookies & Privacy",message:"Cookies enable you to use shopping carts and to personalize your experience on our sites, tell us which parts of our websites people have visited, help us measure the effectiveness of ads and web searches, and give us insights into user behavior so we can improve our communications and products.",link:"/privacy-policy",delay:2e3,expires:30,moreInfoLabel:"More information",acceptBtnLabel:"Accept Cookies",advancedBtnLabel:"Customise Cookies",moreBtnLabel:"Manage",cookieTypesTitle:"Manage Cookies",onAccept:function(){},uncheckBoxes:!1},n),s=t("cookieControl"),p=t("cookieControlPrefs");if(s&&p&&"reinit"!=r){var d=!0;"false"==s&&(d=!1),o(d,a.expires)}else{e("#gdpr-cookie-message").remove();var l="";preferences=JSON.parse(p),e.each(a.cookieTypes,function(e,o){""!==o.type&&""!==o.value&&(!1!==o.description&&o.description,l+='<li><div class="gdpr-type-title-wrap"> <h6>'+o.value+'</h6> <label class="gdpr-switch" id="gdpr-cookietype-'+o.value+'" name="gdpr[]" value="'+o.value+'" data-auto="on"><input type="checkbox" checked> <span class="gdpr-slider"></span></label></div> <p class="gdpr-cookie-type-description">'+o.description+"</p> </li>")});var u='<div id="gdpr-cookie-message"><span id="gdpr-cookie-close">X</span> <div class="gdpr-cookie-content-wraper-area"> <div class="gdpr-cookie-top-part show"> <h4>'+a.title+"</h4><p>"+a.message+' <a href="'+a.link+'">'+a.moreInfoLabel+'</a></p></div><div id="gdpr-cookie-types" class="gdpr-cookie-types"><h5>'+a.cookieTypesTitle+"</h5><ul>"+l+'</ul></div></div><div class="gdpr-btn-group"><button id="gdpr-cookie-accept" type="button">'+a.acceptBtnLabel+'</button><button id="gdpr-cookie-more" type="button">'+a.moreBtnLabel+"</button>";""!=a.advancedBtnLabel&&(u+='<button id="gdpr-cookie-advanced" type="button">'+a.advancedBtnLabel+"</button>"),u+="</div></div>",setTimeout(function(){e(c).append(u),e("#gdpr-cookie-message").hide().fadeIn("slow",function(){"reinit"==r&&(e("#gdpr-cookie-advanced").trigger("click"),e.each(preferences,function(o,i){e("input#gdpr-cookietype-"+i).prop("checked",!0)}))})},a.delay),e("body").on("click","#gdpr-cookie-accept",function(){o(!0,a.expires),e('input[name="gdpr[]"][data-auto="on"]').prop("checked",!0);var t=[];e.each(e('input[name="gdpr[]"]').serializeArray(),function(e,o){t.push(o.value)}),i("cookieControlPrefs",encodeURIComponent(JSON.stringify(t)),365),a.onAccept.call(this)}),e("body").on("click","#gdpr-cookie-advanced",function(){$(this).parent().parent().remove()}),e("body").on("click","#gdpr-cookie-more",function(){$("#gdpr-cookie-types").toggleClass("show"),$("#gdpr-cookie-more").hide(100),$("#gdpr-cookie-advanced").hide(100),$(this).parent().parent().find(".gdpr-cookie-top-part").toggleClass("show")})}!0===a.uncheckBoxes&&e('input[type="checkbox"].ihavecookies').prop("checked",!1)},e.fn.ihavecookies.cookie=function(){var e=t("cookieControlPrefs");return JSON.parse(e)},e.fn.ihavecookies.preference=function(e){var o=t("cookieControl"),i=t("cookieControlPrefs");return i=JSON.parse(i),!1!==o&&!1!==i&&-1!==i.indexOf(e)};var o=function(o,t){i("cookieControl",o,t),e("#gdpr-cookie-message").fadeOut("fast",function(){e(this).remove()})},i=function(e,o,i){var n=new Date;n.setTime(n.getTime()+24*i*60*60*1e3);var r="expires="+n.toGMTString();return document.cookie=e+"="+o+";"+r+";path=/;",t(e)},t=function(e){for(var o=e+"=",i=decodeURIComponent(document.cookie).split(";"),t=0;t<i.length;t++){for(var n=i[t];" "==n.charAt(0);)n=n.substring(1);if(0===n.indexOf(o))return n.substring(o.length,n.length)}return!1}}(jQuery); |