        var completeDiv;
        var inputField;
        var hiddenField;
        var hiddenCity = "";
        var nameTable;
        var nameTableBody;
		var selectedIndex=-1; 
		var xusedByDriver;
		var airportvalue;
		var citycontrolname;
		var ishaveairport;
		var page;
		var totalPage;
		var the_names1;
		var isDisplayDiv=false;
		var isneedInit  = false;
		var isClickOrEnter = false;
		document.write("<style>.sman_selectedStyle{background-Color:red;color:#FFFFFF}</style>"); 
		document.write("<style>.cellStyle{cursor:hand;font-size:14px;color:blue}</style>");
		document.write("<style>.headStyle{font-size:12px}</style>");
		document.writeln("<link href='/cms5root/pages/cn/autocompleted/autocomplete.css' type='text/css' rel='stylesheet'>");
		

        function createXMLHttpRequest() {
			var xmlHttp;
            if (window.ActiveXObject) {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            else if (window.XMLHttpRequest) {
                xmlHttp = new XMLHttpRequest();
            }
            return xmlHttp;
        }

        function initVars(name,id,pop,name_table,name_table_body,xusedByDriverTemp,airportvaluetemp,_ishaveairport) {
        	isClickOrEnter = false;
			if(document.getElementById("search03") != undefined){
        	if(document.getElementById("search03").style.display==""){
        		hiddenCity = document.getElementById("comehomeCityid");
        	}else{
        		hiddenCity = "";
        		
        	}
        	}
            inputField = document.getElementById(name);
            xusedByDriver = xusedByDriverTemp;
            airportvalue =  airportvaluetemp;
            citycontrolname = name;
            ishaveairport = _ishaveairport;
            inputField.onblur=function(){ 
            	if(isDisplayDiv==false)
					completeDiv.style.display='none'; 
				else{
					if(isneedInit == true){
						completeDiv.style.display='none'; 
						isDisplayDiv = false;
					}
					else{
						completeDiv.style.display=''; 
						inputField.focus();
						isneedInit = true;
					}
				}
            	if(nameTableBody.innerHTML.indexOf("对不起找不到") != '-1')
            		inputField.value = "中文/拼音";
            	else{
            	//alert(nameTableBody.innerHTML);
            	//alert(isClickOrEnter);
            	//alert(isDisplayDiv);
            		if(nameTableBody.innerHTML != "" && isClickOrEnter == false && isDisplayDiv == false){
            			hiddenField.value = nameTableBody.childNodes[2].childNodes[0].innerHTML;
            			inputField.value = nameTableBody.childNodes[2].childNodes[2].innerHTML;
            		}
            	}
            	if(inputField.value  == "" || inputField.value  == "null")
            		inputField.value = "中文/拼音"; 
            		
            	
				if(inputField.value != "中文/拼音")
					selectCity_1();
				else{
					hiddenField.value = "";
					try{
						removeDep(inputField.id)
					}catch(e){
					}
				}
			} 
            inputField.onkeyup=function(e){ 
    			var evt=e||window.event; 
    			var nKeyCode=evt.which||evt.keyCode; 
    			if (nKeyCode==40||nKeyCode==38){
  					var isUp=false 
  					if(nKeyCode==40) 
  						isUp=true ; 
  						chageSelection(isUp) 
					}else if (nKeyCode==13){
  						outSelection(selectedIndex); 
					}else{ 
  						findNames(1);
					} 
					setOffsets();

			} 
            inputField.onclick=findNames; 
			hiddenField = document.getElementById(id);
            nameTable = document.getElementById(name_table);
            completeDiv = document.getElementById(pop);
            nameTableBody = document.getElementById(name_table_body);
        }

  		function selectCity_1(){
  			if(hiddenField.value != 'null' && hiddenField.value != ''){
  				//if(inputField.id == "comehomeCityname"){
  					//document.getElementById("districtname").value ="";
  					//document.getElementById("districtid").value = "";
  				//}else{
  					//if(inputField.id == "returnCity03name")
  						//selectCity(hiddenField.value,2);
  					//else
  						//selectCity(hiddenField.value,1);
  						try{
  						if(inputField.id == "leasecityname" || inputField.id == "returnCityname"){
  							selectCity(hiddenField.value,inputField.id);
  						}else if(inputField.id == "getAir_leasecityname" || inputField.id == "sendAir_leasecityname"){
  							selectAir(hiddenField.value,inputField.id);
  						}else if(inputField.id == "dayRent_leasecityname"){
  							initAddress(hiddenField.value,inputField.id);
  						}
  						
  						}catch(e){
  						}
  					//}
  			}
  		}
         function chageSelection(isUp){ 
			if(completeDiv.style.display=='none'){ 
				completeDiv.style.display=''; 
			}else{ 
			if(isUp)
  				selectedIndex++ 
			else
  				selectedIndex-- 
  			}
			var maxIndex = nameTableBody.childNodes.length-1; 
			if(selectedIndex<2){
				selectedIndex=maxIndex
			} 
			if(totalPage > 1){
				if(selectedIndex>=maxIndex){
					selectedIndex=2
				} 
			}else{
				if(selectedIndex>maxIndex){
					selectedIndex=2
				} 
			}
			for(intTmp=0;intTmp<=maxIndex;intTmp++){ 
				if(intTmp==selectedIndex){ 
  					nameTableBody.childNodes[intTmp].className = "rental";
				}else{ 
  					nameTableBody.childNodes[intTmp].className = "";
				} 
			} 
		} 
		function outSelection(Index){ 
			if(Index != 1){
				inputField.value = nameTableBody.childNodes[Index].childNodes[2].innerHTML; 
				hiddenField.value = nameTableBody.childNodes[Index].childNodes[0].innerHTML;
				isClickOrEnter = true;
				completeDiv.style.display='none'; 
				inputField.onblur();
			}
		} 
        function findNames(value) {
        	var temp = value;
        	if(temp == undefined)
        		temp = 2;
        	isClickOrEnter = false;
			if(inputField.value == "中文/拼音")
				inputField.value = "";
			if(temp != 1)
				inputField.value = "";
        	var xmlHttp;
           // if (inputField.value.length > 0) {
            	setOffsets();
            	selectedIndex=2;
            	clearNames();
                xmlHttp = createXMLHttpRequest();
                var url ;
                if(hiddenCity == "")
                	url = "/servlet/cn.uaa.CarIS.autocomplete.AutoCompleteServlet?cityname=" +encodeURI(inputField.value)+"&xusedByDriver="+xusedByDriver+"&airportvalue="+airportvalue+"&citycontrolname="+citycontrolname+"&ishaveairport="+ishaveairport;
                else{
                	if(inputField.id=="districtname")
                		url = "/servlet/cn.uaa.CarIS.autocomplete.AutoCompleteServlet?cityname=" +encodeURI(inputField.value)+"&cityid="+hiddenCity.value+"&xusedByDriver="+xusedByDriver+"&airportvalue="+airportvalue+"&citycontrolname="+citycontrolname+"&ishaveairport="+ishaveairport;
                	else
                		url = "/servlet/cn.uaa.CarIS.autocomplete.AutoCompleteServlet?cityname=" +encodeURI(inputField.value)+"&xusedByDriver="+xusedByDriver+"&airportvalue="+airportvalue+"&citycontrolname="+citycontrolname+"&ishaveairport="+ishaveairport;
                }

                xmlHttp.open("GET", url, true);
                xmlHttp.onreadystatechange = callback;
                //xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");    
                xmlHttp.setRequestHeader( "Content-Type", "text/html;charset=UTF-8" );            
                xmlHttp.send(null);
                completeDiv.style.display='';
            function callback() {
            	if (xmlHttp.readyState == 4) {
            	//alert("xmlHttp.status " + xmlHttp.status);
                	if (xmlHttp.status == 200) {
                		//var xmldoc=new ActiveXObject("Microsoft.XMLDOM");
						//xmldoc.async=false;
						//xmldoc.loadXML(xmlHttp.responseText);
						page = 1;
						the_names1=xmlHttp.responseXML.getElementsByTagName("item");
                    	setNames(page,xmlHttp.responseXML.getElementsByTagName("item"));
                	}else if (xmlHttp.status == 204){
                    	clearNames();
                	}
            	}
        	}
        }


 
        function setNames(page,the_names) {
        	clearNames();
            var size = the_names.length;
            //alert(size);
            totalPage = Math.ceil((size-1)/10);
            var row, cell, txtNode;
			var cityidtemp = the_names.item(size-1).childNodes.item(0).firstChild.nodeValue;
			if(cityidtemp == '-1'){
				row = document.createElement("tr");
				cell = document.createElement("td");
				cell.colSpan="3";
				cell.style.width = "186px";
				cell.className="choose_a";
			 	cell.appendChild(document.createTextNode(the_names.item(size-1).childNodes.item(2).firstChild.nodeValue));
                row.appendChild(cell);
                nameTableBody.appendChild(row);
                row = document.createElement("tr");
			    cell = document.createElement("td");
			    cell.colSpan="3";
			    cell.style.width = "186px";
			    cell.height="6px";
                row.appendChild(cell);
                nameTableBody.appendChild(row);
			}
			if(totalPage > 1){
				setdata(page,the_names);
				row = document.createElement("tr");
				row.onmouseout = function() {this.className='';};
                row.onmouseover = function() {this.className='rental';};
                if(page == totalPage){
					cell = document.createElement("td");
					cell.style.width = "186px";
					cell.colSpan="3";
					cell.align="right";
					cell.className='rental3';
 					cell.innerHTML = "上一页";
 					cell.onclick = function() { upPage(this); } ;
 					cell.onmousedown= function() { upPage(this); } ;
					row.appendChild(cell);
				}else{
					if(page == 1){
						cell = document.createElement("td");
						cell.style.width = "186px";
						cell.colSpan="3";
						cell.align="right";
						cell.className='rental3';
 						cell.innerHTML = "下一页";
 						cell.onclick = function() { downPage(this); } ;
 						cell.onmousedown= function() { downPage(this); } ;
						row.appendChild(cell);
					}else{
						cell = document.createElement("td");
						cell.colSpan="1";
						cell.align="center";
						cell.className='rental4';
 						cell.innerHTML = "上一页";
 						cell.onclick = function() { upPage(this); } ;
 						cell.onmousedown= function() { upPage(this); } ;
						row.appendChild(cell);
						cell = document.createElement("td");
						cell.colSpan="2";
						cell.align="center";
						cell.className='rental4';
 						cell.innerHTML = "下一页";
 						cell.onclick = function() { downPage(this); } ;
 						cell.onmousedown= function() { downPage(this); } ;
						row.appendChild(cell);
					}
				}
                nameTableBody.appendChild(row);
			}else{
           		setdata(page,the_names);
            }
          
        }
 function downPage(cell){
 	isDisplayDiv = true;
    isneedInit = false;
    if(page < totalPage)
        page++;
       	setNames(page,the_names1);
 }
 function upPage(cell){
     isDisplayDiv = true;
     isneedInit = false;
     if(page > 1)
         page--;
      setNames(page,the_names1);
}
		function setdata(page1,the_names){
			var size = page1*10;
			if(size > the_names.length)
				size = the_names.length;
			  for (var i = (page1-1)*10; i < size; i++) {     
                var cityidNode = the_names.item(i).childNodes.item(0).firstChild.nodeValue;
                if(cityidNode != -1){
                	var citynameNode = the_names.item(i).childNodes.item(1).firstChild.nodeValue;
                	var encitynameNode = the_names.item(i).childNodes.item(2).firstChild.nodeValue;
                	row = document.createElement("tr");
                	row.onmouseout = function() {this.className='';};
                	row.onmouseover = function() {this.className='rental';};
                	cell = document.createElement("td");
                	cell.style.width = "1px"
                	cell.style.display="none";
                	cell.className='rental1';
                	cell.onclick = function() { populateName(this); } ;
                	cell.onmousedown= function() { populateName(this); } ;
                	txtNode = document.createTextNode(cityidNode);
                	cell.appendChild(txtNode);
                	row.appendChild(cell);
                
                	cell = document.createElement("td");
                	cell.style.width = "15px"
                	cell.className='rental1';
                	cell.onclick = function() { populateName(this); } ;
                	cell.onmousedown= function() { populateName(this); } ;
                	txtNode = document.createTextNode(encitynameNode);
                	cell.appendChild(txtNode);
                	row.appendChild(cell);
                
                	cell = document.createElement("td");
                	cell.style.width = "170px"
                	cell.className='rental3';
               		cell.align="right";
                	cell.onclick = function() { populateName(this); } ;
                	cell.onmousedown= function() { populateName(this); } ;
                	txtNode = document.createTextNode(citynameNode);
                	cell.appendChild(txtNode);
                	row.appendChild(cell);
                	nameTableBody.appendChild(row);
                	nameTableBody.childNodes[selectedIndex].className = "rental";
                }
            }
			
		}
        function setOffsets() {
            var end = inputField.offsetWidth;
            var left = calculateOffsetLeft(inputField);
            var top = calculateOffsetTop(inputField) + inputField.offsetHeight;
            //completeDiv.style.border = "black 1px solid";
            completeDiv.style.left = left + 1 + "px";
            completeDiv.style.top = top + "px";
            if(end>=200){
            	nameTable.style.width = (end-2) + "px";
            }else{
            	nameTable.style.width = end + 85 + "px";
            }
        }

         function calculateOffsetLeft(field) {
          return calculateOffset(field, "offsetLeft");
        }

        function calculateOffsetTop(field) {
          return calculateOffset(field, "offsetTop");
        }
   
         function calculateOffset(field, attr) {
          var offset = 0;
          while(field) {
            offset += field[attr];
            field = field.offsetParent;
          }
          return offset;
        }

        function populateName(cell) {
        	isDisplayDiv = false;
            inputField.value = cell.parentElement.childNodes[2].innerHTML;
            hiddenField.value = cell.parentElement.childNodes[0].innerHTML;
			isClickOrEnter = true;
            clearNames();
            inputField.blur();
        }

        function clearNames() {
        //inputField.onclick=null;
            var ind = nameTableBody.childNodes.length;
            for (var i = ind - 1; i >= 0 ; i--) {
                 nameTableBody.removeChild(nameTableBody.childNodes[i]);
            }
           // completeDiv.style.border = "none";
        }
		