			var _req;
			var _el,_t,_l;
			var serverAddress=document.location.protocol+'//'+document.location.host+'/';			
			
			function coords(obj) {
				var o = {x:0, y:0}
				do {
				o.x += obj.offsetLeft
				o.y += obj.offsetTop
				} while (obj=obj.offsetParent)
				return o
			}
						
			function initialize(){
			    try{ _req=new ActiveXObject("Msxml2.XMLHTTP");}
			    catch(e){
			        try{_req=new ActiveXObject("Microsoft.XMLHTTP");}
			        catch(oc){ _req=null; }
			    }
			
			    if(!_req&&typeof XMLHttpRequest!="undefined") {
			      _req= new
			    	XMLHttpRequest();
					}
			} 
			
			function getCities(el,hf,cID,t,l){					
					
					_el=el; _t=coords(el).y+17; _l=coords(el).x;
					
					if (_el.value=='') {hideDiv(); return;}					
			
			    initialize(); 
			    
			    var url=serverAddress + 'includes/ajax/XmlHTTP.GetCities.asp?search=' + _el.value +'&countryID='+document.getElementById(cID).value +'&tf='+_el.id+'&hf='+hf;			    
			    			
			    if(_req!=null){_req.onreadystatechange = process; _req.open("GET", url, true); _req.send(null);}
			}
			
			function process(){
					var el=document.getElementById("autocomplete");
			    if (_req.readyState == 4){
			    	if (_req.status == 200){ //OK
			      	if(_req.responseText=="") hideDiv();
			        else {showDiv();  el.innerHTML =_req.responseText; }
			      } else el.innerHTML="There was a problem retrieving data:<br>"+_req.statusText;
			    }
			}
			
			function showDiv(){
			   var el= document.getElementById("autocomplete");
			   if (el) {el.style.top=_t+'px'; el.style.left=_l+'px'; el.style.visibility="visible";}
			}
			
			function hideDiv(){var el= document.getElementById("autocomplete"); if (el) el.style.visibility="hidden";}
