function MultiValidatorEvaluateIsValid(val)
{
	try
	{
		var valueToValidate =
				ValidatorTrim(ValidatorGetValue(val.controltovalidate));
		
		if ( val.isRequired == 'False' && valueToValidate.length == 0 )
			return true;
			
		if ( val.isRequired == 'True') 
		{
			if ( valueToValidate.length == 0 )
			{
				val.innerText = val.requiredErrorMessage;
				if ( val.showPopup == 'True' )
					alert(val.innerText);
					
				document.forms.Main[val.controltovalidate].focus();
				
				return false;
			}
		}
		
		if ( val.maxLength != '0' )
		{
			if (valueToValidate.length > parseInt(val.maxLength, 10)) 
			{
				val.innerText = val.maximumLengthErrorMessage;
				if ( val.showPopup == 'True' )
					alert(val.innerText);

  			document.forms.Main[val.controltovalidate].focus();

				return false;
			}
		}
		
		if ( val.minLength != '0' )
		{
			if ( valueToValidate.length < parseInt(val.minLength, 10 ))
			{
				val.innerText = val.minimumLengthErrorMessage;
				if ( val.showPopup == 'True' )
					alert(val.innerText);
			
				document.forms.Main[val.controltovalidate].focus();

				return false;
			}
		}

		if ( val.requiredTypeRegEx.length > 0 )
		{
					
			if (valueToValidate == "")
				return true;        
				
			var rx = new RegExp(val.requiredTypeRegEx);
			var matches = rx.exec(valueToValidate);
			if ( !  (matches != null && valueToValidate == matches[0]) )
			{
				val.innerText = val.requiredTypeErrorMessage;
				if ( val.showPopup == 'True' )
					alert(val.innerText);
					
				document.forms.Main[val.controltovalidate].focus();

				return false;
			}
		}
	}
	catch(Ex)
	{
	}
	
	return true;
}
