count = 0;
arrElem = new Array();
arrName = new Array();
arrType = new Array();
arrErr  = new Array();
sErrMsg = "";

function addElement(element, name, type) {
 	count++;
	arrElem[count] = element;
	arrName[count] = name;
	arrType[count] = type;
	arrErr[count]  = 0;
}

function trimString(sInString) {
  sInString = sInString.replace( /^\s+/g, "" );// strip leading
  return sInString.replace( /\s+$/g, "" );
}


function checkform(form) {
	for (i=1; i<arrElem.length; i++) {
		arrErr[i]  = 0;
		if (arrType[i]!='multicheckbox') {
			o = eval('document.'+form+'.'+arrElem[i]);
		} else {
			o = document.getElementsByName(arrElem[i]);
		}

		if (typeof(o)=='object') {
			switch (arrType[i]) {
				case 'text':
					s = trimString(o.value);
					if (s=='') {
						arrErr[i] = 1;
					}
					break;
				case 'textarea':
					s = trimString(o.value);
					if (s=='') {
						arrErr[i] = 1;
					}
					break;
				case 'email':
					s = trimString(o.value);
					if (s=='') {
						arrErr[i] = 1;
					} else {
						// Format pruefen
						e = o.value.indexOf('@');
						if (e==-1) {
							arrErr[i] = 1;
						} else {
							p = o.value.lastIndexOf('.');
							if (p==-1 || p<e) {
								arrErr[i] = 1;
							}
						}
					}
					break;
				case 'zahlungsart':
					var sel = '';
					for (j=0; j<o.length; j++) {
						if (o[j].checked) {
							sel = o[j].value;
						}
					}

					if (sel=='') {
						arrErr[i] = 1;
					} else {
						// Details pruefen
						switch (sel) {
							case 'karte':
								if (document.order.kreditkarte_karte.selectedIndex==0) {arrErr[i]=1;}
								if (document.order.kreditkarte_inhaber.value=='') {arrErr[i]=1;}
								if (document.order.kreditkarte_nummer.value=='') {arrErr[i]=1;}
								if (document.order.kreditkarte_valid.value=='') {arrErr[i]=1;}
								break;
							case 'bank':
								if (document.order.bank_nummer.value=='') {arrErr[i]=1;}
								if (document.order.bank_blz.value=='') {arrErr[i]=1;}
								if (document.order.bank_bankname.value=='') {arrErr[i]=1;}
								if (document.order.bank_inhaber.value=='') {arrErr[i]=1;}
								if (document.order.bank_datum.value=='') {arrErr[i]=1;}
								break;
						}
					}
					break;
				case 'radio':
					var c = 0;

					for (var j=0; j<o.length; j++) {
						if (o[j].checked) {
							c = 1;
							break;
						}
					}

					if (c==0) {
						arrErr[i] = 1;
					}
					break;
				case 'checkbox':
					if (o.checked==false) {
						arrErr[i] = 1;
					}
					break;
				case 'multicheckbox':
					var c = 0;

					for (var j=0; j<o.length; j++) {
						if (o[j].checked) {
							c = 1;
							break;
						}
					}

					if (c==0) {
						arrErr[i] = 1;
					}
					break;
				case 'selectbox':
					if (o.selectedIndex==0) {
						arrErr[i] = 1;
					}
					break;
			}
		} else {
			alert('no obj '+arrElem[i]);
		}
	}

	s = '';
	for (i=1; i<arrErr.length; i++) {
		if (arrErr[i]==1) {
			s += arrName[i]+"\n";
		}
	}

	if (s!='') {
		alert(sErrMsg+'\n\n'+s);
	} else {
//		o = eval('document.'+form);
//		o.submit();
		document.formreg.submit();
	}
}

