var urlMap=[
//source path, mapped domain name, need to keep path
	[/^http:\/\/imgcache\.qq\.com\/qzone\/newblog\//ig,"blog.qzone.qq.com"],
	[/^http:\/\/imgcache\.qq\.com\/qzone\/blog\/blog.*/ig,"blog.qzone.qq.com"],
	[/^http:\/\/imgcache\.qq\.com\/qzone\/blog\/blog_mood\.html/ig,"blog.qzone.qq.com"],
	[/^http:\/\/imgcache\.qq\.com\/qzone\/blog\/tmygb_static\.htm/ig,"msg.qzone.qq.com"],
	[/^http:\/\/imgcache\.qq\.com\/qzone\/toolbar\/toolbar\.htm/ig,"toolbar.qzone.qq.com"],
	[/^http:\/\/imgcache\.qq\.com\/qzone\/web\/load\.htm/ig,"none.qzone.qq.com"],
	[/^http:\/\/imgcache\.qq\.com\/qzone\/admin\/user_.*/ig,"uinfo.qzone.qq.com"],
	[/^http:\/\/imgcache\.qq\.com\/qzone\/admin\/message_.*/ig,"littleMsg.qzone.qq.com"],
	[/^http:\/\/imgcache\.qq\.com\/qzone\/admin\/msg_.*/ig,"littleMsg.qzone.qq.com"],
	[/^http:\/\/imgcache\.qq\.com\/qzone\/interact\/intera_.*/ig,"interact.qzone.qq.com"],
	[/^http:\/\/imgcache\.qq\.com\/qzone\/friends\/friend_.*/ig,"interact.qzone.qq.com",true],
	[/^http:\/\/imgcache\.qq\.com\/qzone\/club/ig,"club.qzone.qq.com"],
	[/^http:\/\/imgcache\.qq\.com\/qzone\/mall/ig,"mall.qzone.qq.com",true],// keep path
	[/^http:\/\/imgcache\.qq\.com\/qzone/ig,"imgcache.qzone.qq.com"],
	[/^http:\/\/qzone-music\.qq\.com/ig,"music.qzone.qq.com"],
	[/^http:\/\/imgcache\.qq\.com\/music\/musicbox_v2_1\//ig,"music.qzone.qq.com"],
	[/^http:\/\/photo\.qq\.com\/qzone_v4\/(interact_)?marked_list\.htm/ig,"photo.qzone.qq.com",true],
	[/^http:\/\/(qz-)?photo\.qq\.com\/qzone_v4/ig,"photo.qzone.qq.com"],
	[/^http:\/\/(qz-)?photo\.qq\.com/ig,"photo.qq.com",true],
	[/^http:\/\/mall\.qzone\.qq\.com/ig,"mall.qzone.qq.com",true],// keep path
	[/^http:\/\/\d+\.qzone\.qq\.com/ig,"myweb.qzone.qq.com"],
	[/^http:\/\/qzone\.soso\.com/ig,"qzone.soso.com",true],// keep path
	[/^http:\/\/user\d+\.qzone\.qq\.com\/cgi\-bin\/prop/ig,"mall.qzone.qq.com"],
	[/^http:\/\/user\d+\.qzone\.qq\.com\/cgi\-bin\/user/ig,"usertools.qzone.qq.com"],
	[/^http:\/\/user\d+\.qzone\.qq\.com\/(client|web)/ig,"usertools.qzone.qq.com"],
	[/^http:\/\/user\.qzone\.qq\.com/ig,"myweb.qzone.qq.com"],
	[/^http:\/\/users\.qzone\.qq\.com/ig,"users.qzone.qq.com"],
	[/^http:\/\/city\.qzone\.qq\.com\/([\S]*)\.php\?([\S]*)mod=([^\&\s\/\=]*)(\&act=([^\&\s\/\=]*))?/i,"city.qzone.qq.com"],
	[/^http:\/\/city\.qzone\.qq\.com\/([\S]*)\?([\S]*)PSN=([^\&\s\/\=]*)?/i,"city.qzone.qq.com"],
	[/^http:\/\/php\.qzone\.qq\.com/i,"php.qzone.qq.com"],
	[/^http:\/\/cityuser\.qzone\.qq\.com\/([\S]*)\.php\?([\S]*)mod=([^\&\s\/\=]*)(\&act=([^\&\s\/\=]*))?/i,"city.qzone.qq.com"]
];

function pingQQ(){
 if(typeof(pgvMain)=="function"){
		if(top.isBiz){
			pvCurDomain = "biz.qzone.qq.com";
			pvCurUrl = "/"+top.g_iUin+"/";
		}else if(top.getBitMapFlag && top.getBitMapFlag(7)){
			pvCurDomain = "star.qzone.qq.com";
			pvCurUrl = "/"+top.g_iUin+"/";
		}else{
			//domain name mapping
			for(var i=0;i<urlMap.length;i++)
				if(urlMap[i][0].test(location.href)){
					pvCurDomain=urlMap[i][1];
					pvCurUrl=urlMap[i][2]?location.pathname:"/";//keep path if necessary
					if(pvCurDomain=="myweb.qzone.qq.com"){
						if(/jump=4/.test(document.cookie)){
							pvCurDomain="my.qzone.qq.com";
							pvCurUrl="/web";// web visit
						}else if(/jump=3/.test(document.cookie)){
							pvCurDomain="my.qzone.qq.com";
							pvCurUrl="/new_client";// from new qzone client
						}else if(/jump=2/.test(document.cookie)){
							pvCurDomain="my.qzone.qq.com";
							pvCurUrl="/old_client";// from old qzone client
						}else if (/jump=1/.test(document.cookie) && /zzpanelkey=/.test(document.cookie)){
							pvCurDomain="myclient.qzone.qq.com";
							pvCurUrl="/new_client";// from new qzone client
							document.cookie = "jump=3; path=/; domain=qq.com";
						}else if(/clientver=/.test(document.cookie)){
							pvCurDomain="myclient.qzone.qq.com";
							pvCurUrl="/old_client";// from old qzone client
							document.cookie = "jump=2; path=/; domain=qq.com";
						}else{// web visit
							document.cookie = "jump=4; path=/; domain=qq.com";
						}
					}else if(pvCurDomain=="php.qzone.qq.com")
					{
						 pvCurDomain='qzone.qq.com';
						 pvCurUrl='/PHP'+pvCurUrl;
					}else if (pvCurDomain=="city.qzone.qq.com")
					{
							var pvCurParams=location.href.match(urlMap[i][0]);
							if(i==27){
								var tmpRe=/^http:\/\/city\.qzone\.qq\.com\/([\S]*)\?([\S]*)PSN=([^\&\s\/\=]*)?/i;
								var tmpURL='';
								if(tmpRe.test(location.href))
								{
									var tmpPvCurParams=location.href.match(tmpRe);
									tmpURL='PSN/'+tmpPvCurParams[3]+"/";
								}
								if (pvCurParams[5]==undefined || pvCurParams[5]=="")
								{
									pvCurParams[5]='page';
								}
								pvCurUrl=pvCurUrl+tmpURL+'pz/'+pvCurParams[1]+'/'+pvCurParams[3]+'/'+pvCurParams[5]+'.php';
							}else if(i==28)
							{
								if(pvCurParams.length==4)
								{
									if(pvCurParams[1]!="")
									{
										pvCurUrl='/PSN/'+pvCurParams[3]+"/"+pvCurParams[1];
									}else{
										pvCurUrl='/PSN/'+pvCurParams[3]+".htm";
									}
								}else{
										pvCurUrl='/PSN/error.htm';
								}
							}else if(i==30)
							{
								var tmpRe=/^http:\/\/cityuser\.qzone\.qq\.com\/([\S]*)\?([\S]*)PSN=([^\&\s\/\=]*)?/i;
								var tmpURL='';
								if(tmpRe.test(location.href))
								{
									var tmpPvCurParams=location.href.match(tmpRe);
									tmpURL='PSN/'+tmpPvCurParams[3]+"/";
								}
								if (pvCurParams[5]==undefined || pvCurParams[5]=="")
								{
									pvCurParams[5]='page';
								}
								pvCurUrl=pvCurUrl+tmpURL+'pz/'+pvCurParams[1]+'/'+pvCurParams[3]+'/'+pvCurParams[5]+'.php';
							}else
							{
								pvCurUrl='/PSN/error1.htm';
							}
					}
					break;
				}
		}
		if(!window.cancelSendPV) pgvMain();
	}
}
window.setTimeout(pingQQ,1500);

var pvCurDomain=location.host,pvCurUrl=location.pathname; //can be changed after the script is loaded
var pvRefDomain=pvRefUrl=pvRealDomain="";
function pgvGetDomainInfo(){
	var l = location;
	try{l=top.location;}catch(e){};
	pvRealDomain=pvCurDomain=(pvCurDomain?pvCurDomain:l.host);
	var url=pvCurUrl?pvCurUrl:l.pathname;
	return("dm="+pvCurDomain+"&url="+escape(url)+"&tt=-");
}
function pgvGetRefInfo(){
	var refdm=refurl="-";
	var r=/https?:\/\/(\w+(\.\w+)+)(\/[^?#]*)?/;
	var m=document.referrer.match(r);
	try{m=top.document.referrer.match(r);}catch(e){};
	if(m){
		if(m.length>1)refdm=m[1];
		if(m.length>3)refurl=m[3];
	}
	pvRefDomain=refdm=(pvRefDomain?pvRefDomain:refdm);
	pvRefUrl=refurl=(pvRefUrl?pvRefUrl:refurl);
	return("&rdm="+refdm+"&rurl="+escape(refurl));
}
function pgvGetUserInfo(){
	var m=document.cookie.match(/(^|;|\s)*pvid=([^;]*)(;|$)/);
	if(m){
		pvid=m[2]
	}else{
		var pvid = (Math.round(Math.random()* 2147483647)*(new Date().getUTCMilliseconds()))%10000000000;
		document.cookie="pvid="+pvid+"; path=/; domain=qq.com; expires=Sun, 18 Jan 2038 00:00:00 GMT;"
	}
	return "&pvid="+pvid;
}
function pgvSendInfo(url){
	window.pgvImg=new Image();
	window.pgvImg.src=url;
}
function pgvMain(pgv_bhv_type){
	try{
		var Url="http://pingfore.qq.com/pingd?"+pgvGetDomainInfo()+pgvGetRefInfo()+pgvGetUserInfo()+
		"&scr=-&scl=-&lang=-&java=1&cc=-&pf=-&tz=-8&ct=-&vs=3.3";
		if(pgv_bhv_type&&pgv_bhv_type=="return_url")return Url;
		pgvSendInfo(Url+"&emu="+Math.random());
	}catch(e){
		var v=ScriptEngine()+ScriptEngineMajorVersion()+"."+ScriptEngineMinorVersion();
		pgvSendInfo("http://219.133.51.97/pingd?err="+escape(e.message)+"&jsv="+v+"&url="+escape(location.href)+"&stone="+Math.random());
	}
}
