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
}

// Node cleaner
function go(c)
{
        if(!c.data.replace(/\s/g,''))
                c.parentNode.removeChild(c);
}

function clean(d)
{
        var bal=d.getElementsByTagName('*');

        for(i=0;i<bal.length;i++){
                a=bal[i].previousSibling;
                if(a && a.nodeType==3)
                        go(a);
                b=bal[i].nextSibling;
                if(b && b.nodeType==3)
                        go(b);
        }
        return d;
} 

/**
* Méthode qui sera appelée sur le click du bouton
*/
function go(page,id_from,id_to,champs)
{
  var xhr = getXhr();
  // On défini 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)
    {
      //alert(xhr.responseText);
      leselect = xhr.responseText;
      // On se sert de innerHTML pour rajouter les options a la liste
      document.getElementById(id_to).innerHTML = leselect;

      if(window.ActiveXObject)
      { // Internet Explorer 
        try
        {
          xhr = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
          xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
      }
    }
  }

  xhr.open("POST",page,true);
  // ne pas oublier ça pour le post
  xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  // ne pas oublier de poster les arguments
  // ici, l'id de l'auteur alert('coucou '+page);

  sel = document.getElementById(id_from);
  idauteur = sel.options[sel.selectedIndex].value;
  xhr.send(champs+"="+idauteur);
}

///////////////////affichage des persos lors de l'inscription/////////////////////
function apercu(select) 
{
document.getElementById("apercu_M").src = "./Images/perso_page_accueil/"+select+"_M_gauche.png";
document.getElementById("apercu_F").src = "./Images/perso_page_accueil/"+select+"_F_droite.png";
}

///////////////////affichage de la taille/////////////////////
function voir_taille(select)
{
document.getElementById("image_taille_PETITE").src= "./Images/inscription/bt_taille_PETITE_off.png";
document.getElementById("image_taille_PETITE").onmouseover= function() {this.src='./Images/inscription/bt_taille_PETITE_roll.png'};
document.getElementById("image_taille_PETITE").onmouseout= function() {this.src='./Images/inscription/bt_taille_PETITE_off.png'};
document.getElementById("image_taille_MOYENNE").src= "./Images/inscription/bt_taille_MOYENNE_off.png";
document.getElementById("image_taille_MOYENNE").onmouseover= function() {this.src='./Images/inscription/bt_taille_MOYENNE_roll.png'};
document.getElementById("image_taille_MOYENNE").onmouseout= function() {this.src='./Images/inscription/bt_taille_MOYENNE_off.png'};
document.getElementById("image_taille_GRANDE").src= "./Images/inscription/bt_taille_GRANDE_off.png";
document.getElementById("image_taille_GRANDE").onmouseover= function() {this.src='./Images/inscription/bt_taille_GRANDE_roll.png'};
document.getElementById("image_taille_GRANDE").onmouseout= function() {this.src='./Images/inscription/bt_taille_GRANDE_off.png'};
document.getElementById("image_taille_"+select).src= "./Images/inscription/bt_taille_"+select+"_on.png";
document.getElementById("image_taille_"+select).onmouseover= function() {this.src='./Images/inscription/bt_taille_'+select+'_on.png'};
document.getElementById("image_taille_"+select).onmouseout= function() {this.src='./Images/inscription/bt_taille_'+select+'_on.png'};
}

function voir_morpho(select)
{
document.getElementById("image_morpho_MINCE").src= "./Images/inscription/bt_morpho_MINCE_off.png";
document.getElementById("image_morpho_MINCE").onmouseover= function() {this.src='./Images/inscription/bt_morpho_MINCE_roll.png'};
document.getElementById("image_morpho_MINCE").onmouseout= function() {this.src='./Images/inscription/bt_morpho_MINCE_off.png'};
document.getElementById("image_morpho_MOYENNE").src= "./Images/inscription/bt_morpho_MOYENNE_off.png";
document.getElementById("image_morpho_MOYENNE").onmouseover= function() {this.src='./Images/inscription/bt_morpho_MOYENNE_roll.png'};
document.getElementById("image_morpho_MOYENNE").onmouseout= function() {this.src='./Images/inscription/bt_morpho_MOYENNE_off.png'};
document.getElementById("image_morpho_FORTE").src= "./Images/inscription/bt_morpho_FORTE_off.png";
document.getElementById("image_morpho_FORTE").onmouseover= function() {this.src='./Images/inscription/bt_morpho_FORTE_roll.png'};
document.getElementById("image_morpho_FORTE").onmouseout= function() {this.src='./Images/inscription/bt_morpho_FORTE_off.png'};
document.getElementById("image_morpho_"+select).src= "./Images/inscription/bt_morpho_"+select+"_on.png";
document.getElementById("image_morpho_"+select).onmouseover= function() {this.src='./Images/inscription/bt_morpho_'+select+'_on.png'};
document.getElementById("image_morpho_"+select).onmouseout= function() {this.src='./Images/inscription/bt_morpho_'+select+'_on.png'};
}

function voir_bonus(select)
{
document.getElementById("image_bonus_RAGE").src= "./Images/page_bonus_modif/bt_RAGE_off.png";
document.getElementById("image_bonus_RAGE").onmouseover= function() {this.src='./Images/page_bonus_modif/bt_RAGE_roll.png'};
document.getElementById("image_bonus_RAGE").onmouseout= function() {this.src='./Images/page_bonus_modif/bt_RAGE_off.png'};
document.getElementById("image_bonus_ESPRIT").src= "./Images/page_bonus_modif/bt_ESPRIT_off.png";
document.getElementById("image_bonus_ESPRIT").onmouseover= function() {this.src='./Images/page_bonus_modif/bt_ESPRIT_roll.png'};
document.getElementById("image_bonus_ESPRIT").onmouseout= function() {this.src='./Images/page_bonus_modif/bt_ESPRIT_off.png'};
document.getElementById("image_bonus_PDV").src= "./Images/page_bonus_modif/bt_PDV_off.png";
document.getElementById("image_bonus_PDV").onmouseover= function() {this.src='./Images/page_bonus_modif/bt_PDV_roll.png'};
document.getElementById("image_bonus_PDV").onmouseout= function() {this.src='./Images/page_bonus_modif/bt_PDV_off.png'};
document.getElementById("image_bonus_"+select).src= "./Images/page_bonus_modif/bt_"+select+"_select.png";
document.getElementById("image_bonus_"+select).onmouseover= function() {this.src='./Images/page_bonus_modif/bt_'+select+'_select.png'};
document.getElementById("image_bonus_"+select).onmouseout= function() {this.src='./Images/page_bonus_modif/bt_'+select+'_select.png'};
}

function voir_modifier_bonus(select)
{
document.getElementById("image_bonus_RAGE").src= "./Images/page_bonus_modif/bt_RAGE_off.png";
document.getElementById("image_bonus_RAGE").onmouseover= function() {this.src='./Images/page_bonus_modif/bt_RAGE_roll.png'};
document.getElementById("image_bonus_RAGE").onmouseout= function() {this.src='./Images/page_bonus_modif/bt_RAGE_off.png'};
document.getElementById("image_bonus_ESPRIT").src= "./Images/page_bonus_modif/bt_ESPRIT_off.png";
document.getElementById("image_bonus_ESPRIT").onmouseover= function() {this.src='./Images/page_bonus_modif/bt_ESPRIT_roll.png'};
document.getElementById("image_bonus_ESPRIT").onmouseout= function() {this.src='./Images/page_bonus_modif/bt_ESPRIT_off.png'};
document.getElementById("image_bonus_PDV").src= "./Images/page_bonus_modif/bt_PDV_off.png";
document.getElementById("image_bonus_PDV").onmouseover= function() {this.src='./Images/page_bonus_modif/bt_PDV_roll.png'};
document.getElementById("image_bonus_PDV").onmouseout= function() {this.src='./Images/page_bonus_modif/bt_PDV_off.png'};
document.getElementById("image_bonus_"+select).src= "./Images/page_bonus_modif/bt_"+select+"_select.png";
document.getElementById("image_bonus_"+select).onmouseover= function() {this.src='./Images/page_bonus_modif/bt_'+select+'_select.png'};
document.getElementById("image_bonus_"+select).onmouseout= function() {this.src='./Images/page_bonus_modif/bt_'+select+'_select.png'};
}

function isSumoPossible(lang)
{
  ////apercus modifiés

document.getElementById("apercu_M").src = "./Images/perso_page_accueil/MUAY_THAI_M_gauche.png";
document.getElementById("apercu_F").src = "./Images/perso_page_accueil/MUAY_THAI_F_droite.png";

  var xhr = getXhr();
  // On défini 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)
    {
//       alert(xhr.responseText);
      leselect = xhr.responseText;
      // On se sert de innerHTML pour rajouter les options a la liste
      document.getElementById("style").innerHTML = leselect;

    }
  }

  xhr.open("POST","./AjaxPhp/selectStyle.php",true);
  // ne pas oublier ça pour le post
  xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  // ne pas oublier de poster les arguments
  // ici, l'id de l'auteur

  sel_1 = document.getElementById("origine");//alert('coucou'+idauteur_3);
  idauteur_1 = sel_1.options[sel_1.selectedIndex].value;
  sel_2 = document.getElementById("morphologie");
//  idauteur_2 = sel_2.options[sel_2.selectedIndex].value;
 idauteur_2 =sel_2.value; 
  sel_3 = document.getElementsByName("sexe");

  if(sel_3[0].checked==true)
    idauteur_3 = sel_3[0].value;
  else
    idauteur_3 = sel_3[1].value;

  xhr.send("origine="+idauteur_1+"&morphologie="+idauteur_2+"&lang="+lang+"&sexe="+idauteur_3);
}



function achat_carte(id_from)
{
  var xhr = getXhr();
  // On défini 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)
    {
      var reg_1=new RegExp("[_]+", "g");
      var reg_2=new RegExp("[/]+", "g");
      var tableau_cout=idauteur.split(reg_1);
      var niveau=tableau_cout[3];
      var cout=tableau_cout[2].split(reg_2);
      leselect = xhr.responseText;
      // On se sert de innerHTML pour rajouter les options a la liste
      document.getElementById("carte_"+id_from).innerHTML = leselect;
      document.getElementById("niveau_carte_"+id_from).innerHTML = "<center>"+niveau+"</center>";
      document.getElementById(id_from+"_cout_XP").innerHTML = "<center>"+cout[0]+"</center><input type=\"hidden\" name=\"cout_XP\" value=\""+cout[0]+"\" \/>";
      document.getElementById(id_from+"_cout_PI").innerHTML = "<center>"+cout[1]+"</center><input type=\"hidden\" name=\"cout_PE\" value=\""+cout[1]+"\" />";
      document.getElementById(id_from+"_cout_PE").innerHTML = "<center>"+cout[2]+"</center><input type=\"hidden\" name=\"cout_PI\" value=\""+cout[2]+"\" />";
      document.getElementById(id_from+"_cout_PA").innerHTML = "<center>"+cout[3]+"</center><input type=\"hidden\" name=\"cout_PA\" value=\""+cout[3]+"\" />";

    }
  }

  xhr.open("POST","./AjaxPhp/selectAchat_Carte.php",true);
  // ne pas oublier ça pour le post
  xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  // ne pas oublier de poster les arguments
  // ici, l'id de l'auteur alert('coucou '+page);

  sel = document.getElementById(id_from);
  idauteur = sel.options[sel.selectedIndex].value;
  xhr.send("champs="+idauteur);
}

  function popupVisuCombat(id_defi,var_bdd,style)
  {  
    if( w && !w.closed )
      w.close();

    w = window.open("./visualisation_1_combat.php?var_bdd="+var_bdd+"&id_defi="+id_defi+"&style="+style,'image','top=50,left=100,width=1044,height=600,toolbar=no,scrollbars=yes,resizable=yes');
  }

  function popupDefi(id_defi)
  {  
    if( w && !w.closed )
      w.close();
    
    w = window.open("./Rapport/defi/"+id_defi+".php",'image','top=50,left=100,width=1044,height=600,toolbar=no,scrollbars=yes,resizable=yes');
    w.document.close();
  }
  

function isActionPossible(chaine,num)
{
  var init_chaine = chaine;
  var xhr = getXhr();
  var num_suiv=parseInt(num)+1;
  // On défini 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)
    {
      //alert(xhr.responseText);
      leselect = xhr.responseText;
      // On se sert de innerHTML pour rajouter les options a la liste
      var reg_1=new RegExp("[#]+", "g");
      var tableau_leselect=leselect.split(reg_1);
      //alert('isActionPossible reponse : '+leselect);
      var taille = tableau_leselect.length;
      for(j=0;j<taille;j++)
      {
	document.getElementById("action_"+(j+num_suiv)).innerHTML = tableau_leselect[j];
	isEffetPossible(init_chaine,j+num_suiv);
      }
    }
  }
  
  xhr.open("POST","./AjaxPhp/selectAction.php",true);
  // ne pas oublier ça pour le post
  xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  // ne pas oublier de poster les arguments
  
  for(i=num;i<=12;i++)
  {
    //if(i==12) alert(chaine);
    sel_1 = document.getElementById("prog_action_"+i);
    idaction = sel_1.options[sel_1.selectedIndex].value;
    //if(i==12) alert(chaine);
    chaine+="&action_"+i+"="+idaction;
  }
  
  //alert('isActionPossible envoie : '+chaine);
  xhr.send(chaine+"&num="+num);
}

function isEffetPossible(chaine,num)
{
  var xhr = getXhr();
  // On défini 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)
    {
      //alert(xhr.responseText);
      leselect = xhr.responseText;
			//alert('isEffetPossible reponse : '+leselect);
//       // On se sert de innerHTML pour rajouter les options a la liste
      document.getElementById("effet_"+(num)).innerHTML = leselect;

    }
  }

  xhr.open("POST","./AjaxPhp/selectEffet.php",true);
  // ne pas oublier ça pour le post
  xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  // ne pas oublier de poster les arguments

  sel_1 = document.getElementById("prog_action_"+num);
  idaction = sel_1.options[sel_1.selectedIndex].value;
  sel_2 = document.getElementById("prog_effet_"+num);
  ideffet = sel_2.options[sel_2.selectedIndex].value;

//alert('isEffetPossible reponse : '+"actions="+idaction+"&effet="+ideffet+"&"+chaine+"&num="+num);
  xhr.send("cas=preprog&action="+idaction+"&effet="+ideffet+"&"+chaine+"&num="+num);
}


function isEffetPossibleDuel(chaine,num,id_perso,id_adv,id_duel)
{
  var xhr = getXhr();
  // On défini 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)
    {
      //alert(xhr.responseText);
      leselect = xhr.responseText;
			//alert('isEffetPossibleDuel reponse : '+leselect);
//       // On se sert de innerHTML pour rajouter les options a la liste
      document.getElementById("effet_"+(num)).innerHTML = leselect;

    }
  }

  xhr.open("POST","./AjaxPhp/selectEffet.php",true);
  // ne pas oublier ça pour le post
  xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  // ne pas oublier de poster les arguments

  sel_1 = document.getElementById("prog_action_"+num);
  idaction = sel_1.options[sel_1.selectedIndex].value;
  sel_2 = document.getElementById("prog_effet_"+num);
  ideffet = sel_2.options[sel_2.selectedIndex].value;

	//alert('isEffetPossibleDuel envoie : '+"id_perso="+id_perso+"&action="+idaction+"&effet="+ideffet+"&"+chaine+"&num="+num+"&id_duel="+id_duel+"&id_adv="+id_adv);
  xhr.send("cas=combat&id_perso="+id_perso+"&action="+idaction+"&effet="+ideffet+"&"+chaine+"&num="+num+"&id_duel="+id_duel+"&id_adv="+id_adv);
}


  function isNbUtilisation(chaine,num,cas)
  {
    var xhr = getXhr();
    // On défini 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)
      {
        leselect = xhr.responseText;
        //alert('isNbUtilisation reponse : '+leselect);
        var reg=new RegExp("[#]+", "g");
        var tableau_cout=leselect.split(reg);
  
        if(cas==1)
          document.getElementById("nb_utilisation_action_"+num).value = tableau_cout[0];
  
        document.getElementById("nb_utilisation_effet_"+num).value = tableau_cout[1];
      }
    }
  
    xhr.open("POST","./AjaxPhp/nbUtilisation.php",true);
    // ne pas oublier ça pour le post
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // ne pas oublier de poster les arguments
    // ici, l'id de l'auteur alert('coucou '+page);
  
    sel_1 = document.getElementById("prog_action_"+num);
    idaction = sel_1.options[sel_1.selectedIndex].value;
    sel_2 = document.getElementById("prog_effet_"+num);
    ideffet = sel_2.options[sel_2.selectedIndex].value;
    
    alert('isNbUtilisation envoie : '+"action="+idaction+"&effet="+ideffet+"&"+chaine+"&num="+num+"&cas="+cas);
    xhr.send("action="+idaction+"&effet="+ideffet+"&"+chaine+"&num="+num+"&cas="+cas);
  }


  function refresh_duel(id_perso,num_round,id_duel)
  {
    var xhr = getXhr();
    //alert("JENVOIE : \n");
    // On défini 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)
      {
        leselect = xhr.responseText;
        //alert("alert de REFRESH : \n"+leselect);
        if(leselect=='JE REVIENS ')
        {
          //alert("RETOUR");
        }
      }
    }
  
    xhr.open("POST","./AjaxPhp/round_duel.php",true);
    // ne pas oublier ça pour le post
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // ne pas oublier de poster les arguments
    
    xhr.send("id_perso="+id_perso+"&num_round="+num_round+"&id_duel="+id_duel);
  }

  function isProgValid(id_perso,num_round,id_duel)
  {
    var xhr = getXhr();
    // On défini 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)
      {
        leselect = xhr.responseText;
        //alert("alert de isProgValid \n"+leselect);
      }
    }
    isBoutonClic=true;
    enleve_valide();

    xhr.open("POST","./AjaxPhp/round_duel.php",true);
    // ne pas oublier ça pour le post
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // ne pas oublier de poster les arguments
    // ici, l'id de l'auteur alert('coucou '+page);

    sel_1 = document.getElementById("prog_action_"+num_round);
    idaction = sel_1.options[sel_1.selectedIndex].value;
    sel_2 = document.getElementById("prog_effet_"+num_round);
    ideffet = sel_2.options[sel_2.selectedIndex].value;
    xhr.send("id_perso="+id_perso+"&action="+idaction+"&effet="+ideffet+"&num_round="+num_round+"&id_duel="+id_duel);
  }

//         if(leselect=='JE REVIENS ')
//         {
//           alert("RETOUR isvalid");
//           self.close();
//         }
/*
        if(leselect=="0#refresh_arene")
	{
	  alert("isProgValid Egalit\u00E9");
          document.location.href='./index.php?page=arene';
	}
        else if(leselect=="1#refresh_arene")
	{
	  alert("isProgValid Vous avez gagn\u00E9 le duel");
          document.location.href='./index.php?page=arene';
	}
        else if(leselect=="2#refresh_arene")
	{
	  alert("isProgValid Vous avez perdu le duel");
          document.location.href='./index.php?page=arene';
	}
*/
/*
        if(leselect=="#refresh_arene")
          document.location.href='./index.php?page=arene';
*/
/*
        if(leselect.lastIndexOf("#")>=0)
          document.location.href='./index.php?page=arene';
*/

// function isProgValid(id_perso,num_round,id_duel,id_adv)
// {
//   var xhr = getXhr();
//   // On défini 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)
//     {
//       leselect = xhr.responseText;
//       //alert(leselect);
//       enleve_valide();
//     }
//   }
// 
//   xhr.open("POST","./AjaxPhp/valid_prog.php",true);
//   // ne pas oublier ça pour le post
//   xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
//   // ne pas oublier de poster les arguments
//   // ici, l'id de l'auteur alert('coucou '+page);
// 
//   sel_1 = document.getElementById("prog_action_"+num_round);
//   idaction = sel_1.options[sel_1.selectedIndex].value;
//   sel_2 = document.getElementById("prog_effet_"+num_round);
//   ideffet = sel_2.options[sel_2.selectedIndex].value;
//   xhr.send("id_perso="+id_perso+"&action="+idaction+"&effet="+ideffet+"&num_round="+num_round+"&id_duel="+id_duel+"&id_adv="+id_adv);
// }



