///首页，管理中心 顶部智能搜 
(function($) {
    var orgText = "";
    var timeout = null;
    var _SELF = null;
    $.fn.IntelliSence = function(closeHtml, btn_searchHtml, searchTipHtml) {
        if ($(this).is("input:text")) {
            _SELF = this;
            $(closeHtml).click(function() { $(this).parent().hide(); });
            $(this).keyup(function(event) {
                var keyCode = parseInt(event.keyCode);  //alert(keyCode);

                if (keyCode === 40 || keyCode === 38 || keyCode === 13) {
                    if (itemsSelect(keyCode)) {
                        return;
                    }
                    if (keyCode === 13) {

                        if ($(this).val() != orgText) {
                            $(searchTipHtml).hide()
                            $(btn_searchHtml).click();
                        }
                        return;
                    }
                } //↑ 下 回车

                if (keyCode === 19 || keyCode === 27 || keyCode === 45 || keyCode === 144 || keyCode === 145)
                    return;
                if (keyCode >= 33 && keyCode <= 40)
                    return;
                if (keyCode >= 112 && keyCode <= 123)
                    return;
                var value = $(this).val();
                if (value === "" || value === null || value == orgText) {
                    return;
                }
                if (value.indexOf(",") != -1) {
                    return;
                }
                if (value.indexOf("'") != -1) {
                    return;
                }
                orgText = value;

                var type = $(this).attr("name");
                //$("#msg").html(value+type+"<img src=\"../Images/loading_s.gif\" />");
                var shopId = $(this).attr("sid");
                //alert(type);
                if (shopId > 0) {
                    getInfo(value.replace('<', '').replace('>', ''), type, shopId);
                }
                else {
                    getInfo(value.replace('<', '').replace('>', ''), type, 0);
                }
                orgText = "";
            });
        }
        function getInfo(keyWord, type, shopId) {

            var dataUrl = "className=BildingInfo&methodName=GetBuildingsByIntelliSence&parameter=" + encodeURI(keyWord); // + ",1,10,0,''",

            switch (type) {
                case "buiding":
                    dataUrl = "className=BildingInfo&methodName=GetBuildingsByIntelliSence&parameter=" + encodeURI(keyWord); // + ",1,10,0,''",
                    break;
                case "food":
                    dataUrl = "className=CompanyUser&methodName=SearchFoodIntelliSence&parameter=" + encodeURI(keyWord) + ",8";
                    break;
                case "shop":
                    dataUrl = "className=CompanyUser&methodName=SearchEnterpriseIntelliSence&parameter=" + encodeURI(keyWord) + ",8";
                    break;
                case "groupBuilding":
                    dataUrl = "className=BildingInfo&methodName=GetGroupBuildingsByIntelliSence&parameter=" + encodeURI(keyWord) + ",8";
                    break;
                case "groupShop":
                    dataUrl = "className=CompanyUser&methodName=SearchGroupEnterpriseIntelliSence&parameter=" + encodeURI(keyWord) + ",8";
                    break;
                case "shopSendBuiding":
                    dataUrl = "className=BildingInfo&methodName=GetEnterpriseSendArea&parameter=" + encodeURI(keyWord) + "," + shopId + "";
                    break;
                default:
                    return;
            }

            $(closeHtml).nextAll().remove(); //.after("<img src=\"../Images/loading_s.gif\" />");
            $.ajax({
                url: "/PageHandler.ashx",
                data: dataUrl,
                dataType: 'json',
                cache: false,
                success: function(data) {

                    $(searchTipHtml).show();
                    $(searchTipHtml).find("a,img").remove();
                    var text = "";
                    if (type == "buiding" || type == "groupBuilding" || type == "shopSendBuiding") {
                        if (data[0].length == 0) {
                            return
                        }
                        for (var i = 0; i < data[0].length; i++) {
                            name = data[0][i].BuildingName;
                            id = data[0][i].StoriedBuildingId;
                            text = text + "<a href=\"javascript:void(0);\">" + name + "</a>";
                        }
                    }
                    else {
                        if (data.length == 0) {
                            return;
                        }
                        for (var i = 0; i < data.length; i++) {
                            text = text + "<a href=\"javascript:void(0);\">" + data[i] + "</a>";
                        }
                    }

                    $(closeHtml).after(text);
                    $(searchTipHtml + " > a").click(function() {
                        $(_SELF).val($(this).html());
                        var keyWord = $(this).html();
                        $(this).parent().hide();
                        orgText = "";                        
                        $(btn_searchHtml).click();
                    });
                },
                error: function(data) {

                    // alert("智能搜 输入参数错误server error");
                }
            });
        }
        function itemsSelect(keyCode) {

            $(this).removeClass();
            var o = $(searchTipHtml);

            if (!$(o).is(":visible"))
                return false;
            if ($(o).find("a").length == 0)
                return false;

            var curObj = $(o).find("a[name='selected']");
            if ($(curObj).length > 0) {
                //enter

                if (keyCode === 13) {
                    $(curObj).click();
                    $(o).hide();
                    return true;
                }
                //up
                if (keyCode === 40) {
                    if ($(curObj).next().is("a"))
                        curObj = $(curObj).next();
                    else
                        curObj = $(o).find("a:first");
                }
                //down
                if (keyCode === 38) {
                    if ($(curObj).prev().is("a"))
                        curObj = $(curObj).prev();
                    else
                        curObj = $(o).find("a:last");
                }
            }
            else {
                curObj = $(o).find("a:first");
            }
            $(o).find("a").removeAttr("name").removeAttr("style");
            $(curObj).attr("name", "selected").attr("style", "background-color:#316AC5;color:#FFFFFF;text-decoration:none;");

            return false;
        }
    };
})(jQuery);

