function pagination(box, menu, items_per_page, menu_items_size)
{
    var actual_pagination = 1;
    var items_size = $(box).children().size();
    var menu_items;
    
    menu_items = Math.floor(items_size/items_per_page);
    if(items_size%items_per_page>0){
        menu_items += 1;
    }

    for(var i=1; i<=menu_items; i++){
        $(menu + ' span').append('<a id="' + i + '">' + i + '</a>');
    }
    
    if(items_size>items_per_page){
        $(menu).show();
    }
    
    $('#'+actual_pagination).addClass('actual_pagination');
    show_items(actual_pagination-1);
    
    $(menu+" a").click(function() {
        var element_id = $(this).attr('id');
        if(element_id == 'first'){
            actual_pagination = 1;
        }
        else if(element_id == 'prev'){
            if(actual_pagination>1){
                actual_pagination -= 1;
            }
        }
        else if(element_id == 'next'){
            if(actual_pagination<menu_items){
                actual_pagination += 1;
            }
        }
        else if(element_id == 'last'){
            actual_pagination = menu_items;
        }else{
            actual_pagination = parseInt(element_id);
        }
        $('.actual_pagination').removeClass('actual_pagination');
        $('#'+actual_pagination).addClass('actual_pagination');
        show_items(actual_pagination-1);
    });
    
    function show_items(number){
        
        $(box).children().hide();
        
        for(var i=number*items_per_page; i<(number*items_per_page)+items_per_page; i++){
            if(i<items_size){
                $(box).children().eq(i).show();
            }
        }
        
        if(number > menu_items_size){
            $('#dots_prev').show();
        }else{
            $('#dots_prev').hide();
        }
        
        if(number < menu_items - menu_items_size-1){
            $('#dots_next').show();
        }else{
            $('#dots_next').hide();
        }
        
        for(var i=1; i<=menu_items; i++){
            if(i >= number+1 - menu_items_size && i <= number+1 + menu_items_size){
                $('#'+i).show();
            }else{
                $('#'+i).hide();
            }
        }    
    }
}