﻿K2046.Request = {
    Cookie: {
        Get: function (name) {
            var start = document.cookie.indexOf(name + "=");
            var len = start + name.length + 1;
            if ((!start) && (name != document.cookie.substring(0, name.length))) {
                return null;
            } if (start == -1)
                return null;
            var end = document.cookie.indexOf(';', len);
            if (end == -1) end = document.cookie.length;
            return unescape(document.cookie.substring(len, end));
        }

        , Set: function (name, value, expires, path, domain, secure) {
            var today = new Date();
            today.setTime(today.getTime());
            if (expires) {
                expires = expires * 1000 * 60 * 60 * 24;
            }
            var expires_date = new Date(today.getTime() + (expires));
            document.cookie = name + '=' + escape(value) + ((expires) ? ';expires=' + expires_date.toGMTString() : '') + ((path) ? ';path=' + path : '') + ((domain) ? ';domain=' + domain : '') + ((secure) ? ';secure' : '');
        }

        , Kill: function (name, path, domain) {
            if (this.Get(name)) {
                document.cookie = name + '=' + ((path) ? ';path=' + path : '') + ((domain) ? ';domain=' + domain : '') + ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
            }
        }
    }

    , Query: {
        Get: function (name) {
            if (!this.Params) {
                this.Params = {};
                this.Init();
            }
            var result = this.Params[name.toLowerCase()];
            if (result == undefined) {
                result = null;
            }
            return result;
        }

        , Init: function () {
            var result = this.Params;
            var loc = document.location.toString();
            if (loc.indexOf("?") > -1) {
                var l = loc.lastIndexOf("#") > -1 ? loc.lastIndexOf("#") : loc.length;
                var param_str = loc.substring(loc.indexOf("?") + 1, l);
                var params = param_str.split("&");
                for (var x = 0; x < params.length; x++) {
                    params[x] = params[x].split("=");
                    result[params[x][0].toLowerCase()] = params[x][1];
                }
            }
        }
    }
};
