﻿//$(document).ready(function() {
//    mPlugin.init();
//});
mnetPlugin = function() {}
mnetPlugin.prototype = {
    type    : "",
    name    : "mnet_plugin",
    isLogin : false,
    minfo   : {
        mcode       : null,
        gRealName   : null,
        userId      : ""
    },
    url : {
        proxyUrl    : "/common/proxy_social.asp",
        blogUrl     : "http://my.mnet.com/",
        starUrl     : "http://star.mnet.com/",
        clipUrl     : "http://img.mnet.com/clipimage",
        apiUrl      : "http://api.mnet.com/v1",
        artistUrl   : "http://www.mnet.com/artist/",
        albumUrl    : "http://www.mnet.com/album/",
        programUrl  : "http://www.mnet.com/tv/program/",
        vodUrl      : "http://www.mnet.com/tv/",
        playlistUrl : "http://www.mnet.com/playlist/"
    },
    metaTag : {
        title       : "",
        description : "",
        location    : "",
        imgSrc      : ""
    },
    init : function() {

        mPlugin.type = (arguments[0] || "");

        if( $.Ajaxload_social == undefined ) {
            $(document).append('<script type="text/javascript" src="/include/js/jquery.ajax.js"></script>');
        }
        try{
            if (mPlugin.type == "mweb") {
                if ( mnetCookie.getCookie("UInfo") != ""){
                    this.isLogin = true;
                }
            } else {
                this.isLogin = mnetCookie.loginchk();
            }
        } catch(e){}

        //mPlugin.setMetaTag();

        var arrFollow = new Array();
        var arrLike   = new Array();
        var arrSupport = new Array();

        $("[mid='"+ mPlugin.name +"']")
            .each(function(idx) {
                if ( $(this).attr("mchk") != "1" ) {
                    switch ( $(this).attr("mtype") ) {
                        case "follow"     : arrFollow.push($(this));    break;
                        case "like"       :
                            if ( $(this).attr("mgb") == "list" ){
                                like.init($(this));
                            }
                            else if ( ($(this).attr("mgb")=="album") && ($(this).attr("class")=="hart_icon") ){
                            }
                            else {
                                arrLike.push($(this));
                            }
                            break;
                        case "share"      : share.init($(this));        break;
                        case "albumpoint" : albumpoint.init($(this));   break;
                        case "myalbum"    : myalbum.init($(this));      break;
                        case "bookmark"   : bookmark.init($(this));     break;
                        case "twitter"    : outside.twitter($(this));   break;
                        case "facebook"   : outside.facebook($(this));  break;
                        case "me2day"     : outside.me2day($(this));    break;
                        case "message"    : message.init($(this));      break;
                        case "support"    :
                            if(jQuery.timer == undefined){
                                $(document).append("<script type='text/javascript' src='/include/js/jquery.timers.js'></script>");
                            }
                            if ( $(this).attr("mgb") == "list" ){
                                arrSupport.push($(this));
                            }
                            else {
                                support.init($(this));
                            }
                            break;
                    }
                }
            });

        if (arrFollow.length > 0) {
            follow.init(arrFollow);
        }
        if (arrLike.length > 0) {
            like.initList(arrLike);
        }
        if (arrSupport.length > 0) {
            support.initList(arrSupport);
        }
    },
    loginChk : function() {
        if ( !this.isLogin ) {


            if (mPlugin.type == "mplayer") {
                try {
                    mplayerlogincall();
                } catch(e) {
                    mnetAuth.login();
                }
            } else if (mPlugin.type == "mweb") {


                location.href = "http://m.mnet.com/Web/Login/Login.asp?returl="+ escape(document.URL);
            } else {
                mnetAuth.login();
            }
            return false;
        } else {
            return true;
        }
    },
    realNameChk : function() {
        if (!mPlugin.minfo.gRealName){
            mPlugin.minfo.gRealName = mnetCookie.getUinfo("realname");
        }
        if (mPlugin.minfo.gRealName != "Y"){
            if (confirm("정통부 지침에 따라 본인확인을 하셔야 게시글을 작성하실 수 있습니다.\n본인 확인 페이지로 이동하시겠습니까?")){
                window.open("http://newmember.mnet.com/limituse/member.asp", "", "width=645px, height=575px");
            }
            return false;
        } else {
            return true;
        }
    },
    apiCall : function() {
        var parameter   = (arguments[0] || null );
        var method      = (arguments[1] || "GET");
        var callback    = (arguments[2] || null );
        var obj         = (arguments[3] || null );
        var etcInfo     = (arguments[4] || ""   );

        return $.Ajaxload_social( this.url.proxyUrl, callback, parameter ,"json", method, obj, etcInfo);
    },
    setMetaTag : function() {
        mPlugin.metaTag.title       = $('meta[name=title]').attr("content");
        mPlugin.metaTag.description = $('meta[name=description]').attr("content");
        mPlugin.metaTag.imgSrc      = $('link[rel=image_src]').attr("href");
        mPlugin.metaTag.location    = document.URL;
    },
    getMval : function() {
        var $obj = (arguments[0]||"");
        return this.getSplitData($obj.attr("mval"));
    },
    getSplitData : function() {
        var value      = (arguments[0] || "" );
        var spliter    = (arguments[1] || "_");
        var arrVal     = new Array();
        if (value!= "" && spliter != "") {
            arrVal = value.split( spliter );
        }
        return arrVal;
    },
    cateCdNm : function() {
        var nm = "";
        switch(arguments[0]){
            case "0201" : nm = "아티스트"; break;
            case "0202" : nm = "앨범";     break;
            case "0203" : nm = "곡";       break;
            case "0204" : nm = "프로그램"; break;
            case "0205" :
            case "0209" : nm = "영상";     break;
            case "0206" : nm = "블로그";   break;
            case "0210" : nm = "공개앨범"; break;
        }
        return nm;
    },
    blogUrl : function() {
        var cateCd = (arguments[0] || "");
        var userId = (arguments[1] || "");

        if (cateCd == "0206"){
            return mPlugin.url.blogUrl + userId;
        } else {
            return mPlugin.url.starUrl + userId;
        }
    },
    showLayer : function () {
        var idObj      = arguments[0];
        var rmModal    = (arguments[1] || "1"  );
        var overlayCSS = (arguments[2] || null );

        if (overlayCSS == "black"){
            overlayCSS = {background: 'black', opacity: .6}
        }
        if (rmModal == "1"){
            rmModal = true;
        } else {
            rmModal = false;
        }

        $("#"+idObj).lightbox_me({
            overlaySpeed    : 0,
            overlayDisappearSpeed: 0,
            lightboxSpeed   : 0,
            centered        : true,
            overlayCSS      : overlayCSS,
            closeClick      : rmModal
        });
//            var left = 0;
//            var top  = 0;
//            var parentObj = null;
//            if ( parentIdx ) {
//                parentObj = $("[mid='"+ this.name +"']:eq("+ parentIdx +")");
//                left = parentObj.position().left;
//                top  = parentObj.position().top + 20;
//            } else {
//                left = ($('body').width()  - $("#"+idObj).width())  / 2;
//                top  = ($('body').height() - $("#"+idObj).height()) / 2;
//            }
//            $("#"+idObj).css({'left':left,'top':top});
//            $("#"+idObj).show();

			//$("#"+idObj).css({'left':'300px','top':'100px'});
            //$("#"+idObj).show();
    },
    hideLayer : function() {
        var idObj = arguments[0];
        var type  = (arguments[1] || "1");
        if ( type == "1" ){
            $("#"+idObj).trigger('close');
        }
        else {
            $("#"+idObj).hide();
        }
    },
    showNoti : function() {
        var msg1     = (arguments[0] || "");
        var msg2     = (arguments[1] || "");
        var idLayer  = (arguments[2] || "mplugin_noti");
        var html     = "";

        if (mPlugin.type == "mplayer") {
            try { location.href = "mnetprotocol:2001&" + msg1 +"\\n"+ msg2; } catch(e) { }
        } else {

            if ( $("#"+idLayer).length == 0 ) {

                html += "<div class=\"lay_wrap\" id=\""+ idLayer +"\" style=\"width:500px;display:none\">"
                html += "<div class=\"lay_conts\">"
                html += "<div class=\"lay_head\">"
                html += "<a href=\"javascript:void(0);\" onclick=\"mPlugin.hideLayer('"+ idLayer +"');\" id=\"plugin_layer_close\" class=\"btn lay_close\" title=\"닫기\"><span>닫기</span></a>"
                html += "</div>"
                html += "<div class=\"lay_cont\">"
                html += "<div class=\"pt20 pb20 alignC\"><strong id=\"plugin_noti_msg1\"></strong>"
                html += "<p class=\"text\" id=\"plugin_noti_msg2\"></p></div>"
                html += "</div>"
                html += "<div class=\"lay_foot\">"
                html += "<a href=\"javascript:void(0);\" onclick=\"mPlugin.hideLayer('"+ idLayer +"');\" id=\"plugin_layer_ok\" class=\"btn btn_lay_comfirm\"><span>확인</span></a>"
                html += "</div>"
                html += "</div>"
                html += "<span class=\"shadow shadow2\"></span>"
                html += "</div>"
                $('body').append(html);
            }
            $("#plugin_noti_msg1").html(msg1);
            $("#plugin_noti_msg2").html(msg2);

            this.showLayer( idLayer );
        }
    },
    showEvent : function() {

        if ( !mPlugin.minfo.mcode ) {
            mPlugin.minfo.mcode = mnetCookie.getUinfo("mcode");
        }

        var msgEvt   = (arguments[0] || "");
        var lyrType  = (arguments[1] || "");

        var msg1     = (arguments[2] || "");
        var msg2     = (arguments[3] || "");
        var idLayer  = "mymnet_event_201109";
        var cookieNm = idLayer +"_"+ lyrType +"_"+ mPlugin.minfo.mcode;

        var eventCk  = "N";
        var today    = new Date();
        var eventEndDt = mPlugin.getStrToDate("2011-10-05 00:00:00");   //이벤트 기간

        try { eventCk = mnetCookie.getCookie(cookieNm); } catch(e) {}

        if ( (mPlugin.type != "mplayer") && (eventCk != "Y") && (today < eventEndDt) ) {
            var html = '';
            if ( $("#"+idLayer).length == 0 ) {
                html += '<div class="lay_wrap" id="'+ idLayer +'" style="left:33px;top:47px;width:500px">'
                html += '<div class="lay_conts">'
                html += '<div class="lay_head">'
                html += '<h3><img alt="New Mnet.com Open Event" src="/images/temp/tit_openevent.gif"></h3>'
                html += '<a href="javascript:;" onclick="mPlugin.hideLayer(\''+ idLayer +'\');" class="btn lay_close"><span>닫기</span></a>'
                html += '</div>'
                html += '<div class="lay_cont">'
                html += '<p class="alignC pb20 pt20" style="line-height:150%;"><strong>마이엠넷 Master 되기 이벤트에 응모 되었습니다!</strong><br /><span id="plugin_event_msg"></span><br />이벤트를 자세히 알아보려면? 아래 배너 클릭!</p>'
                html += '<p class="alignC pb20"><a href="javascript:;" onclick="mPlugin.hideLayer(\''+ idLayer +'\');window.open(\'http://www.mnet.com/event/promotion/1/index.asp?epage=3\');"><img src="/images/temp/ban_event_420.jpg"></a></p>'
                html += '</div>'
                html += '<div class="lay_foot">'
                html += '<a href="javascript:;" onclick="mPlugin.hideLayer(\''+ idLayer +'\');" class="btn btn_lay_comfirm" alt="확인" title="확인"><span>확인</span></a> <a href="javascript:;" onclick="mPlugin.hideLayer(\''+ idLayer +'\');window.open(\'http://www.mnet.com/event/promotion/1/index.asp?epage=3\');" class="btn_eventview" alt="이벤트 자세히 보기" title="이벤트 자세히 보기"><span class="blind">이벤트 자세히 보기</span></a>'
                html += '</div>'
                html += '</div>'
                html += '<span class="shadow shadow2"></span>'
                html += '</div>'
                $('body').append(html);
            }
            $("#plugin_event_msg").html(msgEvt);

            this.showLayer( idLayer );

            mnetCookie.setCookie(cookieNm,'Y','365');
        }
        else if (msg1 != "" || msg2 != "") {
            mPlugin.showNoti(msg1, msg2);
        }
    },
    getStrToDate : function () {
        var val = ( arguments[0] || 0 );
        var ret = null;
        var year, month, day, hours, minutes, seconds;

        if (val) {
            var arrVal = val.split(" ");
            year    = this.decimalNumber(arrVal[0].substring(0,4));
            month   = this.decimalNumber(arrVal[0].substring(5,7));
            day     = this.decimalNumber(arrVal[0].substring(8,10));
            hours   = this.decimalNumber(arrVal[1].substring(0,2));
            minutes = this.decimalNumber(arrVal[1].substring(3,5));
            seconds = this.decimalNumber(arrVal[1].substring(6,8));

            ret = new Date(year, month-1, day, hours, minutes, seconds);
        }
        return ret;
    },
    decimalNumber : function() {
        var val = ( arguments[0] || 0 );
        var find = true;

        while (find) {
            if (val.charAt(0) != "0") {
                find = false;
                break;
            }
            if (val.length > 1)
                val = val.substring(1);
            else break;
        }
        return parseInt(val);
    },
    lengthToByte : function () { //byte로 길이체크
        var objMsg = ( arguments[0] || "" );
        var nbytes = 0;
        for (i=0; i<objMsg.length; i++) {
        var ch = objMsg.charAt(i);
            if(escape(ch).length > 4) {
                nbytes += 2;
            } else if (ch == '\n') {
                if (objMsg.charAt(i-1) != '\r') {
                    nbytes += 1;
                }
            } else if (ch == '<' || ch == '>') {
                nbytes += 4;
            } else {
                nbytes += 1;
            }
        }
        return nbytes;
    },
    assertMsg : function () { //글자수만큼 글자 자르기
        var objMsg    = ( arguments[0] || ""   );
        var maxLength = ( arguments[1] || 0    );
        var dotFlg    = ( arguments[2] || "true" );

        var inc = 0;
        var nbytes = 0;
        var msg = "";
        var msglen = objMsg.length;
        for (i=0; i<msglen; i++) {
            var ch = objMsg.charAt(i);
            if (escape(ch).length > 4) {
                inc = 2;
            } else if (ch == '\n') {
                if (objMsg.charAt(i-1) != '\r') {
                    inc = 1;
                }
            } else if (ch == '<' || ch == '>') {
                inc = 4;
            } else {
                inc = 1;
            }
            if ((nbytes + inc) > maxLength) {
                if (dotFlg == "true"){
                    msg = msg + '...';
                }
                break;
            }
            nbytes += inc;
            msg += ch;
        }
        return msg;
    },
    getArtistsDatas : function(artistIds, artistNms){
        var arrArtist = new Array();
        if (artistIds == null || artistNms == null) {	//아티스트정보가 없을경우
            return arrArtist;
        }

        var arrIds = artistIds.split("♩");
        var arrNms = artistNms.split("♩");

        for(var i=0 ; i < arrIds.length ; i++){
            data = new Object();
            data['id'] = arrIds[i];
            data['nm'] = arrNms[i];
            arrArtist.push(data);
        }
        return arrArtist;
    },
    getIEVersion : function() {
        var rv = -1;
        if (navigator.appName == 'Microsoft Internet Explorer') {
            var ua = navigator.userAgent;
            var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
            if (re.exec(ua) != null)
            rv = parseFloat(RegExp.$1);
        }
        return rv;
    },
    chkContentInfo : function() {
        var $obj      = arguments[0];
        var arrCInfo  = mPlugin.getMval( $obj );

        var titleMain = ($obj.attr("titleMain") || "");
        var location  = ($obj.attr("location")  || "");
        if ( arrCInfo[0]=="0211" && (titleMain == ""|| location == "" )) {
            alert("컨텐츠 정보가 없습니다.");
            return false;
        } else {
            return true;
        }
    },
    getCount : function() {
        /*
        응원하기 =>
        '십만 단위까지 모든 숫자 표기 - 백만 단위부터는 100만 으로 표기'로 변경
        ex) 999999, 999만,9999만 으로 표기

        그 외 =>
        9,999       까지 9999  로 표기
        10,000      부터 10K   로 표기
        9,999,999   까지 9999K 로 표기
        10,000,000  부터 10M   로 표기
        999,999,999 까지 999M  로 표기
        */
        var cnt = parseInt(arguments[0]||0);
        var mtype = (arguments[1] || "");

        if ( cnt >= 10000000 ) {
            return this.addComma(Math.floor(cnt/1000000)) + "만";
        }

        if (mtype == "support") {
            return this.addComma(cnt);
        } else {
            if ( cnt >= 10000 ) {
                return this.addComma(Math.floor(cnt/1000)) + "천";
            } else {
                return this.addComma(cnt);
            }
        }
    },
    addComma : function(n) {
        if(isNaN(n)){return 0;}

        var reg = /(^[+-]?\d+)(\d{3})/;
        n += '';
        while (reg.test(n))
        n = n.replace(reg, '$1' + ',' + '$2');
        return n;
    }
}
var mPlugin = new mnetPlugin();


//Follow
follow = {
    init : function() {
        var arrObj       = arguments[0];
        var arrCateCd    = new Array();
        var arrContentNo = new Array();

        var $obj  = null;
        var cInfo = "";

        for (var i=0; i < arrObj.length; i++){
            $obj = $(arrObj[i]);

            cInfo = mPlugin.getMval( $obj );
            arrCateCd.push   ( cInfo[0] );
            arrContentNo.push( cInfo[1] );
            $obj.attr("mchk","1");

            $obj.unbind("click").bind("click",function() { follow.add( $obj ) });
        }

        if ( mPlugin.isLogin ) {
            var parameter = ({url:mPlugin.url.apiUrl + "/follow/my" , pnm:"arrCateCd[],arrContentNo[]", arrCateCd:arrCateCd, arrContentNo:arrContentNo, method:"POST"})
            mPlugin.apiCall(parameter, "POST", follow.callbackList, arrObj);
        }
    },
    add : function() {
        var $obj = arguments[0];
        var arrCInfo = mPlugin.getMval($obj);

        if ( mPlugin.loginChk() ){
            var parameter = ({url:mPlugin.url.apiUrl + "/follow/"+ arrCInfo[0] + "/" + arrCInfo[1] ,method:"POST"})
            mPlugin.apiCall(parameter, "POST", follow.callback, $obj, "add");
        }
        trkLog.log("F_"+ arrCInfo[0]);
    },
    del : function() {
        if ( mPlugin.loginChk() ){
            var $obj = arguments[0];

            var arrCInfo = mPlugin.getMval($obj);
            var parameter = ({url:mPlugin.url.apiUrl + "/follow/"+ arrCInfo[0] + "/" + arrCInfo[1] ,method:"DEL"})
            mPlugin.apiCall(parameter, "POST", follow.callback, $obj, "del");
        }
    },
    callbackList : function() {
        var resultData = arguments[0];
        var arrObj     = arguments[1];

        if ( arrObj && resultData ) {

            if (resultData.resultCode == "S0000") {

                $.each(arrObj, function(idx) {

                    if (resultData.data[idx]) {

                    var nowClass  = $(this).attr("class");
                    if (nowClass && nowClass.indexOf("following") > 0) {
                        var nxtClass = nowClass.replace("following","follow");
                    }
                    else if (nowClass && nowClass.indexOf("follow") > 0) {
                        var nxtClass = nowClass.replace("follow","following");
                    }
                    $(this).attr("mtitle",resultData.data[idx].contentNm);

                    if ( resultData.data[idx].myAct == "Y" ){
                        $(this).unbind("click").bind("click",function() { follow.del( $(this) ) });
                        $(this).removeClass( nowClass ).addClass( nxtClass );
                        if ( $(this).attr("mgb") == "text" ){
                            $(this).text("Follow 취소");
                        }
                    }
                    else {
                        $(this).unbind("click").bind("click",function() { follow.add( $(this) ) });
                        if ( $(this).attr("mgb") == "text" ){
                            $(this).text("Follow");
                        }
                    }
                    }
                });
            }

        }
    },
    callback : function() {
        var resultData = arguments[0];
        var $obj       = arguments[1];
        var funcType   = arguments[2];

        if ( $obj && resultData ) {
            var arrCInfo  = mPlugin.getMval($obj);
            var cateCd    = arrCInfo[0];
            var contentNo = arrCInfo[1];

            var resultCode = resultData.resultCode;
            var message    = resultData.message;

            if (resultCode == "S0000") {

                var nowClass = $obj.attr("class");
                if (nowClass && nowClass.indexOf("following") > 0) {
                    var nxtClass = nowClass.replace("following","follow");
                }
                else if (nowClass && nowClass.indexOf("follow") > 0) {
                    var nxtClass = nowClass.replace("follow","following");
                }

                var mTitle = $obj.attr("mtitle");
                var msg1 = "", msg2 = "", msgEvt = "";

                if ( funcType == "add" ) {
                    $obj.unbind("click").bind("click",function() { follow.del($obj) });
                    $obj.removeClass( nowClass ).addClass( nxtClass );
                    if ( $obj.attr("mgb") == "text" ){
                        $obj.text("Follow 취소");
                    }

                    if (cateCd == "0201"){
                        msg1 = mTitle + "님을 Follow 하였습니다.";
                        msg2 = "아티스트 페이지의 정보가 업데이트 되면 회원님의 마이엠넷에 알려드립니다.";
                    }
                    else if (cateCd == "0206"){
                        msg2 = mTitle + "님을 Follow 하였습니다.";
                    }
                    else {
                        msg2 = mTitle + " 을(를) Follow 하였습니다.";
                    }

                    msgEvt = "["+ mTitle +"]님 Follow 완료!"
                    //mPlugin.showNoti(msg1, msg2);
                    mPlugin.showEvent(msgEvt, "follow", msg1, msg2);
                }
                else if ( funcType == "del" ) {
                    $obj.unbind("click").bind("click",function() { follow.add($obj) });
                    $obj.removeClass( nowClass ).addClass( nxtClass );
                    if ( $obj.attr("mgb") == "text" ){
                        $obj.text("Follow");
                    }
                    msg1 = mTitle;
                    if (cateCd == "0201" || cateCd == "0206"){
                        msg1 = msg1 + "님";
                    }
                    mPlugin.showNoti("", msg1 + " 을(를) Follow 취소했습니다.");
                }
            }
            else {
                var errMsg = message;
                if ( funcType == "add" && resultCode == "ELT10" ){
                    errMsg = "본인은 Follow할 수 없습니다.";
                }
                //console.log("[Follow]error:"+resultCode+",msg:"+message);
                mPlugin.showNoti("", errMsg);
            }
        }
    }
}


//좋아요
like = {
    objLayer : "mplugin_likelist",
    //TOP3 리스트 있는 경우
    init : function() {
        var $obj  = arguments[0];
        $obj.attr("mchk","1");
        var arrCInfo  = mPlugin.getMval( $obj );
        var parameter = ({ url:mPlugin.url.apiUrl + "/like/"+ arrCInfo[0] +"/" + arrCInfo[1] +"/score"
                          ,pnm         :"titleMain,titleSub,location,imageUrl,imgSizeUser"
                          ,titleMain : ( $obj.attr("titleMain") || "-1" )
                          ,titleSub  : ( $obj.attr("titleSub" ) || "-1" )
                          ,location  : ( $obj.attr("location" ) || "-1" )
                          ,imageUrl  : ( $obj.attr("imageUrl" ) || "-1" )
                          ,imgSizeUser : "23"
                          ,method      : "GET"
                        })
        mPlugin.apiCall(parameter, "GET", like.callbackList, $obj);
    },
    initList : function() {
        var arrObj       = arguments[0];
        var arrCateCd    = new Array();
        var arrContentNo = new Array();

        var arrTitleMain = new Array();
        var arrTitleSub  = new Array();
        var arrLocation  = new Array();
        var arrImageUrl  = new Array();

        var $obj  = null;
        var cInfo = "";

        for (var i=0; i < arrObj.length; i++){
            $obj = $(arrObj[i]);
            $obj.attr("mchk","1");

            cInfo = mPlugin.getMval( $obj );
            arrCateCd.push   ( cInfo[0] );
            arrContentNo.push( cInfo[1] );

            arrTitleMain.push ( $obj.attr("titleMain") || "-1" );
            arrTitleSub.push  ( $obj.attr("titleSub")  || "-1" );
            arrLocation.push  ( $obj.attr("location")  || "-1" );
            arrImageUrl.push  ( $obj.attr("imageUrl")  || "-1" );
        }
        var parameter = ({ url:mPlugin.url.apiUrl + "/like/scoreList"
                          ,pnm:"cateCd[],contentNo[],titleMain[],titleSub[],location[],imageUrl[],imgSizeUser"
                          ,cateCd      : arrCateCd
                          ,contentNo   : arrContentNo
                          ,titleMain   : arrTitleMain
                          ,titleSub    : arrTitleSub
                          ,location    : arrLocation
                          ,imageUrl    : arrImageUrl
                          ,imgSizeUser : "23"
                          ,method      : "POST"
                        })
        mPlugin.apiCall(parameter, "POST", like.callbackList, arrObj);

    },
    add : function() {
        var $obj      = arguments[0];
        var arrCInfo  = mPlugin.getMval($obj);

        if ( mPlugin.loginChk() ){

            if ( !mPlugin.chkContentInfo($obj) ){
                return false;
            }

            var parameter = ({ url:mPlugin.url.apiUrl + "/like/"+ arrCInfo[0] + "/" + arrCInfo[1]
                              ,method:"POST"
                              ,pnm:"titleMain,titleSub,location,imageUrl"
                              ,titleMain : ( $obj.attr("titleMain") || "-1" )
                              ,titleSub  : ( $obj.attr("titleSub" ) || "-1" )
                              ,location  : ( $obj.attr("location" ) || "-1" )
                              ,imageUrl  : ( $obj.attr("imageUrl" ) || "-1" )
                            })
            mPlugin.apiCall(parameter, "POST", like.callback, $obj, "add");
        }
        trkLog.log("L_"+ arrCInfo[0]);
    },
    del : function() {
        if ( mPlugin.loginChk() ){
            var $obj      = arguments[0];
            var arrCInfo  = mPlugin.getMval($obj);

            if ( !mPlugin.chkContentInfo($obj) ){
                return false;
            }

            var parameter = ({ url:mPlugin.url.apiUrl + "/like/"+ arrCInfo[0] + "/" + arrCInfo[1], method:"DEL"
                              ,pnm:"titleMain,titleSub,location,imageUrl"
                              ,titleMain : ( $obj.attr("titleMain") || "-1" )
                              ,titleSub  : ( $obj.attr("titleSub" ) || "-1" )
                              ,location  : ( $obj.attr("location" ) || "-1" )
                              ,imageUrl  : ( $obj.attr("imageUrl" ) || "-1" )
                            })
            mPlugin.apiCall(parameter, "POST", like.callback, $obj, "del");
        }
    },
    list : function() {
        var $obj = arguments[0];
        var arrCInfo = mPlugin.getMval($obj);
        var parameter = ({ url:mPlugin.url.apiUrl + "/like/"+ arrCInfo[0] +"/"+ arrCInfo[1], method:"GET"
                          ,pnm:"titleMain,titleSub,location,imageUrl,pgsize,pgnum"
                          ,titleMain : ( $obj.attr("titleMain") || "-1" )
                          ,titleSub  : ( $obj.attr("titleSub" ) || "-1" )
                          ,location  : ( $obj.attr("location" ) || "-1" )
                          ,imageUrl  : ( $obj.attr("imageUrl" ) || "-1" )
                          ,pgsize    : "100"
                          ,pgnum     : "1"
                        })
        mPlugin.apiCall(parameter, "GET", like.callback, $obj, "list");
    },
    callbackList : function() {
        var resultData = arguments[0];
        var arrObj     = arguments[1];

        if ( arrObj && resultData ) {

            if (resultData.resultCode == "S0000") {

                var classNm  = "";
                var element  = null;
                var totalCnt = 0;
                var valid    = "";
                var $obj     = new Array();
                var mgb      = "";
                var mval     = "";

                $.each(arrObj, function(idx) {
                    $obj[idx]= $(this);
                    classNm  = $obj[idx].attr("class");
                    mgb      = $obj[idx].attr("mgb");
                    mval     = $obj[idx].attr("mval");

                    element  = resultData.data[idx];
                    if ($(this).attr("mgb") == "list") {
                        totalCnt = (resultData.info.totalCnt || "0");
                        valid    = resultData.info.etc.valid;
                    } else {
                        totalCnt = (element.likeCnt || "0");
                        valid    = element.valid;
                    }

                    if (classNm == "hart_icon" && mgb !="album") {
                        $obj[idx].html(totalCnt);
                        if (totalCnt == "0"){
                            $obj[idx].hide();
                        }
                    }
                    else {
                        if (classNm=="action_liked" || classNm=="btn_action_reply") {

                            if ( valid == "1" ) {
                                $obj[idx].html("<a href=\"javascript:void(0);\">좋아요</a>");
                                $obj[idx].find("a:first-child").unbind("click").bind("click",function() { like.add( $obj[idx] ) });
                            }
                            else {
                                $obj[idx].html("<a href=\"javascript:void(0);\">좋아요취소</a>");
                                $obj[idx].find("a:first-child").unbind("click").bind("click",function() { like.del( $obj[idx] ) });
                            }
                            if (totalCnt > 0){
                                if(classNm == "action_liked"){
                                    $obj[idx].append("<a href=\"javascript:void(0);\"><span class=\"action_like\">"+ totalCnt +"명</span></a>");
                                    $obj[idx].find(".action_like").unbind("click").bind("click",function() { like.list( $obj[idx] ) });
                                }
                                else {
                                    $obj[idx].append("<a href=\"javascript:void(0);\" class=\"count\">"+ totalCnt +"</a>");
                                    $obj[idx].find(".count").unbind("click").bind("click",function() { like.list( $obj[idx] ) });
                                }
                            }
                        }
                        else if (classNm.indexOf("over_like") > -1) {
                            if (valid == "1") {
                                $obj[idx].unbind("click").bind("click",function() { like.add( $obj[idx] ) });
                                $obj[idx].attr("title","좋아요");
                                $obj[idx].addClass('over_like').removeClass('over_like_cancel');
                                $obj[idx].html("좋아요");
                            }
                            else {
                                $obj[idx].unbind("click").bind("click",function() { like.del( $obj[idx] ) });
                                $obj[idx].attr("title","좋아요 취소");
                                $obj[idx].addClass('over_like_cancel').removeClass('over_like');
                                $obj[idx].html("좋아요 취소");
                            }

                            if (mgb == "album"){
                                $("[mval='"+ mval +"']")
                                    .each(function(index) {
                                        if ( $(this).attr("class") == "hart_icon" ) {
                                            $(this).html(totalCnt);
                                            if (totalCnt == "0"){
                                                $(this).hide();
                                            }
                                        }
                                });
                            }
                        }
                        else {
                            if ( valid == "1" ) {
                                $obj[idx].html("<a href=\"javascript:void(0);\" class=\"btn_like_active\">좋아요</a><a href=\"javascript:void(0);\" class=\"count\">"+ mPlugin.getCount(totalCnt) +"</a>");
                                $obj[idx].find("a:first-child").unbind("click").bind("click",function() { like.add( $obj[idx] ) });
                                if ( totalCnt > 0 ){
                                    $obj[idx].find("a:last-child").unbind("click").bind("click",function() { like.list( $obj[idx] ) });
                                }
                            }
                            else {
                                $obj[idx].html("<a href=\"javascript:void(0);\" class=\"btn_liked\">좋아요</a><a href=\"javascript:void(0);\" class=\"count\">"+ mPlugin.getCount(totalCnt) +"</a>");
                                $obj[idx].find("a:first-child").unbind("click").bind("click",function() { like.del( $obj[idx] ) });
                                if ( totalCnt > 0 ){
                                    $obj[idx].find("a:last-child").unbind("click").bind("click",function() { like.list( $obj[idx] ) });
                                }
                            }
                            if ( $(this).attr("mgb") == "list" ){
                                var html = "";
                                html += "<ul class=\"liked_list\">";
                                $.each(resultData.data, function(index, entry) {
                                    html += "<li><a href=\""+ mPlugin.blogUrl(entry["userCateCd"],entry["userId"]) +"\" title=\""+ entry["userTitle"] +"\" target=\"mnetBlog\"><img src=\"about:blank\" width=\"23\" height=\"23\" onerror=\"javascript:mnetImage.fnSetClipUrl(this, '0206' , '"+ entry["mcode"] +"', '23')\" title=\""+ entry["userTitle"] +"\"/><span class=\"pic_b\"></span></a></li>";
                                });
                                html += "</ul>";
                                $obj[idx].append(html);
                            }
                        }
                    }
                });
            }
        }
    },
    callback : function() {
        var resultData = arguments[0];
        var $obj       = arguments[1];
        var funcType   = arguments[2];

        var classNm  = $obj.attr("class");

        if ( $obj && resultData ) {
            var arrCInfo  = mPlugin.getMval($obj);
            var cateCd    = arrCInfo[0];
            var contentNo = arrCInfo[1];
            var mval      = $obj.attr("mval");

            var resultCode  = resultData.resultCode;
            var message     = resultData.message;

            if (resultCode == "S0000") {

                if (funcType == "add" || funcType=="del") {

                    if (classNm.indexOf("over_like") > -1){

                        var likeCnt = 0;
                        $(".hart_icon")
                            .each(function(idx) {
                                if ($(this).attr("mval") == mval){
                                    $(this).show();
                                    likeCnt = parseInt($(this).text());

                                    if (funcType=="add"){
                                        likeCnt += 1;
                                    }
                                    else {
                                        likeCnt -= 1;
                                    }
                                    $(this).html(likeCnt);
                                    if (likeCnt == 0){
                                        $(this).hide();
                                    }
                                }
                            })
                        if (classNm == "over_like") {
                            $(".over_like")
                                .each(function(idx) {
                                    if ($(this).attr("mval") == mval ){
                                        $(this).unbind("click").bind("click",function() { like.del( $(this) ) });
                                        $(this).attr("title","좋아요 취소");
                                        $(this).html("좋아요 취소");
                                        $(this).addClass('over_like_cancel').removeClass('over_like');
                                    }
                                })
                        }
                        else {
                            $(".over_like_cancel")
                                .each(function(idx) {
                                    if ($(this).attr("mval") == mval ){
                                        $(this).unbind("click").bind("click",function() { like.add( $(this) ) });
                                        $(this).html("좋아요");
                                        $(this).attr("title","좋아요");
                                        $(this).addClass('over_like').removeClass('over_like_cancel');
                                    }
                                })
                        }
                    }
                    else {
                        if ($obj.attr("mgb")=="list"){
                            like.init( $obj );
                        } else {
                            like.initList( $obj );
                        }
                    }

                }
                else if (funcType == "list"){

                    $("#"+like.objLayer).remove();

                    var blogUrl = "";
                    var html = "";
                    html += "<div id=\""+ like.objLayer +"\" class=\"lay_wrap\" style=\"left:65px;top:300px;width:400px\">"
                    html += "<div class=\"lay_conts\">"
                    html += "<div class=\"lay_head\">"
                    html += "<h3><img src=\"/images/social/tit_lay_like.gif\" alt=\"좋아하는 사람들\" /></h3>"
                    html += "<a href=\"javascript:void(0);\" class=\"btn lay_close\" title=\"닫기\"><span>닫기</span></a>"
                    html += "</div>"
                    html += "<div class=\"lay_cont\">"
                    html += "<div class=\"lay_follow\">"
                    html += "<ul class=\"result_list liked_list\">"
                    $.each(resultData.data, function(idx, entry) {
                        blogUrl = mPlugin.blogUrl(entry["userCateCd"],entry["userId"]);
                        html += "<li>"
                        html += "<dl>"
                        html += "<dd class=\"thumb\"><a href=\""+blogUrl+"\" target=\"_blank\"><img src=\"about:blank\" title=\""+ entry["userTitle"] +"\" onerror=\"javascript:mnetImage.fnSetClipUrl(this, '0206' , '"+ entry["mcode"] +"', '75')\" /><span class=\"pic_b\"></span></a></dd>"
                        html += "<dt><a href=\""+blogUrl+"\" target=\"_blank\">"+ entry["userTitle"] +"</a><em>님</em></dt>"
                        html += "</dl>"
                        html += "<a href=\"javascript:void(0);\" mid=\"mnet_plugin\" mtype=\"follow\" mval=\""+entry["userCateCd"]+"_"+entry["userContentNo"]+"\" class=\"btn_follow_2\"><span>follow</span></a>"
                        html += "</li>"
                    });
                    html += "</ul>"
                    html += "</div>"
                    html += "</div>"
                    html += "<div class=\"lay_foot\">"
                    html += "<a href=\"javascript:void(0);\" class=\"btn btn_lay_close\"><span>닫기</span></a>"
                    html += "</div>"
                    html += "</div>"
                    html += "<span class=\"shadow shadow2\"></span>"
                    html += "</div>"
                    $("body").append(html);

                    $("#"+like.objLayer).find(".btn_lay_close").bind("click",function() { mPlugin.hideLayer(like.objLayer); });
                    $("#"+like.objLayer).find(".lay_close").bind("click",function() { mPlugin.hideLayer(like.objLayer); });

                    mPlugin.showLayer(like.objLayer);
                    mPlugin.init();
                }
            }
            else {
                //console.log("[like]error:"+resultCode+",msg:"+message);
                mPlugin.showNoti("", message);
            }
        }
    }
}



//공유하기
share = {
    objLayer  : "mplugin_share",
    maxLength : "300",
    songIds   : "",
    init : function() {
        var $obj = arguments[0];
        $obj.attr("mchk","1");

        if ( $obj.attr("class").indexOf("widgetbox") >= 0 ) {
            var arrCInfo  = mPlugin.getMval( $obj );
            var parameter = ({ url:mPlugin.url.apiUrl + "/share/"+ arrCInfo[0] +"/"+ arrCInfo[1] +"/score"
                              ,method:"GET"
                              ,pnm:"titleMain,titleSub,location,imageUrl"
                              ,titleMain : ( $obj.attr("titleMain") || "-1" )
                              ,titleSub  : ( $obj.attr("titleSub" ) || "-1" )
                              ,location  : ( $obj.attr("location" ) || "-1" )
                              ,imageUrl  : ( $obj.attr("imageUrl" ) || "-1" )
                            })
            mPlugin.apiCall(parameter, "GET", share.callback, $obj, "init");
        } else {
            $obj.bind("click",function() { share.showLayer($obj) });
        }
    },
    callback : function() {
        var resultData = arguments[0];
        var $obj       = arguments[1];
        var funcType   = arguments[2];

        if ( $obj && resultData ) {
            var arrCInfo  = mPlugin.getMval( $obj );
            var cateCd    = arrCInfo[0];
            var contentNo = arrCInfo[1];

            var classNm   = $obj.attr("class");

            var resultCode  = resultData.resultCode;
            var message     = resultData.message;

            if (resultCode == "S0000") {
                if (classNm == "btn_share") {
                    $obj.bind("click",function() { share.showLayer($obj,false) });
                } else {
                    var totalCnt = (resultData.data[0].score || "0");
                    var html = "";
                    html = "<a href=\"javascript:;\" class=\"btn_share_active\">공유하기</a>"

                    if (classNm.indexOf("sharebox_smart_s") == -1) {
                        html += "<a href=\"javascript:;\" class=\"count\">"+ mPlugin.getCount(totalCnt) +"</a>";
                    }
                    $obj.html(html);
                    $obj.find(".btn_share_active").unbind("click").bind("click",function() { share.showLayer($obj) });
                    $obj.find(".count").unbind("click").bind("click",function() { share.showLayer($obj) });
                }
            } else {
                if (funcType != "init"){
                    mPlugin.showNoti("", message);
                }
            }
        }
    },
    showLayer : function() {
        if ( mPlugin.loginChk() ){

            var $obj      = arguments[0];
            var arrCInfo  = mPlugin.getMval( $obj );
            if ( !mPlugin.chkContentInfo($obj) ) {
                return false;
            }
            var parameter = ({ url       : mPlugin.url.apiUrl + "/metainfo/"+ arrCInfo[0] +"/"+ arrCInfo[1]
                              ,method    : "GET"
                              ,pnm       : "titleMain,titleSub,location,imageUrl,etc"
                              ,titleMain : ( $obj.attr("titleMain") || "-1" )
                              ,titleSub  : ( $obj.attr("titleSub")  || "-1" )
                              ,location  : ( $obj.attr("location")  || "-1" )
                              ,imageUrl  : ( $obj.attr("imageUrl")  || "-1" )
                              ,etc       : ( $obj.attr("etc")               )
                            });
            mPlugin.apiCall(parameter, "GET", share.showLayerCallback, $obj);
        }
    },
    showLayerCallback : function() {
        var resultData = arguments[0];
        var $obj       = (arguments[1] || null);
        if ( $obj && resultData ) {
            var resultCode  = resultData.resultCode;
            var message     = resultData.message;

            if (resultCode == "S0000") {
                share.layerHtml(resultData, $obj);
            } else {
                //alert(resultData.message);
            }
        }
    },
    shareContents : function() {

        var $obj      = arguments[0];
        var cateCd    = $("#shareCateCd"   ).val();
        var contentNo = $("#shareContentNo").val();
        var etc       = $("#shareEtc"      ).val();
        var content   = $("#shareTxtForm"  ).val();

        if ( mPlugin.loginChk() ){

            if ( !content ){
                alert("공유할 내용을 입력해주세요.");
                return false;
            }
            var replyValue = spamChk(content);
            if(replyValue != ""){
                alert( replyValue );
                return false;
            }

            //중복게시방지
            $("#"+share.objLayer).find(".btn.btn_lay_share").unbind("click").bind("click",function() { return false; });

            var parameter = ({ url:mPlugin.url.apiUrl + "/share/write"
                              ,method    :"POST"
                              ,pnm       :"cateCd,contentNo,content,etc,titleMain,titleSub,location,imageUrl"
                              ,cateCd    : cateCd
                              ,contentNo : contentNo
                              ,content   : content
                              ,etc       : etc
                              ,titleMain : ( $obj.attr("titleMain") || "-1" )
                              ,titleSub  : ( $obj.attr("titleSub" ) || "-1" )
                              ,location  : ( $obj.attr("location" ) || "-1" )
                              ,imageUrl  : ( $obj.attr("imageUrl" ) || "-1" )
                            });
            mPlugin.apiCall(parameter, "POST", share.shareContentsCallback, $obj, "add");
        }
        trkLog.log("S_"+ cateCd);
    },
    shareContentsCallback : function() {

        var resultData = arguments[0];
        var $obj       = arguments[1];
        var resultCode = resultData.resultCode;
        var message    = resultData.message;

        mPlugin.hideLayer(share.objLayer);
        if (resultCode == "S0000") {
            mPlugin.showNoti("","공유하였습니다.");
            try{
                //blog feed reload
                timeline.reload();
            } catch(e) {}
            //var shareCnt = parseInt($obj.find(".count").html() || 0);
            //$obj.find(".count").html(shareCnt+1);
            share.init($obj);
        }
        else {
            var errMsg = "";
            if ( resultCode == "ELT09" ){
                errMsg = "이미 공유한 컨텐츠입니다.";
            }
            else {
                errMsg = message;
            }
            //console.log("[share]error:"+resultCode+",msg:"+message);
            mPlugin.showNoti("", errMsg);
        }
    },
    layerHtml : function() {
        var resultData = (arguments[0] || ""  );
        var $obj       = (arguments[1] || null);

        var arrCInfo   = mPlugin.getMval( $obj);
        var etc        = ( $obj.attr("etc") || "" );

        var aryMetaInfo = mMetaInfo.getInfo( resultData, arrCInfo[0], arrCInfo[1] );
        var aryData = ( aryMetaInfo.info[arrCInfo[0]]["data"] || null );
        if ( aryData.length == 0 ) { alert( "공유하기 실패(컨텐츠 오류)" ); return; }

        if ( !mPlugin.minfo.mcode ) {
            mPlugin.minfo.mcode = mnetCookie.getUinfo("mcode");
        }

        //0212 글 컨텐츠 예외 처리
        var oriCateCd    = arrCInfo[0];
        var oriContentNo = arrCInfo[1];
        if ( arrCInfo[0] == "0212" ) {
            arrCInfo[0]  = aryData[0]["metaCateCd"];
            if ( arrCInfo[0] == "0203" && aryData.length > 1 ) {
                arrCInfo[1] = "0";
            }
        }

        var html = ""
        if ( $("#"+share.objLayer).length == 0 ){
            html += "<div class=\"lay_wrap\" style=\"left:33px;top:0;width:500px;display:none\" id=\""+ share.objLayer +"\">"
            html += "<div class=\"lay_conts\">"
            html += "<div class=\"lay_head\">"
            html += "<h3><img src=\"/images/social/tit_lay_share.gif\" alt=\"공유하기\" /></h3>"
            html += "<a href=\"javascript:;\" onclick=\"mPlugin.hideLayer('"+ share.objLayer +"')\" class=\"btn lay_close\" title=\"닫기\"><span>닫기</span></a>"
            html += "</div>"
            html += "<div class=\"lay_cont\">"
            html += "<div class=\"lay_share\">"
            html += "<div class=\"sahre_writer\">"
            html += "<p><img src=\"about:blank\" onerror=\"javascript:mnetImage.fnSetClipUrl(this, 'USER', '"+  mPlugin.minfo.mcode +"', '75')\" width=\"50\" height=\"50\" /> <span class=\"pic_b\"></span></p>"
            html += "</div>"
            html += "<ul class=\"album_list\">"
            html += "<li class=\"fix\">"
            html += "</li>"
            html += "</ul>"
            html += "</div>"
            html += "</div>"
            html += "<div class=\"lay_foot\">"
            html += "<a href=\"javascript:void(0);\" class=\"btn btn_lay_share\"><span>공유하기</span></a>&nbsp;"
            html += "<a href=\"javascript:;\" onclick=\"mPlugin.hideLayer('"+ share.objLayer +"');\" class=\"btn btn_lay_cancel\"><span>취소</span></a>"
            html += "</div>"
            html += "</div>"
            html += "<span class=\"shadow shadow2\"></span>"
            html += "</div>"
            $obj.append(html);
            $obj.find(".btn_lay_share").unbind("click").bind("click",function() { share.shareContents( $obj ); });
        } else {
            $("#"+share.objLayer).find("#shareTxtForm").remove();
			$("#"+share.objLayer).find(".btn.btn_lay_share").unbind("click").bind("click",function() { share.shareContents( $obj ); });
        }
        //$(".album_list .fix").html();
        $("#"+share.objLayer).find(".sahre_writer").append("<textarea rows=\"100\" cols=\"10\" id=\"shareTxtForm\" onfocus=\"clearbg('shareTxtForm');\" maxlength=\"300\"></textarea>");
        $("#"+share.objLayer).find('#shareTxtForm').keyup(function() {
            var val = $(this).val();
            var len = mPlugin.lengthToByte(val);
            if (len > share.maxLength) {
                alert("최대 " + share.maxLength + "byte이므로 초과된 글자수는 자동으로 삭제됩니다.\n");
                val = val.replace(/\r\n$/, "");
                val = mPlugin.assertMsg(val, share.maxLength, "false");
                len = mPlugin.lengthToByte(val);
                $(this).val(val);
            }
        });

        html = ""
        //아티스트
        if ( arrCInfo[0] == "0201" ) {
            html += "<dl class=\"type_album2\">"
            html += "<dt><a href=\""+ mPlugin.url.artistUrl + "$artistId$\" title=\"$artistNm$\" target=\"_blank\"><img src=\"$imgArtist$\" onerror=\"this.src='$imgDefaultArtist$'\" width=\"95\" height=\"95\" alt=\"$artistNm$\" /><span class=\"pic_b\"></span></a></dt>"
            html += "<dd><a href=\""+ mPlugin.url.artistUrl + "$artistId$\" title=\"$artistNm$\" class=\"title\" target=\"_blank\">$artistNm$</a></dd>"
            //html += "<dd>한국 <em>|</em> 댄스, 국악</dd>"
            html += "<dd>$artistNationality$</dd>"
            html += "<dd>$sexNm$ <em>|</em> $artistType$</dd>"
            //html += "<dd>김벙수시대</dd>"
            html += "</dl>"
        }
        //앨범
        else if ( arrCInfo[0] == "0202" ) {
            html += "<dl class=\"type_album2\">"
            html += "<dt><a href=\""+ mPlugin.url.albumUrl + "$albumId$\" title=\"$albumNm$\" target=\"_blank\"><img src=\"$imgAlbum$\" onerror=\"this.src='$imgDefaultAlbum$'\" width=\"95\" height=\"95\" alt=\"\" /><span class=\"pic_b\"></span></a><a href=\"javascript:mnetCom.albumPlay('$albumId$');\" title=\"앨범듣기\" class=\"btn_play_album png_bg\"></a></dt>"
            html += "<dd><a href=\""+ mPlugin.url.albumUrl + "$albumId$\" title=\"$albumNm$\" class=\"title\" target=\"_blank\">$albumNm$</a></dd>"
            html += "<dd class=\"musician\">$arrArtist$</dd>"
            html += "<dd class=\"meta\"><a href=\"javascript:mnetCom.aodPlay('$songId$');\" title=\"$songNm$\">$songNm$</a></dd>"
            html += "</dl>"
        }
        //곡
        else if ( arrCInfo[0] == "0203" ) {
            if ( arrCInfo[1] == "0" ) { //복수곡
                html += "<li><em>$num$</em>. <a href=\"javascript:mnetCom.aodPlay('$songId$');\" title=\" 곡듣기\" class=\"btn_play\"></a><a href=\"javascript:mnetCom.aodPlay('$songId$');\" title=\"$songNm$\" class=\"title\">$songNm$</a> - $arrArtist$</li>"
            }
            else {  //단곡
                html += "<dl class=\"type_album\">"
                html += "<dt><a href=\""+ mPlugin.url.albumUrl + "$albumId$\" title=\"$albumNm$\" target=\"_blank\"><img src=\"$imgAlbum$\" onerror=\"this.src='$imgDefaultAlbum$'\" width=\"95\" height=\"95\" alt=\"$albumNm$\" /><span class=\"pic_b\"></span></a></dt>"
                html += "<dd><a href=\"javascript:mnetCom.aodPlay('$songId$');\" title=\" 곡듣기\" class=\"btn_play\"></a><a href=\"javascript:mnetCom.aodPlay('$songId$');\" title=\"$songNm$\" class=\"title\">$songNm$</a></dd>"
                html += "<dd class=\"musician\">$arrArtist$</dd>"
                html += "<dd class=\"meta\"><a href=\""+ mPlugin.url.albumUrl + "$albumId$\" title=\"$albumNm$\" target=\"_blank\">$albumNm$</a></dd>"
                html += "</dl>"
            }
        }
        //프로그램
        else if ( arrCInfo[0] == "0204" ) {
            html += "<dl class=\"type_photo fix\">"
            html += "<dt class=\"program\"><a href=\""+ mPlugin.url.programUrl + "$programId$\" class=\"photo\" title=\"$programTitle$\" target=\"_blank\"><img src=\"$imgProgram$\" onerror=\"this.src='$imgDefaultProgram$'\" alt=\"\" height=\"93\" width=\"153\" /><span class=\"pic_b\"></span></a></dt>"
            html += "<dd><a href=\""+ mPlugin.url.programUrl + "$programId$\" title=\"$programTitle$\" class=\"title\" target=\"_blank\">$programTitle$</a></dd>"
            html += "<dd class=\"meta\">다시보기 <span class=\"count\">$mainCnt$</span> <em>|</em> 클립 <span class=\"count\">$clipCnt$</span></dd>"
            html += "<dd class=\"date\">$broadStartYmd$</dd>"
            html += "</dl>"
        }
        //뮤직비디오
        else if ( arrCInfo[0] == "0205"  ) {
            html += "<dl class=\"type_video\">"
            html += "<dt>"
            html += "<a href=\""+ mPlugin.url.vodUrl + "mv/$vodId$\" title=\"$vodNm$\" target=\"_blank\"><img src=\"$imgVod$\" width=\"150\" height=\"84\" alt=\"\" onerror=\"this.src='$imgDefaultlVod$' \"/>"
            html += "<span class=\"pic_b\"></span><span title=\"$vodNm$\" class=\"time\">$runningTime$</span><span class=\"shadow\"></span>"
            html += "</a><a href=\""+ mPlugin.url.vodUrl + "mv/$vodId$\" title=\"play\" class=\"btn_tvplay png_bg\" target=\"_blank\"></a>"
            html += "</dt>"
            html += "<dd><a href=\""+ mPlugin.url.vodUrl + "mv/$vodId$\" title=\"$vodNm$\" class=\"title\" target=\"_blank\">$vodNm$</a></dd>"
            html += "<dd class=\"musician\">$arrArtist$</dd>"
            html += "</dl>"
        }
        //블로그 > 포토 & 담벼락 사진 첨부
        else if ( arrCInfo[0] == "0207"  ) {
            html += "<div class=\"reply_content timeline_content\">"
            html += "<div class=\"attach_area\">"
            html += "<dl class=\"type_album2\">"
            html += "<dt $diaplay$><a href=\"$location$\" target=\"_blank\"><img src=\"$imageUrl$\" width=\"95\" height=\"95\" alt=\"\" /><span class=\"pic_b\"></span></a></dt>"
            html += "</dl>"
            html += "</div>"
            html += "</div>"
        }
        //클립영상
        else if ( arrCInfo[0] == "0209"  ) {
            html += "<dl class=\"type_video\">"
            html += "<dt>"
            html += "<a href=\""+ mPlugin.url.vodUrl + "vod/$vodId$\" title=\"$vodNm$\" target=\"_blank\"><img src=\"$imgVod$\" width=\"150\" height=\"84\" alt=\"\" onerror=\"this.src='$imgDefaultlVod$'\">"
            html += "<span class=\"pic_b\"></span><span title=\"$vodNm$\" class=\"time\">$runningTime$</span><span class=\"shadow\"></span>"
            html += "</a><a href=\""+ mPlugin.url.vodUrl + "vod/$vodId$\" title=\"play\" class=\"btn_tvplay png_bg\" target=\"_blank\"></a>"
            html += "</dt>"
            html += "<dd><a href=\""+ mPlugin.url.vodUrl + "vod/$vodId$\" title=\"$vodNm$\" class=\"title\" target=\"_blank\">$vodNm$</a></dd>"
            html += "<dd class=\"musician\"><a href=\""+ mPlugin.url.programUrl + "$programId$\" title=\"$programNm$\" target=\"_blank\">$programNm$</a></dd>"
            html += "<dd class=\"date\">$releaseYmd$</dd>"
            html += "</dl>"
        }
        //공개앨범
        else if ( arrCInfo[0] == "0210" ) {
            html += "<dl class=\"type_album2\">"
            html += "<dt><a href=\""+ mPlugin.url.playlistUrl + "playlist_view.asp?no=$albumNo$\" title=\"$albumNm$\" target=\"_blank\"><img src=\"$imgUrl$\" onerror=\"this.src='$imgNone$'\" width=\"95\" height=\"95\" alt=\"\" /><span class=\"pic_b\"></span></a><a href=\"javascript:mnetCom.aodPlay('$songIds$');\" title=\"앨범듣기\" class=\"btn_play_album png_bg\"></a></dt>"
            //html += "<dd><a href=\"javascript:mnetCom.aodPlay('$songIds$');\" title=\" 곡듣기\" class=\"btn_play\"></a><a href=\""+ mPlugin.url.playlistUrl + "playlist_view.asp?no=$albumNo$\" title=\"$albumNm$\" class=\"title\">$albumNm$</a></dd>"
            html += "<dd><a href=\""+ mPlugin.url.playlistUrl + "playlist_view.asp?no=$albumNo$\" title=\"$albumNm$\" class=\"title\" target=\"_blank\">$albumNm$</a></dd>"
            html += "<dd class=\"musician\"><a href=\""+ mPlugin.blogUrl('0206','$userID$') +"\" title=\"$userNm$\" target=\"_blank\">$userNm$</a></dd>"
            html += "<dd class=\"meta\">곡수 <span class=\"count\">$songCnt$</span></dd>"
            html += "</dl>"
        }
        //기본 템플릿 사용
        else if ( arrCInfo[0] == "0211" ) {
            html += "<dl class=\"type_album2\">"
            html += "<dt $diaplay$><a href=\"$location$\" target=\"_blank\"><img src=\"$imgUrl$\" width=\"95\" height=\"95\" alt=\"\" /><span class=\"pic_b\"></span></a></dt>"
            html += "<dd><a href=\"$location$\" title=\"$titleMain$\" class=\"title\" target=\"_blank\">$titleMain$</a></dd>"
            html += "<dd class=\"meta\">$titleSub$</dd>"
            html += "</dl>"
        }

        //데이터 설정
        html = mMetaInfo.setData( html, aryData, arrCInfo[0], arrCInfo[1] );

        //복수 곡 일 때 예외 처리
        if (arrCInfo[0] == "0203" && arrCInfo[1] == "0") {
            html  = "<div class=\"playlist\">"
                  + "<h4>나의 <strong>Play list</strong></h4>"
                  + "<ol>"
                  + html
                  + "</ol>"
                  + "<a href=\"javascript:mnetCom.aodPlay('"+ share.songIds +"');\" title=\"전곡듣기\" class=\"btn_playall\">전곡듣기</a>"
                  + "</div>"
        }

        //0212 글 컨텐츠 예외 처리
        if ( oriCateCd == "0212" ) {
            arrCInfo[0] = oriCateCd;
            arrCInfo[1] = oriContentNo;
            var metaObj = aryData[0];
            //html += "<div class=\"history\">"
            //      + "<span class=\"btn_action\"><b><a href=\"$fromLink$\">$fromNm$</a>님</b> 인용</span>"
            //      + "</div>"
            html += "<span class=\"quote\">$fromNm$님 인용</span>"
            html = html.replace( /\$fromNm\$/g   , metaObj["fromNm" ] );
            html = html.replace( /\$fromLink\$/g , metaObj["fromLink" ] );
            html = html.replace( /\$content\$/g  , metaObj["content"].replace( /\n/g, " " ).substring(0, 20) );
        }

        //공유하기 전송 데이터
        html += "<input type=\"hidden\" id=\"shareCateCd\"    value=\""+ arrCInfo[0] +"\">"
        html += "<input type=\"hidden\" id=\"shareContentNo\" value=\""+ arrCInfo[1] +"\">"
        html += "<input type=\"hidden\" id=\"shareEtc\"       value=\""+ etc         +"\">"

        $(".album_list .fix").html(html);
        mPlugin.showLayer(share.objLayer, "0");
    }
}

mMetaInfo = {
   info : {
        'separator' : ","
       ,'0201' : { "cols" :   "artistId"
                            +",artistNm"
                            +",artistType"
                            +",artistDomain"
                            +",artistIndex"
                            +",artistTypeCd"
                            +",artistDomainCd"
                            +",artistNationality"
                            +",artistNationalityCd"
                            +",artistPrevActiveNm"
                            +",artistGender"
                            +",artistBirthYmd"
                            +",activePeriodStr"
                            +",artistRoleStr"
                            +",microBlogUrl"
                            +",displayFlg"
                            +",likeCnt"
                            +",popularCnt"
                            +",viewCnt"
                            +",imgArtist"
                            +",imgDefaultArtist"
                            +",sexNm"
                  ,"data" : null                   }
       ,'0202' : { "cols" :   "albumId"
                            +",albumType"
                            +",albumTypeCd"
                            +",albumDomain"
                            +",albumDomainCd"
                            +",albumNm"
                            +",albumSubnm"
                            +",albumNumber"
                            +",songId"
                            +",songNm"
                            +",artistIds"
                            +",artistNms"
                            +",releaseYmd"
                            +",distributeCompanyNm"
                            +",displayFlg"
                            +",preReleaseFlg"
                            +",monopolyFlg"
                            +",starCnt"
                            +",starUserCnt"
                            +",likeCnt"
                            +",popularCnt"
                            +",viewCnt"
                            +",imgAlbum"
                            +",imgDefaultAlbum"
                  ,"data" : null                   }
       ,'0203' : { "cols" :   "songId"
                            +",songNm"
                            +",songType"
                            +",songTypeCd"
                            +",songDomain"
                            +",songDomainCd"
                            +",genreNm"
                            +",genreCd"
                            +",songMediaInfo"
                            +",songShortInfo"
                            +",artistIds"
                            +",artistNms"
                            +",albumId"
                            +",albumNm"
                            +",releaseYmd"
                            +",runningTime"
                            +",displayFlg"
                            +",adultFlg"
                            +",stGb"
                            +",dlGb"
                            +",ringFlg"
                            +",bellFlg"
                            +",ldbFlg"
                            +",ldpFlg"
                            +",dlTopFlg"
                            +",stTopFlg"
                            +",pstreamUrl"
                            +",iosStGb"
                            +",andStGb"
                            +",iosDlGb"
                            +",andDlGb"
                            +",relVodFlg"
                            +",imgAlbum"
                            +",imgDefaultAlbum"
                  ,"data" : null                   }
       ,'0204' : { "cols" :   "programTitle"
                            +",updateDt"
                            +",createDt"
                            +",broadStartYmd"
                            +",broadEndYmd"
                            +",genreNm"
                            +",displayFlg"
                            +",imgId"
                            +",programId"
                            +",imgProgram"
                            +",imgDefaultProgram"
                            +",channelCd"
                            +",onAirFlg"
                            +",subGenreNm"
                            +",programType"
                            +",mainCnt"
                            +",clipCnt"
                  ,"data" : null                   }
       ,'0205' : { "cols" :   "vodNm"
                            +",releaseYmd"
                            +",vodId"
                            +",vodGb"
                            +",artistIds"
                            +",artistNms"
                            +",songId"
                            +",vodSubNm"
                            +",runningTime"
                            +",displayFlg"
                            +",stGb"
                            +",dlGb"
                            +",iosStGb"
                            +",andStGb"
                            +",imgVod"
                            +",imgDefaultVod"
                            +",stvStGb"
                            +",imgId"
                            +",clipEpisode"
                            +",programNm"
                            +",programId"
                  ,"data" : null                   }
       ,'0207' : { "cols" :   "postSq"
                            +",createDt"
                            +",postFileSq"
                            +",filePath"
                            +",fileNm"
                            +",fileNmOri"
                            +",imageWidth"
                            +",imageHeight"
                            +",imageUrl"
                            +",fileSize"
                  ,"data" : null                   }
       ,'0209' : { "cols" :   "vodNm"
                            +",releaseYmd"
                            +",vodId"
                            +",vodGb"
                            +",artistIds"
                            +",artistNms"
                            +",songId"
                            +",vodSubNm"
                            +",runningTime"
                            +",displayFlg"
                            +",stGb"
                            +",dlGb"
                            +",iosStGb"
                            +",andStGb"
                            +",imgVod"
                            +",imgDefaultVod"
                            +",stvStGb"
                            +",imgId"
                            +",clipEpisode"
                            +",programNm"
                            +",programId"
                  ,"data" : null                   }
       ,'0210' : { "cols" :   "albumNo"
                            +",createDt"
                            +",updateDt"
                            +",displayFlg"
                            +",recommendFlg"
                            +",genre"
                            +",genreCd"
                            +",genreGb"
                            +",themes"
                            +",themeCds"
                            +",albumTags"
                            +",albumNm"
                            +",albumIntro"
                            +",hitCnt"
                            +",songCnt"
                            +",songIds"
                            +",mCode"
                            +",userID"
                            +",userNm"
                            +",imgUrl"
                            +",imgNone"
                  ,"data" : null                   }
       ,'0211' : { "cols" :   "location"
                            +",titleMain"
                            +",titleSub"
                            +",imgUrl"
                  ,"data" : null                   }
       ,'0212' : { "cols" :   "fromNm"
                            +",fromLink"
                            +",userCateCd"
                            +",userContentNo"
                            +",content"
                            +",createDt"
                            +",metaGb"
                            +",metaInfo"
                  ,"data" : null                   }
   },
   chkString : function () {
        var htmlTmp = ( arguments[0] || ""   );
        var strTmp  = ( arguments[1] || ""   );
        var reVal   = false;
        if (    htmlTmp != ""
             && strTmp  != "" ) {
            if ( htmlTmp.indexOf(strTmp) > -1 ) {
                reVal   = true;
            }
        }
        return reVal;
   },
   dateString : function () {
        var str       = ( arguments[0] || ""  );
        var type      = ( arguments[1] || "1" ); // 1 : 디비 값 그대로
                                                 // 2 : yyyy + '구분자' + MM + '구분자' + dd
        var gubunStr  = ( arguments[1] || "." ); // 년 월 일 구분자
        if (    type       == "2"
             && str        != ""
             && str.length > 10   ) {
            str = str.substring(0, 10);
            str = str.replace( /-/g, gubunStr );
        }
        return str;
   },
   setData : function () {
        var htmlTmp     = ( arguments[0] || ""   );
        var aryData     = ( arguments[1] || null );
        var cateCd      = ( arguments[2] || "" );
        var contentNo   = ( arguments[3] || "" );
        var dataObj     = null;
        var songIds     = "";

        var replaceHtml = "";
        var resultHtml  = "";
        var artistHtml  = "";
        var dataYn      = "N";
        var listNum     = 0;

        var imgUrl      = "";
        var aryTmp      = null;
        var tmp         = null;

        if ( htmlTmp != "" && aryData != null ) {

            switch( cateCd ) {
                case  "0201" :
                case  "0202" :
                case  "0203" :
                case  "0204" :
                case  "0205" :
                case  "0207" :
                case  "0209" :
                case  "0210" :
                case  "0211" :
                    $.each( aryData, function ( index, entry ) {

                        replaceHtml = htmlTmp;
                        dataYn = entry["dataYn"];
                        if ( dataYn == "Y" ) {

                            //복수 곡 일 때 예외 처리
                            if ( cateCd    == "0203" && contentNo == "0" ) {
                                listNum = index + 1;
                                replaceHtml = replaceHtml.replace( "$num$", ( listNum.length == 1 ? "0" + listNum : listNum ) );
                                songIds += entry["songId"] + ",";
                            }

                            //복수 아티스트 분리 노출
                            artistHtml = "";
                            if (replaceHtml.indexOf("$arrArtist$") > -1) {
                                var arrArtist = mPlugin.getArtistsDatas(entry["artistIds"], entry["artistNms"]);
                                for ( var i=0 ; i < arrArtist.length ; i++ ){
                                    if ( arrArtist[i].id != "2407" ){   //various artist
                                        artistHtml += "<a href=\""+ mPlugin.url.artistUrl + arrArtist[i].id + "\" title=\""+ arrArtist[i].nm +"\" target=\"_blank\">"+ arrArtist[i].nm +"</a>"
                                    } else {
                                        artistHtml += arrArtist[i].nm
                                    }

                                    if (i < arrArtist.length -1) {
                                        artistHtml += ", "
                                    }
                                }
                                replaceHtml = replaceHtml.replace( "$arrArtist$", artistHtml );
                            }

                            aryEntryNm = (mMetaInfo.info[cateCd]["cols"]).split( mMetaInfo.info["separator"] );
                            $.each( aryEntryNm, function ( nmIndex, nmEntry ) {
                                while( mMetaInfo.chkString( replaceHtml, "$"+ nmEntry +"$" ) ) {
                                    if ( cateCd == "0211" && nmEntry == "imgUrl" ) {
                                        imgUrl = entry[nmEntry];
                                    }
                                    else if ( cateCd == "0208" && nmEntry == "songIds"  ) {
                                        aryTmp      = entry[songIds].split("♩");
                                        replaceHtml = replaceHtml.replace( "$songCnt$", aryTmp.length );
                                    }
                                    replaceHtml = replaceHtml.replace( "$"+ nmEntry +"$", entry[nmEntry] );
                                }
                            });
                            if ( cateCd == "0207" ) {
                                tmp = entry["fromLink"] + "/feed/?feed=wall&seq=" + contentNo;
                            }
                        }
                        resultHtml += replaceHtml;
                    });

                    if ( cateCd == "0211" ) {
                        if ( imgUrl != "" && imgUrl != "-1" ) {
                            resultHtml = resultHtml.replace( "$diaplay$", " style=\"display:block;\" ");
                        }
                        else {
                            resultHtml = resultHtml.replace( "$diaplay$", " style=\"display:none;\" " );
                        }
                    }
                    else if ( cateCd == "0207" && tmp != "" ) {
                        resultHtml = resultHtml.replace( "$location$", tmp );
                    }
                    else if ( cateCd == "0203" && contentNo == "0" ) {
                        if ( songIds.length > 0 ){
                            songIds = songIds.substring(0,songIds.length-1);
                            share.songIds = songIds;
                        }
                    }
                    break;
                /*
                default :
                    break;
                */
            }
        }
        return resultHtml;
   },
   getSexNm : function () {

        var artistType   = ( arguments[0] || "" );
        var artistGender = ( arguments[1] || "" );
        var sexNm        = ""

        if      ( artistGender == "0301" ) { sexNm = "남성"; }
        else if ( artistGender == "0302" ) { sexNm = "여성"; }

//        switch( artistType )
//        {
//            case     "0101" :
//                if      ( artistGender = "0301" ) { sexNm = "남성"; }
//                else if ( artistGender = "0302" ) { sexNm = "여성"; }
//                break;
//            case     "0102" :
//                //sexNm = "그룹";
//                break;
//        }
        return sexNm;
   },
   getInfo : function () {

       var resultDate  = ( arguments[0] || "" );
       var aryData     = new Array();
       var objData     = null;//{}
       var cateCd      = ( arguments[1] || "" );
       var contentNo   = ( arguments[2] || "" );

       var metaData    = resultDate.data;
       var aryEntryNm  = null;

        switch( cateCd )
        {
            case  "0201" :
            case  "0202" :
            case  "0203" :
            case  "0204" :
            case  "0205" :
            case  "0209" :
            case  "0210" :
            case  "0211" :
                if ( $.isArray(metaData) ) {
                    $.each(metaData, function(index, entry) {
                        objData = {}
                        objData["dataYn"] = "Y";
                        aryEntryNm = (mMetaInfo.info[cateCd]["cols"]).split( mMetaInfo.info["separator"] );
                        $.each( aryEntryNm, function ( nmIndex, nmEntry ) {
                            if ( nmEntry == "sexNm" ) {
                                objData[ "sexNm" ] = mMetaInfo.getSexNm( entry["artistTypeCd"]
                                                                        ,entry["artistGender"] );
                            }
                            else {
                                objData[ nmEntry ] = entry[ nmEntry ];
                            }
                        });
                        aryData.push( objData );
                    });
                }
                break;

            //글 공유
            case  "0212" :

                objData = {}
                //원글 정보 설정
                if ( $.isArray(metaData) ) {
                    $.each(metaData, function(index, entry) {
                        //objData["dataYn"] = "Y"                         ;
                        aryEntryNm = (mMetaInfo.info[cateCd]["cols"]).split( mMetaInfo.info["separator"] );
                        $.each( aryEntryNm, function ( nmIndex, nmEntry ) {
                            objData[ nmEntry ] = entry[ nmEntry ];
                        });
                        //aryData.push( objData );
                    });
                }

                var tmp = "";
                switch( objData["metaGb"] )
                {
                    case  "1"  : tmp = "0201"; break;  // 아티스트
                    case  "2"  : tmp = "0202"; break;  // 앨범
                    case  "3"  : tmp = "0203"; break;  // 곡
                    case  "4"  :                       //
                    case  "9"  : tmp = "0204"; break;  // 프로그램
                    case  "5"  : tmp = "0VOD"; break;  // 뮤직비디오 (0205) & 클립영상 (0209)
                    case  "6"  :
                    case  "10" : tmp = "0207"; break;  // 블로그 > 포토 & 업로드 이미지
                    case  "7"  : tmp = "0210"; break;  // 공개앨범
                    case  "8"  : tmp = "0211"; break;  // 기본 템플릿 ( 타이틀, 설명, 이미지, 링크 ) : 공연, 이벤트, 포토 등
                }
                //컨텐츠 설정
                if ( tmp != "" ) {
                    if ( $.isArray(objData["metaInfo"]) ) {
                        if ( tmp == "0VOD" ) {
                            if ( objData["metaInfo"][0].vodGb == "MV" ) { tmp = "0205" } else { tmp = "0209" }
                        }
                        objData["metaCateCd"] = tmp;
                        $.each(objData["metaInfo"], function(index, entry) {
                            objData["dataYn"] = "Y"                         ;
                            aryEntryNm = (mMetaInfo.info[tmp]["cols"]).split( mMetaInfo.info["separator"] );
                            $.each( aryEntryNm, function ( nmIndex, nmEntry ) {
                                if ( nmEntry == "sexNm" ) {
                                    objData[ "sexNm" ] = mMetaInfo.getSexNm( entry["artistTypeCd"], entry["artistGender"] );
                                }
                                else {
                                    objData[ nmEntry ] = entry[ nmEntry ];
                                }
                            });
                            aryData.push( objData );
                            objData = {}
                        });
                    }
                }
                break;

            /*
            default :
                break;
            */
        }

       this.info[cateCd]["data"] = aryData;
       return this;
   }
}


//응원하기
support = {
    init : function() {
        var $obj = arguments[0];
        var arrCInfo = mPlugin.getMval($obj);
        $obj.attr("mchk","1");

        var parameter = ({url:mPlugin.url.apiUrl + "/aid/"+ arrCInfo[0] +"/"+ arrCInfo[1] +"/score", pnm:"imgSizeUser", imgSizeUser:"50", method:"GET"})
        mPlugin.apiCall(parameter, "GET", support.callback, $obj, "init");
    },
    initList : function() {
        var arrObj       = arguments[0];
        var arrCateCd    = new Array();
        var arrContentNo = new Array();

        var $obj  = null;
        var cInfo = "";

        for (var i=0; i < arrObj.length; i++){
            $obj = $(arrObj[i]);

            cInfo = mPlugin.getMval( $obj );
            arrCateCd.push   ( cInfo[0] );
            arrContentNo.push( cInfo[1] );
            $obj.attr("mchk","1");
        }

        var parameter = ({url:mPlugin.url.apiUrl + "/aid/scoreList" , pnm:"cateCd[],contentNo[]", cateCd:arrCateCd, contentNo:arrContentNo, method:"POST"})
        mPlugin.apiCall(parameter, "POST", support.callbackList, arrObj);

    },
    add : function() {
        var $obj = arguments[0];
        var arrCInfo = mPlugin.getMval($obj);

        if ( mPlugin.loginChk() ){
            var parameter = ({url:mPlugin.url.apiUrl + "/aid/"+ arrCInfo[0] + "/" + arrCInfo[1], method:"POST"})
            mPlugin.apiCall(parameter, "POST", support.callback, $obj, "add");
        }
        trkLog.log("A_"+ arrCInfo[0]);
    },
    callbackList : function() {

        var resultData = arguments[0];
        var arrObj     = arguments[1];

        if ( arrObj && resultData ) {

            if (resultData.resultCode == "S0000") {

                var totalCnt = 0;
                var valid = "";
                var nowDt = "";
                var createDt = "";
                var contentNo = "";

                var topCls   = "";
                var remain   = "";
                var html = "";

                var $obj     = new Array();
                var remain   = new Array();
                var mgb      = "";
                var mval     = "";

                $.each(arrObj, function(idx) {

                    $obj[idx]= $(this);

                    if (resultData.data[idx]) {

                        totalCnt  = (resultData.data[idx].totalCnt || 0);
                        valid     = resultData.data[idx].valid;
                        nowDt     = resultData.data[idx].nowDt;
                        createDt  = resultData.data[idx].createDt;
                        contentNo = resultData.data[idx].contentNo;

                        topCls   = "";
                        html     = "";

                        if (mPlugin.type == "mweb"){
                            html = "<span class=\"cheer\">"+ mPlugin.getCount(totalCnt, $obj[idx].attr("mtype")) +"</span>"
                        } else {
                            html = "<span class=\"cheer\" onclick=\"location.href='"+ mPlugin.url.artistUrl +"/"+ contentNo +"/fans'\" style=\"cursor:pointer\">"+ mPlugin.getCount(totalCnt, $obj[idx].attr("mtype")) +"</span>"
                        }
                        if (mPlugin.isLogin && valid == "0" && nowDt && createDt){
                            nowDt    = mPlugin.getStrToDate(nowDt);
                            createDt = mPlugin.getStrToDate(createDt);
                            remain[idx] = 3600 - ((nowDt-createDt) / 1000);
                            html += "<span class=\"cnt_time\">"+ support.remainTime(remain[idx]) +"</span>"
                        } else {
                            html += "<a href=\"javascript:void(0);\" class=\"btn_cheer\" title=\"응원하기\">응원하기</a>"
                        }
                        $obj[idx].html(html);
                        $obj[idx].find(".btn_cheer").unbind("click").bind("click",function() { support.add( $obj[idx] ) });

                        if ($obj[idx].find(".cnt_time").length > 0){
                            $($obj[idx].find(".cnt_time")).everyTime(1000, function(i) {
                                remain[idx] -= 1;
                                if (remain[idx] > 0){
                                    $(this).html(support.remainTime(remain[idx]));
                                }
                                else {
                                    $($obj[idx].find(".cnt_time")).stopTime();
                                    support.init($obj[idx]);
                                }
                            });
                        }
                    }
                });
            }

        }
    },
    callback : function() {
        var resultData = arguments[0];
        var $obj       = arguments[1];
        var funcType   = arguments[2];

        if ( $obj && resultData ) {
            var listCnt   = parseInt($obj.attr("mlist") || "0");
            var arrCInfo  = mPlugin.getMval($obj);
            var cateCd    = arrCInfo[0];
            var contentNo = arrCInfo[1];

            var resultCode  = resultData.resultCode;
            var message     = resultData.message;

            if (resultCode == "S0000") {
                if (funcType == "add"){

                    support.init($obj);

                    if (mPlugin.type != "mweb") {
                        var msg1 = "", msg2 = "", msgEvt = "";
                        var artist = "";

                        artist = $obj.attr("alt");

                        if (typeof(artist) != "undefined" && artist != "") {
                            msg1  = artist+" 님을 ";
                        }
                        msg1 = msg1 + "응원 했습니다.";
                        msg2 = "1시간 뒤 재응원 가능합니다.";
                        //mPlugin.showNoti(msg1, msg2);

                        msgEvt = "["+ artist +"]님 응원 완료!";
                        mPlugin.showEvent(msgEvt, "support", msg1, msg2);
                    }
                }
                else {
                    var totalCnt = (resultData.info.totalCnt || 0);
                    var valid    = resultData.info.etc.valid;
                    var nowDt    = resultData.info.etc.nowDt;
                    var createDt = resultData.info.etc.createDt;

                    var topCls   = "";
                    var remain   = "";
                    var html = "";

                    if ($obj.attr("mgb") == "list"){

                        if (mPlugin.type == "mweb"){
                            html = "<span class=\"cheer\">"+ mPlugin.getCount(totalCnt, $obj.attr("mtype")) +"</span>"
                        } else {
                            html = "<span class=\"cheer\" onclick=\"location.href='"+ mPlugin.url.artistUrl +"/"+ contentNo +"/fans'\" style=\"cursor:pointer\">"+ mPlugin.getCount(totalCnt, $obj.attr("mtype")) +"</span>"
                        }
                        if (mPlugin.isLogin && valid == "0" && nowDt && createDt){
                            nowDt    = mPlugin.getStrToDate(nowDt);
                            createDt = mPlugin.getStrToDate(createDt);
                            remain   = 3600 - ((nowDt-createDt) / 1000);
                            html += "<span class=\"cnt_time\">"+ support.remainTime(remain) +"</span>"
                        } else {
                            html += "<a href=\"javascript:void(0);\" class=\"btn_cheer\" title=\"응원하기\">응원하기</a>"
                        }
                        $obj.html(html);

                        $obj.find(".btn_cheer").unbind("click").bind("click",function() { support.add( $obj[idx] ) });

                        if ($obj.find(".cnt_time").length > 0){
                            $($obj.find(".cnt_time")).everyTime(1000, function(i) {
                                remain -= 1;
                                if (remain > 0){
                                    $(this).html(support.remainTime(remain));
                                }
                                else {
                                    $($obj.find(".cnt_time")).stopTime();
                                    support.init($obj);
                                }
                            });
                        }

                    } else {
                        html += "<a href=\""+ mPlugin.url.artistUrl +"/"+ contentNo +"/fans\" class=\"count\">"+ mPlugin.getCount(totalCnt, $obj.attr("mtype")) +"</a>"

                        if (mPlugin.isLogin && valid == "0" && nowDt && createDt){
                            nowDt    = mPlugin.getStrToDate(nowDt);
                            createDt = mPlugin.getStrToDate(createDt);
                            remain   = 3600 - ((nowDt-createDt) / 1000);
                            html += "<span class=\"time\">"+ support.remainTime(remain) +"</span>"
                        }
                        else {
                            html += "<span><a href=\"javascript:void(0);\" class=\"btn_support_active\">응원하기</a></span>"
                        }

                        if (listCnt > 0 ){
                            html += "<ul class=\"support_list\">"
                            $.each(resultData.data, function(idx, entry) {
                                if ( idx == (resultData.data.length-1) ){ topCls = "topnew"; }
                                else { topCls = "top0"+(idx+1); }
                                html += "<li><a href=\""+ mPlugin.blogUrl(entry["cateCd"],entry["userId"]) +"\"><img src=\""+ entry["imgUser"] +"\" width=\"48\" height=\"48\" alt=\""+ entry["userTitle"] +"\" title=\""+ entry["userTitle"] +"\"/  onerror=\"this.src='"+ entry["imgDefaultUser"] +"'\" ></a><span class=\""+ topCls +" png_bg\">"+ (idx+1) +"위</span></li>"
                            });
                            html += "</ul>"
                        }
                        html += "<div class=\"supportbox_bottom\"></div>"
                        $obj.html(html);

                        $(".btn_support_active")
                            .unbind("click")
                            .bind("click",function() { support.add($obj) });

                        if ($obj.find(".time").length > 0){
                            $($obj.find(".time")).everyTime(1000, function(i) {
                                remain -= 1;
                                if (remain > 0){
                                    $(this).html(support.remainTime(remain));
                                }
                                else {
                                    $($obj.find(".time")).stopTime();
                                    support.init($obj);
                                }
                            });
                        }
                    }
                }
            }
            else {

                var errMsg = message;
                if (resultCode == "ELT06"){
                    errMsg = "이미 응원한 아티스트입니다.";
                }

                if (mPlugin.type == "mweb"){
                    alert(errMsg);
                    location.reload();
                } else {
                    mPlugin.showNoti("", errMsg);
                }
            }
        }
    },
    remainTime : function() {
        var time = (arguments[0] || 0);

        var min = "00"+parseInt(time % 86400 % 3600 / 60);
        var sec = "00"+(time % 86400 % 3600 % 60);

        min = min.substring(min.length-2);
        sec = sec.substring(sec.length-2);

        return min+":"+sec+ " 남음";
    }
}


//앨범별점
albumpoint = {
    objLayer : "mplugin_albumpoint",
    init : function() {
        var $obj     = arguments[0];
        var arrCInfo = mPlugin.getMval($obj);
        $obj.attr("mchk","1");

        var parameter = ({url:mPlugin.url.apiUrl + "/albumscore/"+ arrCInfo[1], method:"GET"})
        mPlugin.apiCall(parameter, "GET", albumpoint.callback, $obj, "init");
    },
    add : function() {
        if ( mPlugin.loginChk() ){
            var $obj  = arguments[0];
            var score = arguments[1];

            var arrCInfo = mPlugin.getMval($obj);
            var albumid  = arrCInfo[1];

            var parameter = ( {url:mPlugin.url.apiUrl + "/albumscore/"+albumid, method:"POST", pnm:"score", score:score} )
            mPlugin.apiCall(parameter, "POST", albumpoint.callback, $obj, "add");
        }
    },
    showPoint : function() {
        if ( mPlugin.loginChk() ){

            var $obj = arguments[0];

            if ($("#"+albumpoint.objLayer).length == 0) {
                var html = ""
                html += "<div style=\"display:block\">"
                html += "<h3>별점주기</h3>"
                html += "<a href=\"javascript:void(0);\" onclick=\"mPlugin.hideLayer('"+ albumpoint.objLayer +"','2')\" class=\"close\" title=\"닫기\">닫기</a>"
                html += "<ul class=\"point\">"
                html += "<li class=\"point_10\"><a href=\"javascript:void(0);\">10점</a></li>"
                html += "<li class=\"point_09\"><a href=\"javascript:void(0);\">9점</a></li>"
                html += "<li class=\"point_08\"><a href=\"javascript:void(0);\">8점</a></li>"
                html += "<li class=\"point_07\"><a href=\"javascript:void(0);\">7점</a></li>"
                html += "<li class=\"point_06\"><a href=\"javascript:void(0);\">6점</a></li>"
                html += "<li class=\"point_05\"><a href=\"javascript:void(0);\">5점</a></li>"
                html += "<li class=\"point_04\"><a href=\"javascript:void(0);\">4점</a></li>"
                html += "<li class=\"point_03\"><a href=\"javascript:void(0);\">3점</a></li>"
                html += "<li class=\"point_02\"><a href=\"javascript:void(0);\">2점</a></li>"
                html += "<li class=\"point_01\"><a href=\"javascript:void(0);\">1점</a></li>"
                html += "</ul>"
                html += "</div>"
                html += "<p class=\"shadow\"></p>"

                $($obj.find(".btn_star")).after( $("<div/>", {id:albumpoint.objLayer, css:{"z-index":"20px"}, html:html}) );

                $("#"+albumpoint.objLayer).addClass("pop_star_point");
                $("#"+albumpoint.objLayer).find("ul li")
                    .each(function(liIdx) {
                        $(this).find("a")
                            .bind("click",function() { albumpoint.add($obj, $(this).text().replace("점","")) });
                });
            }
            $(".pop_star_point").css("left",$($obj.find(".btn_star")).position().left);
            $(".pop_star_point").css("top" ,$($obj.find(".btn_star")).position().top+26);
            $("#"+albumpoint.objLayer).show();
        }
    },
    callback : function() {
        var resultData = arguments[0];
        var $obj       = arguments[1];
        var funcType   = arguments[2];

        if ( $obj && resultData ) {
            var arrCInfo  = mPlugin.getMval($obj);
            var cateCd    = arrCInfo[0];
            var contentNo = arrCInfo[1];

            var resultCode  = resultData.resultCode;
            var message     = resultData.message;

            if (resultCode == "S0000") {
                if (funcType == "add"){
                    albumpoint.init($obj);
                    mPlugin.hideLayer(albumpoint.objLayer,'2');
                }
                else {
                    var userCnt  = resultData.data[0].scoreCnt;
                    var scoreAvg = resultData.data[0].scoreAvg;

                    var html = ""
                    html += "<li class=\"score\">"+ albumpoint.starImg(scoreAvg) +"</li>"
                    html += "<li class=\"s_num\">"+ albumpoint.pointImg(scoreAvg,"info") + "<span>"+ userCnt +"명</span></li>"
                    html += "<li><a href=\"javascript:void(0);\" class=\"btn_star\">별점주기</a></li>"
                    $obj.html(html);

                    $obj.find(".btn_star")
                        .unbind("click")
                        .bind("click",function(e){
                            e.stopPropagation();
                            albumpoint.showPoint($obj);
                    });
                }
            }
            else {
                mPlugin.hideLayer(albumpoint.objLayer,'2');

                var errMsg = message;

                if (resultCode == "ELT07"){
                    errMsg = "별점주기는 1일 1회 가능합니다.";
                }
                //console.log("[albumpoint]error:"+resultCode+",msg:"+message);
                mPlugin.showNoti("", errMsg);
            }
        }
    },
    starImg : function() {
        var pointAvg = parseFloat(arguments[0]||0) / 2;
        var html = "";

        for(var j=0; j<Math.floor(pointAvg); j++)
            html +="<img src=\"/images/music/icon_star_on.gif\" alt=\"\" width=\"20\" height=\"18\" />";

        if (pointAvg - Math.floor(pointAvg) == 0) {
            for(j=0; j<5-(Math.floor(pointAvg)); j++)
                html +="<img src=\"/images/music/icon_star_off.gif\" alt=\"\" width=\"20\" height=\"18\" />";
        }
        else {
            if (pointAvg - Math.floor(pointAvg) >= 0.5) {
                html +="<img src=\"/images/music/icon_star_harf.gif\" alt=\"\" width=\"20\" height=\"18\" />";
            }
            else {
                html +="<img src=\"/images/music/icon_star_off.gif\" alt=\"\" width=\"20\" height=\"18\" />";
            }
            for(j=0; j<4-(Math.floor(pointAvg)); j++)
                html +="<img src=\"/images/music/icon_star_off.gif\" alt=\"\" width=\"20\" height=\"18\" />";
        }
        return html;
    },
    pointImg : function() {
        var pointAvg = (arguments[0] || 0).toString();
        var html = "";
        var chr  = "";

        for(var i=0; i<pointAvg.length; i++){
            chr = pointAvg.substr(i,1);
            if (chr == "."){
                html += "<img src=\"/images/music/score_dote.gif \" alt=\".\"  width=\"4\" height=\"14\" />"
            }
            else {
                html += "<img src=\"/images/music/score_"+ chr +".gif \" alt=\""+ chr +"\" />"
            }
        }
        return html;
    }
}



//마이앨범
myalbum = {
    objLayer : "mplugin_myalbum",

    //버튼 초기화
    init : function() {
        var $obj = arguments[0];
        $obj.attr("mchk","1");
        $obj.bind("click",function(e){
            e.stopPropagation();
            myalbum.showAlbum($obj);
        });
    },
    //곡 담기 - 처리
    addSong : function() {
        var $obj     = arguments[0];
        var liIdx    = arguments[1];
        var funcType = (arguments[2]||"");

        var myalbumid  = $(".add_myalbum li a").get(liIdx).id;
        var myalbumcnt = parseInt($($(".add_myalbum li").get(liIdx)).find("span").text() || 0);
        var songIds    = "";

        if ( $obj.attr("mgb") == "select" ){
            songIds  = $(".btn_my_add").attr("mval").split(",");
        }
        else if ( $obj.attr("mgb") == "mplayer" ){
            songIds  = $(".btn_my_add").attr("mval").split(",");
        }
        else {
            var arrCInfo = mPlugin.getMval($obj);
            songIds      = arrCInfo[1].split(",");
        }

        if (myalbumcnt + songIds.length > 200){
            alert("한 앨범에 200곡까지 추가하실 수 있습니다.\n다른 앨범을 선택해주세요.");
        } else {
            var parameter = ( {url:mPlugin.url.apiUrl + "/myalbum/song", method:"POST", pnm:"abmNo,songId[]", abmNo:myalbumid, songId:songIds} )
            mPlugin.apiCall(parameter, "POST", myalbum.callback, $obj, "addSong|"+ liIdx);
        }
    },
    //선택한 곡 담기 레이어
    addSongSelect : function() {
        $obj = $(arguments[1]);
        $obj.attr("mval",arguments[0]);
        if (!$obj.attr("mgb")){
            $obj.attr("mgb" ,"select");
        }
        myalbum.showAlbum($obj,"1");
    },
    //마이앨범 레이어
    showAlbum : function() {

        if ( mPlugin.loginChk() ){
            var $obj   = arguments[0];
            var addFlg = (arguments[1] || "0");

            if ($("#"+myalbum.objLayer).length > 0){
                $("#"+myalbum.objLayer).remove();
            }

            //if ($("#"+myalbum.objLayer).length == 0){
                addFlg = "1";

                var html = ""
                html += "<div class=\"lay_conts\">"
                html += "<div class=\"lay_head\">"
                html += "<h4>곡 담기</h4>"
                html += "<a href=\"javascript:void(0);\" onclick=\"mPlugin.hideLayer('"+ myalbum.objLayer +"','2')\" class=\"btn lay_close\" title=\"닫기\"><span>닫기</span></a>"
                html += "</div>"
                html += "<div class=\"lay_cont\">"
                html += "<ul class=\"add_myalbum\">"
                html += "</ul>"
                html += "</div>"
                html += "<div class=\"lay_foot\">"
                html += "<a href=\"javascript:void(0);\" class=\"btn btn_addalbum\">마이앨범추가</a>"
                html += "</div>"
                html += "</div>"
                if ($obj.attr("mgb") == "big"){
                    $($obj.parents("dd")).append($("<div/>", {id:myalbum.objLayer, css:{"display":"none","z-index":"9999"}, html:html}));
                }
                else {
                    $($obj.parent()).append($("<div/>", {id:myalbum.objLayer, css:{"display":"none","z-index":"9999"}, html:html}));
                }

                $("#"+myalbum.objLayer).unbind("click").bind("click",function(e){
                    e.stopPropagation();
                });
                $("#"+myalbum.objLayer).addClass("lay_wrap lay_add");

                $("#"+myalbum.objLayer).find(".btn_addalbum")
                    .unbind("click")
                    .bind("click",function() {
                        myalbum.addAlbumArea($obj,"1")
                    });
            //}


            if ( addFlg == "1" ){
                if ( !mPlugin.minfo.mcode ) {
                    mPlugin.minfo.mcode = mnetCookie.getUinfo("mcode");
                }
                var parameter = ({url:mPlugin.url.apiUrl + "/myalbum/list/"+mPlugin.minfo.mcode, method:"GET"})
                mPlugin.apiCall(parameter, "GET", myalbum.callback, $obj, "showAlbum");
            }
            else {
                if ($obj.attr("mgb") == "big"){
                    var left = -120;
                    var top  = 67;
                }
                else if ($obj.attr("mgb") == "select"){
                    var left = 0;
                    var top  = 24;
                }
                else if ($obj.attr("mgb") == "mplayer"){
                    var left = 0;
                    var top  = -229;
                }
                else {
                    var left = -163;
                    var top  = 17;
                }
                if (mPlugin.getIEVersion() == 6 || mPlugin.getIEVersion() == 7 ){
                    top += 12;
                }

                $(".add_myalbum").scrollTop();
                $("#"+myalbum.objLayer).css("top" ,$obj.position().top  + top  + "px");
                $("#"+myalbum.objLayer).css("left",$obj.position().left + left + "px");
                $("#"+myalbum.objLayer).show();
            }
        }
        trkLog.log("P_0203");
    },
    //마이앨범 추가 - 영역보이기
    addAlbumArea : function() {
        var $obj = arguments[0];

        if ( arguments[1] == "1" ){
            if ($(".lay_cont .add_myalbum .selected").length == 0 ){
                $(".lay_cont .add_myalbum").prepend("<li class=\"selected\"><input type=\"text\" id=\"newAlbumNm\" value=\"\"/><span class=\"btn_sub\"><a href=\"javascript:void(0);\"  id=\"btn_sub_ok\">확인</a><em>l</em><a href=\"javascript:void(0);\"  id=\"btn_sub_cancel\">취소</a></span></li>");

                $(".lay_cont .add_myalbum").find("#btn_sub_ok").unbind("click").bind("click",function() { myalbum.addAlbum($obj) });
                $(".lay_cont .add_myalbum").find("#btn_sub_cancel").unbind("click").bind("click",function() { myalbum.addAlbumArea($obj,'0') });
                $("#newAlbumNm").bind('keypress', function(e) {
                    if (e.which === 13) {
                        myalbum.addAlbum($obj);
                    }
                });
            }
            $("#newAlbumNm").focus();
        }
        else {
            $(".lay_cont .add_myalbum .selected").remove();
        }
    },
    //마이앨범 생성 - 실행
    addAlbum : function() {
        var $obj    = arguments[0];
        var albumNm = $("#newAlbumNm").val();
        if( albumNm ){
            var parameter = ({url:mPlugin.url.apiUrl + "/myalbum", pnm:"title", title:albumNm, method:"POST"})
            mPlugin.apiCall(parameter, "POST", myalbum.callback, $obj, "addAlbum");
        }
        else {
            alert("앨범명을 입력하세요.");
            $("#newAlbumNm").focus();
        }
    },
    callback : function() {

        var resultData = arguments[0];
        var $obj       = arguments[1];
        var arrEtcInfo = mPlugin.getSplitData(arguments[2],"|");
        var funcType   = arrEtcInfo[0];
        var liIdx      = arrEtcInfo[1];

        if ( resultData ) {
            var arrCInfo  = mPlugin.getMval($obj);
            var cateCd    = arrCInfo[0];
            var contentNo = arrCInfo[1];

            var resultCode  = resultData.resultCode;
            var message     = resultData.message;

            if (resultCode == "S0000") {

                //마이앨범 레이어 callback
                if (funcType.indexOf("showAlbum") > -1){

                    $(".lay_cont .add_myalbum .selected").remove();
                    $("#"+myalbum.objLayer).find(".add_myalbum").empty();

                    $.each(resultData.data, function(idx, entry) {
                        $("#"+myalbum.objLayer).find(".add_myalbum").append("<li><a href=\"javascript:void(0);\" id=\""+ entry["abmNo"] +"\" title=\""+ entry["title"] +"\">"+ mPlugin.assertMsg(entry["title"],18) +" (<span>"+ entry["songCnt"] +"</span>)</a></li>")

                        $("#"+myalbum.objLayer).find(".add_myalbum").find("#"+ entry["abmNo"] )
                            .unbind("click")
                            .bind("click",function() { myalbum.addSong($obj, idx, funcType); });
                    });
                    if ($obj.attr("mgb") == "big"){
                        var left = -120;
                        var top  = 67;
                    }
                    else if ($obj.attr("mgb") == "select"){
                        var left = 0;
                        var top  = 24;
                    }
                    else if ($obj.attr("mgb") == "mplayer"){
                        var left = 0;
                        var top  = -229;
                    }
                    else {
                        var left = -163;
                        var top  = 17;
                    }

                    if (mPlugin.getIEVersion() == 6 || mPlugin.getIEVersion() == 7 ){
                        top += 10;
                    }

                    $("#"+myalbum.objLayer).css("top" ,$obj.position().top  + top  + "px");
                    $("#"+myalbum.objLayer).css("left",$obj.position().left + left + "px");
                    $("#"+myalbum.objLayer).show();
                }
                //앨범 추가 callback
                else if (funcType == "addAlbum") {
                    $(".lay_cont .add_myalbum .selected").remove();
                    myalbum.showAlbum($obj,"1");
                }
                //곡 담기 callback
                else if (funcType == "addSong") {

                    var msg1 = "선택한 곡이 마이앨범에 추가되었습니다.";
                    var msg2 = "내 마이엠넷 &gt; 마이앨범에서 확인할 수 있습니다.";
                    mPlugin.showNoti(msg1, msg2);

                    $(".lay_cont .add_myalbum .selected").remove();
                    $($(".add_myalbum li").get(liIdx)).toggleClass("selected");

                    var nowSongCnt = parseInt( ($($(".add_myalbum li").get(liIdx)).find("span").html() || "0") );
                    if ( $obj.attr("mgb") == "select" ){
                        var addSongCnt = $(".btn_my_add").attr("mval").split(",").length;
                    }
                    else {
                        var addSongCnt = 1;
                    }
                    $($(".add_myalbum li").get(liIdx)).find("span").html( nowSongCnt + addSongCnt);

                    $("#"+myalbum.objLayer).hide();
                    $($(".add_myalbum li").get(liIdx)).toggleClass("selected");
                }
            }
            else {
                //console.log("[실패]" + resultCode +":"+ message);
            }
        }
    }
}


//즐겨찾기
bookmark = {
    init : function() {
        var $obj = arguments[0];
        $obj.attr("mchk","1");
        var arrCInfo = mPlugin.getSplitData($obj.attr("mval"));
        $obj.bind("click",function() { bookmark.add(arrCInfo[0]+"_"+arrCInfo[1]) });
    },
    add : function() {
        var cInfo    = arguments[0];
        var arrCInfo = mPlugin.getSplitData(cInfo);

        if ( mPlugin.loginChk() ){
            var parameter = ({url:mPlugin.url.apiUrl +"/bookmark/"+ arrCInfo[0] +"/"+ arrCInfo[1], method:"POST"})
            mPlugin.apiCall(parameter, "POST", bookmark.callback, cInfo, "add");
        }
        trkLog.log("P_"+ arrCInfo[0]);
    },
    callback : function() {
        var resultData = arguments[0];
        var cInfo      = arguments[1];
        var funcType   = arguments[2];

        if ( cInfo && resultData ) {
            var resultCode  = resultData.resultCode;
            var message     = resultData.message;
            if (resultCode == "S0000") {
                var arrCInfo = mPlugin.getSplitData(cInfo);
                var cateCd   = arrCInfo[0];
                var msg1     = "선택한 "+ mPlugin.cateCdNm(cateCd) +"이 즐겨찾기에 추가되었습니다.";
                var msg2     = "내 마이엠넷 &gt; 즐겨찾기에서 확인할 수 있습니다.";
                mPlugin.showNoti(msg1, msg2);
            }
            else {
                //console.log("[bookmark]error:"+resultCode+",msg:"+message);
                var errMsg1 = "";
                var errMsg2 = message;

                if ( resultCode == "ELT11" ){
                    errMsg1 = "이미 등록한 앨범/영상 입니다.";
                    errMsg2 = "내 마이엠넷 &gt; 즐겨찾기에서 확인할 수 있습니다.";
                }
                mPlugin.showNoti(errMsg1, errMsg2);
            }
        }
    }
}


//외부SNS
outside = {
    twitter : function() {
        var $obj = arguments[0];
        $obj.attr("mchk","1");

		var arrAttr = $obj.attr("mval").split("|");
        var dataCount = arrAttr[0];		
		var documentURL = arrAttr[1]||document.URL;		

        $obj.html('<a href="http://twitter.com/share" class="twitter-share-button" 	data-url="'+ documentURL +'" data-count="'+ dataCount +'" data-via="mnetsocial">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>');
    },
    facebook : function() {
        var $obj = arguments[0];

        $obj.attr("mchk","1");
        var arrAttr = $obj.attr("mval").split("|");
        var layout;
        var width;
        var height;
		var documentURL;

		layout = arrAttr[0]||"button_count";		
		width  = arrAttr[1]||"110";
		height = arrAttr[2]||"22";
		documentURL=arrAttr[3]||document.URL;


        //$obj.html('<iframe src="http://www.facebook.com/plugins/like?href='+escape(document.URL)+'&amp;send=false&amp;layout='+ layout +'&amp;width='+ width +'&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=verdana&amp;height='+ height +'" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:'+ width +'px; height:'+ height +'px;" allowTransparency="true"></iframe>');
		//2011-12-01, facebook 좋아요버튼 iframe->fbml
		$obj.html('<fb:like href="'+ documentURL +'" send="false" layout="'+ layout +'" width="'+ width +'" show_faces="false" font="verdana" style="border:none; width:'+ width +'px; height:'+ height +'px;"></fb:like>');
    },
    me2day : function() {

        var $obj = arguments[0];
        var mval = $obj.attr("mval");
        $obj.attr("mchk","1");

        if (mval == ""){
            mval = "small";
        }
		var arrAttr = $obj.attr("mval").split("|");
        var layout = arrAttr[0];
		if(layout==""){
			layout="small"
		}
		var documentURL = arrAttr[1]||document.URL;	
        //개발
        //$obj.append('<me2:metoo plugin_key="MdDYKE8xQTGykKjchVIieQ" href="'+document.URL+'" pingback="checked" layout="'+ mval +'" color="light" profile_images="off"></me2:metoo>');
        //상용
        $obj.append('<me2:metoo plugin_key="dT78LOV2QG2xAgr0vkwzBA" href="'+ documentURL +'" pingback="checked" layout="'+ layout +'" color="light" profile_images="off"></me2:metoo>');
    }
}


//쪽지
message = {
    objLayer : "mplugin_message",
    config : {
        //받는이
        arrContentNm : new Array(),
        arrCateCd : new Array(),
        arrContentNo : new Array(),

        //곡첨부 변수
        arrSongId : new Array(),
        arrSongNm : new Array(),
        arrArtist : new Array(),

        //곡검색 페이징 변수
        totcnt : 0,
        pagesize : 4,
        page : 1
    },
    init : function() {
        var options = (arguments[0] || this.config);
        this.config = $.extend(this.config,options);

        // 레이어를 만든다.
        this.makeLayer();
        this.initEvent();

        //받는이
        $("#"+message.objLayer).find('#sendName').unbind("keydown").bind("keydown",function(e) {
            e.stopPropagation();
            if (e.keyCode == 13) {
                message.getReceiver();
            }
        }).unbind("click").bind("click",function(e){
            e.stopPropagation();
        });

        //곡검색
        //$("#"+message.objLayer).find('#songNm').keydown(function(e) {
        $("#"+message.objLayer).find('#songNm')
            .unbind("keydown").bind("keydown",function(e) {
                e.stopPropagation();
                if (e.keyCode == 13) {
                    message.resetPageGetSong();
                }
            })
            .unbind("click").bind("click",function(e){
                e.stopPropagation();
            });
        $("#"+message.objLayer).find("#songSearch").unbind("click").bind("click",function(e){
            e.stopPropagation();
        });

        $("#"+message.objLayer).find('.sh_search_result').unbind("click").bind("click",function(e){
            e.stopPropagation();
        });

        $(document).click(function() {
            message.hideSearchLayer();
        });
    },
    hideSearchLayer : function() {
        //받는이 검색
        $("#"+message.objLayer).find('.user_list').hide();
        $("#"+message.objLayer).find('.user_list').html('');

        //곡검색
        $("#"+message.objLayer).find('.sh_search_result').hide();
    },
    makeLayer : function() {

        message.config.page = 1;
        $("#"+message.objLayer).find('#wByte').html("0");

        if ( $("#"+message.objLayer).length == 0 ){
            var html = $('<div id="'+ message.objLayer +'" class="lay_wrap" style="width:500px;display:none">'
                +'<div class="lay_conts">'
                +'<div class="lay_head">'
                +'<h3><img src="/images/social/tit_lay_msgsend.gif" alt="쪽지쓰기" /></h3>'
                +'<a href="javascript:;" class="btn lay_close" title="닫기"><span>닫기</span></a>'
                +'</div>'
                +'<div class="lay_cont">'
                +'<div class="lay_msg">'

                +'<dl class="receiver" id="inputReceiver" style="display:none">'
                +'<dt>받는이</dt>'
                +'<dd class="form">'
                +'<input type="text" class="input" id="sendName" />'
                +'<a class="btn btn_search" href="javascript:message.getReceiver()"><span>검색</span></a>'
                +'<div class="user_list" style="display:none;"><ul></ul></div>'
                +'</dd>'
                +'<dd id="receiver"></dd>'
                +'<dd class="desc">받는이는 10명까지 추가 가능합니다.</dd>'
                +'<dd id="receiverlist" class="artistlist"></dd>'
                +'</dl>'

                +'<dl class="receiver fix" id="setReceiver" style="display:none">'
                +'<dt>받는이</dt>'
                +'<dd class="receive"></dd>'
                +'</dl>'

                +'<ul class="tabmenu">'
                +'<li><img src="/images/social/tabmenu_songadd.gif" alt="곡 첨부" /></li>'
                +'</ul>'
                +'<div class="sh_search mt10">'
                +'<input type="text" id="songNm" class="input wid395" title="검색어를 입력하세요" /><a href="javascript:void(0);" onclick="message.resetPageGetSong();return false;" class="btn btn_search"><span>검색</span></a>'
                +'<!-- 곡검색 영역 -->'
                +'<div class="sh_search_result" style="display:none;">'
                +'<div class="title">'
                +'<strong class="floatL">곡정보</strong>'
                +'<strong class="floatR">첨부</strong>'
                +'</div>'
                +'<div class="songinfo">'
                +'<ul id="songSearch"></ul>'
                +'</div>'
                +'<div id="messagePagingSmall" class="paging"></div>'
                +'</div>'
                +'<!-- //곡검색 영역 -->'
                +'</div>'

                +'<!-- 곡첨부 영역 -->'
                +'<div id="addSong" class="song_add" style="display:none">'
                +'<p class="tit"><strong>첨부곡리스트</strong> <em>|</em> 10곡까지 첨부 가능</p>'
                +'<ol id="attachSong"></ol>'
                +'</div>'
                +'<!-- //곡첩부 영역 -->'

                +'<div class="msgform">'
                +'<textarea rows="100" cols="10" id="writeShareForm" maxlength="300">내용을 입력해주세요.</textarea>'
                +'</div>'
                +'<div class="btm">'
                +'<span><em><span id="wByte">0</span></em> / 300 byte</span>'
                +'</div>'
                +'</div>'
                +'</div>'
                +'<div class="lay_foot">'
                +'<a href="javascript:message.send();" class="btn btn_send"><span>보내기</span></a>'
                +'</div>'
                +'<!-- //layer content -->'
                +'</div>'
                +'<span class="shadow shadow2"></span>'
                +'</div>');
            $('body').prepend(html);

            //메세지 write form
            $("#"+message.objLayer).find('#writeShareForm')
                .focus(function() {
                    if ($("#writeShareForm").html() == "내용을 입력해주세요."){
                        $("#writeShareForm").val("");
                    }
                })
                .keyup(function() {
                    var val = $(this).val();
                    var len = mPlugin.lengthToByte(val);
                    if (len > share.maxLength) {
                        alert("최대 " + share.maxLength + "byte이므로 초과된 글자수는 자동으로 삭제됩니다.\n");
                        val = val.replace(/\r\n$/, "");
                        val = mPlugin.assertMsg(val, share.maxLength, "false");
                        len = mPlugin.lengthToByte(val);
                        $(this).val(val);
                    }
                    $("#"+message.objLayer).find('#wByte').html(len);
                });
        }
    },
    initEvent : function() {
        // 닫기 버튼 설정
        $("#"+message.objLayer).find('.lay_close').bind('click', message.hideLayer);
    },
    sendForm : function() {
        if ( mPlugin.loginChk() ){
            message.init();
            message.reset();

            mPlugin.showLayer(message.objLayer,"0");

            if(arguments[0] != null){
                this.config.arrContentNm.push(arguments[0]);
                this.config.arrCateCd.push(arguments[1]);
                this.config.arrContentNo.push(arguments[2]);
//                this.receiverList();
                $("#"+message.objLayer).find('#setReceiver').show();
                $("#"+message.objLayer).find('#setReceiver').find(".receive").html( arguments[0] );
            } else {
                $("#"+message.objLayer).find('#inputReceiver').show();
            }

        }
    },
    hideLayer : function() {
        //message.objLayer.hide();
        mPlugin.hideLayer(message.objLayer);
    },
    addReceiver : function (contentNm, cateCd, contentNo) {
        if (this.config.arrCateCd.length>=10) {
            alert("쪽지는 한 번에 10명까지 전송할 수 있습니다.");
            return;
        }
        this.config.arrContentNm.push(contentNm);
        this.config.arrCateCd.push(cateCd);
        this.config.arrContentNo.push(contentNo);
        this.receiverList();
        $("#"+message.objLayer).find('#sendName').val("");
    },
    receiverList : function () {
        $("#"+message.objLayer).find('#receiverlist').empty();
        for (var i=0; i<this.config.arrCateCd.length; i++) {
            var text = "";
            if( i==0 )
                text += '<span>' + this.config.arrContentNm[i] + '<a class="del" title="삭제" href="javascript:message.delReceiver('+i+')"></a></span>';
            else
                text += '<em>|</em><span>' + this.config.arrContentNm[i] + '<a class="del" title="삭제" href="javascript:message.delReceiver('+i+')"></a></span>';
            $("#"+message.objLayer).find('#receiverlist').append(text);
        }
    },
    delReceiver : function (idx) {
        this.config.arrContentNm.splice(idx,1);
        this.config.arrCateCd.splice(idx,1);
        this.config.arrContentNo.splice(idx,1);
        this.receiverList();
    },
    getReceiver : function () {
        var apiUrl  = mPlugin.url.apiUrl + '/message/receiver';

        var keyword = $.trim($("#"+message.objLayer).find('#sendName').val());

        if (keyword == '') {
            alert("받는이를 입력해주세요.");
            $("#"+message.objLayer).find('#sendName').focus();
            return;
        }
        $.Ajaxload_social( mPlugin.url.proxyUrl
                    ,this.getReceiverResult
                    ,({
                         url     : apiUrl
                        ,pnm     : "keyword,pgnum,pgsize"
                        ,keyword : keyword
                        ,pgnum   : 1
                        ,pgsize  : 10
                    })
                    ,"json"
                    ,"GET" );
    },
    getReceiverResult : function () {
        var items = arguments[0];
        $("#"+message.objLayer).find('.user_list').empty();
        $("#"+message.objLayer).find('.user_list').show();
        if (items.resultCode=='S0000' && items.data.length>0) {
            var contentNm = '';
            for (var i=0; i<items.data.length; i++) {
                contentNm = items.data[i].contentNm.replace(/\'/g,"`");
                $("#"+message.objLayer).find('.user_list').append('<li><a href="javascript:void(0)" onclick="message.addReceiver(\''+ contentNm +'\',\''+ items.data[i].cateCd +'\',\''+ items.data[i].contentNo +'\');">'+ contentNm +'</a></li>');
            }
        }
        else {
            $("#"+message.objLayer).find('.user_list').append('<li>받는이가 없습니다.</li>');
        }
    },
    resetPageGetSong : function () {
        message.config.page = 1;
        message.getSong();
    },
    getSong : function () {
        var q = $.trim($("#"+message.objLayer).find('#songNm').val());
        if (q == '') {
            alert('곡명을 입력해주세요.');
            $("#"+message.objLayer).find('#songNm').focus();
            return;
        }
        $("#"+message.objLayer).find("#songSearch").empty();
        $.getJSON("http://code.mnet.com/search/song.asp?q="+ escape(q) +"&jver=min&pagesize="+ message.config.pagesize +"&pageNum="+ message.config.page +"&callback=?",
            function(data){

                if (data.totcnt > 0) {
                    var totalPage           = data.totpnum;
                    message.config.totcnt   = data.totcnt;
                    message.config.pagesize = data.psize;
                    message.config.page     = data.pnum;
                    $("#"+message.objLayer).find('.sh_search_result').show();
                    $.each(data.list, function(i,item){
                        item.nm = item.nm.replace(/\'/g,"`");
                        item.artist_nms = item.artist_nms.replace(/\'/g,"`");
                        item.artist_nms = item.artist_nms.replace(/♩/g,", ");

                        $("#"+message.objLayer).find("#songSearch").append(
                             "<li>"
                            +"<a href=\"javascript:mnetCom.aodPlay('"+ item.id +"','now');\" class=\"btn btn_play\" title=\"듣기\"><span>듣기</span></a>"
                            +"<a href=\"javascript:void(0);\" onclick=\"message.attachSong('"+ item.id +"','"+ item.nm +"','"+ item.artist_nms +"');return false;\" class=\"txt\">"+ mPlugin.assertMsg(item.nm,42,"true") +" <em>– "+ mPlugin.assertMsg(item.artist_nms,12,"true") +"</em></a>"
                            +"<a href=\"javascript:void(0);\" onclick=\"message.attachSong('"+ item.id +"','"+ item.nm +"','"+ item.artist_nms +"');return false;\" class=\"btn btn_attatch\" title=\"첨부\"><span>첨부</span></a>"
                            +"</li>");

                        if ( i == 5 ){
                            return false;
                        }
                    });
                    //message.objLayer.find('.artist_on').show();
                    var paging = new mnetPageSmall()
                    var pagingParam = {
                        totcnt       : message.config.totcnt,       // 무조건 설정해야함
                        pageno       : message.config.page,         // 기본 1페이지
                        pagesize     : message.config.pagesize,     // 기본10개로 되어있음
                        pagelistsize : 10,                          // 기본10개로 되어있음
                        clikfnName   : message.page_click,          //클릭 function명 무조건 설정해야함 (default:config.page_click)
                        pagehtmlid   : "messagePagingSmall"          //디스플레이할 element ID  무조건 설정해야함 (default:paging)
                    }
                    paging.init(pagingParam);
                }
        });
    },
    page_click : function (no) {
        message.config.page = no;
        message.getSong();
    },
    attachSong : function (songId, songTitle, artist) {
        if (this.config.arrSongId.length>=10) {
            alert('곡 첨부는 10곡까지 가능합니다.');
            return;
        }
        this.config.arrSongId.push(songId);
        this.config.arrSongNm.push(songTitle);
        this.config.arrArtist.push(artist);

        message.hideSearchLayer();
        this.songList();
    },
    songList : function () {	//첨부곡리스트를 보여줌

        if( this.config.arrSongId.length > 0 ){
            $("#"+message.objLayer).find("#addSong").show();
        } else {
            $("#"+message.objLayer).find("#addSong").hide();
        }

        $("#"+message.objLayer).find('#attachSong').empty();
        for (var i=0; i<this.config.arrSongId.length; i++) {
            var num = (i+1);
            num = (num.length==1) ? '0'+num: num;
            $("#"+message.objLayer).find('#attachSong').append(
                "<li><span>"+ num +".</span> <a href=\"javascript:mnetCom.aodPlay('"+ this.config.arrSongId[i] +"');\" class=\"btn btn_play\" title=\"듣기\"><span>듣기</span></a><a href=\"javascript:mnetCom.aodPlay('"+ this.config.arrSongId[i] +"');\" class=\"txt\">"+ mPlugin.assertMsg(this.config.arrSongNm[i],42,"true") +" <em>– "+  mPlugin.assertMsg(this.config.arrArtist[i],12,"true") +"</em></a><a href=\"javascript:void(0);\" onclick=\"message.delSong('"+ i +"');\" class=\"btn btn_del\" title=\"삭제\"><span>삭제</span></a></li>"
            );
        }
    },
    delSong : function (idx) {
        this.config.arrSongId.splice(idx,1);
        this.config.arrSongNm.splice(idx,1);
        this.config.arrArtist.splice(idx,1);
        this.songList();
    },
    send : function () {
        var content = $.trim($("#"+message.objLayer).find('#writeShareForm').val());

        var replyValue = spamChk(content);
        if(replyValue != ""){
            alert( replyValue );
            return;
        }

        if (this.config.arrCateCd.length==0) {
            alert('받는 이를 입력해주세요.');
            $("#"+message.objLayer).find('#sendName').focus();
            return;
        }
        if (content=='' || content=='내용을 입력해주세요.') {
            alert('내용을 입력해주세요.');
            $("#"+message.objLayer).find('#writeShareForm').focus();
            return;
        }

        var apiUrl = '';
        var arrSong = this.config.arrSongId.join(',');
        for (var i=0; i<this.config.arrCateCd.length; i++) {
            apiUrl = mPlugin.url.apiUrl + '/message/'+ this.config.arrCateCd[i]+'/'+ this.config.arrContentNo[i];
            $.Ajaxload_social(  mPlugin.url.proxyUrl
                        ,null
                        ,({
                             url     : apiUrl
                            ,pnm     : "content,saveYn,arrSong[]"
                            ,content : content
                            ,saveYn  : 'Y'
                            ,arrSong : this.config.arrSongId
                        })
                        ,"json"
                        ,"POST" );
        }
        alert('쪽지를 보냈습니다.');
        this.hideLayer();
    },
    reset : function() {
        // 받을 사람 목록 초기화
        $("#"+message.objLayer).find('#sendName').val('');
        this.config.arrContentNm = new Array();
        this.config.arrCateCd = new Array();
        this.config.arrContentNo = new Array();
        this.receiverList();

        // 쪽지 내용 초기화
        $("#"+message.objLayer).find('#writeShareForm').val('내용을 입력해주세요.');

        // 첨부곡 초기화
        $("#"+message.objLayer).find('#songNm').val('');
        this.config.arrSongId = new Array();
        this.config.arrSongNm = new Array();
        this.config.arrArtist = new Array();
        this.songList();

        $("#"+message.objLayer).find('#inputReceiver').hide();
        $("#"+message.objLayer).find('#setReceiver').hide();
    },
    count : function() {
        if ( mPlugin.isLogin ){
            var ret = arguments[0];
            var parameter = ({url:mPlugin.url.apiUrl + "/message/new/score", method:"GET"})
            mPlugin.apiCall(parameter, "GET", message.callback, ret);
        }
    },
    list : function() {
        if ( mPlugin.isLogin ){
            var ret = arguments[0];
            var parameter = ({url:mPlugin.url.apiUrl + "/message/new", method:"GET"})
            mPlugin.apiCall(parameter, "GET", message.callback, ret);
        }
    },
    callback : function() {
        var resultData  = arguments[0];
        var ret         = arguments[1];

        if (typeof ret == "function"){
            ret( arguments[0] );
        }
        else {
            return arguments[0];
        }
    }
}

//알리미
notice = {
    count : function() {
        if ( mPlugin.isLogin ){
            var ret = arguments[0];
            var parameter = ({url:mPlugin.url.apiUrl + "/notice/new/count", method:"GET"})
            mPlugin.apiCall(parameter, "GET", notice.showCount, ret);
        }
    },
    showCount : function() {
        var obj = arguments[0];
        //gnb_notice_cnt = 0;
        if(obj && obj.resultCode == 'S0000'){
            if(obj.data.count > 0){
                notice_cnt = obj.data.count;
                $("#gnb_btn_notice_new").attr("rel", parseInt(notice_cnt));
                $("#gnb_btn_notice_new").show();

                $("#top_my_tab em.nb:eq(0)").html(notice_cnt);
            }
        }
    },
    list : function() {
        if ( mPlugin.isLogin ){
            var type = (arguments[0] || 0);
            var ret = arguments[1];

            var parameter = ({url:mPlugin.url.apiUrl + "/notice/new/list", method:"GET"})
            if(type == 0){
                mPlugin.apiCall(parameter, "GET", notice.setLayer, ret);
            }else{
                mPlugin.apiCall(parameter, "GET", notice.setList, ret);
            }
        }
    },
    setLayer : function() {
        var obj = arguments[0];
        var ret = arguments[1];
        var bIsLoaded = false;
        var strNotice = [];
        var i=0;
        if (!mPlugin.minfo.userId){
            mPlugin.minfo.userId = mnetCookie.getUinfo('userid');
        }

        if(obj.data.length > 0){
            for(i=0;i<obj.data.length;i++){
                //if(i>4) break;
                strNotice[i] = "<dl>"
                             +"<dt><a href='" + mPlugin.blogUrl( obj.data[i].userCateCd, obj.data[i].userID) + "'><span class='w38 pic_b'></span><img src='about:blank' onerror='javascript:mnetImage.fnSetClipUrl(this, \"USER\", \""  + obj.data[i].mcode + "\", \"40\")' width='38' height='38' /></a></dt>"
                             + "<dd class='tit'><a href='" +  mPlugin.blogUrl( obj.data[i].cateCd, mPlugin.minfo.userId) + "/notice'>" + notice.makeNoticeStr(obj.data[i]) + "</a><em class='date2'>"+obj.data[i].createDt+" 엠넷에서</em></dd></dl>"
            }
            bIsLoaded=true;
            $("#gnb_lay_notice_content")
                .removeClass("alertlist_no")
                .addClass("memolist")
                .empty()
                .append(strNotice.join(''));
            $("#gnb_lay_notice_all").show();
        }
        $("#gnb_lay_notice").show();

        if (typeof ret == "function"){
            ret( bIsLoaded );
        }
        else {
            return bIsLoaded;
        }
    },
    setList : function() {
        var obj = arguments[0];
        var ret = arguments[1];
        var bIsLoaded = false;
        var strNotice = [],i=0;
        if (!mPlugin.minfo.userId){
            mPlugin.minfo.userId = mnetCookie.getUinfo('userid');
        }
        if(obj.data.length > 0){
            bIsLoaded=true;
            for(i=0;i<obj.data.length;i++){
                //if(i>4) break;
                strNotice[i] = "<dl>"
				+"<dt><a href='" + mPlugin.blogUrl( obj.data[i].userCateCd, obj.data[i].userID) + "'><span class='w38 pic_b'></span><img src='about:blank' onerror='javascript:mnetImage.fnSetClipUrl(this, \"USER\", \""  + obj.data[i].mcode + "\", \"40\")' width='38' height='38' /></a></dt>"
				 + "<dd class='tit'><a href='" +  mPlugin.blogUrl(obj.data[i].cateCd, mPlugin.minfo.userId) + "/notice'>" + notice.makeNoticeStr(obj.data[i]) + "</a><em class='date2'>"+obj.data[i].createDt+" 엠넷에서</em></dd></dl>"
            }

            $("#lay_notice_content")
				.parent()
				.removeClass("no_alert")
				.addClass("page_memolist");

            $("#lay_notice_content")
				.removeClass("alertlist_no")
                .addClass("memolist fix")
                .empty()
                .append(strNotice.join(''));
			$("#lay_notice>div.foot_menu").html("<a href='" +  mPlugin.url.blogUrl + mPlugin.minfo.userId + "/notice' class='btn_more'>알림내역 모두보기</a><a title='닫기' class='btn_x2' href='javascript:close_feed_layer(\"#lay_notice\");'></a>");
			$("#lay_notice").show();
        }

        if (typeof ret == "function"){
            ret( bIsLoaded );
        }
        else {
            return bIsLoaded;
        }
    },
	makeNoticeStr : function() {
		var data = arguments[0];
		//var searchPattern = new RegExp('[a-z]+');
		var searchPattern = /\$\w+\$/g;
		var noticeStr = data.notice;
		var arrPattern = noticeStr.match(searchPattern);

		for(var i=0;i<arrPattern.length;i++){
			var targetData = data[arrPattern[i].replace(/\$/g,'')];
			noticeStr = noticeStr.replace(arrPattern[i],targetData);
		}
		return noticeStr;
	}
}




// 쪽지
messageList = {
    count : function() {
        if ( mPlugin.isLogin ){
            var ret = arguments[0];
            var parameter = ({url:mPlugin.url.apiUrl + "/message/new/score", method:"GET"})
            mPlugin.apiCall(parameter, "GET", messageList.showCount, ret);
        }
    },
    showCount : function() {
        var obj = arguments[0];
		if(obj && obj.resultCode == 'S0000'){
			if(obj.info.totalCnt > 0){
				message_cnt = obj.info.totalCnt;
				$("#gnb_btn_message_new").attr("rel",parseInt(message_cnt))
				$("#gnb_btn_message_new").show();

				$("#top_my_tab em.nb:eq(1)").html(message_cnt);
			}
		}
    },
    list : function() {

        if ( mPlugin.isLogin ){
			var type = (arguments[0] || 0);
            var ret = arguments[1];

            var parameter = ({url:mPlugin.url.apiUrl + "/message/new", method:"GET"})
			if(type == 0){
				mPlugin.apiCall(parameter, "GET", messageList.setLayer, ret);
			}else{
				mPlugin.apiCall(parameter, "GET", messageList.setList, ret);
			}
        }
    },
    setLayer : function() {
        var obj = arguments[0];
		var ret = arguments[1];
        var bIsLoaded = false;
		var message_api = [], k=0;
        if (!mPlugin.minfo.userId){
            mPlugin.minfo.userId = mnetCookie.getUinfo('userid');
        }
		if(obj.data.length > 0){
			bIsLoaded=true
			for(var item in obj.data){
				if(k>4) break;
				var dt = obj.data[item].createDt.toString();
				message_api[k++] = "<dl><dt><a href='"+obj.data[item].userUrl+"'><span class='w38 pic_b'></span><img src='about:blank' onerror='javascript:mnetImage.fnSetClipUrl(this, \"USER\", \""  + obj.data[item].fromContentNo + "\", \"40\")' width='38' height='38' /></a></dt><dd class='tit2'><a href='" +  mPlugin.url.blogUrl + mPlugin.minfo.userId + "/message' class='ellipsis'>"+obj.data[item].content+"</a></dd><dd class='date'>"+obj.data[item].fromContentNm+"<em>|</em><span>"+dt.substr(0,dt.lastIndexOf(":"))+"</span></dd></dl>";
			}
			;
			$("#gnb_lay_message_content")
			.removeClass("memolist_no")
			.addClass("memolist")
			.empty()
			.append(message_api.join(''));
			$("#gnb_lay_message_all").show();
		}
		$("#gnb_lay_message").show();

        if (typeof ret == "function"){
            ret( bIsLoaded );
        }
        else {
            return bIsLoaded;
        }
    },
    setList : function() {
        var obj = arguments[0];
		var ret = arguments[1];
        var bIsLoaded = false;
		var message_api = [],k=0;
        if (!mPlugin.minfo.userId){
            mPlugin.minfo.userId = mnetCookie.getUinfo('userid');
        }
		if(obj.data.length > 0){
			for(var item in obj.data){
				if(k>4) break;
				var dt = obj.data[item].createDt.toString();
				message_api[k++] = "<dl><dt><a href='"+obj.data[item].userUrl+"'><span class='w38 pic_b'></span><img src='about:blank' onerror='javascript:mnetImage.fnSetClipUrl(this, \"USER\", \""  + obj.data[item].fromContentNo + "\", \"40\")' width='38' height='38' /></a></dt><dd class='tit2'><a href='" +  mPlugin.url.blogUrl + mPlugin.minfo.userId + "/message' class='ellipsis'>"+obj.data[item].content+"</a></dd><dd class='date'>"+obj.data[item].fromContentNm+"<em>|</em><span>"+dt.substr(0,dt.lastIndexOf(":"))+"</span></dd></dl>";
			}
			message_list_get_b=true;
			$("#lay_message").removeClass("no_memo").addClass("page_memolist");
			$("#lay_message_content").removeClass("memolist_no").addClass("memolist fix").empty().append(message_api.join(''));
		}
		$("#lay_message").show();
        if (typeof ret == "function"){
            ret( bIsLoaded );
        }
        else {
            return bIsLoaded;
        }
    }
}



// 신고하기
report = {
    objLayer : "mplugin_report",
    add : function() {
        if ( mPlugin.loginChk() ){
            var cateCd    = arguments[0];        // 어떤 메뉴
            var contentNo = arguments[1];        // 어떤 컨텐츠
            var actionCd  = arguments[2];        // actionCd
            var relTbGb   = arguments[3];        // 01:댓글 | 02:답글 | 03:쪽지 | 04:피드
            var relTbSeq  = arguments[4];        // SEQ
            var reportReason = ($(":input:radio[name=reportReason]:checked").val() || "");

            if (reportReason == ""){
                alert("신고 사유를 선택해 주세요.");
            }
            else {
                var parameter = ( {url:mPlugin.url.apiUrl + "/report", method:"POST", pnm:"cateCd,contentNo,actionCd,gb,seq,reason,reasonCmt", cateCd:cateCd, contentNo:contentNo, actionCd:actionCd, gb:relTbGb, seq:relTbSeq, reason:reportReason, reasonCmt:""} )
                mPlugin.apiCall(parameter, "POST", report.callback, null, "add");
            }
        }
    },
    callback : function() {
        var resultData = arguments[0];

        if ( resultData ) {
            var resultCode  = resultData.resultCode;
            var message     = resultData.message;
            if (resultCode == "S0000") {
                mPlugin.showNoti("신고가 완료되었습니다.", "3일 이내에 결과를 통보받으실 수 있습니다.");
            }
            else {
                //console.log("[report]error:"+resultCode+",msg:"+message);
                mPlugin.showNoti("", message);
            }
        }
    },
    showForm : function() {

        var cateCd    = arguments[0];
        var contentNo = arguments[1];
        var actionCd  = arguments[2];
        var relTbGb   = arguments[3];
        var relTbSeq  = arguments[4];

        if ( mPlugin.loginChk() ){

            if ($("#"+report.objLayer).length == 0) {
                var html = ""
                html += "<div class=\"lay_wrap layer_report\" id=\""+ report.objLayer +"\" >"
                html += "<div class=\"lay_conts\">"
                html += "<div class=\"lay_head\">"
                html += "<h3><img src=\"/images/social/tit_lay_report.gif\" alt=\"신고하기 (신고 사유를 입력해주세요)\" /></h3>"
                html += "<a href=\"javascript:void(0);\" onclick=\"mPlugin.hideLayer('"+ report.objLayer +"');return false;\" class=\"btn lay_close\" title=\"닫기\"><span>닫기</span></a>"
                html += "</div>"
                html += "<div class=\"lay_cont report_list\">"
                html += "<ul>"
                html += "<li><label><input type=\"radio\" name=\"reportReason\" value=\"0601\" /> 음란성 내용이나 링크</label></li>"
                html += "<li><label><input type=\"radio\" name=\"reportReason\" value=\"0602\" /> 상업적 광고, 사이트 홍보</label></li>"
                html += "<li><label><input type=\"radio\" name=\"reportReason\" value=\"0603\" /> 불법 정보 유줄</label></li>"
                html += "<li><label><input type=\"radio\" name=\"reportReason\" value=\"0604\" /> 타인에 대한 욕설이나 비방</label></li>"
                html += "<li><label><input type=\"radio\" name=\"reportReason\" value=\"0605\" /> 인신 공격 이나 명예훼손</label></li>"
                html += "<li><label><input type=\"radio\" name=\"reportReason\" value=\"0606\" /> 폭력 또는 사행심 조장</label></li>"
                html += "<li><label><input type=\"radio\" name=\"reportReason\" value=\"0607\" /> 개인 정보 유출</label></li>"
                html += "<li><label><input type=\"radio\" name=\"reportReason\" value=\"0608\" /> 기타</label></li>"
                html += "</ul>"
                html += "<p class=\"report_text\">"
                html += "- 신고 시 해당 댓글은 엠넷닷컴 방침에 따라 삭제될 수 있습니다.<br />"
                html += "- 허위신고일 경우 신고자의 활동에 제한을 받게 되니 이점 <br />&nbsp;&nbsp;&nbsp;유의해주시기 바랍니다."
                html += "</p>"
                html += "</div>"
                html += "<div class=\"lay_foot\">"
                html += "<a href=\"javascript:void(0);\" class=\"btn btn_lay_report\"><span>신고하기</span></a> <a href=\"javascript:void(0);\" onclick=\"mPlugin.hideLayer('"+ report.objLayer +"');return false;\" class=\"btn btn_lay_close\"><span>닫기</span></a>"
                html += "</div>"
                html += "</div>"
                html += "<span class=\"shadow shadow2\"></span>"
                html += "</div>"
                $("body").append(html);
            }
            else {
                $(":input:radio[name=reportReason]").attr('checked', false);
            }

            $("#"+ report.objLayer).find(".btn_lay_report").unbind().bind("click",function() { report.add(cateCd,contentNo,actionCd,relTbGb,relTbSeq); });
            mPlugin.showLayer(report.objLayer,"0");
        }
    }
}



/*

    ** 이미지 로딩

        ** 이미지 사이즈 정보
         - Album  : 30 , 50 , 71 , 80 , 85 , 95 , 104, 121, 160, 240, 360
         - Artist : 38 , 50 , 75 , 100, 170, 181, 240
         - Vod    : 66_37, 101_57, 114_64, 125_71, 132_74, 150_84, 195_110
         - Program: 125_71, 150_84, 218_123, 327_184
         - User   : 23 ,  32,  40,  50,  75, 170

        ** function input

            mnetImage.fnSetClipUrl( this        -- image object
                                   ,'0201'      -- 카테고리 코드 or 구분자
                                   ,'202561'    -- 컨텐츠번호 or 이미지코드
                                   ,'240'       -- 이미지 사이즈
                                   ,'0101'      -- 아티스트 사용 > 솔로 | 그룹 코드
                                   ,'0302'  )                      남 | 여 코드

        ** 아티스트
        <img src="about:blank" id="test" onerror="javascript:G_IMG_OBJ.fnSetClipUrl(this, '0201'   , '202561' , '240', '0101', '0302')" />
        <img src="about:blank" id="test" onerror="javascript:G_IMG_OBJ.fnSetClipUrl(this, 'ARTIST' , '202561' , '240', '0101', '0302')" />
        ** 앨범
        <img src="about:blank" id="test" onerror="javascript:G_IMG_OBJ.fnSetClipUrl(this, '0202'   , '5810'   , '240')" />
        <img src="about:blank" id="test" onerror="javascript:G_IMG_OBJ.fnSetClipUrl(this, 'ALBUM'  , '5810'   , '240')" />
        ** 영상
        <img src="about:blank" id="test" onerror="javascript:G_IMG_OBJ.fnSetClipUrl(this, '0205'   , '138931' , '150_84')" />
        <img src="about:blank" id="test" onerror="javascript:G_IMG_OBJ.fnSetClipUrl(this, '0209'   , '138931' , '150_84')" />
        <img src="about:blank" id="test" onerror="javascript:G_IMG_OBJ.fnSetClipUrl(this, 'VOD'    , '138931' , '150_84')" />
        ** 프로그램
        <img src="about:blank" id="test" onerror="javascript:G_IMG_OBJ.fnSetClipUrl(this, '0204'   , '132033' , '218_123')" />
        <img src="about:blank" id="test" onerror="javascript:G_IMG_OBJ.fnSetClipUrl(this, 'PROGRAM', '132033' , '218_123')" />
        ** 블로그 프로필
        <img src="about:blank" id="test" onerror="javascript:G_IMG_OBJ.fnSetClipUrl(this, '0206'   , '1362247', '170')" />
        <img src="about:blank" id="test" onerror="javascript:G_IMG_OBJ.fnSetClipUrl(this, 'USER'   , '1362247', '170')" />

*/
var mnetImage = {

    /*
        - CATE_CD
            0201 : 아티스트
            0202 : 앨범
            0203 : 곡
            0204 : 프로그램
            0205 : 영상
            0206 : 블로그
            0207 : 블로그 >사진
            0208 : 공연
    */
    info : { "CLIP_URL"         : { "USER" : "http://mnetimg.mnet.com/L_uimg/userupload/social"
                                   ,"MNET" : "http://cmsimg.mnet.com/clipimage" }
            ,"EXT_TYPE"         : [ ".jpg" ]                                       }

   ,fnSetClipUrl : function() {

        var imgObject   = ( arguments[0] || "" );
        var cateCd      = ( arguments[1] || "" );
        var contentNo   = ( arguments[2] || "" );
        var imgSizeType = ( arguments[3] || "" );
        var artTypeCd   = ( arguments[4] || "" );
        var artGender   = ( arguments[5] || "" );

        switch( cateCd.toUpperCase() )
        {
            case "ARTIST" :
            case "0201"   : this.fnSetMnetClipUrl(imgObject, contentNo, imgSizeType, "ARTIST", artTypeCd, artGender); break;  //아티스트
            case "ALBUM"  :
            case "0202"   : this.fnSetMnetClipUrl(imgObject, contentNo, imgSizeType, "ALBUM"                       ); break;  //앨범
            case "PROGRAM":
            case "0204"   : this.fnSetMnetClipUrl(imgObject, contentNo, imgSizeType, "PROGRAM"                     ); break;  //프로그램
            case "VOD"    :
            case "0209"   :
            case "0205"   : this.fnSetMnetClipUrl(imgObject, contentNo, imgSizeType, "VOD"                         ); break;  //영상
            case "USER"   :
            case "0206"   : this.fnSetUserClipUrl(imgObject, contentNo, imgSizeType                                ); break;  //블로그
        }
   }

   /*
        사용자 이미지 설정
   */
   ,fnSetUserClipUrl : function () {
        var imgObject   = ( arguments[0] || null                  );
        var imgNo       = ( arguments[1] || ""                    );
        var imgSizeType = ( arguments[2] || ""                    );
        var imgExtAry   = ( arguments[3] || this.info["EXT_TYPE"] );
        var imgExtCnt   = 0;

        if ( imgObject != null ) {
            imgObject.onerror = null;
            imgObject.src = this.fnMakeUserDefaultClipUrl( imgSizeType );
            var imgObjAry = new Array();
            for ( imgExtCnt = 0 ; imgExtCnt < imgExtAry.length ; imgExtCnt++ ) {
                imgObjAry.push( new Image() );
                lstImg = imgObjAry[imgExtCnt]
                lstImg.onload = function () {
                    imgObject.src = this.src;
                }
                lstImg.src = this.fnMakeUserClipUrl( imgNo
                                                    ,imgSizeType
                                                    ,imgExtAry[imgExtCnt] );
            }
        }

   }

   /*
        MNET 이미지 설정
   */
   ,fnSetMnetClipUrl : function () {
        var imgObject       = ( arguments[0] || null    );
        var imgNo           = ( arguments[1] || ""      );
        var imgSizeType     = ( arguments[2] || ""      );
        var imgType         = ( arguments[3] || ""      );  // ARTIST, ALBUM, VOD
        var imgArtTypeCd    = ( arguments[4] || "0101"  );  // 솔로( 0101 ) | 그룹솔로( 0102 )
        var imgArtGender    = ( arguments[5] || "0301"  );  // 남성( 0301 ) | 여성 ( 0302 )
        var imgUrl      = "";
        var imgExtCnt   = 0;
        var imgFullUrl  = "";

        var lstImg      = null;

        if ( imgObject != null ) {
            imgObject.onerror = null;
            imgObject.src = this.fnMakeMnetDefaultClipUrl( imgSizeType
                                                          ,imgType
                                                          ,imgArtTypeCd
                                                          ,imgArtGender );
            lstImg = new Image();
            lstImg.onload = function () {
                imgObject.src = this.src;
            }
            lstImg.src = this.fnMakeMnetClipUrl( imgNo
                                                ,imgSizeType
                                                ,imgType     );

        }

   }

   /*
        사용자 이미지

            170
            75
            50
            40
            32
            23
   */
   ,fnMakeUserClipUrl : function() {

        var imgNo    = ( arguments[0] || ""    );
        var imgSize  = ( arguments[1] || "170" );
        var imgExt   = ( arguments[2] || ""    );

        var clipName = "0000000000" + imgNo;
        var sLen     = clipName.length - 9;
        clipName     = clipName.substring(sLen);

        var imgFullUrl = this.info["CLIP_URL"]["USER"]
                       + "/" + "profile"
                       + "/" + imgSize
                       + "/" + clipName.substring(0,3)
                       + "/" + clipName.substring(3,6)
                       + "/" + imgNo + imgExt + "?"+ $.now();

        return imgFullUrl
   }
    /*
     * User   : 23 ,  32,  40,  50,  75, 170
     */
   ,fnMakeUserDefaultClipUrl : function () {

        return this.fnMakeMnetDefaultClipUrl( (arguments[0]||"170")
                                             , "USER"               );
   }

    /**
     * 음악&영상 클립 이미지
     * Album  : 30 , 50 , 71 , 80 , 85 , 95 , 104, 121, 160, 240, 360
     * Artist : 38 , 50 , 75 , 100, 170, 181, 240
     * Vod    : 66_37, 101_57, 114_64, 125_71, 132_74, 150_84, 195_110
     * Program: 125_71, 150_84, 218_123, 327_184
     */
   ,fnMakeMnetClipUrl : function() {

        var imgNo    = ( arguments[0] || ""   );
        var imgSize  = ( arguments[1] || "70" );
        var imgType  = ( arguments[2] || ""   );

        var clipName = "0000000000" + imgNo;
        //var sLen     = clipName.length - 10;
        var sLen     = clipName.length - 9;
        clipName     = clipName.substring(sLen);
        //alert( clipName.length  + " , " + sLen + " , " + clipName )
        if      ( imgType.toUpperCase() == "ALBUM"  ) {
            imgType = "album";
        }
        else if ( imgType.toUpperCase() == "ARTIST" ) {
            imgType = "artist";
        }
        else if (    imgType.toUpperCase() == "VOD"
                  || imgType.toUpperCase() == "PROGRAM" ) {
            imgType = "vod";
        }
        imgType = imgType.toLowerCase();

        var imgFullUrl = this.info["CLIP_URL"]["MNET"]
                       + "/" + imgType
                       + "/" + imgSize
                       + "/" + clipName.substring(0,3)
                       + "/" + clipName.substring(3,6)
                       + "/" + imgNo + ".jpg";
        return imgFullUrl
   }
    /**
     * 기본 이미지
     * Album  : 30 , 50 , 71 , 80 , 85 , 95 , 104, 121, 160, 240, 360
     * Artist : 38 , 50 , 75 , 100, 170, 181, 240
     * Vod    : 66_37, 101_57, 114_64, 125_71, 132_74, 150_84, 195_110
     * Program: 125_71, 150_84, 218_123, 327_184
     */
   ,fnMakeMnetDefaultClipUrl : function () {

        var imgSize         = ( arguments[0] || ""      );
        var imgType         = ( arguments[1] || ""      );
        var imgArtTypeCd    = ( arguments[2] || "0101"  );  // 솔로( 0101 ) | 그룹솔로( 0102 )
        var imgArtGender    = ( arguments[3] || "0301"  );  // 남성( 0301 ) | 여성 ( 0302 )
        var clipName = null;

        if      ( imgType.toUpperCase() == "ALBUM"  ) {
            if ( imgSize == "360" ) {
                strClipName = "album_"  + imgSize + "_black";
            }
            else {
                clipName = "album_"  + imgSize;
            }
        }
        else if ( imgType.toUpperCase() == "ARTIST" ) {
            clipName = "artist_"  + imgSize;

            clipName = "artist";
            if      ( imgArtTypeCd == "0102" ) {   // 그룹
                clipName += "_03_group";
            }
            else {                                  // 솔로
                if ( imgArtGender == "0302" ) {     // 여성
                    clipName += "_02_woman";
                }
                else {                              // 남성
                    clipName += "_01_man";
                }
            }
            clipName += "_" + imgSize;

        }
        else if ( imgType.toUpperCase() == "PROGRAM" ) {
            clipName = "program_"  + imgSize;
        }
        else if ( imgType.toUpperCase() == "VOD"    ) {
            clipName = "vod_"  + imgSize;
        }
        else if ( imgType.toUpperCase() == "USER"    ) {
            clipName = "user_01_man_"  + imgSize;
        }
        var imgFullUrl = this.info["CLIP_URL"]["MNET"]
                       + "/default"
                       + "/"
                       + clipName
                       + ".jpg" ;
        return imgFullUrl;
   }
}

$(document).click(function (e) {
    e.stopPropagation();
    $("#"+myalbum.objLayer).hide();
    $("#"+albumpoint.objLayer).hide();
});



/**
 * trkLog
 * 로거호출
 * ex) trkLog.log("S_0201") - cateCd
 */
var trkLog = {
	//로커 key
    CLK_KEY : ["S_0201","S_0202","S_0203","S_0204","S_0205","S_0209","S_0210","S_0211"
              ,"A_0201"
              ,"L_0201","L_0202","L_0203","L_0204","L_0205","L_0208","L_0209","L_0210","L_0211","L_0212","L_0213"
              ,"W_0201","W_0202","W_0203","W_0204","W_0205","W_0206","W_0209","W_0210","W_0211"
              ,"F_0201","F_0204","F_0206","F_0208"
              ,"T_ALL","T_WALL","T_MY"
              ,"P_0203","P_0202","P_0205","P_0210"
              ,"B_0202"
              ,"LST_0207","LST_0311","LST_0309","LST_0210","LST_DOWN","LST_LASTPLAY","LST_BOOKMARK"
            ],
	//로거 val
    CLK_VAL : ["/소셜활동/공유하기/아티스트","/소셜활동/공유하기/앨범","/소셜활동/공유하기/곡","/소셜활동/공유하기/프로그램","/소셜활동/공유하기/뮤직비디오","/소셜활동/공유하기/클립영상","/소셜활동/공유하기/공개앨범","/소셜활동/공유하기/기타"
              ,"/소셜활동/응원하기/아티스트"
              ,"/소셜활동/좋아요/아티스트","/소셜활동/좋아요/앨범","/소셜활동/좋아요/곡","/소셜활동/좋아요/프로그램","/소셜활동/좋아요/뮤직비디오","/소셜활동/좋아요/콘서트","/소셜활동/좋아요/클립영상","/소셜활동/좋아요/공개앨범","/소셜활동/좋아요/기타","/소셜활동/좋아요/글","/소셜활동/좋아요/글"
              ,"/소셜활동/글쓰기/아티스트","/소셜활동/글쓰기/앨범","/소셜활동/글쓰기/곡","/소셜활동/글쓰기/프로그램","/소셜활동/글쓰기/뮤직비디오","/소셜활동/글쓰기/개인","/소셜활동/글쓰기/클립영상","/소셜활동/글쓰기/공개앨범","/소셜활동/글쓰기/기타"
              ,"/소셜활동/Follow/아티스트","/소셜활동/Follow/프로그램","/소셜활동/Follow/회원","/소셜활동/Follow/공연"
              ,"/마이엠넷/더보기/전체글","/마이엠넷/더보기/담벼락","/마이엠넷/더보기/주인글"
              ,"/기능사용/곡담기","/기능사용/앨범담기","/기능사용/영상담기","/기능사용/공개앨범담기"
              ,"/기능사용/별점주기"
              ,"/마이엠넷/포토","/마이엠넷/쪽지","/마이엠넷/Following","/마이엠넷/공개앨범","/마이엠넷/다운로드 보관함","/마이엠넷/최근감상","/마이엠넷/즐겨찾기"
            ],

	LOGGER : null,
    init : function(){
        this.LOGGER = new Object();
		var i;
        for (i=0; i<this.CLK_KEY.length; i++) {
            this.LOGGER[this.CLK_KEY[i]] = this.CLK_VAL[i];
        }
    },
    log : function(key){
        if (trkLog.LOGGER == null) {
            trkLog.init();
        }
        //로거호출
        _trk_flashEnvView("_TRK_CP="+ trkLog.LOGGER[key]);

		//집계관련-더미페이지호출
		DUMMYLog.log( key.split("_")[0] );
	}
};

/**
 * DUMMY.log
 * 더미페이지 호출
 * ex) DUMMYLog.log("S")
 */
 var DUMMYLog = {
	/*
		A - 301, 응원하기
		F - 302, Follow
		L - 303, 좋아요
		S - 304, 공유하기
		M1 - 마이피드 및 댓글 글쓰기 : 201
		M2- 더보기 (전체글/내담벼락) : 202
		M3 - Following/Follower 페이징 : 203
		M4 - 최근감상/최근 감상영상/마이차트 페이징 : 204
	*/
	//더미 key
	DUMMY_KEY : ["A", "F", "L", "S"
				,"M1", "M2", "M3", "M4"],
	//더미 val
	DUMMY_VAL : ["301", "302", "303", "304"
				,"201", "202", "203", "204"],

	DUMMY : null,
	init : function(){
		this.DUMMY = new Object();
		for (i=0; i<this.DUMMY_KEY.length; i++) {
			this.DUMMY[this.DUMMY_KEY[i]] = this.DUMMY_VAL[i];
		}
	},
	log : function(key){
		if (DUMMYLog.DUMMY == null) {
			DUMMYLog.init();
		}
		var val = DUMMYLog.DUMMY[key];
		//집계관련-더미페이지호출
		if (typeof(val) == 'string') {
			//$.Ajaxload("/common/ad/pageviewdummy.asp?"+ val);
			var url = "/common/ad/pageviewdummy.asp?"+ val;
			if ( typeof($('#dummy_ifame').attr('src')) == 'undefined') {
				mnetCom.setiframe(url);
			}else{
				$('#dummy_ifame').attr('src',url);
			}
		}
	}
 };
