/*------------------------------------------*/
/* customised control validators */
/*------------------------------------------*/

function StyleChangingRequiredFieldValidator_Verify(control) {
	var controlToValidate = $('#' + control.controltovalidate)[0];
		if ( controlToValidate != null )	{
		if (controlToValidate.tagName == "INPUT" || controlToValidate.tagName == "SELECT" || controlToValidate.tagName == "TEXTAREA")	{
			var controlToChange = $('#' + control.controltochange)[0];
			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 = $('#' + control.controltovalidate)[0];
	if (controlToValidate != null)	{
		if (controlToValidate.tagName == "INPUT" || controlToValidate.tagName == "TEXTAREA")		{
			var controlToChange = $('#' + control.controltochange)[0];
			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 = $('#' + control.controltovalidate)[0];
	if ( controlToValidate != null )	{
		if (controlToValidate.value.length > 0)		{
			var controlToChange = $('#' + control.controltochange)[0];
			var controlToCompare= $('#' + control.controltocompare)[0];
			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 = $('#' + control.controltovalidate)[0];
    if ( controlToValidate != null )
	{
		var controlToChange = $('#' + control.controltochange)[0];
		if ( controlToValidate.checked==false ) {
			controlToChange.attributes['class'].value=control.changecssclass;
			return false;
		}
		else {
			controlToChange.attributes['class'].value=control.originalcssclass;
			return true;
		}
    }
}
function StyleChangingCheckBoxListValidator_Verify(control) {
	var controlToValidate = $('#' + control.controltovalidate)[0];
	if (controlToValidate != null) {
		var controlToChange = $('#' + control.controltochange)[0];
		for (var i = 0, childCount = controlToValidate.children.length; i < childCount; i++) {

			if ((controlToValidate.children[i].type == "checkbox") && (controlToValidate.children[i].checked == true)) {
				controlToChange.attributes['class'].value = control.originalcssclass;
				return true;
			}
		}
		controlToChange.attributes['class'].value = control.changecssclass;
		return false;
	}
}
function StyleChangingCustomValidator_Verify(control) {
	var controlToValidate = $('#' + control.controltovalidate)[0];
	if ( controlToValidate != null ) {
		var controlToChange = $('#' + control.controltochange)[0];
		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;
}
function StyleChangingRadioButtonListValidator_Verify(control) {
	var controlToValidate = $('#' + control.controltovalidate)[0];
	if (controlToValidate != null) {
		var controlToChange = $('#' + control.controltochange)[0];
		for (var i=0, childCount=controlToValidate.children.length; i < childCount; i++) {

			if ((controlToValidate.children[i].type == "radio") && (controlToValidate.children[i].checked == true)) {
				controlToChange.attributes['class'].value = control.originalcssclass;
				return true;
			}
		}
		controlToChange.attributes['class'].value = control.changecssclass;
		return false;
	}
}
