﻿
//*****************************************************************
//  OVERRIDE ValidatorUpdateDisplay TO HIGHLIGHT AFFECTED FIELDS
var oldValidatorUpdateDisplay;
function newValidatorUpdateDisplay(val) {
    // call original function
    oldValidatorUpdateDisplay(val);
    // execute some additional code
    //try {
    var ctlIsValid = true;
    var ctlToHighlight;
    if (!(val.isvalid)) {
        ctlIsValid = false;
        if (val.highlightfunction) {  //if (typeof (val.highlightfunction) == "function") {
            ctlToHighlight = val.highlightfunction();
        }
        else {
            ctlToHighlight = val.controltovalidate;
        }
    }
    else {
        if (val.highlightfunction) {  //if (typeof (val.highlightfunction) == "function") {
            ctlToHighlight = val.highlightfunction();
        }
        else { ctlToHighlight = val.controltovalidate; }

        $A(Page_Validators).each(function(item) {
            if (typeof (item.highlightfunction) == "function") {
                if ((item.highlightfunction() == ctlToHighlight) && (!(item.isvalid))) {
                    ctlIsValid = false;
                    throw $break;
                }
            }
            else if ((item.controltovalidate == ctlToHighlight) && (!(item.isvalid))) {
                ctlIsValid = false;
                throw $break;
            }
        });
    }
    //alert(ctlToHighlight + ".isvalid=" + ctlIsValid);
    if (ctlIsValid) { $(ctlToHighlight).removeClassName('valError'); }
    else { $(ctlToHighlight).addClassName('valError'); }
    //}
    //catch (ex) { }
}

window.onload = function() {
    // hijack ValidatorUpdateDisplay() method
    oldValidatorUpdateDisplay = ValidatorUpdateDisplay;
    ValidatorUpdateDisplay = newValidatorUpdateDisplay;
}


