﻿

function validateCheckBoxes(sender)
{
 
    var controlToValidate = document.getElementById(sender.controltovalidate);
    if(controlToValidate)
    {
        var checkBoxes = controlToValidate.getElementsByTagName('input');
        var selectedCount = validateCheckBoxes_CountSelected(checkBoxes);
        
        if(selectedCount == 0)
            return false;
        
        if(sender.minimumselecteditems)
        {
            var valid = selectedCount >= sender.minimumselecteditems;
            if(valid == true && sender.maximumselecteditems)
            {
                valid = selectedCount <= sender.maximumselecteditems;
            }
            return valid;
        }
        else if(sender.maximumselecteditems)
        {
            return selectedCount < sender.maximumselecteditems;
        }   
        else
        {
            return selectedCount > 0;
        }     
    }
    else
    {
        alert('Control ' + sender.controltovalidate + ' can not be found.');
        return true;
    }
    
}

function validateCheckBoxes_CountSelected(checkBoxes)
{
    var counter = 0;
    for(var i=0;i<checkBoxes.length;i++)
    {
        if(checkBoxes[i].checked)
            counter++;
    }
    return counter;
}

