﻿/// <reference path="dyk-ui-config.js" />
/// <reference path="dyk-ui-global.js" />
/// <reference path="dyk-ui-base.js" />
/// <reference path="../Plugins/json2/json2.js" />



DouYaoKanUI.历史.Cookies = {


    获取方法3: function (_Cookie项名称, _Cookie键名称, _Cookie项的值) {
        /// <summary>获取Cookies的第3个方法，如果不存在 则返回null。</summary>
        /// <param name="_Cookie项名称" type="String">指定一个Cookies项的名称，(不为空或null)</param>
        /// <param name="_Cookie键名称" type="String">指定一个Cookies键的名称，(可为空或null)</param>
        /// <param name="_Cookie项的值" type="String">指定一个Cookies子项的值，(可为空或null)</param>
        /// <returns type="String" />

        var _Cookie临时值 = _Cookie项的值 || document.cookie;
        if (_Cookie临时值.length > 0) {
            var _Cookie起始值,
                _Cookie结束值;

            _Cookie起始值 = _Cookie临时值.indexOf(_Cookie项名称 + "=");

            if (_Cookie起始值 != -1) {
                _Cookie起始值 = _Cookie起始值 + _Cookie项名称.length + 1;
                _Cookie结束值 = _Cookie临时值.indexOf(_Cookie项的值 ? "&" : ";", _Cookie起始值);

                if (_Cookie结束值 == -1) {
                    _Cookie结束值 = _Cookie临时值.length;
                }

                var _Cookie返回值 = _Cookie临时值.substring(_Cookie起始值, _Cookie结束值);

                if (!DouYaoKanUI.基本.字符.isNullOrEmpty(_Cookie键名称)) {

                    return this.获取方法3(_Cookie键名称, null, _Cookie返回值);
                }

                return unescape(_Cookie返回值);
            }
        }
        return null;
    },
    获取方法2: function (_Cookie项名称, _Cookie键名称) {
        /// <summary>获取Cookies的第2个方法，如果不存在 则返回null。</summary>
        /// <param name="_Cookie项名称" type="String">指定一个Cookies项的名称，(不为空或null)</param>
        /// <param name="_Cookie键名称" type="String">指定一个Cookies键的名称，(可为空或null)</param>
        /// <returns type="String" />

        return this.获取方法3(_Cookie项名称, _Cookie键名称, null);
    },
    获取方法1: function (_Cookie项名称) {
        /// <summary>获取Cookies的第1个方法，如果不存在 则返回null。</summary>
        /// <param name="_Cookie项名称" type="String">指定一个Cookies项的名称，(不为空或null)</param>
        /// <returns type="String" />

        return this.获取方法3(_Cookie项名称, null, null);
    },

    设置: function (_Cookie项名称, _Cookie项的值, _Cookie过期值) {

        if (!DouYaoKanUI.基本.类型.isNumber(_Cookie过期值)) {

            _Cookie过期值 = 7;
        }

        var _过期时间 = new Date((new Date).getTime() + _Cookie过期值 * 36E5);

        document.cookie = _Cookie项名称 + "=" + escape(_Cookie项的值) + "; path=/; expires=" + _过期时间.toGMTString();
    },
    删除: function (_Cookie项名称) {
        
        var _过期时间 = new Date((new Date).getTime());

        document.cookie = _Cookie项名称 + "= ; path=/; expires=" + _过期时间.toGMTString();
    }
};
