function getCookie(ckName) { var start = document.cookie.indexOf(ckName+"="); if (-1 == start) { return ""; } start = document.cookie.indexOf("=", start)+1; var end = document.cookie.indexOf(";", start); if (0 >= end) { end = document.cookie.length; } ckValue = document.cookie.substring(start, end); return ckValue; } function setCookie(ckName, ckValue, expires) { if (ckValue != null && ckValue != "") { if (undefined == expires) { document.cookie = ckName + "=" + ckValue + "; domain=sina.com.cn; path=/" ; } else { var now = new Date(); var time = now.getTime(); time = time + 86400000 * expires; now.setTime(time); time = now.getTime(); document.cookie = ckName + "=" + ckValue + "; domain=sina.com.cn; expires="+now.toUTCString()+ "; path=/"; } } } function getMyDateString(myDate) { return myDate.getFullYear()+"-"+(myDate.getMonth()+1)+"-"+myDate.getDate(); } function clickpathinfo(pathinfo) { if (undefined != pathinfo) { this.$content=pathinfo; } else { this.$content=""; } this.$userid=""; if (""!=this.$content) { var pstart = this.$content.indexOf("st="); if (pstart > 0) { this.$content = ""; } pstart = 0; var pend = this.$content.indexOf("|*|"); if (pend>0) { this.$userid=this.$content.substring(pstart, pend); } } if ("" == this.$userid) { this.$userid = getCookie("Apache"); this.$content = this.$userid+"|*|"; } } clickpathinfo.prototype.shrinkContent = function() { var pstart = this.$content.indexOf("|*|"); if (pstart < 0) { return 0; } var pend = 0; var ptmp = this.$content.indexOf("st:", pstart); var tmpContent = ""; var maxinter = 86400000 * 10; while(ptmp>0) { ptmp =ptmp+3; if (this.$content.charAt(ptmp) != '0') { pend = this.$content.indexOf("|*|", ptmp); if (pend < 0) { return 0; } tmpContent = this.$content.substring(0,pstart); tmpContent = tmpContent + this.$content.substring(pend); this.$content = tmpContent; } else { var petst = this.$content.indexOf("et:", pstart+3); if (petst < 0) { return 0; } petst = petst +3; peted = this.$content.indexOf("|", petst); if (peted < 0) { return 0; } var et = this.$content.substring(petst,peted); var now = new Date(); var curt = now.getTime(); var inter = curt - et; if(inter > maxinter) { pend = this.$content.indexOf("|*|", ptmp); if (pend < 0) { return 0; } tmpContent = this.$content.substring(0,pstart); tmpContent = tmpContent + this.$content.substring(pend); this.$content = tmpContent; } else { pstart = this.$content.indexOf("|*|", pstart+3); if (pstart < 0) { return 0; } } } ptmp = this.$content.indexOf("st:", pstart); } return 0; } clickpathinfo.prototype.setShrink = function(ifShrink) { this.$shrink = ifShrink; } clickpathinfo.prototype.getLastSession = function() { var pstart = this.$content.lastIndexOf("sid:"); var pend = 0; if (pstart > 0) { pstart = pstart+4; pend = this.$content.indexOf("|", pstart); return this.$content.substring(pstart, pend); } else { return "";} } clickpathinfo.prototype.getPageIDbyUrl = function(pageUrl) { var pstart = 0; var pend = 0; if ((undefined==pageUrl)||(""==pageUrl)) { return ""; } pstart = pageUrl.indexOf("://"); if (pstart > 0) { pageUrl = pageUrl.substring(pstart+3); } pend = this.$content.lastIndexOf(pageUrl); if (pend > 0) { pstart = this.$content.lastIndexOf("pid:", pend); if (pstart < 0) { return ""; } pstart = pstart+4; pend = this.$content.indexOf("|", pstart); if (pend < 0) { return ""; } return this.$content.substring(pstart, pend); } else { return "";} } clickpathinfo.prototype.inCrseTimebyPageID = function(PageID, stay_time) { if ((undefined==PageID)||(""==PageID)) { return ""; } if ((undefined==stay_time)||(0==stay_time)) { return ""; } var pstart = this.$content.lastIndexOf("pid:"+PageID); var pend = 0; if (pstart > 0) { pstart = this.$content.indexOf("st:", pstart); if (pstart < 0) { return ""; } pstart = pstart+3; pend = this.$content.indexOf("|", pstart); if (pend < 0) { return ""; } var tmpContent = this.$content.substring(0,pstart) + stay_time; tmpContent = tmpContent + this.$content.substring(pend); this.$content = tmpContent; } else { return "";} } clickpathinfo.prototype.saveToCookie = function(expires) { if (undefined == expires) { setCookie("UNIPROPATH", this.$content, 360);} else { setCookie("UNIPROPATH", this.$content, expires); } } clickpathinfo.prototype.newPage = function(newPageID) { var sid = getCookie("Apache"); var now = new Date(); var et = now.getTime(); if (1 == this.$shrink) { this.shrinkContent(); } var pid = "pid:"+newPageID; var currurl = document.URL; var pstart = currurl.indexOf("://"); if (pstart > 0) { currurl = currurl.substring(pstart+3); } var st = "st:0"; var pre_pid = this.getPageIDbyUrl(document.referrer); et = "et:"+et; this.$content = this.$content + sid + "|" + pid + "|"+ currurl + "|"+ st + "|" + et+ "|" + pre_pid + "|*|"; this.saveToCookie(); } function autoInCrseTime(PageId) { var path = getCookie("UNIPROPATH"); var pinfo = new clickpathinfo(path); pinfo.inCrseTimebyPageID(PageId); pinfo.saveToCookie(); setTimeout("autoInCrseTime(currPageId);",10000); } function myOnunload() { var now = new Date(); var out_time = now.getTime(); var stay_time = (out_time - entry_time) /1000; var path = getCookie("UNIPROPATH"); var pinfo = new clickpathinfo(path); pinfo.inCrseTimebyPageID(currPageId,stay_time); pinfo.saveToCookie(); } function pageStat(ctPageId) { if (undefined == ctPageId) { return 0; } var ckCount = getCookie("UNIPROCT"); var newValue = ""; if ("" == ckCount) { newValue = ctPageId +":1" } else { var pStart = ckCount.indexOf(ctPageId+":"); if (pStart >= 0) { pStart = ckCount.indexOf(":",pStart); var pEnd = ckCount.indexOf("|",pStart); if (pEnd<0) { pEnd = ckCount.length; } pStart = pStart+1; var oldCnt = ckCount.substring(pStart,pEnd); var newCnt = (oldCnt-0) + 1; newValue = ckCount.substring(0,pStart)+newCnt; newValue = newValue + ckCount.substring(pEnd); } else { newValue = ckCount+"|"+ctPageId +":1" } } setCookie("UNIPROCT", newValue, 360); } var currPageId; var entry_time; function setBaseCookie(shrink, leve1, leve2, leve3, leve4, leve5) { var ckTmp = new String(); var ckValue = new String(); var ctPageId = new String(); var now = new Date(); ckTmp = getCookie("Apache"); if("" == ckTmp) { ckTmp = now.getTime(); setCookie("Apache",ckTmp); } ckTmp = getCookie("UNIPROINFO"); if (("-1" == ckTmp)||("" == ckTmp)) { ckTmp=screen.width+"x"+screen.height; ckValue="sz:"+ckTmp+"||"; ckTmp=screen.colorDepth; ckValue=ckValue+"dp:"+ckTmp+"||"; ckTmp=navigator.appCodeName; ckValue=ckValue+"ac:"+ckTmp+"||"; ckTmp=navigator.appName; ckValue=ckValue+"an:"+ckTmp+"||"; ckTmp=navigator.appVersion; var pos=0; var tmpValue=""; var len=ckTmp.length; var pos2=0; pos2 = ckTmp.indexOf(";",pos); while(pos2>=0) { tmpValue = tmpValue + ckTmp.substring(pos,pos2)+","; pos=pos2+1; pos2 = ckTmp.indexOf(";",pos) } tmpValue = tmpValue + ckTmp.substring(pos,len); ckValue=ckValue+"av:"+tmpValue+"||"; ckTmp=navigator.cpuClass; ckValue=ckValue+"cpu:"+ckTmp+"||"; ckTmp=navigator.platform; ckValue=ckValue+"pf:"+ckTmp; setCookie("UNIPROINFO", ckValue); } ckValue=""; ctPageId = ""; if (undefined != leve1) { ckValue=leve1; } if (undefined != leve2) { ckValue=ckValue+"-"+leve2; } if (undefined != leve3) { ckValue=ckValue+"-"+leve3; ctPageId = ckValue; } if (undefined != leve4) { ckValue=ckValue+"-"+leve4; } if (undefined != leve5) { ckValue=ckValue+"-"+leve5; } currPageId = ckValue; entry_time = now.getTime(); window.onunload = myOnunload; var oldValue = getCookie("UNIPROPATH"); var cp = new clickpathinfo(oldValue); cp.setShrink(shrink); cp.newPage(ckValue); if ("" != ctPageId) { pageStat(ctPageId); } } function setCltCookie(leve1, leve2, leve3, leve4, leve5) { setBaseCookie(0, leve1, leve2, leve3, leve4, leve5); } function shrinkCookie(leve1, leve2, leve3, leve4, leve5) { setBaseCookie(1, leve1, leve2, leve3, leve4, leve5); }