/**
 * @developer Dang Jiankai  6635
 * 好友管理
 */
var Friend = {};
/**
 * 好友命名空间中的属性和函数定义
 */
(function(_) {

    _.friendSearchTextBox = function(TextBoxId, callBackFun, onKeyUp) {
        if (onKeyUp)
            this.onKeyUp = onKeyUp;
        this.TextBoxId = TextBoxId;
        var that = this;
        this.callback = null;

        if (!callBackFun) {
            this.callback = this.defaultOnSearchEvent;
        }
        else {
            this.callback = callBackFun;
        }
        this.userSearch = new Friend.userSearch(this.callback, this);
        var keyInput = document.getElementById(TextBoxId);
        keyInput.onkeyup = function() {


            if (keyInput.value == "") {
                $("#showPanel").hide();
                return;

            }
            if (that.onKeyUp)
                that.onKeyUp();
            that.userSearch.parse(keyInput.value);

        }

        $(document).click(function(e) {

            if ($(e.target).attr("class") == "friendItem")
                return
            if ($(e.target).attr("id") == TextBoxId)
                return
            $("#showPanel").hide();


        });




    };

    _.friendSearchTextBox.prototype = {

        defaultOnSearchEvent: function onSearch(resArr, friendSearchTextBoxObj) {


            var info = document.getElementById("infolist");
            info.innerHTML = "";
            var resStr = "";
            for (var i = 0, len = resArr.length; i < len; i++) {

                resStr += "<li class=\"friendItem\" style=\"cursor:pointer;height:15px;margin:2px 2px 2px 2px;background-color:#ffffff;padding:2px;text-align:center\">" + resArr[i].n + "</li>";
            }
            if (resStr == "") {
                $("#showPanel").hide();
                return;
            }

            info.innerHTML = resStr;
            $("#showPanel").show();

            $(".friendItem").click(function() {

                $("#" + friendSearchTextBoxObj.TextBoxId).attr("value", this.innerHTML);
                $("#showPanel").hide();


            });
        }




    };


    _.userSearch = function(callBackFun, friendSearchTextBoxObj) {
        var _source_o = {};
        var _temp_o = {};
        var _k = "";
        var _ks = "";
        var _result = [];
        var onSuccess = callBackFun;

        var sortOn = function(arr, key) {
            var sortKey = function(a, b) {
                return a[key] - b[key];
            };
            return arr.sort(sortKey);
        }

        var analyse = function() {
            if (_ks.length === 0 || _k === "") {
                onSuccess([], friendSearchTextBoxObj);
                return;
            }

            if (_temp_o[_ks]) {
                onSuccess(_temp_o[_ks], friendSearchTextBoxObj);
                return;
            }

            var tempArr = [];
            var sArr = _ks.split("");

            for (var i = 0, len = _source_o[_k].length; i < len; i++) {
                var path = 0;
                var joinS = _source_o[_k][i].n + _source_o[_k][i].s;
                var deleteNum = 0;

                for (var j = 0, lenj = sArr.length; j < lenj; j++) {
                    var isWord = true;
                    if (sArr[j] >= "a" && sArr[j] <= "z") {
                        isWord = false;
                    }

                    var index;
                    isWord ? index = joinS.indexOf(sArr[j]) : index = joinS.indexOf(sArr[j]) - _source_o[_k][i].n.length + deleteNum;
                    if (index <= -1) {
                        index = -100000;
                    } else {
                        isWord ? deleteNum++ : null;
                        joinS = joinS.replace(sArr[j], "");
                    }

                    path += index + 1;
                }

                if (path <= 0) continue;
                var o = { n: _source_o[_k][i].n, s: _source_o[_k][i].s, u: _source_o[_k][i].u, paths: path };
                tempArr.push(o);
            }

            tempArr = sortOn(tempArr, "paths");
            _temp_o[_ks] = tempArr;
            onSuccess(tempArr, friendSearchTextBoxObj);

        };

        var loadData = function() {
            //_k = encodeURIComponent(escape(_k));
            var url = "http://" + location.hostname + "/suggest?key=" + encodeURIComponent(_k) + "&k=" + Math.random();
            $.getJSON(url,
							function(data) {
							    //alert(data.d[0].n);
							    _source_o[_k] = data.d;
							    analyse();
							}
						);
        };

        //=========================================================

        this.parse = function(ks) {
            //alert(ks);
            if (!ks) return;
            _ks = ks.toLowerCase();
            _k = _ks.slice(0, 1);

            if (_source_o[_k]) {
                analyse();
            } else {
                loadData();
            }
        };

        this.clear = function() {
            _source_o = {};
            _temp_o = {};
        };
    };






    //搜索框中增加灰色虚字
    _.searchText = "我要去看谁？";
    //鼠标over好友信息时，当前li高亮显示的class
    _.activeClass = "specil";
    /**
    * @method Friend.init : 初始化元素属性和事件
    * @param groupcount {Number} 好友分组个数
    * @param nowpos {Number} 当前查看好友分组索引
    * @param nowgid {Number} 当前分组id
    */
    _.init = function(groupcount, nowpos, nowgid) {
        nowpos = nowpos || 0;
        if (groupcount != 0) {
            //移动单个好友到分组
            _.joinGroup({
                nowgid: nowgid,
                groupcount: groupcount,
                locationFlag: "friend"
            });
        }
        //删除好友
        _.delFri();
        //好友分组标签显示控制（大于5个显示箭头）
        _.groupTabs({
            groupcount: groupcount,
            nowpos: nowpos
        });
    };
    /**
    * @method Friend.delFri : 删除好友
    */
    _.delFri = function() {
        $(".f_who_list>li a.del_fri").each(function() {
            $(this).click(function() {
                var uid = $(this).attr("uid");
                SII.Box({
                    title: "提示",
                    content: "确定要删除吗？",
                    control: [
                        {
                            color: "green",
                            text: "确定",
                            handle: function() {
                                SII.Ajax("/friend/del", { "fuid": uid, "act": "del" }, function(data) {
                                    if (data['flag'] == 'succ') {
                                        if ($("#li" + uid)) {
                                            $("#li" + uid).remove();
                                        }
                                        SII.Succ(true);
                                    }
                                    else {
                                        SII.Err(data['reason'], true);
                                    }
                                });
                            }
                        },
                        {
                            color: "white",
                            text: "取消"
                        }
                    ]
                });
            });
        });
    };
    /**
    * @method Friend.joinGroup :移动单个好友到分组
    * @param oConfig {Object} 配置项，其属性包括：
    * {
    *      nowgid:{Number} 移动之前所在的分组id,
    *      groupcount:{Number} 好友分组个数,
    *      locationFlag:{String} 移动好友操作location标志，取值包括{"friend":好友首页,"group":管理好友首页}
    * }
    */
    _.joinGroup = function(oConfig) {
        $(".group_ul").find("a").click(function() {
            var gid = $(this).attr("groupid");
            //当前操作的好友元素对象
            var currEl = $(this).parents(".friendItem");
            //移动好友到分组的ajax请求
            _.ajaxJoinGroup({
                gid: gid,
                fid: currEl.attr("fid"),
                currEl: currEl,
                nowgid: oConfig.nowgid
            });
        });
        //显示、隐藏好友分组列表
        $(".manageGroup").hover(function() {
            $(this).find(".group_ul").show();
        }, function() {
            $(this).find(".group_ul").hide();
        });
        //好友信息激活状态切换
        $(".friendItem").hover(function() {
            $(this).addClass(Friend.activeClass);
            $("#ca_" + $(this).attr("fid")).removeClass("hide");
        }, function() {
            $(this).removeClass(Friend.activeClass);
            $("#ca_" + $(this).attr("fid")).addClass('hide');
        });
    };
    /**
    * @method Friend.ajaxJoinGroup :移动好友到分组的ajax请求
    * @param oConfig {Object} 配置项，其属性包括：
    * {
    *      gid:{Number} 需要移动到的分组id,
    *      fid:{String} 需要移动的好友id信息,
    *      currEl:{jQuery} 当前操作的好友元素对象,
    *      nowgid:{Number} 移动之前所在的分组id
    * }
    */
    _.ajaxJoinGroup = function(oConfig) {
        SII.Ajax("/friend/group/move", { "act": "movetogroup", "gid": oConfig.gid, "fid": oConfig.fid }, function(d) {
            if (d.error == "1") {
                if (oConfig.currEl && oConfig.nowgid != '-1' && oConfig.nowgid != '') {
                    //移除当前操作的好友元素对象
                    oConfig.currEl.fadeOut("normal", function() {
                        $(this).remove();
                    });
                }
                SII.Succ(true);
            } else {
                SII.Err(d['reason']);
            }
        }, "get", true);
    };
    /**
    * @method Friend.groupTabs :好友分组标签显示控制（大于8个显示箭头）
    * @param oConfig {Object} 配置项，其属性包括：
    * {
    *      groupcount:{Number} 好友分组个数,
    *      nowpos:{Number} 当前查看好友分组索引
    * }
    */
    _.groupTabs = function(oConfig) {
        var nowpos = parseInt(oConfig.nowpos);
        //切换浏览箭头显示状态
        _.toggleTrigger({
            nowpos: nowpos,
            groupcount: oConfig.groupcount
        });
        if (oConfig.groupcount > 8) {
            $("#next").show();
            $("#prv").show();
        }
        $("#next").click(function() {
            if (nowpos + 8 > oConfig.groupcount - 1) return;
            _.toggleTabs(nowpos);
            nowpos += 1;
            //切换浏览箭头显示状态
            _.toggleTrigger({
                nowpos: nowpos,
                groupcount: oConfig.groupcount
            });
        });
        $("#prv").click(function() {
            if (nowpos == 0) return;
            nowpos -= 1;
            _.toggleTabs(nowpos);
            //切换浏览箭头显示状态
            _.toggleTrigger({
                nowpos: nowpos,
                groupcount: oConfig.groupcount
            });
        });
        $("#gbox li:lt(" + nowpos + "),#gbox li:gt(" + (nowpos + 7) + ")").hide();
        //显示好友分组标签
        $("#gbox").show();
        //初始化点击分组tab的动作
        $("#gbox a").click(function() {
            var sHref = $(this).attr("href");
            //记录当前tab位置
            location.href = sHref + (/\?/.test(sHref) ? "&" : "?") + "nowpos=" + nowpos;
            return false;
        });
    };
    /**
    * @method Friend.search :好友搜索
    */
    _.search = function() {
        $("[name=search]").submit(function() {
            //搜索好友判断
            var isSearchBtnClick;
            if (isSearchBtnClick == 1) {
                return false;
            }
            var jqKey = $("input[name='key']", this);
            var val = jqKey.val();
            //过滤搜索框中灰色虚字
            if (val == _.searchText) {
                val = "";
            }
            val = $.trim(val);
            var len = $.lengthw(val);
            if ($.isChinese(val) && len <= 8 && len >= 4) {
                //过滤空格
                jqKey.val(val);
                return true;
            } else if (len == 0) {
                SII.Err("请输入需要搜索的好友名！");
            } else {
                isSearchBtnClick = 1;
                SII.Err("输入应为2-4个中文字！", function() {
                    isSearchBtnClick = 0;
                });
            }
            return false;
        });
        $("#key").inputDefault({
            text: _.searchText
        });

        $("[name=preciseSearch]").submit(function() {





            var jqemail = $("input[name='email']", this);
            var valmail = jqemail.val();
            val = $.trim(valmail);
            var lenmail = $.lengthw(valmail);
            var res = 0;


            if (lenmail == 0) {
                res = res + 1;
            }
            else {
                var isImail = $.isEmail(val);
                if (isImail !== true) {
                    SII.Err("请核对Email地址是否规范。");
                    return false;
                
                }

            }
            var jquid = $("input[name='uid']", this);
            var valuid = jquid.val();
            val = $.trim(valuid);
            var lenuid = $.lengthw(valuid);

            if (lenuid == 0) {
                res = res + 2;
            }
			else {
				var isNumber = $.isNumber(val);
				if (isNumber !== true) {
					SII.Err("请核对你输入的id是否规范。");
           			return false;
				}

			}


            if (res == 3) {
                SII.Err("请输入好友的EMAIL或ID。");
                return false;
            }


        });





    };
    _.toggleTabs = function(nowpos) {
        $("#gbox li:eq(" + nowpos + "),#gbox li:eq(" + (nowpos + 8) + ")").toggle();
    };
    /**
    * 切换浏览箭头显示状态
    * @param options {Object} 配置参数：
    * {
    *      nowpos:{Number} 当前查看好友分组索引,
    *      groupcount:{Number} 好友分组总数
    * }
    */
    _.toggleTrigger = function(options) {
        if (options.nowpos + 8 > options.groupcount - 1) {
            $("#next").removeClass("fcHt_tanR").addClass("fcHt_tanRs");
        } else {
            $("#next").removeClass("fcHt_tanRs").addClass("fcHt_tanR");
        }
        if (!options.nowpos) {
            $("#prv").removeClass("fcHt_tanL").addClass("fcHt_tanLs");
        } else {
            $("#prv").removeClass("fcHt_tanLs").addClass("fcHt_tanL");
        }
    }
    /**
    * @method Friend.importMsn : 导入msn好友
    * @param type {Number} 导入类型，0——查找MSN联系人中在众乐网上的好友；1——邀请MSN好友加入众乐网
    */
    _.importMsn = function(type) {
        $("input[name=msnpw],input[name=msnemail]").val("");
        $("#msn_from").submit(function() {
            var sMsnpw = $.trim($("input[name='msnpw']").val());
            var sMsnemail = $.trim($("input[name='msnemail']").val());
            var validateEmail = $.isEmail(sMsnemail);
            if (validateEmail !== true) {
                SII.Err(validateEmail);
                return false;
            }
            if (!sMsnpw) {
                SII.Err("密码不能为空！");
                return false;
            }
            //导入msn好友
            SII.Ajax("/friend/" + (type ? "invite" : "looking") + "/msn", { "msnemail": sMsnemail, "msnpw": sMsnpw }, function(data) {
                if (data.result == 1) {
                    if (data.msg) {
                        SII.Err(data.msg);
                        return false;
                    }
                    $(".main_right").html(data.data);
                    return;
                }
                SII.Err(data.msg);
            }, "post", false);
            return false;
        });
    };
    /**
    * @method Friend.initCheckMsn:初始化msn邀请好友信息
    */
    _.initCheckMsn = function() {
        //初始化邀请好友checkbox事件
        _.initMsnCheckbox();
        //发送邀请
        $("#msnform").submit(_.doMsnEmail);
    };
    /**
    * @method Friend.doMsnEmail:邀请msn好友
    */
    _.doMsnEmail = function() {
        if ($("#selectfri :checked").size() == 0) {
            SII.Err("请至少选择一个现有联系人。");
            return false;
        }
        var myname = $.trim($("#msnuname").val());
        var mynamelen = $.lengthw(myname);
        //判断留言信息是否为空全角半角空格
        var sendmsg = $("#invitemsg").val();
        sendmsg = $.trim(sendmsg);
        if (sendmsg == "") {
            SII.Err("请填写邀请留言内容");
            return false;
        }
        if (!($.isChinese(myname) && mynamelen <= 8 && mynamelen >= 4)) {
            SII.Err("你的姓名输入应为2-4个汉字！");
            return false;
        }
        var idarr = $.map($("#selectfri :checkbox:checked"), function(check) {
            return $(check).val();
        });
        var idstr = "";
        $.each(idarr, function(i, n) {
            if (n != "") {
                idstr += n + ",";
            }
        });
        idstr = idstr.substr(0, (idstr.length) - 1);
        SII.Loading();
        SII.Ajax("/friend/invite/email", {
            msnids: idstr,

            msnuname: $("#msnuname").val()
        }, function(data) {
            var msg = data.msg;
            if (data.money && data.money > 0) {
                msg = msg + " 恭喜你获得<span class=\"importcw\">" + data.money + "</span>乐豆！"
                SII.showReward(data.money);

            }
            SII.Box({
                title: "提示",
                content: msg,
                reload: false,
                control: [
				{
				    color: "green", text: "继续邀请"
				},
				{
				    color: "green", text: "邀请完成", handle: function() {

				        location.href = "/friend/invite";
				    }
				}

			]
            });







            //  SII.Msg(data.msg, function() {
            //     location.href = data.go;
            // });

        }, "post");
        return false;
    };
    /**
    * @method Friend.initMsnCheckbox:初始化邀请好友checkbox事件
    */
    _.initMsnCheckbox = function() {
        $("#selall").click(function() {
            if ($(this).attr("checked")) {
                $("#msnform :checkbox").each(function() {
                    $(this).attr("checked", true);
                });
            }
            else {
                $("#msnform :checkbox:checked").each(function() {
                    $(this).attr("checked", false);
                });
            }
        });
        $("#msnform :checkbox").click(function() {
            if ($("#msnform :checkbox:not(:checked):not('#selall')").length == 0) {
                $("#selall").attr("checked", true);
            } else {
                $("#selall").attr("checked", false);
            }
        });
    };
    /**
    * @method Friend.initAddMsn:初始化查找添加好友
    */
    _.initAddMsn = function() {
        //初始化邀请好友checkbox事件
        _.initMsnCheckbox();
        //发送邀请
        $("#msnform").submit(_.doMsnFriends);
        //邀请msn好友
        $("#iBtnInvite").click(function() {
            location.href = "/friend/invite";
        });
    };
    /**
    * @method Friend.doMsnFriends:添加好友请求
    */
    _.doMsnFriends = function() {
        if ($("#selectfri :checked").size() == 0) {
            SII.Err("请至少选择一个现有联系人。");
            return false;
        }

        var idarr = $.map($("#selectfri :checkbox:checked"), function(check) {
            return $(check).val();
        });
        var idstr = "";
        $.each(idarr, function(i, n) {
            if (n != "") {
                idstr += n + ",";
            }
        });
        idstr = idstr.substr(0, (idstr.length) - 1);
        $(":input[name='friendids']").attr('value', idstr);
        SII.Ajax("/friend/looking/addmsn", { friendids: idstr }, function(data) {
            $.jqm.closeAll();
            SII.Msg(data.msg + "成功加好友1位<em class=\"importcw\">+50</em>乐豆", function() {
                // location.href = "/friend/invite";
            });
        }, "post");
        return false;
    };
    /**
    * @method inviteMsn:邀请msn好友
    * @param url {String} 请求的url
    */
    _.inviteMsn = function(url) {
        SII.Ajax(url, function(data) {
            if (data.result == 1) {
                //切换导航栏的激活状态
                $("li.ma_current").removeClass("ma_current").addClass("ma_list");
                $("li:has(a[href='/friend/invite'])").addClass("ma_current").removeClass("ma_list");
                //局部刷新
                $(".main_right").html(data.data);
                return;
            }
            SII.Err(data.msg);
        }, "post");
    };
})(Friend);
/**
 *  @object Friend.Group :管理好友
 */
Friend.Group = {};
/**
 * Friend.Group属性和函数定义
 */
(function(_) {
    /**
    * @method Friend.Group.init : 初始化元素属性和事件
    * @param nowgid {Number} 当前查看好友分组id
    * @param groupname {Number} 当前查看好友分组名称
    * @param gcount {Number} 好友分组个数
    * @param nowpos {Number} 当前查看好友分组索引
    */
    _.init = function(nowgid, groupname, gcount, nowpos) {
        nowpos = nowpos || 0;
        //添加分组
        $("#btn_group_add").click(function() {
            var handle = function() {
                var gname = $.trim($("#txt_group_add").val());
                if ($.isFriGroup(gname)) {
                    SII.Ajax("/friend/group/add", { act: "addgroup", groupname: gname }, function(d) {
                        var nErrorCode = d.error;
                        if (nErrorCode == 1) {
                            SII.Succ(true);
                            window.location.reload();
                            return;
                        }
                        SII.Err(d['reason'], function() {
                            if (nErrorCode != -1) {
                                //除好友分组达到上限以外的错误
                                $("#btn_group_add").click();
                            }
                        });
                    });
                }
                else {
                    SII.Err("分组名称只能由英文、数字和汉字组成，请你重新输入", function() {
                        $("#btn_group_add").click();
                    });
                }
            };
            SII.Box({
                title: "创建新分组",
                content:'请输入分组名称：<br /><input type="text" class="input_s" id="txt_group_add" value="" maxlength="4"/><p class="specilgr">你可以输入汉字、英文字母和数字，最多不超过4个字</p>',
                control: [
                    {
                        color: "green",
                        text: "确定",
                        handle: handle
                    },
                    {
                        color: "white",
                        text: "取消"
                    }
                ]
            });
            $("#txt_group_add").keydown(function(eventObject) {
                if (eventObject.keyCode == 13) {
                    handle();
                }
            }).select();
        });
        //编辑分组
        $("#btn_group_update").click(function() {
            var handle = function() {
                var gname = $.trim($("#txt_group_update").val());
                //alert($.isFriGroup(gname));
                if ($.isFriGroup(gname)) {
                    SII.Ajax("/friend/group/update", { act: "editgroup", groupname: gname, gid: nowgid }, function(d) {
                        if (d.error == 1) {
                            SII.Succ(true);
                        } else {
                            SII.Err(d['reason'], function() {
                                $("#btn_group_update").click();
                            });
                        }
                    });
                }
                else {
                    SII.Err("你可以输入汉字、英文字母和数字，最多不超过4个字。", function() {
                        $("#btn_group_update").click();
                    });
                }
            };
            SII.Box({
                title: "修改分组",
                content:'请输入分组名称：<br /><input type="text" class="input_s" id="txt_group_update" value="' + groupname + '" maxlength="4"/><p class="specilgr">你可以输入汉字、英文字母和数字，最多不超过4个字</p>',
                control: [
                    {
                        color: "green",
                        text: "确定",
                        handle: handle
                    },
                    {
                        color: "white",
                        text: "取消"
                    }
                ]
            });
            $("#txt_group_update").keydown(function(eventObject) {
                if (eventObject.keyCode == 13) {
                    handle();
                }
            }).select();
            return false;
        });
        //删除分组
        $(".btn_group_del").click(function() {
            //当前要删除的分组id
            var nGid = $(this).attr("gid");
            SII.Box({
                title: "删除分组",
                content: "确定要删除吗？",
                control: [
                    {
                        color: "green",
                        text: "确定",
                        handle: function() {
                            SII.Ajax("/friend/group/del", { act: "delgroup", gid: nGid }, function(d) {
                                if (d.error == 1) {
                                    SII.Succ();
                                    window.location.reload();
                                }
                                else {
                                    SII.Err(d['reason']);
                                }
                            });
                        }
                    },
                    {
                        color: "white",
                        text: "取消"
                    }
                ]
            });
            return false;
        });
        if (gcount != 0) {
            //移动单个好友到分组
            Friend.joinGroup({
                nowgid: nowgid,
                groupcount: gcount,
                locationFlag: "group"
            });
        }
        //删除好友
        Friend.delFri();
        //选择好友添加到此分组
        var fFriendsPanel = new SII.friendListMax({
            selector: "#friendListContainer",
            emptytext: "其他分组暂无好友",
            buttontext: "",
            isradio: false,
            //选择触发器
            extraTrigger: ".friendListTrigger",
            callback: function() {
                var sFriends = fFriendsPanel.val();

                if (!sFriends) {
                    SII.Err("请选择好友。");
                    return;
                }
                //移动好友到分组的ajax请求
                Friend.ajaxJoinGroup({
                    gid: nowgid,
                    fid: sFriends,
                    nowgid: nowgid
                });
            }
        });
        //好友分组标签显示控制（大于5个显示箭头）
        Friend.groupTabs({
            groupcount: gcount,
            nowpos: nowpos
        });
    };
})(Friend.Group);
/**
 *  @object Friend.Commend :推荐好友
 */
Friend.Commend = {};
/**
 * Friend.Commend属性和函数定义
 */
(function(_) {
    /**
     * @method Friend.Commend.init:推荐好友信息初始化
     * @param options {Object} 配置参数：
     * {
     *      uid:{Number} 当前登录用户id
     * }
     */
    _.init = function(options) {
        if (!$("#home_friendcommend").length) {
            //若不存在推荐好友信息,则不执行后续操作
            return;
        }
		//获取好友推荐信息
        this.getFriendCommend(function(data) {
            //为推荐好友信息绑定事件
            _.bindCommendEvent($("#home_friendcommend").html(data.html.body).fadeIn()).find(".home_friendcommend_closeall").click(function() {
                $('#home_friendcommend').fadeOut(600);
                SII.Ajax("/friend/commend/hidden?type=home");
                return false;
            });
        });
    };
    
	
	_.delfriendvisitor = function() {
		
		$("#visitorListContainer").find(".home_friendvisitor_close").click(function(){
			 
				var that=this;
			
			    SII.Ajax("/friend/del_visitor?fid="+$(this).attr("fid")+"",function(data){
					if(data.result==1)
					{	
						home.loadVisitorList(); 
					}
				});
			  
			
			  return false;
		});
	};
	
	/**
     * 删除单个推荐好友的显示
     * @param oConfig {Object} 配置参数，其结构为：
     * {
     *      uid:{Number} 需要删除的推荐好友id,
     *      type:{Number} 删除类型，标识location，1为首页，2为我可能认识, guide:guide
     *      key:{Number} 推荐好友在数组中的索引值
     * }
     */
    _.delFriendcommend = function(oConfig) {
        var nType = oConfig.type;
        var nUid = oConfig.uid;
        var nKey = oConfig.key;
        SII.Ajax("/friend/commend/del", {key:nKey,type:nType,uid:nUid}, function(data) {
            if (data.result == 1) {
                //location是否为首页
                var bHomeType = (nType == 1 || nType == 'guide');
                if (!bHomeType) {
                    return;
                }
                var nTotal = data.total;
                var nNewUid = data.uid;
                //即将被移除的推荐好友信息
                var jqCommend_friend = $("#commend_friend_" + nUid);
                if(nType == 'guide')
                    var _limit = 18;
                else
                    var _limit = 2;
                if (nTotal < _limit) {
                    //删除之前推荐好友个数已经小于2个，则移除被删除好友信息的操作有所不同
                    jqCommend_friend.fadeOut("fast").remove();
                    if (nTotal == 0) {
                        //若已没有推荐好友，则隐藏“我可能认识”模块
                        $("#home_friendcommend").hide("slow");
                    }
                    //最后一个推荐好友信息无边线
                    //                    $("#home_friendcommend li:last").addClass("noborder");
                    return;
                }
                //淡入淡出效果
                jqCommend_friend.customFadeTo("fast", 0, function() {
                    /*if (nTotal == 5) {
                        //推荐好友少于6个，隐藏“推荐更多”链接
                        $("#friendCommendMore").remove();
                    }*/
                    //重新构造新的推荐好友信息
                    if(nType == 'guide')
                        jqCommend_friend.attr("id", "commend_friend_" + nNewUid).find("a").attr("uid", nNewUid).eq(1).text(data.nickname).end().end().find("img.friendcommendLogo").attr("src", data.logo_1).end().find("[uid]").attr("uid", nNewUid).end().customFadeTo("fast", 100);
                    else
                        jqCommend_friend.attr("id", "commend_friend_" + nNewUid).find("a[href*=/user?uid=]").attr("href", "/user?uid=" + nNewUid).eq(1).text(data.nickname).end().end().find("img.friendcommendLogo").attr("src", data.logo_1).end().find("[uid]").attr("uid", nNewUid).end().customFadeTo("fast", 100);
                });
                return;
            }
            SII.Err(data.msg);
        }, "get", true);
    };
    /**
     * 添加推荐好友
     * @param oConfig {Object} 配置参数，其结构为：
     * {
     *      type:{Number} 删除类型，标识location，1为首页，2为我可能认识,
     *      context:{jQuery} 作用域
     * }
     * @return context作用域
     * @type jQuery
     */
    _.addCommend = function(oConfig) {
        //加为好友链接行为
        return oConfig.context.find("a.friendcommend_add").click(function() {
            var nUid = $(this).attr("uid");
            var nType = oConfig.type;
            //location为我可能认识，key接口约定为0
            var nKey = nType == 2 ? 0 : $(this).attr("key");
            SII.AddFri({
                fuid:nUid,
                succHandler:function() {
                    //删除单个推荐好友的显示
                    _.delFriendcommend({
                        uid:nUid,
                        type:nType,
                        key:nKey
                    });
                }
            });
            return false;
        }).end();
    };
    /**
     * 初始化我可能认识
     */
    _.initMore = function() {
        var jqCommendFriends = $(".f_who_list li:not(.fwdot)");
        jqCommendFriends.hover(function() {
            $(this).addClass(Friend.activeClass);
        }, function() {
            $(this).removeClass(Friend.activeClass);
        });
        //添加推荐好友
        _.addCommend({
            type:2,
            context:jqCommendFriends
        });
		
		//绑定删除事件
			$(".friendcommendmamage_item_close").click(function() {
				var _self=this;
				SII.Ajax("/friend/commend/del", { key: $(_self).attr("uid"), type: "more" }, function(data) {
					 if (data.result == 1) {
						$($(_self).parents("li")[0]).fadeOut(600);
						$($(_self).parents("li")[0]).attr("close","true");
						var newnumber=$("#recommend_total_number").attr("total")-1;
						$("#recommend_total_number").html(newnumber);
						$("#recommend_total_number").attr("total",newnumber);
						
						if($(".f_who_list").find("li[close=false]").length==0)
						{
							window.location.href="/friend/commend/more";
						}
					
					 }
					
				});
		  
                return false;
            });
    };
    /**
     * 为推荐好友信息绑定事件
     * @param context {jQuery} 作用域
     * @return context作用域
     * @type jQuery
     */
    _.bindCommendEvent = function(context,type) {
        if(!type || type=='undefined')
            type = 1;
        //绑定推荐好友信息事件
       
		context.find(".collectiveFriends").click(function(){
	
				var _self=this;
			  SII.Ajax("/friend/both", {fuid:$(_self).attr("uid")}, function(data) {
			  if(data.result==1)
			  {
				SII.Msg(data.html);
			  }
			  
			  
			  });
			
		return false;
		});

	   return _.addCommend({
            context:context,
            type:type
        }).find(".home_friendcommend_close").click(function() {
            //隐藏提示
            //            $("#SII_Tip").hide();
            //删除单个推荐好友的显示
            _.delFriendcommend({
                uid:$(this).attr("uid"),
                type:type,
                key:$(this).attr("key")
            });
            return false;
        }).end();
    };
    /**
     * 获取好友推荐信息
     * @param success {Function} 操作成功后的回调函数
     */
    _.getFriendCommend = function(success) {
        SII.ajax_compact({
            url:"/friend/commend/get",
            data:{
                pagesize:2,
                type:"home"
            },
            success:function(data) {
                success(data);
            }
        });
    }
})(Friend.Commend);