// WS pizzaShop V1.0
// Programmautor: Mark Naß
// (c)2004-2005 WEDOSYS, All Rights reserved
var cWaehrung = "€";
var nAktartikel = - 1;
var cGesamt = "0,00";
var wk = new Array();
var ex = new Array();
function check() {
   var lOk = true;
   for(var nZaehler = 0; nZaehler < wk.length; nZaehler++) {
      if(wk[nZaehler][9] > 7) {
         var nDrin = 0;
         for(var nZaehler2 = 0; nZaehler2 < ex.length; nZaehler2++) {
            if(ex[nZaehler2][0] == nZaehler && ex[nZaehler2][7] == 1) {
               nDrin = nDrin + (1 * ex[nZaehler2][1]);
               }
            }
         if(nDrin < wk[nZaehler][9]) {
            lOk = confirm("Bei dem Artikel " + wk[nZaehler][1] + " sind u.U. mehrere Extras im Preis enthalten, die Sie jedoch nicht vollständig ausgenutzt haben.\nWar das vielleicht ein Versehen oder möchten Sie wirklich darauf verzichten?\n\nKlicken Sie auf OK, um den Bestellvorgang fortzuführen, oder auf Abbrechen, um dies gegebenfalls zu korrigieren.");
            }
         }
      if(wk[nZaehler][6] > 0 && lOk) {
         var nDrin = 0;
         for(var nZaehler2 = 0; nZaehler2 < ex.length; nZaehler2++) {
            if(ex[nZaehler2][0] == nZaehler && ex[nZaehler2][7] == 2) {
               nDrin = nDrin + (1 * ex[nZaehler2][1]);
               }
            }
         if(nDrin < wk[nZaehler][6]) {
            lOk = confirm("Bei dem Artikel " + wk[nZaehler][1] + " sind u.U. mehrere Extras im Preis enthalten, die Sie jedoch nicht vollständig ausgenutzt haben.\nWar das vielleicht ein Versehen oder möchten Sie wirklich darauf verzichten?\n\nKlicken Sie auf OK, um den Bestellvorgang fortzuführen, oder auf Abbrechen, um dies gegebenfalls zu korrigieren.");
            }
         }
      if(wk[nZaehler][8] > 0 && lOk) {
         var nDrin = 0;
         for(var nZaehler2 = 0; nZaehler2 < ex.length; nZaehler2++) {
            if(ex[nZaehler2][0] == nZaehler && ex[nZaehler2][7] == 3) {
               nDrin = nDrin + (1 * ex[nZaehler2][1]);
               }
            }
         if(nDrin < wk[nZaehler][8]) {
            lOk = confirm("Bei dem Artikel " + wk[nZaehler][1] + " sind u.U. mehrere Extras im Preis enthalten, die Sie jedoch nicht vollständig ausgenutzt haben.\nWar das vielleicht ein Versehen oder möchten Sie wirklich darauf verzichten?\n\nKlicken Sie auf OK, um den Bestellvorgang fortzuführen, oder auf Abbrechen, um dies gegebenfalls zu korrigieren.");
            }
         }
      if(wk[nZaehler][7] > 0 && lOk && wk[nZaehler][5] != 7) {
         var nDrin = 0;
         for(var nZaehler2 = 0; nZaehler2 < ex.length; nZaehler2++) {
            if(ex[nZaehler2][0] == nZaehler && ex[nZaehler2][7] == 4) {
               nDrin = nDrin + (1 * ex[nZaehler2][1]);
               }
            }
         if(nDrin < wk[nZaehler][7]) {
            lOk = confirm("Bei dem Artikel " + wk[nZaehler][1] + " sind u.U. mehrere Extras im Preis enthalten, die Sie jedoch nicht vollständig ausgenutzt haben.\nWar das vielleicht ein Versehen oder möchten Sie wirklich darauf verzichten?\n\nKlicken Sie auf OK, um den Bestellvorgang fortzuführen, oder auf Abbrechen, um dies gegebenfalls zu korrigieren.");
            }
         }
      }
   if(lOk) {
      var lGet = false;
      var lAnd = false;
      for(var nZaehler = 0; nZaehler < wk.length; nZaehler++) {
         if(wk[nZaehler][5] == 9) {
            lGet = true;
            }
         else {
            lAnd = true;
            }
         }
      if(lGet) {
         if(lAnd) {
            lOk = true;
            }
         else {
            alert("Getränke liefern wir nur in Verbindung mit Speisen.");
            lOk = false;
            }
         }
      else {
         lOk = true;
         }
      }
   return lOk;
   }
function parseArray() {
   for(var a = 0; a < wk.length; a++) {
      wk[a][3] = "";
      wk[a][6] = "";
      for(var b = 0; b <= 10; b++) {
         var wert = wk[a][b].toString();
         wert = wert.replace(/,/,".");
         wk[a][b] = wert;
         }
      }
   for(var a = 0; a < ex.length; a++) {
      ex[a][4] = "";
      ex[a][7] = "";
      for(var b = 0; b <= 7; b++) {
         var wert = ex[a][b].toString();
         wert = wert.replace(/\,/,".");
         ex[a][b] = wert;
         }
      }
   }
function neuExtra(cExtra, cPreis, cUrl, cGroesse, cArtikel, cArtikelpreis, nKat, nExtrakat, nExt1, nExt2, nExt3, nExt4) {
   var nIndex = nAktartikel;
   if(nAktartikel == - 1) {
      wk[wk.length] = new Array(1, cArtikel, cArtikelpreis, cUrl, cGroesse, nKat, nExt1, nExt2, nExt3, nExt4, "", false);
      nIndex = 0;
      }
   if(wk[nIndex][4] != cGroesse || wk[nIndex][5] != nKat || wk[nIndex][1] != cArtikel) {
      wk[wk.length] = new Array(1, cArtikel, cArtikelpreis, cUrl, cGroesse, nKat, nExt1, nExt2, nExt3, nExt4, "", false);
      nIndex = wk.length - 1;
      }
   var nAnzahlmax = 0;
   switch(nExtrakat) {
      case 1 : nAnzahlmax = wk[nIndex][9];
      break;
      case 2 : nAnzahlmax = wk[nIndex][6];
      break;
      case 3 : nAnzahlmax = wk[nIndex][8];
      break;
      case 4 : nAnzahlmax = wk[nIndex][7];
      break;
      case 6 : nAnzahlmax = 1;
      break;
      }
   if(nAnzahlmax > 0) {
      var nExtrakatakt = nExtrakat;
      var nAnzahl = 0;
      var nExtraIndex = 0;
      for(var nZaehler = 0; nZaehler < ex.length; nZaehler++) {
         if(ex[nZaehler][0] == nIndex && ex[nZaehler][5] == cGroesse && ex[nZaehler][6] == nKat && ex[nZaehler][7] == nExtrakat) {
            nAnzahl = nAnzahl + (1 * ex[nZaehler][1]);
            nExtraIndex = nZaehler;
            }
         }
      if(nAnzahl == nAnzahlmax) {
         if(nExtrakat == 6) {
            ex[nExtraIndex][2] = cExtra;
            }
         else {
            ex[nExtraIndex][2] = cExtra + " (inkl.)";
            }
         }
      else {
         var nDrin = - 1;
         for(var nZaehler = 0; nZaehler < ex.length; nZaehler++) {
            if(ex[nZaehler][0] == nIndex && ex[nZaehler][2] == (cExtra + " (inkl.)") && ex[nZaehler][4] == cUrl && ex[nZaehler][5] == cGroesse && ex[nZaehler][6] == nKat) {
               nDrin = nZaehler;
               }
            }
         if(nDrin == - 1) {
            if(nExtrakat == 6) {
               ex[ex.length] = new Array(nIndex, 1, cExtra + " (inkl.)", "3,30", cUrl, cGroesse, nKat, nExtrakat, false);
               }
            else {
               ex[ex.length] = new Array(nIndex, 1, cExtra + "", "0,00", cUrl, cGroesse, nKat, nExtrakat, false);
               }
            }
         else {
            ex[nDrin][1] = ex[nDrin][1] + 1;
            }
         }
      }
   else {
      var nDrin = - 1;
      for(var nZaehler = 0; nZaehler < ex.length; nZaehler++) {
         if(ex[nZaehler][0] == nIndex && ex[nZaehler][2] == cExtra && ex[nZaehler][3] == cPreis && ex[nZaehler][4] == cUrl && ex[nZaehler][5] == cGroesse && ex[nZaehler][6] == nKat) {
            nDrin = nZaehler;
            }
         }
      if(nDrin == - 1) {
         ex[ex.length] = new Array(nIndex, 1, cExtra, cPreis, cUrl, cGroesse, nKat, nExtrakat, false);
         }
      else {
         ex[nDrin][1] = ex[nDrin][1] + 1;
         }
      }
   setzenAktuell(nIndex);
   }
function delExtra(nIndex) {
   if(ex[nIndex][1] == 1) {
      ex[nIndex][8] = true;
      exarraysaeubern();
      aktWarenkorb();
      }
   else {
      ex[nIndex][1] = ex[nIndex][1] - 1;
      aktWarenkorb();
      }
   }
function setzenAktuell(nIndex) {
   nAktartikel = nIndex;
   aktWarenkorb();
   }
function neuArtikel(cArtikel, cPreis, cUrl, cGroesse, nKat, nDressing, nFeta, nSauce, nZutat) {
   wk[wk.length] = new Array(1, cArtikel, cPreis, cUrl, cGroesse, nKat, nDressing, nFeta, nSauce, nZutat, "", false);
   setzenAktuell(wk.length - 1);
   }
function plus(nIndex) {
   wk[nIndex][0] = wk[nIndex][0] + 1;
   aktWarenkorb();
   }
function minus(nIndex) {
   if(wk[nIndex][0] == 1) {
      wk[nIndex][11] = true;
      wkarraysaeubern(nIndex);
      if(wk.length > 0) {
         if(wk.length < nAktartikel + 1) {
            nAktartikel = nAktartikel - 1;
            }
         }
      else {
         nAktartikel = - 1;
         }
      aktWarenkorb();
      }
   else {
      wk[nIndex][0] = wk[nIndex][0] - 1;
      aktWarenkorb();
      }
   }
function wkarraysaeubern(nIndex) {
   var wktmp = new Array;
   for(var nZaehler = 0; nZaehler < wk.length; nZaehler++) {
      if(wk[nZaehler][11] == false) {
         wktmp[wktmp.length] = new Array(wk[nZaehler][0], wk[nZaehler][1], wk[nZaehler][2], wk[nZaehler][3], wk[nZaehler][4], wk[nZaehler][5], wk[nZaehler][6], wk[nZaehler][7], wk[nZaehler][8], wk[nZaehler][9], "", false);
         }
      }
   wk = wktmp;
   for(var nZaehler = 0; nZaehler < ex.length; nZaehler++) {
      if(ex[nZaehler][0] == nIndex) {
         ex[nZaehler][8] = true;
         }
      }
   exarraysaeubern();
   var nZaehler = 0;
   while(wk[nIndex + nZaehler]) {
      for(var nZaehler2 = 0; nZaehler2 < ex.length; nZaehler2++) {
         if(ex[nZaehler2][0] == nIndex + nZaehler + 1) {
            ex[nZaehler2][0] = nIndex + nZaehler;
            }
         }
      nZaehler++;
      }
   }
function exarraysaeubern() {
   var extmp = new Array;
   for(var nZaehler = 0; nZaehler < ex.length; nZaehler++) {
      if(ex[nZaehler][8] == false) {
         extmp[extmp.length] = new Array(ex[nZaehler][0], ex[nZaehler][1], ex[nZaehler][2], ex[nZaehler][3], ex[nZaehler][4], ex[nZaehler][5], ex[nZaehler][6], ex[nZaehler][7], false);
         }
      }
   ex = extmp;
   }
function aktWarenkorb() {
   var oFrame = top.warenkorbFrame.document;
   var oWk = oFrame.getElementById('warenkorbid');
   cGesamt = "0,00";
   while(oWk.hasChildNodes()) {
      var knoten = oWk.lastChild;
      oWk.removeChild(knoten);
      }
   var tbl = oFrame.createElement("table");
   var cellspacing = oFrame.createAttribute("cellspacing");
   cellspacing.nodeValue = "2";
   var cellpadding = oFrame.createAttribute("cellpadding");
   cellpadding.nodeValue = "2";
   tbl.setAttributeNode(cellspacing);
   tbl.setAttributeNode(cellpadding);
   tbl.appendChild(tblHeader(oFrame));
   tbl.appendChild(tblFooter(oFrame));
   var tbody = tbl.appendChild(oFrame.createElement("tbody"));
   for(var nZaehler = 0; nZaehler < wk.length; nZaehler++) {
      tbody.appendChild(tblZeile(oFrame, nZaehler, wk[nZaehler][0], wk[nZaehler][1], wk[nZaehler][2], wk[nZaehler][3], false));
      }
   tbody.appendChild(tblZeile(oFrame, - 1, 0, "Summe: ", cGesamt, "", true));
   top.warenkorbFrame.document.bestellen.end.value = cGesamt;
   oWk.appendChild(tbl);
   }
function set(nIndex) {
   setzenAktuell(nIndex);
   top.contentFrame.location.href = wk[nIndex][3];
   }
function tblZeile(oFrame, nIndex, nMenge, cName, cPreis, cUrl, lGesamt) {
   var trLine = oFrame.createElement("tr");
   var class1 = oFrame.createAttribute("class");
   if(nIndex == nAktartikel && !lGesamt) {
      class1.nodeValue = "artikelzeile_aktiv";
      }
   else if(lGesamt) {
      class1.nodeValue = "artikelzeile_summe";
      }
   else {
      class1.nodeValue = "artikelzeile";
      }
   if(!lGesamt) {
      trLine.onclick = function(evt) {
         parent.set(nIndex);
         }
      }
   trLine.setAttributeNode(class1);
   var tdMenge = oFrame.createElement("td");
   var valign1 = oFrame.createAttribute("valign");
   valign1.nodeValue = "top";
   tdMenge.setAttributeNode(valign1);
   var spanMenge = oFrame.createElement("span");
   var class1 = oFrame.createAttribute("class");
   class1.nodeValue = "artikel";
   spanMenge.setAttributeNode(class1);
   if(!lGesamt) {
      spanMenge.appendChild(oFrame.createTextNode(nMenge));
      }
   else {
      spanMenge.appendChild(oFrame.createTextNode(""));
      }
   tdMenge.appendChild(spanMenge);
   var align = oFrame.createAttribute("align");
   align.nodeValue = "center";
   tdMenge.setAttributeNode(align);
   var tdName = oFrame.createElement("td");
   if(!lGesamt) {
      var valign1 = oFrame.createAttribute("valign");
      valign1.nodeValue = "top";
      tdName.setAttributeNode(valign1);
      var aName = oFrame.createElement("a");
      aName.appendChild(oFrame.createTextNode(" " + cName));
      var href = oFrame.createAttribute("href");
      var class1 = oFrame.createAttribute("class");
      href.nodeValue = "#";
      class1.nodeValue = "fontArtikel";
      aName.setAttributeNode(href);
      aName.setAttributeNode(class1);
      aName.onclick = function(evt) {
         parent.setzenAktuell(nIndex);
         parent.contentFrame.location.href = cUrl;
         };
      var nPreisextra = 0;
      var nZaehler2 = 0;
      for(var nZaehler = 0; nZaehler < ex.length; nZaehler++) {
         if(ex[nZaehler][0] == nIndex) {
            nZaehler2 = nZaehler2 + 1;
            aName.appendChild(oFrame.createElement("br"));
            var aNamezutat = oFrame.createElement("a");
            if(!document.all) {
               var href = oFrame.createAttribute("href");
               var class1 = oFrame.createAttribute("class");
               var onclick1 = oFrame.createAttribute("onclick");
               href.nodeValue = "#";
               class1.nodeValue = "fontExtra";
               onclick1.nodeValue = "parent.delExtra(" + nZaehler + ");";
               aNamezutat.setAttributeNode(href);
               aNamezutat.setAttributeNode(class1);
               aNamezutat.setAttributeNode(onclick1);
               }
            else {
               var href = oFrame.createAttribute("href");
               var target1 = oFrame.createAttribute("target");
               var class1 = oFrame.createAttribute("class");
               href.nodeValue = "javascript:parent.delExtra(" + nZaehler + ");";
               target1.nodeValue = "_self";
               class1.nodeValue = "fontExtra";
               aNamezutat.setAttributeNode(href);
               aNamezutat.setAttributeNode(target1);
               aNamezutat.setAttributeNode(class1);
               }
            if(ex[nZaehler][1] > 1) {
               aNamezutat.appendChild(oFrame.createTextNode(ex[nZaehler][1] + "x " + ex[nZaehler][2]));
               }
            else {
               aNamezutat.appendChild(oFrame.createTextNode(ex[nZaehler][2]));
               }
            aName.appendChild(aNamezutat);
            var nPreisextraneu = ex[nZaehler][3].replace(/\,/,".");
            nPreisextraneu = parseFloat(nPreisextraneu) * (ex[nZaehler][1]);
            nPreisextra = nPreisextra + nPreisextraneu;
            }
         }
      tdName.appendChild(aName);
      }
   else {
      var valign1 = oFrame.createAttribute("valign");
      valign1.nodeValue = "middle";
      tdName.setAttributeNode(valign1);
      var align1 = oFrame.createAttribute("align");
      align1.nodeValue = "right";
      tdName.setAttributeNode(align1);
      tdName.appendChild(oFrame.createTextNode(cName));
      }
   var tdPreis = oFrame.createElement("td");
   var align = oFrame.createAttribute("align");
   align.nodeValue = "right";
   tdPreis.setAttributeNode(align);
   if(!lGesamt) {
      var valign1 = oFrame.createAttribute("valign");
      valign1.nodeValue = "top";
      tdPreis.setAttributeNode(valign1);
      var preisneu = cPreis.replace(/\,/,".");
      preisneu = (parseFloat(preisneu) + nPreisextra) * nMenge;
      preisneu = preisneu.toFixed(2);
      preisneu = preisneu.toString();
      preisneu = preisneu.replace(/\./,",");
      var spanPreis = oFrame.createElement("span");
      var class1 = oFrame.createAttribute("class");
      class1.nodeValue = "artikel";
      spanPreis.setAttributeNode(class1);
      spanPreis.appendChild(oFrame.createTextNode(preisneu + " " + cWaehrung));
      wk[nIndex][10] = preisneu;
      }
   else {
      var valign1 = oFrame.createAttribute("valign");
      valign1.nodeValue = "middle";
      tdPreis.setAttributeNode(valign1);
      var spanPreis = oFrame.createElement("span");
      var class1 = oFrame.createAttribute("class");
      class1.nodeValue = "artikel";
      spanPreis.setAttributeNode(class1);
      spanPreis.appendChild(oFrame.createTextNode(cPreis + " " + cWaehrung));
      }
   tdPreis.appendChild(spanPreis);
   if(!lGesamt) {
      var preisalt = cGesamt.replace(/\,/,".");
      preisalt = parseFloat(preisalt);
      var preisneu = preisneu.replace(/\,/,".");
      preisneu = parseFloat(preisneu);
      cGesamt = preisalt + preisneu;
      cGesamt = cGesamt.toFixed(2).toString().replace(/\./,",");
      }
   var tdEdit = oFrame.createElement("td");
   var valign1 = oFrame.createAttribute("valign");
   valign1.nodeValue = "top";
   tdEdit.setAttributeNode(valign1);
   if(!lGesamt) {
      var aEdit1 = oFrame.createElement("a");
      aEdit1.appendChild(oFrame.createTextNode("+"));
      var href1 = oFrame.createAttribute("href");
      var class1 = oFrame.createAttribute("class");
      href1.nodeValue = "#";
      class1.nodeValue = "fontEdit";
      aEdit1.setAttributeNode(href1);
      aEdit1.setAttributeNode(class1);
      aEdit1.onclick = function(evt) {
         parent.plus(nIndex);
         };
      var aEdit2 = oFrame.createElement("a");
      aEdit2.appendChild(oFrame.createTextNode("-"));
      var href2 = oFrame.createAttribute("href");
      var class1 = oFrame.createAttribute("class");
      href2.nodeValue = "#";
      class1.nodeValue = "fontEdit";
      aEdit2.setAttributeNode(href2);
      aEdit2.setAttributeNode(class1);
      aEdit2.onclick = function(evt) {
         parent.minus(nIndex);
         };
      tdEdit.appendChild(aEdit1);
      tdEdit.appendChild(oFrame.createTextNode(" "));
      tdEdit.appendChild(aEdit2);
      var align = oFrame.createAttribute("align");
      align.nodeValue = "center";
      tdEdit.setAttributeNode(align);
      }
   trLine.appendChild(tdMenge);
   trLine.appendChild(tdName);
   trLine.appendChild(tdPreis);
   trLine.appendChild(tdEdit);
   return trLine;
   }
function tblHeader(oFrame) {
   var head = oFrame.createElement("thead");
   var trLine = oFrame.createElement("tr");
   var thMenge = oFrame.createElement("th");
   thMenge.appendChild(oFrame.createTextNode(""));
   var align = oFrame.createAttribute("align");
   var width = oFrame.createAttribute("width");
   align.nodeValue = "right";
   width.nodeValue = "20";
   thMenge.setAttributeNode(align);
   thMenge.setAttributeNode(width);
   var thName = oFrame.createElement("th");
   thName.appendChild(oFrame.createTextNode("Artikel"));
   var width = oFrame.createAttribute("width");
   width.nodeValue = "170";
   thName.setAttributeNode(width);
   var thPreis = oFrame.createElement("th");
   thPreis.appendChild(oFrame.createTextNode("Preis"));
   var align = oFrame.createAttribute("align");
   var width = oFrame.createAttribute("width");
   align.nodeValue = "center";
   width.nodeValue = "55";
   thPreis.setAttributeNode(align);
   thPreis.setAttributeNode(width);
   var thEdit = oFrame.createElement("th");
   thEdit.appendChild(oFrame.createTextNode("Edit"));
   var align = oFrame.createAttribute("align");
   var width = oFrame.createAttribute("width");
   align.nodeValue = "center";
   width.nodeValue = "27";
   thEdit.setAttributeNode(align);
   thEdit.setAttributeNode(width);
   trLine.appendChild(thMenge);
   trLine.appendChild(thName);
   trLine.appendChild(thPreis);
   trLine.appendChild(thEdit);
   head.appendChild(trLine);
   return head;
   }
function tblFooter(oFrame) {
   var footer = oFrame.createElement("tfoot");
   var trLine = oFrame.createElement("tr");
   var tdMenge = oFrame.createElement("td");
   tdMenge.appendChild(oFrame.createTextNode(""));
   var tdName = oFrame.createElement("td");
   tdName.appendChild(oFrame.createTextNode(""));
   var tdPreis = oFrame.createElement("td");
   tdPreis.appendChild(oFrame.createTextNode(""));
   var tdEdit = oFrame.createElement("td");
   tdEdit.appendChild(oFrame.createTextNode(""));
   trLine.appendChild(tdMenge);
   trLine.appendChild(tdName);
   trLine.appendChild(tdPreis);
   trLine.appendChild(tdEdit);
   footer.appendChild(trLine);
   return footer;
   }
