jQuery.fn.makeacolumnlists=function(settings){
settings=jQuery.extend({
cols: 2,
colWidth: 0,
equalHeight: false,
startN: 1
},settings)
if(jQuery('> li',this)){
this.each(function(y){
var y=jQuery('.li_container').size(),
height=0,
maxHeight=0,
t=jQuery(this),
classN=t.attr('class'),
listsize=jQuery('> li',this).size(),
percol=Math.ceil(listsize/settings.cols),
contW=t.width(),
bl=(isNaN(parseInt(t.css('borderLeftWidth'),10))? 0 : parseInt(t.css('borderLeftWidth'),10)),
br=(isNaN(parseInt(t.css('borderRightWidth'),10))? 0 : parseInt(t.css('borderRightWidth'),10)),
pl=parseInt(t.css('paddingLeft'),10),
pr=parseInt(t.css('paddingRight'),10),
ml=parseInt(t.css('marginLeft'),10),
mr=parseInt(t.css('marginRight'),10),
col_Width=Math.floor((contW-(settings.cols-1)*(bl+br+pl+pr+ml+mr))/settings.cols)
if(settings.colWidth){
col_Width=settings.colWidth}
var colnum=1,
percol2=percol
jQuery(this).addClass('li_cont1').wrap('<div id="li_container'+(++y)+'" class="li_container"></div>')
for(var i=0;i<=listsize;i++){
if(i>=percol2){percol2+=percol;colnum++;}
var eq=jQuery('> li:eq('+i+')',this)
eq.addClass('li_col'+colnum)
if(jQuery(this).is('ol')){eq.attr('value',''+(i+settings.startN))+'';}}
jQuery(this).css({cssFloat:'left',width:''+col_Width+'px'})
for(colnum=2;colnum<=settings.cols;colnum++){
if(jQuery(this).is('ol')){
jQuery('li.li_col'+colnum,this).appendTo('#li_container'+y).wrapAll('<ol class="li_cont'+colnum+' '+classN+'" style="float:left; width: '+col_Width+'px;"></ol>')
}else{
jQuery('li.li_col'+colnum,this).appendTo('#li_container'+y).wrapAll('<ul class="li_cont'+colnum+' '+classN+'" style="float:left; width: '+col_Width+'px;"></ul>')}}
if(settings.equalHeight=='li'){
for(colnum=1;colnum<=settings.cols;colnum++){
jQuery('#li_container'+y+' li').each(function(){
var e=jQuery(this)
var border_top=(isNaN(parseInt(e.css('borderTopWidth'),10))? 0 : parseInt(e.css('borderTopWidth'),10))
var border_bottom=(isNaN(parseInt(e.css('borderBottomWidth'),10))? 0 : parseInt(e.css('borderBottomWidth'),10))
height=e.height()+parseInt(e.css('paddingTop'),10)+parseInt(e.css('paddingBottom'),10)+border_top+border_bottom
maxHeight=(height>maxHeight)? height : maxHeight
})}
for(colnum=1;colnum<=settings.cols;colnum++){
var eh=jQuery('#li_container'+y+' li')
var border_top=(isNaN(parseInt(eh.css('borderTopWidth'),10))? 0 : parseInt(eh.css('borderTopWidth'),10))
var border_bottom=(isNaN(parseInt(eh.css('borderBottomWidth'),10))? 0 : parseInt(eh.css('borderBottomWidth'),10))
mh=maxHeight-(parseInt(eh.css('paddingTop'),10)+parseInt(eh.css('paddingBottom'),10)+border_top+border_bottom)
eh.height(mh)}
}else
if(settings.equalHeight=='ul' || settings.equalHeight=='ol'){
for(colnum=1;colnum<=settings.cols;colnum++){
jQuery('#li_container'+y+' .li_cont'+colnum).each(function(){
var e=jQuery(this)
var border_top=(isNaN(parseInt(e.css('borderTopWidth'),10))? 0 : parseInt(e.css('borderTopWidth'),10))
var border_bottom=(isNaN(parseInt(e.css('borderBottomWidth'),10))? 0 : parseInt(e.css('borderBottomWidth'),10))
height=e.height()+parseInt(e.css('paddingTop'),10)+parseInt(e.css('paddingBottom'),10)+border_top+border_bottom
maxHeight=(height>maxHeight)? height : maxHeight
})}
for(colnum=1;colnum<=settings.cols;colnum++){
var eh=jQuery('#li_container'+y+' .li_cont'+colnum)
var border_top=(isNaN(parseInt(eh.css('borderTopWidth'),10))? 0 : parseInt(eh.css('borderTopWidth'),10))
var border_bottom=(isNaN(parseInt(eh.css('borderBottomWidth'),10))? 0 : parseInt(eh.css('borderBottomWidth'),10))
mh=maxHeight-(parseInt(eh.css('paddingTop'),10)+parseInt(eh.css('paddingBottom'),10)+border_top+border_bottom)
eh.height(mh)}}
jQuery('#li_container'+y).append('<div style="clear:both; overflow:hidden; height:0px;"></div>')
})}}
jQuery.fn.uncolumnlists=function(){
jQuery('.li_cont1').each(function(i){
var onecolSize=jQuery('#li_container'+(++i)+' .li_cont1 > li').size()
if(jQuery('#li_container'+i+' .li_cont1').is('ul')){
jQuery('#li_container'+i+' > ul > li').appendTo('#li_container'+i+' ul:first')
for(var j=1;j<=onecolSize;j++){
jQuery('#li_container'+i+' ul:first li').removeAttr('class').removeAttr('style')}
jQuery('#li_container'+i+' ul:first').removeAttr('style').removeClass('li_cont1').insertBefore('#li_container'+i)
}else{
jQuery('#li_container'+i+' > ol > li').appendTo('#li_container'+i+' ol:first')
for(var j=1;j<=onecolSize;j++){
jQuery('#li_container'+i+' ol:first li').removeAttr('class').removeAttr('style')}
jQuery('#li_container'+i+' ol:first').removeAttr('style').removeClass('li_cont1').insertBefore('#li_container'+i)}
jQuery('#li_container'+i).remove()
})}
