function ps_top(){}
function advertInfo(_adid,_url,_targetUrl,_source,_keys,_price){this.adid=_adid;this.url=_url;this.targetUrl=_targetUrl;this.sourceUrl=_source;this.keyGB2312=_keys[0];this.keyUTF8=_keys[1];this.price=_price;}
function selectedInfo(_adid,_price,_arrived){this.adid=_adid; this.price=_price;this.arrived=_arrived;}
function findAdvertInfo(_vref,_key,_url,_lvl,_charset){
    for(var i=0;i<arrAds.length;i++){//Add targetURL equal SourceURL case
        var _ad=arrAds[i];
        var _adkey=_ad.keyGB2312;
        if(_charset=="utf-8"){_adkey=_ad.keyUTF8;}            
        if(_lvl=='1'){
            if(_key==''&&_adkey==''&&_ad.sourceUrl.indexOf(_vref+';')!=-1&&_url==_ad.url){if(_url==_ad.targetUrl){return new selectedInfo(_ad.adid, _ad.price, 1);} return new selectedInfo(_ad.adid, _ad.price, 0);}
            else if(_key!=''&&_adkey!=''){
                if(_adkey!='*'&&(';'+_adkey+';').indexOf(';'+_key+';')!=-1&&(_ad.sourceUrl==''||_ad.sourceUrl.indexOf(_vref)!=-1)&&_url==_ad.url){if(_url==_ad.targetUrl){return new selectedInfo(_ad.adid, _ad.price, 1);} return new selectedInfo(_ad.adid, _ad.price, 0);}
                else if(_adkey=="*"&&(_ad.sourceUrl==''||_ad.sourceUrl.indexOf(_vref)!=-1)&&_url==_ad.url){if(_url==_ad.targetUrl){return new selectedInfo(_ad.adid, _ad.price, 1);} return new selectedInfo(_ad.adid, _ad.price, 0);}
            }
        }
        else{
            if(_key==''&&_adkey==''&&_ad.sourceUrl.indexOf(_vref+';')!=-1&&_url==_ad.targetUrl){return new selectedInfo(_ad.adid, _ad.price, 1);}
            else if(_key!=''&&_adkey!=''){
                if(_adkey!='*'&&(';'+_adkey+';').indexOf(';'+_key+';')!=-1&&(_ad.sourceUrl==''||_ad.sourceUrl.indexOf(_vref)!=-1)&&_url==_ad.targetUrl){return new selectedInfo(_ad.adid, _ad.price, 1);}
                else if(_adkey=='*'&&(_ad.sourceUrl==''||_ad.sourceUrl.indexOf(_vref)!=-1)&&_url==_ad.targetUrl){return new selectedInfo(_ad.adid, _ad.price, 1);}
            }
        }
    };return null;
}
function KeyInfo( key,encode,name ){this.Key=key;this.KeyEncode=encode;this.SearchName=name;}
function getReferrerHost( url ){ if(url==''){return '';} var index = url.indexOf("/", 8);if(index==-1){index=url.length;} url=url.substring( 7, index ).toLowerCase();if(url.substring(url.length-1,url.length)=='.'){return url.substring(0,url.length-1);} return url;}
function GetSearchKeyInfo( url ){
    if(url==''){return null;}
    var refHost = getReferrerHost(url);
    for(var a=0;a<arrSC.length;a++){
        var regStr="([\\w-\\.]+)"+arrSC[a][0].replace(/\./g,"\\.");
        var regExp = new RegExp(regStr,'ig');
        if(refHost==arrSC[a][0]||refHost.match(regExp)!=null){
            if(arrSC[a][1]!="mail"){
                var sc = arrSC[a][1].toString().split(":");
                var qs = sc[0].split("|");
                var start,end,key='';
                for(var i=0;i<qs.length;i++)//get keyword
                {
                    start = url.indexOf("&"+qs[i]+"=");
                    if(start==-1){start = url.indexOf("?"+qs[i]+"=");}
                    if(start!=-1){
                        start = start + qs[i].length + 2;
                        end = url.indexOf("&",start);if(end==-1){end = url.length;}
                        key = url.substring(start,end);if(key!=''){break;}
                    }
                }
                if(key==''){return null;}
                
                var encode='';
                if(sc[2]!=null&&sc[2]!='undefined'){//get encode
                    start = url.indexOf("&"+sc[2]+"=");
                    if(start==-1){start = url.indexOf("?"+sc[2]+"=");}
                    if(start!=-1){
                        start = start + sc[2].length + 2;
                        end = url.indexOf("&",start);if(end==-1){end = url.length;}
                        encode = url.substring(start,end);
                    }
                }if(encode==''){encode=sc[1];}
                
                return new KeyInfo(check2Unescape(key), /*sc[1]*/encode, refHost);
            }else{
                return new KeyInfo(arrSC[a][0], '', 'default');
            }
        }        
    }
    return null;
}
function psGetScreenSize(){var sr = "-";var n = navigator;if (self.screen){sr = screen.width+"x"+screen.height;}else if (self.java){var j = java.awt.Toolkit.getDefaultToolkit();var s = j.getScreenSize();sr = s.width+"x"+s.height;}return sr;}
function psGetScreenColorDepth(){var sc = "-";var n = navigator;if(self.screen){sc = screen.colorDepth+"-bit";}return sc;}
function psGetNavigatorLanguage(){var ul = "-";var n = navigator;if(n.language){ul = n.language.toLowerCase();}else{ul = n.browserLanguage.toLowerCase();}return ul;}
function PSClientInfo(){this.ScreenSize = psGetScreenSize();this.ScreenColor = psGetScreenColorDepth();this.Language=psGetNavigatorLanguage();}
function getPSCountCookie(sName){var aCookie = document.cookie.split('; ');for (var i=0; i < aCookie.length; i++){var aCrumb = aCookie[i].split('=');if (sName == aCrumb[0]){if(aCrumb[1]!=null&&aCrumb[1]!='undefined'){return unescape(aCrumb[1]);};return '';}};return '';}
/*
modify Date:2008-2-21
by: wangkai
*/
function setPSCountCookie(sName, sValue, minutesKeep){var argv = setPSCountCookie.arguments;
var argc = setPSCountCookie.arguments.length;var domain = (argc > 3) ? argv[3] : null;var now = new Date();var expireTime= new Date( now.getTime() + minutesKeep * 60000);document.cookie = sName + '=' + escape(sValue) + '; path=/'+((domain == null) ? "" : ("; domain=" + domain))+'; expires=' + expireTime.toGMTString() + ';';}
function appendPSScript(url){var e=document.createElement('script');e.src=url;e.type='text/javascript';e.charset=gCharset.toLowerCase();document.getElementsByTagName('body')[0].appendChild(e);}
function getRandomVID(len){return (Math.random()+1).toString().replace(/\./,'').substr(0,len);}
function getPSVID(){var d = new Date();return d.getFullYear().toString()+(d.getMonth()+1).toString()+d.getDate().toString()+d.getHours().toString()+d.getMinutes().toString()+d.getSeconds().toString()+'_'+getRandomVID(9);}
function check2TrimUrl(_url){if(_url!=''&&_url.indexOf('?')==-1){if(_url.charAt(_url.length-1)=='/'){return _url.substring(0, _url.length-1);}}return _url;}
function check2Escape(_key){var regExp=/%25[0-9a-fA-F]{2}/g;if(regExp.test(_key)){return _key;}return escape(_key);}
function check2Unescape(_key){var regExp=/%25[0-9a-fA-F]{2}/g;if(regExp.test(_key)){return unescape(_key).replace("%20","+").replace(" ","+");}return _key.replace("%20","+").replace(" ","+");}
function getVisitSeconds(_ldt){if(_ldt==''){return '0';}var curDate=new Date();var seconds=Math.round((curDate.getTime()-_ldt)/1000);return seconds>0?seconds.toString():'0';}
function getTitleByLen(_title,_len){if(_title==''){return '';}if(_title.indexOf(' - ')!=-1){var _ss=_title.split(' - ');_title=_ss[0];}else if(_title.indexOf('_')!=-1){var _ss=_title.split('_');_title=_ss[0];}else if(_title.indexOf('--')!=-1){var _ss=_title.split('--');_title=_ss[0];}if(_title.length<=_len){return _title;} return _title.substring(0,_len);}

var gCKLReferrer='_lstRef',gCKVReferrer='_vstRef',gCKLURL='_lstUrl',gCKNew='_cltNew',gCKRefClass='_refCls',gCKLVL='_vstLvl',/*gCKCLID='_cltId',*/gCKVID='_vstId',gCKLTime='_lstTime',gCKVTime='_vstTime',gCKTimes='_vstTimes',gCKADID='_vstADID',
/*gCLID=getRandomVID(20)+getRandomVID(4),*/gVID=getPSVID(),gCLS='direct',gLVL=getPSCountCookie(gCKLVL),gLURL=getPSCountCookie(gCKLURL),gLReferrer=getPSCountCookie(gCKLReferrer),gVReferrer=getPSCountCookie(gCKVReferrer),gCNew=getPSCountCookie(gCKNew),gVTime=getPSCountCookie(gCKVTime),gVTimes=getPSCountCookie(gCKTimes),gVADID=getPSCountCookie(gCKADID),
gCookie=(navigator.cookieEnabled)?true:false,gRefresh=false,gCVNew=true,gCharset='utf-8';
var gReferrer=document.referrer.toLowerCase(),gURL=check2TrimUrl(document.URL.toLowerCase());
if(gReferrer!=''){gReferrer=check2TrimUrl(gReferrer);if(gReferrer==gLReferrer&&gURL==gLURL&&getReferrerHost(gReferrer)==getReferrerHost(gURL)){gRefresh=true;}}
/*else if(gURL==gLURL){gRefresh=true;}*/
/*
var _PSPDLTime=getPSCountCookie(gCKLTime);
if(_PSPDLTime!='')
{
    var _PSPDNOW=new Date().getTime();
    if((_PSPDNOW-_PSPDLTime)>1000*60)
   {
        gRefresh=false;
   } 
   else
   {
        gRefresh=true;
   }
}
*/

function setPSVisitCookie( /*_clid,*/_vid,_lvl,_ref,_url,_root,_vtime,_ltime,_vtimes,_vadid )
{    
    var expMinutes=45;var _ldate=new Date();    
    setPSCountCookie(gCKVID, _vid, expMinutes);  
    setPSCountCookie(gCKLVL, _lvl, expMinutes);    
    setPSCountCookie(gCKLReferrer, _ref, expMinutes);    
    setPSCountCookie(gCKLURL, _url, expMinutes);    
    setPSCountCookie(gCKVReferrer, _root, expMinutes);
    setPSCountCookie(gCKVTime, _vtime, expMinutes);
    setPSCountCookie(gCKADID, _vadid, expMinutes);
    setPSCountCookie(gCKLTime, _ldate.getTime().toString(), expMinutes);
    //setPSCountCookie(gCKCLID, _clid, 60*24*100,'.chpanshi.net');
    setPSCountCookie(gCKTimes, _vtimes, 60*24*100);
}

var gCLInfo=new PSClientInfo();

function detectOS()
{
    var sUserAgent = navigator.userAgent;
    var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows"); 
    var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh");
    if(isMac) 
    { 
        if(sUserAgent.indexOf("Mac_68000") > -1 || sUserAgent.indexOf("68K") > -1)
	        {
		        return "Mac68K"
	        }
        else if(sUserAgent.indexOf("Mac_PowerPC") > -1 || sUserAgent.indexOf("PPC") > -1)
	        {
		        return "MacPPC";
	        }
        else 
	        return "Mac";
    }
    var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
    if(isUnix) return "Unix";
    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("Windows 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 isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows XP") > -1;
            if(isWinXP) return "WinXP";
            var isWinXP2003 = sUserAgent.indexOf("Windows NT 5.2") > -1 || sUserAgent.indexOf("Windows 2003") > -1;
            if(isWinXP2003) return "Win2003";
            var isWinVista = sUserAgent.indexOf("Windows NT 6.0") > -1 || sUserAgent.indexOf("Windows Vista") > -1;
            if(isWinVista) return "WinVista";
    }
    return "";
}

function doSendData(_rv){
    if(typeof(gRecieved)!=null&&typeof(gRecieved)!='undefined'){return;}    
    if(!gRefresh){
    
        /*
        modify by :  wangkai
                date:  2008-2-21 
        if(getPSCountCookie(gCKCLID)==''){
            gCNew='1';
            var now=new Date();
            var expMinutes=60*(23-now.getHours())+59-now.getMinutes();
            setPSCountCookie(gCKNew,'1',expMinutes);
        }else{gCLID=getPSCountCookie(gCKCLID);}gClientIDWriteFlag*/
       /*
        if(gClientIDWriteFlag!='')
                gCLID=gClientIDWriteFlag;
            */    
        if(getPSCountCookie(gCKTimes)==''){
            gCNew='1';
            var now=new Date();
            var expMinutes=60*(23-now.getHours())+59-now.getMinutes();
            setPSCountCookie(gCKNew,'1',expMinutes);
        }

        if(gReferrer!=''&&gLURL!=''){
            if(getReferrerHost(gReferrer)==getReferrerHost(gLURL)){
                if(getPSCountCookie(gCKLTime)!=''&&gVTime.substring(0,10)==gNTime.substring(0,10)){
                    if(gLVL==''){gLVL='1';}else{gLVL=parseInt(gLVL)+1;}
                    gVID=getPSCountCookie(gCKVID);gCVNew=false;
                }else{gLVL='1';gReferrer='';}
            }else{gLVL='1';}
        }else{
            if(gReferrer==''&&getPSCountCookie(gCKLTime)!=''&&getReferrerHost(gLURL)==getReferrerHost(gURL)){
                if(gLVL==''){gLVL='1';}else{gLVL=parseInt(gLVL)+1;};gReferrer=gLURL;gVID=getPSCountCookie(gCKVID);gCVNew=false;
            }else{gLVL='1';if(getReferrerHost(gReferrer)==getReferrerHost(gURL)){gReferrer='';}}
        }
        
        var _rootHost='',_rootKey='',_rootCharset='',_prevTime='';
        if(gCVNew){
            if(gReferrer!=''){
                _rootHost=getReferrerHost(gReferrer);var _keyInfo=GetSearchKeyInfo(gReferrer);
                if(_keyInfo!=null){_rootKey=_keyInfo.Key;gCLS=_keyInfo.SearchName;_rootCharset=_keyInfo.KeyEncode;}else{gCLS='default';}                
            }
            gVReferrer=gReferrer;gVTime=gNTime;gVADID='0';if(gVTimes!=''){gVTimes=parseInt(gVTimes)+1;}
        }else{
            if(gVReferrer!=''){
                _rootHost=getReferrerHost(gVReferrer);var _rootKeyInfo=GetSearchKeyInfo(gVReferrer);
                if(_rootKeyInfo!=null){_rootKey=_rootKeyInfo.Key;gCLS=_rootKeyInfo.SearchName;_rootCharset=_rootKeyInfo.KeyEncode;}else{gCLS='default';}
            };_prevTime=getPSCountCookie(gCKLTime);
        }
        
        if(gVTimes==''){gVTimes='1';};if(gVADID==''){gVADID='0';}
        
        var _adVRef = _rootKey==''?gVReferrer:_rootHost;
        var _adInfo = findAdvertInfo(_adVRef.replace('http://',''),_rootKey,gURL,gLVL,_rootCharset);
       /*------*/
       var sUserAgent = window.navigator.userAgent;
        var fAppVersion = parseFloat(window.navigator.appVersion);
        var isOpera = sUserAgent.indexOf("Opera") > -1;
        if (isOpera)
        {
         var fOperaVersion;
         if (window.navigator.appName == "Opera")
         {
          fOperaVersion = fAppVersion;
         }
         else
         {
          var reOperaVersion = new RegExp("Opera\\s?/?([\\d\\.]*)");
          reOperaVersion.test(sUserAgent);
          fOperaVersion = RegExp["$1"];
         }
        }
        var isKHTML = sUserAgent.indexOf("KHTML") > -1 || sUserAgent.indexOf("Konqueror") > -1 || sUserAgent.indexOf("AppleWebKit") > -1;
        var isMinSafari1 = isMinSafari1_2 = false;
        var fApplieWebKitVersion="";
        var isMinKonq2_2 = isMinKonq3 = isMinKonq3_1 = isMinKonq3_2 = false;
        if (isKHTML)
        {
         var isSafari = (/AppleWebkit/ig).test(sUserAgent); 
         var isKonq = sUserAgent.indexOf("Konqueror") > -1;
         if (isSafari)
         {
          var reAppleWebKit = new RegExp("Version/([\\d\.]*)\\s*Safari");
          fApplieWebKitVersion = RegExp["$1"];
         }
        }

        var isNS=false;
        var fNSVersion = "";
        var fMaxthonVersion = "";
        var isIE = sUserAgent.indexOf("MSIE") > -1 && !isOpera;
        var isTT=isMaxthon = false;
        if (isIE) {
	        isTT = sUserAgent.indexOf("TencentTraveler") > -1;	
	        isMaxthon = /MAXTHON/ig.test(sUserAgent);
	        var reMaxthon = new RegExp("Maxthon\\s([\\d\\.]+)",'ig');
	        if(reMaxthon.test(sUserAgent))
	        {
		        fMaxthonVersion = RegExp["$1"];
	        }
	        var reIE = new RegExp("MSIE (\\d+\\.\\d+)");
	        reIE.test(sUserAgent);
	        var fIEVersion = RegExp["$1"];
        }
        else {
	        var isFirefox = sUserAgent.indexOf("Firefox") > -1 && !isKHTML;
	        var fFirefoxVersion = "";
	        var isMinMoz1 = sMinMoz1_4 = isMinMoz1_5 = isMinMoz1_6 = isMinMoz1_7 = isMinMoz1_8 = false;
	        if (isFirefox) {
		        var reFirefox = new RegExp("Firefox/?([\\d\\.]*)");
		        reFirefox.test(sUserAgent);
		        fFirefoxVersion = RegExp["$1"];
	        }
	        else {
		        var reNS = new RegExp("Netscape/(\.*)");
		        isNS = reNS.test(sUserAgent);
		        if (isNS) {
			        fNSVersion = RegExp["$1"];
		        }
	        }
        }
        
        var strBroswer="";
        if(isOpera)
        {
	        strBroswer = "Opera "+fOperaVersion;
        }
        else if(isKHTML)
        {
	        if(isSafari)
	        {
		        strBroswer = "Safari "+fApplieWebKitVersion;
	        }
	        else
	        {
		        strBroswer = "Safari/Konqueror other version";
	        }
        }
        else if(isIE)
        {
	        if(isTT)
	        {
		        strBroswer = "TencentTraveler";
	        }
	        else if(isMaxthon)
	        {
		        strBroswer = "Maxthon";
		        if(fMaxthonVersion!="")
		        {
			        strBroswer +=" "+fMaxthonVersion;
		        }
	        }
	        else 
	        {
		        strBroswer = "IE "+fIEVersion;
	        }
        }
        else if(isNS)
        {
	        strBroswer = "Netscape "+fNSVersion;
        }
        else if(isFirefox)
        {
	        strBroswer = "Firefox "+ fFirefoxVersion;
        }
       /*------*/ 

        var _rcvUrl=gRcvURL+'?'
                     +'stid='+gSTID
                     /*+'&clid='+gCLID*/
                     +'&vid='+gVID
                     +'&vlvl='+gLVL
                     +'&new='+gCNew
                     +'&cok='+gCookie
                     +'&size='+gCLInfo.ScreenSize
                     +'&color='+gCLInfo.ScreenColor
                     +'&lan='+gCLInfo.Language
                     +'&ru='+escape(gReferrer.replace('http://',''))
                     +'&ul='+escape(gURL.replace('http://',''))
                     +'&ruh='+escape(_rootHost)
                     +'&ruk='+check2Escape(_rootKey)
                     +'&rukc='+_rootCharset
                     +'&rut='+gCLS
                     +'&rtm='+escape(gVTime)
                     +'&tms='+gVTimes
                     +'&sec='+getVisitSeconds(_prevTime)
                     +'&rru='+escape(gVReferrer.replace('http://',''))
                     +'&br='+strBroswer
                     +'&os='+detectOS();

        if(_adInfo!=null){_rcvUrl=_rcvUrl+'&adid='+_adInfo.adid+'&mny='+_adInfo.price+'&arvd='+_adInfo.arrived;if(gLVL=='1'){gVADID=_adInfo.adid;}}
        else if(_rv==0||(_rv&1)>0||gVADID!='0'){_rcvUrl=_rcvUrl+'&adid='+gVADID+'&mny=0&arvd=0';}else{return;} gRecieved='sent';
        
        _rcvUrl=_rcvUrl+'&ttl='+escape(getTitleByLen(document.title,99));        
        
        document.write('<script src="'+_rcvUrl+'" charset="utf-8" type="text/javascript"></'+'script>');
        setPSVisitCookie( /*gCLID,*/ gVID, gLVL, gReferrer, gURL, gVReferrer, gVTime, gNTime, gVTimes, gVADID );
    }
}