// Globale Variablen ------------------------------

var    ScriptLoaded = false;

var    ArtCount     = 0;
var    BestCount    = 0;

Best = new Array();
Temp = new Array();


var    BArtNr    = 0;
var    BText     = 1;
var    BPreis    = 2;
var    BStk      = 3;
var    BGesamt   = 4;
var    BMwSt     = 5;
var    BRabatt   = 6;
var    BWaehrung = 7;
var    BFarbe    = 8;
var    BGroesse  = 9;
var    BArt      = 10;
var    BVerAnz   = 11;

var    GTS       = 0;

var    GTSID     = 0;
var    GTSNR     = 0;
var    GTSWT     = 0;

var    Rabatte = 0;

var    Versand    = 0;
var    VersandBis = 0;
var    VersandTxt = "";
var    GesamtTxt  = ""


//----- START Allgemeines -----------------------------------

function FormatZahl(s)
         {
         var nachkomma="" , alt='.' , neu=',' , changed=false;
         for (i=0 ; i<s.length ; i++)
              {
              if (s.charAt(i) == alt)
                 {
                 changed=true;
                 if (i == 0) s = neu + s.substring(1,s.length)
                 else
                    {
                    s = s.substring(0,i) + neu + s.substring(i+1,i+3);
                    nachkomma = s.substring(i+1,i+3);
                    }
                 if (nachkomma.length==1) s = s + '0';
                 return s;
                 }
              }
        if (changed == false) s = s+',00';
        return s;
        }


//----- START Warenkorb Funktionen ---------------------------

function ProduktGutschein()
         {
         GTS = 0;
         for (i=0 ; i<BestCount ; i++)
             {
             PID = Best[i][BArtNr];
             str = PRODUKT[PID][PArtNr].substr(0,3);
             if (str == "GTS") { GTS = 1; }
             if (str == "SMB") { GTS = 2; }
             if (str == "ALB") { GTS = 3; }
             }

         if (GTSID > 0)
            {
            WKGesamt = 0;
            for (var i=0 ; i < BestCount ; i++)
                {
                zw1   = (Best[i][BPreis]-Best[i][BRabatt]);
                zw2   = (Math.round(Best[i][BPreis]*(1+Best[i][BMwSt]/10000))/100)*Best[i][BStk];
                WKGesamt += zw2;
                }
            WKGesamt = (Math.round(WKGesamt*100)) - GTSWT;
            if (WKGesamt > 0) { GTS = 3; }
            else              { GTS = 2; }
            }
         }

function HoleGTS()
         {
         return GTS;
         }

function ProduktVorhanden(artnr)
         {
         for (i=0 ; i<BestCount ; i++)
             {
             if (Best[i][BArtNr] == artnr) { return i; }
             }
         return -1;
         }

function ProduktVorhandenG(artnr,g)
         {
         for (i=0 ; i<BestCount ; i++)
             {
             if (Best[i][BArtNr] == artnr && Best[i][BGroesse] == g) { return i; }
             }
        return -1;
        }

// Funktion Bestellen --------

function Bestellen(id,txt,preis,waehrung,mwst,rabatt,art,veranz)
         {
         var V,i,ename,fname,stk,Bzg;
         var gr = "",frb = "";

         if (art == 2 || art == 3)
            {
            fname = "F"+id;
            zw = PRODUKT[id][PGross].split(",");
            l  = zw.length-1;

            for (z=0; z < l; z++)
                {
                gr = zw[z];
                V = ProduktVorhandenG(id,gr);
                ename1 = "L"+id+gr;
                ename  = "A"+id+gr;

                if (f_o.f_o_i.document.forms[fname].elements[ename1].checked == true)
                   {
                   stk = f_o.f_o_i.document.forms[fname].elements[ename].value;
                   }
                else stk = 0;


                if (V == -1 && stk > 0)
                   {
                   i = BestCount;
                   BestCount = BestCount + 1;
                   MakeArray(Best,i,12," ");
                   }
                else i = V;

                if (stk > 0)
                   {
                   Bzg = 0;
                   str = PRODUKT[id][PArtNr].substr(0,3);
                   if (str == "SMB") { Bzg = 1; }
                   if (Bzg == 1)
                      {
                      if (gr == "DIN A5")    { preis = 1724.1; }
                      if (gr == "DIN A4")    { preis = 2758.6; }
                      if (gr == "DIN A3")    { preis = 4310.3; }
                      if (gr == "DIN A2")    { preis = 8620.7; }
                      if (gr == "DIN A1")    { preis = 16379.3; }
                      if (gr == "DIN A0")    { preis = 21551.7; }
                      if (gr == "100x140cm") { preis = 28448.3; }
                      }

                   Best[i][BArtNr]    = id;
                   Best[i][BText]     = txt;
                   Best[i][BPreis]    = preis;
                   Best[i][BStk]      = stk;
                   Best[i][BGesamt]   = preis;
                   Best[i][BMwSt]     = mwst;
                   Best[i][BRabatt]   = rabatt;
                   Best[i][BWaehrung] = waehrung;
                   Best[i][BFarbe]    = frb;
                   Best[i][BGroesse]  = gr;
                   Best[i][BArt]      = art;
                   Best[i][BVerAnz]   = veranz;
                   }
                else DeleteArtikelG(id,gr)
                }
            }
         else
            {

            V = ProduktVorhanden(id);
            ename = "A"+id;
            fname = "F"+id;
            stk   = f_o.f_o_i.document.forms[fname].elements[ename].value;

         if (art == 1 || art == 3)
            {
            zw  = ename+"F";
            frb = f_o.f_o_i.document.forms[fname].elements[zw].options[f_o.f_o_i.document.forms[fname].elements[zw].selectedIndex].text;
            }

         if (V == -1)
            {
            i = BestCount;
            BestCount = BestCount + 1;
            MakeArray(Best,i,12," ");
            }
         else i = V;

//         alert(ename+" : "+i+" - "+stk+"(f "+frb+",g "+gr+")");
         if (stk > 0)
            {
            Best[i][BArtNr]    = id;
            Best[i][BText]     = txt;
            Best[i][BPreis]    = preis;
            Best[i][BStk]      = stk;
            Best[i][BGesamt]   = preis;
            Best[i][BMwSt]     = mwst;
            Best[i][BRabatt]   = rabatt;
            Best[i][BWaehrung] = waehrung;
            Best[i][BFarbe]    = frb;
            Best[i][BGroesse]  = gr;
            Best[i][BArt]      = art;
            Best[i][BVerAnz]   = veranz;
            }
         else DeleteArtikel(id)

            }

         kleinWK();

         check_elements();
         }

function BestellenGTS(id,stk,txt,preis,waehrung,mwst,rabatt,art,veranz,frb,gr)
         {
         V = ProduktVorhanden(id);
         if (V == -1)
            {
            i = BestCount;
            BestCount = BestCount + 1;
            MakeArray(Best,i,12," ");
            }
         else i = V;

         if (stk > 0)
            {
            Best[i][BArtNr]    = id;
            Best[i][BText]     = txt;
            Best[i][BPreis]    = preis;
            Best[i][BStk]      = stk;
            Best[i][BGesamt]   = preis;
            Best[i][BMwSt]     = mwst;
            Best[i][BRabatt]   = rabatt;
            Best[i][BWaehrung] = waehrung;
            Best[i][BFarbe]    = frb;
            Best[i][BGroesse]  = gr;
            Best[i][BArt]      = art;
            Best[i][BVerAnz]   = veranz;
            }
         else DeleteArtikel(id)

         kleinWK();
         }


function AendernWK(id)
         {
         var ename = "A"+id;
         var fname = "Formular";

         var stk   = f_o.f_o_i.document.forms[fname].elements[ename].value;

         if (stk > 0) Best[id][BStk] = stk;
         else
            {
            if (Best[id][BGroesse]) DeleteArtikelG(Best[id][BArtNr],Best[id][BGroesse]);
            else DeleteArtikel(Best[id][BArtNr]);
            }

         kleinWK();
         spid = holeShop();
         ptid = holePartner();
         f_o.f_o_i.location.replace("warenkorb.php3?SPID="+spid+"&PTID="+ptid);
         }

function DeleteArtikel(artnr)
         {
         var V = ProduktVorhanden(artnr);

//         alert(V);

         if (V != -1)
            {
            for (var i=0 ; i < BestCount ; i++)
                {
                if (i > V)
                   {
//                   alert(i);

                   Best[i-1][0]=Best[i][0];
                   Best[i-1][1]=Best[i][1];
                   Best[i-1][2]=Best[i][2];
                   Best[i-1][3]=Best[i][3];
                   Best[i-1][4]=Best[i][4];
                   Best[i-1][5]=Best[i][5];
                   Best[i-1][6]=Best[i][6];
                   Best[i-1][7]=Best[i][7];
                   Best[i-1][8]=Best[i][8];
                   Best[i-1][9]=Best[i][9];
                   Best[i-1][10]=Best[i][10];
                   Best[i-1][11]=Best[i][11];
                   }
                }
            BestCount = BestCount - 1;
            }
         }

function DeleteArtikelG(artnr,g)
         {
         var V = ProduktVorhandenG(artnr,g);

//         alert(V);

         if (V != -1)
            {
            for (var i=0 ; i < BestCount ; i++)
                {
                if (i > V)
                   {
//                   alert(i);

                   Best[i-1][0]=Best[i][0];
                   Best[i-1][1]=Best[i][1];
                   Best[i-1][2]=Best[i][2];
                   Best[i-1][3]=Best[i][3];
                   Best[i-1][4]=Best[i][4];
                   Best[i-1][5]=Best[i][5];
                   Best[i-1][6]=Best[i][6];
                   Best[i-1][7]=Best[i][7];
                   Best[i-1][8]=Best[i][8];
                   Best[i-1][9]=Best[i][9];
                   Best[i-1][10]=Best[i][10];
                   Best[i-1][11]=Best[i][11];
                   }
                }
            BestCount = BestCount - 1;
            }
         }

function check_elements()
         {
         var t = "", txt = "", zw= "", pname = "", iname= "";
         var V;
         var z,l;

//         alert(f_o.f_o_i.document.forms.length);

         for (z = 0; z < f_o.f_o_i.document.forms.length; z++)
             {
             t = f_o.f_o_i.document.forms[z];
             zw = t.name;
             l = zw.length;
             AID = zw.slice(1,l);

             if (PRODUKT[AID][PGross])
                {
                zw1 = PRODUKT[AID][PGross].split(",");
                l1  = zw1.length-1;

                for (u=0; u < l1; u++)
                    {
                    gr = zw1[u];
                    V = ProduktVorhandenG(AID,gr);
                    ename  = "A"+AID+gr;
                    iname  = "I"+AID+gr;
                    ename1 = "L"+AID+gr;

                    if (V != -1)
                       {
                       f_o.f_o_i.w_pon(iname,1);
                       f_o.f_o_i.document.forms[z].elements[ename].value=Best[V][3];
                       f_o.f_o_i.document.forms[z].elements[ename1].checked = true;
                       }
                    else
                       {
                       f_o.f_o_i.w_poff(iname,1);
                       f_o.f_o_i.document.forms[z].elements[ename].value=1;
                       f_o.f_o_i.document.forms[z].elements[ename1].checked = false;
                       }
                    }
                }
             else
                {
                V = ProduktVorhanden(AID);

                txt = V+" - "+zw+" : "+l+" + "+AID;
//              alert(txt);

                if (V != -1)
                   {
                   ename = "A"+Best[V][BArtNr];
                   iname = "I"+Best[V][BArtNr];
                   lname = "L"+Best[V][BArtNr];
//                  alert(ename+" - "+iname);

                   f_o.f_o_i.w_pon(iname,1);
                   f_o.f_o_i.document.forms[z].elements[ename].value=Best[V][3];
                   f_o.f_o_i.document.forms[z].elements[lname].checked = true;
                   if (Best[V][BArt] == 1 || Best[V][BArt] == 3)
                      {
                      ename1 = ename+"F"
//                   alert(ename1+" "+f_o.f_o_i.document.forms[z].elements[ename1].length);
                      for (var x=0; x < f_o.f_o_i.document.forms[z].elements[ename1].length; x++)
                          {
//                       alert(f_o.f_o_i.document.forms[z].elements[ename1].options[x].text);
                          if (f_o.f_o_i.document.forms[z].elements[ename1].options[x].text == Best[V][BFarbe])
                             {
                             f_o.f_o_i.document.forms[z].elements[ename1].options[x].selected = true;
                             }
                          }
                      }

                   }
                else
                   {
                   ename = "A"+AID;
                   lname = "L"+AID;

                   f_o.f_o_i.w_poff("I"+AID,1);
                   f_o.f_o_i.document.forms[z].elements[ename].value=1;
                   f_o.f_o_i.document.forms[z].elements[lname].checked = false;
                   }
                }
             }
         }

function WarenkorbListe()
         {
         var t="";

         for (var i=0 ; i < BestCount ; i++)
             {
             t += "&PRT["+i+"]="+Best[i][0]
             }
         return t;
         }

function SetzeRabatt(id,rabatt) { Best[id][BRabatt]=rabatt; }

function LoescheWK() { BestCount = 0; kleinWK(); }

function BestellAnzahl() { return BestCount; }

function setzeGutschein(id,nr,wert) { GTSID = id; GTSNR = nr; GTSWT = wert; }
function loescheGutschein()         { GTSID = 0;  GTSNR = 0;  GTSWT = 0; }

function kleinWK()
         {
         ProduktGutschein();
         spid = holeShop();
         ptid = holePartner();
         WKGesamt = 0;
         for (var i=0 ; i < BestCount ; i++)
             {
             zw1   = (Best[i][BPreis]-Best[i][BRabatt]);
             zw2   = (Math.round(Best[i][BPreis]*(1+Best[i][BMwSt]/10000))/100)*Best[i][BStk];
             WKGesamt += zw2;
             }
         WKGesamt = (Math.round(WKGesamt*100))/100;
         WKGesamt1 = FormatZahl(String(WKGesamt));

         z = holeVersand();

         text     = '';

         text += '<TABLE height="65" class="bgc" cellspacing="0" cellpadding="0" width="166" border="0"><TR><TD valign="middle" align="center"><TABLE cellspacing="0" cellpadding="0" width="95%" >';
         text += '<TR><TD class="txt3w" valign="middle" align="right">WARENKORB:&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD class="txt3w" valign="middle" align="left">'+BestCount+' Artikel</TD></TR>';
         text += '<TR><TD class="txt3w" valign="middle" align="right">SUMME:&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD class="txt3w" valign="middle" align="left">'+WKGesamt1+' &euro;</TD></TR>';
         text += '<TR><TD colspan="2" class="txt3w" valign="middle" align="center"><hr class="txt3w" noshade size="1"></TD></TR>';
         text += '<TR><TD colspan="2" class="txt3w" valign="middle" align="right"><A onMouseOver="zeigeMenu2(document.KATListe.KID.value,0,0);" class="txt1br" target="f_o_i" HREF="../shop/warenkorb.php3?SPID='+spid+'&PTID='+ptid+'"><B>Warenkorb</B></A> / <A onMouseOver="zeigeMenu2(document.KATListe.KID.value,0,0);" class="txt1br" target="f_o_i" HREF="../shop/adressen.php3?SPID='+spid+'&VANZG='+z+'&PTID='+ptid;
         if (GTS > 0) text += '&GTS='+GTS;
         text += '"><B>Bestellen</B></A></TD></TR>';
         text += '</TABLE></TD></TR></TABLE>';

//         alert(text);

         f_o.setzen("Warenkorb",4,5,text);
         }

function holeVersand()
         {
         var z=0;

         for (var i=0 ; i < BestCount ; i++)
             {
             z += Best[i][BVerAnz]*Best[i][BStk];
             }
         return z;
         }

ScriptLoaded=true;
