Element.extend({divide:function(options,onlyresize){options=$merge({cols:2,border:0,padding:0,correct:0,order:'first',firstclass:null,nextclass:null},options||{});if(!onlyresize){var element=this.clone().injectAfter(this);var size=this.getSize();var percent=(100/options.cols).toInt()-2;var w=size.size.x/options.cols-(options.padding*(options.cols-1)).toInt();if(options.border){options.padding/=2;options.padding=options.padding.toInt();}
element.setStyle('width',percent+"%");size=element.getSize();if(options.correct){options.correct=size.size.y*(options.correct.toInt()/100);}
var bestH=size.size.y/options.cols;var div=new Element('div').injectAfter(element.id);var column=new Element('div').injectInside(div).setStyles({'width':percent+"%",'float':'left'});if(options.border){column.setStyle('border-right',options.border);column.setStyle('padding-right',options.padding);}
if(options.firstclass){column.setProperty('class',options.firstclass);}
var i=0
element.getChildren().each(function(el){if(options.order=="first"){el.injectInside(column);}
if(column.getSize().size.y>bestH&&i<options.cols-1){column=new Element('div').setStyles({'width':percent+"%",'float':'left','margin-left':options.padding});if(options.nextclass){column.setProperty('class',options.nextclass);}
if(options.border&&i<options.cols-2){column.setStyle('border-right',options.border);column.setStyle('padding-right',options.padding);}
column.injectInside(div);i++;}
if(options.order=="last"){el.injectInside(column);}});this.setHTML(div.innerHTML);div.remove();element.remove();}
else{var size=this.getSize();var bestH=size.size.y/options.cols;}
var acceptableError=bestH*options.correct;var cols=Array();var diff=0;for(j=0;j<options.cols;j++){var maxh=0;cols=this.getChildren();cols.each(function(el,i){if(maxh<el.getSize().size.y){maxh=el.getSize().size.y}});}
this.setStyle('height',maxh);}});
