/* 
Datei: bestellung.js, Version 1.1,
Stand: 06.01.2009
Copyright: Accion Francisco e.V.
Mail: kontakt@accion-francisco.de
Web-Site: http://www.accion-francisco.de/
*/

// *****************************************************************************************************

// Artikeldaten

	Artikel = new Array("Stofftasche bunt", "Das Trolli-Buch");
	Gewicht = new Array(151, 151);		// Einzelgewicht (Menge = 1) 
	Preis = new Array(12, 9);			// Einzelpreis (Menge = 1)

// Randbedingungen

	MindestMenge = new Array(1, 1);		// Lt. Angebot in Artikelliste
	var MindestBestellwert = 9;			// Ggf. auf 0 setzen, falls Mindestmengen > 1

// Versand

	VersandKosten = new Array(3, 5);		// Mögliche Kosten für Porto und Verpackung
	GewichtsGrenzen = new Array(450, 900);		// Nur für die Produkte, Verpackung kommt hinzu

// *****************************************************************************************************

// Globale Variable

	PreisZeile = new Array(0, 0, 0);		
	EinzelPreisZeile = new Array(0, 0, 0);
	
	MindestMengeZeile = new Array(0, 0, 0);
	
	GewichtZeile = new Array(0, 0, 0);
	EinzelGewichtZeile = new Array(0, 0, 0);

	var Versand = 0;	
	var GesamtGewicht = 0;
	var Zeile = 0;
	var Fehler = 1;
	
// *****************************************************************************************************

function KorbLeeren() {
	E = document.Formular;
	for (var i = 0; i <= 9; i++) { E[i].value = ""; }
	for (var i = 0; i <= 2; i++) { PreisZeile[i] = ""; GewichtZeile[i] = 0;}
	Fehler = 1;
}

function Formatierung(Zahl) {
	if (Zahl < 10) { Stellen = 3; }
	if (Zahl < 100 && Zahl >= 10) { Stellen = 4; }
	if (Zahl < 1000 && Zahl >= 100) { Stellen = 5; }
	if (Zahl < 10000 && Zahl >= 1000) { Stellen = 6; }	
	ZahlFormatiert = Zahl.toPrecision(Stellen);
	return ZahlFormatiert;
}

function uebertragen(Auswahl) {
	E = document.Formular;
	// Bestimmen, in welche Position/Zeile übertragen wird
	var i = 0; var Ende = 7;
	while ( i < Ende ) { if (E[i].value == 0 ){ Position = i; Ende = 0 }; i = i + 3 }
	if (Position == 0) Zeile = 0;
	if (Position == 3) Zeile = 1;
	if (Position == 6) Zeile = 2; 

	// Daten aus Artikelliste in freie Zeile übertragen		
	E[Position].value = MindestMenge[Auswahl];
	E[Position + 1].value = Artikel[Auswahl];
	PreisZeile[Zeile] = MindestMenge[Auswahl] * Preis[Auswahl];
	E[Position + 2].value = Formatierung(PreisZeile[Zeile]);
	
	GewichtZeile[Zeile] = E[Position].value * Gewicht[Auswahl];
	
	MindestMengeZeile[Zeile] = MindestMenge[Auswahl];
	EinzelPreisZeile[Zeile] = Preis[Auswahl];
	EinzelGewichtZeile[Zeile] = Gewicht[Auswahl];

	E[9].value = Formatierung(Number(PreisZeile[0] + PreisZeile[1] + PreisZeile[2]));
	Fehler = 0;
}

function Aktualisieren(Zeile, Position) {
	// Wird aufgerufen, wenn Mengenelement neuen Wert erhält (ONKEYUP)
	E = document.Formular;
	Fehler = 0;
	if (E[Position +1].value == "") 	// Bearbeitung einer unbelegten Zeile
	{ 
		Fehler = 1;
		E[Position].value = "";
		alert("Bitte klicken Sie in der Artkelliste auf den Namen eines Produkts");
		E[Position +2].value = ""; 
	}
	if (isNaN(E[Position].value)) { E[Position].value = 0; GewichtZeile[Zeile] = 0; }
	if (Fehler == 0)  Berechnen(Zeile, Position); 	
}

function Pruefen(Zeile, Position) {
	// Wird aufgerufen, wenn Mengenelement den Fokus verliert (ONBLUR)
	E = document.Formular;
	Fehler = 0;
	x = E[Position].value; y = E[Position +1].value;
	if (y != "") {
		if (parseInt(x) < MindestMengeZeile[Zeile] || x == "" ) {
			Fehler = 1;
			alert("In Zeile [" +(Zeile +1) + "] wird die Mindestmenge eingetragen!"); 
			E[Position].value = MindestMengeZeile[Zeile]; 
			Fehler = 0; }
		if (x >= MindestMengeZeile[Zeile]) { 
			E[Position].value = parseInt(x); }
	}
	if (Fehler == 0) { Berechnen(Zeile, Position); }
}

function PruefenKorb() {
	window.setTimeout("PruefenAlles()", 100);
}

function PruefenAlles() {
	E = document.Formular;
	if (E[1].value == "") {Fehler = 2; alert("Ihr Warenkorb ist noch leer..."); }
	if (E[9].value < MindestBestellwert && Fehler != 2) {
		Fehler = 1; alert("Der Mindestbestellwert beträgt " + MindestBestellwert + " Euro"); }
	if (Fehler == 0) {
		GesamtGewicht = Number(parseInt(GewichtZeile[0]) + parseInt(GewichtZeile[1]) + parseInt(GewichtZeile[2]));
		if ( GesamtGewicht > 0 && GesamtGewicht <= GewichtsGrenzen[0]) { Versand = Formatierung(VersandKosten[0]);}
		if ( GesamtGewicht > GewichtsGrenzen[0] && GesamtGewicht <= GewichtsGrenzen[1]) { Versand = Formatierung(VersandKosten[1]);}
		if ( GesamtGewicht > GewichtsGrenzen[1]) { Versand = Formatierung(VersandKosten[2]);}
		x = Formatierung(Number(E[9].value) + Number(Versand));
		E[10].value = Formatierung(Number(Versand));
		alert("Der Gesamtpreis Ihrer Bestellung beträgt " + x + " Euro" +
		"\n------------------------------------------------------------------" +
		"\n- Warenwert: " + E[9].value + " Euro" +
		"\n- Versandkosten: " + Versand + " Euro" +
		// "\n- Gewicht: " + GesamtGewicht + " Gramm (Angabe nur für Testzwecke)" +
		"\n------------------------------------------------------------------" +
		"\nSie können nun Ihre Adresse eingeben."); 
		window.location.href = "#Name"; //deaktiviert für Test
	}
}

function BestellungFortsetzen() {
	// if (Fehler == 0) { window.location.href = "#Name"; }
	
}

function Berechnen(Zeile, Position) {
	E[Position + 2].value = Formatierung(E[Position].value * EinzelPreisZeile[Zeile]); 
	PreisZeile[Zeile] = Number(E[Position + 2].value);
	GewichtZeile[Zeile] = E[Position].value * EinzelGewichtZeile[Zeile];
	E[9].value = Formatierung(Number(PreisZeile[0] + PreisZeile[1] + PreisZeile[2]));
	Fehler = 0;
}

