Namespace.register("U.MD.F.N"); //好友消息命名空间

U.MD.F.N.news = []; //用户所有的消息数组

/**
* 好友消息服务
*
* @param  {string} 用户id
*/
U.MD.F.N.messageService = function (userid) {
    if (US.friend.allclass && userid && userid.length == 36) {
        //获取好友未读消息
        U.A.Request(US.USER, ["GetAllUnreadMessage", userid], U.MD.F.N.asynMessageService);
    }
}

/**
* 这个是消息的异步处理
*
* @param  {object} 后台返回数据的ajax对象
* 0 好友未读消息 1 用户在服务器的状态
*/
U.MD.F.N.asynMessageService = function (r) {
    r = r.value;
    if (r) { //如果后台有返回数据的处理
        var i,
            _userinfo = US.userInfo, //登录用户的信息
            _statenew = r[1];
        //如果状态服务器里返回的数据在前端最终生成是字符串,那么就是用户的登录状态的变化
        if (typeof _statenew == "string") {
            U.MD.F.N.inlineNotice(_statenew);
        }
        //否则就是用户获取到自己的好友和其他的信息
        else {
            U.MD.F.N.friendOnlineAndOffline(_statenew); //用户上下线设置
            U.MD.F.N.messageHandle(r); //聊天消息的处理
        }
    }
}

/**
* 好友的上下线处理
*
* @param  {object} 后台返回数据的ajax对象
* 0 好友未读消息 1 用户在服务器的状态
*/
U.MD.F.N.friendOnlineAndOffline = function (statenew) {
    var i,
        j,
        k,
        _num,
        _el,
        _idarr,
        _friendform = $("#U_MD_F_H_ZLZ")[0], //好友窗体
        _userid = US.userInfo.userid, //登录用户id
        _friendinfo = US.friend; //好友信息数组
    //循环上下线通知 0是下线的用户,1是上线的用户
    for (i = 0; i < statenew.length; i++) {
        //如果有上线或者下线的用户
        if (statenew[i].length) {
            //获取所有上下线的数组
            _idarr = statenew[i].join(",");
            //循环好友的数组 0 好友分组 1 所有的好友 2 好友群 3 群好友 4 在线用户 中的 1 、 3 、4
            for (j = 0; j < 3; j++) {
                _num = j = 0 ? 1 : j + 2; //1、3、4的规律算法
                for (k = 0; k < _friendinfo[_num].length; k++) {
                    //如果用户在上下线操作里面
                    if (_idarr.indexOf(_friendinfo[_num][k].UserId) > -1) {
                        _friendinfo[_num][k].IsLogin = i; //设置是否登录的处理
                    }
                }
                U.Json.sort(US.friend[_num], "IsLogin", 1); //上下线后重新排序
            }
            //把上线的用户置顶,下线的用户放在下面
            for (j = 0; j < statenew[i].length; j++) {
                _el = $("@TID='" + statenew[i][j] + "'", _friendform); //找到指定的元素
                if (_el[0]) {
                    $(_el[0].Parent()).append(_el, null, i ? _el[0].Parent().firstChild : null);
                }
            }
        }
    }
}

/**
* 下线通知区域
*
* @param  {object} 后台返回数据的ajax对象
* 0 好友未读消息 1 用户在服务器的状态
*/
U.MD.F.N.inlineNotice = function (userstate) {
    //其它地方登录
    if (userstate == "upline") {
        return; //前期允许多点登录
        //其他地方登录弹出提示框
        U.UF.UI.confirm($$("div", {
            "style": {
                "textAlign": "center",
                "marginTop": "25px",
                "padding": "10px 0",
                "fontSize": "14px",
                "color": "red"
            },
            "innerHTML": "您好, 您的账号在别处有登录!"
        }));
        U.MD.U.LO.logout(); //注销账号信息
    }
    //超时重新连接
    else {
        U.A.Request(US.FRIEND, ["UserStateLogin", US.userInfo.username, US.userInfo.UserPassword], function () { });
    }
}

/**
* 消息查看
*
* @param  {object} 0 好友和群消息 1 交互消息
*/
U.MD.F.N.messageHandle = function (arr) {
    //好友消息和群消息的处理
    if (arr[0]) {
        U.MD.F.N.friendMessageHandle(arr[0]);
    }
    if (arr[1]) {
        U.MD.F.N.otherNews(arr[1]);
    }
}

//点击查看消息

/**
* 消息查看
*
* @param  {object} 0 好友和群消息 1 交互消息
*/
U.MD.F.N.friendMessageHandle = function (newsarr) {
    U.MD.F.N.MarkUnreadMessage(newsarr);
    var i, j, k,
        _isnews,
        _obj,
        _form,
        _news,
        _isgroup, //是否是群消息
        _verify, //消息类型
        _allnews = U.MD.F.N.news, //还有消息数组
        _friendel = $("#U_MD_D_MG_AFT")[0];
    //循环消息数组 0 好友消息, 1群消息
    for (j = 0; j < newsarr.length; j++) {
        _news = newsarr[j]; //得到好友或者群消息
        //判断是否存在
        if (_news) {
            //好友消息或者群消息循环处理 由于好友或者群消息有多种消息 如添加还有消息、好友聊天消息,进入群消息,群聊天消息等,
            for (i = 0; i < _news.length; i++) {
                _obj = null; //清空obj
                _isgroup = _news[i].UserId == null; //判断消息是什么消息
                _verify = _news[i].MessageIsVerify || 0; //如果没有消息的类型,暂时只有群消息的时候才会触发
                _allnews[_verify] = _allnews[_verify] || []; //设置功能
                switch (_verify) {
                    //好友或者群聊天消息                                                                                                    
                    case 0: case 6:
                        _news[i].MessageSendTime = U.UF.D.getYearMonthDay(_news[i].MessageSendTime) || U.UF.D.getYearMonthDay(_news[i].GroupMessageSendTime); //发送消息的时间
                        _form = U.MD.F.W.isCreateForm(_news[i].UserId || _news[i].GroupManageID); //判断好友消息窗口是否打开
                        //如果窗体存在的处理
                        if (_form && _form[1]) {
                            //文件消息分享处理
                            if (_verify == 6) {
                                U.MD.F.W.printFriendChatMessage($('.U_MD_F_CA')[0], newsarr[0]); //打印好友分享文件消息
                            } else {
                                //获取消息打印
                                U.MD.F.H.getFriendOrGroupNews(_news[i].UserId || _news[i].GroupManageID,
                                    function (r) {
                                        //打印消息
                                        console.log(r);
                                        U.MD.F.N.asynReceiveMessages(_isgroup, _form[1], r.value);
                                    }, _isgroup);
                            }
                            continue;
                        }
                        U.MD.F.H.recentContacts(_news[i]); //生成最近联系人
                        break;
                    //1、对方添加我为好友的请求, 2、对方请求加入群, 3、用户给拉入群处理 这里不做处理下面统一处理, 4、请求对方进入群处理, 5、确认对方进入群处理                                                                                                    
                    case 1: case 2: case 3: case 4: case 5:
                        //_allnews[_verify].push(_news[i]);
                        break;
                }
                //判断消息是否存在过
                for (k = 0; k < _allnews[_verify].length; k++) {
                    //判断两个用户之间或者用户和群之间是否存在消息
                    if ((_allnews[_verify][k].GroupManageID != null && _allnews[_verify][k].GroupManageID == _news[i].GroupManageID) ||
                        (_allnews[_verify][k].UserId != null && _allnews[_verify][k].UserId == _news[i].UserId)) {
                        _obj = _allnews[_verify][k];
                        break;
                    }
                }
                //如果是聊天消息,存在的情况下,那么就直接添加消息总数
                if (_verify == 0 && _obj) {
                    //由于群的信息获取的时候都是有总数,所以不需要用叠加的方法
                    if (_news[i].GroupManageID) {
                        _obj.count = _news[i].count;
                    }
                    //消息的数量叠加
                    else {
                        _obj.count += _news[i].count;
                    }
                }
                //添加好友消息等直接添加  if (!_obj || _verify != 2)
                else {
                    _allnews[_verify].push(_news[i]);
                }
                _isnews = true; //设置有消息提醒
            }
        }
    }

    //如果有消息的处理
    if (_isnews) {
        _friendel.innerText = "";
        if (!$("#U_MD_F_N_Message")[0]) {
            //弹出消息的处理
            new U.UF.UI.form("系统消息", _friendel,
                {
                    "id": "U_MD_F_N_Message",
                    "style": { "width": "300px", "height": "209px", "right": "50px", "bottom": "5px", "background": "#ffffff", "padding": "0", "border": "0", "maxWidth": "300px" }
                },
                {
                    "istop": true,
                    "isdrag": false,
                    "isstretching": false,
                    "isenlarge": false,
                    "isnarrow": false,
                    "closecallback": function () {
                        U.MD.F.N.clearAllNews();
                    }
                });
        }
        else {
            $("#U_MD_F_N_Message")[0].style.display = "block";
        }
        //上面处理好信息后,重新的打印显示消息
        for (i = 0; i <= 6; i++) { //消息处理
            if (_allnews[i] && _allnews[i].length) { //消息存在的处理
                U.MD.F.N.displayFriendMessage(_allnews[i], i); //弹出消息框
            }
        }
    }
}

/**
* 消息提示打印处理
*
* @param  {array} 需要打印的消息数组
*/
U.MD.F.N.displayFriendMessage = function (news, verify) {
    var i,
        _username,
        _descript,
        _newel,
        _newael,
        _cb,
        _frag = $$("frag");

    //循环消息的处理
    for (i = 0; i < news.length; i++) {
        //创建消息元素
        _newel = $$("div", { "className": "U_MD_D_MG_OO", "title": "消息" }, _frag);
        _username = news[i].FriendsDescript || news[i].GroupManageName || news[i].UserNickName;
        //消息类型的处理,设置消息的内容显示
        switch (verify) {
            //聊天消息处理                                                                                                                                          
            case 0:
                _descript = "您有" + news[i].count + "消息未读";
                //添加好友点击的回调
                _cb = U.UF.P.apply(function (news, newsinfo, el) {
                    U.MD.F.N.chatMessage(newsinfo, news, el); //聊天消息设置
                }, [news, news[i], _newel]);
                break;
            //添加好友消息的处理                                                                                                                                                                                  
            case 1:
                _username = news[i].MessageDescript + "添加您为好友"; //消息名字
                _descript = "添加您为好友"; //消息描述
                //添加好友点击的回调
                _cb = U.UF.P.apply(function (news, newsinfo, el) {
                    U.MD.F.N.addFriendNewsHandle(newsinfo, news, el);
                }, [news, news[i], _newel]);
                break;
            //请求加入群消息处理                                                                                                                                                                                  
            case 2:
                _username = news[i].MessageDescript + "请求加入该群"; //消息名字
                _descript = "请求加入该群"; //消息描述
                //添加好友点击的回调
                _cb = U.UF.P.apply(function (news, newsinfo, el) {
                    U.MD.F.N.entryGroup(newsinfo, news, el);
                }, [news, news[i], _newel]);
                break;
            //邀请加入群处理                                                                                                                                        
            case 3:
                _username = news[i].UserNickName + "邀请您加入讨论组"; //消息名字
                _descript = "邀请您加入讨论组"; //消息描述
                //添加好友点击的回调
                _cb = U.UF.P.apply(function (news, newsinfo, el) {
                    U.MD.F.N.pulledIntoGroups(newsinfo, news, el);
                }, [news, news[i], _newel])
                break;
            //对方同意添加好友                                                                                                   
            case 4:
                _username = news[i].UserNickName + "同意添加你为好友"; //消息名字
                _descript = "同意添加你为好友"; //消息描述
                //添加好友点击的回调
                _cb = U.UF.P.apply(function (news, newsinfo, el) {
                    U.MD.F.N.confirmAddFriend(newsinfo, news, el);
                }, [news, news[i], _newel]);
                break;
            //对方确认我加入群的处理                                                                                                                                   
            case 5:
                _username = news[i].UserNickName + "同意您加入讨论组"; //消息名字
                _descript = "加入讨论组"; //消息描述
                //添加好友点击的回调
                _cb = U.UF.P.apply(function (news, newsinfo, el) {
                    U.MD.F.N.pulledIntoGroups(newsinfo, news, el);
                }, [news, news[i], _newel]);
                break;
            case 6:
                _descript = "你的文件到了!!!"; //发送文件描述
                _cb = U.UF.P.apply(function (news, newsinfo, el) {
                    U.MD.F.N.chatMessage(newsinfo, news, el); //聊天消息设置
                }, [news, news[i], _newel]);
                break;
        }
        //点击处理
        _newel.onclick = _cb;
        _newael = $$("div", { "className": "U_MD_D_MG_OOI" }, _newel);
        $$("img", {
            "onerror": U.MD.C.imgError,
            "onerror": U.MD.C.imgError, "alt": news[i].FriendsDescript || news[i].UserNickName || news[i].GroupManageName,
            "src": U.MD.C.getHeadImage(news[i].UserThumbnailImageHead || "/img/chatgroup.png")
        }, _newael);
        $$("div", { "className": "U_MD_D_MG_OON U_MD_D_Text_Abbreviation", "innerHTML": _username }, _newel);
        $$("div", { "className": "U_MD_D_MG_OONT U_MD_D_Text_Abbreviation", "innerHTML": _descript }, _newel);
        $$("div", {
            "className": "U_MD_D_MG_OOC", "style": { "cssText": "float:right" }, "innerHTML": "查看"
        }, _newel); //查看消息
    }
    $("#U_MD_D_MG_AFT")[0].appendChild(_frag);
}


/**
* 提供好友和群统一接口实现信息回调
*
*
* @param  {object} 当前的消息
* @param  {array} 所有的消息
* @param  {element} 消息元素
*/
U.MD.F.N.chatMessage = function (newsinfo, news, el) {
    var _chatinfo;
    //如果是群聊天的处理
    if (newsinfo.GroupManageID) {
        _chatinfo = U.Json.select(US.friend.group, { "GroupManageID": newsinfo.GroupManageID })[0];
    }
    //如果是好友聊天的处理
    else {
        _chatinfo = U.Json.select(US.friend.friends, { "UserId": newsinfo.UserId })[0]
    }
    U.MD.F.W.viewFriend(_chatinfo); //查看消息
    U.MD.F.N.clearNews(newsinfo, news, el); //清除
}

/**
* 提供好友和群统一接口实现信息回调
*
* @param  {bool} 接收的消息类型
*                true 群消息
*                false 好友消息
* @param  {string} 好友或者群消息
* @param  {object} 获取查看的好友消息
*/
U.MD.F.N.asynReceiveMessages = function (isgroup, chatform, r) {
    //如果是群消息查看
    if (isgroup) {
        U.MD.F.W.printGroupChatMessage($("div.U_MD_F_C", chatform)[0], r); //打印群消息
    }
    //好友消息的查看
    else {
        U.MD.F.W.printFriendChatMessage($("div.U_MD_F_C", chatform)[0], r); //打印好友消息
    }
}

/**
* 添加好友的处理
*
* @param  {object} 当前的消息
* @param  {array} 所有的消息
* @param  {element} 消息元素
*/
U.MD.F.N.addFriendNewsHandle = function (newsinfo, news, el) {
    var _friendinfo = U.Json.select(US.friend.friends, { "UserId": newsinfo.UserId }, null, 1)[0]; //判断用户是否在好友分组里
    //好友不存在自己的列表
    if (!_friendinfo) {
        U.MD.F.M.addFriend(newsinfo, null, "0"); //添加他人进入群
    }
    //用户已经是自己的好友,那么直接弹出聊天
    else {
        U.MD.F.W.popupFriendsForm(_friendinfo);
    }
    U.MD.F.N.clearNews(newsinfo, news, el); //清除
}

/**
* 添加好友的处理
*
* @param  {object} 当前的消息
* @param  {array} 所有的消息
* @param  {element} 消息元素
*/
U.MD.F.N.entryGroup = function (newsinfo, news, el) {
    var _groupuserid = Guid.newGuid(), //群用户id
        _friendinfo = U.Json.select(US.friend.groupusers, { "GroupManageID": news.MessageContent, "UserId": news.UserId }, null, 1)[0]; //查找群
    //如果群已经加载处理的处理
    if (_friendinfo) {
        U.alert("添加成功");
    }
    //添加用户进入群主
    else {
        U.A.Request(US.FRIEND, ["AddUsrsToGroup", US.userInfo.userid, news.MessageID, news.UserId, news.MessageContent.toUpperCase(), _groupuserid, news.MessageDescript], U.MD.F.N.asynEntryGroup, ["", news, _groupuserid]);
    }
    U.MD.F.N.clearNews(newsinfo, news, el); //清除
}

/**
* 添加群进入
*
* @param  {object} 服务器返回的信息
*/
U.MD.F.N.asynEntryGroup = function (r) {
    var _groupuserinfo,
        _context = r.context,
        _news = _context[1],
        _groupuserid = _context[2];
    //实例化用户
    _groupuserinfo = U.MD.F.T.groupUserEntity(_news.UserId, _news.UserImageHead, _news.UserNickName, _news.UserNickName, _news.UserThumbnailImageHead, _news.MessageContent.toUpperCase(), _news.MessageID, 1)
    //添加用户进入群
    US.friend.groupusers.push(_groupuserinfo);
}

/**
* 被用户进入群处理
*
* @param  {object} 消息信息
*/
U.MD.F.N.pulledIntoGroups = function (newsinfo, news, el) {
    var _groupinfo = U.Json.select(US.friend.group, { "GroupManageID": newsinfo.MessageContent.toLowerCase() })[0];
    //判断群是否已经加载过,如果加载过那么就不重新加载
    if (!_groupinfo) {
        U.A.Request(US.FRIEND, ["GetJoinGroupNews", US.userInfo.userid, newsinfo.MessageID, newsinfo.MessageContent], U.MD.F.N.asynPulledIntoGroups, ["", newsinfo]); //拉用户进入群组
    }
    else {
        U.MD.F.W.viewFriend(_groupinfo); //查看消息
        //如果是群的文件消息的处理
        if (newsinfo.MessageContent.length == 36) {

        }
    }
    U.MD.F.N.clearNews(newsinfo, news, el); //清除用户消息
}

/**
* 拉用户进入群组异步
*
* @param  {object} 小新信息
*/
U.MD.F.N.asynPulledIntoGroups = function (r) {
    //服务器返回成功
    if (r.value) {
        var _groupfriend,
            _groupfriends,
            _groupdiskarr,
            _context = r.context,
            _newinfo = _context[1],
            _userid = US.userInfo.userid, //用户id
            _diskinfo = US.disk.Disks[_userid], //用户群信息
            _groupinfo = new U.MD.F.T.groupEntity(_newinfo.MessageContent.toLocaleLowerCase(), _newinfo.MessageDescript, U.UF.D.toTimeStamp(new Date()), _newinfo.UserId, "", null) //群信息
            ;
        r = r.value; //服务器响应后返回的值
        _groupfriends = r[0];
        US.friend.group.unshift(_groupinfo); //插入新群
        //添加群友
        for (i = 0; i < _groupfriends.length; i++) {
            //判断用户是否在群里,不重复添加
            if (!U.Json.select(US.friend.groupusers, { "GroupManageID": _groupfriends[i].GroupManageID, "UserId": _groupfriends[i].UserId })[0]) {
                //初始化生成群用户
                _groupfriend = new U.MD.F.T.groupUserEntity(_groupfriends[i].UserId, U.MD.C.getHeadImage(_groupfriends[i].UserImageHead), _groupfriends[i].UserNickName || _groupfriends[i].UserName, _groupfriends[i].UserName, U.MD.C.getHeadImage(_groupfriends[i].UserThumbnailImageHead), _groupfriends[i].GroupUsersDescript || _groupfriends[i].UserNickName, _groupfriends[i].GroupManageID, 1);
                //添加群用户到群里
                US.friend.groupusers.push(_groupfriend);
            }
        }
        _groupdiskarr = [new U.MD.DK.M.entity(_groupinfo.GroupManageID, 0, US.EMPTYGUID, _groupinfo.GroupManageName,
            _groupinfo.GroupManageName, "folder", null, U.UF.D.toTimeStamp(new Date()), U.MD.DK.C.getIcon("folder")[1],
            1, null, null, 0, "", _groupinfo.GroupManageID)];
        _diskinfo && U.MD.DK.RE.addFileOrFolder(_groupdiskarr, _diskinfo, _diskinfo.directoryOrFiles[2]) //添加文件或者文件夹
        //        _diskinfo && U.MD.DK.RE.addFileOrFolder(r[1], _diskinfo, _groupinfo) //群里的文件或者文件夹
        //直接显示到群里
        U.MD.F.W.viewFriend(_groupinfo); //查看消息  
        //返回添加的群
        return US.friend.group[0];

    }
}

/**
* 确认添加对方为好友
*
* @param  {object} 确定添加对方为好友
*/
U.MD.F.N.confirmAddFriend = function (newsinfo, news, el) {
    var _friendid = Guid.newGuid(), //好友id 
        _friendinfo = U.Json.select(US.friend.friends, { "UserId": news.UserId })[0] //用户是否已经在好友列表
        ;
    //如果好友没有添加处理
    if (!_friendinfo) {
        U.A.Request(US.FRIEND, ["AddFriend", US.userInfo.userid, news.UserId, _friendid, news.MessageContent, news.MessageDescript], U.MD.F.N.asynAddFriend, [null, news, news.MessageContent, _friendid]); //添加好友到默认分组
    }
    //如果用户在好友列表,那么直接弹出
    else {
        U.MD.F.W.popupFriendsForm(_friendinfo);
    }
    U.MD.F.N.clearNews(newsinfo, news, el); //清除消息
}

/**
* 异步处理确定添加好友
*
* @param  {object} 确定添加对方为好友
*/
U.MD.F.N.asynAddFriend = function (r) {
    var _context = r.context,
        _new = _context[1],
        _groupid = _context[2],
        _friendid = _context[3];
    r = r.value;
    U.MD.F.M.displayAddFriend(r[0][0], _friendid, _groupid, r); //确定添加好友到好友分组里
}

/**
* 清除所有的消息
*
* @param  {array} 所有的消息
*/
U.MD.F.N.clearAllNews = function () {
    var i, j,
        _allids = "",
        _allnews = U.MD.F.N.news
        ;
    //循环获取消息的id
    for (i = 0; i < _allnews.length; i++) {
        if (_allnews[i]) {
            for (j = 0; j < _allnews[i].length; j++) {
                _allids += (_allnews[i][j].GroupManageID || _allnews[i][j].MessageID) + ",";
            }
            _allnews[i].splice(0);
        }
    }
    _allids = _allids.substring(0, _allids.length - 1); //去除最后一位的,
    //数据库删除消息处理
    U.A.Request(US.CD, [US.DB, "UseStudio_Friends", "DeleteMessageById", _allids, US.userInfo.userid], function () { }, []);
    $("#U_MD_D_MG_AFT")[0].innerText = "";
}

/**
* 清除所有的的添加好友信息
*
* @param  {array} 所有的消息
* @param  {object} 当前的消息
* @param  {element} 消息元素
* @param  {number} 消息类型
*/
U.MD.F.N.clearNews = function (newsinfo, news, el) {
    var _messageid = newsinfo.MessageID,
        _parentel = $(el).Parent(); //元素的上级元素
    //移除单挑消息
    U.Json.del(news, { "MessageID": newsinfo.MessageID });
    //移除元素
    if (_parentel) { $(el).remove(); }
    //如果消息已经全部点击完毕的处理
    if ($("#U_MD_D_MG_AFT").Child().length == 0) {
        $("#U_MD_F_N_Message")[0].close(); //关闭的处理
    }
    //数据库删除消息处理
    U.A.Request(US.CD, [US.DB, "UseStudio_Friends", "DeleteMessageById", _messageid, US.userInfo.userid], function () { }, []);
}

/**
* 学习系统消息处理
*
* @param  {array} 除了好友聊天消息,其他消息的处理 
*/
U.MD.F.N.otherNews = function (news) {

}
/*
标记未读信息
@param {array} newsarr消息信息数组
*/
U.MD.F.N.MarkUnreadMessage = function (newsarr) {
    if (newsarr[0].length == 0 && newsarr[1].length == 0) return; //如果两个数组都为空就退出
    console.log(newsarr);
    var _arr;    //申明群变量 和 完成数组
    if (newsarr[0].length == 0 || newsarr[1].length == 0) { //如果两个数组有一个为空
        if (newsarr[0].length == 0) {   //拷贝不为空的数组
            _arr = newsarr[1].deepCopy();
        } else {
            _arr = newsarr[0].deepCopy();
        }
    } else {
        /* for (var _friend = 0; _friend < newsarr[0].length; _friend++) { //遍历好友信息数组
        for (var _group = 0; _group < newsarr[1].length; _group++) {
        if (U.UF.D.sizeComparison(newsarr[1][_group], newsarr[0][_friend])) {//比较两个时间,哪个时间早,就把哪个信息添加进
        _arr.push()
        } else { 
                
        }
        }
        }*/
    }
    //处理好数组,现在进行标注
    var _right, _name;
    if ($("#U_MD_F_H_M")[0]) {  //判断右边div是否存在
        _right = $("#U_MD_F_H_M")[0];
    } else {
        _right = $$("div", { id: "U_MD_F_H_M", style: { top: "18px", left: "38px", position: "absolute" } }, $("#U_MD_F_H_R")[0]);
    }
    for (var i = 0; i < _arr.length; i++) { //循环消息数组
        for (_name in _arr[i]) {         //查看消息内容
            if (_name.indexOf("Group") == -1) {//判断是否为个人消息   
                if ($("[tid='M" + _arr[i].UserId + "']", _right)[0]) {   //判断红点是否存在 个人消息
                    $("[tid='M" + _arr[i].UserId + "']", _right)[0].innerHTML = parseInt($("[tid='M" + _arr[i].UserId + "']", _right)[0].innerHTML) + _arr[i].count;
                } else {
                    var _mark = $$("div", { className: "U_Mark", innerHTML: _arr[i].count, tid: "M" + _arr[i].UserId }); //生成红点
                    _right.appendChild(_mark.cloneNode(true)); //生成右边
                    _mark.style.margin = 0;
                    _mark.style.position = "absolute";
                    _mark.style.left = "48px";

                    $('#U_MD_F_H_ZLZ')[0].querySelectorAll("[tid='" + _arr[i].UserId + "']")[0].appendChild(_mark); //生成左边
                }
            } else { //群消息
                if ($("[tid='M" + _arr[i].GroupManageID + "']", _right)[0]) {   //判断红点是否存在 个人消息
                    $("[tid='M" + _arr[i].GroupManageID + "']", _right)[0].innerHTML = parseInt($("[tid='M" + _arr[i].GroupManageID + "']", _right)[0].innerHTML) + _arr[i].count;
                } else {
                    var _mark = $$("div", { className: "U_Mark", innerHTML: _arr[i].count, tid: "M" + _arr[i].GroupManageID }); //生成红点
                    _right.appendChild(_mark.cloneNode(true)); //生成右边
                    _mark.style.margin = 0;
                    _mark.style.position = "absolute";
                    _mark.style.left = "48px";
                }
            }
            return;
        }
    }
}
/*
消除标记信息
@param {String} Id 好友信息
*/
U.MD.F.N.CanelMarkMessage = function (Id) {
    $("[tid='M" + Id + "']").remove(0);   //删除左边标记
    $("[tid='M" + Id + "']").remove(0);   //删除右边标记
}


//#endregion