/* Author: R3D Internet Dienstleistungen 
** 7.Februar 2009
*/

function BerechneSummen(formular) {
	var buecher_anzahl = 0
    var summe_gesamt = 0
	var buecher_anzahl = 0
    for (var i=0; i < formular.elements.length; ++i) {
        formular_feld = formular.elements[i]
        formular_name = formular_feld.name
		formular_title = formular_feld.title
		
		if (formular_name.substring(0,3) == "CD_") {
            item_price = parseFloat(formular_title + 1)
            item_quantity = parseInt(formular_feld.value)
            if (item_quantity >= 0) {
                summe_gesamt += item_quantity * item_price
				buecher_anzahl += item_quantity
            } else if (item_quantity >= 13) { 
				summe_gesamt = "FEHLER"
				buecher_anzahl = "FEHLER"
			}
        }
    }
    formular.TOTAL.value = round_decimals(summe_gesamt, 2)
	formular.CDS.value = buecher_anzahl
	
	/* Berechne Shipping */ 
	// if (formular.ABHOLEN.checked != true) {
		if (formular.CDS.value == 1) {
			formular.PORTO.value = "3.00"
		} else if(formular.CDS.value == 2) {
			formular.PORTO.value = "5.00"
		} else if(formular.CDS.value == 3 || formular.CDS.value == 4) {
			formular.PORTO.value = "5.00"
		} else if(formular.CDS.value == 5 || formular.CDS.value == 6) {
			formular.PORTO.value = "5.00"
		} else if(formular.CDS.value == 7) {
			formular.PORTO.value = "5.00"
		} else if(formular.CDS.value <= 12 && formular.CDS.value >= 8) {
			formular.PORTO.value = "5.00"
		} else {
			formular.PORTO.value = "FEHLER"
		}
	// } else { formular.PORTO.value = "0.00" }
	
	zahl1 = parseFloat(formular.TOTAL.value)
	zahl2 = parseFloat(formular.PORTO.value)
	gesamtsumme = zahl1 + zahl2
	formular.GESAMT.value = round_decimals(gesamtsumme, 2)
}

function round_decimals(original_number, decimals) {
    var result1 = original_number * Math.pow(10, decimals)
    var result2 = Math.round(result1)
    var result3 = result2 / Math.pow(10, decimals)
    return pad_with_zeros(result3, decimals)
}

function pad_with_zeros(rounded_value, decimal_places) {
    var value_string = rounded_value.toString()
    var decimal_location = value_string.indexOf(".")
    if (decimal_location == -1) {
        decimal_part_length = 0
        value_string += decimal_places > 0 ? "." : ""
    }
    else {
        decimal_part_length = value_string.length - decimal_location - 1
    }
    var pad_total = decimal_places - decimal_part_length
    if (pad_total > 0) {
        for (var counter = 1; counter <= pad_total; counter++) 
            value_string += "0"
        }
	euro_value=value_string.replace(".", ",");
    return euro_value
}

function echeck(str) {
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Bitte geben Sie eine gültige E-Mail an.")
		   return false
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Bitte geben Sie eine gültige E-Mail an.")
		   return false
		}
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Bitte geben Sie eine gültige E-Mail an.")
		    return false
		}
		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Bitte geben Sie eine gültige E-Mail an.")
		    return false
		 }
		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Bitte geben Sie eine gültige E-Mail an.")
		    return false
		 }
		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Bitte geben Sie eine gültige E-Mail an.")
		    return false
		 }
		 if (str.indexOf(" ")!=-1){
		    alert("Bitte geben Sie eine gültige E-Mail an.")
		    return false
		 }
 		 return true					
	}
/* Pflichteingaben prüfen */
  	
	
	function checkForm(formular) {
	var emailID=formular.Email
	var noalpha = /\D/;
	var nonums = /\d/;   //  /^[0-9]*$/ 
	if(formular.CDS.value == "" || formular.TOTAL.value == "" || formular.CDS.value == "0" || formular.TOTAL.value == "0" || formular.GESAMT.value == "") {
	   alert("Sie müssen mindestens ein Buch bestellen");
	   return false;
	  }
	if(formular.CDS.value >= "FEHLER" || formular.TOTAL.value == "NaN,00" || formular.GESAMT.value == "NaN,00") {
	   alert("Sie können nicht mehr als 12 Bücher auf einmal bestellen. \nStarten Sie im Anschluss an diese Bestellung eine weitere, oder nehmen Sie mit uns Kontakt per Email auf.\n\nSollte dieser Fehler anderweitig auftauchen, so kontaktieren Sie bitte den Administrator dieser Webseite.");
	   return false;
	  }
	  
	if(formular.Vorname.value == "")  {
	   alert("Bitte den Vornamen angeben.");
	   formular.Vorname.focus();
	   return false;
	  }
	  if (nonums.test(formular.Vorname.value)) {
	     alert("Bitte benutzen Sie bei der Eingabe des Vornamens ausschließlich Buchstaben.");
		 formular.Vorname.focus();
	     return false;
	  }
	 if(formular.Nachname.value == "")  {
	   alert("Bitte den Nachnamen angeben.");
	   formular.Nachname.focus();
	   return false;
	  }
	 if (nonums.test(formular.Nachname.value)) {
	     alert("Bitte benutzen Sie bei der Eingabe des Nachnamens ausschließlich Buchstaben.");
		 formular.Nachname.focus();
	     return false;
	  }
	if ((emailID.value==null)||(emailID.value=="")){
		alert("Bitte Ihre E-Mail angeben.")
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false){
		emailID.value=""
		emailID.focus()
		return false
	}
	if(formular.Adresse.value == "") {
	   alert("Bitte Straße und Hausnummer angeben.");
	   formular.Adresse.focus();
	   return false;
	  }
	if(formular.PLZ.value == "") {
	   alert("Bitte Postleitzahl angeben.");
	   formular.PLZ.focus();
	   return false;
	  }
	if (formular.PLZ.value < "0000" || formular.PLZ.value > "999999999" || 
       formular.PLZ.value.length < 4 || formular.PLZ.value.length > 9 && isNaN(formular.PLZ.value) == false) {
      alert ("Bitte geben Sie eine gültige Postleitzahl ein.");
      formular.PLZ.focus();
      return false;
    }
	if(formular.Ort.value == "") {
	   alert("Bitte den Ort angeben.");
	   formular.Ort.focus();
	   return false;
	  }
	if(formular.Land.value == "1") {
	   alert("Bitte das Land angeben.");
	   formular.Land.focus();
	   return false;
	  }
	if(formular.Land.value == "0") {
	   alert("Die Online-Bestellung erlaubt nur den Versand in die EU-Staaten!\nBitte nehmen Sie Kontakt mit uns per Email auf.\n\nSollte dieser Fehler anderweitig auftauchen, so kontaktieren Sie bitte den Administrator dieser Webseite.");
	   formular.Land.focus();
	   return false;
	  } 
	 if (formular.AGB.checked != true) {
	   alert("Sie müssen unsere Allgemeinen Geschäftsbedingungen akzeptieren.");
	   formular.AGB.focus();
	   return false;
	  }  
	 
	}

/* Eingabe auf Zahlen limitieren */	
function numbersonly(e){
	var unicode=e.charCode? e.charCode : e.keyCode
		if (unicode!=8){ //backspace 
			if (unicode!=32){  // LEERZEICHEN
				if (unicode<40||unicode>41&&unicode<42||unicode>58) // zulassen von Zahlen, (),-./:
				return false //Tastatur blockieren
			}
		}
	}
function nurzahlen(e){
	var unicode=e.charCode? e.charCode : e.keyCode
		if (unicode!=8){ //backspace 
			if (unicode<48||unicode>57) // NUR Zahlen
			return false //Tastatur blockieren
		}
	}