﻿var _cdn="auto",_ur="-";
var _cbd=document,_cdl=_cbd.location,_cdlh="";
var __ajaxurl="http://uedas.qidian.com/statajax.aspx?opName=";
var __downspeedUrl="http://uedas.qidian.com/javascript/";
if (_cdl.hash) _cdlh = _cdl.href.substring(_cdlh.href.indexOf('#'));

var rnd=Math.random();
rnd=Math.round(rnd*100);
var iframename="frmchatlog"+rnd;

var speedfrmOnload=function(){};
document.write("<span style='display:none'><iframe style='display:none' width='0' height='0' id='__speedfrm' onload='speedfrmOnload();'></iframe>");
document.write("<img id='"+iframename+"' ></img></span>");

function CmfuTracker()
{
 var dc=_cbd.cookie;
 var clientArr;
 var clientArr2;
 
 if (_cdl.protocol=="file:") return;
 _cdh = _cDomain();
 clientArr = _cBInfo();
 clientArr2 = _cUInfo();

 if (__GetCookie("stat_gid") == null || __GetCookie("stat_gid") == "" || __GetCookie("stat_gid")=="0" || isNaN(__GetCookie("stat_gid")) ) {
 /*log gid,id24,sessid*/
 MyStatAjax.AddGlobalUser(
 clientArr[2], clientArr[0], clientArr[1],
 clientArr[3], _cr, clientArr2[0], clientArr2[1], clientArr2[2],
 clientArr2[3], clientArr2[4], clientArr2[5]);
 
 setTimeout("CmfuPV(__GetCookie(\"stat_gid\"),__GetCookie(\"stat_sessid\"),__GetCookie(\"cmfuToken\"))",1000);
 }
 else if (__GetCookie("stat_id24") == null || __GetCookie("stat_id24") == "" || __GetCookie("stat_id24")=="0") {

 MyStatAjax.AddDailyUser(
 __GetCookie("stat_gid"), clientArr[2], clientArr[0], clientArr[1],
 clientArr[3], _cr, clientArr2[0], clientArr2[1], clientArr2[2],
 clientArr2[3], clientArr2[4], clientArr2[5]);
 setTimeout("CmfuPV(__GetCookie(\"stat_gid\"),__GetCookie(\"stat_sessid\"),__GetCookie(\"cmfuToken\"))",1000);
 }
 else if (__GetCookie("stat_sessid") == null || __GetCookie("stat_sessid") == "" || __GetCookie("stat_sessid")=="0" || isNaN(__GetCookie("stat_sessid"))) {
 MyStatAjax.AddSessionUser();
 setTimeout("CmfuPV(__GetCookie(\"stat_gid\"),__GetCookie(\"stat_sessid\"),__GetCookie(\"cmfuToken\"))",1000);
 }
 else {
 CmfuPV(__GetCookie("stat_gid"),__GetCookie("stat_sessid"),__GetCookie("cmfuToken"));
 }
 
 setTimeout("LogOtherClientInfo()", 1000);
 return 0;
}

/*log ElapsedTime脗隆脗垄UserAccount*/
var curElapsedType;
var curValue;
function LogOtherClientInfo()
{
 var globalId=__GetCookie("stat_gid");
 var hh24id=__GetCookie("stat_id24");
 
 var autucookie = __GetCookie("cmfu_al");
 var loginType = __GetCookie("uraction24");
 var cmfuToken = __GetCookie("cmfuToken");
 
 var arr=new Array();
 
 if (globalId==null|| globalId=="")
 return;
 if (hh24id==null|| hh24id=="")
 return;
 if (loginType!=null && loginType!="")
 loginType="1";
 
 arr=hh24id.split(",");//elapsedTime0;elapsedTime1;elapsedTime10;userAccount

 if (arr.length<=1 && (arr[0]=="0" || arr[0]==""))
 LoadNetSpeed(globalId, 0);
 else if (arr.length>1 && (arr[1]=="0" || arr[1]=="") || arr.length<=1)
 LoadNetSpeed(globalId, 1);
 else if (arr.length>2 && (arr[2]=="0" || arr[2]=="") || arr.length<=2)
 LoadNetSpeed(globalId, 2);
 else if ((arr.length>3 && (arr[3]=="0" || arr[3]=="") || arr.length<=3) && cmfuToken != null && cmfuToken != "")
 MyStatAjax.UpdateDailyLogin(globalId,cmfuToken==null?"":cmfuToken,loginType);
}

function LoadNetSpeed(globalId,elapsedType)
{
 var begin=new Date().getTime();
 var rnd=Math.random();

 var speedObj = document.getElementById('__speedfrm');
 speedObj.src=__downspeedUrl+elapsedType+".txt?t="+rnd;
 speedfrmOnload=function(){LogNetSpeed(globalId,elapsedType,begin);};
}

function LogNetSpeed(globalId,elapsedType,begin)
{
 var speedObj = document.getElementById('__speedfrm');
 var readyState=null;
 
 try{readyState=speedObj.readyState;}catch(e){readyState=null;}
 
 if(readyState=='complete' || !readyState)
 {
 var end=new Date().getTime();
 MyStatAjax.UpdateDailyElapsedTime(globalId, Math.floor(end-begin), elapsedType);
 }
 else
 {
 setTimeout("LogNetSpeed("+globalId+","+elapsedType+","+begin+");",100);
 }
}

/*log cur pv info*/
function CmfuPV(globalId,sessionId,cmfuToken)
{
 if (globalId!=null)
 {
 var clientArr2 = _cUInfo();


 MyStatAjax.LogCmfuPV(
 parseInt(globalId),parseInt(sessionId),_cr, 
 clientArr2[0], clientArr2[1], clientArr2[2], 
 clientArr2[3], clientArr2[4], clientArr2[5],
 cmfuToken==null?"":cmfuToken);
 }
}

function _cUInfo()
{
 var s="",pgnm="",pgqs="";
 _cr=_cbd.referrer;
 var arr = new Array();

 if (_cbd.title && _cbd.title != "") arr[0] = _cES(_cbd.title);
 else arr[0] = "";
 if (_cdl.hostname && _cdl.hostname != "") arr[1] = _cES(_cdl.hostname);
 else arr[1] = "";
 if (_cdl.pathname && _cdl.pathname != "") arr[2] = _cES(_cdl.pathname);
 else arr[2] = "";
 if (_cdl.search && _cdl.search != "") arr[3] = _cES(_cdl.search);
 else arr[3] = "";
 if (_cdl.href && _cdl.href != "") arr[4] = _cES(_cdl.href);
 else arr[4] = "";
 try
 {if (top.location.href && top.location.href != "") arr[5] = _cES(top.location.href);else arr[5] = "";}
 catch(e){arr[5]="";}

 return (arr);
}

/*get brower info*/
function _cBInfo() {
 var sr="-",sc="-",ul="-",fl="-",cs="-";
 var n = navigator;
 var screenWidth, screenHeight, colorDepth;
 var arr = new Array();

 if (self.screen) {
 colorDepth = screen.colorDepth;
 screenWidth = screen.width;
 screenHeight = screen.height;
 } else if (self.java) {
 var j=java.awt.Toolkit.getDefaultToolkit();
 var s=j.getScreenSize();
 screenWidth = s.width;
 screenHeight = s.height;
 colorDepth = 0;
 }

 /* get flash version*/
 fl = _cFlash();

 arr[0] = screenWidth;
 arr[1] = screenHeight;
 arr[2] = colorDepth;
 arr[3] = fl;

 return arr;
}

/* get flash version*/
function _cFlash() {
 var f="-",n=navigator;
 if (n.plugins && n.plugins.length) {
 for (var ii=0;ii<n.plugins.length;ii++) {
 if (n.plugins[ii].name.indexOf('Shockwave Flash')!=-1) {
 f=n.plugins[ii].description.split('Shockwave Flash ')[1];
 break;
 }
 }
 } else {
 var fl;
 try {
 fl = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
 f = fl.GetVariable("$version");
 } catch(e) {}
 if (f == "-") {
 try {
 fl = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
 f = "WIN 6,0,21,0";
 fl.AllowScriptAccess = "always";
 f = fl.GetVariable("$version");
 } catch(e) {}
 }
 if (f == "-") {
 try {
 fl = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
 f = fl.GetVariable("$version");
 } catch(e) {}
 }
 if (f != "-") {
 f = f.split(" ")[1].split(",");
 f = f[0] + "." + f[1] + " r" + f[2];
 }
 }
 return f;
}

/* get hashcode of current domain*/
function _cDomain() {
 if (!_cdn || _cdn=="" || _cdn=="none") { _cdn=""; return 1; }

 /* initialing */
 if (_cdn=="auto") {
 var d=_cbd.domain;
 if (d.substring(0,4)=="www.") {
 d=d.substring(4,d.length);
 }
 _cdn=d;
 }
 _cdn = _cdn.toLowerCase(); 
 return _cHash(_cdn);
}

/* compute the hash code*/
function _cHash(d) {
 if (!d || d=="") return 1;
 var h=0,g=0;
 for (var i=d.length-1;i>=0;i--) {
 var c=parseInt(d.charCodeAt(i));
 h=((h << 6) & 0xfffffff) + c + (c << 14);
 if ((g=h & 0xfe00000)!=0) h=(h ^ (g >> 21));
 }
 return h;
}

/* escape function*/
function _cES(s,u) {
/* if (typeof(encodeURIComponent) == 'function') {
 if (u) return encodeURI(s);
 else return encodeURIComponent(s);
 } else {*/
 return escape(s);
/* }*/
}

function CmfuStatAjax()
{
 this.toQueryString=function(json){
 var query="";
 if(json!=null){ 
 for(var param in json) query+=param+"="+escape(json[param])+"&";
 }
 return query; 
 }

	this.invoke=function(opName,params)
	{
 var query="";
 query+=this.toQueryString(params);
 query=query.substring(0,query.length-1);
 

 var url = __ajaxurl+opName; 
//if (__GetCookie("stat_gid")=="32500275"){alert(url+"&"+query);}
    document.getElementById(iframename).src = url+"&"+query;
	}
}

var MyStatAjax = {
 AddGlobalUser: function(
 clientColorDepth, clientScreenWidth, clientScreenHeight,
 flashVersion, referrer, pageTitle, host, pagePathName, pageQueryString, pageUrl, topPageUrl
 ) {
 new CmfuStatAjax().invoke("AddGlobalUser", {
 "clientColorDepth": clientColorDepth,
 "clientScreenWidth": clientScreenWidth,
 "clientScreenHeight": clientScreenHeight,
 "flashVersion": flashVersion,
 "referrer": referrer,
 "pageTitle": pageTitle,
 "host": host,
 "pagePathName": pagePathName,
 "pageQueryString": pageQueryString,
 "pageUrl": pageUrl,
 "topPageUrl": topPageUrl
 }, arguments[11]);
 },
 AddDailyUser: function(
 globalId, clientColorDepth, clientScreenWidth, clientScreenHeight,
 flashVersion, referrer, pageTitle, host, pagePathName, pageQueryString, pageUrl, topPageUrl
 ) {
 new CmfuStatAjax().invoke("AddDailyUser", {
 "globalId": globalId,
 "clientColorDepth": clientColorDepth,
 "clientScreenWidth": clientScreenWidth,
 "clientScreenHeight": clientScreenHeight,
 "flashVersion": flashVersion,
 "referrer": referrer,
 "pageTitle": pageTitle,
 "host": host,
 "pagePathName": pagePathName,
 "pageQueryString": pageQueryString,
 "pageUrl": pageUrl,
 "topPageUrl": topPageUrl
 });
 },
 AddSessionUser: function() {
 new CmfuStatAjax().invoke("AddSessionUser", {});
 },
 LogCmfuPV: function(globalId,sessionId,referrer, pageTitle, host, pagePathName, pageQueryString, pageUrl, topPageUrl,curToken) {
 new CmfuStatAjax().invoke("LogCmfuPV", {
 "globalId": globalId,
 "sessionId": sessionId,
 "referrer": referrer,
 "pageTitle": pageTitle,
 "host": host,
 "pagePathName": pagePathName,
 "pageQueryString": pageQueryString,
 "pageUrl": pageUrl,
 "topPageUrl": topPageUrl,
 "curToken": curToken
 });
 },
 UpdateDailyElapsedTime: function(globalId, totalTime, elapsedType) {
 curElapsedType = elapsedType;
 curValue = totalTime;
 new CmfuStatAjax().invoke("UpdateDailyElapsedTime", {
 "globalId": globalId,
 "totalTime": totalTime,
 "elapsedType": elapsedType
 });
 },
 UpdateDailyLogin: function(globalId,curToken,loginType){
 curElapsedType = 3;
 new CmfuStatAjax().invoke("UpdateDailyLogin", {
 "globalId": globalId,
 "curToken": curToken,
 "loginType": loginType
 });
 }
}

String.prototype.PadRight = function(totalWidth, paddingChar)
{
 if ( paddingChar != null )
 {
 return this.PadHelper(totalWidth, paddingChar, true);
 }
 else 
 {
 return this.PadHelper(totalWidth, ' ', true);
 }
}

String.prototype.PadHelper = function(totalWidth, paddingChar, isRightPadded)
{
 if ( this.length < totalWidth)
 {
 var paddingString = new String();
 for (i = 1; i <= (totalWidth - this.length); i++)
 {
 paddingString += paddingChar;
 }
 if ( isRightPadded )
 {
 return (this + paddingString);
 } 
 else 
 {
 return (paddingString + this);
 }
 } 
 else 
 {
 return this;
 }
}

function __SetCookie(name, value)
{
 var argv = __SetCookie.arguments;
 var argc = __SetCookie.arguments.length;
 var expires = (argc > 2) ? argv[2].toGMTString() : (new Date()).AddDays(30).toGMTString();
 var path = (argc > 3) ? argv[3] : "/";
 var domain = (argc > 4) ? argv[4] : null;
 var secure = (argc > 5) ? argv[5] : false;

 var content = name + "=" + escape(value) + ";";
 if(expires != null) content += " expires=" + expires + ";";
 if(path != null) content += " path=" + path + ";";
 if(domain != null) content += " domain=" + domain + ";";
 
 document.cookie = content;
}

function __GetCookie(cookieName) 
{
 var cookieString = document.cookie;
 var start = cookieString.indexOf(cookieName + '=');

 if (start == -1) return null;

 start += cookieName.length + 1;
 var end = cookieString.indexOf(';', start);
 if (end == -1) return unescape(cookieString.substring(start));
 return unescape(cookieString.substring(start, end));
}

Date.prototype.AddDays = function(interval) {
 var dateObj = this;
 var millisecond = 1;
 var second = millisecond * 1000;
 var minute = second * 60;
 var hour = minute * 60;
 var day = hour * 24;
 var year = day * 365;

 var newDate;
 var dVal = new Date(dateObj);
 var dVal = dVal.valueOf();

 newDate = new Date(dVal + day * interval);
 newDate = new Date(newDate);
 return newDate;
}

