/***************************************
  Columns
   @author Karl Swedberg
   @version 0.2 (08/19/2008)
   @requires jQuery v1.2.6+
  
***************************************/


;(function($)
{
    $.fn.columns = function(options)
    {
        var opts = $.extend(true, {}, $.fn.columns.defaults, options);

        return this.each(function(event)
        {
            var $container = $(this),
      nname = this.nodeName,
      $kids = $container.children(),
      col = 1,
      item = 1,
      items = [],
      cClass = opts.columnClass;

            if (opts.columnWrapper)
            {
                var cw = this.className ? this.className + ' ' + opts.columnWrapperClass : opts.columnWrapperClass;
                var $wrap = $(opts.columnWrapper)
        .addClass(cw + ' ' + cw + '-' + opts.columns)
        .attr('id', this.id)
        .insertBefore($container);
            }
            for (var i = 0, klength = $kids.length; i < klength; i++)
            {
                items.push($kids[i]);
                var itemStart = (klength / opts.columns) * col;
                if (i + 1 >= itemStart || i === klength - 1)
                {
                    item = Math.ceil(itemStart);
                    var $parent = $('<' + nname + ' class="' + cClass + ' ' + cClass + '-' + col + '"></' + nname + '>')
          .append($(items));
                    if (i === klength - 1)
                    {
                        $parent.addClass(cClass + '-last');
                    }
                    if (opts.columnWrapper)
                    {
                        $parent.appendTo($wrap);
                    } else
                    {
                        $parent.insertBefore($container);
                    }
                    if ($parent[0].nodeName == 'OL' && col > 1)
                    {
                        $parent.attr('start', start);
                    }
                    col++;
                    items = [];
                }
                var start = item + 1;
            }

            $container.remove();
            //$container.hide();

        });
    };

})(jQuery);


$.fn.columns.defaults = {
  columns: 3,
  columnClass: 'floatcols',
  columnWrapper: '<div></div>', // set to null if you don't want a wrapper around all columns
  columnWrapperClass: 'column-wrapper'
};