// DOM Validation v0.5
// Developed by CimpleSite I/S, Denmark
// www.cimplesite.dk
// All rights reserved 2005
// Not for unauthorized use, do not remove this comment.

// VALIDATE TAG (Input fields): text, number or email
// VALIDATE TAG (Select fields): select
// LABEL TAG: Shown field name
// Use: <input validate="{VALIDATE TAG}" label="{LABEL TAG}">

function Validate(myForm) {
	doFocus = '';
	sMsg = 'Der opstod følgende fejl:\n';
	iErr = 0;

	for(i = 0;i < myForm.length;i++) {
		if (myForm[i].className != 'Disabled') {
			switch(myForm[i].getAttribute('validate')) {
				case 'text':
					if (!myForm[i].value) {
						iErr = 1;
						sMsg += '\n\'' + myForm[i].getAttribute('label') + '\' skal udfyldes.';
					}
					break;
				case 'password':
					if (myForm[i].value.length < 8) {
						iErr = 1;
						sMsg += '\n\'' + myForm[i].getAttribute('label') + '\' skal min. være 8 tegn lang.';
					}
					break;
				case 'number':
					if (!myForm[i].value || isNaN(myForm[i].value)) {
						iErr = 1;
						sMsg += '\n\'' + myForm[i].getAttribute('label') + '\' skal være et tal.';
					}
					break;
				case 'email':
					if ((myForm[i].value.indexOf("@") == -1) || (myForm[i].value.indexOf(" ") != -1) || (myForm[i].value.charAt(0) == ".") || (myForm[i].value.charAt(0) == "@") || (myForm[i].value.length < 6) || (myForm[i].value.indexOf(".") == -1) || (myForm[i].value.charAt(myForm[i].value.indexOf("@")+1) == ".") || (myForm[i].value.charAt(myForm[i].value.indexOf("@")-1) == ".")) {
						iErr = 1;
						sMsg += '\n\'' + myForm[i].getAttribute('label') + '\' skal være en e-mail adresse.';
					}
					break;
				case 'select':
					if (!myForm[i].value) {
						iErr = 1;
						sMsg += '\n\'' + myForm[i].getAttribute('label') + '\' skal have en værdi.';
					}
					break;
				case 'none':
					//No validation
					break;

			}
		}
		
		if (iErr == 1) {
			if (!doFocus) {
				doFocus = myForm[i];
			}
		}
	}

	if (iErr == 1) {
		alert(sMsg);
		try {
			doFocus.focus();
		} catch(e) {
			void(0);
		}
		return false;
	} else {
		return true;
	}
}
