﻿
// designed by iFactory, Würzburg, Germany       //

// Copyright 2000-2006 by iFactory               //
// All rights reserved.                          //
// Duplication in any form or any use of this    //
// script or parts of it are strictly prohibited //
// for private and commercial use.               //


/****************************************************************
 * global constants
 ****************************************************************/
basket = true;


/****************************************************************
 * functions
 ****************************************************************/

/**
 * initializes module
 */
function initBasket () {
	if (document.getElementById("basket")) {
		for (fr=0; document.getElementById("fr"+fr); fr++);

		for (l=0; document.getElementById("am"+l); l++) {
			if (l < fr) {
				document.getElementById("am"+l).onchange = function (evt) {
					l = this.name.substr(2); // l inside member function unknown
					this.form.elements["fr"+l].value = (this.value=="" || isNaN(this.value)) ? "" : Math.floor(this.value*0.1);
					this.form.elements["su"+l].value = (this.value=="" || isNaN(this.value) || this.form.elements["pr"+l].value=="") ? "" : formatMoney(this.form.elements["pr"+l].value.replace(/,/,".") * this.value);

					for (l=0,sum=0; document.getElementById("su"+l); l++)
						sum += Number(document.getElementById("su"+l).value.replace(/,/,"."));
					this.form.sum.value = (sum=="" || sum==0) ? "" : formatMoney(sum);
				}

			} else {
				document.getElementById("ct"+l).onchange = function (evt) {
					l = this.name.substr(2); // l inside member function unknown
					this.form.elements["pr"+l].value = (this.value==0 || this.form.elements["id"+this.value].value==0 || isNaN(this.form.elements["id"+this.value].value.replace(/,/,"."))) ? "" : formatMoney(this.form.elements["id"+this.value].value.replace(/,/,"."));
					this.form.elements["su"+l].value = (this.form.elements["am"+l].value=="" || isNaN(this.form.elements["am"+l].value) || this.form.elements["pr"+l].value=="") ? "" : formatMoney(this.form.elements["pr"+l].value.replace(/,/,".") * this.form.elements["am"+l].value);

					for (l=0,sum=0; document.getElementById("su"+l); l++)
						sum += Number(document.getElementById("su"+l).value.replace(/,/,"."));
					this.form.sum.value = (sum=="" || sum==0) ? "" : formatMoney(sum);
				}

				document.getElementById("am"+l).onchange = function (evt) {
					l = this.name.substr(2); // l inside member function unknown
					this.form.elements["su"+l].value = (this.value=="" || isNaN(this.value) || this.form.elements["pr"+l].value=="") ? "" : formatMoney(this.form.elements["pr"+l].value.replace(/,/,".") * this.value);

					for (l=0,sum=0; document.getElementById("su"+l); l++)
						sum += Number(document.getElementById("su"+l).value.replace(/,/,"."));
					this.form.sum.value = (sum=="" || sum==0) ? "" : formatMoney(sum);
				}
			}

			document.getElementById("am"+l).onblur = function (evt) {
				this.parentNode.firstChild.nextSibling.nextSibling.className = this.parentNode.firstChild.nextSibling.nextSibling.className.replace(' error','') + (!this.value.match(/^(1000|\d{0,3})$/)?' error':'');
			};
		}
		line = l;
/*
		l=fr;
		while (document.getElementById("ct"+l)) {
			document.getElementById("ct"+l).onchange = function (evt) {
				l = this.name.substr(2); // l inside member function unknown
				this.form.elements["pr"+l].value = (this.value) ? "" : this.form.elements["pr"+l].value * this.value;
			}
			document.getElementById("am"+l).onblur = function (evt) {
				this.parentNode.className = this.parentNode.className.replace('error','') + (!this.value.match(/^(1000|\d{0,3})$/)?'error':'');
			};
			l++;
		}
*/
		document.getElementById("basket").send.onclick = function (evt) {
			error = 0x0;

			order = 0;
			for (l=0; l<line; l++) {
				str = '';
				if (!this.form.elements["am"+l].value.match(/^(1000|\d{0,3})$/)) {
					error |= 0x2; str = 'error';
				} else
					order += this.form.elements["am"+l].value;
				this.form.elements["am"+l].parentNode.className = this.form.elements["am"+l].parentNode.className.replace('error','') + str;
			}

			if (order == 0)
				error |= 0x1;


			// show message
			if (error) {
				str = "Eingabefehler!";
				if (error&0x2) str += "\nDie Daten sind fehlerhaft.";
				if (error&0x1) str += "\nBitte geben Sie Ihre Bestellung ein.";
				alert(str);
				return false;
			}

			return true;
		};
	}
}
