﻿/// <reference path="../extjs_intellisense.js" />
if (typeof (Nd) == "undefined") {
    Nd = {};
}
if (typeof (Nd.Space) == "undefined") {
    Nd.Space = {};
}
if (typeof (Nd.Space.Friend) == "undefined") {
    Nd.Space.Friend = {};
}

/** 以下代码为通用方法 **/
if (typeof (Nd.Space.Friend.Common) == "undefined") {
    Nd.Space.Friend.Common = {};
}

/** 添加好友 **/
Nd.Space.Friend.Common.AddFriend = function(friendUin) {
    var url = "/m/AjaxFriend.html?action=FriendCheck";
    var param = { "friendUin": friendUin };
    $.post(url, param, AddFriendHandle);
    function AddFriendHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            if (result[0] == "1") {
                if (result[1].indexOf("你们现在是好友关系了") > -1) {
                    spaceAlert({ "msg": result[1] });
                } else {
                    var res = result[1].split("|");
                    var name = res[1];
                    var pic = res[2];
                    Nd.Space.Friend.Common.AddFriendPageShow(friendUin, name, pic);
                }
            } else {
                spaceAlert({ "msg": result[1] });
            }
        }
    }
}

/** 显示添加好友界面 **/
Nd.Space.Friend.Common.AddFriendPageShow = function(friendUin, realName, headPic) {
    var addHtml = "<div class=\"friDelPop\">"
        + "<div class=\"userPic\">"
        + "<img src=\"" + headPic + "\" onerror=\"ImgerrorFn(this,2);\" />"
        + "</div>"
        + "<div class=\"friDelInfo\" style=\"margin-right:5px;\">"
        + "<p>发送好友申请后，对方会收到提示信息，经对方确认后，你们即可成为好友。</p>"
        + "<p>请输入验证信息，例如我是…<span style=\"color:#666666;\">（选填）</span></p>"
        + "<textarea type=\"text\" id=\"AddFriendMessage\" class=\"inputNormal\" style=\"width:250px;height:50px;\"></textarea>"
        + "</div>"
        + "</div>"
        + "<div class=\"clear\"></div>";
    spaceConfirm({ "title": "添加好友", "msg": addHtml, "onYesFn": function() { Nd.Space.Friend.Common.AddFriendToData(friendUin); } });
    setTimeout(function() {
        if ($("#AddFriendMessage").length > 0) {
            $("#AddFriendMessage")[0].focus();
        }
    }, 500);
}

/** 添加好友到数据库中 **/
Nd.Space.Friend.Common.AddFriendToData = function(friendUin) {
    var memo = $("#AddFriendMessage").length > 0 ? $("#AddFriendMessage").val() : "";
    var url = "/m/AjaxFriend.html?action=FriendAdd";
    var param = { "friendUin": friendUin, "memo": memo };
    $.post(url, param, AddFriendToDataHandle);
    function AddFriendToDataHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            if (result[0] == "1") {
                spaceAlert({ "msg": result[1] });
            } else {
                spaceAlert({ "msg": result[1] });
            }
        }
    }
}

/** 验证好友 **/
Nd.Space.Friend.Common.FriendPass = function(friendUin, pass) {
    var url = "/m/AjaxFriend.html?action=FriendPass";
    var param = {};
    function FriendPassHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            if (result[0] == "1") {
                spaceAlert({ "msg": result[1] });
            } else {
                spaceAlert({ "msg": result[1] });
            }
        }
    }
}

/** 设置分组 **/
Nd.Space.Friend.Common.EditFriend = function() {
    Nd.Space.Friend.Page.List.EditFriend();
}

/** 以下代码为页面专用 **/
if (typeof (Nd.Space.Friend.Page) == "undefined") {
    Nd.Space.Friend.Page = {};
}

/** 后台我的好友页专用 **/
if (typeof (Nd.Space.Friend.Page.List) == "undefined") {
    Nd.Space.Friend.Page.List = {};
}

Nd.Space.Friend.Page.List.LoadFriendList = true;

/** 后台我的好友页面页面加载 **/
Nd.Space.Friend.Page.List.PageLoad = function() {
    var open = $("#ModuleOpen").val();
    if (open == "1") {
        Nd.Space.Friend.Page.List.GetFriendGroup();
        Nd.Space.Friend.Page.List.GetFriendList(1);
    }
}
/** 后台我的好友页面加载好友分组信息 **/
Nd.Space.Friend.Page.List.GetFriendGroup = function() {
    if (!Nd.Space.Friend.Page.List.LoadFriendList) {
        return;
    }
    var url = "/m/AjaxFriend.html?action=GetGroupList";
    var param = {};
    $.post(url, param, GetFriendGroupHandle);
    function GetFriendGroupHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            if (result[0] == "1") {
                $("#FriendGroupList").html(result[1]);
                Nd.Space.Friend.Page.List.stopEventFn();
                var groupId = $("#GroupId").val();
                if (groupId == "0") {
                    $("#moduleAllFriendGroup").addClass("select");
                } else {
                    $("#module_" + groupId).addClass("select");
                }
            } else {
                spaceAlert({ "msg": result[1] });
            }
        }
    }
}

/** 后台我的好友页面添加好友分组信息 **/
Nd.Space.Friend.Page.List.AddGroupList = function() {
    var groupName = $("#NewFriendGroupname").val();
    groupName = $.trim(groupName);
    if (groupName == "") {
        spaceAlert({ msg: '标签名称不能为空' });
        return;
    }
    if (groupName.length > 6) {
        spaceAlert({ msg: '最多6个字' });
        $("#NewFriendGroupname").focus();
        return;
    }
    var url = "/m/AjaxFriend.html?action=AddGroupList";
    var param = { "groupName": groupName };
    $.post(url, param, AddGroupListHandle);
    function AddGroupListHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            if (result[0] == "1") {
                $("#FriendGroupList").html(result[1]);
            } else {
                spaceAlert({ "msg": result[1] });
            }
        }
        Nd.Space.Friend.Page.List.stopEventFn();
    }
}
/** 后台我的好友页面编辑好友分组信息 **/
Nd.Space.Friend.Page.List.EditGroupList = function(groupId) {
    var groupName = $("#EditGroupName_" + groupId).val();
    if (groupName == "") {
        spaceAlert({ "msg": "标签名称不能为空。" });
        return;
    }
    var url = "/m/AjaxFriend.html?action=EditGroupList";
    var param = { "groupName": groupName, "groupId": groupId };
    $.post(url, param, EditGroupLisHandle);
    function EditGroupLisHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            if (result[0] == "1") {
                $("#FriendGroupList").html(result[1]);
            } else {
                spaceAlert({ "msg": result[1] });
            }
        }
        Nd.Space.Friend.Page.List.stopEventFn();
    }
}
/** 后台我的好友页面删除好友分组信息 **/
Nd.Space.Friend.Page.List.DelGroupList = function(groupId) {
    var url = "/m/AjaxFriend.html?action=DelGroupList";
    var param = { "groupId": groupId };
    var delMsg = "是否要删除该标签？<br/>提示：删除该标签，并不会删除该标签下的好友";
    spaceConfirm({ "title": "删除分组", "msg": delMsg, "onYesFn": function() { $.post(url, param, DelGroupListHandle); } });
    function DelGroupListHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            if (result[0] == "1") {
                $("#FriendGroupList").html(result[1]);
                Nd.Space.Friend.Page.List.stopEventFn();
                Nd.Space.Friend.Page.List.GetFriendlistByGroup(0);
            } else {
                spaceAlert({ "msg": result[1] });
            }
        }
    }
}
/** 后台我的好友页面保存好友分组排序 **/
Nd.Space.Friend.Page.List.SaveGroupList = function() {
    var orderInfo = "";
    var ele = Util.column[0];
    for (var j = 0; j < ele.childNodes.length; j++) {
        var ele1 = ele.childNodes[j];
        if (ele1.tagName == "DIV" && ele1.id.substr(0, 2) != "no" && ele1.style.display != "none") {
            if (ele1.id.split('_')[1]) {
                orderInfo += ele1.id.split('_')[1] + ",";
            }
        }
    }
    if (orderInfo.length > 0) {
        orderInfo = orderInfo.substring(0, orderInfo.length - 1);
    }
    var url = "/m/AjaxFriend.html?action=SaveGroupListOrder";
    var param = { "groupOrder": orderInfo };
    $.post(url, param, SaveGroupListHandle);
    function SaveGroupListHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            if (result[0] == "1") {
                $("#FriendGroupList").html(result[1]);
                var groupId = $("#GroupId").val();
                if (groupId == "0") {
                    $("#moduleAllFriendGroup").addClass("select");
                } else {
                    $("#module_" + groupId).addClass("select");
                }
            } else {
                spaceAlert({ "msg": result[1] });
            }
        }
        Nd.Space.Friend.Page.List.stopEventFn();
    }
}
/** 后台我的好友页面获取好友列表 **/
Nd.Space.Friend.Page.List.GetFriendList = function(pageNo) {
    if (!Nd.Space.Friend.Page.List.LoadFriendList) {
        return;
    }
    var groupId = $("#GroupId").val();
    var url = "/m/AjaxFriend.html?action=GetFriendList";
    var param = { "groupId": groupId, "pageNo": pageNo };
    $.post(url, param, GetFriendListHandle);
    function GetFriendListHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            if (result[0] == "1") {
                $("#FriendList").html(result[1]);
                $("#PageNo").val(pageNo);
            } else {
                spaceAlert({ "msg": result[1] });
            }
        }
        if ($("#FriendList").children().length == 0) {

            var goToHtml = "";
            goToHtml = '<div class="notExist">';
            goToHtml += '<p>没有好友？<a href="friend_search.html" target="_blank">寻找好友</a>，或者<a href="InvitationMain.html?InvitationSource=6" target="_blank">邀请好友</a>加入91空间</p>';
            goToHtml += '<p>推荐<a href="random.html?uin=' + $("#my_frienduin").val() + '" target="_blank">乱弹一下</a>，缘分就在“弹”的一瞬间！</p>';
            goToHtml += '</div>';
            $("#FriendList").append(goToHtml);
        }
    }
}
/** 显示移动的图标 **/
Nd.Space.Friend.Page.List.ShowMoveImg = function(groupId, type) {
    if (type == "hide") {
        $("#moveImg_" + groupId).hide();
        $("#EditGroupNameEdit_" + groupId).hide();
        $("#EditGroupNameDel_" + groupId).hide();
    }
    if (type == "show") {
        $("#moveImg_" + groupId).show();
        if ($("#EditGroupNameSpan_" + groupId).css("display") == "none") {
            $("#EditGroupNameEdit_" + groupId).show();
            $("#EditGroupNameDel_" + groupId).show();
        }
    }
}
/**停止向上传播**/
Nd.Space.Friend.Page.List.stopEvent = function(e) {
    if (!e) e = window.event;
    if (e.stopPropagation) {
        e.stopPropagation();
    } else {
        e.cancelBubble = true;
    }
}
Nd.Space.Friend.Page.List.stopEventFn = function() {
    $("a[@id^=EditGroupNameEdit_]").each(function() {
        $(this).bind("click", Nd.Space.Friend.Page.List.stopEvent);
    });
    $("a[@id^=EditGroupNameDel_]").each(function() {
        $(this).bind("click", Nd.Space.Friend.Page.List.stopEvent);
    });

}
Nd.Space.Friend.Page.List.GetFriendlistByGroup = function(groupId) {
    $("a[@id^=EditGroupNameEdit_]").each(function() {
        this.style.display = "none";
    });
    $("a[@id^=EditGroupNameDel_]").each(function() {
        this.style.display = "none";
    });
    $("a[@id^=moveImg_]").each(function() {
        this.style.display = "none";
    });
    $("div[@id^=module_]").each(function() {
        $("#" + this.id).removeClass("select");
    });
    if (groupId == "0") {
        $("#AddFriendToGroup").hide();
    } else {
        $("#AddFriendToGroup").show();
        $("#EditGroupNameEdit_" + groupId).show();
        $("#EditGroupNameDel_" + groupId).show();
        $("#moveImg_" + groupId).show();
    }
    $("#GroupId").val(groupId);
    var groupId = $("#GroupId").val();
    if (groupId == "0") {
        $("#moduleAllFriendGroup").addClass("select");
    } else {
        $("#module_" + groupId).addClass("select");
    }
    var pageNo = $("#PageNo").val();
    Nd.Space.Friend.Page.List.GetFriendList(pageNo);

}

/** 后台我的好友页面删除好友 **/
Nd.Space.Friend.Page.List.DelFriend = function(friendId, friendName, friendHeadPic) {
    var user = "<a href=\"/" + friendId + "\" target=\"_blank\" style=\"word-break: keep-all; white-space: nowrap;\">" + friendName + "</a>";
    var delMsg = "<div class=\"friDelPop\">"
        + "<div class=\"userPic\">"
        + "<img src=\"" + friendHeadPic + "\" />"
        + "</div>"
        + "<div class=\"friDelInfo\">"
        + "<p>断开您和" + user + "之间的好友关系，您也将不再出现在对方的好友列表中，但系统不会发消息通知对方。</p>"
        + "<p>如果只是不想在您的好友新鲜事中显示有关" + user + "的动态，建议你使用“隐私设置”中的“<a href='PrivacySet.html' target='_blank'>主人动态和好友新鲜事</a>”功能来屏蔽某个好友的新鲜事显示。</p>"
        + "</div>"
        + "<div class=\"clear\"></div>"
        + "</div>";
    var pageNo = $("#pageNo").val();
    var groupId = $("#GroupId").val();
    var url = "/m/AjaxFriend.html?action=DelFriendForFriendList";
    var param = { "groupId": groupId, "friendUin": friendId, "pageNo": pageNo };
    spaceConfirm({ "title": "删除好友", "msg": delMsg, "onYesFn": function() { $.post(url, param, DelFriendHandle); } });
    function DelFriendHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            if (result[0] == "1") {
                $("#FriendList").html(result[1]);
                $("#PageNo").val(pageNo);
                //除去当前被删除的好                
                var friend_Length = fundArr.length;
                for (var i = 0; i < fundArr.length; i++) {
                    if (fundArr[i][0] == friendId) {
                        fundArr.splice(i, 1);
                    }
                }
                Nd.Space.Friend.Page.List.GetFriendGroup();
                initInputBox(5);
            } else {
                spaceAlert({ "msg": result[1] });
            }
        }
    }
}
/** 备注的回车事件 **/
Nd.Space.Friend.Page.EnterEditSave = function(friendId, friendUin) {
    var keyEvent = window.event;
    var kc = keyEvent.which || keyEvent.keyCode;
    if (kc == 13) {
        Nd.Space.Friend.Page.List.FriendEditSave(friendId, friendUin);
    }
}
/** 后台我的好友页面编辑好友属性 **/
Nd.Space.Friend.Page.List.EditFriend = function(friendId, friendUin) {
    var url = "/m/AjaxFriend.html?action=GetFriendForEdit";
    var param = { "friendId": friendId, "friendUin": friendUin };
    $.post(url, param, EditFriendHandle);
    function EditFriendHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            spaceWindow({ "title": "好友属性", "divContent": result[1], "type": "div" });
            window.setTimeout(function() {
                if ($("#FriendEditMemo").length > 0) {
                    $("#FriendEditMemo")[0].focus();
                }
            }, 500);
        }
    }
}

/** 后台我的好友页面编辑好友属性添加分组 **/
Nd.Space.Friend.Page.List.FriendEditAddGroup = function(friendUin) {
    var groupName = $("#FriendEditNewGroupName").val();
    groupName = $.trim(groupName);
    if (groupName == "") {
        spaceAlert({ msg: '分组名称不能为空' });
        return;
    }
    if (groupName.length > 6) {
        spaceAlert({ msg: '最多6个字' });
        $("#FriendEditNewGroupName").focus();
        return;
    }
    var param = { "groupName": groupName, "friendUin": friendUin }
    var url = "/m/AjaxFriend.html?action=FriendEditAddGroup";
    $.post(url, param, FriendEditAddGroupHandle);
    function FriendEditAddGroupHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            $("#FriendEditGroupNameList").html(result[1]);
            $("#FriendEditNewGroupName").val("");
            $("#FriendEditNewGroupName")[0].focus();
        }
    }
}

/** 后台我的好友页面编辑好友属性删除分组 **/
Nd.Space.Friend.Page.List.FriendEditDelGroup = function(groupId, friendId) {
    var param = { "groupId": groupId, "friendUin": friendId };
    var url = "/m/AjaxFriend.html?action=FriendEditDelGroup";
    var delMsg = "确定删除好友分组？";
    spaceConfirm({ "title": "删除好友分组", "msg": delMsg, "onYesFn": function() { $.post(url, param, FriendEditDelGroupHandle); } });
    function FriendEditDelGroupHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            $("#FriendEditGroupNameList").html(result[1]);
            $("#GroupId").val("0");
            Nd.Space.Friend.Page.List.GetFriendList(1);
        }
    }
}

/** 后台我的好友页面编辑好友属性时备注获取焦点 **/
Nd.Space.Friend.Page.List.FriendEditMemoOnFocus = function() {
    var memo = $("#FriendEditMemo").val();
    if (memo == "请输入你对该好友的备注") {
        $("#FriendEditMemo").val("").css("color", "#000000");
    }
}

/** 后台我的好友页面编辑好友属性时备注失去焦点 **/
Nd.Space.Friend.Page.List.FriendEditMemoOnBlur = function() {
    var memo = $("#FriendEditMemo").val();
    if (memo == "") {
        $("#FriendEditMemo").val("请输入你对该好友的备注").css("color", "#888");
    }
}

/** 后台我的好友页面编辑好友属性时新建标签 **/
Nd.Space.Friend.Page.List.FriendEditShowAddNewGroup = function() {
    $("#FriendEditNewGroupAddDic").show();
    $("#FriendEditNewGroupName")[0].focus();
    $("#FriendEditNewGroupName")[0].select();
}

/** 后台我的好友页面编辑好友属性保存操作 **/
Nd.Space.Friend.Page.List.FriendEditSave = function(friendId, friendUin) {
    if ($("#FriendEditSave").length > 0) {
        $("#FriendEditSave").attr("disabled", "disabled");
    }
    var groupIds = "";
    $("input[@name=FriendEditGroups][@checked]").each(function() {
        var id = this.id;
        id = id.substring(id.indexOf("_") + 1, id.length);
        groupIds += id + "|";
    });
    if (groupIds.length > 0) {
        groupIds = groupIds.substring(0, groupIds.length - 1);
    }
    var memo = $("#FriendEditMemo").val();
    if (memo == "请输入你对该好友的备注") {
        memo = "";
    }
    var param = { "groupIds": groupIds, "memo": memo, "friendId": friendId, "friendUin": friendUin };
    var url = "/m/AjaxFriend.html?action=FriendEditSave";
    $.post(url, param, FriendEditSaveHandle);
    function FriendEditSaveHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            if (result[0] == "1") {
                $("#FriendEditTips").show();
                setTimeout(function() { closeSpaceWindow(); }, 1000);
                Nd.Space.Friend.Page.List.GetFriendGroup();
                Nd.Space.Friend.Page.List.GetFriendList($("#PageNo").val());
            } else {
                spaceAlert({ "msg": result[1] });
            }
        }
    }
}

/** 后台我的好友页面显示新增标签 **/
Nd.Space.Friend.Page.List.ShowAddGroup = function() {
    $('#NewFriendGroupDiv').show();
    if ($("#NewFriendGroupname").length > 0) {
        $("#NewFriendGroupname")[0].focus();
        $("#NewFriendGroupname")[0].select();
    }
}

/** 后台我的好友页面添加好友到标签中 **/
Nd.Space.Friend.Page.List.AddFriendToGroup = function() {
    var pageNo = $("#pageNo").val();
    var groupId = $("#GroupId").val();
    var userIds = getIdsValue();
    var url = "/m/AjaxFriend.html?action=AddFriendToGroup";
    var param = { "groupId": groupId, "userIds": userIds };
    $.post(url, param, AddFriendToGroupHandle);
    function AddFriendToGroupHandle(msg) {
        var idx = msg.indexOf("{$}");
        if (idx > -1 && idx < 15) {
            var result = msg.split("{$}");
            if (result[0] == "1") {
                Nd.Space.Friend.Page.List.GetFriendGroup();
                Nd.Space.Friend.Page.List.GetFriendList(pageNo);
                clearNameInput();
            } else {
                spaceAlert({ "msg": result[1] });
            }
        }
    }
}

/** 后台我的好友页面显示编辑好友分组 **/
Nd.Space.Friend.Page.List.EditFriendGroupShow = function(groupId) {
    $("#OldGroupName_" + groupId + ", #EditGroupNameEdit_" + groupId + ", #EditGroupNameDel_" + groupId + ", #OldGroupUserNum_" + groupId).hide();
    $("#EditGroupNameSpan_" + groupId).show();
    if ($("#EditGroupName_" + groupId).length > 0) {
        $("#EditGroupName_" + groupId)[0].focus();
        $("#EditGroupName_" + groupId)[0].select();
    }
    Nd.Space.Friend.Page.List.GetFriendlistByGroup(groupId);
    $("#OldGroupName_" + groupId + ", #EditGroupNameEdit_" + groupId + ", #EditGroupNameDel_" + groupId + ", #OldGroupUserNum_" + groupId).hide();
}

/** 后台我的好友页面隐藏编辑好友分组 **/
Nd.Space.Friend.Page.List.EditFriendGroupHide = function(groupId) {
    $("#OldGroupName_" + groupId + ", #EditGroupNameEdit_" + groupId + ", #EditGroupNameDel_" + groupId + ", #OldGroupUserNum_" + groupId).show();
    $("#EditGroupNameSpan_" + groupId).hide();
}

Nd.Space.Friend.Common.NoHtml = function(obj) {
    var txt = $(obj).val();
    var reTag = /<\/?.+?>/g;
    txt = txt.replace(reTag, "");
    $(obj).val(txt);
}