(function(A){A.fn.columnize=function(B){var C={width:400,columns:false};var B=A.extend(C,B);return this.each(function(){var E=A(this);var H=E.height();var J=A("<div></div>");J.append(E.children().clone());G();A(window).resize(function(){G()});function I(M,Q,S,T){while(S.height()<T&&Q[0].childNodes.length){M.append(Q[0].childNodes[0])}if(M[0].childNodes.length==0){return }var L=M[0].childNodes;var N=L[L.length-1];M[0].removeChild(N);var R=A(N);if(R[0].nodeType==3){var P=R[0].nodeValue;var O=B.width/8;var K;while(S.height()<T&&P.length){if(P.indexOf(" ",O)!="-1"){K=P.substring(0,P.indexOf(" ",O))}else{K=P}M.append(document.createTextNode(K));if(P.length>O){P=P.substring(P.indexOf(" ",O))}else{P=""}}if(P.length){R[0].nodeValue=P}else{return }}if(Q.children().length){Q.prepend(R)}else{Q.append(R)}}function F(L,N,M,K){if(N.children().length){$cloneMe=N.children(":first");$clone=$cloneMe.clone().empty();if($clone.attr("nodeType")==1){L.append($clone);if($clone.is("img")&&M.height()<K+20){$cloneMe.remove()}else{if($clone.is("img")){$clone.remove()}else{I($clone,$cloneMe,M,K);if($cloneMe.children().length&&!$cloneMe.hasClass("dontsplit")){F($clone,$cloneMe,M,K)}}}}}}function D(){if(E.data("columnized")&&E.children().length==1){return }E.data("columnized",true);E.data("columnizing",true);E.empty();E.append(A("<div class='first last column' style='width:98%; padding: 3px; float: left;'></div>"));$col=E.children().eq(E.children().length-1);$col.append(J.clone());E.data("columnizing",false)}function G(){var M=Math.round(E.width()/B.width);if(B.columns){M=B.columns}if(M<=1){return D()}if(E.data("columnizing")){return }E.data("columnized",true);E.data("columnizing",true);E.empty();E.append(A("<div style='width:"+(Math.round(100/M)-2)+"%; padding: 3px; float: left;'></div>"));X=E.children(":last");X.append(J.clone());H=X.height();E.empty();var Q=H/M;var L=true;for(var T=0;T<2;T++){E.empty();var R=J.clone();R.css("visibility","hidden");for(var P=0;P<M;P++){var S=(P==0)?"first column":"column";var S=(P==M-1)?("last "+S):S;E.append(A("<div class='"+S+"' style='width:"+(Math.round(100/M)-2)+"%; float: left;'></div>"))}for(var P=0;P<M-1;P++){var X=E.children().eq(P);I(X,R,X,Q);F(X,R,X,Q)}X=E.children().eq(E.children().length-1);while(R.children().length){X.append(R.children(":first"))}var W=X.height();var V=W-Q;var K=0;var O=10000000;var U=0;E.children().each(function(Y){var Z=A(this).height();K+=Z;if(Z>U){U=Z}if(Z<O){O=Z}});var N=K/M;if(U-O>30){Q=N+30}else{if(Math.abs(N-Q)>20){Q=N}else{T=3}}E.append(A("<br style='clear:both;'>"))}E.data("columnizing",false)}})}})(jQuery);
