function block_click(elem, cls)
{
    var block = $('#'+elem);
    if ( block.css('display') != 'none' )
        block.slideUp(500);
    else
    {
        $('.'+cls+':visible').slideUp(500);
        block.slideDown(500);
    }
    return false;
}

function uncheck_by_id(check, id) {
    var cls = id.replace(/_toggle$/, '');
    var all_checked = true;
    $('input.'+cls).each(function() {
        if ( !$(this).is(':checked') ) {
            $('#'+id).get(0).checked = false;
            all_checked = false;
            return;
        }
    });
    console.log($('input.'+cls).not(':checked'));
    if ( all_checked ) {
        $('#'+id).get(0).checked = true;
    }
}

function toggle_by_class(check, cls) {
    var value = check.checked;
    $('input.'+cls).each(function() {
        this.checked = value;
    });
}

$(document).ready(function() {
    $('.collapse-handle').click(function() {
        var elem = $(this).parents().andSelf().nextAll('.collapsable').eq(0);
        var img = $(this).find('img').get(0);
        var handle = $(this);
        img.src = '/static/imgs/collapse_handle2.gif';
        if ( handle.is('.collapsed') ) {
            handle.removeClass('collapsed');
            elem.slideDown(800, function() {
                if ( !handle.is('.collapsed') )
                    img.src = '/static/imgs/collapse_handle3.gif';
            });
        } else {
            handle.addClass('collapsed');
            elem.slideUp(800, function() {
                if ( handle.is('.collapsed') )
                    img.src = '/static/imgs/collapse_handle1.gif';
            });
        };
        return false;
    });
});


