// 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 =document.form1.menu_geo[0].value;
	    while (i < document.form1.menu_geo.length && !found)
	        {
	            if(document.form1.menu_geo[i].checked)
	            {
	                find = true;
	                var dep = document.form1.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 = document.form1.menu_geo[0].value;
	        found = false;
	        
	        //alert(document.form1.menu_geo.length);
    	    
	        while (i < document.form1.menu_geo.length && !found)
	        {
	            if(document.form1.menu_geo[i].checked)
	            {
	                find = true;
	                formulaire.menu_geo.value = document.form1.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 < document.form1.menu_geo.length && !found)
        {
            if(document.form1.menu_geo[i].checked)
            {
                find = true;
                var zone = document.form1.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 = document.getElementById("form1");
    // 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 go()
{
    var oxhr = getXhr();
    var texte = document.getElementById('seekedtext');
    var div_result = document.getElementById('DIV_result');
    // On défini ce qu'on va faire quand on aura la réponse
	oxhr.onreadystatechange = function(){
        if(oxhr.readyState < 4){	            
	            div_result.innerHTML= "Chargement de la liste en cours...";
	    }
        if(oxhr.readyState == 4){
	        var doc = oxhr.responseText;
	        //alert(doc +','+oxhr.status);	            
            div_result.innerHTML= doc;
        }	            
	}
    // Ici on va voir comment faire du post
    
    /** ATOMZ **/
	//oxhr.open("GET","http://search.atomz.com/search/",true);
	// ne pas oublier ça pour le post
	//oxhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
//	<input type="hidden" name="sp_a" value="sp10043894">
//<input size="15" name="sp_q"><br>
//<input type="submit" value="Search">
//<input type="hidden" name="sp_p" value="all">
//<input type="hidden" name="sp_f" value="ISO-8859-1">
	//oxhr.send("sp_a=sp10043894&sp_q="+texte.value+"&sp_p=all&sp_f=ISO-8859-1");
	
	/** FREE FIND **/
	if(texte.value != null)
	{
	    oxhr.open("GET","http://search.freefind.com/find.html?si=32831849&pid=r&n=0&_charset_=UTF-8&bcd=&#247;&query="+texte.value,true);
	    oxhr.send(null);
	    //alert(texte.value);
	}
	//alert("sa menerve");
	

}

function go2()
{
    var texte = document.getElementById('seektext');
    var form = document.getElementById('freefind');
    document.forms["freefind"].query.value = texte.value;
    document.forms["freefind"].submit();
    document.getElementById('f_search').style.display='block';
}
