<!--
// 每个cookies 4096 字节长（包括 name、=、；等）；至多可保存20对，超过自动清前面的；同名覆盖；不能完全删除

var cookiesByteLimit = 4096;
var cookiesLimit = 20;                // >0：则超过不保存；否则自动清前面的
var cookieSeparator = "; ";           // cookie的分隔符

function setCookie(name, value, expiresMicroSecond, path, domain, secure) {                         // 设置 cookie

      var expireDate = new Date();
      var ss = "";
      expireDate.setTime(expireDate.getTime() + ((expiresMicroSecond)?expiresMicroSecond:0));
      ss = name + "=" + value +                                                 // 名/值对
//      ss = name + "=" + urlEncoding(value) +
                          ";expires=" + expireDate.toGMTString() +                            // 保留微秒数
                          ((path)?(";path=" + path):"") +                                     // 路径
                          ((domain)?(";domain=" + domain):"") +                               // 站点名
                          ((secure)?(";secure"):"");                                          // 安全性参数
      if ((cookiesLimit > 0)&&(cookieCount(name) >= cookiesLimit)) {
            alert("cookies 个数超过 " + cookiesLimit + " 个了，不保存。");
            return false;
      }
      else {if (cookieSum(name)+name.length+value.length+2 < cookiesByteLimit) {
                  document.cookie = ss;
                  return true;
            }
            else {alert("cookies 长度大于 " + cookiesByteLimit + " 了，不保存。");
                  return false;
            }
      }
}

function cookieCount(name) {                      // 统计（除 name 之外的所有）cookie 个数

      if (name == null) {name = "";}
      var myCookies = document.cookie.split(cookieSeparator);
      var ll = 0;
      for (var i = 0; i < myCookies.length; i++) {
            if (myCookies[i].substring(0, (name.length+1)) != name+"=") {ll++;}
      }
      return ll;
}

function cookieSum(name) {                      // 统计（除 name 之外的所有）cookie 名/值对 总长度

      if (name == null) {name = "";}
      var myCookies = document.cookie.split(cookieSeparator);
      var ll = 0, j = 0;
      for (var i = 0; i < myCookies.length; i++) {
            if (myCookies[i].substring(0, (name.length+1)) != name+"=") {
                  j = myCookies[i].indexOf(";");
                  if (j < 0) {j = myCookies[i].length;}
                  ll += j;
            }
      }
      return ll;
}

function cookieExist(name) {                      // 名为 name 的 cookie 存在

      var myCookies = document.cookie.split(cookieSeparator);
      for (var i = 0; i < myCookies.length; i++) {
            if (myCookies[i].substring(0, (name.length+1)) == name+"=") {return true;}
      }
      return false;
}

function getCookieValue(name) {                      // 按名取具体cookie值

      var myCookies = document.cookie.split(cookieSeparator);
      var returnString = "";
      for (var i = 0; i < myCookies.length; i++) {
            if (myCookies[i].substring(0, (name.length+1)) == name+"=") {
                  var j = myCookies[i].indexOf(";");
                  if (j < 0) {j = myCookies[i].length;}
                  returnString = myCookies[i].substring((name.length+1), j);
                  break;
            }
      }
      return returnString;
}

function getCookieValue2(n) {                      // 按号取具体cookie值

      var myCookies = document.cookie.split(cookieSeparator);
      var returnString = "";
      if (n <= myCookies.length) {
            var i1 = myCookies[n-1].indexOf("=") + 1;
            var i2 = myCookies[n-1].indexOf(";", i1);
            if (i2 < 0) {i2 = myCookies[n-1].length;}
            returnString = myCookies[n-1].substring(i1, i2);
      }
      return returnString;
}

function getCookieName(n) {                      // 按号取cookie名

      var myCookies = document.cookie.split(cookieSeparator);
      var returnString = "";
      if (n <= myCookies.length) {
            var i = myCookies[n-1].indexOf("=");
            if (i > 0) {returnString = myCookies[n-1].substring(0, i);}
      }
      return returnString;
}

function deleteCookie(name, path) {                          // 删除名为 name 的 cookie

      if (cookieExist(name)) {setCookie(name, "", 1, path);}
}

function deleteCookie2(n) {                          // 删除第 n 个 cookie

      var myCookieName = getCookieName(n);
      if (myCookieName != "") {setCookie(myCookieName, "", 1);}
}

//-->