var isIE;
var completeTable;
var search_text;
var autorow;
var clearFlag = true;

function mouseSl(){
	document.form1.search_text.value = document.form1.selShow.options[document.form1.selShow.selectedIndex].value;
	document.form1.selShow.style.display="none";
}

function change(object){
opt=object.options[object.selectedIndex];
}

function seleteMenu(){
	if (event.keyCode==40) {
		if (document.form1.selShow.style.display != "none") {
            clearFlag = false;
            document.form1.selShow.focus();
        }
	}
	if(event.keyCode==13){
		if (document.form1.selShow.style.display != "none") {
            clearFlag = false;
            document.form1.selShow.focus();		
            document.form1.search_text.value = document.form1.selShow.options[document.form1.selShow.selectedIndex].value;
            document.form1.selShow.style.display="none";
            document.form1.search_text.focus();
        }
        else {
            document.form1.submit();
        }
	}
	if(event.keyCode==32){
		if (document.form1.selShow.style.display != "none") {
            clearFlag = false;
            document.form1.search_text.value = document.form1.selShow.options[document.form1.selShow.selectedIndex].value;
            document.form1.selShow.style.display="none";
            return false;
        }
	}    
}

function selectValue(){
	if(event.keyCode==13){
		document.form1.search_text.value = document.form1.selShow.options[document.form1.selShow.selectedIndex].value;
		document.form1.selShow.style.display="none";
        document.form1.search_text.focus();
	}
    if(event.keyCode==32){
		document.form1.search_text.value = document.form1.selShow.options[document.form1.selShow.selectedIndex].text
		document.form1.selShow.style.display="none";
        document.form1.search_text.focus();        
	}
}

var http_request = false;
	function send_request(url) {
		http_request = false;
		if(window.XMLHttpRequest) {
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/html');
			}
		}
		else if (window.ActiveXObject) {
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
		if (!http_request) {
			window.alert("不能创建XMLHttpRequest对象实例.");
			return false;
		}
		http_request.onreadystatechange = processRequest;
		http_request.open("GET", url, true);
		http_request.send(null);
	}
    
function processRequest () {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
          postProcess(http_request.responseXML);
        }
    }
}    

function getElementY(element){
	var targetTop = 0;
	if (element.offsetParent) {
		while (element.offsetParent) {
			targetTop += element.offsetTop;
            element = element.offsetParent;
		}
	} else if (element.y) {
		targetTop += element.y;
    }
	return targetTop;
}

function init() {
    search_text = document.getElementById("search_text");
	var menu = document.getElementById("auto-row");
    document.form1.selShow.style.display="none";	
}

function doCompletion() {
	if (event.keyCode == 13 || event.keyCode == 32) {
        return;
    }    
    if (document.form1.search_text.value.length > 1) {
        if (document.form1.search_text.value == "") {
            clearTable();
        } else {
           var url = location.pathname;
            if (url.indexOf("jsp/") == -1) {
                url = "";
            }
            else {
                url = "../../";
            }
            var searchType = "complete";
            if (document.form1.searchType && document.form1.searchType[1].checked) {
                searchType = "station";    
            }
            if (document.form1.searchType && document.form1.searchType[2].checked) {
                searchType = "school";    
            } 
            url += "autocomplete?action=" + searchType + "&id=" + document.form1.search_text.value;
            send_request(url);
        }
    }
    else {
        clearTable();
		document.form1.selShow.style.display="none";        
    }
}

function postProcess(responseXML) {
    clearTable();
	var employees = responseXML.getElementsByTagName("web2dict")[0];
    if ( employees.childNodes.length > 0 ) {
        document.form1.selShow.style.display="";        
    } else {
		document.form1.selShow.style.display="none";
    }
	
	selContainer.innerHTML="";
    selContainer.innerHTML="<select id='selShow' onblur=\"javasciprt:document.form1.selShow.style.display='none'\"  onKeyup='selectValue();' onClick='mouseSl();' style='width:130'></select>";
	var _size;
	if(employees.childNodes.length < 20)
		_size = employees.childNodes.length;
	else
		_size = 20;
	document.form1.selShow.setAttribute("size", _size);   
	
    if (!document.form1.searchType || document.form1.searchType[0].checked) {
        for ( loop = 0; loop < employees.childNodes.length; loop++ ) {
            var employee = employees.childNodes[loop];
            var firstName = employee.getElementsByTagName("dictName")[0];
            var lastName = employee.getElementsByTagName("count")[0];
            var employeeId = employee.getElementsByTagName("dictId")[0];
            var estateId = employee.getElementsByTagName("estateId")[0];
            var name;
            var zz="";
            opt = new Option();
            if (firstName.childNodes[0].nodeValue.length < 8){
                for(z = 0;z < (8-(firstName.childNodes[0].nodeValue.length));z++){
                    zz = zz+"  ";
                }	
                name = firstName.childNodes[0].nodeValue + zz;
            }
            opt.text = firstName.childNodes[0].nodeValue;
            opt.value= firstName.childNodes[0].nodeValue;
            document.form1.selShow.options.add(opt);   
        }
    }	
    else {
        for (loop = 0; loop < employees.childNodes.length; loop++) {
            var employee = employees.childNodes[loop];
            var firstName = employee.getElementsByTagName("dictName")[0];
            var employeeId = employee.getElementsByTagName("dictId")[0];
            var name;
            var zz="";
            opt = new Option();
            if (firstName.childNodes[0].nodeValue.length < 8){
                for(z = 0;z < (8-(firstName.childNodes[0].nodeValue.length));z++){
                    zz = zz+"  ";
                }	
                name = firstName.childNodes[0].nodeValue + zz;
            }
            opt.text = firstName.childNodes[0].nodeValue;
            opt.value= firstName.childNodes[0].nodeValue;
            document.form1.selShow.options.add(opt);   
        }
    }    
    	
}

function clearTable() {
    if (completeTable) {
      completeTable.setAttribute("bordercolor", "white");
      completeTable.setAttribute("border", "0");
      completeTable.style.visible = false;
      for (loop = completeTable.childNodes.length -1; loop >= 0 ; loop--) {
        completeTable.removeChild(completeTable.childNodes[loop]);
      }
    }
}

function appendEmployee(firstName,lastName,employeeId) {
    var firstNameCell;
    var lastNameCell;
    var row;
    var nameCell;
    if (isIE) {
        row = completeTable.insertRow(completeTable.rows.length);
        nameCell = row.insertCell(0);
    } else {
        row = document.createElement("tr");
        nameCell = document.createElement("td");
        row.appendChild(nameCell);
        completeTable.appendChild(row);
    }
    row.className = "popupRow";
    nameCell.setAttribute("bgcolor", "#FFFAFA");

    
    var linkElement = document.createElement("a");
    linkElement.className = "popupItem";
    if (employeeId == 0) {
    }else {
    	linkElement.setAttribute("href", "javascript:setValue('" + firstName + "')");
    }
    linkElement.appendChild(document.createTextNode(firstName + " " + lastName+"??"));
    nameCell.appendChild(linkElement);
}

function setValue(value){
	document.form1.search_text.value=value;
	clearTable();
}

function searchTextOnblur() {
    if (clearFlag) {
        document.form1.selShow.style.display = "none";
    }
    clearFlag = true;
}
