
    (function () {
        var accountId = "3200";
        var env = "orca";
        var twentyYearsInHours = 20 * 365 * 24;

        var nameValueDirective = function (name, value) {
            return name + "=" + value
        };
        var expiresDirective = function (expirationDate) {
            return "expires=" + expirationDate.toUTCString()
        };
        var pathDirective = function (path) {
            return "path=" + (path != null ? path : "/");
        };

        function prepareCookie(name, value, expirationDate) {
            var directives = [nameValueDirective(name, value), expiresDirective(expirationDate), pathDirective()];
            return directives.join(";");
        }

        var expirationDateCountedFromNow = function (expiryTimeInHours) {
            const expiryTimeInMillis = expiryTimeInHours * 60 * 60 * 1000;
            const expirationTimestamp = Date.now() + expiryTimeInMillis;
            return new Date(expirationTimestamp);
        };

        function setCookie(name, value, expiryTimeInHours) {
            const expirationDate = expirationDateCountedFromNow(expiryTimeInHours);
            document.cookie = prepareCookie(name, value, expirationDate);
        }

        window.ZoovuTracking = {
            optOut: function () {
                setCookie("zoovu-opt-out-" + env + "-" + accountId, "true", twentyYearsInHours)
            },
            optIn: function () {
                setCookie("zoovu-opt-out-" + env + "-" + accountId, "false", twentyYearsInHours)
            }
        }
    })();
