Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
novicell/cookie_info / js / cookie_info.js
Size: Mime:
/**
 * Created by Novicell on 19/01/16.
 */

(function ($) {
    Drupal.behaviors.CookieInfo = {
        attach: function (context, settings) {
            var self = this;
            var $body = $('body');

            var $cookieInfo = $('#cookie-info');
            var $cookieClose = $('#cookie-info-close');
            var $cookieOpen = $('#cookie-info-open');

            if ($cookieInfo.length) {
                // If we have displayed it once, set cookie for one year
                if (getCookie("cookieAccept") == "displayed") {
                    if (drupalSettings.cookie_info.cookie_behavior == 'display_once') {
                        setCookie("cookieAccept", "accepted", 365);
                    } else {
                        setTimeout(function () {
                            $body.addClass('cookie-info-show');
                        }, 1000);
                    }
                }

                // Check if the cookie info has been displayed, if not set session cookie
                if (getCookie("cookieAccept") == "") {
                    setCookie("cookieAccept", "displayed");

                    setTimeout(function () {
                        $body.addClass('cookie-info-show');
                    }, 1000);
                }

                // Button eventlisteners
                $cookieOpen.click(function () {
                    self.showCookie();
                });

                $cookieClose.click(function () {
                    self.hideCookie();
                    setCookie("cookieAccept", "accepted", 365);
                });
            }

            // Functions for opening an closing the cookie-info
            this.showCookie = function () {
                $body.addClass('cookie-info-show');
            };
            this.hideCookie = function () {
                $body.removeClass('cookie-info-show');
            };

        }
    }

})(jQuery);

/* Cookie helper functions
 *******************************/

// Get cookie
function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1)
        }
        ;
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length)
        }
        ;
    }
    return "";
}

// Set cookie
function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays * 60 * 60 * 1000 * 24));
    var expires = "expires=" + d.toUTCString() + ";";
    var path = "path=/";
    document.cookie = cname + "=" + cvalue + "; " + expires + path;
}