var SITE_URL = "https://chatplayshare.com"; if(!URL_ROOT){ var URL_ROOT = "/"; } var plugin = { name : "comments", comments : {}, commentTimeout : null, commentsParsing : false, addingComment : false, replyingComment : false, newChild : false, newChildParent : false, options :{}, createOverlay: function(container, button){ button.html(""); container.append("
"); }, hideOverlay: function(container, button){ button.html(""); container.find(".details_overlay").remove(); }, integrate : function(plugins,options){ var framework = this; var headID = document.getElementsByTagName("head")[0]; if(document.getElementById("comments_plugin_css") == null){ var cssNode = document.createElement('link'); cssNode.id = "comments_plugin_css"; cssNode.type = 'text/css'; cssNode.rel = 'stylesheet'; cssNode.href = URLROOT + 'plugins/comments/css/comments.css'; cssNode.media = 'screen'; headID.appendChild(cssNode); } if(document.getElementById("comments_plugin_mobile_css") == null){ var cssNode = document.createElement('link'); cssNode.id = "comments_plugin_mobile_css"; cssNode.type = 'text/css'; cssNode.rel = 'stylesheet'; cssNode.href = URLROOT + 'plugins/comments/css/mobile/comments.css'; cssNode.media = 'screen'; headID.appendChild(cssNode); } var plugin = this; this.options = options; $(document).ready(function(){ var html = "\
"; if(options.title){ html = html + "

" + options.title + "

"; } if($d.session && $d.session.isLoggedIn()){ html += "
\
\
\
"; if(options.anonymous){ html += ""; } html += "\ \ \
\
\
"; }else{ html += ""; } html +="
\ \
\
    \
    \ "; var ele = $('#' + options.element) ele.append(html); if(typeof(uploader) != "undefined"){ new uploader({ field:ele.find(".comment_box_container"), button:ele.find(".upload_button").get(0), insertBefore:false, containField:false, stacked: false, fitted: true, floatRight:false }); ele.find(".comment_box_buttons").css({position:"absolute"}); } var textarea = ele.find("#comment"); var addComment = ele.find(".send_button"); if(addComment.length > 0){ addComment.click(function(){ framework.createOverlay(ele.find(".comment_box_container"),addComment); plugin.addComment(textarea,null,function(comment){ framework.hideOverlay(ele.find(".comment_box_container"),addComment); if(typeof(comment.error) == "undefined"){ textarea.html(""); } }); }); } var checkScroll = function(field){ console.log(field.clientHeight); if(field.clientHeight < field.scrollHeight || field.clientHeight >= 67){ ele.addClass("comment_scroll"); }else{ ele.removeClass("comment_scroll"); } }; textarea.keyup(function(e){ var Ucode = e.keyCode? e.keyCode : e.charCode; checkScroll(this); }); //setupCheckboxes(); plugin.comments = options.comments; if(typeof(plugin.comments) != "object"){ plugin.comments = {}; } plugin.processComments(plugin.comments, options.entityID); if($("#comment_sort").length > 0){ $("#comment_sort").change(function(){ $d.helpers.showOverlay($("#comments_list_container")); $d.network.post(URLROOT+"comments/sort/" + options.type,{entity:options.entityID,sort:$("#comment_sort").val(),session_id:""},function(result){ options.comments = result; plugin.processComments(result) }); }); } if("" != ""){ if(typeof(typeof window[""]) === "function"){ ; } } $d.initCheckboxes(ele); $d.initSelects(ele); }); }, processComment : function(comment,append,element,fadeIn){ var plugin = this; var framework = this; if(comment != null){ var image = ""; if(comment.image.startsWith("http")){ image = comment.image; }else{ image = SITE_URL + comment.image; } var commentUserImage = ""; var commentUsername = comment.username; if(comment.link && comment.link != "" && comment.deleted == false) { commentUserImage = ""; commentUsername = ""+comment.username+""; } var li = $(document.createElement("li")); li.addClass("comment_item clearfix"); li.attr("data-id",comment.id); li.attr("point-count",comment.score); li.attr("data-parent",comment.parent); li.attr("data-level",comment.level); li.attr("data-type",comment.type); li.attr("data-children",0); li.attr("data-guildings",comment.guilds); li.addClass("level-"+comment.level); if(comment.parent > 0){ var p = $("li[data-id="+comment.parent+"] > ul"); if(p.length > 0){ element = p; } } if(comment.level > 1){ li.addClass("sub-comment"); var parent = $(".comment_item[data-id='"+comment.parent+"']"); parent.addClass("has-children"); parent.data("children",parent.data("children") + 1); if(parent.length){ var setText = function(parent,e){ var text = "Show"; if(e.hasClass("collapsed")){ text = "Hide"; } var coText = "comment"; if(parent.data("children") > 1){ coText += "s"; } e.attr("title",text + " " + parent.data("children") + " " + coText); e.find(".comment_count").html(parent.data("children")); }; var e = parent.find("> .comment_container .collapse_comments"); if(e.length == 0){ parent.find(".comment_left").prepend("1"); e = parent.find("> .comment_container .collapse_comments"); console.log(e); e.click(function(){ var ele = $(this); if(parent.hasClass("collapsed")){ parent.removeClass("collapsed"); }else{ parent.addClass("collapsed"); } setText(parent,e); }); } if(e.length > 0){ setText(parent,e); } } } var container = $(document.createElement("div")); container.addClass("comment_container"); container.html("\
    \
    "+commentUserImage+"
    \
    \
    "+commentUsername+", "+comment.datetime+"
    \
    \
    \
    \
    \
    \
    \
    \
    \
    \
    \
    "+comment.score+" points
    \
    \
    \
    \ "); li.append(container); li.append(""); if(comment.loggedIn){ if(comment.deleted == false){ container.find(".comment_left").append(""); container.find(".comment_voting_buttons").append("\ "); var upvote = container.find(".upVote"); if(upvote.length > 0){ upvote.click(function(){ plugin.upvote(comment.id); }); } var downvote = container.find(".downVote"); if(downvote.length > 0){ downvote.click(function(){ plugin.downvote(comment.id); }); } var guildButton = container.find(".comment_guild"); var updateGuildCount = function(){ var con = guildButton.find(".comment_guilds"); if(li.data("guildings") > 0){ con.html(li.data("guildings")); li.addClass("guilded"); }else{ con.html(""); li.removeClass("guilded"); } }; updateGuildCount(); guildButton.click(function(){ var doGuild = function(){}; doGuild = function(c){ $d.network.post(URLROOT+"credits/guild",{entity:comment.id,type:"comment",uid:comment.user,confirm:c},function(data){ if(data == "confirm"){ if(confirm("You've already guilded this comment are you sure you'd like to give it another one?")){ doGuild(1); } }else{ if(data != false){ li.data("guildings",data); }else{ alert("You don't have enough credits"); } updateGuildCount(); } }); }; doGuild(0); }); var replyButton = $(""); container.find(".comment_buttons").append(replyButton); replyButton.click(function(){ var existing = $(".comment_reply_box[data-parent="+comment.id+"]"); $(".comment_reply_box").remove(); $(".replying").removeClass("replying"); if(!existing.length){ container.addClass("replying"); var replyBox = $("
  • \
    \
    \
    \ \ \
    \
    \
  • "); if(typeof(uploader) != "undefined"){ new uploader({ field:$(replyBox).find(".comment_reply_content"), button:$(replyBox).find(".upload_button").get(0), insertBefore:false, containField:false, stacked: false, fitted: true, floatRight:false }); }else{ replyBox.find(".upload_button").hide(); } var textarea = replyBox.find(".textarea"); if(comment.level == 21){ textarea.html("@"+comment.username + "  "); } var checkScroll = function(field){ if(field.clientHeight < field.scrollHeight || field.clientHeight >= 65){ $(replyBox).addClass("comment_scroll"); }else{ $(replyBox).removeClass("comment_scroll"); } }; textarea.keyup(function(e){ var Ucode = e.keyCode? e.keyCode : e.charCode; if(Ucode == 13) { if(e.shiftKey == false){ e.preventDefault(); $(this).parent().parent().parent().find(".send_button").click(); return false; }else{ checkScroll(this); } }else{ checkScroll(this); } }); replyBox.find(".send_button").click(function(){ var text = $(this).parent().parent().parent().find(".textarea"); var par = $(this).parent().parent().parent(); var button = $(this); framework.createOverlay(text.parent(),$(this)); var p = par.data("parent"); if(comment.level == 21){ p = par.data("cparent"); } plugin.addComment(text,p,function(comment){ if(typeof(comment.error) == "undefined"){ par.remove(); container.removeClass("replying"); }else{ framework.hideOverlay(text.parent(),button); } }); }); container.after(replyBox); textarea.focus(); } }); if(comment.delete == true){ li.addClass("deleteable"); var deleteButton = $(""); container.find(".comment_buttons").append(deleteButton); deleteButton.click(function(){ $(".comment_reply_box").remove(); container.removeClass("replying"); if(confirm("Are you sure you want to delete this comment?")){ var comment = $(this).attr("data-id"); var p = $(this).parent().parent().parent().parent(); var type = p.parent().data("type"); $d.helpers.showOverlay(p,"",false,false); $d.network.post(URLROOT+"comments/delete/" + type,{id:comment,session_id:""},function(){ plugin.comments[comment] = null; var children = $(".comment_item[data-parent="+comment+"]"); if(children.length > 0){ p.find(".comment_username").html("deleted"); p.find(".comment_reply").remove(); container.removeClass("replying"); p.find(".comment_delete").remove(); p.find(".comment_voting_buttons").remove(); p.addClass("comment_deleted"); p.find(".comment_content").html("[deleted]"); $d.helpers.hideOverlay(); }else{ p.remove(); } }); } }); } }else{ container.addClass("comment_deleted"); } } if(comment.previews && comment.previews.length > 0){ } var content = container.find(".comment_content"); if(content.length > 0) { content.html("

    "+comment.comment+"

    "); } if(fadeIn == true){ li.hide(); } if(typeof(append) != "undefined" && append == true && typeof(element) != "undefined" && element != null){ element.append(li); }else{ element.prepend(li); } if(fadeIn == true){ li.fadeIn(500); } if(typeof(comment.children) != "undefined" && comment.children != null){ for(var x in comment.children){ plugin.processComment(comment.children[x],true,element); } } return li; } }, processComments : function(comments, id) { var plugin = this; var process = function(comments) { if(comments && typeof(comments) != "undefined" && comments != null) { var element = $("#comments_list"); element.html(""); var count = 0; for(var commentIndex in comments) { var comment = comments[commentIndex]; if(comment != null){ plugin.processComment(comment,true,element); } } } }; if(comments && typeof(comments) != "undefined" && comments != null) { process(comments); plugin.updateList(); $d.helpers.hideOverlay(); } }, updateList : function(){ $("#comments_list li.comment_no_comment").remove(); var commentList = $("#comments_list li"); if(commentList.length > 1){ $("#comment_sort").css({display:"block"}); }else{ $("#comment_sort").css({display:"none"}); } if(commentList.length == 0){ var li = $(document.createElement("li")); li.addClass("comment_item clearfix comment_no_comment"); if($d.session && $d.session.isLoggedIn()){ li.html("
    Be the first to comment!
    "); }else{ //li.html("
    Login to comment
    "); } $("#comments_list").append(li); } }, addComment : function(element,parent,callback) { var plugin = this; if(typeof(parent) == "undefined" || parent == null){ parent = 0; } if(plugin.addingComment == false){ plugin.addingComment = true; if(typeof(element) != "undefined" && element != null){ var text = $(element); } else{ var text = $("#comment"); } if(text.length > 0) { var isDiv = false; if(text.is("div")){ isDiv = true; var content = $d.helpers.stripHTML(text.html()); }else{var content = text.val();} var domField = null; if(element){ domField = element.parent().get(0); if(domField.uploader){ var used = {}; for(var x in domField.uploader.uploads){ var upload = domField.uploader.uploads[x]; if(upload != null){ if(upload.url){ if(!used[upload.url]){ content += " " + upload.url.replace("%2F","/"); used[upload.url] = true; } } } } } } if(content == "") { alert("Please enter a comment"); plugin.addingComment = false; } else { var anonymous = false; if(plugin.options.anonymous){ var anonymous = document.getElementById("comment_anonymous").checked; } if(anonymous == true) {anonymous = 1;} else {anonymous = 0;} if(!isDiv){ text.attr("disabled",true); text.css({width:"69%"}); var loading = $("#comment_loading").css({display:"block"}); } $d.network.request({ type:"POST", url:URLROOT+"comments/save/" + plugin.options.type, data:{id:plugin.options.entityID, content:content, anonymous:anonymous, parent:parent, session_id:""} }).done(function(result){ if(result != "") { var newComment = JSON.parse(result); if(callback){ try{callback(newComment);} catch(e){} } if(typeof(newComment.error) == "undefined"){ if(domField != null && domField.uploader){ domField.uploader.clear(); } text.val(""); plugin.comments[newComment.id] = newComment; $("li[data-id="+newComment.parent+"]").addClass("collapsed"); var pComment = plugin.processComment(newComment,false,$("#comments_list"),true); plugin.updateList(); }else{ if(newComment.error == "spam"){ var element = $("#comments_list"); if($("#comments_list #spam_error_wait").length > 0){ $("#comments_list #spam_error_wait").html(newComment.wait); } else { element.prepend("

    You're doing the thing too quickly please wait " + newComment.wait + " seconds

    "); } } } } else { alert("Could not post your comment, please try again"); } }).always(function(result){ if(!isDiv){ text.attr("disabled",false); text.attr("style",''); loading.css({display:"none"}); } plugin.addingComment = false; }); } } } }, downvote : function(id) { var plugin = this; var uoption = $(".comment_upvote_"+id); var doption = $(".comment_downvote_"+id); var comment = $(".comment_item[data-id="+id+"]"); var points = parseInt(comment.attr("point-count")); if(doption.hasClass("selected")) { doption.removeClass("selected"); points++; } else if(uoption.hasClass("selected")) { uoption.removeClass("selected"); doption.addClass("selected"); points--; points--; } else { doption.addClass("selected"); points--; } if(plugin.comments[id]){ plugin.comments[id].upclass = ""; plugin.comments[id].downclass = ""; if(doption.hasClass("selected")){ plugin.comments[id].upclass = ""; plugin.comments[id].downclass = "selected"; }else if(uoption.hasClass("selected")){ plugin.comments[id].upclass = "selected"; plugin.comments[id].downclass = ""; } plugin.comments[id].score = points; } comment.attr("point-count",points); comment.find(".comment_score").first().html(points + " points"); $d.network.post(URLROOT+"comments/downVote/" + plugin.options.type, {cid:id,session_id:""}, function(result) {}); }, upvote : function(id) { var plugin = this; var uoption = $(".comment_upvote_"+id); var doption = $(".comment_downvote_"+id); var comment = $(".comment_item[data-id="+id+"]"); var index = id; var points = parseInt(comment.attr("point-count")); if(uoption.hasClass("selected")) { uoption.removeClass("selected"); points--; } else if(doption.hasClass("selected")) { doption.removeClass("selected"); uoption.addClass("selected"); points++; points++; } else { uoption.addClass("selected"); points++; } if(plugin.comments[id]){ plugin.comments[id].upclass = ""; plugin.comments[id].downclass = ""; if(doption.hasClass("selected")){ plugin.comments[id].upclass = ""; plugin.comments[id].downclass = "selected"; }else if(uoption.hasClass("selected")){ plugin.comments[id].upclass = "selected"; plugin.comments[id].downclass = ""; } plugin.comments[id].score = points; } comment.attr("point-count",points); comment.find(".comment_score").first().html(points + " points"); $d.network.post(URLROOT+"comments/upVote/" + plugin.options.type, {cid:id,session_id:""}, function(result) {}); } }; var options = { type:"topic", anonymous : "1", comments : [{"id":19264,"user":75810,"comment":"marvel makes better movies and deadpool, dc makes better everything else","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/cat.jpg","link":"\/profile\/baconandeggs","date":"2015-08-08","delete":false,"datetime":"Aug 08th 2015 12:40","timestamp":1439037620,"loggedIn":false,"username":"baconandeggs","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":0,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":17415,"user":29627,"comment":"Scott Pilgrim?","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/rhino.jpg","link":"\/profile\/ChaotikWulf","date":"2015-05-26","delete":false,"datetime":"May 26th 2015 21:24","timestamp":1432675449,"loggedIn":false,"username":"ChaotikWulf","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":0,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":16745,"user":68427,"comment":"I have a childhood fondness for Marvel but in their current states I'd have to say both.","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/giraffe.jpg","link":"\/profile\/TheSkeptic","date":"2015-05-08","delete":false,"datetime":"May 08th 2015 05:59","timestamp":1431064746,"loggedIn":false,"username":"TheSkeptic","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":0,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":16333,"user":69393,"comment":"Marvel","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/rhino.jpg","link":"\/profile\/ForgottenAzreal","date":"2015-04-27","delete":false,"datetime":"Apr 27th 2015 18:43","timestamp":1430160204,"loggedIn":false,"username":"ForgottenAzreal","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":0,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":16027,"user":68236,"comment":"Marvel is a little too PG for my taste aside from a few characters. I like the darkness of DC more.","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/cat.jpg","link":"\/profile\/sirenx8","date":"2015-04-23","delete":false,"datetime":"Apr 23rd 2015 07:42","timestamp":1429774925,"loggedIn":false,"username":"sirenx8","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":1,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":15974,"user":42842,"comment":"For comics, I like DC. Marvel has a much better movie universe. DC has a decent television presence, but Marvel is inching in on that.
    \n
    \nSo, I suppose with the majority, Both. ","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/giraffe.jpg","link":"\/profile\/jewelz996","date":"2015-04-22","delete":false,"datetime":"Apr 22nd 2015 21:52","timestamp":1429739529,"loggedIn":false,"username":"jewelz996","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":0,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":15582,"user":17417,"comment":"Both","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/giraffe.jpg","link":"\/profile\/gothnerd","date":"2015-04-17","delete":false,"datetime":"Apr 17th 2015 11:58","timestamp":1429271905,"loggedIn":false,"username":"gothnerd","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":0,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":15470,"user":63909,"comment":"Marvel. Definitely. Secretwars hype over here.","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/rhino.jpg","link":"\/profile\/Jingeh","date":"2015-04-16","delete":false,"datetime":"Apr 16th 2015 22:12","timestamp":1429222328,"loggedIn":false,"username":"Jingeh","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":0,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":15092,"user":6789,"comment":"Marvel.","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/rhino.jpg","link":"\/profile\/JohnCheese","date":"2015-04-14","delete":false,"datetime":"Apr 14th 2015 05:58","timestamp":1428991123,"loggedIn":false,"username":"JohnCheese","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":0,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":15084,"user":29316,"comment":"Only because Batman's my favorite superhero, I go with DC.","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/cat.jpg","link":"\/profile\/imyourzer0","date":"2015-04-14","delete":false,"datetime":"Apr 14th 2015 05:41","timestamp":1428990091,"loggedIn":false,"username":"imyourzer0","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":1,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":14840,"user":-1,"comment":"I like them both for different reasons, but I'd have to side with DC purely because they own the Vertigo imprint. Vertigo's always been pretty consistent with it's quality even when DC gets a bit wonky.","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/rhino.jpg","link":"","date":"2015-04-12","delete":false,"datetime":"Apr 12th 2015 04:54","timestamp":1428814495,"loggedIn":false,"username":"Anonymous","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":1,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":14707,"user":57198,"comment":"I'm leaning Marvel these days. I haven't been the biggest fan of a lot of the New 52's writing.","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/rhino.jpg","link":"\/profile\/ConsumerOfStories","date":"2015-04-09","delete":false,"datetime":"Apr 09th 2015 03:02","timestamp":1428548521,"loggedIn":false,"username":"ConsumerOfStories","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":0,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":14702,"user":1,"comment":"Both. I have favourites and not favourites in both universes. Although Marvel is far better at real movies I think, DC far better at cartoons.","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/cat.jpg","link":"\/profile\/TheBritishAreComing","date":"2015-04-08","delete":false,"datetime":"Apr 08th 2015 20:21","timestamp":1428524477,"loggedIn":false,"username":"TheBritishAreComing","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":0,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":14688,"user":-1,"comment":"To not be boring, Marvel. I like their characters more by far, but also grew up on them.","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/rhino.jpg","link":"","date":"2015-04-07","delete":false,"datetime":"Apr 07th 2015 23:50","timestamp":1428450652,"loggedIn":false,"username":"Anonymous","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":2,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":14674,"user":64408,"comment":"both","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/cat.jpg","link":"\/profile\/DrCatbus","date":"2015-04-07","delete":false,"datetime":"Apr 07th 2015 16:15","timestamp":1428423314,"loggedIn":false,"username":"DrCatbus","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":4,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"},{"id":14672,"user":54650,"comment":"Both","image":"https:\/\/chatplayshare.com\/themes\/default\/images\/profiles\/rhino.jpg","link":"\/profile\/DurableCanadianREKTLord","date":"2015-04-07","delete":false,"datetime":"Apr 07th 2015 07:22","timestamp":1428391342,"loggedIn":false,"username":"DurableCanadianREKTLord","upclass":"","downclass":"","upvoted":false,"downvoted":false,"score":4,"level":1,"children":[],"deleted":0,"parent":0,"previews":[],"entity":1468,"guilds":0,"type":"1","type_string":"topic"}], entityID : "1468", title : "Comments", element : "discussion_container", buttonText : "Add Comment", buttonClasses : "small_button small_button_green", answerClasses : "" }; if(typeof($d) == "undefined"){ $d = { initCheckboxes:function(element){ element.find("input[type=checkbox]").each(function(){ var c = $(this); if(!c.attr("checkbox_setup")){ c.attr("checkbox_setup",true); var id = c.attr("id"); var container = $(document.createElement("div")); container.addClass(c.get(0).className); c.get(0).className = ""; container.addClass("checkbox"); container.attr("id",id); container.prop("name",id); c.attr("id",id + "-checkbox"); container.prop("checked",c.get(0).checked); container.prop("value",c.val()); container.prop("type","checkbox"); container.attr("type","checkbox"); if(c.prop("title")){container.append(""+c.prop("title")+"");} c.before(container); c.remove(); container.append(c); if(c.get(0).checked){ container.addClass("checked"); } var checkUncheck = function(){ c.addClass("toSave"); if(c.get(0).checked){container.addClass("checked");} else{container.removeClass("checked");} }; container.click(function(){ var container = $(this); c.click(); container.prop("checked",c.get(0).checked); checkUncheck(); }); } }); }, initSelects: function(element){ try{ if(!this.helpers.isMobile()){ element.find("select").select2(); } }catch(e){} }, session: { isLoggedIn:function(){return false;} }, helpers: { stripHTML : function(string){ var div = $(document.createElement("div")); div.html(string.replace(/(
    ||
    )/gm,'\n').replace(/<\/p>/gm,'\n\n')); return div.text().trim(); }, showOverlay : function(containers, content, realignLeft, realignTop) { if(!content) {content = "";} // Adds a default loading icon if($.trim(content) == "") {content = "";} if(containers) { containers.each(function() { var container = $(this); container.append("
    "+content+"
    "); var contentDiv = $(".details_overlay_content"); if(typeof(realignLeft) == "undefined" || realignLeft == true || realignLeft == null){ var contentLeft = (container.outerWidth()/2)-(contentDiv.outerWidth()/2); contentDiv.css({left:contentLeft+"px"}); } if(typeof(realignTop) == "undefined" || realignTop == true || realignTop == null){ var contentTop = (container.outerHeight()/2)-(contentDiv.outerHeight()/2); contentDiv.css({top:contentTop+"px"}); } }); } }, hideOverlay : function(container) { if(container) {container.find("details_overlay").remove();} else { $(".details_overlay").each(function() { $(this).remove(); }); } }, }, network:{ request:$.ajax, post:$.post, get:$.get } } plugin.integrate(null,options); }else{ $d.plugins.add(plugin,options); $d.plugins.get("comments").integrate($d.plugins,options); $d.network.addHandler("comments", "update-score",function(data){ if(typeof(data) != "undefined" && data != null){ var comment = $(".comment_item[data-id="+data.comment+"]"); if(comment.length > 0){ if(typeof(plugin.comments[data.comment]) == "undefined"){ plugin.comments[data.comment] = {}; } if(typeof(plugin.comments[data.comment].score) == "undefined"){ plugin.comments[data.comment].score = 0; } plugin.comments[data.comment].score = data.score; comment.attr("point-count",data.score); comment.find(".comment_score").html(data.score + " points"); } } }); $d.network.addHandler("comments","deleted",function(data){ if(typeof(data) != "undefined" && data != null){ var p = $(".comment_item[data-id="+data+"]"); var children = $(".comment_item[data-parent="+data+"]"); if(children.length > 0){ p.find(".comment_username").html("deleted"); p.find(".comment_reply").remove(); p.find(".comment_delete").remove(); p.find(".comment_voting_buttons").remove(); p.addClass("comment_deleted"); p.find(".comment_content").html("[deleted]"); $d.helpers.hideOverlay(); }else{ p.remove(); } } }); $d.network.addHandler("comments","added",function(data){ if(typeof(data.comment) != "undefined"){ var newComment = data; if(typeof(newComment.error) == "undefined"){ if(!plugin.comments[newComment.id]){ setTimeout(function(){ plugin.comments[newComment.id] = newComment; var pComment = plugin.processComment(newComment,false,$("#comments_list"),true); $d.plugins.get("comments").updateList(); },1000); } } } }); }