function ErrorSummary(element, validationResult) {
    if (arrayValidatedControls == null || arrayValidationSummary == null) {
        return;
    }
    var validationGroup = null;
    for (var i = 0; i < arrayValidatedControls.length; i++) {
        if (arrayValidatedControls[i].elementId == element[0].id) {
            arrayValidatedControls[i].valid = validationResult;
            validationGroup = arrayValidatedControls[i].validationGroup;
            break;
        }
    }
    
    // find current validation summary
    var validationSummary = null;
    for (var i = 0; i < arrayValidationSummary.length; i++) {
        if (arrayValidationSummary[i].validationGroup == validationGroup) {
            validationSummary = $('#' + arrayValidationSummary[i].validationSummaryId);
            break;
        }
    }

    // chech for all element valid in group
    var allValid = true;
    for (var i = 0; i < arrayValidatedControls.length; i++) {
        if (arrayValidatedControls[i].validationGroup == validationGroup && arrayValidatedControls[i].valid == false) {
            allValid = false;
            break;
        }
    }

    if (validationSummary)
    {
        validationSummary[0].innerHTML = validationSummary.attr('headertext') + '<br/>';
        validationSummary[0].style.display = allValid ? 'none':'';
        validationSummary[0].style.visibility = allValid ? 'hidden' : 'visible';
    }
}

/*array of {elementId; valid; validationGroup}*/
var arrayValidatedControls = null;
/*array of {validationSummaryId; validationGroup}*/
var arrayValidationSummary = null;