function scrollableEditor(d,h){var t,e=d.css(),n=d.width(),l=null,g=[],c=[],s=500,m=[],o={display:"block",position:"absolute",left:"-99999px",top:"-99999px"},r=$("
").appendTo(document.body),u=!1;for(t in e)t.match(/^(direction|font-family|font-size|font-style|font-weight|letter-spacing|line-height|text-align|vertical-align|white-space|word-wrap|word-break|word-spacing)$/i)&&(o[t]=e[t]);function a(e){var t=d.val().split("\n"),n=0;r.width(d.width()),c=[];for(var o=0;o=u[0]&&a[1]<=u[1]){var c=m[l+1]?m[l+1][2]:h.get(0).scrollHeight,s=(0==i?0:u[2])+(c-u[2])*r;p(h,s);break}}}else for(var u,f=0;f=(u=m[f])[0]&&e<=u[1]){(f==m.length-1||u[2]o+h.height())&&h.scrollTop(u[2]);break}}function b(e){var t=$(e),e=t.parent();return 0=i[0]&&o<=i[1]){b(l).removeClass("focus"),b(i[3]).addClass("focus"),l=i[3],r=o;break}}return r}d.on("touch keypress click",v),d.on("focus",function(){u=!0}).on("blur",function(){u=!1,b(l).removeClass("focus")}),d.on("resize",a);var D={editor:[!1,0,i],preview:[!1,0,function(){var e=d.height(),t=(d.innerHeight()-e)/2,n=h.scrollTop(),o=!1;if(!(m.length<=0)){for(var r=0;r').insertAfter(this),r=0,a=s.minHeight,n=this;function i(e){var t=c(e).y,n=o+t;return t<=r&&(n-=5),r=t,n=Math.max(a,n),textarea.height(n+"px"),n').insertAfter(t),"tfoot"!=(n=$("tr:last",this)).parent().prop("tagName").toLowerCase()&&(n=(t=$("td",n)).height(),t.height(n-e.outerHeight())))}),l(document).bind("mousemove",l.tableDnD.mousemove).bind("mouseup",l.tableDnD.mouseup),this},makeDraggable:function(t){for(var e=t.rows,n=t.tableDnDConfig,o=0;ol.tableDnD.oldY,l.tableDnD.oldY=r,n.onDragClass?t.addClass(n.onDragClass):t.css(n.onDragStyle),(r=l.tableDnD.findDropTargetRow(t,r))&&(e&&l.tableDnD.dragObject!=r?l.tableDnD.dragObject.parentNode.insertBefore(l.tableDnD.dragObject,r.nextSibling):e||l.tableDnD.dragObject==r||l.tableDnD.dragObject.parentNode.insertBefore(l.tableDnD.dragObject,r))),!1}},findDropTargetRow:function(e,t){for(var n=l.tableDnD.currentTable.rows,o=0;on.length)break}else i[r]===n.charAt(pos)&&r!==g&&(pos++,o=r);return e?u():o+1