var cookie = {
    set: function (name, value, days, cntxRelPath, bSec) {
        try {
            var date = new Date();
            date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
            var tcook = name + '=' + escape(value) + '; expires=' + (days > 0 ? date.toGMTString() : '');
            if (typeof cntxRelPath != 'undefined' && cntxRelPath != null)
                tcook += '; path=' + cntxRelPath;
            if (typeof bSec != 'undefined' && bSec)
                tcook += '; secure';
            document.cookie = tcook;
        } catch (err) {
            if (typeof console !== 'undefined')
                console.log('[Error] cookie.set() message: ' + err.message);
        }
    },
    get: function (name) {
        var value = null;
        try {
            var cookies = document.cookie.split(";");
            for (var i = 0, len = cookies.length; i < len; i++) {
                var c = cookies[i].split("=");
                if (c[0].match(name) != null) {
                    value = c[1];
                }
            }
        } catch (err) {
            if (typeof console !== 'undefined')
                console.log('[Error] cookie.get() message: ' + err.message);
        }
        return { name: name, value: (value != null ? unescape(value) : value) };
    },
    erase: function (name, cntxRelPath) {
        this.set(name, '', 0, cntxRelPath);
    }
};

