



/*
* Envoie une requete au service de recherche des localizations et redirige la reponse pour traitement
* Une fois la reponse traitée, met à jour l'affichage des divs de saisie d'une localization
*/
var scrollBar = null;
function findLocalizations(){
	var url='/geocat/FindLocalizations.do';	// Url du service de recherche des localizations
	var localizationName = $F('saisieLocalization'); 
	$('choixLocalization').style.display = '';
	$('localizationResults').style.display = 'none';	
	$('localizationDivLoading').style.display = '';	
	var http = new Ajax.Request(
		url, 
	{
		method: 'get', 
		parameters: 'name='+localizationName,
		requestHeaders: ['Content-type', 'application/xml'],
		onSuccess: function(originalRequest){	
					$('localizationDivLoading').style.display = 'none';
					$('choixLocalization').style.display = '';	
					$('localizationResults').style.display = '';				
					$('localizationResults').innerHTML = originalRequest.responseText;
					scrollBar = new Control.ScrollBar('localizationList','scrollbar_track'); 
		},
		onFailure: function(originalRequest){
						//alert('Erreur');
						$('localizationDivLoading').style.display = 'none';
						$('choixLocalization').style.display = '';		
						$('localizationResults').style.display = '';	
						$('localizationResults').innerHTML = '<div id="localizationError"> <strong>' + originalRequest.status + '</strong> [' + originalRequest.statusText + '] </div>';					
					}
	});
}			
function choseLocalization(nom, maxX, maxY, minX, minY) {
	closeLocalizations();
	$('saisieLocalization').value = nom;
	zoomToBoxInLatLong(new OpenLayers.Bounds(minX,minY,maxX,maxY));
	$('keywords').focus();
	
}
function closeLocalizations(){
	$('choixLocalization').style.display = 'none';
}						
/**
 * Search on localizations on Enter key press.
 */
function searchLocalizationsOnEnter(e) {
	if (e.keyCode == 13) {
		findLocalizations();
		return false; /* Prevent from validating the other form */
	}
	if(e.keyCode == 27) {
		closeLocalizations();
		return false;
	}
	if(e.keyCode == 38) {
		if(scrollBar != null) {
			scrollBar.aScrollBy(-50);
			return false;
		}
	}
	if(e.keyCode == 40) {
		if(scrollBar != null) {
			scrollBar.aScrollBy(50);
			return false;
		}
	}
	if(e.keyCode == 33) {
		if(scrollBar != null) {
			scrollBar.aScrollBy(-100);
			return false;
		}
	}
	if(e.keyCode == 34) {
		if(scrollBar != null) {
			scrollBar.aScrollBy(100);
			return false;
		}
	}
	if(e.keyCode == 36) {
		if(scrollBar != null) {
			scrollBar.scrollTo('top', true);
		}
	}
	if(e.keyCode == 35) {
		if(scrollBar != null) {
			scrollBar.scrollTo('bottom', true);
		}
	}

	return true;
}
