function columnit(columnizer_id, columnizer_no_columns, columnizer_no_chars){
  var columnizer_ele = document.getElementById(columnizer_id);
  var columnizer_columns = columnizer_no_columns;
  var columnizer_arrLi = columnizer_ele.getElementsByTagName('li');
  var columnizer_arrClass = new Array();
  var columnizer_no_li = columnizer_arrLi.length;
  if(columnizer_columns > columnizer_no_li)
  {
    columnizer_columns = columnizer_no_li;
  }
  
  for(var i=0; i<columnizer_no_li; i++){
    columnizer_arrClass.push(columnizer_arrLi.item(i).className);
  }
  
  var columnizer_perCol = Math.floor(columnizer_no_li/columnizer_columns);
  var columnizer_extra = columnizer_no_li - columnizer_perCol * columnizer_columns;
  var columnizer_li_order = 0;
  var columnizer_pre = new Array();
  
  var columnizer_html = "";
  
  for(var i=0; i<columnizer_columns; i++)
  {
    if(columnizer_columns >= 3)
    {
      if(i == 0)
      {
        columnizer_html += "<div class='first column'>";
      }
      else if(i == columnizer_columns-1)
      {
        columnizer_html += "<div class='last column'>";
      }
      else
      {
        columnizer_html += "<div class='column'>";
      }
    }
    else
    {
      if(columnizer_columns == 2)
      {
        if(i == 0)
        {
          columnizer_html += "<div class='first column'>";
        }
        else
        {
          columnizer_html += "<div class='last column'>";
        }
      }
      else
      {
        columnizer_html += "<div class='column'>";
      }
    }
    
    var liText;
    columnizer_html += "<ul>";
    
    for(var c=0; c<columnizer_perCol; c++)
    {
    if(columnizer_pre.length > 0){
      columnizer_html += columnizer_pre.pop();
    }
    liText = columnizer_arrLi[columnizer_li_order].innerHTML;
    
    if(c == columnizer_perCol-1 && i > columnizer_extra-1 && liText.indexOf("strong") != -1 && columnizer_li_order < columnizer_no_li-1){
      if(columnizer_arrClass[columnizer_li_order] != ''){
        columnizer_pre.push("<li class=\""+ columnizer_arrClass[columnizer_li_order] +"\">"+ columnizer_minify(columnizer_arrLi[columnizer_li_order].innerHTML, columnizer_no_chars) +"</li>");
      } else {
        columnizer_pre.push("<li>"+ columnizer_minify(columnizer_arrLi[columnizer_li_order].innerHTML, columnizer_no_chars) +"</li>");
      }
    } else {
      if(columnizer_arrClass[columnizer_li_order] != ''){
        columnizer_html += "<li class=\""+ columnizer_arrClass[columnizer_li_order] +"\">"+ columnizer_minify(columnizer_arrLi[columnizer_li_order].innerHTML, columnizer_no_chars) +"</li>";
      } else {
        columnizer_html += "<li>"+ columnizer_minify(columnizer_arrLi[columnizer_li_order].innerHTML, columnizer_no_chars) +"</li>";
      }
      
    }
    columnizer_li_order++;
    }
    
    if(columnizer_extra > 0)
    {
    if(i < columnizer_extra)
    {
      liText = columnizer_arrLi[columnizer_li_order].innerHTML;
      if(liText.indexOf("strong") != -1){
        if(columnizer_arrClass[columnizer_li_order] != ''){
          columnizer_pre.push("<li class=\""+ columnizer_arrClass[columnizer_li_order] +"\">"+ columnizer_minify(columnizer_arrLi[columnizer_li_order].innerHTML, columnizer_no_chars) +"</li>");
        } else {
          columnizer_pre.push("<li>"+ columnizer_minify(columnizer_arrLi[columnizer_li_order].innerHTML, columnizer_no_chars) +"</li>");
        }
      } else {
        if(columnizer_arrClass[columnizer_li_order] != ''){
          columnizer_html += "<li class=\""+ columnizer_arrClass[columnizer_li_order] +"\">"+ columnizer_minify(columnizer_arrLi[columnizer_li_order].innerHTML, columnizer_no_chars)  +"</li>";
        } else {
          columnizer_html += "<li>"+ columnizer_minify(columnizer_arrLi[columnizer_li_order].innerHTML, columnizer_no_chars) +"</li>";
        }
      }
      columnizer_li_order++;
    }
    }
    
    columnizer_html += "</ul></div>";
  }
  columnizer_html += "<br class='clear' />";
  columnizer_ele.innerHTML = columnizer_html;
  
}

function columnizer_minify(columnizer_txt, columnizer_no_chars){
  if(columnizer_no_chars == undefined){
    columnizer_no_chars = 0;
  }
  
  if(isNaN(columnizer_no_chars) || columnizer_no_chars == 0){
    return columnizer_txt;
  } else {
    if(columnizer_txt.substr(0,1) == "<"){
      var columnizer_split = columnizer_txt.split(/<|>/);
      if(columnizer_split[2].length <= columnizer_no_chars){
        return columnizer_txt;
      } else {
        var columnizer_ret_str = columnizer_split[2].substr(0, columnizer_no_chars-3);
        columnizer_ret_str = '<'+ columnizer_split[1] +'>'+ columnizer_ret_str + '...</a>';
        return columnizer_ret_str;
      }
    } else {
      if(columnizer_txt.length <= columnizer_no_chars){
        return columnizer_txt;
      } else {
        var columnizer_ret_str = columnizer_txt.substr(0, columnizer_no_chars-3);
        columnizer_ret_str = columnizer_ret_str + '...';
        return columnizer_ret_str;
      }
    }
  }
}
