var gasProducts;
var goComboCateg;
var goComboProd;

/**
* @return void
* @param psIdComboCateg, psIdComboProd, pasProducts, pnCategorie, pnProduit
* @desc Initialise les variable globales et selectionne la catégorie pnCategorie et le produit pnProduit dans les combo
*/
function Init_comboproduct(psIdComboCateg, psIdComboProd, pasProducts, pnCategorie, pnProduit)
{
  goComboProd = document.getElementById(psIdComboProd);
  goComboCateg = document.getElementById(psIdComboCateg);
  gasProducts = pasProducts;

  if (pnCategorie == 0)
    return;
    
  // On parcours les options de la liste des catégories et l'on selectionne celle dont la valeur et pnCategorie
  for (nCompteur = 0; nCompteur < goComboCateg.options.length; nCompteur++)
  {
    if (goComboCateg.options[nCompteur].value == pnCategorie)
      goComboCateg.options[nCompteur].selected = true;
  }
  
  // On remplit la combo Produit
  FillProducts();
  
  // On selectionne le produit pnProduit
  for (nCompteur = 0; nCompteur < goComboProd.options.length; nCompteur++)
  {
    if (goComboProd.options[nCompteur].value == pnProduit)
      goComboProd.options[nCompteur].selected = true;
  }

}

/**
* @return void
* @desc Modifie le contenu de la combo produit quand on selectionne une nouvelle catégorie
*/

function FillProducts()
{
  if (goComboCateg)
    nCatSelected = goComboCateg.value;
  else
    nCatSelected = 0;
  
  // Si aucune catégorie n'est selectionnée
  if (nCatSelected == 0)
  {
    // On rend disabled la combo Produit
    goComboProd.options[0].selected = true;
    goComboProd.disabled = true;
  }
  else 
  {
    if(!gasProducts[nCatSelected]) 
    {
      goComboProd.disabled = true;
    }
    else
    {
      if(gasProducts[nCatSelected].length == 0)
        goComboProd.disabled = true;
      else
      {
        // On rend éditable la combo
        goComboProd.disabled = false;
        
        // On la remplie avec les produits du tableau
        goComboProd.options.length = gasProducts[nCatSelected].length+1;
        nCompteur = 0;
        for(nCompteur = 0; nCompteur < gasProducts[nCatSelected].length; nCompteur++)
          goComboProd.options[nCompteur + 1] = new Option(gasProducts[nCatSelected][nCompteur][1], gasProducts[nCatSelected][nCompteur][0], false, false);
      }
    }
  }
}