function showRefImage(img, alt)
{
   $('jsProdImage').src = img;
   $('jsProdImage').alt = alt;
}

function restoreProdImage()
{
   $('jsProdImage').src = orig_image;
   $('jsProdImage').alt = orig_alt;
}

function displayReference(refImage, refLibelle)
{
   if (!$('jsLstReferences'))
   {
      $$('.prixAvant').each(function(el){ if (el.innerHTML == '') { el.hide(); } });
      return false;
   }


   // Si on est là alors ce sont des références "couleurs"
   var id  = $('jsLstReferences').value;
   var els = refInfos[id];

   // Remplace l'image d'origine
   orig_image = refImage;
   orig_alt   = refLibelle;

   // Calculs sur le prix
   prix = els[1];
   prix_promo = els[2];
   if (prix_promo == prix)
   {
      $('jsPrix').update('');
      $('jsPrix').hide();
      $('jsPrixPromo').update(els[1] + " €");
   }
   else
   {
      $('jsPrix').update(els[1] + " €");
      $('jsPrix').show();
      $('jsPrixPromo').update(els[2] + " €");
   }


   // Ajuste le PDM des quantités
   obj = $('jsQt');
   for(i=obj.options.length; i>=0; i--)   {  obj.options[i] = null;  }
   for (i=1; i<=els[0]; i++) {
      var newOption    = document.createElement("OPTION");
      newOption.text   = i;
      newOption.value  = i;
      obj.options[i-1] = new Option(newOption.text, newOption.value);
   }

   // Traitement des pictos
   var reg = new RegExp(',', "g");
   if (els[3] != "") var pictos = els[3].split(reg);
   else              var pictos = "";
   if (pictos.length == 0)
   {
      $('jsPicto').update('');
   }
   else
   {
      html = "";
      pictos.each(function(p) {
         html += '<img src="' + p + '" alt="" />';
      });
      $('jsPicto').update(html);
   }

   // Ajuste le bouton ajout ou message d'indisponibilité
   if (els[4] == "")
   {
      $('jsBtnAdd2Kart').show();
      $('jsSpanRupture').hide();
   }
   else
   {
      $('jsSpanRupture').update("Epuisé, dispo le " + els[4]);
      $('jsBtnAdd2Kart').hide();
      $('jsSpanRupture').show();
   }

   // S'assure que le tableau des références s'affiche
   $('infosAchat').show();

   // Affiche la couleur
   showRefImage(refImage, refLibelle);

   // Remet tous les pictos couleurs à "normal" (pas de cadre autour)
   $$('.jsLiensCouleurs').each(function(el){ el.style.backgroundPosition='0px 0px'; } );

   // Met le picto avec le cadre
   $('lien'+id).style.backgroundPosition='0px -32px';
}

function selectRef(id, refImage, refLibelle)
{
   $('jsLstReferences').value = id;
   displayReference(refImage, refLibelle);
}

function simulScript(c)
{
   if ('function' == typeof(c))
   {
      c();
   }
   else
   {
      eval(c);
   }
}

// Fonction permettant de resélectionner la bonne référence lors d'un retour sur la fiche depuis le caddie
function selectFirstReference()
{
   if ($('lien' + orig_reference))
   {
      simulScript($('lien' + orig_reference).getAttribute('onclick'));
   }
}

Event.observe(window, 'load', function(){displayReference(orig_image,orig_alt); selectFirstReference(); });