
/******************************************************************************
                            AUTOCOMPLETE 
******************************************************************************/

var CountriesURL = cityspk.urlmap.api_json + "/location/getCountries";
var CitiesURL = cityspk.urlmap.api_json + "/location/getCities";
var TagsURL = cityspk.urlmap.api_json + "/tag/getList";

function CSPKCountriesAutoComplete(name, cityName) {
  if (cityName) {
   $(name).bind("focus", function(e) {
    $(cityName).val("");
   });
  }

  $(name).autocomplete(CountriesURL, {
    minChars: 0,
    autoFill: true,
    mustMatch: true,
    matchContains: false,
    parse: function (response) {
   
   	 var parsed = [];
   	 var rows = response.data.resultset;
    	for (var i=0; i < rows.length; i++) {
        var row = rows[i];
   	 	parsed[parsed.length] = {
        data: row,
   	 		value: row.name,
   	   	result: row.name
   	 	};
   	 }
      return parsed;
    },
    formatItem: function (row, i, max) {
      return row.name;
    }
  });
};

function CSPKCitiesAutoComplete(name, countryName, active) {
  if (typeof(active) == 'undefined') active = 1;
	$(name).autocomplete(CitiesURL, {
    minChars: 3,
    autoFill: true,
    mustMatch: false,
    multipleSeparator: "@",
    matchContains: false,
    max: 10,
    extraParams: {"country" : function() {return $(countryName).val();}, 'active' : function() {return active}},
    parse: function (response) {
      var parsed = [];
    	var rows = (response.data)? response.data.resultset : [];
			for (var i=0; i < rows.length; i++) {
        var row = rows[i];
    		parsed[parsed.length] = {data: row, value: row.city + ", " + row.region, result: row.city + ", " + row.region};
 	    }
      return parsed;
    },
    formatItem: function (row, i, max) {
 	 	  return row.city + ", " + row.region;
    }		
  });
};

function CSPKTagsAutoComplete(name) {
  $(name).autocomplete(TagsURL, {
    minChars: 0,
    autoFill: false,
    mustMatch: false,
    selectFirst: false,
    matchContains: true,
    multiple: true,
    parse: function (response) {
      
 	   var parsed = [];
    	var rows = response.data.resultset;
 	 	for (var i=0; i < rows.length; i++) {
        var row = rows[i];
    		parsed[parsed.length] = {
 	 		  data: row,
 	   		value: row.name,
 	 	  	result: row.name
 	 		};
 	   }
      return parsed;
    },
    formatItem: function (row, i, max) {
      return row.name;
    }
  }); 
};

