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('' ); $('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(' '); } 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 ('
' + '- 최신순
'
+ '- 추천순
'
+ '- 반대순
'
+ '