function listbox_validate(val)
{
    var isValid = false;
    var listcontrol = WebForm_GetElementById(val.controltovalidate);
    var maxselections = parseInt(val.maxselections);
    var minselections = parseInt(val.minselections);
    if (listcontrol != null && !isNaN(maxselections) && !isNaN(minselections))
    {
        var selectionCount = 0;
        
        var inputControls = WebForm_GetElementsByTagName(listcontrol, "input");
        for (var ci = 0; ci < inputControls.length; ci++)
        {
            var curitem = inputControls[ci];
            
            if (curitem.type == "checkbox" ||
                curitem.type == "radio")
            {
                if (curitem.checked == true)
                    selectionCount++;
            }
        }
        
        isValid = (selectionCount >= minselections &&
                    (maxselections == 0 || selectionCount <= maxselections));        
    }
    return isValid;
}