/** 
 * @fileoverview  该文件只用于用于个人页面index.htm
 * <p>
 * QQ爱情小镇链接<a href="http://dating.qq.com" target="_blank">http://dating.qq.com</a>
 * <p>
 * 本文档可以由jsdoc工具生成<a href="http://jsdoc.sourceforge.net" target="_blank">http://jsdoc.sourceforge.net</a>
 *
 * @author TenfyGuo, &lttenfyguo@tencent.com&gt , Tencent Tech. Co., Ltd.
 * @version 1.0 
 */
document.write("<script type='text/javascript' src='/js/cookie.js'></script>");
document.write("<script type='text/javascript' src='/js/snglcommon.js'></script>");
document.write("<script type='text/javascript' src='/js/users.js'></script>");
document.write("<script type='text/javascript' src='/js/cities.js'></script>");
document.write("<script type='text/javascript' src='/js/validate.js'></script>");
document.write("<script type='text/javascript' src='/js/serializer.js'></script>");
document.write("<script type='text/javascript' src='/js/common.js'></script>");
document.write("<script type='text/javascript' src='/js/render.js'></script>");
document.write("<script type='text/javascript' src='/js/ubb/ubb.js'></script>");
var g_allTagIdArray = ["user_info_div"/*0 显示用户基本资料*/,"diary_add_div"/*1  发表日志*/,"pairwise_div"/*2  配一配*/,"blog_photo_div"/*3 相册*/,"blog_content_div"/*4  日志内容*/, "blog_list_div"/*5 日志列表*/,"blog_full_div"/*6 全文方式列表*/,"diary_edit_div"/*7 编辑日志*//*8,"psychreport_div"性格测试*/];
var oToggle   = null;  

var g_allMenuIdsArray = ["menu_personal" /*0*/, "menu_photo" /*1*/, "menu_blog" /*2*/,"menu_pairwise" /*3*/,"menu_manage"/*4*//*,"menu_psytest"5*/];
var oMenuToggle = null;   

var g_allMskIdsArray = ["msk_mod_usrinfo"/*0*/,"msk_wrt_blg_lst"/*1*/,"msk_wrt_blg_fl"/*2*/,"msk_wrt_blg_ct"/*3*/,"msk_fl_moddel_blg"/*4*/,"msk_ct_moddel_blg"/*5*/,"msk_photomnt"/*6*/,"menu_pairwise"/*7*/,"menu_manage"/*8*/];
var oMskToggle = null;	        

var g_curPro   = "";//当前登录用户所在省份
var g_curCity  = "";//当前登录用户所在城市
var g_curSex   = "";//当前登录用户的性别
var g_curUid   = "";//当前登录用户的id

var g_curBlogMap  = null;            //用于记录当前用户是否已经浏览过某个用户的某篇日志 key＝uid&id value =1
var g_curObj      = new Object();    //用于存储当前的日志dom跟个人信息dom，selfinfo otherinfo代表自己的资料跟他人的资料
var g_curIndex    = 0;               //当前操作的日志记录在当前dom中的索引
var g_curDom      = null;            //当前操作日志的dom
var g_curClsIndex = "-1";             //-1表示全部，否则对应于相应的日志类别 
var g_curMap      = null;            //当前的统计结果
var g_curTtNums   = 0;               //当前总的日志记录数目
var g_curSPBid    = "";              //用户浏览某个用户的某篇日志

//计算匹配度的加权值列表
var g_matchWeight = {city:10,age:10,stature:5,education:10,marital:10,character:10,vocation:5,income:5,house:5,childhave:5,childwant:5,blood:5,constell:5,smoke:5,drink:5}; 				 

var sYes ="<td class='pairwise'><span>yes</span></td>";
var sNo  ="<td class='nopairwise'><span>no</span></td>";
var sNoMainPhoto = "<div id='imgMain'><div class='boxMain'><a href='#'><img src='/images/upload_photo.gif' alt='暂未上传照片' width='413' height='309' /></a></div></div>";
var sBigPhotoURL   = "http://loveimg2.qq.com/cgi-bin/sphoto?uid=[%=uid%]&id=[%=id%]";
var sSmallPhotoURL = sBigPhotoURL+"&scale=dim";

var mainPhotoRender = null;//显示形象照片分页
var userinfoRender  = null;//显示页面logo的基本信息
var userBasicRender = null;//显示用户基本资料
var userIntroRender = null;//显示用户自我介绍
var userBlogRender  = null;//显示自我介绍下面的日志列表
var blogListRender  = null;//显示日志列表（标题列表方式）
var blogFullRender  = null;//显示日志列表（全文方式）
var blogContentRender = null;//显示日志内容
var comentRender = null;//显示日志评论
var photoRender = null;//显示相册照片
function init(){
  shcopyright();
  if(!ensureLogin()) return;
  g_curUid  = getCookie(CONST_UID_COOKIE_NAME);   
  if(!isDef(g_curUid)){   	 
         loadXML('userinfo',"cmd=myinfo&ts="+getCurTime(), function (){
 	  	           var xdoc = getXMLDoc('userinfo');
				   if(checkDomReturn(xdoc)==false) return;       
				   if(setBasicInfoInCk(xdoc)==true){ 	
					    blt = setFavorInCk(xdoc);
					    if(blt==0){
					        initMe();
					    }else if(blt==1){
					        notSetFavorHandle();
						    return;
					    }else if(blt==2){
					        errCb();
					        return;
					    }
				}else{
					errCb();
					return;
				}             
			},errCb);
  }else{
  	initMe();
  }
 };
 
function initMe(){	
  g_curPro  = getCookie(CONST_PRO_COOKIE_NAME);
  g_curCity = getCookie(CONST_CITY_COOKIE_NAME);
  g_curSex  = getCookie(CONST_SEX_COOKIE_NAME);
 if(!isDef(g_curPro)||!isDef(g_curCity)||!isDef(g_curSex)){
	   notLoginHandle();
	   return;
 }
  coverAll("正在加载数据，请稍候...");
  oToggle     =  new DisplayToggle(g_allTagIdArray);
  oMenuToggle =  new DisplayToggle(g_allMenuIdsArray,function (oSlt){oSlt.className ="nowmenu";},function (oUnSlt){oUnSlt.className = "";});
  oMskToggle  =  new DisplayToggle(g_allMskIdsArray);
  
  var oSimplePro  = $O("simple_search_province");
  var oSimpleCity = $O("simple_search_city");
  var oSuperPro   = $O("super_search_province");
  var oSuperCity  = $O("super_search_city");
 
  //设置简单搜索的城市跟省份的默认值
  setSltItm(oSimplePro,g_curPro);
  chgSltItms(oSimplePro,oSimpleCity,0);
  setSltItm(oSimpleCity,g_curCity);
  
  //设置高级搜索的省份跟城市的默认值
  setSltItm(oSuperPro,g_curPro);
  chgSltItms(oSuperPro,oSuperCity,0);
  setSltItm(oSuperCity,g_curCity);
     
  //设置性别的默认值 
  setRadioChecked("super_search_sex",getAtiSex(g_curSex));  
  setRadioChecked("simple_search_sex",getAtiSex(g_curSex));
  
  g_curBlogMap  = new Map();
  g_curMap      = new Map(); 
  
  mainPhotoRender   = new Render();
  userinfoRender    = new Render();
  userBasicRender   = new Render();
  userIntroRender   = new Render();
  userBlogRender    = new Render();
  blogListRender    = new Render();
  blogFullRender    = new Render();
  blogContentRender = new Render();
  comentRender      = new Render();
  photoRender       = new Render();
  doActionByOp(); 
};

//分析op参数并且分别调用不同的逻辑进行处理,若无op参数，则显示个人信息
var REG_IS_OP_EXIST  = /op=(\w+)/g;
var REG_OP_VALUE     = /^.*op=|[&|$]/g;
var REG_IS_UID_EXIST = /uid=(\w+)/g;
var REG_UID_VALUE    = /^.*uid=|[&|$]/g;
var REG_IS_BID_EXIST = /bid=(\w+)/g; //日志的id
var REG_BID_VALUE    = /^.*bid=|[&|$]/g;
function doActionByOp(){
        var strURL = window.location.href;
		var p   = strURL.indexOf("?");
		var len = strURL.length;		
		if(p>=0&&len>(p+1))
		{  //带参数
			    //判断是否有uid，若有则判断uid是否是自己的还是别人的，若无uid则认为是自己	
			    var szMatchUid = strURL.match(REG_IS_UID_EXIST);
			    if(szMatchUid==null){//无uid
			 		        getDataAction(g_curUid,strURL,null);			  	   
			    }
			    else 
			   	{//有uid			 	  
			 	      var uidValue = szMatchUid[0].replace(REG_UID_VALUE,"");
			 	      getDataAction(uidValue,strURL,null);
		     }	  
  	}
  	else
  	{  //没有带参数  		
  		getDataAction(g_curUid,strURL,null);
    }
 };
//获取个人资料，然后分析不同参数并且执行不同逻辑 
function getDataAction(uid,strURL,cb){
    //coverAll("正在加载数据，请稍候...");
	if(!isDef(uid)) uid = g_curUid;	  
	loadXML('userinfo',"cmd=userinfo&uid="+uid,function(xdoc){		  
 	 	  var rootTag = xdoc.documentElement.tagName.toLowerCase();
	 	  if(rootTag=="return"){
		        uncoverAll();
                var code = NV(xdoc,"/return/code"); 	      
			    if(code == 	e_CGI_ERR_NOT_RESIST){
 	 	            notRegHandle();
 	 	            return;
 	            }else if(code == e_CGI_ERR_NOT_LOGIN ){
		            notLoginHandle();
			        return;	   
 	            }else if(code == e_CGI_ERR_FRIEND_NOT_RESIST){
		            alert("对不起，您搜索的用户未注册爱情小镇！");
		            window.opener  = null;  //不确认进行关闭当前窗口 
                    window.close();   
		            return;
		        }else if(code==e_CGI_ERR_NO_VALID_PHOTO){		        	         
                    var isCfm = window.confirm("对不起，您必须有三张通过审核合格的个人照片才能查看他人的个人资料,现在上传照片吗？");
	                if(isCfm){
		               $go(CONST_MANAGE_UPLD_PHOTO,true);
	                }else{
	            	   window.opener  = null;  
                       window.close(); 
	                }
		  	        return; 		         
		        }else if(code == e_CGI_ERR_SYS_BLACKLIST){
		        	alert("对不起，您已经被列入系统黑名单，无法查看他人的个人资料！");
		            window.opener  = null;  
                    window.close();   
		            return;
		        }else if(code == e_CGI_ERR_USER_BLACKLIST){
		        	alert("对不起，您已经被对方列入黑名单，无法查看对方的个人资料！");
		            window.opener  = null;  
                    window.close();   
		            return;
		        }else if(code == e_CGI_ERR_NO_VALID_SEX){
		            alert("对不起，您不能查看同性用户的个人资料！");
		            window.opener  = null;  
                    window.close();   
		           return;
		        }else if(code == e_CGI_ERR_IP_LIMIT){
		       	   alert("对不起，您的操作太频繁了，请稍候再试...");
		           window.opener  = null; 
                   window.close();   
		           return;
		        }else{
				   alert("对不起，系统忙，请稍后再试...");
				   return;
                }				
     }//if rootTag=="return" 
     if(rootTag=="user"){
     	 if(uid==g_curUid){//自己
     	 	   	g_curObj['selfinfo'] = xdoc;	        	
                userinfoRender.showSimple(xdoc,'userinfo',"",0);			
				oMskToggle.deal([0,1,2,3,4,5,6,8]);
	   	        $show('userinfo');	   
         }else{//他人         	 	      	
       	    var othSex = NV(xdoc,"/user/info/sex");
       	    if(othSex==g_curSex){
 	    	    alert("对不起，您不能查看同性用户的个人信息！");
		        window.opener  = null;  
                window.close();
                return; 
 	        }
 	         
 	        var isHidDoc = NV(xdoc,"/user/info/doc_hide");
       	    if(isHidDoc=="1"){
 	    	    alert("对不起，对方已经暂时关闭了资料，您无法查看对方资料！");
		        window.opener  = null;  
                window.close();
                return; 
 	         } 	        
 	        g_curObj['otherinfo'] = xdoc;
 	       	oMskToggle.deal(7);           
            userinfoRender.showSimple(xdoc,'userinfo',"",0);			
 	       	$show('userinfo');   
     	 }
		   //显示viph here
		var vip =NV(xdoc,"/user/vip/status");
		if(vip=="1") $O("vip_display").innerHTML ="vip";
		else  $O("vip_display").innerHTML ="";
			
         setNewMsgNums("new_msg_Numbs"); 
         setCurUserStat();  	   
 	 	 parseParams(xdoc,strURL);
		 uncoverAll();
	}//rootTag==user
	},errCb);    
}; 
 
function parseParams(xdoc,strURL){
	 var szMatchOP = strURL.match(REG_IS_OP_EXIST);
		   if(szMatchOP==null){//没有包含op参数，则显示userinfo信息
		   	    doViewUsrInfo();              		
		   }else{ //获取op参数的值		  
		   	var opValue = szMatchOP[0].replace(REG_OP_VALUE,"");		   
		   	switch(opValue){
		   		case 'diaryadd'://发表日志只能是自己的页面
				    oMenuToggle.deal(2);
		   		    if(getUid()==g_curUid)
		   		        doFetchBlogEx(null,g_curUid,doDiaryAdd);
		   		    break;
		   		case 'viewdiary':
				    oMenuToggle.deal(2);
		   		    doFetchBlogEx(null,getUid(),viewBlogList);
		   		    break; 		   	
		   		case 'photo':
				    oMenuToggle.deal(1);
		   		    doBlogPhoto();
		   		    break;	
		   		case 'spdiary':
				    oMenuToggle.deal(2);
		   		    viewSPDiary(strURL);
		   		    break;	
                case 'viewpsychreport':	
				    doPsychTest();
                    break;				
		   		default:
		   		    doViewUsrInfo();                   					
		   	}//end switch
		   }
};

function getProCb(idx){
 if(inArray([0,1,2,3,31,32,33],idx)!=-1){
   return getProv(idx);
 }
 return getProv(idx)+" "; 
};
function getCityCb(idx){
 if(inArray([0,100,200,300,3100,3200,3300],idx)!=-1){
  return "";
 }
 return getCity(idx);
};
function getCarHave(idx){
   return getUsrTxt(25,idx);
};
function getBlood(idx){
	return getUsrTxt(10,idx);
};
function getBloodEx(idx){
	if(idx=="-1") return "不限";
	return getBlood(idx);
};

function getConstellEx(idx){
	if(idx=="-1") return "不限";
	return getUsrTxt(12,idx);
};

function getCityEx(idx){
	if(idx=="-1") return "不限";
	return getCity(idx);
};
function getEducation(idx){
	return getUsrTxt(7,idx);
};
function getEducationEx(idx){
	if(idx=="-1") return "不限";
	return getUsrTxt(16,idx);
};

function getVocation(idx){
	return getUsrTxt(8,idx);
};
function getVocationEx(idx){
	if(idx=="-1") return "不限";
	return getVocation(idx);
};

function getIncome(idx){
	return getUsrTxt(5,idx);
};
function getIncomeEx(idx){
	if(idx=="-1") return "不限";
	return getUsrTxt(15,idx);
};

function getHouse(idx){
	return getUsrTxt(2,idx);
};
function getHouseEx(idx){
	if(idx=="-1") return "不限";
	return getHouse(idx);
};

function getMarital(idx){
	return getUsrTxt(9,idx);
};
function getMaritalEx(idx){
	if(idx=="-1") return "不限";
	return getUsrTxt(9,idx);
};

function getChildHave(idx){
	return getUsrTxt(21,idx);
};
function getChildHaveEx(idx){
	if(idx=="-1") return "不限";
	return getUsrTxt(21,idx);
};

function getChildWant(idx){
	return getUsrTxt(22,idx);
};
function getChildWantEx(idx){
	if(idx=="-1") return "不限";
	return getUsrTxt(22,idx);
};

function getFaith(idx){
	return getUsrTxt(18,idx);
};
function getFaithEx(idx){
	if(idx=="-1") return "不限";
	return getUsrTxt(18,idx);
};

function getSmoke(idx){
	return getUsrTxt(3,idx);
};
function getSmokeEx(idx){
	if(idx=="-1") return "不限";
	return getUsrTxt(3,idx);
};

function getDrink(idx){
	return getUsrTxt(4,idx);
};
function getDrinkEx(idx){
	if(idx=="-1") return "不限";
	return getUsrTxt(4,idx);
};

function getCharacter(idx){
	return getUsrTxt(19,idx);
};
function getCharacterEx(idx){
	if(idx=="-1") return "不限";
	return getUsrTxt(19,idx);
};
function getEduChk(idx){
    var sEduStr = "";
    if(idx=="1"){
	    sEduStr = "<img src='http://imgcache.qq.com/QQSingle_v1/trencher.gif' border='0' title='已经通过学历验证'>";
	    if(getUid()==g_curUid)
	       sEduStr = "<a href='/manage/?op=vieweduchk'>"+sEduStr+"</a>"
	}else {
	  sEduStr = "";
	}
	return sEduStr;	
};

function getRealChk(idx){
	var sRealStr = "";
    if(idx=="1"){
	  sRealStr = "<img src='http://imgcache.qq.com/QQSingle_v1/IDcard.gif' border='0' title='已经通过实名验证'>";
	  if(getUid()==g_curUid)
	   sRealStr = "<a href='/manage/?op=viewrealchk'>"+sRealStr+"</a>"
	}else {
	  sRealStr = "";
	}
	return sRealStr;	
};


function id2PhotoURL(pId){
	var uid = getUid();	
	var sURL = sSmallPhotoURL.replace(/\[%=uid%\]/g,uid).replace(/\[%=id%\]/g,pId);
	return sURL;
};
function id2MainPhotoURL(pId){
	var uid = getUid();	
	var sURL = sBigPhotoURL.replace(/\[%=uid%\]/g,uid).replace(/\[%=id%\]/g,pId);
	//alert(sURL);
	return sURL;
};

function doViewBigPhoto(pURL){
	pURL = pURL.replace(/\&scale=dim/g,"");	
	newWin=window.open(pURL,"photo","status=no,scrollbars=1,resizable=1,width=840,height=640"); 
};


function doViewUsrInfo(){
     oMenuToggle.deal(0);
	 var xdoc   = null;
	 var isSelf = true;
	 if(g_curObj['otherinfo']!=null){
	 	xdoc   = g_curObj['otherinfo'];
		isSelf = false;	 			  
	 }else{
	  	xdoc   = g_curObj['selfinfo'];
        isSelf = true;	       		
	 }
	 userBasicRender.showSimple(xdoc,'user_basic_info_div',null,0);
	 userIntroRender.showSimple(xdoc,'user_info_introduce_div',null,0);
	 showDiaryList();
     if(isSelf == true){ oMskToggle.deal([0,1,2,3,4,5,6,8]);}else{ oMskToggle.deal(7);}	 
	 viewMainPhoto(xdoc);
	 $hide("sndmsg_div");
	 $hide("view_contact_div");
	 $show('userinfo');	 
	 oToggle.deal(0);
};

/**
 *显示形象照片
 */
function viewMainPhoto(xdoc){	
	var oMainDiv = $O("main_photo_div");
	var nodes = null;
	if(xdoc==null){	
		$hide("main_photo_page");
		if(!oMainDiv.oldHTML){oMainDiv.oldHTML = oMainDiv.innerHTML; }
	    oMainDiv.innerHTML = sNoMainPhoto;
	    oMainDiv.style.display ="";
		return;		
	}else{
		var subXDoc = getSubPhotoDom(xdoc);
		 nodes = subXDoc.selectNodes("/user/photolist/photo");	
		 if(nodes==null||nodes.length==0){
		 	 $hide("main_photo_page");
		     if(!oMainDiv.oldHTML){oMainDiv.oldHTML = oMainDiv.innerHTML;}
	         oMainDiv.innerHTML = sNoMainPhoto;
	         oMainDiv.style.display ="";
		     return;
		}
		var idx = 1,bTop = 0;
	    if(oMainDiv.oldHTML){oMainDiv.innerHTML = oMainDiv.oldHTML;}
	    for(var i=0;i< nodes.length;i++){
		   bTop = NV(nodes[i],"top");	
		  if(bTop=="1"){idx=i+1;break;	}
	   }
	 mainPhotoRender.showByPage(subXDoc,"main_photo_div","暂无上传照片！",idx,1,null,"main_photo_page","main_photo_pagePg",null,null,null,"main_photo_pre_page","main_photo_next_page");
	}	
};
//返回合格跟审核中的照片子集,1,合格，2，审核中，3，不通过
function getSubPhotoDom(xdoc){
	var subPhoto= subXDoc(xdoc,"/user/photolist/photo","@status",function(stat){
	   if(stat==VALID_PHOTO_CODE||stat==CHKING_PHOTO_CODE)  return true;
       else return false;
	});	
	return subPhoto;	
};
//全文方式查看日志，只负责显示当前的dom日志，并不进行拉数据
function viewBlogFull(){	
	 if(g_curClsIndex=="-1"){
	    $O("blog_full_curcls").innerHTML = "全部日志";
	 }else{
	    var oCurMapInfo = g_curMap.get(g_curClsIndex);
	    $O("blog_full_curcls").innerHTML = oCurMapInfo.clsName;
	 }
	 oToggle.deal(6);
	 blogFullRender.showByPage(g_curDom,"bfdiary_list","暂无日志",null,null,null,"bfpage","bfpagePg","bfmenuPage","bfcurPage","bfnorPage","diary_full_pre_page","diary_full_next_page");
	 doDisplayBlogCls("blog_full_class_ul","blog_full_class_tmp");//显示分类	    
};
//列表方式查看日志，只负责显示当前的dom日志，并不进行拉数据
function viewBlogList(){	
	 if(g_curClsIndex=="-1"){
	    $O("blog_list_curcls").innerHTML = "全部日志";
	 }else{
	    var oCurMapInfo = g_curMap.get(g_curClsIndex);
	    $O("blog_list_curcls").innerHTML = oCurMapInfo.clsName;
	 }
     oToggle.deal(5);
	 blogListRender.showByPage(g_curDom,"diary_list","暂无日志",null,null,null,"page","pagePg","menuPage","blcurPage","blnorPage","diary_list_pre_page","diary_list_next_page");
	 doDisplayBlogCls("blog_list_class_ul","blog_list_class_tmp");//显示分类
};

function viewSPDiary(strURL){
	var szMatchBID = strURL.match(REG_IS_BID_EXIST);
	if(szMatchBID==null){//没有bid，表示获取所有的日志
		doFetchBlogEx(null,getUid(),viewBlogList);
	}else{
		var bidValue = szMatchBID[0].replace(REG_BID_VALUE,"");	
		g_curSPBid = bidValue;
		doFetchBlogEx(null,getUid(),viewSPDiaryCT);	   		      	 		
	}    
};

function viewSPDiaryCT(){		
  var nodes = g_curDom.selectNodes("/diary/list/item");
  var idx = 0;
  for(var i=0;i<nodes.length;i++){
		if(NV(nodes[i],"id") == g_curSPBid){
			idx = i;
			break;
		}
	}
	viewBlogContent(idx);
};

//查看日志详细内容，只负责显示当前的dom日志，并不进行拉数据,同时增加对应文件的点击率
function viewBlogContent(iIdx){
	 if(typeof iIdx =='string') iIdx = parseInt(iIdx,10);
     oToggle.deal(4);	
     oMenuToggle.deal(2);	 
	 if(g_curClsIndex=="-1"){ //'-1'表示查看全部
	    $O("blog_content_curcls").innerHTML = "全部日志";
	 }else{
	    var oCurMapInfo = g_curMap.get(g_curClsIndex);
	    $O("blog_content_curcls").innerHTML = oCurMapInfo.clsName;	    
	 }
	var nodes = g_curDom.selectNodes("/diary/list/item");
	var len   = nodes.length;
	if(iIdx<0) iIdx=0;
	if(iIdx>len-1) iIdx=len-1;	 
	var id =  NV(nodes[iIdx],"id");
	var uid = NV(nodes[iIdx],"userid");
	if(len <= 1){//总的日志记录小于等于1，则上下篇不显示
	  $hide("view_pre_blog_a");
	  $hide("view_next_blog_a");	
	}else if(iIdx <= 0){
	  $hide("view_pre_blog_a");
      $show("view_next_blog_a");		  
	}else if(iIdx >= len-1){
	  $show("view_pre_blog_a");
	  $hide("view_next_blog_a");	
	}else{
	  $show("view_pre_blog_a");
	  $show("view_next_blog_a");	
	}
	var oTtBlog = $O("view_cur_blog_record");
	var oTtBlogHtml = "";
	if(oTtBlog.oldHTML){oTtBlogHtml = oTtBlog.oldHTML;}else{oTtBlogHtml = oTtBlog.oldHTML = oTtBlog.innerHTML;}
    oTtBlog.innerHTML = oTtBlogHtml.replace(/\[%=curBlog%\]/g,iIdx+1).replace(/\[%=ttBlogs%\]/g,len);
	g_curIndex= iIdx
    blogContentRender.showSimple(g_curDom,'diary_content',null,g_curIndex);   
    doDisplayBlogCls("blog_content_class_ul","blog_content_class_tmp");//显示分类			
    var oUid = $O("get_comment_uid");
    oUid.value = getUid();  
    loadXML('diary',sf('get_comments_form'),getCommentsCb,errCb,'POST');
    //增加点击率
   if(uid!=g_curUid){
   	  var mStr = uid+"&"+id;
      if(!g_curBlogMap.containsKey(mStr)){
     	    var p="cmd=diaryread&uid=[%=uid%]&id=[%=id%]&city=[%=city%]&sex=[%=sex%]&ts="+getCurTime();
     	    p=p.replace(/\[%=uid%\]/g,uid).replace(/\[%=id%\]/g,id).replace(/\[%=city%\]/g,getCurCity()).replace(/\[%=sex%\]/g,getCurSex());
         	loadXML('diary',p);
   	        g_curBlogMap.put(mStr,"1");
   	  }//else{alert("您已经浏览过");}
  } 
};

function getCurCity(){
	var city = g_curCity;
	if(g_curObj['otherinfo']!=null)
	   city = NV(g_curObj['otherinfo'],"/user/info/city");
	return city;   
};
function getCurSex(){
	var sex = g_curSex;
	if(g_curObj['otherinfo']!=null)
	   sex = NV(g_curObj['otherinfo'],"/user/info/sex");
	return sex; 
};
function viewPreBlog(){	
	 viewBlogContent(g_curIndex-1);
};
function viewNextBlog(){	
	viewBlogContent(g_curIndex+1);
};

/**
 * 添加日志操作 //若从其他页面，转过来，发现无日志，则尝试获取日志
 */
function doDiaryAdd(){
	 oToggle.deal(1);
	 //清空原有输入，并且把光标定位到指定的输入框
	 $O("diary_add_content").value = "";
	 setSltItm($O("diary_add_class"),"-1");
	 var oBlgTt =  $O("diary_add_title");
	 oBlgTt.value = "";
	 oBlgTt.focus();
	 doDisplayBlogCls("blog_add_class_ul","blog_add_class_tmp");//显示分类	
};

/**
*点击”日志“Tag进行处理，若页面还为拉数据，则进行拉日志，否则直接进行显示即可
*/
function doBlog(){
    oMenuToggle.deal(2);
	if(g_curObj['diary']==null){
	    var uid = getUid();
        var p ="op=bloglist&cmd=userdiarylist&uid=[%=uid%]";  
	    p = p.replace(/\[%=uid%\]/g,uid);
        doFetchBlogEx(p,uid,function(){doGetBlogByCls("-1");});      
    }else{
  	 	doGetBlogByCls("-1");
    }
}; 
//mode = 'bloglist'or'blogfull'两种方式，若不指定则为'bloglist',uid不指定，则为当前用户的日志   
function doFetchBlog(mode,uid){
	if(!isDef(mode)) mode="bloglist";
	if(!isDef(uid)){uid = getUid();}	
	var p ="op=[%=mode%]&cmd=userdiarylist&uid=[%=uid%]&ts="+getCurTime();  
	p = p.replace(/\[%=mode%\]/g,mode).replace(/\[%=uid%\]/g,uid);	
	if(mode=="bloglist"){doFetchBlogEx(p,null,viewBlogList);}else{doFetchBlogEx(p,null,viewBlogFull);}
}

function getUid(){
	var uid = g_curUid;
	if(g_curObj['otherinfo']!=null) uid = NV(g_curObj['otherinfo'],"/user/uid");
	return uid;
};
//在基本资料页显示日志列表
function showDiaryList(){
  if(g_curObj['diary']==null){
    doFetchBlogEx(null,null,function(){
	  userBlogRender.showSimple(g_curObj['diary'],'user_info_bloglist_div',"暂无日志",0,4);
	})
  }else{
      userBlogRender.showSimple(g_curObj['diary'],'user_info_bloglist_div',"暂无日志",0,4);
  }
};

//只拉数据，并不进行显示的设定
function doFetchBlogEx(params,uid,cb){
	var p;
	if(!isDef(params)){
	     if(!isDef(uid))  uid = getUid();
	     p ="cmd=userdiarylist&uid=[%=uid%]&ts="+getCurTime();  
	     p = p.replace(/\[%=uid%\]/g,uid);
	}else{
		   p=params;
	}
    loadXML('diary',p,function(){
   	    var xdoc = getXMLDoc('diary');	
        if(checkDomReturn(xdoc)==false) return; 
 	       g_curObj['diary'] = xdoc;
	       g_curDom          = xdoc;
	       g_curClsIndex     = "-1";
	       g_curTtNums       = xdoc.selectNodes("/diary/list/item").length;
	       g_curMap          = countClass(xdoc,"/diary/list/item","class") ;//统计分类
	       g_curIndex   = 0;    //当前操作的日志记录在当前dom中的索引		
	      if(cb) cb();
	    },errCb);
};

function doBlogPhoto(){	 
       oMenuToggle.deal(1);
	   var pDom = g_curObj['selfinfo'];
	   if(g_curObj['otherinfo']!=null)
	   pDom = g_curObj['otherinfo'];
       photoRender.showByPage(getSubPhotoDom(pDom),"blog_photo_list","暂无照片！",null,9,null,"photoPage","photoPagePg","photoMenuPage","curPage","norPage","blog_photo_pre_page","blog_photo_next_page");	   
	   oToggle.deal(3);
};

//设置用户的当前状态提示
function setCurUserStat(){
	if(getUid()!=g_curUid){
	     var p = "cmd=userstat&uid="+getUid()+"&ts="+getCurTime();
	     loadXML('userinfo',p,function(){
	   	 try{
		     var xdoc = getXMLDoc('userinfo');
		     var ts = NV(xdoc,"/userstat/timestamp");		
		     var lt = NV(xdoc,"/userstat/statinfo/logintime");
		     ts = Math.round(parseDate(ts).getTime()/3600000);
		     lt = Math.round(parseDate(lt).getTime()/3600000);		 
		     $O("currentStatus").innerHTML = getLoginTxt(ts-lt);
		  }catch(e){
		     $O("currentStatus").innerHTML = getLoginTxt(0);
		  }		  
     });	
	}else{
 	  $O("currentStatus").innerHTML = getLoginTxt(0);
    }
};

//根据匹配度返回匹配语
function getMatchStr(xdoc,iMnum){
	if(xdoc==null) return "暂无匹配语";		
	var sMStr = "暂无匹配语";
	var node = xdoc.selectSingleNode("/user/favor");
  if(iMnum < 30){
  	 sMStr = NV(node,"desc4");
  	 if(!isDef(sMStr))
  	   sMStr = getUsrTxt(24,0);  	
  }else if(iMnum >=30&&iMnum < 60){
  	 sMStr = NV(node,"desc3");
  	 if(!isDef(sMStr))
  	   sMStr = getUsrTxt(24,1); 	
  }else if(iMnum >=60&&iMnum < 80){
  	 sMStr = NV(node,"desc2");
  	 if(!isDef(sMStr))
  	   sMStr = getUsrTxt(24,2); 	
  }else if(iMnum >=80){
  	 sMStr = NV(node,"desc1");
  	 if(!isDef(sMStr))
  	   sMStr = getUsrTxt(24,3); 	
  }
  return sMStr;
};
//infoDom为提供info的被动匹配对象，favorDom提出favor的主动匹配对象，bNick=true，nick在favorDom取，false 在infoDom取

function doStartMatch(infoDom,favorDom,divId,bNick){
      var oDiv = $O(divId);
	  if(oDiv==null) return;	
	  var sHTML;
	  if(oDiv.oldHTML){
	   	 sHTML = oDiv.oldHTML;
	  }else{
	  	 sHTML = oDiv.oldHTML = oDiv.innerHTML;
	  }	  
	  var nickDom = (bNick==true?favorDom:infoDom);	
      sHTML= sHTML.replace(/\<!--%/g,"[%").replace(/%--\>/g,"%]");	  
	  sHTML = sHTML.replace(/\[%=nick%\]/g,htmlEncode(NV(nickDom,"/user/info/nick"))).replace(/\[%=short_call%\]/g,(NV(nickDom,'/user/info/sex')=="0"?"他":"她"));
	  
	  var iMnum  = 0;//匹配成功的匹配度
	  //匹配年龄并显示结果
	  var age = getAge(NV(infoDom,"/user/info/age"));
	  sHTML = sHTML.replace(/\[%=age%\]/g,htmlEncode(age));
	  var minage = NV(favorDom,"/user/favor/minage");
	  var maxage = NV(favorDom,"/user/favor/maxage");
	  sHTML = sHTML.replace(/\[%=minage%\]/g,htmlEncode(minage)).replace(/\[%=maxage%\]/g,htmlEncode(maxage));
	  var iage    = parseInt(age,10);
	  var iminage = parseInt(minage,10);
	  var imaxage = parseInt(maxage,10);
	  if(iage>=iminage&&iage<=imaxage){
	   		sHTML = sHTML.replace(/\[%=age_match%\]/g,sYes);
	   		iMnum+=g_matchWeight['age'];	  	
	  }else{
	  	    sHTML = sHTML.replace(/\[%=age_match%\]/g,sNo);	
	  }
	 //匹配身高并显示结果  
	  var stature = NV(infoDom,"/user/info/stature");
	  sHTML = sHTML.replace(/\[%=stature%\]/g,htmlEncode(stature));
	  var minstature = NV(favorDom,"/user/favor/minstature");
	  var maxstature = NV(favorDom,"/user/favor/maxstature");
	  sHTML = sHTML.replace(/\[%=minstature%\]/g,htmlEncode(minstature)).replace(/\[%=maxstature%\]/g,htmlEncode(maxstature));
	  var istature    = parseInt(stature,10);
	  var iminstature = parseInt(minstature,10);
	  var imaxstature = parseInt(maxstature,10);
	  if(istature>=iminstature&&istature<=imaxstature){
	   		sHTML = sHTML.replace(/\[%=stature_match%\]/g,sYes);	
	    	iMnum+=g_matchWeight['stature'];	    	
	  }else{
	  	    sHTML = sHTML.replace(/\[%=stature_match%\]/g,sNo);	
	  }
	  
	  //匹配城市并且显示结果
	  var city = NV(infoDom,"/user/info/city","-1");
	  sHTML = sHTML.replace(/\[%=city%\]/g,htmlEncode(getCity(city)));
	  var fvcity  = NV(favorDom,"/user/favor/city","-1");
	  sHTML = sHTML.replace(/\[%=fvcity%\]/g,htmlEncode(getCityEx(fvcity)));
	  if(fvcity=="-1"||city==fvcity){
	  	 sHTML = sHTML.replace(/\[%=city_match%\]/g,sYes);	
	  	 iMnum+=g_matchWeight['city'];	  
	  }else{
	  	 sHTML = sHTML.replace(/\[%=city_match%\]/g,sNo);	
	  }
	  
	  //匹配职业并且显示结果
	  var vocation = NV(infoDom,"/user/info/vocation","-1");
	  sHTML = sHTML.replace(/\[%=vocation%\]/g,htmlEncode(getVocation(vocation)));
	  var fvvocation = NV(favorDom,"/user/favor/vocation","-1");
	  sHTML = sHTML.replace(/\[%=fvvocation%\]/g,htmlEncode(getVocationEx(fvvocation)));
	  if(fvvocation=="-1"||fvvocation==vocation){
	  	 sHTML = sHTML.replace(/\[%=vocation_match%\]/g,sYes);
	  	iMnum+=g_matchWeight['vocation'];	  
	  }else{
	  	 sHTML = sHTML.replace(/\[%=vocation_match%\]/g,sNo);	
	  }
	  
	  //匹配收入并且显示结果
	  var income = NV(infoDom,"/user/info/income","-1");
	  sHTML = sHTML.replace(/\[%=income%\]/g,htmlEncode(getIncome(income)));
	  var fvincome = NV(favorDom,"/user/favor/income","-1");
	  sHTML = sHTML.replace(/\[%=fvincome%\]/g,htmlEncode(getIncomeEx(fvincome)));
	  if(fvincome=="-1"||parseInt(fvincome,10)<=parseInt(income,10)){
	  	 sHTML = sHTML.replace(/\[%=income_match%\]/g,sYes);
	  	 iMnum+=g_matchWeight['income'];	  	
	  }else{
	  	 sHTML = sHTML.replace(/\[%=income_match%\]/g,sNo);	
	  }
	  
	  //匹配住房条件并且显示结果
	  var house = NV(infoDom,"/user/info/house","-1");
	  sHTML = sHTML.replace(/\[%=house%\]/g,htmlEncode(getHouse(house)));
	  var fvhouse = NV(favorDom,"/user/favor/house","-1");
	  sHTML = sHTML.replace(/\[%=fvhouse%\]/g,htmlEncode(getHouseEx(fvhouse)));
	  if(fvhouse=="-1"||parseInt(house,10)>=parseInt(fvhouse,10)){
	  	sHTML = sHTML.replace(/\[%=house_match%\]/g,sYes);	
	  	iMnum+=g_matchWeight['house'];	   
	  }else{
	  	 sHTML = sHTML.replace(/\[%=house_match%\]/g,sNo);	
	  }
	  
	  //匹配教育程度并且显示结果
	  var education = NV(infoDom,"/user/info/education","-1");
	  sHTML = sHTML.replace(/\[%=education%\]/g,htmlEncode(getEducation(education)));
	  var fveducation = NV(favorDom,"/user/favor/education","-1");
	  sHTML = sHTML.replace(/\[%=fveducation%\]/g,htmlEncode(getEducationEx(fveducation)));
	  if(fveducation=="-1"||parseInt(education,10)>=parseInt(fveducation,10)){
	  	 sHTML = sHTML.replace(/\[%=education_match%\]/g,sYes);	
	  	 iMnum+=g_matchWeight['education'];	   
	  }else{
	  	 sHTML = sHTML.replace(/\[%=education_match%\]/g,sNo);	
	  }
	  
	  //匹配婚姻状况并且显示结果
	  var marital = NV(infoDom,"/user/info/marital","-1");
	  sHTML = sHTML.replace(/\[%=marital%\]/g,htmlEncode(getMarital(marital)));
	  var fvmarital = NV(favorDom,"/user/favor/marital","-1");
	  sHTML = sHTML.replace(/\[%=fvmarital%\]/g,htmlEncode(getMaritalEx(fvmarital)));
	  if(fvmarital=="-1"||fvmarital==marital){
	  	 sHTML = sHTML.replace(/\[%=marital_match%\]/g,sYes);	
	    iMnum+=g_matchWeight['marital'];	  
	  }else{
	  	 sHTML = sHTML.replace(/\[%=marital_match%\]/g,sNo);	
	  }
	  
	  //匹配是否有孩子并且显示结果
	  var childhave = NV(infoDom,"/user/info/child_have","-1");
	  sHTML = sHTML.replace(/\[%=childhave%\]/g,htmlEncode(getChildHave(childhave)));
	  var fvchildhave = NV(favorDom,"/user/favor/childhave","-1");
	  sHTML = sHTML.replace(/\[%=fvchildhave%\]/g,htmlEncode(getChildHaveEx(fvchildhave)));
	  if(fvchildhave=="-1"||fvchildhave==childhave){
	  	sHTML = sHTML.replace(/\[%=childhave_match%\]/g,sYes);	
	  	iMnum+=g_matchWeight['childhave'];	   
	  }else{
	  	sHTML = sHTML.replace(/\[%=childhave_match%\]/g,sNo);	
	  }
	  
	  //匹配是否想要孩子并且显示结果
	  var childwant = NV(infoDom,"/user/info/child_want","-1");
	  sHTML = sHTML.replace(/\[%=childwant%\]/g,htmlEncode(getChildWant(childwant)));
	  var fvchildwant = NV(favorDom,"/user/favor/childwant","-1");
	  sHTML = sHTML.replace(/\[%=fvchildwant%\]/g,htmlEncode(getChildWantEx(fvchildwant)));
	  if(fvchildwant=="-1"||fvchildwant==childwant){
	  	sHTML = sHTML.replace(/\[%=childwant_match%\]/g,sYes);	
	  	iMnum+=g_matchWeight['childwant'];	  
	  }else{
	  	 sHTML = sHTML.replace(/\[%=childwant_match%\]/g,sNo);	
	  }
	  
	  //匹配血型并且显示结果
	  var blood = NV(infoDom,"/user/info/blood","-1");
	  sHTML = sHTML.replace(/\[%=blood%\]/g,htmlEncode(getBlood(blood)));
	  var fvblood = NV(favorDom,"/user/favor/blood","-1");
	  sHTML = sHTML.replace(/\[%=fvblood%\]/g,htmlEncode(getBloodEx(fvblood)));
	  if(fvblood=="-1"||fvblood==blood){
	  	 sHTML = sHTML.replace(/\[%=blood_match%\]/g,sYes);	
	  	 iMnum+=g_matchWeight['blood'];	  
	  }else{
	  	 sHTML = sHTML.replace(/\[%=blood_match%\]/g,sNo);	
	  }
	  
	   //匹配星座并且显示结果 
	  var constell = NV(infoDom,"/user/info/constell");
	  sHTML = sHTML.replace(/\[%=constell%\]/g,htmlEncode(getConstellation(constell)));
	  var fvconstell = NV(favorDom,"/user/favor/constell","-1");
	  sHTML = sHTML.replace(/\[%=fvconstell%\]/g,htmlEncode(getConstellEx(fvconstell)));
	  if(fvconstell=="-1"||fvconstell==getConstellationIndex(constell)){
	  	 sHTML = sHTML.replace(/\[%=constell_match%\]/g,sYes);	
	  	 iMnum+=g_matchWeight['constell'];	  
	  }else{
	  	 sHTML = sHTML.replace(/\[%=constell_match%\]/g,sNo);	
	  }
	  
	  //匹配是否吸烟并且显示结果
	  var smoke = NV(infoDom,"/user/info/smoke","-1");
	  sHTML = sHTML.replace(/\[%=smoke%\]/g,htmlEncode(getSmoke(smoke)));
	  var fvsmoke = NV(favorDom,"/user/favor/smoke","-1");
	  sHTML = sHTML.replace(/\[%=fvsmoke%\]/g,htmlEncode(getSmokeEx(fvsmoke)));
	   if(fvsmoke=="-1"||fvsmoke==smoke){
	  	 sHTML = sHTML.replace(/\[%=smoke_match%\]/g,sYes);	
	  	 iMnum+=g_matchWeight['smoke'];	  
	  }else{
	  	 sHTML = sHTML.replace(/\[%=smoke_match%\]/g,sNo);	
	  }
	  
	  //匹配是否喝酒并且显示结果
	  var drink = NV(infoDom,"/user/info/drink","-1");
	  sHTML = sHTML.replace(/\[%=drink%\]/g,htmlEncode(getDrink(drink)));
	  var fvdrink = NV(favorDom,"/user/favor/drink","-1");
	  sHTML = sHTML.replace(/\[%=fvdrink%\]/g,htmlEncode(getDrinkEx(fvdrink)));
	   if(fvdrink=="-1"||fvdrink==drink){
	  	sHTML = sHTML.replace(/\[%=drink_match%\]/g,sYes);	
	  	iMnum+=g_matchWeight['drink'];	  
	  }else{
	  	sHTML = sHTML.replace(/\[%=drink_match%\]/g,sNo);	
	  }
	  
	  //匹配性格类型并且显示结果
	  var character = NV(infoDom,"/user/info/character","-1");
	  sHTML = sHTML.replace(/\[%=character%\]/g,htmlEncode(getCharacter(character)));
	  var fvcharacter = NV(favorDom,"/user/favor/character","-1");
	  sHTML = sHTML.replace(/\[%=fvcharacter%\]/g,htmlEncode(getCharacterEx(fvcharacter)));
	  if(fvcharacter=="-1"||fvcharacter==character){
	  	 sHTML = sHTML.replace(/\[%=character_match%\]/g,sYes);	
	  	 iMnum+=g_matchWeight['character'];	  
	  }else{
	  	 sHTML = sHTML.replace(/\[%=character_match%\]/g,sNo);	
	  }
	  sHTML = sHTML.replace(/\[%=matchnum%\]/g,iMnum.toString()+"%").replace(/\[%=matchComment%\]/g,htmlEncode(getMatchStr(favorDom,iMnum)));	
	  oDiv.innerHTML = sHTML;	
      return iMnum.toString()+"%";	  
};
function doPairWise(){
    oMenuToggle.deal(3);
	if(g_curObj['otherinfo']==null){
	  alert("对不起，您不能和自己进行“配一配”！");
	  return;
	}
    if(g_curObj['selfinfo']==null){
    	loadXML('userinfo',"cmd=userinfo&ts="+getCurTime(),function (){
    	   g_curObj['selfinfo'] = getXMLDoc('userinfo');    		
	       if(!isFavorSetted(g_curObj['selfinfo'])) return;
	       $O("ta2mMatchNum").innerHTML = doStartMatch(g_curObj['otherinfo'],g_curObj['selfinfo'],"is_she_right_div",false);
		   $O("m2taMatchNum").innerHTML = doStartMatch(g_curObj['selfinfo'],g_curObj['otherinfo'],"is_me_right_div",true);
		   
		   var fid = NV(g_curObj['otherinfo'],'/user/uid');
		   loadXML('msg','cmd=lovescorelist&friend_id=[%=fid%]'.replace(/\[%=fid%\]/g,fid),function(xdoc){
           var t2mScore = 0,m2tScore=0;	 
           subXDocSize(xdoc,'/score/list/item','@dir',"0",function(node){t2mScore+=parseInt(NV(node,'score'),10);});//接收
	       subXDocSize(xdoc,'/score/list/item','@dir',"1",function(node){m2tScore+=parseInt(NV(node,'score'),10);});//发送
           displayScore(t2mScore,"pw_t2m_heart_0","pw_t2m_heart_1","pw_t2m_heart_2");
           displayScore(m2tScore,"pw_m2t_heart_0","pw_m2t_heart_1","pw_m2t_heart_2");});
		   viewCharMathNum();
           oToggle.deal(2);		   
    	},errCb); //获取用户信息 
    	return;
    }else{
    	 if(!isFavorSetted(g_curObj['selfinfo'])) return;
    	 $O("ta2mMatchNum").innerHTML = doStartMatch(g_curObj['otherinfo'],g_curObj['selfinfo'],"is_she_right_div",false);
		 $O("m2taMatchNum").innerHTML = doStartMatch(g_curObj['selfinfo'],g_curObj['otherinfo'],"is_me_right_div",true);
		 var fid = NV(g_curObj['otherinfo'],'/user/uid');
		 loadXML('msg','cmd=lovescorelist&friend_id=[%=fid%]'.replace(/\[%=fid%\]/g,fid),function(xdoc){
           var t2mScore = 0,m2tScore=0;	 
           subXDocSize(xdoc,'/score/list/item','@dir',"0",function(node){t2mScore+=parseInt(NV(node,'score'),10);});//接收
	       subXDocSize(xdoc,'/score/list/item','@dir',"1",function(node){m2tScore+=parseInt(NV(node,'score'),10);});//发送
           displayScore(t2mScore,"pw_t2m_heart_2","pw_t2m_heart_1","pw_t2m_heart_0");
           displayScore(m2tScore,"pw_m2t_heart_2","pw_m2t_heart_1","pw_m2t_heart_0");});
		   viewCharMathNum();
         oToggle.deal(2);
    }		
};
function addCommentCb(){
   //判断自己的资料状态，若为暂时关闭资料，则提示
	if(NV(g_curObj['selfinfo'],"/user/info/doc_hide")=="1"){	   
	   if(window.confirm("对不起，您的资料目前处于暂时关闭状态，请先将资料状态设置为开启才能发表评论。现在设置吗？")){
		    $go(CONST_MANAGE_MOD_STAT,true);
	    }		  	 
		return;
	}
    if(chkForm('add_comments_form')){
	    $O("add_comment_uid").value=getUid();
        $O("add_comment_objid").value = $O("get_comment_objid").value;  
        loadXML('diary',sf('add_comments_form'),function(){
   	     var xdoc = getXMLDoc('diary');
		 //alert(xdoc.xml);
         var code = NV(xdoc,"/return/code");
 	     if(code==e_CGI_RET_SUCCESS){ 	    	
 	    	loadXML('diary',sf('get_comments_form'),getCommentsCb,errCb,'POST');
 	    	return;
 	     }else if(code==e_CGI_ERR_NOT_LOGIN){
		    notLoginHandle();	
			return; 
		 }else if(code==e_CGI_ERR_NOT_RESIST){
 	 	    notRegHandle();    
 	 	    return;
 	     }else if(code == e_CGI_ERR_IP_LIMIT){
		    alert("对不起，您的操作太频繁了，请稍候再试...");		          
		    return;
		 }else if(code==e_CGI_ERR_NO_VALID_PHOTO){		        	         
            var isCfm = window.confirm("对不起，您必须有三张通过审核合格的个人照片才能发表日志评论,现在上传照片吗？");
	        if(isCfm){
		          $go(CONST_MANAGE_UPLD_PHOTO,true);
	        }
		  	return; 
		 }else if(code==e_CGI_ERR_ARG_INVALID||code ==e_CGI_ERR_ARG_LENGTH||code==e_CGI_ERR_ARG_RANGE){
		    alert(NV(xdoc,"/return/desc"));
		    return;  
         }else if(code== e_CGI_ERR_DOC_HIDE){
			if(window.confirm("对不起，您的资料目前处于暂时关闭状态，请先将资料状态设置为开启才能发表评论。现在设置吗？")){
		        $go(CONST_MANAGE_MOD_STAT,true);
	        }			
			return;			
		}else{
		    alert("对不起，系统忙，请稍后再试...");
		    return;
		}},errCb,'POST');
  }
};
/**
 * 处理添加日志评论
 */
function addComment(){
  getSelfInfo(addCommentCb);
};

/**
 *处理删除日志评论
 */
function doDelComment(idx){
	var isCfm = window.confirm("您确认删除该评论吗？");
	idx = parseInt(idx,10);
	var nodes = g_curCommentDom.selectNodes("/diary/list/item");
	if(nodes==null) return;
	var node  = nodes[idx];
	if(node==null) return;	
	if(isCfm){
		 var sObjid = $O("get_comment_objid").value;//获取要删除的日志id
		 //默认评论不是自己发的，则调用主人模式进行删除
		 var sIpFormId = "host_del_comments_form"; 		
		 var sIpObjId  = "host_del_comments_objid";
		 var sInId     = "host_del_comments_id";	
		 var fid       = node.selectSingleNode("friend_id").text; 
		 $O("host_del_comments_uid").value = fid;    
	   if(g_curObj['otherinfo']!=null&&fid==g_curUid){//此时为自己发的评论，则调用客人模式进行删除,也就是跑到别人的表里进行删除
	   	     sIpFormId = "guest_del_comments_form";		     
		     sIpObjId  = "guest_del_comments_objid";
		     sInId     = "guest_del_comments_id";   	  
	   	     $O("guest_del_comments_uid").value = NV(g_curObj['otherinfo'],"/user/uid");
		}
	   $O(sIpObjId).value = sObjid;	
	   var cmtid       = NV(node,"id")
	   $O(sInId).value = cmtid;
	   loadXML('diary',sf(sIpFormId),function(){
		     var xdoc = getXMLDoc('diary');
             var code = NV(xdoc,"/return/code");
 	         if(code==e_CGI_RET_SUCCESS){
 	            alert("删除评论成功！"); 	    	  
				g_curCommentDom = rmXDoc(g_curCommentDom,"/diary/list/item","@id",cmtid); 	
                var comNums = comentRender.showByPage(g_curCommentDom,"diary_comments","",null,null,null,"dcpage","dcpagePg","dcmenuPage","cmtcurPage","cmtnorPage","comment_list_pre_page","comment_list_next_page");			
			    $O("num_comment").innerHTML = comNums.toString();
	            g_curObj['diary'] = modXDoc(g_curObj['diary'],"/diary/list/item","@id",NV(g_curCommentDom,"/diary/objid"),"num_comment",comNums.toString());
	            var oCt = $O("add_comment_content");
	            oCt.value = "";				
 	    	    return;
 	         }else if(code==e_CGI_ERR_NOT_LOGIN ){
		           notLoginHandle();		
			       return; 
			 }else if(code==e_CGI_ERR_NOT_RESIST){
 	 	           notRegHandle();
 	 	           return;
 	         }else{
		          alert("对不起，系统忙，请稍后再试...");
		          return;
		     }},errCb,'POST');
	}//if isCfm
};
/**
*处理删除日志
*/
function doDelBlog(id){
	var isCfm = window.confirm("您确认删除该日志吗？");
	if(isCfm){	
		 var p = "cmd=diarydel&id="+escape(id);
	   loadXML('diary',p,function(){
	       var xdoc = getXMLDoc('diary');
		   //alert(xdoc.xml);
	       var code = NV(xdoc,"/return/code");
 	        if(code==e_CGI_RET_SUCCESS){
 	    	   alert("删除日志成功！");
 	    	   //移除本地的日志记录，而不是重新发送请求 11.17 tenfy 	    	    	  
 	    	   g_curObj['diary'] = rmXDoc(g_curObj['diary'],"/diary/list/item","@id",id); 	    	  
	           g_curDom          = g_curObj['diary'];
	           g_curClsIndex     = "-1";
	           g_curTtNums       = g_curObj['diary'].selectNodes("/diary/list/item").length;
	           g_curMap          = countClass(g_curObj['diary'],"/diary/list/item","class") ;//统计分类
	           g_curIndex   = 0;    //当前操作的日志记录在当前dom中的索引
 	    	   viewBlogFull(); //重新显示全文方式	 
 	    	   return;
 	        }else if(code==e_CGI_ERR_NOT_LOGIN ){
		       notLoginHandle();		
			   return; 
			}else if(code==e_CGI_ERR_NOT_RESIST){
 	 	       notRegHandle();
 	 	       return;
 	        }else{
		          alert("对不起，系统忙，请稍后再试...");
		          return;
		    }} ,errCb,'POST');
	}//end isCfm
};
/**
 *显示编辑日志的输入界面
 */
function doEditBlog(curIdx){
	oToggle.deal(7);
	var iIdx  = parseInt(curIdx,10);
	var nodes = g_curDom.selectNodes("/diary/list/item");
	var node  = nodes[iIdx];
	$O("diary_edit_id").value = NV(node,"id");
	$O("diary_edit_city").value = g_curCity;	
	setSltItm($O("diary_edit_class"),NV(node,"class","-1"));
	var oTitle = $O("diary_edit_title");
    oTitle.value   = NV(node,"title");
    oTitle.focus();
	$O("diary_edit_content").value = NV(node,"content"); 
	doDisplayBlogCls("blog_edit_class_ul","blog_edit_class_tmp");//显示分类			
};
/**
 *提交编辑日志
 */
function diaryEdit(){
	if(chkForm('diary_edit_form')){
    loadXML('diary',sf('diary_edit_form'),function(){
	       var xdoc = getXMLDoc('diary');
		   if(checkDomReturn(xdoc)==false) return; 	     
 	       if(NV(xdoc,"/return/code")==e_CGI_RET_SUCCESS){
 	    	   alert("修改日志成功！");
 	     	   doFetchBlog("blogfull",getUid());
 	    	   return;
 	       }
		   },errCb,'POST');     
	}
	return false;
};
/**
 * 处理发表日志
 */
function diaryAdd(){
	if(chkForm('diary_add_form')){	
   loadXML('diary',sf('diary_add_form'),function(){
 	     var xdoc = getXMLDoc('diary');  	    
 	     var code = NV(xdoc,"/return/code");
 	    if(code==e_CGI_RET_SUCCESS){
 	    	 //alert("发表日志成功！");
 	        doFetchBlog("bloglist",getUid());
 	    	return;
 	    }else if(code==e_CGI_ERR_NOT_LOGIN ){
		    notLoginHandle();		
			return; 
		}else if(code==e_CGI_ERR_NOT_RESIST){
 	 	    notRegHandle();
 	 	    return;
 	    }else if(code == e_CGI_ERR_IP_LIMIT){
		    alert("对不起，您的操作太频繁了，请稍候再试...");		          
		    return;
		}else if(code==e_CGI_ERR_NO_VALID_PHOTO){		        	         
            var isCfm = window.confirm("对不起，您必须有三张通过审核合格的个人照片才能发表日志,现在上传照片吗？");
	        if(isCfm){
		         $go(CONST_MANAGE_UPLD_PHOTO,true);
	        }
		  	return; 
		}else if(code==e_CGI_ERR_ARG_INVALID||code ==e_CGI_ERR_ARG_LENGTH||code==e_CGI_ERR_ARG_RANGE){
		    alert(NV(xdoc,"/return/desc"));
		    return;
		} else{
		    alert("对不起，系统忙，请稍后再试...");
		    return;
        }},errCb,'POST');
     return false;   
	}//end chkForm
	return false;
};

/**
 *分类显示日志列表,根据动态的类别名字进行计算当前子dom
 */
function doGetBlogByClsName(clsName){
	var sIdx = getUsrIndex(0,clsName);
	if(sIdx==-1) sIdx =-2;
	doGetBlogByCls(sIdx.toString());
};
/**
 *分类显示日志列表,根据动态的类别进行计算当前子dom
 */
function doGetBlogByCls(clsIdx){
	 g_curClsIndex = clsIdx;
	 if(g_curClsIndex=="-1"){ //'-1'表示查看全部
	    $O("blog_list_curcls").innerHTML = "全部日志";
	    g_curDom = g_curObj['diary'];
	 }else{
	    var oCurMapInfo = g_curMap.get(clsIdx);
	    $O("blog_list_curcls").innerHTML = oCurMapInfo.clsName;
	    g_curDom = subXDoc(g_curObj['diary'],"/diary/list/item","@class",clsIdx);//此时进行子集计算
	 }
	 oToggle.deal(5);
	 blogListRender.showByPage(g_curDom,"diary_list","对不起，暂时无该类型的日志！",null,null,null,"page","pagePg","menuPage","blcurPage","blnorPage","diary_list_pre_page","diary_list_next_page");
	 doDisplayBlogCls("blog_list_class_ul","blog_list_class_tmp");//显示分类
};
/**
*显示日志分类导航菜单
*/
function doDisplayBlogCls(clsDivId,clsTmpId){
	//获取总的要替换的模板
	var oClsDiv = $O(clsDivId);
	var tptHTML;
	if (oClsDiv.oldHTML) {
		tptHTML = oClsDiv.oldHTML;
	}else{
		tptHTML = oClsDiv.oldHTML = oClsDiv.innerHTML;
	}
	var sLiStr = $O(clsTmpId).innerHTML;
  var clsHTMLs = "";//用于替换[%=clsLists%]的字符串
	var keys = g_curMap.keys();
  for(var i=0;i<keys.length;i++){
  	var key = keys[i];
  	var clsObj   = g_curMap.get(key);  
  	var clsValue = clsObj.clsValue;
  	var clsName  = clsObj.clsName;
  	var clsNums  = clsObj.size;
  	if(clsNums>0){//11.3,若日志类别对应的日志为0则不进行显示
   	  var clsStr = sLiStr.replace(/\[%=classValue%\]/g,clsValue).replace(/\[%=className%\]/g,clsName).replace(/\[%=classNums%\]/g,clsNums);
      clsHTMLs+=clsStr;
    }
  }//end for
  var ulHTML = tptHTML.replace(/\[%=totalNums%\]/g,g_curTtNums).replace(/\[%=clsLists%\]/g,clsHTMLs);
  oClsDiv.innerHTML = ulHTML;
  oClsDiv.style.display = "";
};

function countClass(xdoc,xpath,attrTag){//统计
	if(xdoc==null||xpath==null||xpath=="")
	   return null;  
	var mapClsInfo = new Map();
	//根据日志的类别数组，初始化Map
	var szBlogCls = g_szUserInfo[0];  
	for(var i =0;i<szBlogCls.length;i++){
		var clsName = szBlogCls[i];		
		var objCls  = new ClassInfo(i,clsName,subXDocSize(xdoc,xpath,"@"+attrTag,i.toString()));
		mapClsInfo.put(i,objCls);
	}
	return mapClsInfo;   
};

var g_curCommentDom = null;
var sDelComent  = "<a href='#' onclick=javascript:doDelComment('[%=idx%]');>删除</a>&nbsp;";
var sAddBadHtml = "&nbsp;<a id='msk_usrlst' href='#' onclick=javascript:doAddBad('[%=fid%]');>加入黑名单</a>";
//处理日志评论的“删除”跟“拉入黑名单”是否显示的回调问题
function doDspDelCommentCb(idx){  
	if(g_curCommentDom==null) return "";
	var nodes = g_curCommentDom.selectNodes("/diary/list/item");
	if(nodes==null||nodes.length==0) return "";
	idx = parseInt(idx,10);
	var node = nodes[idx];	
	if(node==null) return "";
	var fid = NV(node,"friend_id");	
	if(g_curObj['otherinfo']==null){//浏览自己的日志，则删除都是可用的，加入黑名单则是只要friendid不等于当前用户才是可以
	  if(fid==g_curUid){//只返回删除
			 return sDelComent.replace(/\[%=idx%\]/g,idx.toString());
	  }else{//返回删除跟加入黑名单
	  	var s = sDelComent+sAddBadHtml;
	  	return s.replace(/\[%=idx%\]/g,idx.toString()).replace(/\[%=fid%\]/g,fid);
	  }		
	}else{//浏览他人日志
	  if(fid==g_curUid)
	    return sDelComent.replace(/\[%=idx%\]/g,idx.toString());
	  else
		  return ""; 	
	}	 
};
//拉入黑名单
function doAddBad(fid){
    var fnick = NV(subXDoc(g_curCommentDom,"/diary/list/item","@friend_id",fid),"/diary/list/item/friend_nick");
	var sCfm = "您确认把 "+fnick+"(用户ID:"+fid+") 加入黑名单吗？";
	var isCfm = window.confirm(sCfm);
	if(isCfm){
		var p = "cmd=userlistadd&type=1&uid="+fid;	
		loadXML('userlist',p,function (){
	     var xdoc = getXMLDoc('userlist');		
 	  	 var rootTag = xdoc.documentElement.tagName.toLowerCase();
	     var code = NV(xdoc,"/return/code");	   
 	    if(code==e_CGI_RET_SUCCESS){
 	    	  alert("加入黑名单成功！"); 	    	 
 	    	  return;
 	     }else if(code==e_CGI_ERR_NOT_LOGIN ){
		    notLoginHandle();		
			return; 
		}else if(code==e_CGI_ERR_NOT_RESIST){
 	 	    notRegHandle();
 	 	    return;
		}else if(code == e_CGI_ERR_SYS_BLACKLIST){
		    alert("对不起，您已经被列入系统黑名单，无法进行此操作。");
		    return;
		}else if(code == e_CGI_ERR_USER_BLACKLIST){
		    alert("对不起，您已经被对方列入黑名单，无法进行此操作。");		           
		    return;	
		}else if(code == e_CGI_ERR_NO_VALID_PHOTO){
		  	var isCfm = window.confirm("对不起，您必须有三张通过审核合格的个人照片才能进行此操作，现在上传照片吗？");
	        if(isCfm){
		           $go(CONST_MANAGE_UPLD_PHOTO,true);
	        }		  	 
		  	return;	  
 	    }else{
		      //alert(desc);
		      alert("对不起，系统忙，请稍后再试...");
		      return;
		  }},errCb);
	}	  
};


/**
 *获取日志评论
 */
function getCommentsCb(){
	  var xdoc = getXMLDoc('diary');
	  if(checkDomReturn(xdoc)==false) return; 	
	  g_curCommentDom = xdoc;
	  var comNums = comentRender.showByPage(xdoc /*0*/,"diary_comments","",null,null,null,"dcpage","dcpagePg","dcmenuPage","cmtcurPage","cmtnorPage","comment_list_pre_page","comment_list_next_page");
	  $O("num_comment").innerHTML = comNums.toString();
	  g_curObj['diary'] = modXDoc(g_curObj['diary'],"/diary/list/item","@id",xdoc.selectSingleNode("/diary/objid").text,"num_comment",comNums.toString());
	  var oCt = $O("add_comment_content");
	  oCt.value = "";	
};

function trunContentLen(bContent){
   bContent = htmlDecode(bContent);
   if(bContent==""||bContent==null){
		return "日志内容暂为空。";
	}
	var temp = txtHandle(bContent);
	return htmlEncode(temp);
};
function truncateBlogTitle(bTitle){
     bTitle= htmlDecode(bTitle);
	if(isDef(bTitle)){
	    if(bTitle.length>9){
	        return htmlEncode((bTitle.substr(0,9)+"..."));
	    }else{
		      return htmlEncode(bTitle);
	    }   
	}else{
		return '暂无标题';
	} 
};
function getDescCb(desc){
desc = htmlDecode(desc);
if(!isDef(desc)||desc.length==0)
	 return "暂无自我介绍";
else
	 return htmlEncode(desc);
};

function truncateTime(t){
	return t.substr(2,14);
};

function setPhotoTtCb(tt){
    tt= htmlDecode(tt);
	if(isDef(tt)){
	    if(tt.length>13){
	        return htmlEncode(tt.substr(0,13)+"...");
	    }else{
		      return htmlEncode(tt);
	    }   
	}else{
		return '暂无标题';
	} 
};

//向对方发送留言
var m2tScore=0;
function doSndMsg(obj){
	if(g_curObj['otherinfo']==null){
	  	alert("对不起，您不能给自己发送留言！");
		obj.href = "#";
	  	return;
	}	
	obj.href = "#sndmsg_div";
	//弹出输入留言的方框
	$show("sndmsg_div");
	$O("sndmsg_fm_content").value = "";
	var oFmCt = $O("sndmsg_fm_title");
	oFmCt.value="";
	oFmCt.focus();	
	//显示当前的好感度
	var fid = NV(g_curObj['otherinfo'],"/user/uid");
	 //获取fid的好感度并且显示当前的好感度
	$O("t2m_heart").innerHTML = (g_curSex=="0"?("她对我的好感度："):("他对我的好感度："));
    $O("m2t_heart").innerHTML = (g_curSex=="0"?("我对她的好感度："):("我对他的好感度："));
    loadXML('msg','cmd=lovescorelist&friend_id=[%=fid%]'.replace(/\[%=fid%\]/g,fid),function(){
     var xdoc = getXMLDoc('msg');	
     var t2mScore = 0;
	 m2tScore=0;	 
     subXDocSize(xdoc,'/score/list/item','@dir',"0",function(node){t2mScore+=parseInt(NV(node,'score'),10);});//接收
	 subXDocSize(xdoc,'/score/list/item','@dir',"1",function(node){m2tScore+=parseInt(NV(node,'score'),10);});//发送
     displayScore(t2mScore,"t2m_heart_0","t2m_heart_1","t2m_heart_2");
     displayScore(m2tScore,"m2t_heart_0","m2t_heart_1","m2t_heart_2");
	 if(m2tScore<=0){ $O("minus_score").disabled = true;}else{ $O("minus_score").disabled = false;}
	 if(m2tScore>=9){$O("add_score").disabled = true;}else{ $O("add_score").disabled = false;}
   });
};

function getSelfInfo(cb){
    if(g_curObj['selfinfo']==null){
    	loadXML('userinfo',"cmd=userinfo&ts="+getCurTime(),function (){
    	   g_curObj['selfinfo'] = getXMLDoc('userinfo');    		
	       //if(!isFavorSetted(g_curObj['selfinfo'])) return;
	       if(cb) cb();  
    	},errCb); //获取用户信息 
    	return;
    }else{
    	 //if(!isFavorSetted(g_curObj['selfinfo'])) return;    
        if(cb) cb();  		 
    }	
};
function doStartSndCb(){
   //判断自己的资料状态，若为暂时关闭资料，则提示
	if(NV(g_curObj['selfinfo'],"/user/info/doc_hide")=="1"){	   
	   if(window.confirm("对不起，您的资料目前处于暂时关闭状态，请先将资料状态设置为开启才能发送留言。现在设置吗？")){
		    $go(CONST_MANAGE_MOD_STAT,true);
	    }		  	 
		return;
	}
	if(m2tScore<=0&&getRadioValue("score")=="-1"){
	   alert("对不起，您当前的好感度已经达到最低。");
	   return;
	}
	if(m2tScore>=9&&getRadioValue("score")=="1"){
	   alert("对不起，您的好感度已经达到最高");
	   return;
	}
	var uid = NV(g_curObj['otherinfo'],"/user/uid");
	if(chkForm('sndmsg_fm')){
		$O("sndmsg_fm_uid").value = uid;
		loadXML("msg",sf('sndmsg_fm'),function (){
			var xdoc = getXMLDoc('msg');
			//alert(xdoc.xml);
 	  	    var code = NV(xdoc,"/return/code");
	        if(code==e_CGI_RET_SUCCESS){
	    	    alert("发送留言成功！");
	    	    $hide("sndmsg_div");
				//发送心动指数
			    doSndLoveScore(uid,getRadioValue("score"));
	    	    return;	        
			}else if(code==e_CGI_ERR_NOT_LOGIN){
		        notLoginHandle();
			    return;	
		    }else if(code==e_CGI_ERR_NOT_RESIST){
 	 	        notRegHandle();
 	 	        return;
 	        }else if(code == e_CGI_ERR_IP_LIMIT){
		        alert("对不起，您的操作太频繁了，请稍候再试...");		          
		        return;
		    }else if(code == e_CGI_ERR_SYS_BLACKLIST){
		        alert("对不起，您已经被列入系统黑名单，无法发送留言。");
		        return;
		    }else if(code == e_CGI_ERR_USER_BLACKLIST){
		        alert("对不起，您已经被对方列入黑名单，无法发送留言。");		           
		        return;
		    }else if(code == e_CGI_ERR_NO_VALID_PHOTO){		  	 
	           if(window.confirm("对不起，您必须有三张通过审核合格的个人照片才能发送留言，现在上传照片吗？")){
		         $go(CONST_MANAGE_UPLD_PHOTO,true);
	           }		  	 
		  	  return;
			}else if(code== e_CGI_ERR_DOC_HIDE){
			   if(window.confirm("对不起，您的资料目前处于暂时关闭状态，请先将资料状态设置为开启才能发送留言。现在设置吗？")){
		       $go(CONST_MANAGE_MOD_STAT,true);
	           }		
			   return;
		    }else{
		      alert("对不起，系统忙，请稍后再试...");
		      return;
		    }},errCb,'POST');
	}
};
function doStartSnd(){
	if(g_curObj['otherinfo']==null){
	  	alert("对不起，不能给自己发送留言！");
	  	return;
	}
	getSelfInfo(doStartSndCb);
};
function doCancelSnd(){
	$hide("sndmsg_div");
};

//个人主页的加入好友收藏
function doAddFriendList(){
	if(g_curObj['otherinfo']==null){
	  	alert("对不起，您不能把自己加入好友收藏！");
	  	return;
	}
	var uid = NV(g_curObj['otherinfo'],"/user/uid");
	var p ="cmd=userlistadd&type=0&uid="+uid;	
	loadXML("userlist",p,function (){
		var xdoc = getXMLDoc('userlist'); 	    
	    var code = NV(xdoc,"/return/code");
	    if(code==e_CGI_RET_SUCCESS){
	    	alert("添加好友收藏成功！");	
	    	return;
	    }else if(code==e_CGI_ERR_NOT_LOGIN){
		    notLoginHandle();
			return;	
		}else if(code==e_CGI_ERR_NOT_RESIST){
 	 	    notRegHandle();
 	 	    return;
		}else if(code == e_CGI_ERR_SYS_BLACKLIST){
		    alert("对不起，您已经被列入系统黑名单，无法添加好友收藏。");
		    return;
		}else if(code == e_CGI_ERR_USER_BLACKLIST){
		    alert("对不起，您已经被对方列入黑名单，无法把对方加为好友。");		           
		    return;	
		}else if(code == e_CGI_ERR_NO_VALID_PHOTO){
		  	var isCfm = window.confirm("对不起，您必须有三张通过审核合格的个人照片才能添加好友收藏，现在上传照片吗？");
	        if(isCfm){
		          $go(CONST_MANAGE_UPLD_PHOTO,true);
	        }		  	 
		  	return;	 
 	    }else{
		    alert("对不起，系统忙，请稍后再试...");
		    return;
		}},errCb);
};

//查看联系方式
function doViewContact(){
   var oContact = $O("view_contact_div");
  var sHTML ="";
  if(oContact.oldHTML){ sHTML = oContact.oldHTML; }else{sHTML = oContact.oldHTML = oContact.innerHTML; }
  var node = null;
  if(g_curObj['otherinfo']!=null){//查看别人
		 node = g_curObj['otherinfo'].selectSingleNode("/user/info");
		 if(node==null) return;
		 var isHidden = NV(node,"address_hide");
		 if(isHidden=="1"){
		    oContact.innerHTML = sHTML;		 
            $O("view_contact_dd").innerHTML = "对不起，对方已经隐藏了联系方式，您暂时无法查看。";
            oContact.style.display ="";     
            return;    
		 }
  }else{//查看自己
  	  var node = g_curObj['selfinfo'].selectSingleNode("/user/info");
  	  if(node==null) return;  	
  }
    var qq      = htmlEncode(preProQQ(NV(node,"QQ")));
 	var msn     = htmlEncode(NV(node,"msn"));
    var phone   = htmlEncode(NV(node,"phone"));
    var contact = htmlEncode(NV(node,"contact"));
 	var email   = htmlEncode(NV(node,"email"));
	var mobile  = htmlEncode(NV(node,"mobile"));
    sHTML = sHTML.replace(/\[%=qqNum%\]/g,qq).replace(/\[%=msn%\]/g,msn).replace(/\[%=phone%\]/g,phone).replace(/\[%=contact%\]/g,contact).replace(/\[%=email%\]/g,email).replace(/\[%=mobile%\]/g,mobile);
    oContact.innerHTML = sHTML;
    oContact.style.display ="";  
};

function doLink(uid){
	window.open("/user/?uid="+uid);
};
function doUsrMnt(){
    if(getUid()==g_curUid)  $go(CONST_MANAGE_DIR,true);
	else  $go(CONST_MANAGE_DIR);
};
function doMntMsg(){
    if(getUid()==g_curUid)   $go(CONST_MANAGE_VIEW_MSG,true);
	else  $go(CONST_MANAGE_VIEW_MSG);
};
function ubbReplaceCb(content){
   var str = ubbReplace(content,"all"); 
   return str;
 };
 
///////////////////////////////////////////////////下面为性格测试的函数处理逻辑/////////////////////////////////////////////////////////////////// 
 function viewCharMatchDetal() {
   $show('hideCharMatchDetail');
   $hide('viewCharMatchDetail');
   $show('characterMatchDetail');
   var oDetailDiv = $O("characterMatchDetail");  
   if(oDetailDiv.oldHTML){//若已经拉取过详情信息，则直接输出即可，不必重新请求
      oDetailDiv.innerHTML = oDetailDiv.oldHTML;
	  return;
    }
    loadXML("psychtest","cmd=getmatchdetail&uid="+getUid(),function(xdoc){ //必须改成获取性格匹配详情
       //alert(xdoc.xml);	
	   if(checkDomReturn(xdoc,true)==false) return;  
	   var code = NV(xdoc,"/return/code");
	   if(code==e_CGI_RET_SUCCESS){ //成功获取页面数据，为完成心理测试也是同样输出
	       var desc =  NV(xdoc,"/return/desc");
		   if(desc=="201"||desc=="203"){ //未完成测试
	           oDetailDiv.innerHTML ="对不起，您还没完成性格测试，无法查看与对方的性格匹配详情。 <a onclick='javascript:$go(CONST_PSYCHTEST);'><font color='blue'>现在进行性格测试</font></a>";
		   }else if(desc=="204"||desc=="206"){//对方未完成
		       oDetailDiv.innerHTML ="对不起，对方还没完成性格测试，无法查看对方与您的性格匹配详情。";	
		   }else if(inArray(["300","301","302","303","304","305"],desc)!=-1){
		     oDetailDiv.innerHTML = "性格匹配详情加载出错!";
		   }else{
		        oDetailDiv.innerHTML = desc;
				if(!oDetailDiv.oldHTML)  oDetailDiv.oldHTML = desc;//缓冲起来
		   }
	       return; 		   
	    }else if(code==e_CGI_ERR_VIP_CHECK){  
		   oDetailDiv.innerHTML="<center>"+$O("noAllowedView").innerHTML+"</center>";
           return;	
        }else if(code==e_CGI_ERR_IDENTIFY_CHECK){
	       oDetailDiv.innerHTML="对不起，您还没通过身份验证，只有通过身份验证才能查看对方的测试报告。<a href='/manage/?op=viewrealchk'>现在进行验证</a>";
		   return;
	    }else if(code==e_CGI_ERR_EDUCATION_CHECK){
	       oDetailDiv.innerHTML="对不起，您还没通过学历验证，只有通过学历验证才能查看对方的测试报告。<a href='/manage/?op=vieweduchk'>现在进行验证</a>";
		   return;		   		   
        }else {
		  oDetailDiv.innerHTML = "性格匹配详情加载出错!";
        }		
	},function(){oDetailDiv.innerHTML = "性格匹配详情加载出错!";});	
};
//查看各个匹配详情的回调方法
var szTitleName =['认知模式','行事风格','情绪管理','人际信任','社交倾向','沟通偏好','心理需求'];
function getMathDetailByPart(part){ 
	for(var i=0; i<7; i++){ 
		if(i == part){
			$O('part'+(i+1)).style.display = 'block';
			$O('t'+(i+1)).innerHTML = "<span style='font-size: 14px;'><b>"+szTitleName[i]+"</b></span>" 
		}else{
			$O('part'+(i+1)).style.display = 'none'; 
			$O('t'+(i+1)).innerHTML = "<a href='javascript:getMathDetailByPart("+i+")'><b id=b1 style='font-size: 14px;text-decoration: underline;' >"+szTitleName[i]+"</b></a>"
		}
	}
} 

//查看匹配度
function viewCharMathNum(){
    var oDiv = $O("charMathNum");
	if(oDiv.oldHTML){
      oDiv.innerHTML = oDiv.oldHTML;
	  return ;
	}
    loadXML("psychtest","cmd=viewpsychmatch&uid="+getUid(),function(xdoc){ //必须改成获取性格匹配详情
       //alert(xdoc.xml);	
	   if(checkDomReturn(xdoc,true)==false) return;  
	   var code = NV(xdoc,"/return/code");
	   if(code==e_CGI_RET_SUCCESS){ //成功获取页面数据，为完成心理测试也是同样输出
	       var desc =  NV(xdoc,"/return/desc");
		   if(desc=="201"||desc=="203"){ //未完成测试
	          oDiv.innerHTML ="对不起，您还没完成性格测试。 <a onclick='javascript:$go(CONST_PSYCHTEST);'><font color='blue'>现在进行性格测试</font></a>";
		   }else if(desc=="204"||desc=="206"){//对方未完成
		      oDiv.innerHTML ="对不起，对方还没完成性格测试。";		   
		   }else if(inArray(["300","301","302","303","304","305"],desc)!=-1){
		     oDiv.innerHTML = "性格匹配度加载出错!";
		   }else{
		     oDiv.innerHTML = desc+"%";
			 if(!oDiv.oldHTML) oDiv.oldHTML = oDiv.innerHTML;
		   }
	       return; 		   
	    }else if(code==e_CGI_ERR_VIP_CHECK){  
		   oDiv.innerHTML=$O("noAllowedView").innerHTML;
           return;			
        }else {
		  oDiv.innerHTML = "性格匹配度加载出错!";
        }		
	},function(){oDiv.innerHTML = "性格匹配度加载出错!";});	
};

//已经拉过的测试报告必须进行缓冲，查看测试报告
function doPsychTest(part){
    oMenuToggle.deal(5);
	oToggle.deal(8);
    var oReportDiv = $O("psychreport_embedded");		
	if(isDef(oReportDiv[part])){ //第part部分已经拉取过
	 oReportDiv.innerHTML = oReportDiv[part];
	 return;
	}
	coverAll("加载中，请稍候...");
	loadXML("psychtest","cmd=getpsychreport&uid="+getUid()+"&part="+part,function(xdoc){
	   uncoverAll();	
	   if(checkDomReturn(xdoc,true)==false) return;  
	   var code = NV(xdoc,"/return/code");
	   if(code==e_CGI_RET_SUCCESS){ //成功获取页面数据，为完成心理测试也是同样输出
	       var desc =  NV(xdoc,"/return/desc");
		   if(inArray(["201","203","204","206"],desc)!=-1){ //未完成测试
	          oReportDiv.innerHTML =(getUid()==g_curUid?"对不起，您还没完成性格测试，暂无报告。":"对不起，对方还没完成性格测试，暂无报告。");
		   }else if(inArray(["300","301","302","303","304","305"],desc)!=-1){
		     oReportDiv.innerHTML = "测试报告加载出错!";
		   }else{
		     oReportDiv.innerHTML = desc;
		     oReportDiv[part] = desc;
		   }
	       return;
	    }else if(code==e_CGI_ERR_VIP_CHECK){  
		   oReportDiv.innerHTML="<center>"+$O("noAllowedView").innerHTML+"</center>";
           return;			
        }else if(code==e_CGI_ERR_REPORTHIDE_CHECK){
		   oReportDiv.innerHTML="对方没有开放自己的测试报告";
           return;
        }else if(code==e_CGI_ERR_IDENTIFY_CHECK){
	       oReportDiv.innerHTML="对不起，您还没通过身份验证，只有通过身份验证才能查看对方的测试报告。<a href='/manage/?op=viewrealchk'>现在进行验证</a>";
		   return;
	    }else if(code==e_CGI_ERR_EDUCATION_CHECK){
	       oReportDiv.innerHTML="对不起，您还没通过学历验证，只有通过学历验证才能查看对方的测试报告。<a href='/manage/?op=vieweduchk'>现在进行验证</a>";
		   return;		   
        }else {
		   oReportDiv.innerHTML = "测试报告加载出错!";
        }	
 	
	},function(){uncoverAll();oReportDiv.innerHTML = "测试报告加载出错!";});	
}; 
function getRptByPart(part){
  doPsychTest(part);
};

function viewCharMatchListEx(){
  viewCharMatchList(g_curCity,getAtiSex(g_curSex));
}; 
window.onload = init;