﻿add_afterload(function () {
    $("INPUT,SELECT").each(function () {
        if (typeof (this.mark) == 'function' && typeof (this.validate) == 'function') {
            //for valid changes
            this.valid_change = (function (oldvalid_change) {
                return function () {
                    if (oldvalid_change) {
                        if (typeof (oldvalid_change) == 'function') {
                            oldvalid_change.call(this);
                        }
                    }
                    //
                    validation_mark(this, true);
                    //
                }
            })(this.valid_change);

            //for invalid changes
            this.invalid_change = (function (oldinvalid_change) {
                return function () {
                    if (oldinvalid_change) {
                        if (typeof (oldinvalid_change) == 'function') {
                            oldinvalid_change.call(this);
                        }
                    }
                    //
                    validation_mark(this, false);
                    //
                }
            })(this.invalid_change);
        }

        //
        //        $("SPAN.required.chevron").each(function () {
        //            this.style.display = 'none';
        //        });
    });
});
function validation_mark(ctrl, valid) {
    if (!ctrl) return;
    //
    var pNode = ctrl.parentNode;
    if (pNode) {
        pNode = pNode.parentNode;
        if (!pNode) return;
        //
        $(pNode).find("SPAN.required.chevron").each(function () {
            this.style.display = 'none';
        });
        if (valid === false) {
            $(pNode).addClass("clearfix error errorfix");
        }
        if (valid === true) {
            $(pNode).removeClass("error errorfix");
        }
    }
}
