function rechnen(artikel,preis,nr){
	var anzahl = document.shop.ges_anzahl.value;
	var artikel = eval('document.shop.'+artikel+'.value');
	var preis = eval('document.shop.'+preis+'.value');
	var summe_artikel = artikel * preis;
	var summe_ges = 0;
	var summe_porto = 0;
	//Zwischensumme artikel
	var sum = preis_formatierung(summe_artikel);
	eval('document.shop.ges_preis_' + nr + '.value = ' + sum);
	
	//Gesammtsumme
	for(j = 0; j < anzahl; j++){
		summe_ges += eval('document.shop.ges_preis_' + j + '.value') * 1;
	}
	summe_ges = preis_formatierung(summe_ges);
	document.shop.summe.value = summe_ges;
	
	//Porto
	/*
	summe_porto = preis_formatierung(eval('document.shop.porto_sum.value') * 1);
	porto_limit = preis_formatierung(eval('document.shop.porto_limit.value') * 1);
	
	if(summe_ges >= porto_limit){
		summe_porto = '0.00';
	}else{
		summe_porto = summe_porto;
	}
	document.shop.porto.value = summe_porto;
	
	//Rechnungssumme
	document.shop.rechnung.value = preis_formatierung((summe_ges * 1) + (summe_porto * 1));
	*/
}


function preis_formatierung(summe) {
	var sum= Math.floor(summe) + ".";
	var cents = 100 * (summe-Math.floor(summe)) + 0.5;
	sum += Math.floor(cents / 10);
	sum += Math.floor(cents % 10);
	return sum;
}

function nurZahlen(anzahl) {
	var anzahl_neu = new String();
	var zahlen = "0123456789";
	var buchstaben = anzahl.value.split("");
	for (i = 0; i < buchstaben.length; i++) {
		if (zahlen.indexOf(buchstaben[i]) != -1) anzahl_neu += buchstaben[i];
	}
	if (anzahl.value != anzahl_neu) anzahl.value = anzahl_neu;
}

function verify(){
	var anzahl = document.shop.ges_anzahl.value;
	var leer = false;
	
	for(i=0;i < anzahl;i++){
		feld=eval('document.shop.anzahl_'+i+'.value');
		if(feld != "" && feld != "0"){
			leer = true;
			break;
		}
	}
	if(!leer){
		alert('Du hast keinen Artikel für den Warenkorb ausgewählt.');
		fehler=0;
		return false;
	}else{
		fehler=0;
		return true;
	}
}

//----------------------------------------------------

	var pfad = 'document.bestellen';

	var sonder2 = /[^-\A-Za-z äüöÄÜÖßéèêáàâóòôúùû\.]/;	//vorname
	var sonder3 = /[^-\A-Za-z äüöÄÜÖßéèêáàâóòôúùû]/;		//nachname
	var sonder4 = /[^-\A-Za-z0-9 äüöÄÜÖß\.]/; 	//strasse, hausnr
	
	var vokale = /[aeiouAEIOUäüöÄÜÖyYjJ]/;
	var dreifach = /(.)\1\1/;
	var anfang = /^-|^ |-$| $|\s{2,}/;
	
	var postfach1 = /\bPF\d/i;
	var postfach2 = /\bPF\s.+\d/i;
	var postfach3 = /\bPOSTFACH/i;
	var postfach4 = /\bPF\b/i;
	
	var nurWoerter = /\D/;
	var zahlen = /\d/;
	var emails = /[a-z0-9_-]+(\.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,7})/i;
	
	var datum = new Date();
	var jahr_akt = datum.getYear();
	if(jahr_akt < 999) jahr_akt += 1900;
	
	var wrong = new Array();
	var ok = new Array();
	var form;
	var falsch;
	var name_form;
	var fehler=0;
	var m = 1;
	
	//---------------------------------------------------------
	
	var alle = new Array();

	alle[0] = new Array(pfad+".vorname",'2','30',"sonder2.exec("+pfad+".vorname.value) != null","dreifach.exec("+pfad+".vorname.value) != null","vokale.exec("+pfad+".vorname.value) == null",pfad+".vorname.value.indexOf('.')== 0 || "+pfad+".vorname.value.indexOf('.')== 1 || anfang.exec("+pfad+".vorname.value) != null");

	alle[1] = new Array(pfad+".nachname",'2','30',"sonder3.exec("+pfad+".nachname.value) != null","dreifach.exec("+pfad+".nachname.value) != null","vokale.exec("+pfad+".nachname.value) == null","anfang.exec("+pfad+".nachname.value) != null");
	
	alle[2] = new Array(pfad+".strasse",'2','40',"postfach3.exec("+pfad+".strasse.value) != null || postfach4.exec("+pfad+".strasse.value) != null || postfach1.exec("+pfad+".strasse.value) != null || postfach2.exec("+pfad+".strasse.value) != null","sonder4.exec("+pfad+".strasse.value) != null","anfang.exec("+pfad+".strasse.value) != null","zahlen.exec("+pfad+".strasse.value) == null");

	alle[3] = new Array(pfad+".plz",'','');
	
	alle[4] = new Array(pfad+".stadt",'2','30');
	
	alle[5] = new Array(pfad+".telefon",'','');
	
	alle[6] = new Array(pfad+".email",'','',"emails.exec("+pfad+".email.value) == null",pfad+".email.value.split(' ').length > 1");

	alle[7] = new Array(pfad+".geb_tag",'2','2',"nurWoerter.exec("+pfad+".geb_tag.value) != null || "+pfad+".geb_tag.value < 1 || "+pfad+".geb_tag.value > 31");
	alle[8] = new Array(pfad+".geb_monat",'2','2',"nurWoerter.exec("+pfad+".geb_monat.value) != null || "+pfad+".geb_monat.value < 1 || "+pfad+".geb_monat.value > 12");
	alle[9] = new Array(pfad+".geb_jahr",'4','4',"nurWoerter.exec("+pfad+".geb_jahr.value) != null || "+pfad+".geb_jahr.value < 1 || "+pfad+".geb_jahr.value > jahr_akt");
	
	
	var meldungen = new Array();
	meldungen[0] = new Array('Du hast keinen Vornamen angegeben.<br>','Dein Vorname muss mindestens aus 2 Zeichen bestehen.<br>','Dein Vorname enthält ungültige Sonderzeichen.<br>','Es dürfen keine 3 gleiche Zeichen hintereinander stehen.<br>',' Du hast keine Vokale in deinem Vornamen.<br>','Du hast Sonderzeichen am Anfang oder Ende bzw. mehr als 1 Leerzeichen in deinem Vornamen stehen<br>');

	meldungen[1] = new Array('Du hast keinen Nachnamen angegeben.<br>','Dein Nachname muss mindestens aus 2 Zeichen bestehen.<br>','Dein Nachname enthält ungültige Sonderzeichen.<br>','Es dürfen keine 3 gleiche Zeichen hintereinander stehen.<br>','Du hast keine Vokale in deinem Nachnamen.<br>','Du hast Sonderzeichen am Anfang oder Ende bzw. mehr als 1 Leerzeichen in deinem Nachnamen stehen<br>');

	meldungen[2] = new Array('Du hast keine Straße angegeben.<br>','Deine Straße muss mindestens aus 2 Zeichen bestehen.<br>','Es darf kein Postfach angegeben werden.<br>','Deine Straße enthält ungültige Sonderzeichen.<br>','Du hast unerlaubte Sonder- oder Leerzeichen am Anfang oder Ende deiner Straße.<br>','Bitte gib eine Hausnummer an.<br>');

	meldungen[3] = new Array('Du hast keine Postleitzahl angegeben.<br>','');

	meldungen[4] = new Array('Du hast keine Stadt angegeben.<br>','Der eingegebene Stadtname scheint zu kurz zu sein.<br>');
	
	meldungen[5] = new Array('Du hast keine Telefonnummer angegeben.<br>','');
	
	meldungen[6] = new Array('Du hast keine E-Mail-Adresse angegeben.<br>','','Du hast keine korrekte E-Mail-Adresse angegeben.<br>','Du hast keine korrekte E-Mail-Adresse angegeben.<br>');
	
	meldungen[7] = new Array('Du hast keinen Tag beim Geburtsdatum angegeben.','Der Tag muss 2-stellig sein.','Der Tag enthält ein ungültiges Datum.');
	meldungen[8] = new Array('Du hast keinen Monat beim Geburtsdatum angegeben.','Der Monat muss 2-stellig sein.','Der Monat enthält ein ungültiges Datum.');
	meldungen[9] = new Array('Du hast kein Jahr beim Geburtsdatum angegeben.<br>','Das Jahr muss 4-stellig sein.<br>','Das Jahr enthält ein ungültiges Datum.<br>');
	
	//----------------------------------
	
	function testen(form,laenge_min,laenge_max,test1,test2,test3,test4){
		var form_value= eval(form+'.value');

		if(form_value == "" || form_value == null){
			wrong.push(form);
			return form;
		}else if(laenge_min && (form_value.length < laenge_min || form_value.length > laenge_max)){
			wrong.push(form);
			return "laenge";
		}else if(eval(test1)){
			wrong.push(form);
			return "test1";
		}else if(eval(test2)){
			wrong.push(form);
			return "test2";
		}else if(eval(test3)){
			wrong.push(form);
			return "test3";
		}else if(eval(test4)){
			wrong.push(form);
			return "test4";
		}else{
			ok.push(form);
		}
		
	}

function verify_bestellen(){
		
		// abfragen
		for(i=0;i < alle.length;i++){
			falsch = this.testen(alle[i][0],alle[i][1],alle[i][2],alle[i][3],alle[i][4],alle[i][5],alle[i][6]);
			formname = alle[i][0];
			teile = formname.split('.');
			formname = teile[2];
			formname = formname+'_div';
			
			if(falsch == alle[i][0]){
				if(document.all){eval("document.all."+formname+".innerHTML = '"+meldungen[i][0]+"<br>';");}
				else{eval("document.getElementById('"+formname+"').innerHTML = '"+meldungen[i][0]+"<br>';");}
			}
			if(falsch=="laenge"){
				if(document.all){eval("document.all."+formname+".innerHTML = '"+meldungen[i][1]+"<br>';");}
				else{eval("document.getElementById('"+formname+"').innerHTML = '"+meldungen[i][1]+"<br>';");}
			}
			if(falsch=="test1"){
				if(document.all){eval("document.all."+formname+".innerHTML = '"+meldungen[i][2]+"<br>';");}
				else{eval("document.getElementById('"+formname+"').innerHTML = '"+meldungen[i][2]+"<br>';");}
			}
			if(falsch=="test2"){
				if(document.all){eval("document.all."+formname+".innerHTML = '"+meldungen[i][3]+"<br>';");}
				else{eval("document.getElementById('"+formname+"').innerHTML = '"+meldungen[i][3]+"<br>';");}
			}
			if(falsch=="test3"){
				if(document.all){eval("document.all."+formname+".innerHTML = '"+meldungen[i][4]+"<br>';");}
				else{eval("document.getElementById('"+formname+"').innerHTML = '"+meldungen[i][4]+"<br>';");}
			}
			if(falsch=="test4"){
				if(document.all){eval("document.all."+formname+".innerHTML = '"+meldungen[i][5]+"<br>';");}
				else{eval("document.getElementById('"+formname+"').innerHTML = '"+meldungen[i][5]+"<br>';");}
			}
			
		}
		if(wrong.length != 0){
			for(j=0;j < wrong.length; j++){
				eval(wrong[j]+'.style.backgroundColor = "#FFEE2A"');
				fehler = 1;
				
				if(m==1){
					var name_form = wrong[j];
				}
				m++;
			}
		}
		
		if(ok.length != 0){
			for(k=0;k < ok.length; k++){
				formname = ok[k];
				teile = formname.split('.');
				formname = teile[2];
				formname = formname+'_div';
				
				if(document.all){eval("document.all."+formname+".innerHTML = '&nbsp;';");}
				else{eval("document.getElementById('"+formname+"').innerHTML = '&nbsp;';");}
			
				eval(ok[k]+'.style.backgroundColor = "#ffffff"');
			}
		}
		
		//alert(ok.join(","));
		//alert(wrong.join(","));
		
			wrong = new Array();
			ok = new Array();
			geb = new Array();
			m=1;
			leer_datum=0;
			
		if(fehler==1){
			alert('Die erforderlichen Angaben sind noch nicht vollständig oder fehlerhaft.\nBitte überprüfe die gelb markierten Felder und fülle sie aus.');
			eval(name_form+'.focus()');
			fehler=0;
			return false;
		}else{
			fehler=0;
			return true;
		}

}


function checktag(){
	if(document.bestellen.geb_tag.value.length > 1){
		document.bestellen.geb_monat.focus();
	}
}
function checkmonat(){
	if(document.bestellen.geb_monat.value.length > 1){
		document.bestellen.geb_jahr.focus();
	}
}
