/* ----------------------------------------------------------------- 
   Programm:  shop_bestand .js 
   Copyright: (c) 2008 Klaus Tucher Informatik
   Datum:     19.01.2008
   Autor:     Klaus Tucher
   ----------------------------------------------------------------- */

var ArtikelData = new Array();
var ArtikelListe = new Array();
var LagerFlag = new Array();

function setArtData (formular) {
   var ArtikelNr = formular.ArtikelNr.value;
   var Menge     = formular.Bestellmenge.value;
   var Variantenkey = '';
   var Varianten = formular.getElementsByTagName('select');
   var v,i,va;
   var Preis,Bestand;
   var Variante;
   var lf;

   for (i=0;i<Varianten.length;i++) {
      v=Varianten[i];
      if (v.name == 'Variante') {
         if (Variantenkey != '') {Variantenkey += '~';}
         va=v[v.selectedIndex].value.split('|');
         va[1]=va[1].replace(/"/g,'');
         Variantenkey += va[1];
         }
      }

   var idx=ArtikelListe[ArtikelNr];
   var vFlag=false;
   if (idx != null) {

      var Artikeldaten=ArtikelData[idx][0];
      if (Variantenkey != '') {
         Varianten = Artikeldaten["Varianten"];
         for (var i in Varianten) {

            Variante = Varianten[i];

            if (Variante[Variantenkey]) {
               vFlag=true;
               Bestand = Variante[Variantenkey]["Bestand"]; 
               Preis   = Variante[Variantenkey]["Preise"][0];

               lcRefreshField('Preis_' + ArtikelNr,Preis);
               lf=lcGetLagerFlag(Bestand,Artikeldaten["Mindestbestand"]);
               lcRefreshField('LagerFlag_' + ArtikelNr,lf);
               }
            }
         if (vFlag == false){
            alert ('Dieser Artikel ist in der gewünschten Variante nicht erhältlich!');
            }
         }
      else {
         Bestand = Artikeldaten["Bestand"]; 
         lf=lcGetLagerFlag(Bestand,Artikeldaten["Mindestbestand"]);
         lcRefreshField('LagerFlag_' + ArtikelNr,lf);
         Preis   = Artikeldaten["Grundpreis"]; 
         lcRefreshField('Preis_' + ArtikelNr,Preis);
         }
      }
   }

function lcRefreshField (field,fieldval) {
   if (fieldval == null) {return;}
   var obj = document.getElementById(field);
   if (obj) {
      obj.innerHTML = fieldval;
      }
   }

function lcGetLagerFlag (Bestand,Mindestbestand) {
   var lf=LagerFlag["pos"];
   Bestand=parseInt(Bestand,10);
   Mindestbestand=parseInt(Mindestbestand,10);

   if (Bestand < Mindestbestand) {
      lf=LagerFlag["reserve"];
      }
   if (Bestand <= 0) {
      lf=LagerFlag["null"];
      }
   return lf;
   }

