﻿function ValidationSummary(summaryContent, rollTop, ulContentId)
{
	if (typeof(Page_BlockSubmit) == 'undefined' || Page_BlockSubmit == false)
		return;
	
	var summaryContent = document.getElementById(summaryContent);
	
	if (typeof(Page_Validators) == 'undefined' || summaryContent == null)
		return;

	var ulContent = document.getElementById(ulContentId);

	if (ulContent != null)
		summaryContent.removeChild(ulContent);

	ulContent = document.createElement("UL");
	ulContent.id = ulContentId;
	var showSummary = false;
	for(var i=0; i<Page_Validators.length; i++)
	{
		var validator = Page_Validators[i];

		if (typeof(validator.isvalid) != 'undefined' && validator.isvalid == false)
		{
			var nLi = ValidationSummary.GetSummaryRow(validator.controltovalidate, validator.errormessage);
			ulContent.appendChild(nLi);
			
			showSummary = true;
		}
	}
	
	if (showSummary)
	{
		summaryContent.appendChild(ulContent);
		if (rollTop)
		{
			window.scroll(0,0);
			summaryContent.style.display = "block";
		}
	}
}

ValidationSummary.GetSummaryRow = function(invalidElmId, validatorMessage)
{
	var li = document.createElement("LI");
	var anchor = document.createElement("A");
	
	//anchor.href = "#" + invalidElmId;
	anchor.href = "javascript:void(0)";
	anchor.invalidElmId = invalidElmId;
	anchor.onclick = function() { ValidationSummary.FocusElement(this.invalidElmId); }
	
	anchor.appendChild(document.createTextNode(validatorMessage));
	
	li.appendChild(anchor);
	return li;
}

ValidationSummary.FocusElement = function(elementId)
{
	var element = document.getElementById(elementId);
	
	if (element != null)
		element.focus();
}


