// Méthode qui retourne un élément XMLHTTPRequest, en prenant compte des différents navigateurs
function getXhr(){
                                var xhr = null; 
				if(window.XMLHttpRequest) // Firefox et autres
				   xhr = new XMLHttpRequest(); 
				else if(window.ActiveXObject){ // Internet Explorer 
				   try {
			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
			            } catch (e) {
			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
				}
				else { // XMLHttpRequest non supporté par le navigateur 
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				   xhr = false; 
				} 
                                return xhr;
			}
			
// Fonction qui envoi les informations qui ont été entrées dans la recherche à la page logger.aspx
//Sert a enregistrer les informations recherchées par les utilisateurs dans la base de données
function send_log(m,but){
//alert('plop1');
    var oxhr = getXhr();
    //alert('plop Apres xhr');
    // On défini ce qu'on va faire quand on aura la réponse
	oxhr.onreadystatechange = function(){
        if(oxhr.readyState == 4){
	        //alert(oxhr.responseText);
	        //alert(oxhr.readyState);
	    }
	}
    // Ici on va voir comment faire du post
	oxhr.open("POST","logger.aspx",true);
	// ne pas oublier ça pour le post
	oxhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	oxhr.send("chk="+m+"&but="+but);
	
}

//Envoi les éléments cochés provenant de fiches.aspx, vers presythese.aspx
//Sert a préparer les informations pour afficher la page synthesefinalenrfr2008.aspx
function test2_data(form,ident){
    var i=0;
    var found = false;
	if(form=="fnors")
	{
	    var reg =theForm.menu_geo[0].value;
	    while (i < theForm.menu_geo.length && !found)
	        {
	            if(theForm.menu_geo[i].checked)
	            {
	                find = true;
	                var dep = theForm.menu_geo[i].value;
	            }
	            i++;
	        }	     
	     
	    window.location="presynthese.aspx?reg="+reg+"&idfnors="+ident+"&dep="+dep+"";
	}
	else
	{
	    var formulaire = document.getElementById("menus");
	    if (formulaire !=null)
	    {
	        formulaire.fiches.value = ident;
	        formulaire.menu_niveau_geo.value = theForm.menu_geo[0].value;
	        found = false;
	        
	        //alert(theForm.menu_geo.length);
    	    
	        while (i < theForm.menu_geo.length && !found)
	        {
	            if(theForm.menu_geo[i].checked)
	            {
	                find = true;
	                formulaire.menu_geo.value = theForm.menu_geo[i].value;
	            }
	            i++;
	        }	   	      
	        formulaire.action="presynthese.aspx";
	        formulaire.target="_top";
	        formulaire.submit();
	    }
	}
}

function redirect1(form)
{
    var formulaire = document.getElementById("form1");
    var i = 0;
    var found = false;
    if(!formulaire.menu_geo) alert ("Vous devez s\351lectionner un lieu g\351ographique");
    else
    {
        while (i < theForm.menu_geo.length && !found)
        {
            if(theForm.menu_geo[i].checked)
            {
                find = true;
                var zone = theForm.menu_geo[i].value;
            }
            i++;
        }
        window.location="sindicateurs.html?from=fiche&zone="+zone+"";
    }
}

//Méthode qui fait le slide des menus de la fiche de synthèse
function Montoggle(ident, fiche_id){
    var formulaire = theForm;
    // On contrôle le fait qu'une zone géographique soit sélectionnée
    if(!formulaire.menu_geo) alert ("Vous devez s\351lectionner un lieu g\351ographique"); 
    else
    {   
        // On change l'image du boutton
        var element = document.getElementById(fiche_id);
        if(navigator.appName=="Microsoft Internet Explorer")
        {
            if(LesSlides[ident] != null)
            {
                if(element.className=="btn_indic_tous") element.className = "btn_indic_seul";
	            else element.className = "btn_indic_tous";
	        }
	    }
	    else
	    {
	        if(element.className=="btn_indic_tous") element.className = "btn_indic_seul";
	            else element.className = "btn_indic_tous";
	    }
       	
            // On créé le slide si il n'existe pas
	    if(LesSlides[ident] == null){
            LesSlides[ident] = new Fx.Slide(ident);
            $(fiche_id).addEvent('click',function(e){			
                e = new Event(e);
                LesSlides[ident].toggle();
                e.stop();
            });
             // On rempli dynamiquement la liste du menu
            fill(ident,fiche_id);
        }
    }
}

function fill(ident,fiche_id){
    var oxhr = getXhr();
    var element = document.getElementById(ident);
    if(element!=null)
    {    
        // On défini ce qu'on va faire quand on aura la réponse
        oxhr.onreadystatechange = function()
        {
            if(oxhr.readyState < 4){	            
	            element.innerHTML= "Chargement de la liste en cours...";
	        }
            if(oxhr.readyState == 4){
	            var doc = oxhr.responseText;	            
	            element.innerHTML= doc;
	        }
	     }
	    // Ici on va voir comment faire du post
	    // ATTENTION 08 correspond a l'id de la synthèse spéciale de la FNORS,
	    // Si un menu est ajouté dans la base de données, il faut modifier cet id
	    if(fiche_id!="08")
	    {
	        oxhr.open("POST","Liste_ssfiche.aspx",true);
	    }
	    
	    if(fiche_id=="08")
	    {
	        oxhr.open("POST","synt_FNORS.aspx",true);
	    }
	    // ne pas oublier ça pour le post
	    oxhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	    oxhr.send("id="+fiche_id);
	    
	}	
}

// sert a mettre en variable de session la liste des éléments sélectionné, dans le popup de la selection des zones
// géographique.
function send_inf(){
    document.getElementById('txtSend').value=ob_t2_list_checked();
    // on execute la méthode test() de la fenêtre appelante //<= plus utilisé
    //window.top.modifier();
}
// Sert a spécifier qu'il s'agit d'un annulation lors de la sélection géographique
function cancel(){
    document.getElementById('txtSend').value="Annuler";
}

// Sert à effectuer la sauvegarde de la sélection géographique
function save_inf(){
//Déclarations de variables
    var Monxhr = getXhr();
   
    var txtSendValue = document.getElementById('txtSend').value;
     Monxhr.onreadystatechange = function()
        {            
            if(Monxhr.readyState == 4)
            {                 
	            var reponse = Monxhr.responseText;
	            if(reponse == "PB_ENR")
	            {
	                alert("Un probl\350me est survenu lors de l'enregistrement.");
	            }
	            else
	            {
	                alert("Votre s\351lection \340 bien \351t\351 enregistr\351e.");
	            }
	        }
	     }
	      // Ici on ouvre la connection vers la page sauv_geo.aspx
	        Monxhr.open("POST","sauv_geo.aspx",true);
    txtSendValue = ob_t2_list_checked();
    if(txtSendValue!=null &&  txtSendValue!="")
    {
        var name =prompt("Veuillez donner un nom \340 votre s\351lection:");
        if(name!=null)
        {            
	        // ne pas oublier ça pour le post
	        Monxhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	        Monxhr.send("name="+name+"&liste_sgeo="+txtSendValue+"");
        }
    }
    else
    {
        alert("Vous devez d'abord cocher vos choix.");                                             
    }
    //window.top.modifier();
    //On execute cette méthode pour que la liste sélectionner s'affiche
    send_inf();
}

// Cette méthode permet de lancer la page des indicateurs avec la sélection géographique voulue
function voir_geo(login_id,id_geo){
    window.location.href = "set_geo.aspx?login="+login_id+"&id_geo="+id_geo;
}

//Cette méthode permet de supprimer la zone géographique
function supp_geo(login_id,id_geo){
    window.location.href = "supp_pref.aspx?login="+login_id+"&id_geo="+id_geo;
}

// Cette méthode permet de supprimer la liste d'indicateurs
function supp_ind(login_id,id_ind){
    window.location.href = "supp_pref.aspx?login="+login_id+"&id_ind="+id_ind;
}
// Cette méthode ferme le popup et indique au visiteur qu'il faut rafraichir la page pour que la sélection 
// soit prise en compte
/*
function test(){

    //w.close();    
    var div_selection = document.getElementById("selection");
    if(div_selection != null)
    {
        //alert("selection not null");
        // On vérifie quel est le navigateur du visiteur, car ils ne réagissent pas de la même manière,
        // pour récupérer le premier élément d'une div
        var ie = /MSIE/.test(navigator.userAgent);
        var moz = !ie && navigator.product == "Gecko";
        if(moz) var tab_p = div_selection.firstChild.nextSibling;
        if(ie) var tab_p = div_selection.firstChild;
        if(tab_p != null)
        {
            //alert("tab_p not null "+ tab_p.nodeName);
            // On affiche le message 
            tab_p.innerHTML =tab_p.innerHTML+'<br/><span style="color:red;">Pour que votre s&eacute;lection soit prise en compte,<br/> veuillez clickez sur modifier.</span>';
        }
        else
        {
            //alert("tab_p null");
        }            
    }
    else
    {
        //alert("selection null");
    }
    
}
*/
// On redirige le visiteur vers, la même page pour que la variable de session soit prise en compte
// On ne fait pas de window.location.reload(), car le navigateur renverrai des informations en POST et ouvrirait
// de nouveau la popup.
function modifier(){
   // var doc;
    //doc=document.location.href.split("?");
    //window.location='tableau2008.html?'+doc[1];
    window.location=window.location;
}
function modifier2(){
    var doc;
    //doc=document.location.href.split("?");
    //window.location='synthesefinalenrfr2008.html?'+doc[1];
    window.location=window.location;
}
//retourne un tableau avec les paramètres présents dans l'URL
function PrmUrl()
{
 var prm = new Array();
 var tmp = unescape(window.location.search).substr(1).split("&");
 var inter;
 for ( i=0; i<tmp.length; i++)
 {
  inter=tmp[i].indexOf("=");
  if ( inter>=0 )
    {
     prm[tmp[i].substr(0,inter)]=tmp[i].substr(inter+1)
    }
  else {
     prm[tmp[i]]="";
    }
 }
 return prm;
}


// Méthode qui récupère le nom de la préférence de l'utilisateur ainsi que la liste.
function setPrefInd(){
   var liste = ob_t2_list_checked();
    if(liste!=null && liste!="")
    {
        var result = prompt('Nom de la pr\351f\351rence:');
        // Si un nom à été entré...
        if(result!=null)
        {
            var $_GET;
            if ( window.location.search )
            {
                $_GET = PrmUrl();
                //alert($_GET['zone']);
            }
            // On récupère un objet xhr
            var oxhr = getXhr();
            oxhr.onreadystatechange = function(){
                if(oxhr.readyState == 4){
	                //alert(oxhr.responseText);
	                if(oxhr.responseText!="")
	                {
	                    if(oxhr.responseText=="Allright")
	                    {
	                        alert("Votre s\351lection \340 bien \351t\351 enregistr\351e.");
	                    }
	                    else
	                    {
	                        alert("Un probl\350me est survenu lors de l'enregistrement de votre s\351l\351ction.");
	                    }
	                }
	            }
	        }
            // Ici on va voir comment faire du post
	        oxhr.open("POST","traitement_ind.aspx",true);
	        // ne pas oublier ça pour le post
	        oxhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	        oxhr.send("liste="+liste+"&nom="+result+"&zone="+$_GET['zone']);
	    }
    	else
        {alert("Votre s\351lection n'\340 pas \351t\351 enregistr\351e.");}
    }
}
function loadContexte()
{
    // On récupère un objet xhr
    var oxhr = getXhr();
    oxhr.onreadystatechange = function(){
        if(oxhr.readyState == 4){
            //alert(oxhr.responseText);
            if(oxhr.responseText!="" && oxhr.responseText!="NO DATA")
            {
                tree_selected_id=oxhr.responseText;
                //alert(tree_selected_id);
                maj_ita(3);
            }
        }
    }
    // Ici on va voir comment faire du post
    oxhr.open("POST","loadContexte.aspx",true);
    // ne pas oublier ça pour le post
    oxhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    oxhr.send("url="+window.location);
}


function OpenWin()
{
     var element = document.getElementById('Details');
     element.visible=true;
     element.style.display="block";
     // on défini l'endroit où devra s'aficher la box
     var ie = (navigator.appName == 'Microsoft Internet Explorer')?1:0;
     var ie6 = (navigator.appName == 'Microsoft Internet Explorer'&& navigator.appVersion.indexOf('MSIE 6') != -1) ? 1:0;
     var ie7 = (navigator.appName == 'Microsoft Internet Explorer'&& navigator.appVersion.indexOf('MSIE 7') != -1) ? 1:0;
     var ie8 = (navigator.appName == 'Microsoft Internet Explorer'&& navigator.appVersion.indexOf('MSIE 8') != -1) ? 1:0;
       
     var oxhr = getXhr();
     if(element!=null)
     {
        // On défini ce qu'on va faire quand on aura la réponse
        oxhr.onreadystatechange = function()
        {
            if(oxhr.readyState == 4)
            { 
                var response = oxhr.responseText;	
                //alert(response);  
                if(response!="bad")
                {
                    element.innerHTML= response;
                }
            }
         }
         
        oxhr.open("POST","../ajax1.aspx",true);
        // ne pas oublier ça pour le post
	    oxhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	    oxhr.send(null);
	}
}
function trim (myString)
{
    return myString.replace(/^\s+/g,'').replace(/\s+$/g,'');
} 

function display(s)
{
    var elt = document.getElementById(s);
    
    
    if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.indexOf("MSIE 6")>-1)
    {
        elt.style.display = "block";
    }
    else
    { 
        try
        {
            elt.style.display = "block";
        }
        catch(err)
        {
            elt.style.visibility ="visible";
        }
    }
}
function hide(s)
{
    var elt = document.getElementById(s);
    if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.indexOf("MSIE 6")>-1)
    {
        elt.style.display = "none";            
    }
    else
    { 
        try
        {
            elt.style.display = "none";
        }
        catch(err)
        {
            elt.style.visibility ="hidden";
        }
    }
}

function _action()
{ 
//    var filtre = document.getElementById("Filtres");
//    document.forms["form2"].action2.value = 1;
//    alert(filtre);
//    document.forms["form2"].filtre.value = filtre.value;
//    alert("4");
//    document.forms["form2"].DDL_Niv.value = document.forms["form1"].DDL_Niv.value;
//    alert("5");
//    document.forms["form2"].DDL_Duree.value = document.forms["form1"].DDL_Duree.value;
//    alert("before submit");
//    document.forms["form2"].submit();


    var filtre = document.getElementById("ctl00_CPH1_Filtres");
    var niveau = document.getElementById("ctl00_CPH1_DDL_Niv");
    var duree = document.getElementById("ctl00_CPH1_DDL_Duree");
    
    document.forms["form2"].action2.value = 1;
    document.forms["form2"].filtre.value = filtre.value;
    document.forms["form2"].DDL_Niv.value = niveau.value;
    document.forms["form2"].DDL_Duree.value = duree.value;
//  alert("before submit");
    document.forms["form2"].submit();
}

function validForm(){
 var m=ob_t2_list_checked();
 if (m.length > 0) {
	//document.location.href="synthesefinalenrfr.aspx?lib=" + m;
	window.open("synthesefinalenrfr2008.html?lib="+m+"&reg="+recupzone());
	// On envoi les informations sélectionées pour les enregistrées
	send_log(m,"tous");
 }
 else {
	 alert ("Attention vous n'avez pas sélectionné d'indicateur !");
 }
}
function Winopen(url,nom){
	window.open (url, nom, 'scrollbars=yes, resizable=yes, top=20, left=100, width=600, height=400')
}
function WinopenFiche(url,nom){
	window.open (url, nom, 'scrollbars=yes, resizable=yes, top=20, left=100, width=600, height=400')
}
function recupzone(){
	 if (window.location.search != "") {
		 longueur = window.location.search.length - 1;
		 data = window.location.search.substr(1,longueur);
		 donnees = data.split("&");
		 urlvar = new Array();
		 urlvarnum = new Array();
		 for (var i=0; i < donnees.length; i++) {
			 position = donnees[i].indexOf("=");
			 variable = donnees[i].substr(0,position);
			 pos = position + 1;
			 valeur = decodeURI(donnees[i].substr(pos,donnees[i].length));
			 while (valeur.search(/\+/) != -1)
				 valeur = valeur.replace(/\+/," ");    
									  
			 urlvar[variable] = valeur;
			 urlvarnum[i] = valeur;
			 
		 }
	 }
//             txtSend = document.getElementById('txtSend');
//             txtSend.value = urlvar['zone'];
	try{
	 if(urlvar['zone']!=null)
	 return urlvar['zone'];
	 }catch(err){}
}


