function trim (myString){
	return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
}

var idProfessionListePersonne = function(data, field) {
	$('#f_id_profession_personne').val(data.id);
	
	// si le libelle a changé on set à 1 le champ hidden f_libelle_profession_personne_change
	valeur_actuelle = trim($('#f_libelle_profession_personne').val());
	valeur_ancienne = trim($('#f_libelle_profession_personne_ancien').val());
	if(valeur_actuelle == ''){
		valeur_ancienne = $('#f_libelle_profession_personne_change').val('0');
	}else{
		if(valeur_ancienne != valeur_actuelle){
			valeur_ancienne = $('#f_libelle_profession_personne_change').val('1');
		}
	}
	// on mémorise le libelle
	$('#f_libelle_profession_personne_ancien').val($('#f_libelle_profession_personne').val());
};

var nettoyerProfessionListePersonne = function(data, field) {
	$('#f_id_profession_personne').val('');
};

var idProfessionListeParcours = function(data, field) {
	$('#f_id_profession_parcours').val(data.id);
	if($('#f_libelle_profession_personne_change').val() == '0'){
		// on pré-remplit avec la profession de la personne avec la fonction du parcours
		$('#f_id_profession_personne').val(data.id);
		$('#f_libelle_profession_personne').val($('#f_libelle_profession_parcours').val());
		// on mémorise le libelle personne dans le champ hidden
		$('#f_libelle_profession_personne_ancien').val($('#f_libelle_profession_personne').val());
	}

};

var nettoyerProfessionListeParcours = function(data, field) {
	$('#f_id_profession_parcours').val('');
};

function reload_ecouteur_champ_profession(){
	$('#f_libelle_profession_personne').Autocomplete(
		{
			source: '/cgi/profession/recherche_profession.norevue.php?f_flag_civilite=' + $("#f_flag_civilite_valeur").val(),
			delay: 1,
			autofill: false,
			autoriseNouveau : true,
			helperClass: 'autocompleter',
			selectClass: 'selectAutocompleter',
			minchars: 3,
			onSelect : idProfessionListePersonne,
			onNoSelect : nettoyerProfessionListePersonne
		}
	);
	
	$('#f_libelle_profession_parcours').Autocomplete(
		{
			source: '/cgi/profession/recherche_profession.norevue.php?f_flag_civilite=' + $("#f_flag_civilite_valeur").val(),
			delay: 1,
			autofill: false,
			autoriseNouveau : true,
			helperClass: 'autocompleter',
			selectClass: 'selectAutocompleter',
			minchars: 3,
			onSelect : idProfessionListeParcours,
			onNoSelect : nettoyerProfessionListeParcours
		}
	);


	$("#f_libelle_profession_parcours").blur(
		function () { 
			if($('#f_libelle_profession_personne_change').val() == '0'){
				// on pré-remplit avec la profession de la personne avec la fonction du parcours
				$('#f_libelle_profession_personne').val($('#f_libelle_profession_parcours').val());
				// on mémorise le libelle personne dans le champ hidden
				$('#f_libelle_profession_personne_ancien').val($('#f_libelle_profession_personne').val());

			}
		} 
	);

	$("#f_libelle_profession_personne").blur(
		function () { 
			// si le libelle a changé on set à 1 le champ hidden f_libelle_profession_personne_change
			valeur_actuelle = trim($('#f_libelle_profession_personne').val());
			valeur_ancienne = trim($('#f_libelle_profession_personne_ancien').val());
			if(valeur_actuelle == ''){
				valeur_ancienne = $('#f_libelle_profession_personne_change').val('0');
			}else{
				if(valeur_ancienne != valeur_actuelle){
					valeur_ancienne = $('#f_libelle_profession_personne_change').val('1');
				}
			}
			// on mémorise le libelle personne dans le champ hidden
			$('#f_libelle_profession_personne_ancien').val($('#f_libelle_profession_personne').val());
		} 
	);

}

$(document).ready(
	function()
	{
		reload_ecouteur_champ_profession();
	}
);

