// Passage de la liste1 à la liste2 en respectant l'ordre et en permettant de faire passer plusieurs éléments
function selectOrdonne(liste1, liste2)
{
  var NouvelleListeValeur = new Array(liste1.length);
  var NouvelleListeTexte = new Array(liste1.length);
  TailleNouvelleListe = 0;
  
  for (i = 0; i < liste1.length; i ++)
  {
    if (liste1.options[i].selected == true)
    {
      // Par défaut, on insère à la fin
      taille_aide = liste2.length;
      index_ajout = taille_aide;
      
      // On rajoute un élément à la fin
      new_option = new Option;
      liste2.options[taille_aide] = new_option;
      
      // On va rechercher l'index à utiliser pour la nouvelle entrée en fonction de l'ordre alphabétique
      for (j = 0; j < taille_aide; j ++)
      {
        if (liste1.options[i].text < liste2.options[j].text)
        {
          index_ajout = j;
          j = taille_aide;
        }
        
      }
      
      // On décale les suivants
      for (j = taille_aide; j > index_ajout; j --)
      {
        liste2.options[j].text = liste2.options[j - 1].text;
        liste2.options[j].value = liste2.options[j - 1].value;
      }
      
      // On renseigne le nouvel élément
      liste2.options[index_ajout].text = liste1.options[i].text;
      liste2.options[index_ajout].value = liste1.options[i].value;
      
      //liste1.options[i] = null;
    }
    else
    {
      NouvelleListeValeur[TailleNouvelleListe] = liste1.options[i].value;
      NouvelleListeTexte[TailleNouvelleListe] = liste1.options[i].text;
      TailleNouvelleListe ++;
    }
  }
  
  // On supprime de la liste de gauche les éléments supprimés
  liste1.length = 0;
  for (i = 0; i < TailleNouvelleListe; i ++)
  {
    NewOption = new Option;
    NewOption.value = NouvelleListeValeur[i];
    NewOption.text = NouvelleListeTexte[i];
    liste1.options[i] = NewOption;
  }
  liste1.length = TailleNouvelleListe;

}

function PostSelect(listeConcurrent, listeAide)
{
  // On compte le nombre d'item des listes listeConcurrent et listeAide
  NbListeConcurrent = listeConcurrent.length;
  NbListeAide = listeAide.length;
  
  // On lance une boucle pour selectionner tous les items de listeConcurrent
  for (i = 0; i < NbListeConcurrent; i++)
  {
    listeConcurrent.options[i].selected = true;
  }
  
  // On lance une boucle pour selectionner tous les items de listeAide
  for (i = 0; i < NbListeAide; i++)
  {
    listeAide.options[i].selected = true;
  }
  
  // On modifie l'Id  des champs select pour que PHP les traite comme des array
  listeConcurrent.name = "concurrents[]";
  listeAide.name = "concurrents_aide[]";
}

function PostSelectRencontresIndiv(listeAide)
{
  // On compte le nombre d'item des listes listeConcurrent et listeAide
  NbListeAide = listeAide.length;
  
  // On lance une boucle pour selectionner tous les items de listeAide
  for (i = 0; i < NbListeAide; i++)
  {
    listeAide.options[i].selected = true;
  }
  
  // On modifie l'Id  des champs select pour que PHP les traite comme des array
  listeAide.name = "concurrents_aide[]";
}

function remplitRencontre(liste_sportif_dom, liste_sportif_ext, listeAide)
{
  index = listeAide.length;
  
  nom_sportif_dom = liste_sportif_dom.options[liste_sportif_dom.selectedIndex].text;
  nom_sportif_ext = liste_sportif_ext.options[liste_sportif_ext.selectedIndex].text;
  
  valeur_ajout = liste_sportif_dom.value + "|" + liste_sportif_ext.value;
  
  if (liste_sportif_dom.value == liste_sportif_ext.value)
    var ajout = false;
  else
    var ajout = true;
  
  // On ne rajoute que si nécessaire
  for (i = 0; i < index; i ++)
  {
    if (listeAide.options[i].value == valeur_ajout)
    {
      ajout = false;
    }
  }
  
  if (ajout == true)
  {
    // On rajoute un élément à la fin
    new_option = new Option;
    listeAide.options[index] = new_option;
    
    listeAide.options[index].text = nom_sportif_dom + " contre " + nom_sportif_ext;
    listeAide.options[index].value = valeur_ajout;
  }

}

function videListe(listeAide)
{
  listeAide.options.length = 0;
}
