/*搜索提示功能*/
var $createTag=function(tagName){
	return document.createElement(tagName);
};
var $removeTag=function(obj){
	document.body.removeChild(obj);
};
var $getTop=function(obj){
	var offset=obj.offsetTop;
	if(obj.offsetParent!=null) offset +=$getTop(obj.offsetParent);
	return offset;
};
var $getLeft=function(obj){
	var offset=obj.offsetLeft;
	if(obj.offsetParent!=null) offset +=$getLeft(obj.offsetParent);
	return offset;
};
var $ajax=function createXMLHttpRequest(){
	var xmlHttp=false;
	try{
		xmlHttp = new XMLHttpRequest();
	}
	catch(trymicrosoft){
		try{
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(othermicrosoft){
			try{xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")}
			catch(failed){}
		}
	}
   return xmlHttp;
};
var ltrim=function(val){return val.replace(/(^\s*)/g,"");};
var rtrim=function(val){return val.replace(/(\s*$)/g,"");}; 
var trim=function trim(val){return rtrim(ltrim(val));};
//document.write("<style>");
//document.write("#suggest{position:absolute;background:#fff;text-align:left;border:1px solid #000;height:auto!important;height:20px;min-height:20px;}");
//document.write("#suggest .suggestOver{background:#e8e2fe;padding:2px 6px 2px 6px;}");
//document.write("</style>");
var suggestDiv=$createTag("div");
var lastKey="";
var selectedIndex=0;
var inputObject=null;
var showSuggest = function (inputObj) {
    inputObject = inputObj;
    var key = trim(inputObj.value);
    var searchtype = trim(inputObj.form.searchtype.value);
    if (key == lastKey) return false;
    else lastKey = key;
    suggestDiv.style.display = "none";
    if (/^\s*$/.test(key)) {
        return false;
    }
    selectedIndex = -1;
    var xmlHttp = $ajax();
    xmlHttp.open("get", "/tools/searchsuggest.ashx?key=" + escape(key) + "&searchtype=" + escape(searchtype), true);
    //xmlHttp.open("get", "http://localhost:82/a.xml?key=" + escape(key) + "&t=" + new Date().getTime(), true);
    xmlHttp.onreadystatechange = function () {
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
            var xmldoc = xmlHttp.responseXML;
            var keynodes = xmldoc.getElementsByTagName("key");
            if (keynodes.length > 0) {

                suggestDiv.id = "suggest";
                suggestDiv.style.width = inputObj.offsetWidth + "px";
                //var suggest = "";
                suggestDiv.innerHTML = "";
                for (var i = 0; i < keynodes.length; i++) {
                    var keyDiv = $createTag("div");
//                    keyDiv.style.width = "96%";
//                    keyDiv.style.padding = "0";
//                    keyDiv.style.margin = "2px 6px 2px 6px";
//                    keyDiv.style.height = "18px";
//                    keyDiv.style.lineHeight = "18px";
                    var oText = document.createTextNode(keynodes[i].getAttribute("value"));
                    keyDiv.appendChild(oText);
                    keyDiv.onmouseover = function () {
                        selectedIndex = -1;
                        var divlist = suggestDiv.getElementsByTagName("div");
                        for (var k = 0; k < divlist.length; k++) {
                            divlist[k].className = "";
                            if (divlist[k] == this) selectedIndex = k;
                        }
                        this.className = "suggestOver";
                    }
                    keyDiv.onmouseout = function () {
                        this.className = "";
                    }
                    keyDiv.onclick = function () {
                        inputObj.value = this.innerHTML;
                        //suggestDiv.style.display="none";
                        var formObj = inputObj.parentNode;
                        while (formObj) {
                            if (formObj.tagName.toLowerCase() == "form") {
                                formObj.submit(); break;
                            } else {
                                formObj = formObj.parentNode;
                            }
                        }
                    }
                    suggestDiv.appendChild(keyDiv);
                }
                suggestDiv.style.top = inputObj.offsetHeight + 13 + "px";
                //suggestDiv.style.left = (parseInt($getLeft(inputObj)) - 240) + "px";
                suggestDiv.style.left = "0px";
                suggestDiv.style.display = "";
                inputObj.parentNode.appendChild(suggestDiv);
            } else {
                suggestDiv.style.display = "none";
            }
        } //end if readyState
    } //eixt function
    xmlHttp.send(null);
};
var changeSelect=function(isUp,inputObj){
	if (isUp) selectedIndex++;
	else selectedIndex--;
	if(selectedIndex<0) selectedIndex=0;
	var divlist=suggestDiv.getElementsByTagName("div");
	if(selectedIndex>=divlist.length)
		selectedIndex=divlist.length-1;
	for(var i=0;i<divlist.length;i++){
		if(i==selectedIndex){
			divlist[i].className="suggestOver";
			inputObj.value=divlist[i].innerHTML;
		}else{
			divlist[i].className="";
		}
	}
};
var getEvent=function(event){
	return event ? event : (window.event ? window.event : null);
};
var suggest = function(event, inputObj) {
    event = getEvent(event);
    var keyCode = event.keyCode;
    if (keyCode == 40 || keyCode == 38) {
        var isUp = false;
        if (keyCode == 40) isUp = true;
        changeSelect(isUp, inputObj);
    } else {
        showSuggest(inputObj);
    }
};
document.onclick=function(event){
	event = getEvent(event);
	if(event.target!=suggestDiv && event.target!=inputObject)suggestDiv.style.display="none";
};