Refine a math calculation function
The best and easiest way to do this would be to place the items in a box container with a pre-computed height and width. Then in order to find the max amount of items that can be placed in the container, you just divide the area of the box container by the area of an item.

I used this method with your previous function and got something like this.

Cluster.prototype.initiate_items_per_page_calculation = function () {
    var o = this.get_init_calculation_object(),
        areaOfHeaderAndFooter = ( o.header.w * o.header.h ) + ( o.footer.w * o.footer.h ),
        areaOfExtraPaddingToContainer = 150 * 250 * 2,
        areaOfBoxContainer = (o.screen.w * o.screen.h ) - areaOfHeaderAndFooter - areaOfExtraPaddingToContainer,
        areaOfBox = (o.item.w * o.item.h),
        containerBoxLimit = Math.floor( areaOfBoxContainer / areaOfBox );

    return containerBoxLimit;
};
Cluster.prototype.get_init_calculation_object = function () {
    var $body = $('body'), 
        $header = $body.find('header'),
        $footer = $body.find('footer'),
        $item = $body.find(this.cluster_public_classes.item_wrapper);

    return {
        footer:{
            h: $footer.outerHeight(true),
            w: $footer.outerWidth(true)
        },
        header:{
            h: $header.outerHeight(true),
            w: $header.outerWidth(true)
        },
        item:{
            h: $item.outerHeight(true),
            w: $item.outerWidth(true)
        },
        screen:{
            h: $body.outerHeight(true),
            w: $body.outerWidth(true)
        }
    };
};