﻿function ValidatorUpdateDisplayToBlock(val) {
	if (typeof (val.display) == "string") {
		if (val.display == "None") {
			return;
		}
		if (val.display == "Dynamic") {
			val.style.display = val.isvalid ? "none" : "block";
			return;
		}
	}
	if ((navigator.userAgent.indexOf("Mac") > -1) && (navigator.userAgent.indexOf("MSIE") > -1)) {
		val.style.display = "block";
	}
	val.style.display = val.isvalid ? "none" : "block";
}

function Page_ColoredValidate(validationGroup) {
	Page_InvalidControlToBeFocused = null;
	if (typeof (Page_Validators) == "undefined") {
		return true;
	}	
	var i;
	for (i = 0; i < Page_Validators.length; i++) {
		//	do not validate invisible controls
		//
		var parentVisible = "block" == document.getElementById(Page_Validators[i].controltovalidate).parentNode.style.display;
		var grandParentVisible = "block" == document.getElementById(Page_Validators[i].controltovalidate).parentNode.parentNode.style.display;
		var controlIsVisible = (parentVisible	|| grandParentVisible);
		if (!controlIsVisible) {
			Page_Validators[i].isvalid = true;
		}
		
		if (controlIsVisible) {
			ValidatorValidate(Page_Validators[i], validationGroup, null);
			var someCtrl = document.getElementById(Page_Validators[i].controltovalidate + "_text");
			SetRadTextBoxValidationStyle(
				someCtrl,
				Page_Validators[i].isvalid
				);
		}
	}
	ValidatorUpdateIsValid();
	ValidationSummaryOnSubmit(validationGroup);
	Page_BlockSubmit = !Page_IsValid;
	return Page_IsValid && checkLocation();
}
function GetValidatorByControlId(controlId) 
{
	for (var i = 0; i < Page_Validators.length; i++) {
		if (Page_Validators[i].controltovalidate == controlId)
			return Page_Validators[i];
	}
	return null;
}

function SetRadTextBoxValidationStyle(radTextBox, isValid) {
	if (
			(null == radTextBox)
			|| ("undefined" == typeof (radTextBox))
			|| ("undefined" == typeof (radTextBox.tagName))
			|| ("input" != radTextBox.tagName.toLowerCase())
			|| ("text" != radTextBox.type.toLowerCase())
			) {
		return;
	}

	if (!isValid) {
		radTextBox.style.backgroundColor = "#FFCCCC";
		radTextBox.style.borderWidth = "1px";
		radTextBox.style.borderStyle = "solid";
		radTextBox.style.borderColor = "#FF0000";
	}
}

