﻿//-------------------------------------------------------------------------------------------
//  Scrolls the Page to the ValidationSummary designated by the "onclientclicked" event 
//  invoking the validation.
//
//  CODE BEHIND - Add the following to the "Page_Load" event.
//        //System.Web.UI.ScriptManager.RegisterOnSubmitStatement(Page.GetType(), "GotoValidationSummary", "scrolltoValidationSummaryScript();");
//        Page.ClientScript.RegisterOnSubmitStatement(Page.GetType(), "GotoValidationSummary", "return(scrolltoValidationSummaryScript());");
//        this.Button1.OnClientClick = "saveLocalValidationSummary('" + ValidationSummary1.ClientID + "')";
//-------------------------------------------------------------------------------------------
var _obj_activevalidationsummary = null;
function saveLocalValidationSummary(validationsummaryid) {
    //        alert("save validation summary id = " + validationsummaryid);
    _obj_activevalidationsummary = document.getElementById(validationsummaryid);
}
function gotoActiveSummary() {
    //    alert("goto active summary.");
    if (_obj_activevalidationsummary != null) {
        var coors = findPos(_obj_activevalidationsummary);
        window.scrollTo(coors[0], coors[1]);
        _obj_activevalidationsummary = null;
    }
}
function scrolltoValidationSummaryScript() {
    //    alert("ValidationSummary registration on server code behind.");
    if (typeof (ValidatorOnSubmit) == "function") {
        var isValidated = ValidatorOnSubmit();
        if (!isValidated) {
            gotoActiveSummary();
            return false;
        }
        return true;
    }
}
function findPos(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        do {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
    }
    return [curleft, curtop];
}
