function submitForm() {
	saveForm();
	window.location = "/cgi-bin/shopping.cgi?aktualisieren";
}

function saveForm() {
	var order = new String(getCookie("SCHLECKI_BESTELLUNG"));
	var elnam = new String();
	for (var i = 0; i < document.form.elements.length; i++){
		elnam = document.form.elements[i].name;
		if (elnam.indexOf("BT_") != "0"){
			order = delItem(order, document.form.elements[i]);
		}	
	}
	for (var i = 0; i < document.form.elements.length; i++){
		elnam = document.form.elements[i].name;
		if (elnam.indexOf("BT_") != "0"){
			order = addItem(order, document.form.elements[i]);
		}	
	}
	setCookie("SCHLECKI_BESTELLUNG", order);
	return null;
}

function loadForm() {
// Initialisiert das Formular
	var elnam = new String();
	var order = new String(getCookie("SCHLECKI_BESTELLUNG"));
	for (var i = 0; i < document.form.elements.length; i++){
		elnam = document.form.elements[i].name;
		if (elnam.indexOf("BT_") != "0"){
			document.form.elements[i].value = getQty(order, document.form.elements[i].name);
		}	
	}
	return null;
}

function addItem(str, item2add) {
// Fuegt der Zeichenkette str den Schluessel item2add und den Wert zu
	var ival = new String (cleanInput(item2add.value));
//	str = delItem(str, item2add.name);
	if (ival > 0) { str = str + item2add.name + ":" + ival + ";"}
	return str;
}

function delItem(str, item2delete) {
// Loescht aus der Zeichenkette str vom Schluessel item2delete bis zum naechsten Semikolon
	name2delete = item2delete.name + ":";
	delbgn = str.indexOf(name2delete);
	if (delbgn < 0) { return str; } // Schluessel nicht gefunden
	else {
		delend = str.indexOf(";", delbgn) + 1;
		return str.substring (0, delbgn) + str.substring (delend, str.length);
	}
}

function getQty(str, name2evaluate) {
// Ermittelt aus der Zeichenkette str den Wert zwischen Schluessel item2delete und dem naechsten Semikolon
	var objnam = new String(name2evaluate + ":");
	var delbgn = str.indexOf(objnam);
	if (delbgn < 0) { return "0"; }
	else {
		var varbgn = delbgn + objnam.length;
		varend = str.indexOf(";", delbgn);
		return str.substring (varbgn, varend);
	}
}

function cleanInput(input) {
	var str = new String(input);
	if ( str.length < 1 ) { str = "0" }
	else {
		for (var index=0; index < str.length; index++) {
			if (str.charAt(index) < "0" || str.charAt(index) > "9") {
				alert ("\nBitte nur Ziffern eingeben!");
				str = "0";
			}
		}
		str++; // befreit auf einfachste weise
		str--; // von fuehrenden nullziffern
	}
	return str;
}

function setCookie (coknam, value, expires) {
	if (!expires) { 
		expires = new Date();
		expires.setTime (expires.getTime() + (1000 * 60 * 60 * 24 * 31));
	}
	document.cookie = coknam + "=" + escape (value) + "; expires=" + expires.toGMTString() +  "; path=/";
	return null;
}

function getCookie (coknam) {
	var doccok = document.cookie; 
	coknam = coknam + "=";
	var coklen = doccok.length;
	var cokbgn = 0;
	while (cokbgn < coklen) {
		var varbgn = cokbgn + coknam.length;
		if (doccok.substring(cokbgn, varbgn) == coknam) { 
		var varend = doccok.indexOf (";", varbgn);
		if (varend == -1) varend = coklen;
		return unescape(doccok.substring(varbgn, varend));
	}
	cokbgn = doccok.indexOf(" ", cokbgn) + 1;
	if (cokbgn == 0) break;
	}
	return "";
}

function delCookie (coknam) {
	document.cookie = coknam + "=" + "; expires=Thu, 01-Jan-70 00:00:00 GMT" +  "; path=/";
	return null;
}

function countArticle() {
// Gesamtzahl der ausgesuchten Artikel
	var posi = 0;
	for (var i = 0; i < document.form.elements.length; i++){
		elnam = document.form.elements[i].name;
		if (elnam.indexOf("BT_") != "0"){
			posi = posi + parseInt(document.form.elements[i].value);
		}	
	}
	if (posi > 0) {return posi + ' Positionen wurden in Ihren Warenkorb gelegt'}
	else
		{return 'Es wurde nichts ausgewaehlt.'};
}
