function scrollableEditor(f,d){var t,e=f.css(),n=f.width(),l=null,h=[],c=[],s=500,g=[],o={display:"block",position:"absolute",left:"-99999px",top:"-99999px"},i=$("
").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 r(e){var t=f.val().split("\n"),n=0;i.width(f.width()),c=[];for(var r,o,a=0;a=(s=g[i])[0]&&e<=s[1]){(i==g.length-1||s[2]o+d.height())&&d.scrollTop(s[2]);break}}else{for(var l=0;l=s[0]&&a[1]<=s[1]){var u=g[c+1]?g[c+1][2]:d.get(0).scrollHeight,u=(0==l?0:s[2])+(u-s[2])*r;p(d,u);break}}}}function v(e){var e=$(e),t=e.parent();return 0=i[0]&&o<=i[1]){v(l).removeClass("focus"),v(i[3]).addClass("focus"),l=i[3],r=o;break}}}return r}f.on("touch keypress click",D),f.on("focus",function(){u=!0}).on("blur",function(){u=!1,v(l).removeClass("focus")}),f.on("resize",r);var a={editor:[!1,0,b],preview:[!1,0,function(){var e=f.height(),e=(f.innerHeight()-e)/2,t=d.scrollTop(),n=!1;if(!(g.length<=0)){for(var o=0;o').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"!=(t=$("tr:last",this)).parent().prop("tagName").toLowerCase())&&(n=(t=$("td",t)).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=o,n.onDragClass?t.addClass(n.onDragClass):t.css(n.onDragStyle),r=l.tableDnD.findDropTargetRow(t,o))&&(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 s[r]===n.charAt(pos)&&r!==i&&(pos++,o=r);return e?h():o+1