function hcity_ac(inp_city, inp_land, on_select)
{
  var land = '';
  inp_city.autocomplete(
  {
    source: function(request, response)
	    {
	      var req = encodeURIComponent(request.term);
	      if (inp_land != null) land = inp_land.children(':selected').attr('land_code');
	      var tmp_url = encodeURI(x_home + "geo_city.php?lg=" + rl_lang_code + "&cc=" + land + "&ss=" + req);  
	      $.getJSON(tmp_url, function(data) 
	      {
		response( $.map(data.Cities, function(item)
		{
		  var xlabel = '';	
		  if (land.toUpperCase() == 'LU')	
		    xlabel = item.City + (item.Region4 ? ", " + item.Region4 : "") + (item.Region2 ? ", " + item.Region2 : "") + (item.Region3 ? ", " + item.Region3 : "");
		  else  
		    xlabel = item.City + (item.Region1 ? ", " + item.Region1 : "") + (item.Region2 ? ", " + item.Region2 : "") + (item.Region3 ? ", " + item.Region3 : "") + (item.Region4 ? ", " + item.Region4 : "");
  		  return  { label: xlabel,
			    value: item.City,					 
			    region1: item.Region1,
			    region2: item.Region2,
			    region3: item.Region3,
			    region4: item.Region4,					 
			    country: item.country,
			    land_code: item.land_code,
			    id: item.ID
			  }
		}) // rsponce / function
	      )}); // $.getJSON				   
	    }, // source
	    
    minLength: 1,
    select: function(event, ui)
	    {
	      if (land != ui.item.land_code) inp_land.val(ui.item.country);	      
	      if (on_select != null)
	        on_select(event, ui);
	    }
  });
}


