﻿(function($) {
    $.fn.SetPageValidators = function(options) {

        options = $.extend({
            group: 'Unknown',
            depth: 4
        }, options);
        
        var validationGroup = options.group;
        var maxLoop = options.depth;

        for (var i = 0; i < Page_Validators.length; i++) {

            if (Page_Validators[i].controltovalidate != null &&
            (Page_Validators[i].validationGroup.toLowerCase() == validationGroup.toLowerCase() || validationGroup == '')) {
                
                var aspControl = document.getElementById(Page_Validators[i].controltovalidate);

                //console.log(aspControl)

                if (aspControl != null && aspControl != 'undefined') {

                    var status = true;
                    var limiter = 0;

                    $(aspControl).parents('fieldset').each(function() {                        
                        
                        //console.log("LOOP: " + $(this).css('display') + " - ID: " + $(this).attr('id'));

                        limiter++;
                        //if ($(this).css('display') == 'none') {
                        if ($(this).is(':hidden')) {
                            status = false;
                            return false;
                        }
                        else if (limiter > maxLoop) {
                            return false;
                        }
                    });

                    //console.log('' + i + ' ' + status);
                    Page_Validators[i].enabled = status; // enable / disable validator
                }
            }
        }
        //}

    };
})(jQuery);
    
