function calculatePrice(inputObj) {
	tmp = inputObj.name.split("_");
	inputId = tmp[1];
	inputForm = inputObj.form;
	
	preis = _formatPreis(inputForm["einzelpreis_"+inputId].value);	
	menge = _formatMenge(inputForm["menge_"+inputId].value);
	inputForm["einzelpreis_"+inputId].value = preis;
	inputForm["menge_"+inputId].value = menge;
	
	
	inputForm["gesamtpreis_"+inputId].value = _calcSumme(preis, menge);
	
	inputForm["gesamtpreisalle"].value = _calcGesamt(inputForm);
}
function _formatMenge(menge) {
	if (!menge) return "";
	
    var Ausdruck = /[-]*(\d+)[\.\,]*(\d*)/;
    Ausdruck.exec(menge);
    
    cent = (RegExp.$2) ? "," + RegExp.$2 : "";
	
	return RegExp.$1 + cent;
    //return parseInt(menge);
}

function _formatPreis(preis) {
	if (!preis) return "0,00";
    // trenne ganze Euros von Cents
    var Ausdruck = /(\d+)[\.\,]*(\d*)/;
    Ausdruck.exec(preis);
    
    cent = (RegExp.$2) ? RegExp.$2.substr(0, 2) : "00";
    if (cent.length < 2) cent = cent+"0";
        
    return RegExp.$1 + "," + cent;
}
function _calcSumme(preis, menge) {
    menge = eval(menge.replace(/,/, '.'));
    preis = eval(preis.replace(/,/, '.'));
    
    summe = Math.round(menge*preis*100)/100;
    
    return _formatPreis(summe);
}
function _calcGesamt(formObj) {
	numRows = formObj.numrows.value;
	summe = 0;
	for (i=0; i<numRows; i++) {
		if (!formObj["gesamtpreis_"+i].value) continue;

        menge = eval(formObj["gesamtpreis_"+i].value.replace(/,/, '.'));
    	summe+= menge;
	}
    return _formatPreis(summe);
}




// Script überprüft Felder in der Anfrage/Bestellung
// Eingaben in allen Feldern löschen
function loeschen(){
document.formular.reset()
}


// Globale Variable fuer Fehler-Flag
var errfound = false;


// Prueft Felder auf Laenge
function ValidLength(item, len) {
        return (item.length >= len);
}

// Prueft E-Mail-Adresse
// auf Laenge von min. 5 Zeichen, und
// auf Vorkommen von Klammeraffen und Punkt
// und Punkt mindestens 3 Zeichen hinter @
function ValidEmail(item) {
        if (!ValidLength(item, 5)) return false;
        posAt = item.indexOf ('@', 0);
        if (posAt == -1) return false;
        if (item.indexOf ('.', posAt + 3) == -1) return false;
        return true;
}

// Zeigt eine Fehlermeldung an
// Funktion beendet, falls bereits ein Fehler gefunden wurde
// anker wird z.B. bei RadioBoxen verwendet, da dort kein
// focus gesetzt werden kann

function error(elem, anker, text) {
        if (errfound) return;
        window.alert(text);
        if(anker){
            window.location.href = "#" + anker;
        } else {
            elem.focus();
        }
        errfound = true;
}

function checkcar(selection){
    auswahl = 0;
    cars = new Array("Kaefer", "Kuebelwagen", "Transporter", "FahrzeugTyp");
    anzahl_cars = cars.length;

    for(i=0; i<anzahl_cars; i++){
        tmp = eval("document.formular." + cars[i]);
        if(tmp.value && tmp != selection){
            //okay = confirm('Sie haben schon ein Fahrzeug ausgewählt.\nEs kann aber nur ein Fahrzeug angegeben werden.\n\nSoll die vorherige Auswahl zurückgesetzt werden?');


            okay = true;
            resetObj = (okay) ? tmp : selection;
                
            if (resetObj.tagName == "SELECT") {
                resetObj.selectedIndex = 0;
            } else {
                resetObj.value = "";
            }
            
            alert("Es kann nur ein Fahrzeug angegeben werden. Ihre Fahrzeugauswahl wurde entsprechend umgestellt - bitte überprüfen.");

            
            return false;
        }
    }
}


// Hauptpruefroutine
function Validate() {
        if (document.formular.addnum.value > 0) return true;


        errfound = false;
         if (!ValidLength(document.formular.Name.value, 3))
                error(document.formular.Name, 0, "Bitte geben Sie Ihren Namen an.");
         if (!ValidLength(document.formular.Strasse.value, 3))
                error(document.formular.Strasse, 0, "Bitte geben Sie Ihre Strasse an.");
         if (!ValidLength(document.formular.Ort.value, 3))
                error(document.formular.Ort, 0, "Bitte geben Sie Ihren Ort an.");
         if (!ValidLength(document.formular.Land.value, 3))
                error(document.formular.Land, 0, "Bitte geben Sie Ihre Land an.");
         if (!ValidLength(document.formular.Telefon1.value, 5))
                error(document.formular.Telefon1, 0, "Bitte geben Sie eine Telefonnummer an.");
         if (!ValidEmail(document.formular.Email.value))
                error(document.formular.Email, 0, "Bitte geben Sie eine korrekte E-Mail-Adresse ein.");

         if (!document.formular.Kenntniss.checked){
            error(0, "Kenntniss", "Bitte bestätigen Sie, daß Sie die Geschäftsbedingungen gelesen haben. \nSonst ist eine Bestellung nicht möglich.");
         }
        return !errfound; /* true falls keine Fehler*/
}

