// Declenche l appel ajax en fonction de ce qui qui est saisi
function updateVille(asCP) {
	if( (asCP.length == 5) && (estEntier(asCP)) && (asCP > 0) ){
	    var xhr_object = createXMLHttpRequest();
	    var url = reverse_path+"service_project/ajax/index.php?component=reference&action=get_combo_villes&code_postal="+asCP;
	    xhr_object.open("GET",url,true);
	    xhr_object.onreadystatechange=onreadystatechange = function(){
	        if ( xhr_object.readyState == 4 && xhr_object.status == 200 ) {
	        	setAndExecute("div_combo_ville",xhr_object.responseText);
	        }
	    }
	    xhr_object.send(null);
	}
}

// Appelee en changement du code postal
function actualiseVillesFromCP(aiCodePostal,evenement,abActualiseEncart) {
	if ( !abActualiseEncart==true ) {
		abActualiseEncart=false;
	}
	if(window.event) {
		var liKey = evenement.keyCode;
	}
	else {
		var liKey = evenement.which;
	}
	// Touche differente de la tabulation
	// Code postal de 4 ou 5 chiffres
	if ( liKey != 9 &&
		(aiCodePostal.length == 5 || aiCodePostal.length == 4) &&
		 estEntier(aiCodePostal) ) {

		var value;

		// Si la selection se fait via les radio boutons
		if ( document.getElementById('radio_pays_id') ) {
			var radio = document.getElementsByName('pays_id');

			for(i=0;i<radio.length;i++) {
				if(radio[i].checked == true) {
					value = radio[i].value;
					break;
				}
			}
		}
		// Sinon la selection se fait via une liste deroulante
		else {
			value = document.getElementById('pays_id').value;
		}

		// Si pays "FRANCE" selectionne
		if ( value==liIdPaysFrance ) {
			getVilles(aiCodePostal,'',abActualiseEncart);
		}
	}
}

// Appelee en changement de la liste des pays
function actualiseVillesFromCPInsee(aiCodePostal,aiIdVilleInsee,abActualiseEncart, abDisabled) {
	if ( !abActualiseEncart==true ) {
		abActualiseEncart=false;
	}

	var value;

	// Si la selection se fait via les radio boutons
	if ( document.getElementById('radio_pays_id') ) {
		var radio = document.getElementsByName('pays_id');

		for(i=0;i<radio.length;i++) {
			if(radio[i].checked == true) {
				value = radio[i].value;
				break;
			}
		}
	}
	// Sinon la selection se fait via une liste deroulante
	else {
		value = document.getElementById('pays_id').value;
	}

	// Si pays "FRANCE" selectionne
	if ( value==liIdPaysFrance ) {
		document.getElementById("ajax_ville_liste").style.display="block";
		document.getElementById("ajax_ville_texte").style.display="none";
		getVilles(aiCodePostal,aiIdVilleInsee,abActualiseEncart, abDisabled);
	}
	else {
		document.getElementById("ajax_ville_liste").style.display="none";
		document.getElementById("ajax_ville_texte").style.display="block";
	}
}

// Appel AJAX : Retourne la liste des villes suivant le CP
function getVilles(asCp,aiIdVilleInsee,abActualiseEncart,abDisabled) {
	var xhr_object = createXMLHttpRequest();
	if(abDisabled==undefined) {
		var url = reverse_path+"service_project/ajax/index.php?component=reference&action=get_combo_villes&&code_postal="+asCp+"&ville_insee="+aiIdVilleInsee+"&actualise_encart="+abActualiseEncart;
	}
	else {
		var url = reverse_path+"service_project/ajax/index.php?component=reference&action=get_combo_villes&&code_postal="+asCp+"&ville_insee="+aiIdVilleInsee+"&actualise_encart="+abActualiseEncart+"&disabled=1";
	}
	xhr_object.open("GET",url,true);
	xhr_object.onreadystatechange=onreadystatechange = function(){
		if ( xhr_object.readyState == 4 && xhr_object.status == 200 ) {
			setAndExecute("ajax_ville_liste",xhr_object.responseText);
		}
	}
	xhr_object.send(null);
}
