﻿function changeCountry(countryCode) {
	  updatePlaceCompletion(getLangue(), countryCode);
}

// Lance la recherche de la ville choisie par l'utilisateur
function doLocate() {
	var ac = $("#txtLieuChoisi")[0].autocompleter;
	ac.findValue();

	return false;
}

// Lance la recherche à partir d'un choix de l'utilisateur
function placeFindValue(li) {
	if( li == null ) return;

	var lieu = li.selectValue;
	if( !!li.extra ) {
			if(!displayDetail(li.extra[0])) {
				// Si le marqueur n'était pas affiché, on se place dessus
				var sValue = li.extra[0];
				locatePlaceWithLatLng(lieu, li.extra[0], parseFloat(li.extra[1]), parseFloat(li.extra[2]));
			}
	} else {
	    // Sinon
	    locatePlace(lieu);
	}
}

// Formatage des items de la liste des villes
function placeFormatItem(row) {
	//return row[0] + " (" + row[1] + ","+row[2]+")";
	return row[0];
}
// Action lorsque qu'une ville est sélectionnée dans la liste
function placeSelectItem(li) {
	placeFindValue(li);
}

function setupPlaceCompletion(countryCode) {
	$("#txtLieuChoisi").autocomplete(
		"/meteo/commun/dynamiques/getListeLieuxMeteo.ashx",
		{
			delay:10,
			minChars:3,
			matchSubset:1,
			matchContains:0,
			mustMatch:1,
			formatItem:placeFormatItem,
			onFindValue:placeFindValue,
			extraParams:{langue:getLangue(), pays:countryCode}, 
			cacheLength:10,
			autoFill:true
		}
	);
}

function updatePlaceCompletion(language, countryCode) {
  var tb = $("#txtLieuChoisi")[0];
  var ac = tb.autocompleter;

  tb.value = '';
  ac.setExtraParams({langue:language, pays:countryCode});
  ac.flushCache();
  if(countryCode == '') {
		ac.setMinChars(3);
	} else {
		ac.setMinChars(0);
		tb.focus();
		ac.forceCompletion();
	}
}

function displayPlaceCompletion() {
	var ddl = $("#UcRechercheVille1_ddlListePays")[0];
	var tb = $("#txtLieuChoisi")[0];
	tb.value='';

	if (ddl && (ddl.value != "")) {
		if(tb.autocompleter)
			tb.autocompleter.forceCompletion();
	}
	return false;
}



