/*------------------------------------------*/
/* customised control validators */
/*------------------------------------------*/

function StyleChangingRequiredFieldValidator_Verify(control) {
	var controlToValidate = document.getElementById(control.controltovalidate);
	
	if ( controlToValidate != null )	{
		if (controlToValidate.tagName == "INPUT" || controlToValidate.tagName == "SELECT" || controlToValidate.tagName == "TEXTAREA")	{
			var controlToChange = document.getElementById(control.controltochange);
			if ( controlToValidate.value.length==0 ) {
				controlToChange.attributes['class'].value=control.changecssclass;
				return false;
			}
			else {
				controlToChange.attributes['class'].value=control.originalcssclass;
				return true;
			}
		}
	}
	return true;
}
function StyleChangingRegularExpressionValidator_Verify(control) {
	var controlToValidate = document.getElementById(control.controltovalidate);
	if (controlToValidate != null)	{
		if (controlToValidate.tagName == "INPUT" || controlToValidate.tagName == "TEXTAREA")		{
			var controlToChange = document.getElementById(control.controltochange);
			if (controlToValidate.value.length > 0)			{
				var validationExpression = new RegExp(control.validationexpression);
				if (!controlToValidate.value.match(validationExpression))				{
					controlToChange.attributes['class'].value=control.changecssclass;
					return false;
				}
				else				{
					controlToChange.attributes['class'].value=control.originalcssclass;
					return true;
				}
			}
		}
	}
	return true;
}
function StyleChangingCompareValidator_Verify(control) {
	var controlToValidate = document.getElementById(control.controltovalidate);
	if ( controlToValidate != null )	{
		if (controlToValidate.value.length > 0)		{
			var controlToChange = document.getElementById(control.controltochange);
			var controlToCompare = document.getElementById(control.controltocompare);
			if ( controlToValidate.value != controlToCompare.value)			{
				controlToChange.attributes['class'].value=control.changecssclass;
				return false;
			} 
			else			{
				controlToChange.attributes['class'].value=control.originalcssclass;
				return true;
			}
		}
	}
	return true;
}
function StyleChangingCheckBoxValidator_Verify(control) {
    var controlToValidate = document.getElementById(control.controltovalidate);
    if ( controlToValidate != null )
	{
		var controlToChange = document.getElementById(control.controltochange);
		if ( controlToValidate.checked==false ) {
			controlToChange.attributes['class'].value=control.changecssclass;
			return false;
		}
		else {
			controlToChange.attributes['class'].value=control.originalcssclass;
			return true;
		}
    }	    
}
function StyleChangingCustomValidator_Verify(control) {
	var controlToValidate = document.getElementById(control.controltovalidate);
	if ( controlToValidate != null ) {
		var controlToChange = document.getElementById(control.controltochange);
		var clientValidationFunction = control.clientvalidationfunction;
		var isValid;
		eval("isValid = " + clientValidationFunction + "();");
		if ( isValid == false ) {
			controlToChange.attributes['class'].value=control.changecssclass;
			return false;
		}
		else {
			controlToChange.attributes['class'].value=control.originalcssclass;
			return true;
		}
	}
	return true;
}
