function checkForm(form){
	var dis = false;
	var greenColor = "#9CF8AB";
	var redColor = "#F8B1B1";
	var color = greenColor;
	var x = 2;
	
	for(i = 0; i < form.length; i++){
		
		
		// textfelder und textareas
		if((form[i].type == "text" || form[i].type == "textarea")){
			if(form[i].name != "mail"){
				if(form[i].value != ""){
					form[i].style.background = greenColor;
				}else{
					form[i].style.background = redColor;
					dis = true;
					color = redColor;
				}	
			}
			
			//Mail (name="mail")
			if(form[i].name == "mail"){
				if(isMailValid(form[i].value)){	
					form[i].style.background = greenColor;
				}else{
					form[i].style.background = redColor;
					dis = true;
					color = redColor;
				}
			}
			
			//Datum (name="datum")
			if(form[i].name == "datum"){
				if(isDate(form[i].value))	{
					form[i].style.background = greenColor;
				}else{
					form[i].style.background = redColor;
					dis = true;
					color = redColor;
				}
			} // end nur zahlen
			
			//Zahlen und Punkt (name="flaeche", name="preis", name="nebenkosten")
			if(form[i].name == "flaeche" || form[i].name == "preis" || form[i].name == "nebenkosten"){
				if(isNumber(form[i].value))	{
					form[i].style.background = greenColor;
				}else{
					form[i].style.background = redColor;
					dis = true;
					color = redColor;
				}
			} // end nur zahlen
			
						

		}// end textfelder
		
		// files
		if(form[i].type == "file"){
			if(form[i].value != "" || form[x].value != ""){
				form[i].style.background = greenColor;
			}else{
				form[i].style.background = redColor;
				dis = true;
				color = redColor;
			}	
			x++;
		}	
		
		// submit button
		if(form[i].type == "submit"){
			form[i].style.backgroundColor = color;
			form[i].disabled = dis;	
		}
	}
}

function isNumber(s){
	var result = false;

	if(s.match(/^[0-9,.]+$/)){
		result = true;
	}
	
	return result;
}

function isDate(datum){
    //(Schritt 1) Fehlerbehandlung
	datum = datum.toString();

    //(Schritt 2) Aufspaltung des Datums
	datum = datum.split(".");
	if (datum.length != 3) return false;

    //(Schritt 3) Entfernung der fuehrenden Nullen und Anpassung des Monats
	datum[0]=parseInt(datum[0],10);
	datum[1]=parseInt(datum[1],10)-1;

    //(Schritt 4) Behandlung Jahr nur zweistellig
	if (datum[2].length == 2) datum[2] = "20" + datum[2];

    //(Schritt 5) Erzeugung eines neuen Dateobjektes
	var kontrolldatum = new Date(datum[2], datum[1], datum[0]);

    //(Schritt 6) Vergleich, ob das eingegebene Datum gleich dem JS-Datum ist
	if (kontrolldatum.getDate() == datum[0] && kontrolldatum.getMonth() == datum[1] && kontrolldatum.getFullYear() == datum[2])
     return true; else return false;
}

/*mail funktion (http://www.drweb.de/javascript/email_check.shtml)*/
function isMailValid(s) {
	var a = false;
	var res = false;
	
	if(typeof(RegExp) == 'function') {
		var b = new RegExp('abc');
 		if(b.test('abc') == true) {
 			a = true;
 		}
 	}

	if(a == true){
		reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
							'(\\@)([a-zA-Z0-9\\-\\.]+)'+
							'(\\.)([a-zA-Z]{2,4})$');
 		res = (reg.test(s));
	}else {
  		res = (s.search('@') >= 1 && s.lastIndexOf('.') > s.search('@') && s.lastIndexOf('.') >= s.length-5)
  	}
	
	return res ;
}