PageSourceSearch

https://www.patenteonline.it/js/jquery.CookieGuard.1.1.0.js

js patenteonline.it collected 2026-09-24 13:17:21 UTC 38,093 bytes, 722 lines download raw bytes

1// *************************************************************************
2// * CookieGuard v1.1                                                      *
3// *                                                                       *
4// * (c) 2012 Ultimateweb LTD <[email protected]>                     *
5// * All Rights Reserved.                                                  *
6// *                                                                       *
7// * This program is free software: you can redistribute it and/or modify  *
8// * it under the terms of the GNU General Public License as published by  *
9// * the Free Software Foundation, either version 3 of the License, or     *
10// * (at your option) any later version.                                   *
11// *                                                                       *
12// * This program is distributed in the hope that it will be useful,       *
13// * but WITHOUT ANY WARRANTY; without even the implied warranty of        *
14// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
15// * GNU General Public License for more details.                          *
16// *                                                                       *
17// * GNU General Public License <http://www.gnu.org/licenses/>.            *
18// *                                                                       *
19// *************************************************************************
20// CHANGELOG
21//
22// 1.1.0
23// - Multilanguage (spanish and german translations included).
24// - Responsive (CSS based in percentages)
25// - Script Cookies with 2 expiration days
26//
27(function ($) {
28    if (typeof $.cookieguard === 'undefined') {
29        $.cookieguard = function (options) {
30			
31			// Defaults
32            var defaults = {
33                cookieDeleteDelay: 100,
34                messageShowDelay: 1500,
35                messageHideDelay: null,
36                answeredHideDelay: 2000,
37                slideSpeed: 500,
38				cookieExpirationDays: 2,
39                cookiePrefix: 'cookieguard_',
40                alertOfUnknown: false
41            };
42
43			// Language detection
44			var userLang = navigator.language || navigator.userLanguage;
45			userLang=userLang.split('-')[0];
46			if (options!=null) { if (options.userLang!=null) userLang = options.userLang; }
47
48
49
50				
51			// Default Messages (English)
52			var messages = {
53				bannerTitle: ' This website uses cookies to track usage and preferences.',
54				bannerDescription: 'You may choose to block non-essential and unknown cookies.',
55				cookiesEssential: 'Essential Cookies <span>- The site owner has indicated that these are essential to the running of the site.</span>',
56				cookiesNonEssential: 'Non-Essential Cookies <span>- The site owner has approved these cookies but you may turn them off.</span>',
57				cookiesUnknown: 'Unknown Cookies <span>- The site owner has not approved these cookies.</span>',
58				cookiesNewTitle: 'Cookie Guard has found new cookies.',
59				cookiesNewDescription: 'You may choose to block these cookies.',
60				cookiesBlocked: 'Non-essential and unknown cookies have now been blocked on this site.',
61				cookiesAllowed: 'The listed cookies have now been allowed on this site.',
62				buttonShow: 'Show',
63				buttonHide: 'Hide',
64				buttonBlock: 'Block',
65				buttonAllow: 'Allow',
66				buttonOK: 'Okay',
67				cookieGuardName: 'Cookie Guard',
68				cookieGuardDescription: 'This cookie is essential for storing the status of your cookie choices whilst using this site.'
69			};
70
71			// German Messages
72			if (userLang === "de") {
73				delete messages;
74				var messages = {
75					bannerTitle: 'Wir verwenden Cookies zur &Uuml;wachung von Benutzung und Pr&auml;ferenzen.',
76					bannerDescription: 'Die unwesentlichen oder unbekannten Cookies k&ouml;nnen Sie blockieren.',
77					cookiesEssential: 'Wesentliche Cookies <span>- Diese sind von entscheidender Bedeutung f&uuml;r die volle Funktionsf&auml;higkeit von der Webseite.</span>',
78					cookiesNonEssential: 'Unwesentliche Cookies <span>
78- Unser Webmaster hat diese Cookies zugelassen, aber Sie k&ouml;nen diese ausschalten.</span>',
79					cookiesUnknown: 'Unbekannte Cookies <span>-  unser Webmaster hat diese nicht genehmigt.</span>',
80					cookiesNewTitle: 'Cookie Guard hat neue Cookies entdeckt.',
81					cookiesNewDescription: 'Sie k&ouml;nen diese ausschalten.',
82					cookiesBlocked: 'Unwesentliche und unbekannten Cookies Jetzt auf dieser Seite blockiert werde.',
83					cookiesAllowed: 'Die aufgef&uuml;hrten Cookies sind nun auf dieser Webseite erlaubt ist.',
84					buttonShow: 'Show',
85					buttonHide: 'Hide',
86					buttonBlock: 'Block',
87					buttonAllow: 'Erlauben',
88					buttonOK: 'Okay',
89					cookieGuardName: 'Cookie Guard',
90					cookieGuardDescription: 'Diese Cookie speichert Ihre Auswahl verschiedener Cookies (blockiert/erlaubt) w&auml;hrend des Surfens von der Webseite.'
91				};	
92			}
93			
94			// Spanish Messages
95			if (userLang === "es") {
96				delete messages;
97				var messages = {
98					bannerTitle: 'Esta web emplea cookies para el seguimiento de uso y preferencias.',
99					bannerDescription: 'Escoja entre bloquear o permitir las cookies no esenciales y las desconocidas.',
100					cookiesEssential: 'Cookies Esenciales <span>- nuestro webmaster ha indicado que las siguientes cookies son esenciales para el funcionamiento de la web.</span>',
101					cookiesNonEssential: 'Cookies No Esenciales <span>- nuestro webmaster ha aprobado las siguientes cookies, pero usted puede bloquearlas.</span>',
102					cookiesUnknown: 'Cookies Desconocidas <span>- nuestro webmaster no ha aprobado las siguientes cookies.</span>',
103					cookiesNewTitle: 'Cookie Guard ha encontrado nuevas cookies.',
104					cookiesNewDescription: 'Usted puede bloquear estas nuevas cookies.',
105					cookiesBlocked: 'Cookies no esenciales y desconocidas ahora van a ser bloquedas en nuestra web.',
106					cookiesAllowed: 'Cookies no esenciales y desconocidas han sido permitirdas por usted.',
107					buttonShow: 'Mostrar',
108					buttonHide: 'Ocultar',
109					buttonBlock: 'Bloquear',
110					buttonAllow: 'Permitir',
111					buttonOK: 'Okay',
112					cookieGuardName: 'Cookie Guard',
113					cookieGuardDescription: 'Esta cookie guarda sus preferencias respecto a las distintas cookies (bloqueada/permitida) durante su navegación por nuestra web.'
114				};
115			}
116
117            if (userLang === "it") {
118                delete messages;
119                var messages = {
120                bannerTitle: 'Utilizzando www.patenteonline.it acconsenti all&apos; utilizzo dei cookie come descritto nella nostra <a href="http://www.patenteonline.it/privacy_www.html"><b style="color:#ffffff">informativa sulla privacy</b></a>.',
121                bannerDescription: '',
122                cookiesEssential: 'Cookies essenziali <span> - Il proprietario del sito ha indicato che questi sono essenziali per il funzionamento del sito.</ span>',
123                cookiesNonEssential: 'Cookies non essenziali <span> - Il proprietario del sito ha approvato questi cookie ma &egrave; possibile disattivarli.</ span>',
124                cookiesUnknown: 'Unknown Cookies <span> - Il proprietario del sito non ha approvato questi cookie.</ span>',
125                cookiesNewTitle: 'Cookie Guard ha trovato nuovi cookies.',
126                cookiesNewDescription: 'Si pu&ograve; scegliere di bloccare questi cookies.',
127                cookiesBlocked: 'Non essenziale e cookies sconosciuti sono stati bloccati sul sito.',
128                cookiesAllowed: 'I cookies sono stati autorizzati in questo sito.',
129                buttonShow: 'Vedi',
130                buttonHide: 'Nascondi',
131                buttonBlock: 'Blocca',
132                buttonAllow: 'Consenti',
133                buttonOK: 'Ok',
134                cookieGuardName: 'Cookie Guard',
135                cookieGuardDescription: 'Questo cookie &egrave; essenziale per la memorizzazione dello stato delle vostre scelte di cookie durante l\'utilizzo di questo sito.'
136                };  
137            }
138			
139			var buttons = {
140				//buttonsConfigDefault:  '<div id="cookieButtons"><a href="#" id="showCookies">' + messages.buttonShow + '</a>' + '<a href="#" id="authoriseCookies">' + messages.buttonAllow + '</a>' + '<a href="#" id="denyCookies">' + messages.buttonBlock + '</a></div>',
141                buttonsConfigDefault: '<span id="cookieButtons"><a href="#" id="cookieGuardOkay">'+messages.buttonOK+'</a></span>',
142				buttonsOK: '<div id="cookieButtons"><a href="#" id="showCookies">'+messages.buttonShow+'</a><a href="#" id="cookieGuardOkay">'+messages.buttonOK+'</a></div>'
143			};
144			
145            $.cookieguard.settings = $.extend(defaults, messages, buttons, options, { 'cookiesUsed': new Array(), 'messageHideTimeout': null });
146        };
147    }
148
149    if (typeof $.cookieguard.cookies === 'undefined') {
150        $.cookieguard.cookies = function () { };
151    }
152
153    if (typeof $.cookieguard.cookies.read === 'undefined') {
154        $.cookieguard.cookies.read = function (name) {
155            var nameEQ = name + "=";
156            var ca = document.cookie.split(';');
157            for (var i = 0; i < ca.length; i++) {
158                var c = ca[i];
159                while (c.charAt(0) == ' ') c = c.substring(1, c.length);
160                if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
161            }
162            return null;
163        };
164    }
165
166    if (typeof $.cookieguard.cookies.create === 'undefined') {
167        $.cookieguard.cookies.create = function (name, value, days, domain, path) {
168            if (domain == undefined || domain == null)
169                domain = document.domain;
170            if (path == undefined || path == null)
171                path = "/";
172            if (days) {
173                var date = new Date();
174                date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
175                var expires = "; expires=" + date.toGMTString();
176            }
177            else var expires = "";
178
179            document.cookie = name + "=" + value + expires + "; domain=" + domain + "; path=" + path;
180        };
181    }
182
183    if (typeof $.cookieguard.cookies.erase === 'undefined') {
184        $.cookieguard.cookies.erase = function (name) {
185            $.cookieguard.cookies.create(name, "", -1, "", "");
186            $.cookieguard.cookies.create(name, "", -1, "");
187            $.cookieguard.cookies.create(name, "", -1);
188            $.cookieguard.cookies.create(name, "", -1, "." + document.domain);
189            if (document.domain.substr(0, 4) == '.www.')
190                $.cookieguard.cookies.create(name, "", -1, document.domain.substr(1));
191            if (document.domain.substr(0, 4) == 'www.')
192                $.cookieguard.cookies.create(name, "", -1, "." + document.domain.substr(4));
193        };
194    }
195
196    if (typeof $.cookieguard.cookies.add === 'undefined') {
197        $.cookieguard.cookies.add = function (name, cookie, description, essential) {
198            var cookies = cookie.split(",");
199
200            for (var i = 0; i < cookies.length; i++) {
201                $.cookieguard.settings.cookiesUsed.push({ 'name': name, 'cookie': cookies[i], 'description': description, 'essential': essential });
202
203                if (essential)
204                    $.cookieguard.cookies.storeAllowedCookie(cookies[i]);
205            }
206        };
207    }
208
209    if (typeof $.cookieguard.cookies.findUnknownCookies === 'undefined') {
210        $.cookieguard.cookies.findUnknownCookies = function () {
211            var allowedCookies = $.cookieguard.cookies.getAllowedCookies();
212            var disallowedCookies = $.cookieguard.cookies.getDisallowedCookies();
213            var definedCookies = $.cookieguard.settings.cookiesUsed;
214            var allCookies = new Array();
215            var unknownCookies = new Array();
216
217            if (document.cookie && document.cookie != '') {
218                var split = document.cookie.split(';');
219                for (var i = 0; i < split.length; i++) {
220                    var name_value = split[i].split("=");
221                    name_value[0] = name_value[0].replace(/^ /, '');
222                    allCookies.push(decodeURIComponent(name_value[0]));
223                }
224            }
225
226            for (var i = 0; i < allCookies.length; i++) {
227                var cookieFound = false;
228
229                if (allowedCookies != null) {
230                    for (var j = 0; j < allowedCookies.length; j++) {
231                        if (allowedCookies[j].indexOf('*') === 0 && allowedCookies[j].match("\\*$") == '*') {
232                            if (allCookies[i].indexOf(allowedCookies[j].replace('*', '')) > -1) {
233                                cookieFound = true;
234                                break;
235                            }
236                        }
237                        else if (allowedCookies[j].indexOf('*') === 0) {
238                            if (allCookies[i].match(allowedCookies[j].replace('*', '') + '$') == allowedCookies[j].replace('*', '')) {
239                                cookieFound = true;
240                                break;
241                            }
242                        }
243                        else if (allowedCookies[j].match("\\*$") == "*") {
244                            if (allCookies[i].indexOf(allowedCookies[j].replace('*', '')) === 0) {
245                                cookieFound = true;
246                                break;
247                            }
248                        }
249                        else if (allowedCookies[j] == allCookies[i]) {
250                            cookieFound = true;
251                            break;
252                        }
253                    }
254                }
255
256                if (!cookieFound) {
257                    if (disallowedCookies != null) {
258                        for (var j = 0; j < disallowedCookies.length; j++) {
259                            if (disallowedCookies[j].indexOf('*') === 0 && disallowedCookies[j].match("\\*$") == '*') {
260                                if (allCookies[i].indexOf(disallowedCookies[j].replace('*', '')) > -1) {
261                                    cookieFound = true;
262                                    break;
263                                }
264                            }
265                            else if (disallowedCookies[j].indexOf('*') === 0) {
266                                if (allCookies[i].match(disallowedCookies[j].replace('*', '') + '$') == disallowedCookies[j].replace('*', '')) {
267                                    cookieFound = true;
268                                    break;
269                                }
270                            }
271                            else if (disallowedCookies[j].match("\\*$") == "*") {
272                                if (allCookies[i].indexOf(disallowedCookies[j].replace('*', '')) === 0) {
273                                    cookieFound = true;
274                                    break;
275                                }
276                            }
277                            else if (disallowedCookies[j] == allCookies[i]) {
278                                cookieFound = true;
279                                break;
280                            }
281                        }
282                    }
283                }
284
285                if (!cookieFound) {
286                    if (definedCookies.length > 0) {
287                        for (var j = 0; j < definedCookies.length; j++) {
288                            if (definedCookies[j].cookie.indexOf('*') === 0 && definedCookies[j].cookie.match("\\*$") == '*') {
289                                if (allCookies[i].indexOf(definedCookies[j].cookie.replace(/\*/g, '')) > -1) {
290                                    cookieFound = true;
291                                    break;
292                                }
293                            }
294                            else if (definedCookies[j].cookie.indexOf('*') === 0) {
295                                if (allCookies[i].match(definedCookies[j].cookie.replace(/\*/g, '') + '$') == definedCookies[j].cookie.replace(/\*/g, '')) {
296                                    cookieFound = true;
297                                    break;
298                                }
299                            }
300                            else if (definedCookies[j].cookie.match("\\*$") == "*") {
301                                if (allCookies[i].indexOf(definedCookies[j].cookie.replace(/\*/g, '')) === 0) {
302                                    cookieFound = true;
303                                    break;
304                                }
305                            }
306                            else if (definedCookies[j].cookie == allCookies[i]) {
307                                cookieFound = true;
308                                break;
309                            }
310                        }
311                    }
312                }
313
314                if (!cookieFound)
315                    if (allCookies[i].indexOf($.cookieguard.settings.cookiePrefix) === 0)
316                        cookieFound = true;
317
318                if (!cookieFound) {
319                    unknownCookies.push(allCookies[i]);
320                }
321            }
322
323            return unknownCookies;
324        };
325    }
326
327    if (typeof $.cookieguard.cookies.storeAllowedCookie === 'undefined') {
328        $.cookieguard.cookies.storeAllowedCookie = function (cookie) {
329            var allowedCookies = $.cookieguard.cookies.getAllowedCookies();
330            var allowedCookiesStr;
331
332            if (allowedCookies == null)
333                allowedCookiesStr = cookie;
334            else {
335                allowedCookiesStr = allowedCookies.join(',');
336                if ($.inArray(cookie, allowedCookies) == -1)
337                    allowedCookiesStr = allowedCookiesStr + ',' + cookie;
338            }
339
340            $.cookieguard.cookies.create($.cookieguard.settings.cookiePrefix + 'allowedCookies', allowedCookiesStr, $.cookieguard.settings.cookieExpirationDays);
341        };
342    }
343
344    if (typeof $.cookieguard.cookies.getAllowedCookies === 'undefined') {
345        $.cookieguard.cookies.getAllowedCookies = function () {
346            var allowedCookies = $.cookieguard.cookies.read($.cookieguard.settings.cookiePrefix + 'allowedCookies');
347
348            if (allowedCookies != null)
349                return allowedCookies.split(',');
350
351            return null;
352        };
353    }
354
355    if (typeof $.cookieguard.cookies.storeDisallowedCookie === 'undefined') {
356        $.cookieguard.cookies.storeDisallowedCookie = function (cookie) {
357            var disallowedCookies = $.cookieguard.cookies.getDisallowedCookies();
358            var disallowedCookiesStr;
359
360            if (disallowedCookies == null)
361                disallowedCookiesStr = cookie;
362            else {
363                disallowedCookiesStr = disallowedCookies.join(',');
364                if ($.inArray(cookie, disallowedCookies) == -1)
365                    disallowedCookiesStr = disallowedCookiesStr + ',' + cookie;
366            }
367
368            $.cookieguard.cookies.create($.cookieguard.settings.cookiePrefix + 'disallowedCookies', disallowedCookiesStr, $.cookieguard.settings.cookieExpirationDays);
369        };
370    }
371
372    if (typeof $.cookieguard.cookies.getDisallowedCookies === 'undefined') {
373        $.cookieguard.cookies.getDisallowedCookies = function () {
374            var disallowedCookies = $.cookieguard.cookies.read($.cookieguard.settings.cookiePrefix + 'disallowedCookies')
375
376            if (disallowedCookies != null)
377                return disallowedCookies.split(',');
378
379            return null;
380        };
381    }
382
383    if (typeof $.cookieguard.eradicateCookies === 'undefined') {
384        $.cookieguard.eradicateCookies = function () {
385            var cookiesToDestroy = $.cookieguard.cookies.getDisallowedCookies();
386            var cookiesToAllow = $.cookieguard.cookies.getAllowedCookies();
387            var allCookies = new Array();
388
389            if (document.cookie && document.cookie != '') {
390                var split = document.cookie.split(';');
391                for (var i = 0; i < split.length; i++) {
392                    var name_value = split[i].split("=");
393                    name_value[0] = name_value[0].replace(/^ /, '');
394                    allCookies.push(decodeURIComponent(name_value[0]));
395                }
396            }
397
398            for (var i = 0; i < allCookies.length; i++) {
399                var cookieFound = false;
400
401                if (allCookies[i].indexOf($.cookieguard.settings.cookiePrefix) === 0)
402                    cookieFound = true;
403
404                if (!cookieFound) {
405                    if (cookiesToAllow != null) {
406                        for (var j = 0; j < cookiesToAllow.length; j++) {
407                            if (cookiesToAllow[j].indexOf('*') === 0 && cookiesToAllow[j].match("\\*$") == '*') {
408                                if (allCookies[i].indexOf(cookiesToAllow[j].replace('*', '')) > -1) {
409                                    cookieFound = true;
410                                    break;
411                                }
412                            }
413                            else if (cookiesToAllow[j].indexOf('*') === 0) {
414                                if (allCookies[i].match(cookiesToAllow[j].replace('*', '') + '$') == cookiesToAllow[j].replace('*', '')) {
415                                    cookieFound = true;
416                                    break;
417                                }
418                            }
419                            else if (cookiesToAllow[j].match("\\*$") == "*") {
420                                if (allCookies[i].indexOf(cookiesToAllow[j].replace('*', '')) === 0) {
421                                    cookieFound = true;
422                                    break;
423                                }
424                            }
425                            else if (cookiesToAllow[j] == allCookies[i]) {
426                                cookieFound = true;
427                                break;
428                            }
429                        }
430                    }
431
432                    if (!cookieFound) {
433                        if (cookiesToDestroy != null) {
434                            for (var j = 0; j < cookiesToDestroy.length; j++) {
435                                if (cookiesToDestroy[j].indexOf('*') === 0 && cookiesToDestroy[j].match("\\*$") == '*') {
436                                    if (allCookies[i].indexOf(cookiesToDestroy[j].replace('*', '')) > -1) {
437                                        $.cookieguard.cookies.erase(allCookies[i]);
438                                        cookieFound = true;
439                                        break;
440                                    }
441                                }
442                                else if (cookiesToDestroy[j].indexOf('*') === 0) {
443                                    if (allCookies[i].match(cookiesToDestroy[j].replace('*', '') + '$') == cookiesToDestroy[j].replace('*', '')) {
444                                        $.cookieguard.cookies.erase(allCookies[i]);
445                                        cookieFound = true;
446                                        break;
447                                    }
448                                }
449                                else if (cookiesToDestroy[j].match("\\*$") == "*") {
450                                    if (allCookies[i].indexOf(cookiesToDestroy[j].replace('*', '')) === 0) {
451                                        $.cookieguard.cookies.erase(allCookies[i]);
452                                        cookieFound = true;
453                                        break;
454                                    }
455                                }
456                                else if (cookiesToDestroy[j] == allCookies[i]) {
457                                    $.cookieguard.cookies.erase(allCookies[i]);
458                                    cookieFound = true;
459                                    break;
460                                }
461                            }
462                        }
463                    }
464                }
465            }
466        }
467    }
468
469    if (typeof $.cookieguard.run === 'undefined') {
470        $.cookieguard.run = function () {
471            setTimeout(function () {
472                var unknownCookies;
473
474                if ($.cookieguard.settings.alertOfUnknown)
475                    unknownCookies = $.cookieguard.cookies.findUnknownCookies();
476                else
477                    unknownCookies = new Array();
478
479                if (!$.cookieguard.hasAnswered()) {
480                    $.cookieguard.buildMessage(true, $.cookieguard.settings.cookiesUsed, unknownCookies);
481                    $.cookieguard.displayMessage($.cookieguard.settings.messageShowDelay, $.cookieguard.settings.messageHideDelay);
482                }
483                else {
484                    $.cookieguard.eradicateCookies();
485
486                    if (unknownCookies.length > 0) {
487                        $.cookieguard.buildMessage(false, null, unknownCookies);
488                        $.cookieguard.displayMessage($.cookieguard.settings.messageShowDelay, $.cookieguard.settings.messageHideDelay);
489                    }
490                }
491            }, $.cookieguard.settings.cookieDeleteDelay);
492        };
493    }
494
495    if (typeof $.cookieguard.hasAnswered === 'undefined') {
496        $.cookieguard.hasAnswered = function () {
497            if ($.cookieguard.cookies.read($.cookieguard.settings.cookiePrefix + "initialised") != null)
498                return true;
499            else
500                return false;
501        };
502    }
503
504    if (typeof $.cookieguard.buildMessage === 'undefined') {
505        $.cookieguard.buildMessage = function (init, knownCookies, unknownCookies) {
506            $('body').prepend('<div id="cookieGuardMsg"><div id="cookieGuardMsgInner"></div>');
507
508            if (init) {
509                $('#cookieGuardMsgInner').append('<strong>' + $.cookieguard.settings.bannerTitle + '</strong>');
510                if (unknownCookies.length == 0 && $.cookieguard.hasOnlyEssential())
511                    $('#cookieGuardMsgInner').addClass('onlyEssential').append($.cookieguard.settings.buttonsOk);
512                else
513                    $('#cookieGuardMsgInner').append( $.cookieguard.settings.bannerDescription + $.cookieguard.settings.buttonsConfigDefault);
514            }
515            else {
516                $('#cookieGuardMsgInner').append($.cookieguard.settings.cookieNewTitle + '<br/>');
517                $('#cookieGuardMsgInner').append($.cookieguard.settings.cookieNewDescription + $.cookieguard.settings.buttonsConfigDefault);
518            }
519
520            $.cookieguard.buildCookieList(init, knownCookies, unknownCookies);
521
522            $('#cookieGuardOkay').click(function () {
523                clearTimeout($.cookieguard.settings.messageHideTimeout);
524                $.cookieguard.hideMessage(0);
525                $.cookieguard.cookies.create($.cookieguard.settings.cookiePrefix + 'initialised', '1', $.cookieguard.settings.cookieExpirationDays);
526                return false;
527            });
528
529            $('#showCookies').click(function () {
530                if ($(this).text() == $.cookieguard.settings.buttonShow) {
531                    clearTimeout($.cookieguard.settings.messageHideTimeout);
532                    $('#cookieList').show();
533                    $(this).text($.cookieguard.settings.buttonHide);
534                    var h = $('#cookieList').outerHeight();
535                    $('#cookieList').css({ 'overflow': 'hidden', 'height': 0 }).animate({
536                        'height': h
537                    }, $.cookieguard.settings.slideTimer);
538                }
539                else if ($(this).text() == $.cookieguard.settings.buttonHide) {
540                    $(this).text($.cookieguard.settings.buttonShow);
541                    $('#cookieList').animate({
542                        'height': 0
543                    }, $.cookieguard.settings.slideTimer, null, function () {
544                        $('#cookieList').hide().attr('style', '').removeAttr('style');
545                    });
546                }
547
548                return false;
549            });
550
551            $('#authoriseCookies').click(function () {
552                clearTimeout($.cookieguard.settings.messageHideTimeout);
553                $('#cookieGuardMsgInner').empty().addClass('msgAllowed').html($.cookieguard.settings.cookiesAllowed);
554                $.cookieguard.hideMessage($.cookieguard.settings.answeredHideDelay);
555
556                if (knownCookies != null) {
557                    for (var i = 0; i < knownCookies.length; i++)
558                        $.cookieguard.cookies.storeAllowedCookie(knownCookies[i].cookie);
559                }
560                if (unknownCookies != null) {
561                    for (var i = 0; i < unknownCookies.length; i++)
562                        $.cookieguard.cookies.storeAllowedCookie(unknownCookies[i]);
563                }
564
565                $.cookieguard.cookies.create($.cookieguard.settings.cookiePrefix + 'initialised', '1', $.cookieguard.settings.cookieExpirationDays);
566                return false;
567            });
568
569            $('#denyCookies').click(function () {
570                clearTimeout($.cookieguard.settings.messageHideTimeout);
571                $('#cookieGuardMsgInner').empty().addClass('msgDenied').html($.cookieguard.settings.cookiesBlocked);
572                $.cookieguard.hideMessage($.cookieguard.settings.answeredHideDelay);
573
574                if (knownCookies != null) {
575                    for (var i = 0; i < knownCookies.length; i++)
576                        if (knownCookies[i].essential == false)
577                            $.cookieguard.cookies.storeDisallowedCookie(knownCookies[i].cookie);
578                }
579                if (unknownCookies != null) {
580                    for (var i = 0; i < unknownCookies.length; i++)
581                        $.cookieguard.cookies.storeDisallowedCookie(unknownCookies[i]);
582                }
583
584                $.cookieguard.cookies.create($.cookieguard.settings.cookiePrefix + 'initialised', '1', $.cookieguard.settings.cookieExpirationDays);
585                $.cookieguard.eradicateCookies();
586                return false;
587            });
588        };
589    }
590
591    if (typeof $.cookieguard.buildCookieList === 'undefined') {
592        $.cookieguard.buildCookieList = function (init, knownCookies, unknownCookies) {
593            var essentialCookies = new Array();
594            var unessentialCookies = new Array();
595            var knownNames = new Array();
596
597            if (knownCookies != null) {
598                for (var i = 0; i < knownCookies.length; i++) {
599                    if ($.inArray(knownCookies[i].name, knownNames) == -1) {
600                        knownNames.push(knownCookies[i].name);
601                        if (knownCookies[i].essential)
602                            essentialCookies.push(knownCookies[i]);
603                        else
604                            unessentialCookies.push(knownCookies[i]);
605                    }
606                }
607            }
608
609            $('#cookieGuardMsgInner').append('<div id="cookieList"/>');
610
611            if (init) {
612                $('#cookieList').append('<div class="cookiesHeader">'+$.cookieguard.settings.cookiesEssential+
613				'</div>');
614                $('#cookieList').append('<ul class="essentialCookies"/>');
615                $('#cookieList > ul.essentialCookies').append('<li><div class="cookieName">'+$.cookieguard.settings.cookieGuardName+'</div><div class="cookieDescription"> - '+$.cookieguard.settings.cookieGuardDescription+'</div></li>');
616                for (var i = 0; i < essentialCookies.length; i++) {
617                    $('#cookieList > ul.essentialCookies').append('<li><div class="cookieName">' + essentialCookies[i].name + '</div><div class="cookieDescription"> - ' + essentialCookies[i].description + '</div></li>');
618                }
619            }
620
621            if (unessentialCookies.length > 0) {
622                $('#cookieList').append('<div class="cookiesHeader">'+$.cookieguard.settings.cookiesNonEssential+'</div>');
623                $('#cookieList').append('<ul class="knownCookies" />');
624                for (var i = 0; i < unessentialCookies.length; i++) {
625                    $('#cookieList > ul.knownCookies').append('<li><div class="cookieName">' + unessentialCookies[i].name + '</div><div class="cookieDescription"> - ' + unessentialCookies[i].description + '</div></li>');
626                }
627            }
628
629            if (unknownCookies != null && unknownCookies.length > 0) {
630                $('#cookieList').append('<div class="cookiesHeader">'+$.cookieguard.settings.cookiesUnknown+'</div>');
631                $('#cookieList').append('<ul class="unknownCookies" />');
632                for (var i = 0; i < unknownCookies.length; i++) {
633                    $('#cookieList > ul.unknownCookies').append('<li><div class="cookieName">' + unknownCookies[i] + '</div></li>');
634                }
635            }
636        };
637    }
638
639    if (typeof $.cookieguard.displayMessage === 'undefined') {
640        $.cookieguard.displayMessage = function (showDelay, hideDelay) {
641            $.cookieguard.createCSS();            
642
643            $('#copyright').delay(showDelay).animate({
644                'margin-bottom': $('#cookieGuardMsg').outerHeight()
645            }, $.cookieguard.settings.slideSpeed);
646
647            $('#scrollup').delay(showDelay).animate({
648                'margin-bottom': $('#cookieGuardMsg').outerHeight()
649            }, $.cookieguard.settings.slideSpeed);
650
651            $('#cookieGuardMsg').css('bottom', -$('#cookieGuardMsg').outerHeight());
652            $('#cookieGuardMsg').delay(showDelay).addClass('visible').show().animate({
653                'bottom': 0
654            }, $.cookieguard.settings.slideSpeed);
655
656            if ($.cookieguard.settings.messageHideDelay != null) {
657                $.cookieguard.settings.messageHideTimeout = setTimeout(function () {
658                    $.cookieguard.hideMessage(0);
659                }, hideDelay);
660            }
661        };
662    }
663
664    if (typeof $.cookieguard.hideMessage === 'undefined') {
665        $.cookieguard.hideMessage = function (hideDelay) {
666
667            $('#copyright').delay(hideDelay).animate({
668                'margin-bottom': 0
669            }, $.cookieguard.settings.slideSpeed);
670
671             $('#scrollup').delay(hideDelay).animate({
672                'margin-bottom': 0
673            }, $.cookieguard.settings.slideSpeed);
674
675            $('#cookieGuardMsg').delay(hideDelay).animate({
676                'bottom': -$('#cookieGuardMsg').height()
677            }, $.cookieguard.settings.slideSpeed, null, function () {
678                $('#cookieGuardMsg').remove();                
679            });
680        }
681    }
682
683    if (typeof $.cookieguard.hasOnlyEssential === 'undefined') {
684        $.cookieguard.hasOnlyEssential = function () {
685            var knownCookies = $.cookieguard.settings.cookiesUsed;
686
687            for (var i = 0; i < knownCookies.length; i++) {
688                if (!knownCookies[i].essential)
689                    return false;
690            }
691            return true;
692        }
693    }
694
695    if (typeof $.cookieguard.createCSS == 'undefined') {
696        $.cookieguard.createCSS = function () {
697            var style = '<style id="cookieGuardStyles" type="text/css">';
698                style += '#cookieGuardMsg { position: fixed; text-transform:uppercase; text-align: left; bottom: 0; left: 0; width: 100%; display: none; font-size: 0.65em; color: #F2F2F2; background-origin: content-box; background: rgba(142, 142, 142, 0.90); min-height: 20px; z-index:99999; }';
699                style += "#cookieGuardMsgInner { padding: 5px 5px 5px 30px; text-align: center; }"; 
700                style += "#cookieGuardMsg a { text-decoration: none; font-style: normal; }"; 
701                style += "#cookieButtons { text-align: right;}"; 
702                style += "#showCookies {background: #f4f4f4; color: #5b5858; padding: 5px 10px; margin: 0 1%; -moz-border-radius: 3px; font-weight:bold}";
703                style += "#showCookies:hover { border-color: #666; }";
704                style += "#authoriseCookies, #cookieGuardOkay {background: #B0E4B1; color: #384c2a; padding: 5px 10px; margin: 0 1%; -moz-border-radius: 3px; font-weight:bold}";
705                style += "#authoriseCookies:hover { border-color: #6f8f59; }"; 
706                style += "#denyCookies {background: #ecc1c1; color: #384c2a; padding: 5px 10px; margin: 0 1%; -moz-border-radius: 3px; font-size: 0.80em; letter-spacing: 3px; }";
707                style += "#denyCookies:hover { border-color: #9e6a6a;}";
708                style += "#cookieList { display: none; padding: 10px 60px 0 0; }";
709                style += "#cookieList ul { list-style: none; padding-left: 20px; }";
710                style += "#cookieGuardMsg.visible { display: block; };#cookieList li { padding: 5px 0; }";
711                style += ".cookieName { font-weight: bold; display: inline; }";
712                style += ".cookieDescription { display: inline; }";
713                style += ".cookiesHeader { font-weight: bold; border-bottom: 1px solid #222; color: #eee; margin-bottom: 3px; padding-top: 10px; }";
714                style += ".cookiesHeader span { font-weight: normal; }";
715                style += "#cookieGuardMsgInner.msgAllowed, #cookieGuardMsgInner.msgDenied, #cookieGuardMsgInner.onlyEssential { padding-top: 18px; }";
716                style += ".essentialCookies li { border-top: 1px solid gray }";
717                style += "#cookieList { font-size:0.7em }";
718            style += "</style>";
719            $('head').append(style);
720        }
721    }
722})(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.