function geo_pays(pays) {
	var p = pays.split("-");
	id_pays = p[0];
	gestion_cp = p[1];
	cp_min = p[2];
	cp_max = p[3];
	r1 = p[4];

	if (gestion_cp == 1) {
		$("#tr_cp").show();
		cp = $("#cp").val();
		$("#td_cp_d").html('<input type="text" name="cp" id="cp" value="'+cp+'" maxlength="'+cp_max+'" class="input" />');
		geo_cp(p[0],cp,cp_min,cp_max);
		
		$("#cp").keyup(function(){
			$("#tr_ville").hide();
			$("#tr_ville_cp").hide();
			cp = $("#cp").val();
			p = $("#id_pays").val();
			p = p.split("-");
			
			if (cp.length >= cp_min) {
				geo_cp(p[0],cp,cp_min,cp_max);
			}
		});
	}
	else {
		$("#td_region_g").html(r1+' *');
		id_region = $("#id_region").val();
		$.getJSON("/js/ajax_geo.php",{"type": "region", "p":id_pays}, function(j){
			var tag = '<select name="id_region" id="id_region" class="input">';
			tag += '<option value="0">Choisissez</option>';
			for (var i = 0; i < j.length; i++) {
				if (j[i].id == id_region) var selected=' selected="selected"';
				else var selected = "";
				tag += '<option value="' + j[i].id + '"'+selected+'>' + j[i].r + '</option>';
			}
			tag += '</select>';
			$("#td_region_d").html(tag);
			$("#tr_region").show();
			geo_region(id_region);

			$("#id_region").change(function(){
				r = $("#id_region").val();
				$("#tr_ville").hide();
				$("#tr_ville_cp").hide();
				geo_region(r);
			});
			
		});
	}
}

function geo_cp(p,cp,cp_min,cp_max) {
	if (cp && cp.length >= cp_min && cp.length <= cp_max ) {
		$.getJSON("/js/ajax_geo.php",{type: 'cp', p:p, cp:cp}, function(j){
			number = j.length;
			if (!number) {
				if (cp.length == cp_max) {
					alert("Ce code postal n'existe pas");
					$("#cp").val("");
				}
				return;
			}
			else if (number == 1) {
				var tag = '<input type="hidden" name="id_cp" id="id_cp" value="'+j[0].id+'" /> '+j[0].v;
			}
			else {
				id_cp = $("#id_cp").val();
	
				var tag = '<select name="id_cp" id="id_cp" class="input">';
				tag += '<option value="0">Choisissez</option>';
				for (var i = 0; i < j.length; i++) {
					if (j[i].id == id_cp) var selected=' selected="selected"';
					else var selected = '';
					tag += '<option value="' + j[i].id + '"'+selected+'>' + j[i].v + '</option>';
				}
				tag += '</select>';
			}
			
			$("#td_ville_d").html(tag);
			$("#td_ville_cp_d").html("");
			$("#tr_ville").show();
		});
	}

}

function geo_region(r) {
	if (r) {
		$.getJSON("/js/ajax_geo.php",{type: 'ville', r:r}, function(j){
			id_ville = $("#id_ville").val();
	
			var tag = '<select name="id_ville" id="id_ville" class="input">';
			tag += '<option value="0">Choisissez</option>';
			for (var i = 0; i < j.length; i++) {
				if (j[i].id == id_ville) var selected=' selected="selected"';
				else var selected = ''
				tag += '<option value="' + j[i].id + '"'+selected+'>' + j[i].v + '</option>';
			}
			tag += '</select>';
			
			$("#td_ville_d").html(tag);
			$("#tr_ville").show();
			
			geo_ville(id_ville);

			$("#id_ville").change(function(){
				v = $("#id_ville").val();
				$("#tr_ville_cp").hide();
				geo_ville(v);
			});
			
		});
	}
}

function geo_ville(v) {
	if (v) {
		$.getJSON("/js/ajax_geo.php",{type: 'ville_cp', v:v}, function(j){
			number = j.length;
			if (!number) {
				alert("Cette ville n'existe pas");
				$("#id_ville").val("");
				return;
			}
			else if (number == 1) {
				var tag = '<input type="hidden" name="id_cp" id="id_cp" value="'+j[0].id+'" /> '+j[0].l;
			}
			else {
				id_cp = $("#id_cp").val();
	
				var tag = '<select name="id_cp" id="id_cp" class="input">';
				tag += '<option value="0">Choisissez</option>';
				for (var i = 0; i < j.length; i++) {
					if (j[i].id == id_cp) var selected=' selected="selected"';
					else var selected = '';
					tag += '<option value="' + j[i].id + '"'+selected+'>' + j[i].l + '</option>';
				}
				tag += '</select>';
			}
			
			$("#td_ville_cp_d").html(tag);
			$("#tr_ville_cp").show();
		});
	}

}




function geo_init() {
	var pays = $("#id_pays").val();
	p = pays.split("-");
	id_pays = p[0];
	gestion_cp = p[1];
	
	$("#tr_region").hide();
	$("#tr_ville").hide();
	$("#tr_ville_cp").hide();
	$("#tr_cp").hide();
	
	$.getJSON("/js/ajax_geo.php",{"type":"pays"}, function(j){
		var tag = '<select name="id_pays" id="id_pays" class="input">';
		for (var i = 0; i < j.length; i++) {
			if (j[i].id == id_pays) {
				var selected=' selected="selected"';
				$("#td_region_g").html(j[i].r1+' *');
			}
			else var selected = '';
			tag += '<option value="' + j[i].id + '-' + j[i].cp + '-' + j[i].cp_min + '-' + j[i].cp_max + '-' + j[i].r1 + '"'+selected+'>' + j[i].p + '</option>';
		}
		tag += '</select>';
		$("#td_pays_d").html(tag);

		$("#id_pays").change(function(){
			p = $("#id_pays").val();
			$("#cp").val("");
			$("#id_region").val("");
			$("#id_ville").val("");
			$("#id_cp").val("");
			$("#tr_region").hide();
			$("#tr_ville").hide();
			$("#tr_ville_cp").hide();
			$("#tr_cp").hide();
			geo_pays(p);
		});
		geo_pays(pays);
	});
}
