//评论回复用一个页面  
//初始化转换字符串
var userId = "";//用户ID
var username = "";//用户名
var articleId="";//文章ID
var key="";//验证KEY
var inReply=false;//是不是查看回复评论进来的
var commentId="";//评论ID
var iscomment="0";//是否可以评论 0不可评论 1可以评论 2可以匿名评论
//得到分页数据 
var pn=null;
function showComment() {
	//进入的时候解析参数
	inputVal();
	//得用户
	userId=getCookie("userId");
	username=getCookie("userName");
	key=getCookie("handlerKey");
	
	if(articleId==null||articleId=="")
	  return;
	if(inReply)//是查看回复评论进来的
	{
        if(commentId==null||commentId=="")
          return;
		//得到评论
		getComment();
	}
	
	//分页数据
	var ptlData = {
		start :0,
		limit :4,
		dataDom :document.getElementById("rd"),
		swtCt:true,
		req : {// 1
			"cns" : ["PUBLIC",articleId,userId,""+inReply,commentId,""+iscomment],
			sn:"CommentHandle",
			onloadFilter :""
		},
		autoCtH:false,//自适应高度 
        itemList:{
            dom:[],
            listClassName:"tx",
            curPageClassName:"cp",
            shownum:8,
            callback:function(dom,list,me){
        	}
        },
		renderView : function(me) {// self design 2
			var str = "";
			//组织HTML片段
			str=updateHtml(me.resultArr);
		    me.cfg.dataDom.innerHTML = str;
		    if(me.resultArr!=null&&me.resultArr.length>1)
		    	document.getElementById("mc").style.display='block';
		    else
		    {
		    	//是查看回复评论进来的
		    	if(inReply)
		    	  document.getElementById("allreply").style.display='none';
		    }
		    	
	    }
	};
	// paging cfg 3
	if ( pn==null) {
		pn = new PagingToolbar(ptlData);
		pn.cfg.req.pss = [ [ "id", "title", "content", "userid","tmRemark","face","pid","status","username","istop"]];
		pn.init(pn.cfg);
		pn.tb[1].style.display="none";
	} else {
		pn.cfg.req.cns=["PUBLIC",articleId,userId,""+inReply,commentId,""+iscomment];
		pn.cfg.req.pss = [ [ "id", "title", "content", "userid","tmRemark","face","pid","status","username","istop"]];
		pn.cfg.start=0;
		pn.fresh();
	}
}
//填写条件参数
function inputVal()
{
	var urlstr=location.search;
	if(urlstr!=null&&urlstr!="")
	{
		var params=urlstr.split("&");
		for(var i=0;i<params.length;i++)
		{
			var param=params[i];
			var vals=param.split("=");
			if(vals!=null)
			{
				if(vals[0].indexOf("inReply")!=-1)
				{
					if(vals[1]=="1")
					 inReply=true;
					else
					 inReply=false; 
				}
				if(vals[0].indexOf("archiveId")!=-1)
				   articleId=vals[1]
				if(vals[0].indexOf("iscomment")!=-1)
				   iscomment=vals[1]
				if(vals[0].indexOf("commentId")!=-1)
				   commentId=vals[1]
				   
			}
		}
	}
}
//评论列表部分
function updateHtml(data)
{
	var len = data.length;
	var str="";
	str += "<div id='comments' class='comments'>";
	for ( var i = 1; i <len; i++){
	   if(data[i]==null)
		 continue;
	   var rmRemark=data[i]["A.tmRemark"]==null?null:data[i]["A.tmRemark"];
	   var name =data[i]["A.username"]==null?comlangfunc.getInfo("lang_anouser"):data[i]["A.username"];
	   var content=data[i]["A.content"]==null?"":data[i]["A.content"];
	   var id=data[i]["A.id"]==null?"":data[i]["A.id"];
	   var status=data[i]["A.status"]==null?"":data[i]["A.status"];
	   var istop=data[i]["A.istop"]==null?"":data[i]["A.istop"];
	   var pid=data[i]["A.pid"]==null?"":data[i]["A.pid"];
	   var title=data[i]["A.title"]==null?"":data[i]["A.title"];
	   var havp=data[i]["A.havp"]==null?false:data[i]["A.havp"];
	   
	   var rmRemarks="";
	   if(rmRemark!=null)
	   {
	       var date = new Date(rmRemark.time);
		   rmRemarks =date.toLocaleString();
	   }
	   //如果是回复的回复 那么就取父回复
	   var preply="";
	   if(pid!=""&&havp)
	   {
		   preply=getPreply(data[i]);
	   }
	   var topHtml="";
	   if(istop==1)
	     topHtml="<span><font color='red'>&nbsp;&nbsp;『"+comlangfunc.getInfo("lang_top")+"』</font></span>";
	   if(status==0)
	     str+="<div class='comment_wait'>";
	   else  
	     str+="<div class='comment'>";
	   //上部
	   str+="<div class='commentTitle'>"+topHtml+"<span>&nbsp;&nbsp;"+name+"：</span><span class='rm'>"+rmRemarks+"</span></div>";
	   //内容   评论的回复要处理   看pid是不是为空 ，不是就关联查询  然后组织内容
	   //父回复
	   if(preply!="")
	       str+="<div style='padding: 15px 15px 5px; display: block;'>"+preply+"</div>";
	   if(status==0)
		   str+="<div class='commentContent'><p><span style='background:#D2C8B0'>["+comlangfunc.getInfo("lang_waiting")+"]</span></p><p><b>"+title+"</b></p><p id='content_"+id+"'>"+content+"</p></div>";
	   else
	   {
	   	   str+="<div class='commentContent'><p><b>"+title+"</b></p><p id='content_"+id+"'>"+content+"</p></div>";
		   //下部
		   if(!inReply){//不是查看回复评论进来的
		     str+="<div class='commentTail'><span class='w'><a id='reply' href='javascript:reply("+id+")'>"+comlangfunc.getInfo("lang_reply")+"</a></span></div>";
		   }
	   }
	   str+="</div>";
	}
	str += "</div>";
	return str;
}
//如果是评论的回复 那么就取父回复
function getPreply(data)
{
   var str="";
   var rmRemark=data["B.tmRemark"]==null?null:data["B.tmRemark"];
   var name =data["B.name"]==null?comlangfunc.getInfo("lang_anouser"):data["B.name"];
   var content=data["B.content"]==null?"":data["B.content"];
   var id=data["B.id"]==null?"":data["B.id"];
   var status=data["B.status"]==null?"":data["B.status"];
   var istop=data["B.istop"]==null?"":data["B.istop"];
   var title=data["B.title"]==null?"":data["B.title"];
   var ppid=data["B.pid"]==null?"":data["B.pid"];
   var rmRemarks="";
   if(rmRemark!=null)
   {
       var date = new Date(rmRemark.time);
	   rmRemarks =date.toLocaleString();
   }	
   var topHtml="";
   if(istop==1)
     topHtml="<span><font color='red'>&nbsp;&nbsp;『"+comlangfunc.getInfo("lang_top")+"』</font></span>";      
   str+="<div class='floor'>";
   //上部
   str+="<span class='floor_head'>"+topHtml+"<span>&nbsp;&nbsp;"+name+" &nbsp; "+comlangfunc.getInfo("lang_commenton")+"</span><span>"+rmRemarks+"</span><span>&nbsp;&nbsp;<a href='javascript:allReply("+id+")'>["+comlangfunc.getInfo("lang_allreply")+"]</a></span></span>";
   str+="<span class='floor_content'><p><b>"+title+"</b></p><p>"+content+"</p></span>";
   str+="</div>";
   return str;
}

//发表评论
function putComment(isReply)
{
	if(iscomment!="2")//不可以匿名评论
	{
	   if(userId==null||userId==""){
			//定向登录
			redectLogin(""+comlangfunc.getInfo("lang_registerinfo")+"");
			return;
	   }
	}
	var pid="";
	var title="";
	var content=""
	if(isReply)
	{
		title=document.getElementById("replyTitle").value;
	    content=document.getElementById("replyContent").value;
	    pid=document.getElementById("preplyId").value;
	}
	else
	{
		title=document.getElementById("comTitle").value;
	    content=document.getElementById("comContent").value;
	}
    if(validation(title,content)){
		var jsonrpc = new JSONRpcClient("/cc/JSON-RPC");
	    var ps = {id:null,userid:userId, title:title,content:content,articleid:articleId,pid:pid,key:key,iscomment:""+iscomment,username:username, method:"M"};
	    var req = {"map": {"psMap": {map: ps, "javaClass": "java.util.HashMap"}, "SN": "CommentHandle"}, "javaClass": "java.util.HashMap"};
		jsonrpc.BH.handle(function(responseData, e){
			if(e != null)
			{
				if(e.message=="nouser")
					redectLogin(""+comlangfunc.getInfo("lang_nouser")+"");
				else if(e.message=="noano")
				  	redectLogin(""+comlangfunc.getInfo("lang_noano")+"");
				else
				   alert(e.message);
				return;
		}
		else {
		        //如果是匿名的并且没有登录的 就提示评论成功 等待审核
				if(iscomment=="2"&&(userId==null||userId==""))
				{
					alert(comlangfunc.getInfo("lang_commentsucc"));
				}  
				clearComment(isReply);
				//刷新组件
				showComment();
				//如果是回复 ，关闭model
				if(isReply)
				  mv.modalClose();
			}
		}, [req]);
    }
    else
    {
     alert(valMessage);
     valMessage = "";
    }
}
//定向登录
function redectLogin(msg)
{
	if(confirm(msg)){
		//调用登录页面
		showModalLogin(function(){
			//刷新组件
			showComment();				
		});
	}	
}
//回复评论model
var mv;
function reply(id)
{
	var available_width=document.body.clientWidth;
	var left=available_width/2-550/2;
	
	var content=document.getElementById("content_"+id+"").innerHTML;
	if(content!=null&&content.length>30)
	{
		content=content.substring(0,30)+".....";
	}

	if(mv) {
		document.getElementById("pcontent").innerHTML=""+comlangfunc.getInfo("lang_quote")+"："+content;
		document.getElementById("preplyId").value=id;
		mv.modalShow();
    } else {
        mv=new modalView();
        var modalHtml = "<div id='com_bjdiv' style='display:none;'></div>";
        modalHtml += "<div class='modalDialog_contentDiv' style='width:550px;height:200px' id='com_poll_body' style='display:none;'><table style='width:100%'>";
        modalHtml += "<tr><td>";
        modalHtml += " <div class='comment'><div class='commentTitle'><b id='pcontent'>"+comlangfunc.getInfo("lang_quote")+"："+content+"</b></div>" +
        		"<div style='margin:5px 8px 8px 8px;'>" +
        		""+comlangfunc.getInfo("lang_title")+"：<input type='text' id='replyTitle' value='' class='comTitle' size=55/><br>" +
        		""+comlangfunc.getInfo("lang_content")+"：<textarea id='replyContent' class='comContent'></textarea>" +
        		"<input type='text' id='preplyId' value='"+id+"' style='display:none' />" +
        		"</div>";
        modalHtml += "</td></tr>"
        modalHtml += "<tr><td align=right>";
        modalHtml += "<input type='button' class='inputbutton' id='com_addButton'  value='"+comlangfunc.getInfo("lang_inputcomment")+"'/><input type='button' class='inputbutton' id='com_cancelButton' value='"+comlangfunc.getInfo("lang_cancel")+"'/>"
        modalHtml += "</td></tr>"
        modalHtml += "</table></div>";
        document.getElementById("modeldiv").innerHTML += modalHtml;
        mv.setCfg(
        	{contentTop: "100px",
        	 contentLeft: left+"px",
        	 scroll:true,
        	 transparentDivs:document.getElementById("com_bjdiv"),
        	 contentDivs:document.getElementById("com_poll_body")
        	}
        );
        document.getElementById("com_addButton").onclick = function() {
        	//发表评论
        	putComment(true);
        }
        document.getElementById("com_cancelButton").onclick = function() {
            mv.modalClose();
        }
        mv.modalShow();
    }
}

//查看所有回复
function allReply(id)
{
	var width= document.body.clientWidth;
	var height= document.body.clientHeight;
	var url="/files/member/comment/comment_public.html?archiveId="+articleId+"&commentId="+id+"&inReply=1&iscomment="+iscomment+"";
	window.open(url,"_blank","width="+width+",height="+height+",toolbar=yes,location=YES,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes");
}

//清空评论
function clearComment(isReply)
{
	if(isReply){
		document.getElementById("replyTitle").value="";
		document.getElementById("replyContent").value="";
		document.getElementById("preplyId").value="";
	}
	else{
	    document.getElementById("comTitle").value="";
		document.getElementById("comContent").value="";
	}
}

//验证函数
var valMessage="";
function validation(title,content)
{

	var isPass=true;
	if(title==null||title=="")
	{
		isPass=false;
		valMessage+=""+comlangfunc.getInfo("lang_titlenull")+"\r\n";
	}	
	else if(title.length>120)
	{
		isPass=false;
		valMessage+=""+comlangfunc.getInfo("lang_titlelength")+"\r\n";
	}
	if(content==null||content=="")
	{
		isPass=false;
		valMessage+=""+comlangfunc.getInfo("lang_commentnull")+"\r\n";
	}
	//else if(content.length>255)
	else if(content.length>500)
	{
		isPass=false;
		valMessage+=""+comlangfunc.getInfo("lang_commentlength")+"\r\n";		
	}
	return isPass;
}

//////////////////////////////////////////////////////////////////////////////////////////
//得到评论
function getComment()
{
	var jsonrpc = new JSONRpcClient("/cc/JSON-RPC");
	var req={"map":{"psMap":{map:{method :"G",hql:"from dao.hb.CeComment AS A where A.id="+commentId+" ",
	"pss" : [[ "id", "title", "content", "userid","tmRemark","face","pid","status","username","istop"]],
	"cns" : ["dao.hb.CeComment"]},"javaClass":"java.util.HashMap"}},"javaClass":"java.util.HashMap"};
	var data=jsonrpc.BH.handle([req])[0];
	
	var len = data.length;
	var str="";
	str += "<div id='rcomments' class='comments'>";
	for ( var i = 0; i <len; i++){
	   if(data[i]==null||data[i].action=="D")
		 continue;
	   var dataobj=data[i].items.map;
	   var rmRemark=dataobj["tmRemark"]==null?null:dataobj["tmRemark"];
	   var name =dataobj["username"]==null?comlangfunc.getInfo("lang_anouser"):dataobj["username"];
	   var content=dataobj["content"]==null?"":dataobj["content"];
	   var id=dataobj["id"]==null?"":dataobj["id"];
	   var status=dataobj["status"]==null?"":dataobj["status"];
	   var istop=dataobj["istop"]==null?"":dataobj["istop"];
	   var pid=dataobj["pid"]==null?"":dataobj["pid"];
	   var title=dataobj["title"]==null?"":dataobj["title"];
	   var rmRemarks="";
	   if(rmRemark!=null)
	   {
	       var date = new Date(rmRemark.time);
		   rmRemarks =date.toLocaleString();
	   }
	   var topHtml="";
       if(istop==1)
         topHtml="<span><font color='red'>&nbsp;&nbsp;『"+comlangfunc.getInfo("lang_top")+"』</font></span>";  
	   if(status==0)
	     str+="<div class='comment_wait'>";
	   else  
	     str+="<div class='comment'>";
	   //上部
	   str+="<div class='commentTitle'>"+topHtml+"<span>&nbsp;&nbsp;"+name+"：</span><span class='rm'>"+rmRemarks+"</span></div>";
	   var addcontent="";
	   if(status==0)
	      addcontent="<p><span style='background:#D2C8B0'>["+comlangfunc.getInfo("lang_waiting")+"]</span></p>";
	   str+="<div class='commentContent'>"+addcontent+"<p><b>"+title+"</b></p><p id='content_"+id+"'>"+content+"</p></div>";
	   //下部
	   if(status==2)
	      str+="<div class='commentTail'><span class='w'><a id='reply' href='javascript:reply("+id+")'>"+comlangfunc.getInfo("lang_reply")+"</a></span></div>";
	   
	   str+="</div>";
	}
	str += "</div>";
	//
	str += "<br><div id='allreply' sytle='font-size:12px;'>"+comlangfunc.getInfo("lang_reply")+"：</div>";
	document.getElementById("replydiv").innerHTML=str;
}
