validate_form = function(form) {
	var inputs = form.getElementsByTagName("input");
	var error_inputs = new Array();
	var err_msg = new Array('Folgende Fehler sind aufgetreten:\n');
	var error = false;
	for (var i = 0; i < inputs.length; i++) {
		inputs[ i].removeClassName('validationError');

		if( inputs[ i].hasClassName('notEmpty') ) {
			if (!inputs[ i].value && !inputs[ i].disabled) {
				error = true;
				err_msg.push(inputs[ i].title + unescape(' muss ausgef%FCllt sein'));
				error_inputs.push(inputs[ i]);
			}
		}

		if( inputs[ i].hasClassName('email') ) {
			if ( inputs[ i].value && !inputs[ i].disabled) {
				var usr = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
				var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}";
				var regex = "^"+usr+"\@"+domain+"$";
				var myrxp = new RegExp(regex);
				var check = (myrxp.test(inputs[ i].value));
				if (check != true) {
					error=true;
					err_msg.push(inputs[ i].title+' ist keine Email Adresse');
					error_inputs.push(inputs[ i]);
				}
			}
		}

		if( inputs[ i].hasClassName('url') ) {
			if ( inputs[ i].value && !inputs[ i].disabled) {
				var regex = "^(((ht|f)tp(s?))\://)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.([a-z]{2,4})(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\;\?\'\\\+&amp;%\$#\=~_\-]+))*$";
				var myrxp = new RegExp(regex);
				var check = (myrxp.test(inputs[ i].value));
				if (check != true) {
					error=true;
					err_msg.push(inputs[ i].title+' keine gültige URL');
					error_inputs.push(inputs[ i]);
				}
			}
		}

		if( inputs[ i].hasClassName('integer') ) {
			if ( inputs[ i].value && !inputs[ i].disabled) {
				var regex = "^[0-9]*$";
				var myrxp = new RegExp(regex);
				var check = (myrxp.test(inputs[ i].value));
				if (check != true) {
					error=true;
					err_msg.push(inputs[ i].title+' ist keine Zahl');
					error_inputs.push(inputs[ i]);
				}
			}
		}
	}

	// add error class to input fields
	for (var i = 0; i < error_inputs.length; i++) {
		error_inputs[ i].addClassName('validationError');
	}

	// print error message
	if (error) {
		err_msg = err_msg.join('\n\xB7 ');
		alert(err_msg);
		return false;
	}
	else {
		//alert('found no errors');
		return true;
	}
}
