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