
// document.getElementById('progress_bar').style.display="none"


// var w3c=(document.getElementById)?true:false;
// var ie=(document.all)?true:false;
// var N=-1;

// function createBar(w,h,bgc,brdW,brdC,blkC,speed,blocks,count,action){
// if(ie||w3c){
// var t='<div id="_xpbar'+(++N)+'" style="visibility:visible; position:relative; overflow:hidden; width:'+w+'px; height:'+h+'px; background-color:'+bgc+'; border-color:'+brdC+'; border-width:'+brdW+'px; border-style:solid; font-size:1px;">';
// t+='<span id="blocks'+N+'" style="left:-'+(h*2+1)+'px; position:absolute; font-size:1px">';
// for(i=0;i<blocks;i++){
// t+='<span style="background-color:'+blkC+'; left:-'+((h*i)+i)+'px; font-size:1px; position:absolute; width:'+h+'px; height:'+h+'px; '
// t+=(ie)?'filter:alpha(opacity='+(100-i*(100/blocks))+')':'-Moz-opacity:'+((100-i*(100/blocks))/100);
// t+='"></span>';
// }
// t+='</span></div>';
// document.write(t);
// var bA=(ie)?document.all['blocks'+N]:document.getElementById('blocks'+N);
// bA.bar=(ie)?document.all['_xpbar'+N]:document.getElementById('_xpbar'+N);
// bA.blocks=blocks;
// bA.N=N;
// bA.w=w;
// bA.h=h;
// bA.speed=speed;
// bA.ctr=0;
// bA.count=count;
// bA.action=action;
// bA.togglePause=togglePause;
// bA.showBar=function(){
// this.bar.style.visibility="visible";
// }
// bA.hideBar=function(){
// this.bar.style.visibility="hidden";
// }
// bA.tid=setInterval('startBar('+N+')',speed);
// return bA;
// }}

// function startBar(bn){
// var t=(ie)?document.all['blocks'+bn]:document.getElementById('blocks'+bn);
// if(parseInt(t.style.left)+t.h+1-(t.blocks*t.h+t.blocks)>t.w){
// t.style.left=-(t.h*2+1)+'px';
// t.ctr++;
// if(t.ctr>=t.count){
// eval(t.action);
// t.ctr=0;
// }}else t.style.left=(parseInt(t.style.left)+t.h+1)+'px';
// }

// function togglePause(){
// if(this.tid==0){
// this.tid=setInterval('startBar('+this.N+')',this.speed);
// }else{
// clearInterval(this.tid);
// this.tid=0;
// }}

// function togglePause(){
// if(this.tid==0){
// this.tid=setInterval('startBar('+this.N+')',this.speed);
// }else{
// clearInterval(this.tid);
// this.tid=0;
// }}

/*
*  Fonctions Ajax
*/

var requete = null;
var LibellesPagination = new Array;
var EventsContenu = new Array;
var racine;
var messageSosaAnnul;
var messageSosaConfirm;

function CreerRequete(){
	   try 
    {
        requete = new XMLHttpRequest();
    }
    catch (microsoft)
    {
        try
        {
            requete = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch(autremicrosoft)
        {
            try
            {
                requete = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch(echec)
            {
                 requete = null;
            }
        }
    }
    if(requete == null)
    {
        alert('Impossible de créer l\'objet requête,\nVotre navigateur ne semble pas supporter les object XMLHttpRequest.');
    }
}
	
function ObtenirRecherchesZones(racine) {

        CreerRequete();
		country= document.getElementById('list_country').value;
	    var url = racine+"/webroot/utilitaires/recherches/RecherchesEventsAjax.php?country="+country;
        requete.open('GET', url, false);
        requete.onreadystatechange = function()
        {
            if(requete.readyState == 4)
            {
                if(requete.status == 200)
                  {
					contenu= requete.responseText;
					document.getElementById('list_zones').innerHTML = contenu;
					document.getElementById('list_cities').options.length = 1
					//document.getElementById('list_cities').selectedIndex = 0;
				  }
            }
        };
	requete.send(null);
 }
 
 function ObtenirRecherchesCities(racine) {

        CreerRequete();
		country= document.getElementById('list_country').value;
		zone= document.getElementById('list_zones').value;
	    var url = racine+"/webroot/utilitaires/recherches/RecherchesEventsAjax.php?country="+country+"&zone="+zone;

        requete.open('GET', url, false);
        requete.onreadystatechange = function()
        {
            if(requete.readyState == 4)
            {
                if(requete.status == 200)
                  {
					contenu= requete.responseText;

					document.getElementById('list_cities').innerHTML = contenu;
				  }
            }
        };
	requete.send(null);
 }
 
  
 /*
 * Recherches de libelles traduits pour la pagination
 */
  function ObtenirLibellesPagination(racine) {
	    CreerRequete();
		var url = racine+"/webroot/utilitaires/recherches/ObtenirLibellesAjax.php";
		//alert(url);
        requete.open('GET', url, false);
        requete.onreadystatechange = function() {
            if(requete.readyState == 4) {
                if(requete.status == 200) {
					//ResponseJson = requete.responseText;
					Response = requete.responseText;
//alert (Response);
					chaine_libelles = Response.split('<>');
					for (i=0;i<chaine_libelles.length;i++) {
						sous_chaine = chaine_libelles[i].split(',');
						LibellesPagination[sous_chaine[0]] = sous_chaine[1] ;
						
					}
					//LibellesPagination = JSON.parse(ResponseJson);
//alert(LibellesPagination);
				}
			}
		};
	requete.send(null);
  }
  
 /*
 * Recherches et 1er affichage des evenements selon les critères définis dans le formulaire
 */
  function ObtenirRecherchesEvent(racine, page) {

        CreerRequete();
		var i;
		var country = document.getElementById('list_country').value;
		var zone = document.getElementById('list_zones').value;
		var city = document.getElementById('list_cities').value;
		var evnt = document.getElementById('list_events').value;
		var date_begin = document.getElementById('date_begin').value !== '' ? document.getElementById('date_begin').value : '';
		var date_end = document.getElementById('date_end').value !== '' ? document.getElementById('date_end').value : '';
	    var url = racine+"/webroot/utilitaires/recherches/RecherchesEventsAjax.php?country="+country+"&zone="+zone+"&city="+city+"&event="+evnt+"&start="+date_begin+"&end="+date_end;
		//alert(url);
		document.getElementById('attente_retour').style.visibility="visible";
        requete.open('GET', url, false);
        requete.onreadystatechange = function() {
            if(requete.readyState == 4) {
                if(requete.status == 200) {
					document.getElementById('attente_retour').style.visibility="hidden";
					Response = requete.responseText;
					//EventsContenu = JSON.parse(ResponseJson);
					chaine_libelles = Response.split('$$');
					for (i=0;i<chaine_libelles.length;i++) {
						//sous_chaine = chaine_libelles[i].split(',');
						EventsContenu[i] = chaine_libelles[i] ;
						
					}
				//	alert(EventsContenu.length+" - "+EventsContenu);
					PaginerRecherchesEvent(racine, 1);
			//		sTab  += "</br><div> <img src='"+racine+"/webroot/images/ligne_orange.png' width=100% height='2px'></div>";
				//	document.getElementById('recherches_resultats').innerHTML = sTab;
				}
			}
		};
		requete.send(null);

  }
  
  
 /*
 * Pagination pour affichage des evenements selon les critères définis dans le formulaire
 */
  function PaginerRecherchesEvent(racine, page) {
	  var i_deb;
	  var i_fin;
	  var nb_res_max;
	  var nb_res_par_page = 30;
	  var total_pages;
	  var reload;
	  var out;
//	  alert (LibellesPagination);
//	  alert (EventsContenu);
	  //console.log(Eventscontenu.length);
	// mise en place du contexte de pagination
		//out =alert(EventsContenu.length+" - "+EventsContenu);
	 	nb_res_max = EventsContenu.length; 
		nb_res_utiles= nb_res_max-1; // on décompte le titrede la table pour connaitre le nombre d'enregistrements hors titres
		out='';
		if (nb_res_max==0) 	{
			out  = "<div> <img src='"+racine+"/webroot/images/ligne_orange.png' width=100% height='2px'></div></br>";
			out += "<br><strong>"+LibellesPagination.NO_RESULTS+"</strong></br>";
		//	out += "<div> <img src='"+racine+"/webroot/images/ligne_orange.png' width=100% height='2px'></div>";
			return  out;
		} 

		out = "<p style='color:#cc0000'><b><i><color=red>"+ nb_res_utiles+" "+LibellesPagination.FOUND_RESULTS+"</i></b></p>";
		
	// calcul des limites basse et haute d'affichage des résultats
		total_pages = Math.ceil(nb_res_max/nb_res_par_page);
		i_deb = (page - 1) * nb_res_par_page;
		i_fin = i_deb + nb_res_par_page;
		i_fin_utiles = i_deb + nb_res_par_page;
		if (i_fin > nb_res_max) {
			i_fin = nb_res_max;
			i_fin_utiles=nb_res_max-1;
		}
	
	// on determine le nombre de resultats vus par page
		if (nb_res_par_page === '') { 
			nb_res_par_page = '30';
		}
		
		if (page == '-1') {
				i_deb = 0;
				i_fin = nb_res_max;
				out += LibellesPagination.RESULTS_NUMBERS+"&nbsp;";
				out += i_deb + 1 +" - "+nb_res_utiles+"</br>";
				out += "<a href=\"#\" onClick='PaginerRecherchesEvent(\"" +racine+"\",1);return false;'>";
				out += LibellesPagination.WITH_LIMITS;
				out += "</a></br></br>";
				
			}
			else {
				out += LibellesPagination.RESULTS_NUMBERS +"&nbsp;";
				out += i_deb + 1 +" - "+i_fin_utiles+"</br>";
						
				out += '<div class="pagination"><ul>';	

				if (total_pages > 1) {
					
					out += Pagination(racine, page, total_pages);
				}
				
				out += "</ul></div>"; 
				
				// lien pour ne pas mettre de limites de résultats
				out += "<a href=\"#\" onClick='PaginerRecherchesEvent(\"" +racine+"\",-1);return false;'>";
				out += LibellesPagination.NO_LIMITS;
				out += "</a></br></br>";
			}
		out += "<div> <img src='"+racine+"/webroot/images/ligne_orange.png' width=100% height='2px'></div></br></br>";
		out += "<strong>"+EventsContenu[0]+"</strong>";	 // titre du tableau	
		if (i_deb==0) {i_deb=1;}
		for (i = i_deb; i < i_fin; i++) {
			out += EventsContenu[i];
		}
		out  += "</table></br><div> <img src='"+racine+"/webroot/images/ligne_orange.png' width=100% height='2px'></div>";
		document.getElementById('recherches_resultats').innerHTML = out;
		//alert(out);	
		//return out;	

		// fin de la pagination		
		
  }
 
 function Pagination(racine, page, tpages) {
	 racineImages = racine + "/webroot/images/";
	 Lien_onClick = " onClick='PaginerRecherchesEvent(\"" +racine+"\",";
	 //Lien_onClick = " onClick=\'alert(\'on va paginer \' " +racine+ ", ";
	// calcul de la pagination effective
	 adjacents = 2;

    if (page == 1) {
        outpage= "<span><img src='"+ racineImages  +"navigation/start.gif'></span><span><img src='"+ racineImages  +"navigation/back.gif'></span>\n";
    } else if (page == 2) {
        outpage= "<li><a  href=\"#\" "+ Lien_onClick +"1);return false;'><img src='"+ racineImages  +"navigation/start.gif'></a></li><li><a  href=\"#\" "+ Lien_onClick +"1);return false;'><img src='"+ racineImages  +"navigation/back.gif'></a></li>\n";
    } else {
        outpage= "<li><a  href=\"#\" "+ Lien_onClick +"1);return false;'><img src='"+ racineImages  +"navigation/start.gif'></a></li><li><a  href=\"#\" "+ Lien_onClick + (page - 1) +");return false;'><img src='"+ racineImages  +"navigation/back.gif'></a></li>\n";
    }
  
    pmin = (page > adjacents) ? (page - adjacents) : 1;
    pmax = (page < (tpages - adjacents)) ? (page + adjacents) : tpages;
	if (page > (1+ adjacents)) {
        outpage += "<a href=\"#\" "+  Lien_onClick + "1);return false;' >1 ...</a>\n";
    }
    for (i = pmin; i <= pmax; i++) {
		
        if (i == page) {
            outpage += "<li class=\"active\"><a style='font-size:11px'  href=\"#\" "+ Lien_onClick + i +");return false;'>" + i +"</a></li>\n";
        } else if (i == 1) {
            outpage += "<li><a  href=\"#\" "+ Lien_onClick + i +");return false;'>"+i +"</a>\n</li>";
        } else {
				outpage += "<li><a  href=\"#\" "+ Lien_onClick + i +");return false;'>" + i + "</a>\n</li>";
	
        }
    }
    
    if (page < (tpages - adjacents)) {
        outpage += "<a  href=\"#\" "+  Lien_onClick + tpages+");return false;'>... " + tpages + "</a>\n";
    }
    // next
    if (page < tpages) {												 
        outpage += "<li><a  href=\"#\" "+ Lien_onClick + (page + 1)+");return false;'><img src='"+ racineImages  +"navigation/forward.gif'></a></li><li><a  href=\"#\" "+ Lien_onClick + tpages+");return false;'><img src=\'"+ racineImages  +"navigation/end.gif'></a>\n</li>";
    } else {
        outpage += "<span><img src='"+ racineImages  +"navigation/forward.gif'></span><span><img src='"+ racineImages  +"navigation/end.gif'></a></span>\n";
    }

    return outpage;
  }
 
	function AttenteVisibility() {
		
		document.getElementById('attente_retour').style.visibility="visible";
		
	}
	 
	function FermerModal() {
		document.getElementById('fonds').style.visibility='hidden';
		document.getElementById('fonds').display = 'none';
		document.getElementById('modal').style.visibility='hidden';
		document.getElementById('modal').display = 'none';
	}
	
	
	 /*
 * Recherches et 1er affichage des evenements selon les critères définis dans le formulaire
 */
  function ObtenirLanguage(racine, lang) {

        CreerRequete();

	    var url = racine+"/webroot/utilitaires/langues/ObtenirLangueAjax.php?lang="+lang;
		//alert(url);

        requete.open('GET', url, false);
        requete.onreadystatechange = function() {
            if(requete.readyState == 4) {
                if(requete.status == 200) {

			//	alert(requete.responseText);

				}
			}
		};
		requete.send(null);

  }
  function ObtenirSosaIndividus(racine) {

        CreerRequete();

		patronyme=document.getElementById('patro').value;
		famille =document.getElementById('family').value;
		
		var url = racine+"/webroot/utilitaires/familles/sosaAjax.php?patronyme="+patronyme+"&famille="+famille;
        requete.open('GET', url, false);
        requete.onreadystatechange = function()
        {
            if(requete.readyState == 4)
            {
                if(requete.status == 200)
                  {
					contenu= requete.responseText;
//alert(contenu);
					document.getElementById('personnes').innerHTML = contenu;
				  }
            }
        };
	requete.send(null);
 }
 
 function SosaConfirm(racine) {
	
	select_patro = document.getElementById("patro");
	patronyme = select_patro.options[select_patro.selectedIndex].text;
	
	select_sosa = document.getElementById("personnes");
	sosa = select_sosa.options[select_sosa.selectedIndex].text;
	id_sosa = select_sosa.options[select_sosa.selectedIndex].value;
	famille =document.getElementById('family').value;
	//alert('on est dans le js')
	// confirm(patronyme + ' ' + sosa + ' \n va devenir le sosa de la famille' ) ;
	 // return;
	
	CreerRequete();
	
	var url = racine+"/webroot/utilitaires/familles/sosaUpdateAjax.php?phase=0&id_sosa="+id_sosa+"&famille="+famille+"&patronyme="+patronyme+"&sosa="+sosa;
	
	requete.open('GET', url, false);
	requete.onreadystatechange = function() {
		if(requete.readyState == 4) {
			if(requete.status == 200) {
				contenu = requete.responseText.split('$');
	
				messageSosaAnnul= contenu[1];
				messageSosaConfirm= contenu[2];
				document.getElementById('confirmation').className ="box1 alert-confirm";
				document.getElementById('confirmation').style.visibility='visible';
				document.getElementById('confirmation').style.display='inline-block';
				document.getElementById('confirmation').innerHTML = contenu[0];
			}
		}
	};
	requete.send(null);
 }
 
 function AnnulerSosaUpdate() {
	//	message= "Annulation du changement de sosa";
	document.getElementById("confirmation").className ="box1 w400p alert-error";
	document.getElementById('confirmation').innerHTML = messageSosaAnnul;
	return false;
	 
 }
	 
 function ConfirmerSosaUpdate(racine, famille, id_sosa) {
	 
	//	message= "Le changement de sosa a bien été effectué";
	id_sosa = select_sosa.options[select_sosa.selectedIndex].value;
	famille =document.getElementById('family').value;

	CreerRequete();
	
	var url = racine+"/webroot/utilitaires/familles/sosaUpdateAjax.php?phase=1&id_sosa="+id_sosa+"&famille="+famille;
	
	requete.open('GET', url, false);
	requete.onreadystatechange = function() {
		if(requete.readyState == 4) {
			if(requete.status == 200)  {
     		  contenu = requete.responseText.split('$');
			   	document.getElementById("confirmation").className ="box1 w400p alert-success";
				document.getElementById('confirmation').innerHTML = messageSosaConfirm;
				return false;
				}
		}
	};
	requete.send(null);
 }
 
 function UpdateArbre(sexe,jscolor) {
    // 'jscolor' instance can be used as a string
	
	if (sexe=='H') {
		classe = document.getElementsByClassName('box1H');
		links = document.getElementsByClassName('lienCouleurH');
		document.getElementById('colorH').value = jscolor;
	}
	else {
		classe = document.getElementsByClassName('box1F');
		links = document.getElementsByClassName('lienCouleurF');
		document.getElementById('colorF').value = jscolor;
	}
	
	isLight = 0.213 * Math.round(jscolor.rgb[0]) + 0.715 * Math.round(jscolor.rgb[1]) + 0.072 * Math.round(jscolor.rgb[2]);
	//alert(islight)	;
	foregroundColor = isLight >255/2 ? '#000' : '#FFF';
	linkClass= isLight >255/2 ? 'lienCouleur lienCouleurClaire' : 'lienCouleur lienCouleurSombre' ; // pour changer la couleur du lien
	linkColor= isLight >255/2 ? '#990000' : '#fcf175'; 
	// document.write(document.alinkColor) = linkcolor;
	// document.write(document.vlinkColor) = linkcolor;
	//alert (foregroundColor);
	for (i = 0; i < classe.length; i++) {
	 classe[i].style.backgroundColor = '#' + jscolor;
	 classe[i].style.color = foregroundColor;
	 if(links[i].href)
        {
         // links[i].className = linkClass ; 
		   links[i].style.color = linkColor ;  
        }

	}
 }
 
 
function UpdateSaveColorsArbre(racine,colorH,colorF) {
 
	CreerRequete();
	var colorF = document.getElementById('colorF').value;
	var colorH = document.getElementById('colorH').value;
	var url = racine+"/webroot/utilitaires/arbres/EnregistrerCouleursUserAjax.php?colorH=" + colorH + "&colorF=" + colorF;

	requete.open('GET', url, false);
	requete.onreadystatechange = function() {
	
		if(requete.readyState == 4) {
			if(requete.status == 200)  {
				contenu=requete.responseText.split('$');
				CssArbre = "<style type='text/css'> .box1H { background-color: #"+contenu[0]+"\; } 	.box1F { background-color: #"+contenu[1]+"\; }	</style>\;";
				document.getElementById('css_arbre').innerHTML = CssArbre;
			}

		}
	
	 };
	 requete.send(null);
// }
   
   


}