/* =======================================

 Datei: preisanfrage-container.js 
 Gehoert zu preisanfrage-container.php bei MDK

 Abhaengig von 'mdk_lib_validation.js'

========================================= */
function checkForm(formular){
		
	if ( ! formular ) {
		alert(mdkErrors.Formular);
		return false;
	}

        
	var abfallArt1 = formular.elements['abfall_art1'];
	if ( ! abfallArt1 ) {
		alert(mdkErrors.Formular + "\nFormularelement 'abfall_art1' fehlt!");
		return false;
	}
        
	
	var  abfallMenge1  = formular.elements['abfall_menge1'];
	if ( ! abfallMenge1 ) {
		alert(mdkErrors.Formular + "\nFormularelement 'abfall_menge1' fehlt!");
		return false;
	}

	var abfallArt2 = formular.elements['abfall_art2'];
	if ( ! abfallArt2 ) {
		alert(mdkErrors.Formular + "\nFormularelement 'abfall_art2' fehlt!");
		return false;
	}

	var abfallMenge2 = formular.elements['abfall_menge2'];
	if ( ! abfallMenge2 ) {
		alert( mdkErrors.Formular + "\nFormularelement 'abfall_menge2' fehlt!");
		return false;
	}

	var abfallArt3 = formular.elements['abfall_art3'];
	if ( ! abfallArt3 ) {
		alert(mdkErrors.Formular + "\nFormularelement 'abfall_art3' fehlt!");
		return false;
	}
	
	var abfallMenge3 = formular.elements['abfall_menge3'];
	if ( ! abfallMenge3 ) {
		alert(mdkErrors.Formular + "\nFormularelement 'abfall_menge3' fehlt!");
		return false;
	}

	var abfallArt4 = formular.elements['abfall_art4'];
	if ( ! abfallArt4 ) {
		alert(mdkErrors.Formular + "\nFormularelement 'abfall_art4' fehlt!");
		return false;
	}

	var abfallMenge4 = formular.elements['abfall_menge4'];
	if ( ! abfallMenge4 ) {
		alert( mdkErrors.Formular + "\nFormularelement 'abfall_menge4' fehlt!");
		return false;
	}

	//Kunde:..........................................................................
	var kunden_typ = formular.elements['kunde'];
	if ( ! kunden_typ ) {
		alert(mdkErrors.Formular + "\nFormularelement 'kunde' fehlt!");
		return false;
	}
		
	var kunde = "";
        var i;
	for ( i=0; i < kunden_typ.length; i++) {
		if ( kunden_typ[i].checked ) {
			kunde = kunden_typ[i].value;
		}
	}
	if ( kunde != 'privatkunde'  && kunde != 'geschaeftskunde'  ) {
                highlightInput(kunden_typ[0]);
		alert(mdkErrors.Kundentyp);
		return false;
	}
        else
            {
                restoreInput(kunden_typ[0]);
            }
	
	// Abfall_art1...............................................................:
	if (abfallArt1.value == "nichts") {
		alert(mdkErrors.Abfallart);
                highlightInput(abfallArt1);
		return false;
	} 
	else if ( ! checkValidWaste(abfallArt1) ) {            
            alert(mdkErrors.Abfallart);
            highlightInput(abfallArt1);
            return false;
	}
        else
            {
                restoreInput(abfallArt1);
            }
	
	// Abfall_menge1...............................................................: 
	if( abfallMenge1.value == "0") {
                highlightInput(abfallMenge1);
		alert(mdkErrors.Abfallmenge);
		return false;
	}
        else
        {
                restoreInput(abfallMenge1);
        }
	
	// Abfall_art2...............................................................:
	if(abfallArt2.value != "nichts"){
	
		if ( ! checkValidWaste(abfallArt2) ) {
                        highlightInput(abfallArt2);
			alert(mdkErrors.Abfallart2);
			return false ;
		}
                else
                {
                    restoreInput(abfallArt2);
                }

		if(abfallMenge2.value == "0") {
                    highlightInput(abfallMenge2);
                    alert(mdkErrors.Abfallmenge2);
                    return false;
		}
                else
                {
                    restoreInput(abfallMenge2);
                }
	}
	
	// Abfall_menge2...............................................................:
	if(abfallMenge2.value != "0"){
		if(abfallArt2.value == "nichts"){
                    highlightInput(abfallArt2);
                    alert(mdkErrors.Abfallart3);			
                    return false;
		}
                else
                    {
                        restoreInput(abfallArt2);
                    }
	}
	
	//Abfall_Art 3.............................................................
	if (abfallArt3.value != "nichts"){
		
		if ( ! checkValidWaste(abfallArt3) ) {
                        highlightInput(abfallArt3);
			alert(mdkErrors.Abfallart3);
			return false ;
		}
                else
                    {
                        restoreInput(abfallArt3);
                    }

		if(abfallMenge3.value == "0"){
                        highlightInput(abfallMenge3);
			alert(mdkErrors.Abfallmenge3);
			return false;
		}
                else
                    {
                        restoreInput(abfallMenge3);
                    }
	}
	
	//Abfall_Menge 3.............................................................
	if(abfallMenge3.value != "0"){
		if(abfallArt3.value == "nichts"){
                    highlightInput(abfallArt3);
                    alert(mdkErrors.Abfallart3);                        
                    return false;
		}
	}
        else
            {
                 restoreInput(abfallArt3);
            }
	
	// Abfall_Art 4...............................................................:	
	if(abfallArt4.value != "nichts"){
	
		if ( ! checkValidWaste(abfallArt4) ) {
                        highlightInput(abfallArt4);
			alert(mdkErrors.Abfallart4);
			return false ;
		}
                else
                    {
                        restoreInput(abfallArt4);
                    }

		if(abfallMenge4.value == "0"){
                    highlightInput(abfallMenge4);
                    alert(mdkErrors.Abfallmenge4);
                    return false;
		}
                else
                    {
                        restoreInput(abfallMenge4);
                    }
	}
	
	// Abfall_menge4...............................................................:
	if(abfallMenge4.value != "0"){
		
		if(abfallArt4.value == "nichts"){
                    highlightInput(abfallArt4);
                    alert(mdkErrors.Abfallart4);
                    return false;
		}
	}
          else
            {
                 restoreInput(abfallArt4);
            }
	
	//plz .................................................................
	var Plz = formular.elements['plz'];
	if ( Plz.value == ""){
                highlightInput(Plz);
		alert(mdkErrors.KeinePLZ);
		return false;
	}
	else if ( ! validPLZ( Plz.value) ) {
                highlightInput(Plz);
		alert(mdkErrors.PLZfalsch);
		Plz.select();
		return false;
	}
        else
            {
                restoreInput(Plz);
            }

	//emailaddresse .................................................................
	var emailAddr = formular.elements['emailaddresse'];
	if(emailAddr.value == ""){
            highlightInput(emailAddr);
            alert(mdkErrors.KeineEmail);
            return false;
	}
	else if  ( ! validEmail(emailAddr.value) ) {      
            highlightInput(emailAddr);
            alert(mdkErrors.EmailFalsch);
            return false;    
	}
        else
            {
                restoreInput(emailAddr);
            }
	return true;	// Alle Checks abgeschlossen
}

//______________________________________________________________________________
function checkValidWaste( which_waste ) {
	var Abfaelle = [
	"gemischte-bauabfaelle",
	"bauschutt",
	"boden",
	"gruenabfall",
	"sperrmuell",
	"holz",
	"papier",
	"kunststoff",
	"dach-teerpappe",
	"asbest",
	"schrott",
	"gewerbeabfall",
	"elektroschrott"
	];

	var abfall_matched = 0;
	var abfall_count = 0;
	
	for ( abfall_count = 0; abfall_count < Abfaelle.length; abfall_count++ ) {
		if ( which_waste.value == Abfaelle[ abfall_count ] ) {
				abfall_matched += 1;
		}
	}
	
	if ( abfall_matched < 1) {
		return false;
	}
	
	return true;
}
