﻿function columns(lists, numCols) {

    lists.each(function() {

        var div = $(this);
        var items = div.find('ul:first li');

        //console.log(items);

        var remainder = (items.length % numCols);
        var even = (items.length - remainder) / numCols;

        //console.log(even);
        //console.log(remainder);

        var cols = [];

        for (var i = 0; i < numCols; i++)
            cols[i] = even;

        for (var i = remainder, x = 0; i > 0; i--)
            cols[x++] += 1;

        var output = [];

        for (var i = 0, count = 0; i < numCols; i++) {
            //console.log('column ' + i);
            var li = [];

            //console.log('cols[i] ' + cols[i]);
            for (var x = 0; x < cols[i]; x++) {

                //console.log('col ' + i + ' item ' + x + '(items[' + count +'])');
                li.push('<li>' + $(items[count++]).html() + '</li>');
            }

            output.push(li.join(''));
        }



        //console.log(items);
        //console.log(output.join(''));

        div.empty().append('<ul>' + output.join('</ul><ul>') + '</ul>');

    });

}

$(function() {

    $('#main_nav>li').prepend('<div class="curve_left"></div><div class="curve_right"></div>');
    $('#main_nav .sub').prepend('<div class="curve_TL_grey"></div><div class="curve_TR_grey"></div>').append('<div class="shadow"></div>');

    $('#main_nav>li:has(ul) a').bind('click', function() { return false; });
        
    // remove the vertical divider from the last menu item
    $("#main_nav>li:last").addClass("no_div");

    // remove the vertical divider from the menu item to the left of the selected one
    $("#main_nav>li.selected").prev("li").addClass("no_div");


    var navConfig = {
        interval: 75,
        sensitivity: 5,
        over: function() {
            var li = $(this);

            var colour = '#' + li.attr('id').split('-')[1];

            li.addClass('hover')
              .css({ 'background-image': 'none', 'background-color': colour })
              .find('div.sub').css({ 'background-color': colour, 'left': '-' + (li.offset().left - $('#content').offset().left) + 'px' });
        },
        timeout: 75,
        out: function() {
            var li = $(this);
            li.removeClass('hover');

            if (li.hasClass('selected'))
                li.css({ 'background-image': 'url(/content/img/site/nav_shadow.png)' });
            else if (!li.hasClass('no_div'))
                li.css({ 'background-image': 'url(/content/img/site/nav_div.gif)', 'background-color': 'transparent' });
            else
                li.css({ 'background-color': 'transparent' });
        }
    };

    $('#main_nav>li').hoverIntent(navConfig);

    columns($('div.list-col'), 2);

});
