| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
-
-
- var g_iMaxAllowableCookieSize = 3275;
- var g_cc_state = "cc_state";
-
- function setCookie(name, value, expires, path, domain, secure) {
-
-
-
-
-
- if (!path) {
- path = getPath();
- }
- if (!domain) {
- domain = getDomain();
- }
- if (!secure) {
- secure = getSecure();
- }
-
- document.cookie = name + "=" + value +
- ((expires) ? "; expires=" + expires.toGMTString() : "") +
- ((path) ? "; path=" + path : "") +
- ((domain) ? "; domain=" + domain : "") +
- ((secure) ? "; secure" : "");
- }
- function delCookie(name, path, domain) {
- if (path == null) {
- path = getPath();
- }
-
- if (!domain) {
- domain = getDomain();
- }
-
- var expires = new Date();
-
- if (getCookie(name)) {
- document.cookie = name + "=" +
- ("; expires=" + expires.toGMTString()) +
- ((path) ? "; path=" + path : "") +
- ((domain) ? "; domain=" + domain : "");
- }
- }
- function getCookie(name) {
- var arg = name + "=";
- var alen = arg.length;
- var clen = document.cookie.length;
- var i = 0;
- while (i < clen) {
- var j = i + alen;
- if (document.cookie.substring(i, j) == arg) {
- return getCookieVal(j);
- }
- i = document.cookie.indexOf(" ", i) + 1;
- if (i == 0) {
- break;
- }
- }
- return null;
- }
- function getCookieVal(offset) {
- var endstr = document.cookie.indexOf(";", offset);
- if (endstr == -1) {
- endstr = document.cookie.length;
- }
- return document.cookie.substring(offset, endstr);
- }
- function setExpireDate(nOffset) {
- if (!nOffset) {
- nOffset = 0;
- }
- var expdate = new Date();
- expdate.setTime(expdate.getTime() + nOffset);
- return expdate;
- }
- function getPath() {
- if (typeof sCookiePath != 'undefined' && sCookiePath != "") {
- return sCookiePath;
- } else {
- return location.pathname.substring(0, location.pathname.lastIndexOf("/"));
- }
- }
- function getDomain() {
- if (typeof sCookieDomain != 'undefined') {
- return sCookieDomain;
- }
- return null;
- }
- function getSecure() {
- if ((typeof sCookieSecure != 'undefined') && (sCookieSecure === 'true')) {
- return true;
- }
- return null;
- }
- function getSessionString() {
- var sSession = getCookie(g_cc_state);
- if (sSession != null) {
- var indexOfFirstQuote = sSession.indexOf('"');
- if (indexOfFirstQuote == 0) {
- var newSession = sSession.substring(1, sSession.length - 1);
- sSession = newSession;
- }
- }
- return sSession;
- }
- function setStateValue(sName, sValue) {
- var sSession = getSessionString();
-
- if (!(sName == "" || sName == null)) {
- var sNewSession = "";
- if (sSession == "" || sSession == "null" || sSession == null) {
- sNewSession = sName + sNameValueDelimiter + sValue;
- } else {
- var aSession = [];
- var bParameterExists = false;
-
- aSession = sSession.split(sParamDelimiter);
-
- var n = aSession.length;
-
- for (var i = 0; i < n; i++) {
- if (aSession[i].indexOf(sName) == 0) {
- aSession[i] = sName + sNameValueDelimiter + sValue;
- bParameterExists = true;
- break;
- }
- }
-
- if (!bParameterExists) {
- sNewSession = sSession + sParamDelimiter + sName + sNameValueDelimiter + sValue;
- } else {
-
- sNewSession = aSession.join(sParamDelimiter);
- }
- }
-
-
- setCookie(g_cc_state, "\"" + sNewSession + "\"", 0, getPath());
- }
- return;
- }
- function clearSessionEntry(sNames) {
- var sSession = getSessionString();
- if (sSession != "" && sSession != "null" && sSession != null) {
- var newSession = sSession;
- var aName = [];
-
-
- aName = sNames.split(sParamDelimiter);
- var n = aName.length;
- for (var i = 0; i < n; i++) {
- var sName = aName[i];
-
- var iStart = newSession.indexOf(sName);
- if (iStart != -1) {
- var frontEnd = null;
- var backEnd = null;
-
- var iEnd = iStart + sName.length + sNameValueDelimiter.length;
-
- if (--iStart > 0) {
- frontEnd = newSession.substring(0, iStart);
- }
- if (iEnd < newSession.length) {
-
- backEnd = newSession.substring(iEnd);
- iEnd = backEnd.indexOf(sParamDelimiter);
- if (iEnd != -1) {
- backEnd = backEnd.substring(++iEnd);
- } else {
- backEnd = null;
- }
- }
-
- if (backEnd != null && frontEnd != null) {
- newSession = frontEnd + sParamDelimiter + backEnd;
- } else {
- if (backEnd == null) {
- newSession = frontEnd;
- } else {
- if (frontEnd == null) {
- newSession = backEnd;
- }
- }
- }
- }
- }
-
- setCookie(g_cc_state, "\"" + newSession + "\"", 0, getPath());
- }
- }
- function getSessionValue(sName) {
-
- var sSession = getSessionString();
- var sRetValue = null;
-
- if (sSession != "" && sSession != "null" && sSession != null) {
- var aSession = [];
- aSession = sSession.split(sParamDelimiter);
-
- var n = aSession.length;
-
- for (var i = 0; i < n; i++) {
- if (aSession[i].indexOf(sName) == 0) {
- sRetValue = aSession[i].substring(aSession[i].indexOf(sNameValueDelimiter) + sNameValueDelimiter.length, aSession[i].length);
- break;
- }
- }
- }
- return sRetValue;
- }
- function resetStateParam(sName) {
-
- var sCurrentValue = getSessionValue(sName);
- if (sCurrentValue) {
- setStateValue(sName, "");
- }
- }
- function updateSession() {
-
- var currentValue = parseInt(getSessionValue("us"), 10);
- var newValue = isNaN(currentValue) ? 0 : (currentValue + 1);
- setStateValue("us", newValue);
- }
|