/*
 *
 * This code is data acquisition code for www.wangyuan.com web traffic analysis platform.
 * www.wangyuan.com 
 */

function lz_encode(str) {
	var e = "", i = 0;

	for (i = 0; i < str.length; i++) {
		if (str.charCodeAt(i) >= 0 && str.charCodeAt(i) <= 255) {
			e = e + escape(str.charAt(i));
		} else {
			e = e + str.charAt(i);
		}
	}

	return e;
}

// 获取屏幕尺寸
function lz_get_screen() {
	var c = "";

	if (self.screen) {
		c = screen.width + "x" + screen.height;
	}

	return c;
}

// 获取显示器类型
function get_screenSize() {
	var sWidth = screen.width; // 屏幕宽
	var sHeight = screen.height; // 屏幕高
	var s = "";
	if (sWidth / 16 == sHeight / 9 || sWidth / 16 == sHeight / 10) {
		s = 'Wide';
	} else if (sWidth / 4 == sHeight / 3) {
		s = 'Normal';
	} else {
		s = 'Dual';
	}
	return s;
}
// 获取设备或缓冲器上的调色板的比特深度
function lz_get_color() {
	var c = "";

	if (self.screen) {
		c = screen.colorDepth + "-bit";
	}

	return c;
}

// 获取浏览器语言
function lz_get_language() {
	var l = "";
	var n = navigator;

	if (n.language) {
		l = n.language.toLowerCase();
	} else if (n.browserLanguage) {
		l = n.browserLanguage.toLowerCase();
	}

	return l;
}
// 返回客户端操作系统
function get_OS() {
	var sUserAgent = window.navigator.userAgent;
	
	var isWin = (window.navigator.platform == "Win32") || (window.navigator.platform == "Windows");
	var isMac = (window.navigator.platform == "Mac68K") || (window.navigator.platform == "MacPPC") || (window.navigator.platform == "Macintosh");
	var isUnix = (window.navigator.platform == "X11") && isWin && isMac;
	var isLinux = (String(navigator.platform).indexOf("Linux") > -1);
	
	if (isUnix) return "Unix";	
	if (isLinux) return "Linux";
	
	if (isMac){
		var isMac68K = sUserAgent.indexOf("Max_68000") > -1 || sUserAgent.indexOf("68K") > -1;
		 	if(isMac68K) return "Mac68K";
		var isMacPPC = sUserAgent.indexOf("Mac_PowerPC") > -1 || sUserAgent.indexOf("PPC") > -1;
		 	if(isMacPPC) return "MacPPC";
		return "Mac";
	}
	if (isWin) {
		var isWin95 = sUserAgent.indexOf("Win95") > -1 || sUserAgent.indexOf("Windows 95") > -1;
		 	if(isWin95) return "Win95";
		var isWin98 = sUserAgent.indexOf("Win98") > -1 || sUserAgent.indexOf("Windows 98") > -1;
		 	if(isWin98) return "Win98";
		var isWinME = sUserAgent.indexOf("Win 9x 4.90") >-1 || sUserAgent.indexOf("Windows ME") > -1;
		 	if(isWinME) return "WinMe";
		var isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") > -1;
		 	if(isWin2K) return "Win2000";
		var isWin2003= sUserAgent.indexOf("Windows NT 5.2") > -1 || sUserAgent.indexOf("Windows 2003") > -1;
		 	if(isWin2003) return "Win2003";
		var isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows XP") > -1;
		 	if(isWinXP) return "WinXP";
		var isWinVista = sUserAgent.indexOf("Windows NT 6.0") > -1	|| sUserAgent.indexOf("Windows Vista") > -1;
		 	if(isWinVista) return "WinVista";
		var isWin7 = sUserAgent.indexOf("Windows NT 6.1") > -1 || sUserAgent.indexOf("Windows 7") > -1;
		 	if(isWin7) return "Win7";
		var isWinNT4 = sUserAgent.indexOf("WinNT") > -1 || sUserAgent.indexOf("WindowsNT") > -1 || sUserAgent.indexOf("WinNT4.0") > -1 || sUserAgent.indexOf("Windows NT 4.0") && (!isWinME && !isWin2K && !isWinXP && !isWin2003 && !isWinVista && !isWin7);
		 	if(isWinNT4) return "WinNT";

	}
	return "None";
}

// 返回浏览器版本
function lz_get_browser_version() {
	var ua = "";
	var n = navigator;

	if (n.userAgent) {
		ua = n.userAgent.toLowerCase();
	}
	var Sys = {};
	var s;
	(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : (s = ua
			.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : (s = ua
			.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : (s = ua
			.match(/camino\/([\d.]+)/)) ? Sys.camino = s[1] : (s = ua
			.match(/gecko\/([\d.]+)/)) ? Sys.gecko = s[1] : (s = ua
			.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : (s = ua
			.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;

	// 以下进行测试
	if (Sys.ie)
		return 'IE: ' + Sys.ie;
	if (Sys.firefox)
		return 'Firefox: ' + Sys.firefox;
	if (Sys.chrome)
		return 'Chrome: ' + Sys.chrome;
	if (Sys.opera)
		return 'Opera: ' + Sys.opera;
	if (Sys.camino)
		return 'Camino: ' + Sys.camino;
	if (Sys.gecko)
		return 'Gecko: ' + Sys.gecko;
	if (Sys.safari)
		return 'Safari: ' + Sys.safari;
	return "None";
}

// 返回JVM是否开启
function lz_get_jvm_enabled() {
	var j = "";
	var n = navigator;

	j = n.javaEnabled() ? 1 : 0;

	return j;
}
// 返回浏览器是否启用了Cookie
function lz_get_cookie_enabled() {
	var c = "";
	var n = navigator;
	c = n.cookieEnabled ? 1 : 0;

	return c;
}
// 获取flash版本
function lz_get_flash_ver() {
	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 if (window.ActiveXObject) {
		for ( var ii = 10; ii >= 2; ii--) {
			try {
				var fl = eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."
						+ ii + "');");
				if (fl) {
					f = ii + '.0';
					break;
				}
			} catch (e) {
			}
		}
	}
	return f;
}

// 返回浏览器的名称
function lz_get_app() {
	var a = "";
	var n = navigator;

	if (n.appName) {
		a = n.appName;
	}
	return a;
}

function lz_c_ctry_top_domain(str) {
	var pattern = "/^aero$|^cat$|^coop$|^int$|^museum$|^pro$|^travel$|^xxx$|^com$|^net$|^gov$|^org$|^mil$|^edu$|^biz$|^info$|^name$|^ac$|^mil$|^co$|^ed$|^gv$|^nt$|^bj$|^hz$|^sh$|^tj$|^cq$|^he$|^nm$|^ln$|^jl$|^hl$|^js$|^zj$|^ah$|^hb$|^hn$|^gd$|^gx$|^hi$|^sc$|^gz$|^yn$|^xz$|^sn$|^gs$|^qh$|^nx$|^xj$|^tw$|^hk$|^mo$|^fj$|^ha$|^jx$|^sd$|^sx$/i";

	if (str.match(pattern)) {
		return 1;
	}

	return 0;
}

function lz_c_ctry_domain(str) {
	var pattern = "/^ac$|^ad$|^ae$|^af$|^ag$|^ai$|^al$|^am$|^an$|^ao$|^aq$|^ar$|^as$|^at$|^au$|^aw$|^az$|^ba$|^bb$|^bd$|^be$|^bf$|^bg$|^bh$|^bi$|^bj$|^bm$|^bo$|^br$|^bs$|^bt$|^bv$|^bw$|^by$|^bz$|^ca$|^cc$|^cd$|^cf$|^cg$|^ch$|^ci$|^ck$|^cl$|^cm$|^cn$|^co$|^cr$|^cs$|^cu$|^cv$|^cx$|^cy$|^cz$|^de$|^dj$|^dk$|^dm$|^do$|^dz$|^ec$|^ee$|^eg$|^eh$|^er$|^es$|^et$|^eu$|^fi$|^fj$|^fk$|^fm$|^fo$|^fr$|^ly$|^hk$|^hm$|^hn$|^hr$|^ht$|^hu$|^id$|^ie$|^il$|^im$|^in$|^io$|^ir$|^is$|^it$|^je$|^jm$|^jo$|^jp$|^ke$|^kg$|^kh$|^ki$|^km$|^kn$|^kp$|^kr$|^kw$|^ky$|^kz$|^la$|^lb$|^lc$|^li$|^lk$|^lr$|^ls$|^lt$|^lu$|^lv$|^ly$|^ga$|^gb$|^gd$|^ge$|^gf$|^gg$|^gh$|^gi$|^gl$|^gm$|^gn$|^gp$|^gq$|^gr$|^gs$|^gt$|^gu$|^gw$|^gy$|^ma$|^mc$|^md$|^mg$|^mh$|^mk$|^ml$|^mm$|^mn$|^mo$|^mp$|^mq$|^mr$|^ms$|^mt$|^mu$|^mv$|^mw$|^mx$|^my$|^mz$|^na$|^nc$|^ne$|^nf$|^ng$|^ni$|^nl$|^no$|^np$|^nr$|^nu$|^nz$|^om$|^re$|^ro$|^ru$|^rw$|^pa$|^pe$|^pf$|^pg$|^ph$|^pk$|^pl$|^pm$|^pr$|^ps$|^pt$|^pw$|^py$|^qa$|^wf$|^ws$|^sa$|^sb$|^sc$|^sd$|^se$|^sg$|^sh$|^si$|^sj$|^sk$|^sl$|^sm$|^sn$|^so$|^sr$|^st$|^su$|^sv$|^sy$|^sz$|^tc$|^td$|^tf$|^th$|^tg$|^tj$|^tk$|^tm$|^tn$|^to$|^tp$|^tr$|^tt$|^tv$|^tw$|^tz$|^ua$|^ug$|^uk$|^um$|^us$|^uy$|^uz$|^va$|^vc$|^ve$|^vg$|^vi$|^vn$|^vu$|^ye$|^yt$|^yu$|^za$|^zm$|^zr$|^zw$/i";

	if (str.match(pattern)) {
		return 1;
	}

	return 0;
}
// 获取访问来源
function getReferrer() {
	var referrer = '';
	try {
		referrer = top.document.referrer;
	} catch (e) {
		if (parent) {
			try {
				referrer = parent.document.referrer;
			} catch (e2) {
				referrer = '';
			}
		}
	}
	if (referrer === '') {
		referrer = document.referrer;
	}

	return referrer;
}
// 获取域名如：www.baidu.com－>baidu.com
function lz_get_domain(host) {
	var d = host.replace(/^www\./, "");
	return d;
	var ss = d.split(".");
	var l = ss.length;

	if (l == 3) {
		if (lz_c_ctry_top_domain(ss[1]) && lz_c_ctry_domain(ss[2])) {
		} else {
			d = ss[1] + "." + ss[2];
		}
	} else if (l >= 3) {

		var ip_pat = "^[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*$";

		if (host.match(ip_pat)) {
			return d;
		}

		if (lz_c_ctry_top_domain(ss[l - 2]) && lz_c_ctry_domain(ss[l - 1])) {
			d = ss[l - 3] + "." + ss[l - 2] + "." + ss[l - 1];
		} else {
			d = ss[l - 2] + "." + ss[l - 1];
		}
	}

	return d;
}

// 获取cookie
function lz_get_cookie(name) {
	var mn = name + "=";
	var b, e;
	var co = document.cookie;

	if (mn == "=") {
		return co;
	}

	b = co.indexOf(mn);

	if (b < 0) {
		return "";
	}

	e = co.indexOf(";", b + name.length);

	if (e < 0) {
		return co.substring(b + name.length + 1);
	} else {
		return co.substring(b + name.length + 1, e);
	}
}

// 设置cookide
function lz_set_cookie(name, val, cotp) {
	var date = new Date;
	var year = date.getFullYear();
	var hour = date.getHours();

	var cookie = "";

	if (cotp == 0) {
		cookie = name + "=" + val + ";";
	} else if (cotp == 1) {
		year = year + 10;
		date.setYear(year);
		cookie = name + "=" + val + ";expires=" + date.toGMTString() + ";";
	} else if (cotp == 2) {
		hour = hour + 1;
		date.setHours(hour);
		cookie = name + "=" + val + ";expires=" + date.toGMTString() + ";";
	}

	var d = lz_get_domain(document.domain);
	// if (d != "") {
	// cookie += "domain=" + d + ";";
	// }
	cookie += "path=" + "/;";
	document.cookie = cookie;
}
// 通过"."拆分字符串并反转
function str_reverse(str) {
	var ln = str.length;
	var i = 0;
	var temp = "";
	for (i = ln - 1; i > -1; i--) {
		if (str.charAt(i) == ".")
			temp += "#";
		else
			temp += str.charAt(i);
	}

	return temp;
}
// 通过"]"分割，获取最后"]"分割的字符串
function lz_get_ss_id(str) {
	len = str.indexOf("]");
	str = str.substring(len + 1);
	len = str.indexOf("]");
	str = str.substring(len + 1);
	return str;
}
// 通过"]"分割，获取第一个"]"分割的字符串
function lz_get_ss_url(str) {
	len = str.indexOf("]");
	str = str.substring(0, len);
	return str;
}
// 获取客户端IP地址
function getLocalIPAddress() {
	var obj = null;
	var rslt = "";
	try {
		obj = new ActiveXObject("rcbdyctl.Setting");
		rslt = obj.GetIPAddress;
		obj = null;
	} catch (e) {
		// 异常发生
	}

	return rslt;
}
// 获取时间
function lz_get_stm() {
	var clock = new Date();
	var st = String(clock.getTime());
	st = st.substring(0, 10);
	return st;
}
/**
 * function lz_get_stm() { var date = new Date(); var yy=date.getFullYear(); var
 * mm=date.getMonth(); var dd=date.getDate(); var hh=date.getHours(); var
 * ii=date.getMinutes(); var ss=date.getSeconds(); var i; var tm=0; for(i =
 * 1970; i < yy; i++) { if ((i % 4 == 0 && i % 100 != 0) || (i % 100 == 0 && i %
 * 400 == 0)) { tm=tm+31622400; } else { tm=tm+31536000; } } mm=mm+1;
 * 
 * for(i = 1; i < mm; i++) { if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 ||
 * i == 10 || i == 12) { tm=tm+2678400; } else { if (i == 2) { if ((yy % 4 == 0 &&
 * yy % 100 != 0) || (yy % 100 == 0 && yy % 400 == 0)) { tm=tm+2505600; } else {
 * tm=tm+2419200; } } else { tm=tm+2592000; } } }
 * 
 * tm = tm + (dd-1) * 86400; tm = tm + hh * 3600; tm = tm + ii * 60; tm = tm +
 * ss; return tm; }
 */
function lz_get_ctm(str) {
	len = str.indexOf("]");
	str = str.substring(len + 1);
	len = str.indexOf("]");
	str = str.substring(0, len);
	return parseInt(str, 10);
}
function createAjax() {
	var req;
	if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		req = new XMLHttpRequest();
	}
	return req;
}
function lz_main() {
	var expire_time = 1800;
	var i;

	var host = document.location.host;
	var domain = lz_get_domain(host.toLocaleLowerCase());
	var hashval = 0;
	for (i = 0; i < domain.length; i++) {
		hashval += domain.charCodeAt(i);
	}

	var uv_id = lz_get_cookie("lstat_bc_" + domain);
	var uv_new = 0;
	if (uv_id == "") {
		uv_new = 1;

		var rand1 = parseInt(Math.random() * 4000000000);
		var rand2 = parseInt(Math.random() * 4000000000);
		uv_id = String(rand1) + String(rand2);

		lz_set_cookie("lstat_bc_" + domain, uv_id, 1);
	}

	var url = document.location.href;
	url = lz_encode(String(url));

	var ss_cookie = lz_get_cookie("lstat_ss_" + domain);
	var ss_id = ""; // url随机数
	var ss_nid = ""; // 新url随机数
	var ss_url = "";
	var now = new Date();
	var entry_time = now.getTime();// 页面进入时间
	var total_time;// 页面停留时间
	if (ss_cookie == "") {
		var rand = parseInt(Math.random() * 4000000000);
		ss_cookie = url + ":" + entry_time + "]" + lz_get_stm() + "]"
				+ String(rand);
		lz_set_cookie("lstat_ss_" + domain, ss_cookie, 0);
		ss_nid = lz_get_ss_id(ss_cookie);
	} else {
		var arr = new Array();
		arr = lz_get_ss_url(ss_cookie).split(':');
		if (lz_get_stm() - lz_get_ctm(ss_cookie) > expire_time) {
			var rand = parseInt(Math.random() * 4000000000);
			ss_cookie = url + ":" + entry_time + "]" + lz_get_stm() + "]"
					+ String(rand);
			ss_nid = lz_get_ss_id(ss_cookie);
		} else {
			ss_url = arr[0];
			ss_id = lz_get_ss_id(ss_cookie);
			total_time = lz_get_stm() - lz_get_ctm(ss_cookie);
			entry_time = arr[1];
			if (ss_url === url) {
				return;
			} else {
				var rand = parseInt(Math.random() * 4000000000);
				ss_cookie = url + ":" + now.getTime() + "]" + lz_get_stm()
						+ "]" + String(rand);
				ss_nid = lz_get_ss_id(ss_cookie);
			}
		}
		lz_set_cookie("lstat_ss_" + domain, ss_cookie, 0);
	}

	var ref = getReferrer();
	ref = lz_encode(String(ref));

	var screen = lz_get_screen();
	screen = lz_encode(String(screen));
	/**
	 * var language = lz_get_language(); language = lz_encode(String(language));
	 * 
	 * 
	 * var jvm_enabled =lz_get_jvm_enabled(); jvm_enabled
	 * =lz_encode(String(jvm_enabled));
	 * 
	 * var cookie_enabled =lz_get_cookie_enabled(); cookie_enabled
	 * =lz_encode(String(cookie_enabled));
	 * 
	 * var flash_ver = lz_get_flash_ver(); flash_ver =
	 * lz_encode(String(flash_ver));
	 */
	var app = lz_get_app();
	app = lz_encode(String(app));

	var ssize = get_screenSize();
	ssize = lz_encode(String(ssize));

	var browser_version = lz_get_browser_version();
	browser_version = lz_encode(String(browser_version));

	var os = get_OS();
	os = lz_encode(String(os));

	var filtered = 0;
	var domain_filters = new Array();
	// var ip_filters = new Array();

	domain_filters[0] = "moc#hmyalp";
	domain_filters[1] = "moc#nauygnaw";

	var escape_domain = str_reverse(domain);
	for (i in domain_filters) {
		if (domain_filters[i] == escape_domain)
			filtered = 1;
	}

	// for (i in ip_filters) {
	// if (ip_filters[i] == client_ip) {
	// filtered = 1;
	// break;
	// }
	// }
	var cgi = "http://pv.ccnec.com/pv/main.cgi";
	var dest = cgi + "?ss_nid=" + ss_nid + "&uv_id=" + uv_id + "&uv_new="
			+ uv_new + "&total_time=" + total_time + "&ss_id=" + ss_id
			+ "&ref=" + ref + "&url=" + url + "&domain=" + domain + "&hashval="
			+ hashval + "&filtered=" + filtered + "&app=" + app
			+ "&browser_version=" + browser_version + "&os=" + os + "&screen="
			+ screen + "&ssize=" + ssize;
	document.write("<img src=\"" + dest
			+ "\" border=\"0\" width=\"0\" height=\"0\" >");
	/**
	 * var req = createAjax(); req.open('POST',
	 * 'http://www.prealpha.platform.ccnec.com/pv/main.cgi', true);
	 * req.setRequestHeader("Content-Type",
	 * "application/x-www-form-urlencoded;"); req.send('r=' + Math.random() +
	 * dest);
	 */
}
lz_main();
