function check(sw, id){
	var badelement=false;
	element = document.getElementById(id);
	//if (element == null) alert("DEBUG:"+id);
	switch(sw){
		case "numeric":
			if (element.value.length == 0 || element.value.match(/^[0-9+ ,:.\/*-]+$/)){
				good(element,id);
			}
			else{ 
				bad(element,id,"Der Wert des Feldes muss numerisch sein.");
				badelement=true;
			}
		break;
		case "numericduty":
			if (element.value.length > 0 && element.value.match(/^[0-9+ ,:.\/*-]+$/)){
				good(element,id);
			}
			else{ 
				bad(element,id,"Der Wert des Feldes muss numerisch sein.");
				badelement=true;
			}
		break;
		case "alphanumeric":
			if (element.value.length == 0 || element.value.match(/^[a-zA-ZäöüÄÖÜß0-9+ ,.\/*-]+$/)){
				good(element,id);
			}
			else{
				bad(element,id,"Der Wert des Feldes muss alphanumerisch sein.");
				badelement=true;
			}
		break;
		case "alphabetic":
			if (element.value.length == 0 || element.value.match(/^[a-zA-ZäöüÄÖÜß+ ,.\/*-]+$/)){
				good(element,id);
			}
			else{
				bad(element,id,"Der Wert des Feldes muss alphabetisch sein.");
				badelement=true;
			}
		break;
		case "notempty":
			if (element.value.length > 0){
				good(element,id);
			}
			else{
				bad(element,id,"Das Feld darf nicht leer sein.");
				badelement=true;
			}
		break;
		case "email":
			if (element.value.match(/^.+@.+\..+$/)){
				good(element,id);
			}
			else{
				bad(element,id,"Das Feld muss eine E-Mail-Adresse beinhalten.");
				badelement=true;
			}
		break;
		case "checked":
			if(element.checked){
				good(element,id);
			}
			else{
				bad(element,id,"Die Checkbox muss angehakt sein");
				badelement=true;
			}



	}
	if (badelement==true){
		document.getElementById("form_submit").disabled=true;
		return false;
	}
	else{
		document.getElementById("form_submit").disabled=false;
		return true;
	}
}
function checkall(id){
	submit = true;
	form = document.forms[id];
	for (var c in checks){
		elem = document.getElementById(c);
		if (!check(checks[c],c)){
		  tip("Sie haben nicht alle Pflichtfelder ausgef&uuml;llt.",id);	
			submit = false;
		}
	}
	if (submit == true){
		clear(id);
		form.submit();	
	}		
}

function good(element,id){
	element.style.backgroundColor = "#ffffff";
	clear(id);
}
function bad(element,id,str){
	element.style.backgroundColor = "#ff8888";	
	tip(str+"<img src=\"/portal/tools/warn.png\" />",id);
}
function tip(str,id){
	span = document.getElementById("err_"+id);
	span.style.display = "block";
	span.innerHTML = str;
}
function clear(id){
	document.getElementById("err_"+id).style.display = "none";
}

