
WL.Controls.CommentControl=WL.Class(Object,function(blogEntryID)
{this.blogEntryID=blogEntryID;},function(type)
{type.toggleComments=function()
{var c=this.$("container_comments");var c2=this.$("container_leavecomment").parentNode;c.style.display=c2.style.display=c.style.display=="none"?"block":"none";this.updateCollapse();}
type.toggleLeaveComment=function()
{var c=this.$("container_leavecomment");c.style.display=c.style.display=="none"?"block":"none";this.updateCollapse();}
type.send=function(captha)
{var name=this.$("in_leavecomment_name").value.trim();var msg=this.$("in_leavecomment_message").value;if(!name){WL.alert(WL.S(350));return;}
if(!msg.trim()){WL.alert(WL.S(351));return;}
window.blogManagerAPI.postComment(captha.trim(),this.blogEntryID,name,msg,on_postComment.bind(this));}
var on_postComment=function(result)
{if(result.error)
{WL.alert(result.errorInfo?result.errorInfo.toString():"Posting comment failed");return;}
this.$("in_leavecomment_message").value="";if(!result.comment.approved)
{WL.alert(WL.S(354));return;}
var cont=this.$("container_comments");var node=cont.firstChild.cloneNode(true);node.setAttribute("commentID",result.comment.id.toString());for(var i=0;i<node.childNodes.length;++i)
if(node.childNodes[i].nodeType==1)
switch(node.childNodes[i].className.toLowerCase())
{case"comment-name":node.childNodes[i].innerHTML=result.comment.creator.escapeHTML();break;case"comment-date":node.childNodes[i].innerHTML=String.format("({0})",result.comment.createdDate.toString(CultureInfo.Date.formatPatterns.fullDateTime));break;case"comment-text":node.childNodes[i].innerHTML=result.comment.text.escapeHTML();break;case"comment-remove":node.childNodes[i].onclick=this.removeComment.bindWA(this,result.comment.id);break;}
node.style.display="block";cont.appendChild(node);var labl=this.$("label_count");labl.innerHTML=(parseInt(labl.innerHTML)+1).toString();}
type.removeComment=function(commentID,e)
{if(commentID)
{WL.alertCallback=remove_confirm.bindWA(this,commentID);WL.confirm(WL.S(352),"");}
return false;}
var remove_confirm=function(commentID,result)
{if(result)window.blogManagerAPI.removeComment(commentID,on_removeComment.bindWA(this,commentID));}
var on_removeComment=function(commentID,result)
{if(result.error)
{WL.alert(result.errorInfo?result.errorInfo.toString():"Removing comment failed");return;}
var c=this.$("container_comments");for(var i=0;i<c.childNodes.length;++i)
if(parseInt(c.childNodes[i].attributes['commentID'].nodeValue)==commentID)
{c.removeChild(c.childNodes[i]);var labl=this.$("label_count");labl.innerHTML=(parseInt(labl.innerHTML)-1).toString();break;}}
type.approveComment=function(commentID,e)
{if(!commentID)return;WL.alertCallback=approve_confirm.bindWA(this,commentID);WL.confirm(WL.S(353),"");}
var approve_confirm=function(commentID,result)
{if(result)window.blogManagerAPI.approveComment(commentID,on_approveComment.bindWA(this,commentID));}
var on_approveComment=function(commentID,result)
{if(result.error)
{WL.alert(result.errorInfo?result.errorInfo.toString():"Approving comment failed");return;}
var c=this.$("container_comments");for(var i=0;i<c.childNodes.length;++i)
if(parseInt(c.childNodes[i].attributes['commentID'].nodeValue)==commentID)
{var n=c.childNodes[i].firstChild;while(n){if(n.nodeType==1&&WL.Utils.isCss(n,"comment-approve")){n.parentNode.removeChild(n);break;}n=n.nextSibling;}
break;}}
type.blockIP=function(ip,time)
{WL.alertCallback=confirm_block.bindWA(this,ip,time);WL.confirm(String.format(WL.S(355),ip),"");}
var confirm_block=function(ip,time,result){if(result)window.banManagerAPI.blockIP(ip,time,on_blockIP.bindWA(this,ip));}
var on_blockIP=function(ip,result)
{if(result.error)
{WL.alert(result.errorInfo?result.errorInfo.toString():"Blocking ip address failed");return;}
var nodes=this.$("container_comments").childNodes;for(var i=0;i<nodes.length;++i)
if(nodes[i].nodeType==1)
{var n=nodes[i].firstChild;while(n){if(n.nodeType==1&&WL.Utils.isCss(n,"comment-ip")&&n.innerHTML==ip){WL.Utils.replaceCss(n,"comment-ip","comment-ip-block");break;}n=n.nextSibling;}}}});
