function checkForm(objForm)
{
	var arClass, bValid;
	var objField = objForm.getElementsByTagName('*');

	for (var iFieldCounter=0; iFieldCounter<objField.length; iFieldCounter++)
	{
		// Allow for multiple values being assigned to the class attribute
		arClass = objField[iFieldCounter].className.split(' ');
		for (var iClassCounter=0; iClassCounter<arClass.length; iClassCounter++)
		{
			switch (arClass[iClassCounter])
			{
				case 'select0':
					bValid = objField[iFieldCounter].selectedIndex > 0;
					break;
				case 'acceptcheckbox':
					bValid = objField[iFieldCounter].checked;
					break;
				case 'string':
					bValid = isString(objField[iFieldCounter].value.replace(/^\s*|\s*$/g, ''));
					break;
				case 'number' :
					bValid = isNumber(objField[iFieldCounter].value);
					break;
				case 'email' :
					bValid = isEmail(objField[iFieldCounter].value);
					break;
				default:
					bValid = true;
			}

			if (bValid == false)
			{
				// If this field is invalid, leave the testing early,
				// and alert the visitor to this error
				if(objField[iFieldCounter].title) {
					alert('Debe ingresar el campo ' + objField[iFieldCounter].title + ' correctamente');
				} else {
					alert('Debe ingresar el campo ' + objField[iFieldCounter].name + ' correctamente');
				}
				if(objField[iFieldCounter].select) {
					objField[iFieldCounter].select();
				}
				if(objField[iFieldCounter].focus) {
					objField[iFieldCounter].focus();
				}
				return false;
			}
		}
	}
	return true;
}

function isString(strValue)
{
	return (typeof strValue == 'string' && strValue != '');
}

function isNumber(strValue)
{
	return (!isNaN(strValue) && strValue != '');
}

function isEmail(strValue)
{
	var objRE = /^[\w-\.\']{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,}$/;

	return (strValue != '' && objRE.test(strValue));
}
