// frmValidation.js

function frmValidation(strForm, arrElements, arrTdLabels, arrFunctions, strMissingText) {
	var strMissingText	= strMissingText + "\n\n";
	var objForm		= document.forms[strForm];
	var objFocus		= false;
	var blnError		= false;
	var blnFoundError	= false;

	for (var i = 0; i < arrElements.length; i++) {
		var objElement	= document.forms[strForm].elements[arrElements[i]];
		var objTd		= document.getElementById(strForm + "_" + arrElements[i]);

		//alert(arrElements);

		blnError				= false;
		objElement.validated 	= "false";

		if (macUser) {
			objTd.style.color = "#707070";
		}
		else if (winCE) {
			// bekijk het maar lekker
		}
		else {
			objTd.className		= "label";
			objElement.className	= "npt";
		}

		if (objElement.type != "hidden") {
			if (objElement.value == "") {
				blnError = true;
			}
			else if (arrFunctions[i]) {
				blnError = eval(arrFunctions[i]);
			}

			if (blnError) {
				blnFoundError			= true;
				objElement.validated	= "true";

				if (!objFocus) {
					objFocus = objElement;
				}

				strMissingText += "- " + arrTdLabels[i] + "\n";
				if (macUser) {
					objTd.style.color = "#FF0000";
				}
				else if (winCE) {
					// bekijk het maar lekker
				}
				else {
					objTd.className		= "error";
					objElement.className	= "error";
				}
			}
		}
	}

	if (blnFoundError) {
		window.alert(strMissingText);

		if (!objFocus.disabled) {
			objFocus.focus();
		}
		return false;
	}
	else {
		return true;
	}
}

function isString(frmName, frmInput, minLength) {
	var ABCArray = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var frmInput = document.forms[frmName].elements[frmInput].value;

	if (frmInput.length < minLength) {
		return true;
	}

	for (var i = 0; i < frmInput.length; i++) {
		if (ABCArray.indexOf(frmInput.substring(i, i + 1).toUpperCase()) == -1) {
			return true;
		}
	}
}

function isNumber(frmName, frmInput, minLength) {
	var frmInput = document.forms[frmName].elements[frmInput].value;

	if (isNaN(frmInput)) {
		return true;
	}
	else if (frmInput.length < minLength) {
		return true;
	}
}

function isEmail(frmName, frmInput) {
	var frmInput = document.forms[frmName].elements[frmInput].value;
	var regexpMail = "^[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z]+)+$";
	
	if (frmInput.match(regexpMail)) {
		return false;
	}
	
	return true;	
}

function isTheSame(frmName, frmInputFirst, frmInputSecond) {
	var frmInputFirst = document.forms[frmName].elements[frmInputFirst].value;
	var frmInputSecond = document.forms[frmName].elements[frmInputSecond].value;

	if (frmInputFirst != frmInputSecond) {
		return true;
	}
}