if (typeof(INVALID_FIELD_COLOR) == 'undefined') {
	INVALID_FIELD_COLOR = '#FF0000';
}
var checkForm = function (form) {
	while(form.tagName.toLowerCase() != 'form') {
		form = elem.parentNode;
	}
	var isValidReal = true;
	for (var i=0; i<form.elements.length; i++) {
		var elem = form.elements[i];
		var require = elem.lang;
		var isValid = true;
		if (elem.name) {
			var value = elem.value.trim();


			if (require) {

				// requerido
				if (require.hasChar('r')) {
					if (value == '') {
						isValid = false;
					}
					if (elem.type =="checkbox") {
						if (elem.checked == false) {
							isValid = false;
						}
					}
				} else if (elem.value == '') {
					continue;
				}

				// tipo fecha
				if (require.hasChar('f')) {
					if (!value.isDate()) {
						isValid = false;
					}
				}

				// tipo email
				if (require.hasChar('e')) {
					if (!value.isEmail()) {
						isValid = false;
					}
				}

				// tipo numeric
				if (require.hasChar('n')) {
					if (value.isNumeric()) {

						if (!require.hasChar('d')) {
							if (!value.isInt()) {
								isValid = false;
							}
						}
						var v = Number(value);

						if (!require.hasChar('-')) {
							if (v < 0) {
								isValid = false;
							}
						}

						if (!require.hasChar('+')) {
							if (v > 0) {
								isValid = false;
							}
						}

						if (!require.hasChar('0')) {
							if (v == 0) {
								isValid = false;
							}
						}
					} else {
						isValid = false;
					}
				}
				if (!isValid) {
					isValidReal = false;
					elem.style.borderColor=INVALID_FIELD_COLOR;
				} else {
					elem.style.borderColor='';
				}
			}
		}
	}
	if (!isValidReal) {
		alert('Los siguientes campos son requeridos o no son válidos.')
	}

	return isValidReal;
}

var blankInputs = function (form) {
	while(form.tagName.toLowerCase() != 'form') {
		form = elem.parentNode;
	}
	for (var i=0; i<form.elements.length; i++) {
		var elem = form.elements[i];
		elem.style.backgroundColor='';
	}
}
