1Drupal.behaviors.eu_cookie_compliance_popup = function(context) { 2 $('body').not('.sliding-popup-processed').addClass('sliding-popup-processed').each(function() { 3 try { 4 var enabled = Drupal.settings.eu_cookie_compliance.popup_enabled; 5 if(!enabled) { 6 return; 7 } 8 if (!Drupal.eu_cookie_compliance.cookiesEnabled()) { 9 return; 10 } 11 var status = Drupal.eu_cookie_compliance.getCurrentStatus(); 12 var clicking_confirms = Drupal.settings.eu_cookie_compliance.popup_clicking_confirmation; 13 var agreed_enabled = Drupal.settings.eu_cookie_compliance.popup_agreed_enabled; 14 var popup_hide_agreed = Drupal.settings.eu_cookie_compliance.popup_hide_agreed; 15 if (status == 0) { 16 var next_status = 1; 17 if (clicking_confirms) { 18 $('a, input[type=submit]').bind('click.eu_cookie_compliance', function(){ 19 if(!agreed_enabled) { 20 Drupal.eu_cookie_compliance.setStatus(1); 21 next_status = 2; 22 } 23 Drupal.eu_cookie_compliance.changeStatus(next_status); 24 }); 25 } 26 27 $('.agree-button').click(function(){ 28 if(!agreed_enabled) { 29 Drupal.eu_cookie_compliance.setStatus(1); 30 next_status = 2; 31 } 32 Drupal.eu_cookie_compliance.changeStatus(next_status); 33 }); 34 35 Drupal.eu_cookie_compliance.createPopup(Drupal.settings.eu_cookie_compliance.popup_html_info); 36 } else if(status == 1) { 37 Drupal.eu_cookie_compliance.createPopup(Drupal.settings.eu_cookie_compliance.popup_html_agreed); 38 if (popup_hide_agreed) { 39 $('a, input[type=submit]').bind('click.eu_cookie_compliance_hideagreed', function(){ 40 Drupal.eu_cookie_compliance.changeStatus(2); 41 }); 42 } 43 44 } else { 45 return; 46 } 47 } 48 catch(e) { 49 return; 50 } 51 }); 52} 53 54Drupal.eu_cookie_compliance = {}; 55 56Drupal.eu_cookie_compliance.createPopup = function(html) { 57 var popup = $(html) 58 .attr({"id": "sliding-popup"}) 59 .height(Drupal.settings.eu_cookie_compliance.popup_height) 60 .width(Drupal.settings.eu_cookie_compliance.popup_width) 61 .hide(); 62 if(Drupal.settings.eu_cookie_compliance.popup_position) { 63 popup.prependTo("body"); 64 var height = popup.height(); 65 popup.show() 66 .attr({"class": "sliding-popup-top"}) 67 .css({"top": -1 * height}) 68 .animate({top: 0}, Drupal.settings.eu_cookie_compliance.popup_delay); 69 } else { 70 popup.appendTo("body"); 71 height = popup.height(); 72 popup.show() 73 .attr({"class": "sliding-popup-bottom"}) 74 .css({"bottom": -1 * height}) 75 .animate({bottom: 0}, Drupal.settings.eu_cookie_compliance.popup_delay); 76 } 77 Drupal.eu_cookie_compliance.attachEvents(); 78} 79 80Drupal.eu_cookie_compliance.attachEvents = function() { 81 var clicking_confirms = Drupal.settings.eu_cookie_compliance.popup_clicking_confirmation; 82 var agreed_enabled = Drupal.settings.eu_cookie_compliance.popup_agreed_enabled; 83 $('.find-more-button').click(function(){ 84 window.open(Drupal.settings.eu_cookie_compliance.popup_link); 85 }); 86 $('.agree-button').click(function(){ 87 var next_status = 1; 88 if(!agreed_enabled) { 89 Drupal.eu_cookie_compliance.setStatus(1); 90 next_status = 2; 91 } 92 if (clicking_confirms) { 93 $('a, input[type=submit]').unbind('click.eu_cookie_compliance'); 94 } 95 Drupal.eu_cookie_compliance.changeStatus(next_status); 96 }); 97 $('.hide-popup-button').click(function(){ 98 Drupal.eu_cookie_compliance.changeStatus(2); 99 }); 100} 101 102Drupal.eu_cookie_compliance.getCurrentStatus = function() { 103 if (Drupal.settings.eu_cookie_compliance.custom_cookie_enabled == 1) { 104 document.domain = Drupal.settings.eu_cookie_compliance.custom_cookie_domain; 105 } 106 var search = 'cookie-agreed-'+Drupal.settings.eu_cookie_compliance.popup_language+'='; 107 var offset = document.cookie.indexOf(search); 108 if (offset < 0) { 109 return 0; 110 } 111 offset += search.length; 112 var end = document.cookie.indexOf(';', offset); 113 if (end == -1) { 114 end = document.cookie.length; 115 } 116 var value = document.cookie.substring(offset, end); 117 return parseInt(value); 118} 119 120Drupal.eu_cookie_compliance.changeStatus = function(value) { 121 var status = Drupal.eu_cookie_compliance.getCurrentStatus(); 122 if (status == value) return; 123 if(Drupal.settings.eu_cookie_compliance.popup_position) { 124 $(".sliding-popup-top").animate({top: $("#sliding-popup").height() * -1}, Drupal.settings.eu_cookie_compliance.popup_delay, function () { 125 if(status == 0) { 126 $("#sliding-popup").html(Drupal.settings.eu_cookie_compliance.popup_html_agreed).animate({top: 0}, Drupal.settings.eu_cookie_compliance.popup_delay); 127 Drupal.eu_cookie_compliance.attachEvents(); 128 } 129 if(status == 1) { 130 $("#sliding-popup").remove(); 131 } 132 }) 133 } else { 134 $(".sliding-popup-bottom").animate({bottom: $("#sliding-popup").height() * -1}, Drupal.settings.eu_cookie_compliance.popup_delay, function () { 135 if(status == 0) { 136 $("#sliding-popup").html(Drupal.settings.eu_cookie_compliance.popup_html_agreed).animate({bottom: 0}, Drupal.settings.eu_cookie_compliance.popup_delay) 137 Drupal.eu_cookie_compliance.attachEvents(); 138 } 139 if(status == 1) { 140 $("#sliding-popup").remove(); 141 } 142 ;}) 143 } 144 Drupal.eu_cookie_compliance.setStatus(value); 145} 146 147Drupal.eu_cookie_compliance.setStatus = function(status) { 148 var date = new Date(); 149 date.setDate(date.getDate() + 100); 150 var domain = ''; 151 if (Drupal.settings.eu_cookie_compliance.custom_cookie_enabled == 1) { 152 domain = ';domain=' + Drupal.settings.eu_cookie_compliance.custom_cookie_domain; 153 document.domain = Drupal.settings.eu_cookie_compliance.custom_cookie_domain; 154 } 155 document.cookie = "cookie-agreed-"+Drupal.settings.eu_cookie_compliance.popup_language + "="+status+";expires=" + date.toUTCString() + domain + ";path=" + Drupal.settings.basePath; 156} 157 158Drupal.eu_cookie_compliance.hasAgreed = function() { 159 var status = Drupal.eu_cookie_compliance.getCurrentStatus(); 160 if(status == 1 || status == 2) { 161 return true; 162 } 163 return false;
164} 165 166Drupal.eu_cookie_compliance.cookiesEnabled = function() { 167 var cookieEnabled = (navigator.cookieEnabled) ? true : false; 168 if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) { 169 document.cookie="testcookie"; 170 cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false; 171 } 172 return (cookieEnabled); 173}
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.