function CheckForm(form){
/* Form validation script. Uses class-names and title-values to validate form-fields.
Avialable classes:
	valalpha			=	Checks if typed input is alphanumeric. Accepts spaces and underscore.
	valcheck			= Checks if a checkbox is checked
	valcpr				= Checks if input is valid cpr no.
	valconfirm 		= Checks if typed input in [fieldname1] and confirm[fieldname1] matches.
	valdate 			= Checks if date is in standard (euro) ISO format, dd-mm-yyyy.
	valemail 			= Checks validity of email address.
	valminlength 	= Checks if typed input matches minlength value.
	valnumeric		= Checks if typed input is numeric.
	valradio 			= Validates a group of radio buttons. Only apply class to first item in group. Apply different id's but same name to elements.
	valselect			= Validates a <select>-box. Checks if [option].selected value is different from "0".
	valtext 			= Checks if typed input is greater than null.
*/	
	if (!form.getAttribute){ return true; }
	var elm, blnError = false, errMsg = ""
	var alphaReg = "^[a-zA-ZæøåÆØÅ ]+$";
	var cprReg = "^[0-3][0-9][0-1][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$";
	var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	var dateReg = "^[0-3]?[0-9]\-[01]?[0-9]\-[12][90][0-9][0-9]$";
	var numReg = "^[0-9]+$";
	
	for (i = 0; i < form.elements.length; i++){
		elm = form.elements[i]
		if (elm.className.indexOf("valalpha") != -1){ 
			var regex = new RegExp(alphaReg);
			if (!regex.test(elm.value)){
				errMsg += elm.getAttribute('title') + ": Du kan kun bruge tegn fra a-å.\n"; blnError = true;}}	
		if (elm.className.indexOf("valcheck") != -1 && !elm.checked){ 
			errMsg += elm.getAttribute('title') + " mangler at blive udfyldt.\n"; blnError = true;}						
		if (elm.className.indexOf("valconfirm") != -1 && elm.value > ""){
			if(elm.value != form.elements["confirm" + elm.name].value){
			errMsg += elm.getAttribute('title') + " stemmer ikke overens.\n"; blnError = true;}}
		if (elm.className.indexOf("valcpr") != -1){ 
			var regex = new RegExp(cprReg);
			if (!regex.test(elm.value)){
				errMsg += elm.getAttribute('title') + ": Ugyldig eller blankt cpr nr.\n"; blnError = true;}}				
		if (elm.className.indexOf("valdate") != -1){ 
			var regex = new RegExp(dateReg);
			if (!regex.test(elm.value)){
				errMsg += elm.getAttribute('title') + ": Ugyldig eller blank dato.\n"; blnError = true;}}			
		if (elm.className.indexOf("valemail") != -1){ 
			var regex = new RegExp(emailReg);
			if (!regex.test(elm.value)){
				errMsg += elm.getAttribute('title') + ": Ugyldig eller blank email adresse.\n"; blnError = true;}}
		if (elm.className.indexOf("valminlength") != -1){
			if (elm.value.length < elm.getAttribute('minlength')){
				errMsg += elm.getAttribute('title') + ": Indholdet skal være på min. "+elm.getAttribute('minlength')+ " tegn.\n"; blnError = true;}}	
		if (elm.className.indexOf("valselect") != -1 && elm.options[elm.selectedIndex].value == ""){ 
			errMsg += elm.getAttribute('title') + " mangler at blive udfyldt.\n"; blnError = true;}
		if (elm.className.indexOf("valnumeric") != -1){ 
			var regex = new RegExp(numReg);
			if (!regex.test(elm.value)){
				errMsg += elm.getAttribute('title') + ": Du kan kun bruge tal fra 0-9.\n"; blnError = true;}}									
		if (elm.className.indexOf("valradio") != -1){
			var btn = document.getElementsByName(elm.name);
			var cnt = -1;
				for (var j = 0; j < btn.length; j++){
					if (btn[j].checked) {cnt = j;}
				}
			if (cnt == -1){errMsg += elm.getAttribute('title') + " mangler at blive udfyldt.\n"; blnError = true;}
		}
		if (elm.className.indexOf("valtext") != -1 && elm.value == ""){ 
			errMsg += elm.getAttribute('title') + " mangler at blive udfyldt.\n"; blnError = true;}
	}
if (blnError){
	alert(errMsg);
	return false;
} else {
	return confirm('Alle felter udfyldt korrekt!\nFortsæt?');}	
}