﻿ValidatorCommonOnSubmit = function ()
{
	ClearValidatorCallouts();
																						   
	return SetValidatorCallouts();
};

ValidatorValidate = function (val, validationGroup, event)
{
	val.isvalid = true;
	
	if ((typeof(val.enabled) == "undefined" || val.enabled != false) && IsValidationGroupMatch(val, validationGroup))
	{
		if (typeof(val.evaluationfunction) == "function")
		{
			val.isvalid = val.evaluationfunction(val);
			
			if (!val.isvalid && Page_InvalidControlToBeFocused == null && typeof(val.focusOnError) == "string" && val.focusOnError == "t")
			{
				ValidatorSetFocus(val, event);
			}
		}
	}
	
	ClearValidatorCallouts();
	SetValidatorCallouts();
	ValidatorUpdateDisplay(val);
}

SetValidatorCallouts = function ()
{
	var i;
	var pageValid = true;
	
	for (i = 0; i < Page_Validators.length; i++)
	{
		var inputControl = $(Page_Validators[i].controltovalidate);
		
		if (!Page_Validators[i].isvalid && inputControl != null && inputControl.style.display != "none")
		{
			if (pageValid)
			{
				inputControl.focus();
			}
			
			if (inputControl.up("span") != null && inputControl.up("span").hasClassName("validation-wrapper"))
			{
				inputControl.up("span").addClassName("field-error");
			}
			else
			{
				inputControl.addClassName("field-error");
			}
			
			pageValid = false;
		}
	}
	
	return pageValid;
}

ClearValidatorCallouts = function()
{
	var i;
	var invalidConrols = [];
	
	for (i = 0; i < Page_Validators.length; i++) 
	{		 
		var inputControl = $(Page_Validators[i].controltovalidate);
		
		if (inputControl != null && inputControl.style.display != "none")
		{
			if (inputControl.up("span") != null && inputControl.up("span").hasClassName("validation-wrapper"))
			{
				inputControl.up("span").removeClassName("field-error");
			}
			else
			{
				inputControl.removeClassName("field-error");
			}
		}
	}
}
