//FUNKTIONEN FÜR BESTELLUNGEN AUS KATEGORIEN UND ARTIKEL HERAUS
function AddToBag(baseUrl, ActionID, ID_Art, PaketAnzahl){
 var e=document.getElementById("Amount"+ID_Art);
 var amount=e.value;

 f=document.getElementById("ArtID"+ID_Art);
 var artNr=f.value;

 DoBag("Add", baseUrl, ActionID, ID_Art, artNr, amount, PaketAnzahl);
}

function SetToBag(baseUrl, ActionID, ID_Art, PaketAnzahl){
 var e=document.getElementById("Amount"+ID_Art);
 var amount=e.value;

 f=document.getElementById("ArtID"+ID_Art);
 var artNr=f.value;

 DoBag("Set", baseUrl, ActionID, ID_Art, artNr, amount, PaketAnzahl);
}


function DoBag(action, baseUrl, ActionID, ID_Art, ArtNr, amount, paketAnzahl){
//PRIVATE FUNCTION; WIRD NUR AUS DIESEM SKRIPT AUFGERUFEN!
amount=parseInt(amount);
// WAR FRÜHER: if(ActionID&&(amount>0)){
// ersetzt, weil nun auch ohne Login Bestellungen möglich
if(amount>0){
    var ok=true; pListe="";
		if(paketAnzahl>0){
     //Wenn der Artikel ein Paket ist
     pl=GetPaketListe(ID_Art);
     panz=pl.split(",").length;

     if (panz!=paketAnzahl){
      alert("Das Paket besteht aus "+paketAnzahl+" Artikeln.\r\n\r\nBitte wählen Sie "+paketAnzahl+" Artikel aus der Liste und speichern Sie dann den Artikel im Warenkorb.");
      ok=false;
     }else{
      pListe="&Paket"+ID_Art+"="+pl;
     }
    }

	  //alert(e.id+": " + v);
	  //alert("index.php?Name=Kategorie&ID_Kat="+ID_Kat+"&ID_Art="+ID_Art);


		vListe="&Vars="+GetVarianten(ID_Art);
    if(ok) {
    	    //alert("Der gewählte Artikel wird nun insgesamt " + amount + "x in den Warenkorb gelegt.");
				if(action=="Add"){
          location.replace(baseUrl+"&Action="+action+"&ActionID="+ActionID+"&BuyID="+ID_Art+"&Amount="+amount+"&AddByButton"+pListe+vListe+"#"+ArtNr);
        }else{
        	if(action=="Set"){
	          location.replace(baseUrl+"&Action="+action+"&ActionID="+ActionID+"&BuyID="+ID_Art+"&Amount="+amount+pListe+vListe+"#"+ArtNr);
	        }else{
	          alert("DoBag: Action="+action+" nicht bekannt!");
	        }
        }
    }

//    if(ok) window.location.href=baseUrl+"&Action="+action+"&ActionID="+ActionID+"&BuyID="+ID_Art+"&Amount="+amount+pListe+"#"+ArtNr;
}else{
	alert("Bitte geben sie eine gültige Bestellmenge an.");
/*
   if(ActionID){
    alert("Bitte geben sie eine gültige Bestellmenge an.");
   }else{
	  alert("Sie müssen angemeldet sein, um Änderungen an Ihrem Warenkorb vornehmen zu können.");
   }
*/
}
}



function BagOwnAction(action, amount, ActionID,ID_Art){
//FUNKTION FÜR BESTELLUNGEN AUS DEM WARENKORB HERAUS
if(ActionID&&(amount!=0)){
	  //alert(e.id+": " + v);
	  //alert("index.php?Name=Kategorie&ID_Kat="+ID_Kat+"&ID_Art="+ID_Art);
	  window.location.href="index.php?Name=Warenkorb&Action="+action+"&ActionID="+ActionID+"&BuyID="+ID_Art+"&Amount="+amount;
	  return true;
}else{
		return false;
}

}

function GetPaketListe(ParentID){
 /*Die Checkboxes, die für jeden Artikel in einem Paket angezeigt werden,
   sehen so aus:
  <input name='Paket100Artikel' value='101' type='checkbox' onchange='PaketArtikelAuswahl("100","100001")'>...</input><br>";
										 |  				        | 																									|      |
                     |                 Art_ID des "Kind-Artikels"                           |      |
                     								                                                        |			 |																																			|
                    Art_ID des "Parent-Artikels"--------------------------------------------/     Nr des Parent-Artikels

 */

 //Alle ausgewählten Artikel des Eltern-Pakets ermitteln
 var ok=true; var nr=0; var liste="";
 while (ok){
	   var e = document.getElementsByName("Paket"+ParentID+"Artikel")[nr];
     if(e){
      if (e.checked) {liste=liste+e.value+",";}
      nr++;
	   }else{ok=false;}
 }

  //Wenn liste ermittelt, dann abschließendes "," entfernen
 //alert(liste);
 if(liste){liste=liste.substr(0,liste.length-1);}

 return liste;
}

function PaketArtikelAuswahl(ParentID,ParentNr){
 //Wenn eine CheckBox geändert wird, dann die URL um die Liste er markierten Checkboxes aktualisieren/erweitern...

 liste=GetPaketListe(ParentID);

 var url=window.location.href;
 var url = url.split("#")[0]; //Teil vor einer evtl. Anker-Angabe ermitteln

 var urlname = url.split("?")[0];
 var urlpars = url.split("?")[1];
 var pars = urlpars.split("&");
	//alert(url+"\r\n"+urlname+"\r\n"+urlpars);

 //Parameter suchen und ggfs. neu definieren
 nr=0;ok=false;
 while((nr < pars.length) && (ok==false)){
  	var pInfo=pars[nr].split("="); //pInfo[0]=Parameter name; pInfo[1]=Parameter wert; (zumindest reicht das an dieser stelle; "fehler" möglich, wenn parameter ein "=" enthält, aber der Paket-Paramert hat kein "=" und alle anderen werden so übernommen, wie sie waren)

    if (pInfo[0]=="Paket"+ParentID){
   		pars[nr]="Paket"+ParentID+"="+liste;
      ok=true;
  	}
    nr++;
 }

 //Url ermitteln
 if(ok==false){
  //Liste war noch nicht in url enthalten;
  //Alte Url übernehmen und Liste dranhängen
  url=url+"&Paket"+ParentID+"="+liste;
 }else{
  //Liste war bereits in url enthalten;
  //Wurde in pars[]-Array ersetzt
  //Url daraus wieder zusammensetzen
  url=urlname+"?"+pars.join("&");
 }

 //Adresse ersetzen
 location.replace(url+"#"+ParentNr);
}

function VariantenAuswahl(e, ArtID){
	//hier alle zusammenzählen und
  //gesamtsumme hochsetzen
  var vs=GetVarianten(ArtID).split(",")
  nr=0;ok=false;sum=0;a=0;

 while((nr < vs.length) && (ok==false)){
		a=parseInt(vs[nr]);
    if(a>0){
			sum=sum+a;
    }
    nr++;
 }
 var e = document.getElementById("Amount"+ArtID);
 e.value=sum;
}

function GetVarianten(ArtID){
 /*Die Textfelder, die für jeden Artikel mit Varianten angezeigt werden,
   haben folgenden Namen: Variante999 = Variante+Artikel-ID+LfdNr (ab 0)
   Nr präventiv mitgeliefert, damit Reihenfolge+Zuordnung sicher sind
 */


 //Alle ausgewählten Artikel des Eltern-Pakets ermitteln
 var ok=true; var nr=0; var liste="";
 while (ok){
	   var e = document.getElementsByName("Variante"+ArtID+"-"+nr)[0];
     if(e){
      if (e.value>0) {
      	liste=liste+e.value+",";
      }else{
      	liste=liste+",";
      	e.value='';
      }
      nr++;
	   }else{ok=false;}
 }

  //Wenn liste ermittelt, dann abschließendes "," entfernen
 //alert(liste);
 if(liste){liste=liste.substr(0,liste.length-1);}

 return liste;
}