1// ------------------------------------------------------------------------------------------- 2// Message Box 3// ------------------------------------------------------------------------------------------- 4 5(function($) 6{ 7 "use strict"; 8 9 $.fn.avia_sc_messagebox = function (options) { 10 11 "use strict"; 12 13 return this.each(function () 14 { 15 var container = $(this), 16 close_btn = container.find('.av_message_close'), 17 mbox_ID = container.attr('id'), 18 19 aviaSetCookie = function(CookieName,CookieValue,CookieDays) 20 { 21 var expires = ""; 22 if( CookieDays ) 23 { 24 var date = new Date(); 25 date.setTime( date.getTime() + ( CookieDays*24*60*60*1000 ) ); 26 expires = "; expires=" + date.toGMTString(); 27 } 28 29 document.cookie = CookieName + "=" + CookieValue + expires + "; path=/; samesite=strict"; 30 }, 31 32 aviaGetCookie = function(CookieName) 33 { 34 var docCookiesStr = CookieName + "="; 35 var docCookiesArr = document.cookie.split(';'); 36 37 for( var i=0; i < docCookiesArr.length; i++ ) 38 { 39 var thisCookie = docCookiesArr[i]; 40 41 while( thisCookie.charAt(0) == ' ' ) 42 { 43 thisCookie = thisCookie.substring( 1,thisCookie.length ); 44 } 45 46 if( thisCookie.indexOf( docCookiesStr ) == 0 ) 47 { 48 var cookieContents = container.attr('data-contents'); 49 var savedContents = thisCookie.substring( docCookiesStr.length, thisCookie.length ); 50 if( savedContents == cookieContents ) 51 { 52 return savedContents; 53 } 54 } 55 } 56 return null; 57 }; 58 59 // check if cookie is set and display message box 60 if ( ! aviaGetCookie( mbox_ID ) ) 61 { 62 container.removeClass('messagebox-hidden'); 63 } 64 65 // set cookie when button clicked 66 close_btn.on( 'click', function() 67 { 68 var cookieContents = container.attr('data-contents'); 69 var cookieLifetime = ""; 70 71 // set session cookie 72 if ( container.hasClass('messagebox-session_cookie') ) 73 { 74 cookieLifetime = ""; 75 } 76 // set cookie with defined lifetime 77 else if ( container.hasClass('messagebox-custom_cookie') ) 78 { 79 cookieLifetime = parseInt( container.attr('data-cookielifetime') ); 80 } 81 82 aviaSetCookie( mbox_ID, cookieContents, cookieLifetime ); 83 container.addClass('messagebox-hidden'); 84 }); 85 86 }); 87 88 }; 89 90 // activate message box 91 $('.avia_message_box').avia_sc_messagebox(); 92 93 94}(jQuery)); 95
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.