var txt = "代码/名称/拼音";
var txt1 = "代码/名称/拼音";
var txt2 = "机构名称/代码/名称";

 $(function(){
    var sug = new ObjSuggest(getobj("keyword"),getobj("search_type"));
	var $search_type = $("#search_type");
	var $keyword = $("#keyword");

    $search_type.change(function(){
	  if($search_type.val() == "GP"){
	     $("#stocklink").show();
		 $("#bglink").hide();
		 txt = txt1;
	  }
	  else if($search_type.val() == "BG"){
	    $("#bglink").show();
		$("#stocklink").hide();
		txt = txt2;
	  };
	  $keyword.val(txt);
	});
	
	
	$keyword.click( function(){
	   if($keyword.val()==txt) $keyword.val('');
	}); 

	$keyword.blur( function(){
	   if($keyword.val()=='') $keyword.val(txt);
	}); 
})

String.prototype.trim = function() {
    return this.replace(/^\s*|\s*$/ig, "")
};

function ObjSuggest(b, e, c) {
    this._sugObj = b;
    this._selObj = e;
    this._isIE = !!document.all;
    this._suggest = null;
    this._keydown = 0;
    this._sugFuc = (typeof c == "function") ? c: Suggest.getstockvalue;
    if (getobj("stocksuggest")) {
        this._suggest = getobj("stocksuggest")
    } else {
        var d = document.createElement("div");
        d.setAttribute("id", "stocksuggest");
        d.setAttribute("style", "display:none");
        this._sugObj.parentNode.appendChild(d);
        this._suggest = d;
        d = null
    }
    var a = this;
    this._sugObj.onkeydown = function(f) {
        Suggest.co(a, f)
    };
    if (this._isIE) {
        this._sugObj.attachEvent("onpropertychange", 
        function() {
            Suggest.load(a)
        })
    } else {
        this._sugObj.addEventListener("input", 
        function() {
            Suggest.load(a)
        },
        false)
    }
}
ObjSuggest.prototype = {};
var Suggest = {
    co: function(c, a) {
        if (!c._suggest) {
            return
        }
        var b = c._suggest.getElementsByTagName("tr");
        var d = b.length;
        a = window.event || a;
        if (b && c._suggest.style.display != "none" && c._suggest.style.display != "") {
            if (a.keyCode == 40) {
                if (c._keydown == d - 1) {
                    return
                }
                c._keydown++;
                Suggest.setClass(c)
            }
            if (a.keyCode == 38) {
                if (this._keydown == 1) {
                    return
                }
                c._keydown--;
                Suggest.setClass(c)
            }
            if (a.keyCode == 13) {
                c._sugFuc(c, b[c._keydown]);
                Suggest.controldiv(c, 0)
            }
        }
    },
    setClass: function(d) {
        if (!d._suggest) {
            return
        }
        var c = d._suggest.getElementsByTagName("tr");
        var b = c.length;
        for (var a = 1; a < b; a++) {
            if (a != d._keydown) {
                c[a].className = "onout"
            } else {
                c[a].className = "onover"
            }
        }
    },
    setClass2: function() {
        if (!this._suggest) {
            return
        }
        var a = this._suggest.getElementsByTagName("tr");
        var b = a.length;
        if (this._keydown >= 1 && this._keydown < b) {
            a[this._keydown].className = "onout"
        }
    },
    controldiv: function(b, a) {
        if (!b._suggest) {
            return
        }
        var c = b._suggest;
        if (a == 0) {
            c.style.display = "none"
        } else {
            c.style.left = Suggest.getPostion(b._sugObj, "offsetLeft") + "px";
            c.style.top = (Suggest.getPostion(b._sugObj, "offsetTop") + b._sugObj.offsetHeight + 1) + "px";
            c.style.display = "block"
        }
    },
    getPostion: function(b, a) {
        var c = 0;
        while (b.offsetParent != null) {
            c += b[a];
            b = b.offsetParent
        }
        return c
    },
    out: function(c, a) {
        var b = ((a) ? (a) : (window.event));
        if (!c) {
            return
        }
        if (document.all) {
            if (b.srcElement.id != "stocksuggest") {
                Suggest.controldiv(c, 0);
                c._keydown = 0
            }
        } else {
            if (b.target.id != "stocksuggest") {
                Suggest.controldiv(c, 0);
                c._keydown = 0
            }
        }
    },
    load: function(d) {
        var b = d._sugObj.value.trim().toLowerCase();
        if (b.lastIndexOf(",")) {
            b = b.substr(b.lastIndexOf(",") + 1)
        }
        if (b != "" && b != "代码/名称/拼音") {
            d._keydown = 0;
            var c;
            c = hq_data_api+"action=searchcode&q="+b
            $.getScript(c,  //JsLoader.load("stock" + b, c, 
            function() {
                if (typeof(v_hint) != "undefined") {
                    if (v_hint != "" && v_hint != "N") {
                        var f = v_hint;
                        Suggest.startsuggest(d, f);
                        v_hint = ""
                    } else {
                        Suggest.controldiv(d, 0)
                    }
                }
            })
        } else {
            this.controldiv(d, 0)
        }
    },
    startsuggest: function(g, d) {
        if (!g._suggest) {
            return
        }
        Suggest.controldiv(g, 1);
        var h = d.split("|");
        var a = h.length;
        var e;
        var c = '<table width="100%" border="0" cellpadding="0" cellspacing="0" style="color:#000;"><tr bgcolor="#ebf2fb"><td>匹配项</td><td align="center">股票简称</td><td align="center" >市场</td></tr>';
        for (var b = 0; b < a; b++) {
            e = h[b].split("_");
			if(Suggest.checkStockCode(e[1],e[3],e[2]))
			{
              c += "<tr id='" + e[1] + "_" + e[4] + "_" + e[3] + "'><td>" + Suggest.setKeyColor(g, e[0]) + "</td>";
              c += "<td>" + e[2] + "</td>";
              c += "<td>" + e[5] + "</td></tr>"
			}
        }
        c += "</table>";
        g._suggest.innerHTML = c;
        g._suggest.style.width = g._suggest.childNodes[0].clientWidth + "px";
        var f = g._suggest.getElementsByTagName("tr");
        for (var b = 1; b < f.length; b++) {
            f[b].onclick = function() {
                g._sugFuc(g, this)
            };
            f[b].onmouseover = function() {
                Suggest.changemyclassName(this, g, "onover", "onout")
            }
        }
    },
	checkStockCode: function(code,type,name)	{
		var b = code.substr(0,2);
		//if(b!="60" && b!="00") return false;
		if(type != "GP") return false;
		if(name.indexOf("(")!=-1) return false;
		return true;
	},
    setKeyColor: function(d, e) {
        var b = d._sugObj.value.trim().split(".")[0].toLowerCase();
        if (b.lastIndexOf(",")) {
            b = b.substr(b.lastIndexOf(",") + 1)
        }
        var c = new RegExp(b);
        var a = e.replace(c, "<span style='color:#FF0000;'>" + b + "</span>");
        return a
    },
    changemyclassName: function(e, g, d, c) {
        var a = e.parentNode;
        var f = a.childNodes;
        for (var b = 1; b < f.length; b++) {
            f[b].className = c;
            if (f[b] == e) {
                g._keydown = b + 1;
                f[b].className = d
            }
        }
    },
    getstockvalue: function(d, c) {
        if (c.id.indexOf("_") == -1) {
            return
        }
        var a = c.id.split("_");
        Suggest.controldiv(d, 0);
        var b = "";
        b = Server+"stock/" + a[0]+".shtml";
        window.open(b, "_blank")
    }
};
function CheckStockInput(a) {
    a = a.replace(/ /ig, "");
    if (a == "" || a == "代码/名称/拼音") {
        return 1
    }
    if (/^[\*\/0-9a-zA-Z\u4e00-\u9fa5]+getobj/.test(a)) {
        if (/[\\\/<>#\getobj&]/g.test(a)) {
            return 2
        } else {
            return 0
        }
    } else {
        return 2
    }
}
function fm_submit() {
    if (typeof sug == "object" && sug._keydown > 0) {
        return false
    }

	if ($("#search_type").val() == "BG") {
		if ($("#keyword").val()  == txt2) {
          alert("请输入查询条件："+txt2);
          return false
        }  
		var a = getobj("form_stockserach");
		a.action = "http://bg.panlv.net/search.aspx"
	}
	else{
        if ($("#keyword").val()  == txt) {
              alert("证券代码输入错误");
              return false
        } 
	    else {
              b = Server+"ggcx.aspx?q=" + $("#keyword").val();
			  window.open(b, "_blank");
			  return false
        }
		return false;
    }
}
