var relation = 0 ;
var num_sosa ;
var enfant_numero ;
var evt ;

$Fx = new Array () ;
$Fy = new Array () ;

$Fx[1] = 354 ;
$Fy[1] = 436 ;
$Fx[2] = 175 ;
$Fy[2] = 275 ;
$Fx[3] = 533 ;
$Fy[3] = 275 ;
$Fx[4] = 95 ;
$Fy[4] = 96 ;
$Fx[5] = 267 ;
$Fy[5] = 96 ;
$Fx[6] = 441 ;
$Fy[6] = 96 ;
$Fx[7] = 613 ;
$Fy[7] = 96 ;

for (i=1 ; i<8 ; i++)
	{
	$Fx[i] += 21 ;
	$Fy[i] += 160 ;
	}

$lg = 166 ;
$ht = 69  ;
$lg_code = $lg - 77 ;

function js_OuvreSosa(num_case, a)
	{
	js_FermeSosa (num_case) ;

	var base = $("#f_base").val() ;

	if (a == 0)													// Ajout premier personnage
		{
		num_case = 1 ;

		var num   = 1 ;
		var c_num = 0 ;

		info = new Array () ;

		info[0] = "" ;
		info[1] = "" ;
		info[2] = "__.__.____" ;
		info[3] = "__.__.____" ;
		}
	else if (a == 1)												// Ajout enfant
		{
		num_case = 1 ;

		var num   = $("#sosa2").html() ;
		var c_num = $("#sosa3").html() ;

		info = new Array () ;

//		var enfant_nom = $("#Case1").html().split($br) ;
		var enfant_nom = $("#Case1").html().split(new RegExp("<br>", "i")) ;

		info[0] = enfant_nom[0] ;
		info[1] = "" ;
		info[2] = "__.__.____" ;
		info[3] = "__.__.____" ;
		}
	else if ((a == 2) || (num_sosa == 0))								// Ajout nouveau personnage
		{
		if (document.forms["Modifier"].elements["btn_modifier_sujet"].disabled == true)
			{
//			alert ("Saisie non autorisée !") ;
//			return ;
			}

		if (base == "Capet")
			{
			alert ("Saisie ascendante non autorisée !") ;
			return ;
			}

		info = new Array () ;
		
		if (num_case > 1)
			{
			if ($("#Case"+num_case).css("display") == "block")
				{
				i = num_case / 2 ;
				i = parseInt (i) ;

				enfant_numero = $("#sosa"+i).html() ;
				}
			else
				{
				alert ("Saisie non autorisée !") ;
				return ;
				}
			}
		else
			{
			enfant_numero = 0 ;

			for (i=2 ; i<8 ; i++)
				{
				$("#Case"+i).css("display","none") ;
				$("#N"+i).css("display","none") ;
				$("#Q"+i).css("display","none") ;
				$("#D"+i).css("display","none") ;
				$("#B"+i).css("display","none") ;
				}

			$("#MAR2").css("display","none") ;
			$("#MAR4").css("display","none") ;
			$("#MAR6").css("display","none") ;

			$("#Liste_enfants").css("display","none") ;
			$("#Liste_conjoints").css("display","none") ;
			}

		info[0] = "" ;
		info[1] = "" ;
		info[2] = "__.__.____" ;
		info[3] = "__.__.____" ;
		}
	else
		{
		if ($("#verrou"+num_case).html() == 1)
			{
			alert ("Données non modifiables !") ;
			return ;
			}

		var info = $("#Case"+num_case).html().split(new RegExp("<br>", "i")) ;		
		var num  = $("#sosa"+num_case).html() ;
		
		if (num == 0)
			{
			return ;
			}

//		var info2 = info[3].split("@") ;

//		if (info2[6] == 1)
			{
//			alert (info2[1]) ;
			}
		}

	switch (a)													// On désactive le onClick
		{
		case 0  : $("#Case1").append("<form id='Sosa' style='position:absolute; top:0px; z-index:5;'></form>") ;
				a = 1 ;
				break ;
		
		case 1  : $("#Case1").append("<form id='Sosa' style='position:absolute; top:"+$ht+"px; z-index:5;'></form>") ;
				break ;
		
		default : $("#Case"+num_case).append("<form id='Sosa' style='position:absolute; top:0px; height:200px;'></form>") ;
				break ;
		}

	$("#Sosa").append("<input type='hidden' id='numero' value='"+num+"'>") ;
	$("#Sosa").append("<input type='hidden' id='conjoint' value='"+c_num+"'>") ;
	
//	info[0] = info[0].replace(/\'/g, '\u0027') ;

	$('#Sosa').append('<input class="sosa" type="text" id="sosa_nom" maxlength="45" value="'+info[0]+'" style="width:'+$lg+'px; margin:0px;">') ;
	$('#sosa_nom').focus(function(){setAutoComplete('sosa_nom', 'results', 'ajaxFormulaire2.php?base='+base+'&champ=nom&debut=');});

	$('#Sosa').append('<input class="sosa" type="text" id="sosa_prenom" maxlength="90" value="'+info[1]+'" style="width:'+$lg+'px; margin:0px;">') ;
	$('#sosa_prenom').focus(function(){js_IndiquerSexeSosa(num_case);}) ;

	if (a > 0) $('#sosa_prenom').blur(function(){js_ChercheNomSosa(num_case);}) ;
	
	date = info[2].split(".") ;
	if (date[0].substring(0,2) == "__")   date[0] = "" ;
	if (date[1].substring(0,2) == "__")   date[1] = "" ;
	if (date[2].substring(0,4) == "____") date[2] = "" ;
	date[2] = date[2].substring(0,4) ;

	$("#Sosa").append("<input class='sosa' type='text' id='n_sosa_jour' maxlength='2' value='"+date[0]+"' style='width:19px; margin:0px;'>") ;
	$("#n_sosa_jour").keyup(function(){js_Autotab('n_sosa_jour', 'n_sosa_mois');}) ;

	$("#Sosa").append("<input class='sosa' type='text' id='n_sosa_mois' maxlength='2' value='"+date[1]+"' style='width:19px; margin:0px;'>") ;
	$("#n_sosa_mois").keyup(function(){js_Autotab('n_sosa_mois', 'n_sosa_annee');}) ;

	$("#Sosa").append("<input class='sosa' type='text' id='n_sosa_annee' maxlength='4' value='"+date[2]+"' style='width:33px; margin:0px;'>") ;
	$("#n_sosa_annee").keyup(function(){js_Autotab('n_sosa_annee', 'n_sosa_code');}) ;

	var reg  = new RegExp ("[,()]+", "g") ;
	var tableau = info[2].split(reg) ;

	if (tableau.length <2) tableau[1] = "" ;

	$("#Sosa").append("<input class='sosa' type='text' id='n_sosa_code' maxlength='30' value='"+tableau[1]+"' style='width:"+$lg_code+"px; margin:0px;'>") ;
	$("#n_sosa_code").focus(function(){setAutoComplete("n_sosa_code", "results", "ajaxFormulaire2.php?base="+base+"&champ=lieu&debut=");});
	
	date = info[3].split(".") ;
	if (date[0].substring(0,2) == "__")   date[0] = "" ;
	if (date[1].substring(0,2) == "__")   date[1] = "" ;
	if (date[2].substring(0,4) == "____") date[2] = "" ;
	date[2] = date[2].substring(0,4) ;

	$("#Sosa").append("<input class='sosa' type='text' id='d_sosa_jour' maxlength='2' value='"+date[0]+"' style='width:19px; margin:0px;'>") ;
//	$('#n_sosa_code').blur(function(){js_IndiquerLieu('#n_sosa_code');}) ;
	$("#d_sosa_jour").keyup(function(){js_Autotab('d_sosa_jour', 'd_sosa_mois');}) ;

	$("#Sosa").append("<input class='sosa' type='text' id='d_sosa_mois' maxlength='2' value='"+date[1]+"' style='width:19px; margin:0px;'>") ;
	$("#d_sosa_mois").keyup(function(){js_Autotab('d_sosa_mois', 'd_sosa_annee');}) ;

	$("#Sosa").append("<input class='sosa' type='text' id='d_sosa_annee' maxlength='4' value='"+date[2]+"' style='width:33px; margin:0px;'>") ;
	$("#d_sosa_annee").keyup(function(){js_Autotab('d_sosa_annee', 'd_sosa_code');}) ;

	var reg  = new RegExp ("[,()]+", "g") ;
	var tableau = info[3].split(reg) ;

	if (tableau.length <2) tableau[1] = "" ;

	$("#Sosa").append("<input class='sosa' type='text' id='d_sosa_code' maxlength='30' value='"+tableau[1]+"' style='width:"+$lg_code+"px; margin:0px;'>") ;
	$("#d_sosa_code").focus(function(){setAutoComplete("d_sosa_code", "results", "ajaxFormulaire2.php?base="+base+"&champ=lieu&debut=");});
		
	$("#Sosa").append("<input class='bouton' type='button' id='btn_valider' value='Valider' style='width:54px;'>") ;
	$("#btn_valider").click(function(){js_ValideSosa (num_case, a) ;}) ;

	$("#Sosa").append("<input class='bouton' type='button' id='btn_annuler' value='Annuler' style='width:54px;'>") ;
	$("#btn_annuler").click(function(){js_FermeSosa(num_case) ;}) ;

	if ((a > 0) && (a < 80) && (num_case == 1))								// Combo sexe
		{
		select  = "<select id='sexe_enfant' style='width:56px; margin-left:2px; z-index:5;'>" ;
		select += "<option value='2'>Sexe</option>" ;
		select += "<option value='0' style='background-color:blue; color:#FFFFFF;'>Garçon</option>" ;
		select += "<option value='1' style='background-color:red; color:#FFFFFF;'>Fille</option>" ;
		select += "</select>" ;

		$("#Sosa").append(select) ;
		}
	}
	
function js_FermeSosa(num_case)
	{
	var	i ;
	var	mar ;

	if  (num_case % 2)
		mar = num_case - 1 ;
	else	mar = num_case
	
	if ($("#Sosa").length)
		{
		$("#Sosa").remove() ;
		
		if (num_case > 1) $("#MAR"+mar).show() ;
		$("#Fleche").show() ;
		
		$("#Case"+num_case).append("<div id='FermeSosa' style='display:none;>1</div>") ;
		}
	else
		{
		if (num_case > 1) $("#MAR"+mar).hide() ;
		$("#Fleche").hide() ;	
		
		$("#Case"+num_case).append("<div id='FermeSosa' style='display:none;'>0</div>") ;
		}

	js_EffaceListe () ;
	}
	
function js_ValideSosa(num_case, a)
	{
	var xhr = getHTTPObject () ;
	var url ;
	var erreur ;
	var message ;

	var base = $("#f_base").val() ;

//	On définit ce qu'on va faire quand on aura la réponse

	xhr.onreadystatechange = function ()
		{
//		On ne fait quelque chose que si on a tout reçu et que le serveur est ok

		if (xhr.readyState == 4 && xhr.status == 200)
			{
			js_FermeSosa (num_case) ;

			resultat = xhr.responseText ;

			var message = resultat.split("@") ;

			var enfant = message[0] ;

			var exp = new RegExp ("Modification non", "g") ;
			
			if (exp.test(enfant)) alert (enfant) ;						// Modification non autorisée

			url = window.location.toString().split('?') ;				
			url[0] += "?base=" + base + "&n=1" ;
			
			window.location.replace (url[0]) ;
			}		
		}

	erreur = js_IndiquerLieu('#n_sosa_code') ;

	switch (erreur)
		{
		case 1  :	message  = "Vous n'avez pas sélectionné\n" ;
				message += "la ville de naissance dans\n" ;
				message += "la liste déroulante !\n\n" ;
				message += "Si c'est une nouvelle ville,\n" ;
				message += "précisez le pays comme ci-dessous :\n\n" ;
				message += $('#n_sosa_code').val() + ", nom_du_pays\n\n" ;
				message += "ou le code pays sur 3 lettres entre parenthèses :\n\n" ;
				message += $('#n_sosa_code').val() + " (code_pays)" ;
				
				alert (message) ;
				return ;
			
		case 2  :	alert ("Vous n'avez pas saisi le pays !") ;
				return ;
			
		default : break ;
		}
		
	erreur = js_IndiquerLieu('#d_sosa_code') ;

	switch (erreur)
		{
		case 1  :	message  = "Vous n'avez pas sélectionné\n" ;
				message += "la ville de décès dans\n" ;
				message += "la liste déroulante !\n\n" ;
				message += "Si c'est une nouvelle ville,\n" ;
				message += "précisez le pays comme ci-dessous :\n\n" ;
				message += $('#d_sosa_code').val() + ", nom_du_pays\n\n" ;
				message += "ou le code pays sur 3 lettres entre parenthèses :\n\n" ;
				message += $('#d_sosa_code').val() + " (code_pays)" ;
				
				alert (message) ;
				return ;
			
		case 2  :	alert ("Vous n'avez pas saisi le pays !") ;
				return ;
			
		default : break ;
		}

	if (a == 1)													// Ajout enfant
		{
		if ($("#sosa_prenom").val() == "")
			{
			alert ("Veuillez saisir le prénom !\n\nSi prénom inconnu :\nSaisissez N... pour un garçon, Ne... pour une fille.") ;

			return;
			}

		ch  = (relation + "@") ;
		ch += (base + "@") ;
		ch += ($("#numero").val() + "@") ;
		ch += ($("#conjoint").val() + "@") ;
		ch += ($("#sosa_nom").val() + "@") ;
		ch += ($("#sosa_prenom").val() + "@") ;
		ch += ($("#sexe_enfant").val() + "@") ;

		ch += ($("#n_sosa_jour").val() + "@") ;
		ch += ($("#n_sosa_mois").val() + "@") ;
		ch += ($("#n_sosa_annee").val() + "@") ;

		var lieu = $("#n_sosa_code").val() ;
		var reg  = new RegExp ("[,()]+", "g") ;
		var tableau = lieu.split(reg) ;

		if (tableau.length > 1)
			{
			$("#n_sosa_code").val(tableau[1]) ;
			ch += (tableau[0] + "@") ;
			ch += (tableau[1] + "@") ;
			}
		else
			{
			ch += ("@") ;
			ch += ($("#n_sosa_code").val() + "@") ;
			}

//		ch += ($("#Sosa").val() + "@") ;
		ch += ($("#d_sosa_jour").val() + "@") ;
		ch += ($("#d_sosa_mois").val() + "@") ;
		ch += ($("#d_sosa_annee").val() + "@") ;

		var lieu = $("#d_sosa_code").val() ;
		var reg  = new RegExp ("[,()]+", "g") ;
		var tableau = lieu.split(reg) ;

		if (tableau.length > 1)
			{
			$("#d_sosa_code").val(tableau[1]) ;
			ch += (tableau[0] + "@") ;
			ch += (tableau[1] + "@") ;
			}
		else
			{
			ch += ("@") ;
			ch += ($("#d_sosa_code").val() + "@") ;
			}

		document.getElementById("Sosa").parentNode.removeChild(document.getElementById("Sosa")) ;

		xhr.open ("POST", "ajaxAjoutEnfant.php", true) ;
		}
	else if (a == 2)												// Ajout nouveau personnage
		{
		if ($("#sosa_prenom").val() == "")
			{
			alert ("Veuillez saisir le prénom !\n\nSi prénom inconnu :\nSaisissez N... pour un homme, Ne... pour une femme.") ;

			return;
			}
			
		if (num_case > 1)
			sexe = num_case % 2 ;
		else sexe = $("#sexe_enfant").val() ;

		ch  = (relation + "@") ;
		ch += (base + "@") ;
		ch += (enfant_numero + "@") ;
		ch += ($("#sosa_nom").val() + "@") ;
		ch += ($("#sosa_prenom").val() + "@") ;
		ch += (sexe + "@") ;

		ch += ($("#n_sosa_jour").val() + "@") ;
		ch += ($("#n_sosa_mois").val() + "@") ;
		ch += ($("#n_sosa_annee").val() + "@") ;

		var lieu = $("#n_sosa_code").val() ;
		var reg  = new RegExp ("[,()]+", "g") ;
		var tableau = lieu.split(reg) ;

		if (tableau.length > 1)
			{
			$("#n_sosa_code").val(tableau[1]) ;
			ch += (tableau[0] + "@") ;
			ch += (tableau[1] + "@") ;
			}
		else
			{
			ch += ("@") ;
			ch += ($("#n_sosa_code").val() + "@") ;
			}

		ch += ($("#d_sosa_jour").val() + "@") ;
		ch += ($("#d_sosa_mois").val() + "@") ;
		ch += ($("#d_sosa_annee").val() + "@") ;

		var lieu = $("#d_sosa_code").val() ;
		var reg  = new RegExp ("[,()]+", "g") ;
		var tableau = lieu.split(reg) ;

		if (tableau.length > 1)
			{
			$("#d_sosa_code").val(tableau[1]) ;
			ch += (tableau[0] + "@") ;
			ch += (tableau[1] + "@") ;
			}
		else
			{
			ch += ("@") ;
			ch += ($("#d_sosa_code").val() + "@") ;
			}

		document.getElementById("Sosa").parentNode.removeChild(document.getElementById("Sosa")) ;

		xhr.open ("POST", "ajaxAjoutNouveau.php", true) ;
		}
	else															// Modification personnage
		{
		ch  = (base + "@") ;
		ch += ($("#numero").val() + "@") ;
		ch += ($("#sosa_nom").val() + "@") ;
		ch += ($("#sosa_prenom").val() + "@") ;

		ch += ($("#n_sosa_jour").val() + "@") ;
		ch += ($("#n_sosa_mois").val() + "@") ;
		ch += ($("#n_sosa_annee").val() + "@") ;		

		var lieu = $("#n_sosa_code").val() ;
		var reg  = new RegExp ("[,()]+", "g") ;
		var tableau = lieu.split(reg) ;

		if (tableau.length > 1)
			{
			$("#n_sosa_code").val(tableau[1]) ;
			ch += (tableau[0] + "@") ;
			ch += (tableau[1] + "@") ;
			}
		else
			{
			ch += ("@") ;
			ch += ($("#n_sosa_code").val() + "@") ;
			}

		ch += ($("#d_sosa_jour").val() + "@") ;
		ch += ($("#d_sosa_mois").val() + "@") ;
		ch += ($("#d_sosa_annee").val() + "@") ;

		var lieu = $("#d_sosa_code").val() ;
		var reg  = new RegExp ("[,()]+", "g") ;
		var tableau = lieu.split(reg) ;

		if (tableau.length > 1)
			{
			$("#d_sosa_code").val(tableau[1]) ;
			ch += (tableau[0] + "@") ;
			ch += (tableau[1] + "@") ;
			}
		else
			{
			ch += ("@") ;
			ch += ($("#d_sosa_code").val() + "@") ;
			}

		document.getElementById("Sosa").parentNode.removeChild(document.getElementById("Sosa")) ;

		xhr.open ("POST", "ajaxValidationSujet.php", true) ;
		}

	xhr.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded') ;
	xhr.send ("idChaine=" + ch) ;
	}

function js_IndiquerSexeSosa (num_case)
	{
	if (num_case > 1) return ;
	
	var sexe = $("#sexe_enfant").val() ;

	if (sexe > 1) alert ("Veuillez préciser le sexe !") ;
	}

function js_IndiquerLieu (champ)
	{
	var lieu = $(champ).val() ;
//	var reg  = new RegExp ("(ZZ | zz) | [,.()]+", "g") ;
	var reg  = new RegExp ("[,.()]+", "g") ;
	var tableau = lieu.split(reg) ;

	if ((lieu != "") && (isNaN(lieu) == true) && (lieu.length != 3) && (tableau.length == 1))
		return (1) ;
	else	return (0) ;
	}

function js_ChercheNomSosa (num_case)
	{
	var xhr = getHTTPObject () ;

//	On définit ce qu'on va faire quand on aura la réponse

	xhr.onreadystatechange = function ()
		{
//		On ne fait quelque chose que si on a tout reçu et que le serveur est ok

		if (xhr.readyState == 4 && xhr.status == 200)
			{
			resultat = xhr.responseText ;
			
			var personne = resultat.split(";") ;			

			var libelle ;
			
			var i = 0 ;
						
			while (personne[i] != "")
				{
				if (i == 0)
					{
					$("#Fiche").css("height", "593px") ;
					$("#Liste").css("background-color", "#FFC0C0") ;
					$("#Liste").css("border", "1px solid #B05800") ;
						
					$("#smiley").css("display", "block") ;

					$("#Liste").append("<div><font color='red'><b>Vous êtes en train de saisir un nouveau personnage</b></font><br>Peut-être figure-t-il déjà dans la base généalogique ?<br>Si oui, sélectionnez-le dans la liste suivante :<br></div><br>") ;					
					$("#Liste").append("<input type='radio' name='perso' id='perso0' value='0' onClick='js_SelectPersonne1(0)'>") ;
					$("#Liste").append("<span>Création d'un nouveau personnage</span><br>") ;
					}
					
				option = personne[i].split("@") ;
				
				var base = $("#f_base").val() ;
				
				var loupe = "<a href='G_Personnage.php?base=" + base + "&n=" + option[0] + "' target='wclose'" ;
				loupe += "onclick=\"window.open('G_Personnage.php?base=" + base + "&n=" + option[0] + "' ,'wclose', 'width=380, height=180, toolbar=no, scrollbars=yes, status=no, left=264, top=170')\">" ;
				loupe += "<img src='images/loupe.png' border='0'></a>" ;

				libelle = option[2] + " " + option[1] + " (" + option[5] + "-" + option[9] + ")" + loupe ;
				
				$("#Liste").append("<input type='radio' name='perso' id='perso" + (i+1) + "' value='" + (i+1) + "' onClick='js_SelectPersonne1(" + option[0] + ")'>") ;
				$("#Liste").append("<span>" + libelle + "</span><br>") ;
								
				i++ ;
				}
			}		
		}
		
	if (num_case > 1)
		sexe = num_case % 2 ;
	else	sexe = $("#sexe_enfant").val() ;

	ch  = ($("#f_base").val() + "@") ;
	ch += ($("#sosa_nom").val() + "@") ;
	ch += ($("#sosa_prenom").val() + "@") ;
	ch += (sexe + "@") ;

	xhr.open ("POST", "ajaxRecherche.php", true) ;
	xhr.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded') ;
	xhr.send ("idChaine=" + ch) ;
	}

function js_SelectPersonne1 (numero)
	{
	var xhr = getHTTPObject () ;

//	On définit ce qu'on va faire quand on aura la réponse

	xhr.onreadystatechange = function ()
		{
//		On ne fait quelque chose que si on a tout reçu et que le serveur est ok

		if (xhr.readyState == 4 && xhr.status == 200)
			{
			resultat = xhr.responseText ;

//			$("#smiley").css("display", "none") ;

			if (resultat != "Nouveau")
				{
				var ch = resultat.split("@") ;

//				On se sert de innerHTML pour afficher dans les champs

				$("#sosa_nom").val(ch[1]) ;
				$("#sosa_prenom").val(ch[2]) ;

				$("#n_sosa_jour").val(ch[3]) ;
				$("#n_sosa_mois").val(ch[4]) ;
				$("#n_sosa_annee").val(ch[5]) ;
//				$("#n_sosa_lieu").val(ch[6]) ;
//				$("#n_sosa_dpt").val(ch[7]) ;
				$("#n_sosa_code").val(ch[7]) ;

				$("#d_sosa_jour").val(ch[8]) ;
				$("#d_sosa_mois").val(ch[9]) ;
				$("#d_sosa_annee").val(ch[10]) ;
//				$("#d_sosa_lieu").val(ch[11]) ;
//				$("#d_sosa_dpt").val(ch[12]) ;				
				$("#d_sosa_code").val(ch[12]) ;

				relation = numero ;				

				alert ("Relation établie : vous pouvez compléter puis valider !") ;
				}
				
			js_EffaceListe () ;
			}		
		}
		
	ch = $("#f_base").val() + "@" + numero ;

	xhr.open ("POST", "ajaxSelection.php", true) ;
	xhr.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded') ;
	xhr.send ("idNumero=" + ch) ;
	}

function js_Arbre()
	{
	var base = $("#f_base").val() ;
	var url  = window.location.toString().split('?') ;				
	url[0] += "?base=" + base + "&n=1" ;
			
	window.location.replace (url[0]) ;
	}
	
function js_Supprimer(num_case, a)
	{
	if ($("#Case"+num_case).html() == "") return ;
	
	if (num_sosa == 0) return ;

	var base = $("#f_base").val() ;		
	var url  = "G_Suppression.php?base=" + base + "&type=" + a + "&n=" + num_case ;

	window.open (url, "wclose", "width=380,height=250,toolbar=no,scrollbars=no,status=no,left=240,top=170") ;
	}

function js_TabAsc(num_case)
	{
	if ($("#Case"+num_case).html() == "") return ;
	
	if (num_sosa == 0) return ;

	var base = $("#f_base").val() ;
	var url  = "G_TabAsc.php?base=" + base + "&n=" + num_case ;

	window.open (url) ;
	}

function js_TabArm(num_case)
	{
	if ($("#Case"+num_case).html() == "") return ;
	
	if (num_sosa == 0) return ;

	var base = $("#f_base").val() ;
	var url  = "G_TabArm.php?base=" + base + "&n=" + num_case ;

	window.open (url) ;
	}

function js_Ancetres(num_case)
	{
	if ($("#Case"+num_case).html() == "") return ;
	
	if (num_sosa == 0) return ;

	var base = $("#f_base").val() ;
	var url  = "G_Asc.php?base=" + base + "&n=" + num_case ;

	window.open (url) ;
	}

function js_Descendants(num_case)
	{
	if ($("#Case"+num_case).html() == "") return ;
	
	if (num_sosa == 0) return ;

	var base = $("#f_base").val() ;
	var url  = "G_Desc.php?base=" + base + "&n=" + num_case ;

	window.open (url) ;
	}

function js_Parente(num_case)
	{
	if ($("#Case"+num_case).html() == "") return ;
	
	if (num_sosa == 0) return ;

	var base = $("#f_base").val() ;
	var url  = "G_Liste.php?base=" + base + "&n=" + num_case ;

	window.open (url, "wclose", "width=950,height=440,location=no,toolbar=no,scrollbars=no,status=no,left=240,top=170") ;
	}

function js_Infos(num_case)
	{
	if ($("#Case"+num_case).html() == "") return ;
	
	if (num_sosa == 0) return ;

	var base = $("#f_base").val() ;
	var url  = "G_Infos.php?base=" + base + "&n=" + num_case ;

	window.open (url, "wclose", "width=390,height=400,toolbar=no,scrollbars=no,status=no,left=240,top=170") ;
	}

function js_Synchro (localhost)
	{
	var base = $("#f_base").val() ;

	var ch0 = "<center><h2><b>Synchronisation</b></h2></center>" ;
	ch0 += "Le but de la synchronisation est de rendre identique le contenu de votre dossier généalogique " ;
	ch0 += "enregistré sur votre ordinateur personnel (localisé chez vous) et celui " ;
	ch0 += "enregistré sur le serveur www.geneal.com (réseau internet)." ;	
	var ch1 = "Je veux recopier le dossier " + base + "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;de mon ordinateur personnel vers internet<br><font color='red'><b>(bientôt opérationnel)</b></font>" ;
	var ch2 = "Je veux recopier le dossier " + base + "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d'internet vers mon ordinateur personnel" ;
		
	$("#central").show("slow") ;	
	$("#central").append("<div id='intro' style='position:absolute;left:10px; width:375px; text-align:justify;'>" + ch0 + "</div>") ;
	$("#central").append("<div id='fermer' style='position:absolute; top:2px; left:382px;'><img src='images/fermer.png'></div>") ;

	$("#central").append("<form id='synchro'></form>") ;
	$("#central").append("<div id='div1' style='position:absolute; top:120px; left:70px;'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src='images/reseau1.png' border=0><br><input name='sens' id='sens1' type='radio' value='1'>" + ch1 + "</div1>");
	$("#central").append("<div id='div2' style='position:absolute; top:230px; left:70px;'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src='images/reseau2.png' border=0><br><input name='sens' id='sens2' type='radio' value='2'>" + ch2 + "</div2>");

 	$("#fermer").click(function(){js_Fermer();}) ;

	if (localhost)
		{
		ch1  = "La synchronisation ne peut s'effectuer qu'à partir du serveur <span style='color:blue; text-decoration:underline;'>" ;
		ch1 += "http://www.geneal.com</span> (abonnement Gepedia)." ;
		$("#central").append("<div style='position:absolute;top:320px; left:10px; width:375px; text-align:justify; color:red; font-weight:bold;'>" + ch1 + "</div>") ;
		}
	else
		{
		$("#central").append("<input class='bouton' type='button' id='btn_synchro' value='Démarrer le transfert' style='position:absolute; top:325px; left:260px;'>") ;
		$("#btn_synchro").click(function(){js_Synchro2();}) ;
		}
	}
	
function js_Synchro2 ()
	{
	var xhr = getHTTPObject () ;
	var sens ;

	var base = $("#f_base").val() ;

//	On définit ce qu'on va faire quand on aura la réponse

	xhr.onreadystatechange = function ()
		{
//		On ne fait quelque chose que si on a tout reçu et que le serveur est ok

		if (xhr.readyState == 4 && xhr.status == 200)
			{
			resultat = xhr.responseText ;

			ch = resultat.split("@") ;
			
			switch (ch[0])
				{
				case '1':	alert (ch[1]) ;
						break ;
				case '2':	window.open(ch[1]) ;
						break ;
				default : alert ("Vous n'avez pas sélectionné le sens du transfert !") ;
						break ;
				}
			
			$("#central").html("") ;
			$("#central").hide("slow") ;		
			}
		}

	sens = $('input[type=radio][name=sens]:checked').attr('value') ;

	xhr.open ("POST", "ajaxSynchro.php", true) ;
	xhr.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded') ;
	xhr.send ("base=" + base + "&sens=" + sens) ;
	}

function js_Fermer ()
	{
	$("#central").html("") ;
	$("#central").hide("slow") ;		
	}
	
function js_Histo(num_case)
	{
	if ($("#Case"+num_case).html() == "") return ;
	
	if (num_sosa == 0) return ;

	var base = $("#f_base").val() ;
	var url  = "G_Histo.php?base=" + base + "&n=" + num_case ;

	window.open (url, "wclose", "width=480,height=400,toolbar=no,scrollbars=yes,status=no,left=240,top=170") ;
	}

function js_Message(num_case)
	{
	if ($("#Case"+num_case).html() == "") return ;
	
	if (num_sosa == 0) return ;

	var base = $("#f_base").val() ;
	var url  = "G_Infos3.php?base=" + base + "&n=" + num_case ;

	window.open (url, "wclose", "width=390,height=300,toolbar=no,scrollbars=yes,status=no,left=240,top=170") ;
	}

function js_Habilitation(num_case)
	{
	if ($("#Case"+num_case).html() == "") return ;
	
	if (num_sosa == 0) return ;

	if (document.forms["Modifier"].elements["btn_modifier_sujet"].disabled == true)
		{
		alert ("Vous ne vous êtes pas identifié !") ;
		return ;
		}
	
	var base = $("#f_base").val() ;
	var url  = "G_Habilitation.php?base=" + base + "&n=" + num_case ;

	window.open (url, "wclose", "width=400,height=360,toolbar=no,scrollbars=no,status=no,left=240,top=170") ;
	}

function js_Nouveau(num_case)
	{
	if ($("#Case"+num_case).html() != "")
		{
		alert ("Choix invalide !") ;
		return ;
		}
	
	var base = $("#f_base").val() ;

	if ((base == "Capet") && (num_case > 1) && (num_sosa != 0))
		{
		alert ("Choix invalide !") ;
		}
	else
		{
		js_OuvreSosa(num_case, 2) ;
		}
	}

