$(document).ready(function(){
    selectors = ["#names-family", "#names-personal"];
    for (index in selectors) {
        selector = selectors[index];
        $(selector).find("#content .list").each(function(){
            columnisedList(this, 5)
        });
    }
});

function columnisedList(currList, totalColumns){

    var list = {
        node: null,
        items: {
            node: null,
            all: null           
        },
        columns: {
            total: totalColumns,
            items: {
                max: null
            }
        },
        getList: function(thisList){
            list.node = $(thisList);
        },
        getItems: function(){
            list.items.node = list.node.find(".content .items");
            list.items.all = list.items.node.find("li");
        },
        calcMaxColumnItems: function() {
            list.columns.items.max = Math.ceil(list.items.all.length / list.columns.total);
        },
        columnize: function(){
            var newList;
            var currColumn = 1;
            var start = 0;
            var perCol = list.columns.items.max;
            var end = perCol;
            for (currColumn; currColumn <= list.columns.total; currColumn++){
                set = $(list.items.all).slice(start, end).wrapAll('<ol class="items" />');
                start = start + perCol;
                end = end + perCol;            
            }
        },
        init: function(){
            list.getList(currList);
            list.getItems();
            list.calcMaxColumnItems();
        }
    };
    list.init();
    $(list.items.node).removeClass("items").addClass("columns");    
    list.columnize();					        
    $(list.node).find(".items").wrap('<li class="column" />');      
}
