var IvySNSComments = {} IvySNSComments = function(options) { lodomains = document.domain.split("."); lodomains.reverse(); lodomains.pop(); lodomains.reverse(); lodomain = lodomains.join("."); this.name = 'IvySNS'; this._set = { domain:lodomain, id:'article_comment', maxCont:250, snsID:null, snsType:null, snsSite:['facebook','twitter','me2day','yozm'], authDir:'http://sca.'+lodomain+'/_Lib/', procDir:'http://sca.'+lodomain+'/_SNS/', ivyMName:null, ivyMCode:null, ivyMId:null, tblName:null, mainImg:null, // 본문 대표 이미지 selTab:null, secure:'', tcnt:0, // 댓글수 scale:10, // 한번에 들고올 개수 os_pgi:1, os_pgs:null, feedback:null, snsAppendHtml:"" }; if(options)jQuery.extend(this._set, options); //if(this._set.secure=='Y') {return;} document.domain=this._set.domain; //Ivy.setCookie("custDomain", document.domain, null, "/", this._set.domain, ""); this.p = $('#'+this._set.id); this.setForm(); this.setOpinionAndSortMenu(); this.p.append('
'); this.setUser(); this.onSortOrder('A'); } IvySNSComments.prototype={ setForm: function(){ var t = this; t.p.append('
' + ' ' + ' ' + ' ' + ' ' + '
' + ' ' + '
닫기
소셜댓글이란?

회원님이 사용중인 페이스북, 트위터, 미투데이, 요즘으로 댓글을 작성할 수 있는 새로운 오픈 댓글 서비스입니다. 작성하신 댓글은 로그인을 선택한 계정에 해당하는 서비스로도 동시에 제목과 링크가 포함되어 전송 됩니다.
' + '
' + '
' + '
소셜계정으로 작성하세요 로그아웃
' + t._set.snsAppendHtml + '
' + '
* '+t._set.maxCont+'자 이내로 입력하여 주세요.(현재 0 자)
' + '
' ); $('a.facebook').bind({ click: function(e){ t.snsSiteLogin('facebook'); return false;} }); $('a.twitter').bind({ click: function(e){ t.snsSiteLogin('twitter'); return false;} }); // $('a.me2day').bind({ // click: function(e){ t.snsSiteLogin('me2day'); return false;} // }); // $('a.yozm').bind({ // click: function(e){ t.snsSiteLogin('yozm'); return false;} // }); $('a.ivysite').bind({ click: function(e){ t.snsSiteLogin('ivysite'); return false;} }); $('a.isSocialImg').bind({ click: function(e){ $('div.isSocialTxt').show(); return false;} }); $('div.isSocialTxt div a').bind({ click: function(e){ $('div.isSocialTxt').hide(); return false;} }); $('span.sns_logout a').bind({ click: function(e){ t.snsSiteLogout(); return false;} }); $('#sns_txtarea').bind({ keyup: function(e){ Ivy.maxInputControl(this, t._set.maxCont);} }); $('#socialSubmitBt').bind({ click: function(e){Ivy.mask_start_close('처리중~~'); t.addComment(); return false;} }); if(t._set.secure=='Y'){ $('div.sns_bt li').hide(); $('#ivysite_icon').show(); } }, setOpinionAndSortMenu: function () { var t = this; t.p.append('
총 의견수
0개
' + '
'); $('li#IvySNSTabA a').bind({ click: function(e){ t.onSortOrder('A'); return false;} }); $('li#IvySNSTabB a').bind({ click: function(e){ t.onSortOrder('B'); return false;} }); $('li#IvySNSTabC a').bind({ click: function(e){ t.onSortOrder('C'); return false;} }); }, onSortOrder: function(st) { var t = this; if (t._set.selTab == st) { return; } $('li#IvySNSTabA').attr({ 'class': 'tab_a' + ((st != 'A') ? '' : ' on') }); $('li#IvySNSTabB').attr({ 'class': 'tab_b' + ((st != 'B') ? '' : ' on') }); $('li#IvySNSTabC').attr({ 'class': 'tab_c' + ((st != 'C') ? '' : ' on') }); $('#IvySNS_ContBox').html(''); t._set.selTab = st; t._set.os_pgi = 1; t.setPaging(); var loader = t.getLoader(); $("#IvySNS_ContBox").append(loader); loader.slideDown(300, function () { t.commentLoad(); }); loader.slideUp(300); }, setPaging: function() { var t = this; $.getJSON(t._set.procDir + 'cmt_a_listcount.php?callback=?', {'site': t._set.url, 'atcId': t._set.article, 'menuCode':t._set.menuCode, 'tblName':t._set.tblName}, function (rtnv) { t._set.tcnt = rtnv.TotalCount; t._set.os_pgs = Math.ceil(rtnv.TotalCount/t._set.scale); $('#tCount').html(t._set.tcnt + '개'); if (t._set.tcnt=="0") $('.comment').hide(); }); }, commentLoad: function() { var t = this; $('.cmt_add').remove(); // 더보기 버튼 제거 $.getJSON(t._set.procDir + 'cmt_a_list.php?callback=?', {'site': t._set.url, 'atcId': t._set.article, 'menuCode':t._set.menuCode, 'tblName':t._set.tblName, 'pgi': t._set.os_pgi, 'pgs': t._set.os_pgs, 'ot': t._set.selTab }, function (rtnv) { $.each(rtnv, function (i, itm) { var cmtid = 'cmtItm_' + itm.CMTSN; var cmtpsn = 'cmtItm_' + itm.CMTPSN; if (itm.CMTSN == itm.CMTPSN) { // 원댓글 $('#IvySNS_ContBox').append(t.getCommentFormat(itm, itm.CMTReList == null)); try { $('#cmtItm_' + itm.CMTSN + ' a.del').bind({ click: function(e){ t.delComment(itm.CMTSN,false); return false;} }); } catch(e){} $('#' + cmtid + ' dd.txt').append(' 답글 달기'); $('a.re'+itm.CMTSN).bind({ click: function(e){ t.addCommentReForm(itm.CMTSN); return false;} }); $('#' + cmtid + ' div.bd').append(''); } else { // 답변댓글 var cmtcmtid = ('cmt_' + cmtpsn); $('#'+cmtpsn+' div.divReList').show(); $('#' + cmtcmtid).append(t.getCommentReFormat(itm)); try { $('#cmtItm_' + itm.CMTSN + ' a.del').bind({ click: function(e){ t.delComment(itm.CMTSN,false); return false;} }); } catch(e){} } }); if (t._set.tcnt > t._set.os_pgi * t._set.scale) { var paging = '
더보기
'; $('#IvySNS_ContBox').append(paging); // 더보기 버튼 추가 $('div.cmt_add').bind({ click: function(e){ t.viewAddComment(++t._set.os_pgi); return false;} }); } }); }, viewAddComment: function(npgi) { var t = this; var loader = t.getLoader(); $("#IvySNS_ContBox").after(loader); loader.slideDown(300, function () { t._set.os_pgi = npgi; t.setPaging(); t.commentLoad(); }); loader.slideUp(300); }, setUser: function() { var t = this; var sns_Icon = '/Ivyimages/common/sub/sns_noimg.gif'; var sns_name = '소셜계정으로 작성하세요'; $('#sns_txtarea').attr('readonly','readonly'); $(".sns_logout").hide(); var sns_type = Ivy.getCookie('IVY_SNS_TYPE'); if ( sns_type == "undefined" || sns_type === false ) sns_type = ""; if( sns_type != "" && t._set.secure != 'Y' ){ jQuery.each(t._set.snsSite,function(){ if(sns_type == this){ $("#"+this+"_icon").addClass("on"); $("span.sns_logout").show(); sns_Icon = Ivy.getCookie('IVY_SNS_IMAGE'); sns_name = Ivy.getCookie('IVY_SNS_NAME'); t._set.snsID = Ivy.getCookie('IVY_SNS_ID'); t._set.snsType = this; $('#sns_txtarea').removeAttr('readonly'); } }); } else if( parseInt(t._set.ivyMCode,10) > 0) { $("#ivysite_icon").addClass("on"); sns_Icon = '/Ivyimages/common/sub/sns_onimg.gif'; sns_name = t._set.ivyMName; t._set.snsID = t._set.ivyMId; t._set.snsType = 'ivysite'; $('#sns_txtarea').removeAttr('readonly'); } $("#userIcon").attr("src", sns_Icon); $("span.sns_name").html(sns_name); }, snsSiteLogin: function(snsSite) { var t = this; if (snsSite == t._set.snsType) return; Ivy.setCookie("IVY_SNS_ID", "", "", "/", t._set.domain, ""); Ivy.setCookie("IVY_SNS_NAME", "", "", "/", t._set.domain, ""); Ivy.setCookie("IVY_SNS_IMAGE", "", "", "/", t._set.domain, ""); Ivy.setCookie("IVY_SNS_TYPE", "", "", "/", t._set.domain, ""); Ivy.setCookie("IVY_SNS_USERKEY", "", "", "/", t._set.domain, ""); if (snsSite == "ivysite") { if(t._set.ivyMCode != '') return; document.location = "https://sso."+lodomain+"/?rtnurl=" + encodeURIComponent(document.URL); } else { Ivy.openWindow(t._set.procDir + "cmt_a_sns_sitelogin.php?site=" + snsSite); } }, snsSiteLogout: function() { var t = this; Ivy.setCookie("IVY_SNS_ID", "", "", "/", t._set.domain, ""); Ivy.setCookie("IVY_SNS_NAME", "", "", "/", t._set.domain, ""); Ivy.setCookie("IVY_SNS_IMAGE", "", "", "/", t._set.domain, ""); Ivy.setCookie("IVY_SNS_TYPE", "", "", "/", t._set.domain, ""); Ivy.setCookie("IVY_SNS_USERKEY", "", "", "/", t._set.domain, ""); t._set.snsType = null; t.panelReload(); }, panelReload: function() { var t = this; $("#facebook_icon").removeClass("on"); $("#twitter_icon").removeClass("on"); $("#me2day_icon").removeClass("on"); $("#yozm_icon").removeClass("on"); $("#ivysite_icon").removeClass("on"); t.setUser(); }, setCookie: function(UserId, UserName, UserImage, UserKey, UserType) { var t = this; // var expDate = new Date(); expDate.setDate(expDate.getDate() + 30); if (UserId != "") Ivy.setCookie("IVY_SNS_ID", UserId, null, "/", t._set.domain, ""); if (UserName != "") Ivy.setCookie("IVY_SNS_NAME", UserName, null, "/", t._set.domain, ""); if (UserImage != "") Ivy.setCookie("IVY_SNS_IMAGE", UserImage, null, "/", t._set.domain, ""); if (UserKey != "") Ivy.setCookie("IVY_SNS_USERKEY", UserKey, null, "/", t._set.domain, ""); if (UserType != "") Ivy.setCookie("IVY_SNS_TYPE", UserType, null, "/", t._set.domain, ""); t.panelReload(); }, loginCheck: function() { var t = this; if(t._set.snsType==null || t._set.snsType=='') {Ivy.divpopupalert("로그인 후 사용하세요 [c]"); $('#socialSubmitBt').removeAttr('disabled'); return false;} return true; }, getLoader: function() { return $(""); }, addComment: function(){ var t = this; $('#socialSubmitBt').attr("disabled", "disabled"); if (!t.loginCheck()) { return;} var cmtUrl = document.URL; var cmtContent = $('#sns_txtarea').val(); var cmtTitle = t._set.title; var cmtDescription = t._set.descript; if (cmtContent.length <= 0) { Ivy.divpopupalert('내용을 입력하세요.'); Ivy.mask_stop(); $('#socialSubmitBt').removeAttr('disabled'); $('#sns_txtarea').focus(); return; } if (cmtContent.length > t._set.maxCont) { Ivy.divpopupalert(t._set.maxCont + '자 이내로 입력하세요.'); Ivy.mask_stop(); $('#socialSubmitBt').removeAttr('disabled'); $('#sns_txtarea').focus(); return;} if ( $("input[name=emotion]:radio").attr("id") != undefined ) emotion = $("input[name=emotion]:radio:checked").val(); else emotion = ""; var loader = t.getLoader(); t.p.after(loader); loader.slideDown(300, function () { $.getJSON(t._set.authDir + 'cmt_a_write.php?callback=?', { 'site': t._set.url, 'atcId': t._set.article, 'menuCode':t._set.menuCode, 'tblName':t._set.tblName, 'cmtCont': cmtContent, 'cmtUrl': cmtUrl, 'cmtTitle': t._set.title, 'cmtSnsSend': t._set.snsType, 'cmtDescription': t._set.descript, 'atcMainImg':t._set.mainImg, 'hostAlias':t._set.hostAlias, 'emotion':emotion }, function (rtnv) { $('#IvySNS_ContBox').prepend(t.getCommentFormat(rtnv, true)); try { $('#cmtItm_' + rtnv.CMTSN + ' a.del').bind({ click: function(e){ t.delComment(rtnv.CMTSN,false); return false;} }); } catch(e){} if (rtnv.CMTSN == 0) { // error 표시 if(rtnv.error != '') Ivy.divpopupalert(rtnv.error); if(rtnv.CMTSN == -1) t.snsSiteLogout(); } else { var cmtFormSerial = $("form#sns_form").serialize(); var cmtid = 'cmtItm_' + rtnv.CMTSN; $('#' + cmtid + ' dd.txt').append(' 답글 달기'); $('a.new-comm').bind({ click: function(e){ t.addCommentReForm(rtnv.CMTSN); return false;} }); $('#' + cmtid + ' div.bd').append(''); $('#sns_txtarea').val(''); $('span.sns_txtareaCnt').html('0'); t._set.tcnt++; $('#tCount').html((t._set.tcnt) + '개'); Ivy.divpopupalert('등록 되었습니다'); if ( typeof t._set.feedback == "function" ) t._set.feedback(cmtFormSerial); } //} //catch (e) { } loader.slideUp(300); Ivy.mask_stop(); }); //$.getJSON }); $("#socialSubmitBt").removeAttr("disabled"); }, addCommentReForm: function(cmtsn) { var t = this; var cmtid = 'cmtItm_' + cmtsn; var cmtcmtid = 'cmt_' + cmtid; var reform = $('#' + cmtid + " div.divReForm"); reform.toggle(); reform.html('
' + ' 답글 등록' + ' ' + ' ' + '
'); $('#cmtItm_' + cmtsn + ' fieldset input.btn').bind({ click: function(e){t.addCommentReFormAct(cmtsn);} }); $('#cmtReCont' + cmtsn).bind({ keyup: function(e){if(e.keyCode==13){t.addCommentReFormAct(cmtsn);}}, keydown: function(e){Ivy.maxInputControl(this, t._set.maxCont);}, keypress: function(e){Ivy.maxInputControl(this, t._set.maxCont);} }); }, addCommentReFormAct: function(cmtpsn){ var t = this; if (!t.loginCheck()) { return;} var cmtUrl = document.URL; var cmtReContent = $('#cmtReCont' + cmtpsn).val(); if (cmtReContent.length <= 0) { Ivy.divpopupalert('내용을 입력하세요.'); $('#cmtReCont' + cmtpsn).focus(); return; } $.getJSON(t._set.authDir + 'cmt_a_writere.php?callback=?', { 'cmtPSN': cmtpsn, 'atcId': t._set.article, 'site': t._set.url, 'cmtReCont': cmtReContent, 'menuCode':t._set.menuCode, 'tblName':t._set.tblName, 'cmtTitle': t._set.title, 'cmtSnsSend': t._set.snsType, 'cmtUrl': cmtUrl, 'hostAlias':t._set.hostAlias }, function (rtnv) { $('#cmtItm_' + cmtpsn + ' div.divReList #cmt_cmtItm_' + cmtpsn).append(t.getCommentReFormat(rtnv)); if (rtnv.CMTSN <= 0) { if(rtnv.error != '') Ivy.divpopupalert(rtnv.error); if(rtnv.CMTSN == -1) t.snsSiteLogout(); } else { Ivy.divpopupalert("등록 되었습니다"); $('#cmtItm_' + cmtpsn + ' div.divReList').show(); $('#cmtReCont' + cmtpsn).val(''); if ( typeof t._set.feedback == "function" ) t._set.feedback(""); } }); }, /* 신고기능 추가시 getCommentFormat: function (itm, hasRe) { var t = this; if (itm.CMTSN > 0) { var uimg = '/Ivyimages/common/sub/sns_noimg.gif'; //itm.CMTUserImage if (itm.CMTUserImage != null) uimg = itm.CMTUserImage; return ('
' + '
' + '
' + '
' + itm.CMTUserName + ' ' + itm.CMTRegDt + '' + (hasRe && t.isWriter(itm.CMTUserID, itm.CMTUserType) ? '삭제' : '' ) + '
' + '
추천 ' + itm.CMTGoodCnt + ' 반대 ' + itm.CMTBadCnt + '신고
' + '
' + itm.CMTCont + '
' + '
' + '
'); } else { return ''; } }, */ getCommentFormat: function (itm, hasRe) { var t = this; if (itm.CMTSN > 0) { var uimg = '/Ivyimages/common/sub/sns_noimg.gif'; //itm.CMTUserImage if (itm.CMTUserImage != null) uimg = itm.CMTUserImage; return ('
' + '
' + '
' + '
' + itm.CMTUserName + ' ' + itm.CMTRegDt + '' + (hasRe && t.isWriter(itm.CMTUserID, itm.CMTUserType) ? '삭제' : '' ) + '
' + '
추천 ' + itm.CMTGoodCnt + ' 반대 ' + itm.CMTBadCnt + '
' + '
' + itm.CMTCont + '
' + '
' + '
'); } else { return ''; } }, delComment: function(cmtsn,flag) { var t = this; if( confirm("삭제 하시겠습니까?") ) { if (!t.loginCheck()) { return; } $.getJSON(t._set.authDir + 'cmt_a_delete.php?callback=?', { 'cmtSN': cmtsn, 'site': t._set.url, 'atcId': t._set.article }, function (rtnv) { if (rtnv.length <= 0 || rtnv.error != '') { Ivy.divpopupalert(rtnv.error); } else { // location.reload(true); if (flag == true) var tmpParent = $('#cmtItm_' + cmtsn).parent(); $('#cmtItm_' + cmtsn).remove(); //대상 삭제 if (flag == true) { var tmpCmtItm_ID = tmpParent.attr("id"); if ($("#" + tmpCmtItm_ID + " .cmt_sort02").length == 0) { $("#" + tmpCmtItm_ID).hide(); } } t._set.tcnt--; $('#tCount').html(t._set.tcnt + '개'); Ivy.divpopupalert("삭제 되었습니다"); } }); } }, /* getCommentReFormat: function (itm) { var t = this; if (itm.CMTSN > 0) { return ('
' + '
' + itm.CMTUserName + ' ' + itm.CMTRegDt + '' + (t.isWriter(itm.CMTUserID, itm.CMTUserType) ? '' : '신고') + '
' + '
' + itm.CMTCont + '
' + '
'); } else { return ''; } // alert(itm.CMTCont); } }, */ getCommentReFormat: function (itm) { var t = this; if (itm.CMTSN > 0) { return ('
' + '
' + itm.CMTUserName + ' ' + itm.CMTRegDt + '' + (t.isWriter(itm.CMTUserID, itm.CMTUserType) ? '' : '') + '
' + '
' + itm.CMTCont + '
' + '
'); } else { return ''; } // alert(itm.CMTCont); } }, isWriter:function (cuid, cutype) { var t = this; if (t._set.snsID == null || t._set.snsID == '') return false; if (cuid != t._set.snsID) return false; if (cutype != t._set.snsType) return false; return true; } } function IvySns_ViewUserComment (uid, utype) { if (utype == "facebook") Ivy.openWindow("http://www.facebook.com/profile.php?id=" + uid, "facebook"); if (utype == "twitter") Ivy.openWindow("http://www.twitter.com/" + uid, "twitter"); if (utype == "me2day") Ivy.openWindow("http://me2day.net/" + uid, "m2day"); //if (utype == "ivysns") Ivy.openWindow("http://?uid=" + uid, "ivysns"); if (utype == "yozm") Ivy.openWindow("http://yozm.daum.net/" + uid, "yozm"); } function IvySns_voteComment(cmtSN, val, procDir) { if (val > 0) { $.getJSON(procDir + 'cmt_a_vote.php?callback=?', { 'cmtSN': cmtSN, 'val': val }, function (rtnv) { if (rtnv.error == '') { $('#cmtItm_' + cmtSN + ' em.vg').html(rtnv.cnt); alert("참여해주셔서 감사합니다"); } else { alert(rtnv.error); } }); } if (val < 0) { $.getJSON(procDir + 'cmt_a_vote.php?callback=?', { 'cmtSN': cmtSN, 'val': val }, function (rtnv) { if (rtnv.error == '') { $('#cmtItm_' + cmtSN + ' em.vb').html(rtnv.cnt); alert("참여해주셔서 감사합니다"); } else { alert(rtnv.error); } }); } } /* function IvySns_repoComment(cmtSN, procDir) { if (confirm('광고,욕설,비방등 관리기준 위반글을 운영자에게 신고합니다. 신고하시겠습니까?')) { $.getJSON(procDir + 'cmt_a_Repo.php?callback=?', { 'cmtSN': cmtSN }, function (rtnv) { if (rtnv.error == '') { alert('신고가 접수 되었습니다.'); } else { alert(rtnv.error); } }); } } */