// 
// überprüft alle in "form" enthaltenen <input> mit klasse "P" (pflicht) oder "M" (email)
// gibt eine entsprechende fehlermeldung aus und setzt eine CSS-klasse ("marked") bei den inkorrekten feldern
//
function ce_checkform(form)
{
	var inputs = form.getElementsByTagName('input');
	var email  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var first_fault = 0;
	var result = "Die folgenden Felder sind Pflichtfelder\nund müssen ausgefüllt werden:\n\n";
	for ( field in inputs )
	{
		var thisField = inputs[field];
		var fieldTitle = thisField.title;
		if ( !fieldTitle ) fieldTitle = thisField.name;
		if ( /M/.test(thisField.className) && !email.test(thisField.value) )
		{
			if ( first_fault == 0 ) { first_fault = thisField; }
			if ( !/marked/.test(thisField.className) ) thisField.className = thisField.className + ' marked';
			result = result + "- " + fieldTitle + " (leer oder ungültiges Format!)\n";			
		}
		else if ( /P/.test(thisField.className) && thisField.value == '' )
		{
			if ( first_fault == 0 ) { first_fault = thisField; }
			if ( !/marked/.test(thisField.className) ) thisField.className = thisField.className + ' marked';
			result = result + "- " + fieldTitle + "\n";
		}
		else if ( /P|M/.test(thisField.className) && thisField.value != '' )
		{
			thisField.className = thisField.className.replace(/ marked/, '');
		}
	}
	if (first_fault)
	{
		alert (result);
		first_fault.focus();
		return false;
	}
	return true;
}

