
function ValidatorUpdateDisplay(val)
{   
    if (val.renderfunction != undefined)
	{
		if (typeof(val.renderfunction) == "string") 
		{ 
		    eval("val.renderfunction = " + val.renderfunction + ";"); 
		}
		val.renderfunction(val);
		return;
	}          			
	
    if (typeof(val.display) == "string")
    {
    	if (val.display == "None")
    	{
            return;
        }
        if (val.display == "Dynamic")
        {
            val.style.display = val.isvalid ? "none" : "inline";
            return;
        }       
    }
    
    val.style.visibility = val.isvalid ? "hidden" : "visible";            
}

function Page_ClientValidate()
{    
	var postback_target = document.getElementById('__POSTBACK_TARGET_TMP')!=null?document.getElementById('__POSTBACK_TARGET_TMP').value:"";
   
	var i;
	for (i = 0; i < Page_Validators.length; i++)
	{
		var validator = Page_Validators[i];
		validator.isvalid = true;
		
		if((postback_target!="") && (validator.btn!=null && validator.btn == postback_target)/*validator.btn.indexOf(postback_target)!=-1*/)
		{
			ValidatorValidate(validator);
		}
		else if((postback_target!="") && (validator.btn!=null && validator.btn.indexOf(postback_target)==-1))
		{
			validator.isvalid = true;
		}
		else if(postback_target=="" && validator.btn==undefined)
		{
			ValidatorValidate(validator);
		}
		else
		{
			validator.isvalid = true;
		}
		
		
		ValidatorUpdateDisplay(validator);
	}
		
	ValidatorUpdateIsValid();    
	ValidationSummaryOnSubmit();
	Page_BlockSubmit = !Page_IsValid;

	document.getElementById('__POSTBACK_TARGET').value = postback_target;
	if(document.getElementById('__POSTBACK_TARGET_TMP')!=null) document.getElementById('__POSTBACK_TARGET_TMP').value="";
	
	return Page_IsValid;
}

//Group validation function
function Page_ClientValidate(validationGroup) 
{      
    Page_InvalidControlToBeFocused = null;
    if (typeof(Page_Validators) == "undefined") {
        return true;
    }
    var i;
    for (i = 0; i < Page_Validators.length; i++) {
        ValidatorValidate(Page_Validators[i], validationGroup, null);
    }
  
    ValidatorUpdateIsValid(); 
    ValidationSummaryOnSubmit(validationGroup);    
    Page_BlockSubmit = !Page_IsValid;             
    return Page_IsValid;
}