var NbCheckBox = 0;
var admin;
var no_page = 0;
var nb_page;

/*-----------------------------------------------------------------------------
          Fonction pour décocher toutes les checkbox
-----------------------------------------------------------------------------*/

function decoche(page)
  {
	err_parent = 0;
	i = 0;
	while(!err_parent) 
    {
    try
      {
      document.getElementById("CB"+i).checked = false;
      err_enfant = 0;
    	j = 1;
    	while(!err_enfant) 
        {
        try
          {          
          document.getElementById("CB"+i+"e"+j).checked = false;
          }
        catch(err)
          {
          err_enfant = 1;
          }            
        j++;
        }        
      }
    catch(err)
      {
      err_parent = 1;
      }
    i++;
    }
  document.getElementById("recherche").value="";
  go(page);
  }
  
/*-----------------------------------------------------------------------------
          Fonction pour cocher la checkbox correspond au nom
-----------------------------------------------------------------------------*/

function cocher(cb)
  {
  if (document.getElementById(cb).checked == true)
    {
    document.getElementById(cb).checked = false;
    }
  else
    {
    document.getElementById(cb).checked = true;
    }
  //go();
  decoche_enfant();
  }

/*-----------------------------------------------------------------------------
      Fonction pour cocher la checkbox correspond au nom (ss_cat)
-----------------------------------------------------------------------------*/

function cocher_ss_cat(cb,no_Cat_Sup,page)
  {
  //alert("cb : " + cb + ", no_cat_sup : " + no_Cat_Sup);
  if (document.getElementById(cb).checked == true)
    {
    document.getElementById(cb).checked = false;
    go(page);
    }
  else
    {
    document.getElementById(cb).checked = true;
    CB_coche(no_Cat_Sup);
    }  
  }
  
/*-----------------------------------------------------------------------------
    Fonction pour afficher la possibilité d'ajouter une option (catégorie)
-----------------------------------------------------------------------------*/

function aff_ajout_cat()
  {  
  if (document.getElementById("ajouter_cat").style.display == "none")
    {
    document.getElementById("ajouter_cat").style.display = "block";
    document.getElementById("TB_gestionCat").value = "";
    document.getElementById('TB_ordreCat').value   = "00";
    document.getElementById('lstOpt').value = 0;
    }
  else
    {
    document.getElementById("ajouter_cat").style.display = "none"
    }
  }

/*-----------------------------------------------------------------------------
              Fonction pour la gestion des catégories
-----------------------------------------------------------------------------*/

function changeGestion()
  {
  var no_menu = document.getElementById('lstOpt').value;
  if ((no_menu == "0bis") || (no_menu == "0"))
    {
    document.getElementById('lstOpt').value = 0;
    document.getElementById('TB_gestionCat').value    = "";
    document.getElementById('TB_ordreCat').value      = "00";
    document.getElementById('img_mod').style.display  = "none";
    document.getElementById('img_plus').style.display = "block";
    }
  else
    {
    var menu   = no_menu.substr(no_menu.indexOf("&",0)+1,100);
    var ss_cat = no_menu.substring(no_menu.indexOf("|",0)+1,no_menu.indexOf("&",0));
    //alert(ss_cat);
    //no_menu  = no_menu.substring(0,no_menu.indexOf("|",0));
    var ordre    = no_menu.substr(0,2);
    
    document.getElementById('TB_gestionCat').value    = menu;
    document.getElementById('TB_ordreCat').value      = ordre;
    document.getElementById('img_mod').style.display  = "block";
    document.getElementById('img_plus').style.display = "none";    
    document.getElementById('lstSsCat').value = ss_cat;
    }
  }

/*-----------------------------------------------------------------------------
                  Fonction pour ajouter une option
-----------------------------------------------------------------------------*/

function ajout_opt()
  {
  var new_opt = document.getElementById("TB_gestionCat").value;
  if (!new_opt)
    {
    alert("Vous n'avez rien rentré !");
    }
  else
    {
    var ordre  = document.getElementById('TB_ordreCat').value;
    var ss_cat = document.getElementById('lstSsCat').value;
    new_opt = nettoyer(new_opt);
    window.location.href = 'admin.php?id=1&new=' + new_opt + "&ordre=" + ordre + "&ss_cat=" + ss_cat;
    }  
  }
    
/*-----------------------------------------------------------------------------
                  Fonction pour modifier une option
-----------------------------------------------------------------------------*/

function mod_opt()
  {
  var new_opt = document.getElementById("TB_gestionCat").value;
  if (!new_opt)
    {
    alert("Vous n'avez rien rentré !");
    }
  else
    {
    var no_menu = document.getElementById('lstOpt').value;
    var ss_cat  = document.getElementById('lstSsCat').value;
    var ordre   = document.getElementById('TB_ordreCat').value;
    var no_opt  = no_menu.substring(2,no_menu.indexOf("|",0));
    new_opt     = nettoyer(new_opt);
    no_opt      = nettoyer(no_opt);
    window.location.href = 'admin.php?id=3&no_opt=' + no_opt + '&new=' + new_opt + "&ordre=" + ordre + "&ss_cat=" + ss_cat;
    }  
  }
      
/*-----------------------------------------------------------------------------
                  Fonction pour supprimer une option
-----------------------------------------------------------------------------*/

function supp_opt()
  {
  if (confirm('Etes-vous sûr de vouloir supprimer cette option ?'))
    {
    var no_menu = document.getElementById('lstOpt').value;
    var no_opt = no_menu.substring(2,no_menu.indexOf("|",0));
    window.location.href = 'admin.php?id=4&no_opt=' + no_opt;
    }              
  }

/*-----------------------------------------------------------------------------
            Fonction pour nettoeyr une chaine (caractère spéciaux)
-----------------------------------------------------------------------------*/

  
function nettoyer(str_a_nettoyer)
  {
  //str_a_nettoyer = str_a_nettoyer.replace(" ", "");
  str_a_nettoyer = str_a_nettoyer.replace("&", "");
  str_a_nettoyer = str_a_nettoyer.replace("?", "");
  str_a_nettoyer = str_a_nettoyer.replace("=", "");
  return str_a_nettoyer;
  }
  
/*-----------------------------------------------------------------------------
                  Fonction pour ajouter une photo
-----------------------------------------------------------------------------*/

function ajout_photo()
  {
  //window.location.href = 'ajout_borne.php';
  window.open("ajout_borne.php");
  }

/*-----------------------------------------------------------------------------
   Fonction pour afficher la photo de la borne sélectionnée dans un popup
-----------------------------------------------------------------------------*/

function aff_photo(lien, no_borne)
  {
  if (admin)
    {    
    window.open("photo_admin.php?lien=" + lien + "&no_borne=" + no_borne);    
    }
  else
    {
    window.open("photo.php?lien=" + lien);
    }
  }
  
/*-----------------------------------------------------------------------------
      Fonction appellée quand on clique sur une CB étant une sous_cat
-----------------------------------------------------------------------------*/

function CB_coche(no_Cat_Sup, page)
  {
  //alert("CB" + no_Cat_Sup);
  document.getElementById("CB" + no_Cat_Sup).checked = true;
  go(page);
  }
  

/*-----------------------------------------------------------------------------
                Fonction pour aller à la page suivante
-----------------------------------------------------------------------------*/

function page_suivante()
  {
  //alert(no_page);
  if(isNaN(no_page) == true)
    {
    no_page = 0;
    }
  nb_page = parseInt(document.getElementById("nb_page").innerHTML)-1;
  if (no_page != nb_page)
    {
    no_page = no_page + 1;
    ajax_vignette(no_page);
    }
  }


/*-----------------------------------------------------------------------------
                Fonction pour aller à la page précédente
-----------------------------------------------------------------------------*/

function page_precedente()
  {
  if(isNaN(no_page) == true)
    {
    no_page = 0;
    }
  //alert(no_page);
  if (no_page != 0)
    {
    no_page = no_page - 1;
    ajax_vignette(no_page);
    }
  }


/*-----------------------------------------------------------------------------
                Fonction pour aller à la dernière précédente
-----------------------------------------------------------------------------*/

function page_fin()
  {
  nb_page = parseInt(document.getElementById("nb_page").innerHTML)-1;
  no_page = nb_page;
  //alert(no_page);
  ajax_vignette(no_page);
  }
  
  
/*-----------------------------------------------------------------------------
                Fonction pour aller à la première précédente
-----------------------------------------------------------------------------*/

function page_deb()
  {
  no_page = 0;
  ajax_vignette(no_page);
  }
  

/*-----------------------------------------------------------------------------
 Fonction pour appeler la page du serveur pour changer les valeurs de la page
-----------------------------------------------------------------------------*/

function go(page)
  {
  no_page = parseInt(page);
  //alert(no_page);
  ajax_cb();
  ajax_vignette(page);
  }


/*-----------------------------------------------------------------------------
 Fonction servant à décocher tous les enfants dont les parents sont décochés
-----------------------------------------------------------------------------*/

function decoche_enfant(page)
  {
	err_parent = 0;
	i = 0;
	while(!err_parent) 
    {
    try
      {
      if (!document.getElementById("CB"+i).checked)
        {
        err_enfant = 0;
      	j = 1;
      	while(!err_enfant) 
          {
          try
            {          
            document.getElementById("CB"+i+"e"+j).checked = false;
            }
          catch(err)
            {
            err_enfant = 1;
            }            
          j++;
          }
        }
      }
    catch(err)
      {
      err_parent = 1;
      }
    i++;
    }
  go(page);
  }


/*-----------------------------------------------------------------------------
          Fonction pour créer un élément XMLHttpRequest
-----------------------------------------------------------------------------*/

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 pour appeler la page du serveur pour changer la partie gauche
-----------------------------------------------------------------------------*/

function ajax_cb()
  {
  // on modifie les informations des checkbox	
	
	var xhr2 = getXhr();   // On crée un élément XMLHttpRequest
	xhr2.onreadystatechange = function()
    {
		// si on a tout reçu et que le serveur est ok
		if(xhr2.readyState == 4 && xhr2.status == 200)
      {
			resultat = xhr2.responseText;
			// On affiche le résultat dans la div listedesbornes
			document.getElementById('CBs').innerHTML = resultat;
		  }
	  }
	// On envoie les arguments nécessaire à la requete à la page sur le serveur
	xhr2.open("POST","server.php",true);
	xhr2.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	var coche = "";
	var arg = " Nom_borne LIKE '" + document.getElementById("recherche").value + "%' ";
         
	err_parent = 0;
	i = 0;
	while(!err_parent)
    {
    try
      {
      if (document.getElementById("CB"+i).checked)
        {
        arg = arg + "AND " + document.getElementById("CB"+i).name + "=1 ";
        coche += "&CB"+i+"=1";  
        }
      else
        {
        coche += "&CB"+i+"=0";
        }        
      err_enfant = 0;
    	j = 1;
    	while(!err_enfant) 
        {
        try
          {          
          if (document.getElementById("CB"+i+"e"+j).checked)
            {
            arg = arg + "AND " + document.getElementById("CB"+i+"e"+j).name + "=1 ";
            coche += "&CB"+i+"e"+j+"=1";  
            }
          else
            {
            coche += "&CB"+i+"e"+j+"=0";
            }               
          }
        catch(err)
          {
          err_enfant = 1;
          }            
        j++;
        }        
      }
    catch(err)
      {
      err_parent = 1;
      }
    i++;
    }
    
  // On envoie les informations par méthode POST
	xhr2.send("id=2&choix="+arg+coche);
  }
  

/*-----------------------------------------------------------------------------
   Fonction pour appeler la page du serveur pour changer la partie droite
-----------------------------------------------------------------------------*/
  
function ajax_vignette(page)
  {  
  // on modifie les informations pour les vignettes
  
	var xhr = getXhr();
	xhr.onreadystatechange = function()
    {
		// si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200)
      {
			resultat = xhr.responseText;
			// On affiche le résultat dans la div listedesbornes
			document.getElementById('listedesbornes').innerHTML = resultat;
		  }
	  }

	// On envoie les arguments nécessaire à la requete à la page sur le serveur
	xhr.open("POST","server.php",true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	var arg = " Nom_borne LIKE '" + document.getElementById("recherche").value + "%' ";
	
	err_parent = 0;
	i = 0;
	while(!err_parent) 
    {
    try
      {
      if (document.getElementById("CB"+i).checked)
        {
        arg = arg + "AND " + document.getElementById("CB"+i).name + "=1 ";
        }     
      err_enfant = 0;
    	j = 1;
    	while(!err_enfant) 
        {
        try
          {          
          if (document.getElementById("CB"+i+"e"+j).checked)
            {
            arg = arg + "AND " + document.getElementById("CB"+i+"e"+j).name + "=1 ";
            }              
          }
        catch(err)
          {
          err_enfant = 1;
          }            
        j++;
        }        
      }
    catch(err)
      {
      err_parent = 1;
      }
    i++;
    }
  
  // On envoie les informations par méthode POST
	xhr.send("id=1&choix="+arg+"&page="+page);					
  }
