tinymce-editor/copy_this/modules/hdi/hdi-tinymce/tinymce/plugins/table/plugin.min.js
Marat.Bedoev@heiner-direct.com 54431935e5 update to 1.1.4
2013-10-02 17:48:32 +02:00

1 line
22 KiB
JavaScript

!function(e,t){"use strict";function n(e,t){for(var n,o=[],i=0;i<e.length;++i){if(n=a[e[i]]||r(e[i]),!n)throw"module definition dependecy not found: "+e[i];o.push(n)}t.apply(null,o)}function o(e,o,i){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(o===t)throw"invalid module definition, dependencies must be specified";if(i===t)throw"invalid module definition, definition function must be specified";n(o,function(){a[e]=i.apply(null,arguments)})}function i(e){return!!a[e]}function r(t){for(var n=e,o=t.split(/[.\/]/),i=0;i<o.length;++i){if(!n[o[i]])return;n=n[o[i]]}return n}function l(n){for(var o=0;o<n.length;o++){for(var i=e,r=n[o],l=r.split(/[.\/]/),s=0;s<l.length-1;++s)i[l[s]]===t&&(i[l[s]]={}),i=i[l[s]];i[l[l.length-1]]=a[r]}}var a={},s="tinymce/tableplugin/TableGrid",c="tinymce/util/Tools",d="tinymce/Env",u="tinymce/tableplugin/Quirks",m="tinymce/util/VK",f="tinymce/tableplugin/CellSelection",h="tinymce/dom/TreeWalker",p="tinymce/tableplugin/Plugin",g="tinymce/PluginManager";o(s,[c,d],function(e,t){function n(e,t){return parseInt(e.getAttribute(t)||1,10)}var o=e.each;return function(i,r){function l(){var e=0;k=[],o(["thead","tbody","tfoot"],function(t){var i=_.select("> "+t+" tr",r);o(i,function(i,r){r+=e,o(_.select("> td, > th",i),function(e,o){var i,l,a,s;if(k[r])for(;k[r][o];)o++;for(a=n(e,"rowspan"),s=n(e,"colspan"),l=r;r+a>l;l++)for(k[l]||(k[l]=[]),i=o;o+s>i;i++)k[l][i]={part:t,real:l==r&&i==o,elm:e,rowspan:a,colspan:s}})}),e+=i.length})}function a(e,t){return e=e.cloneNode(t),e.removeAttribute("id"),e}function s(e,t){var n;return n=k[t],n?n[e]:void 0}function c(e,t,n){e&&(n=parseInt(n,10),1===n?e.removeAttribute(t,1):e.setAttribute(t,n,1))}function d(e){return e&&(_.hasClass(e.elm,"mce-item-selected")||e==I)}function u(){var e=[];return o(r.rows,function(t){o(t.cells,function(n){return _.hasClass(n,"mce-item-selected")||n==I.elm?(e.push(t),!1):void 0})}),e}function m(){var e=_.createRng();e.setStartAfter(r),e.setEndAfter(r),D.setRng(e),_.remove(r)}function f(n){var r,l={};return i.settings.table_clone_elements!==!1&&(l=e.makeMap((i.settings.table_clone_elements||"strong em b i span font h1 h2 h3 h4 h5 h6 p div").toUpperCase(),/[ ,]/)),e.walk(n,function(e){var i;return 3==e.nodeType?(o(_.getParents(e.parentNode,null,n).reverse(),function(e){l[e.nodeName]&&(e=a(e,!1),r?i&&i.appendChild(e):r=i=e,i=e)}),i&&(i.innerHTML=t.ie?"&nbsp;":'<br data-mce-bogus="1" />'),!1):void 0},"childNodes"),n=a(n,!1),c(n,"rowSpan",1),c(n,"colSpan",1),r?n.appendChild(r):t.ie||(n.innerHTML='<br data-mce-bogus="1" />'),n}function h(){var e=_.createRng(),t;return o(_.select("tr",r),function(e){0===e.cells.length&&_.remove(e)}),0===_.select("tr",r).length?(e.setStartBefore(r),e.setEndBefore(r),D.setRng(e),_.remove(r),void 0):(o(_.select("thead,tbody,tfoot",r),function(e){0===e.rows.length&&_.remove(e)}),l(),t=k[Math.min(k.length-1,B.y)],t&&(D.select(t[Math.min(t.length-1,B.x)].elm,!0),D.collapse(!0)),void 0)}function p(e,t,n,o){var i,r,l,a,s;for(i=k[t][e].elm.parentNode,l=1;n>=l;l++)if(i=_.getNext(i,"tr")){for(r=e;r>=0;r--)if(s=k[t+l][r].elm,s.parentNode==i){for(a=1;o>=a;a++)_.insertAfter(f(s),s);break}if(-1==r)for(a=1;o>=a;a++)i.insertBefore(f(i.cells[0]),i.cells[0])}}function g(){o(k,function(e,t){o(e,function(e,o){var i,r,l;if(d(e)&&(e=e.elm,i=n(e,"colspan"),r=n(e,"rowspan"),i>1||r>1)){for(c(e,"rowSpan",1),c(e,"colSpan",1),l=0;i-1>l;l++)_.insertAfter(f(e),e);p(o,t,r-1,i)}})})}function b(t,n,i){var r,a,u,m,f,p,b,v,y,w,x;if(t?(r=T(t),a=r.x,u=r.y,m=a+(n-1),f=u+(i-1)):(B=M=null,o(k,function(e,t){o(e,function(e,n){d(e)&&(B||(B={x:n,y:t}),M={x:n,y:t})})}),a=B.x,u=B.y,m=M.x,f=M.y),v=s(a,u),y=s(m,f),v&&y&&v.part==y.part){for(g(),l(),v=s(a,u).elm,c(v,"colSpan",m-a+1),c(v,"rowSpan",f-u+1),b=u;f>=b;b++)for(p=a;m>=p;p++)k[b]&&k[b][p]&&(t=k[b][p].elm,t!=v&&(w=e.grep(t.childNodes),o(w,function(e){v.appendChild(e)}),w.length&&(w=e.grep(v.childNodes),x=0,o(w,function(e){"BR"==e.nodeName&&_.getAttrib(e,"data-mce-bogus")&&x++<w.length-1&&v.removeChild(e)})),_.remove(t)));h()}}function v(e){var t,i,r,l,s,u,m,h,p;for(o(k,function(n,i){return o(n,function(n){return d(n)&&(n=n.elm,s=n.parentNode,u=a(s,!1),t=i,e)?!1:void 0}),e?!t:void 0}),l=0;l<k[0].length;l++)if(k[t][l]&&(i=k[t][l].elm,i!=r)){if(e){if(t>0&&k[t-1][l]&&(h=k[t-1][l].elm,p=n(h,"rowSpan"),p>1)){c(h,"rowSpan",p+1);continue}}else if(p=n(i,"rowspan"),p>1){c(i,"rowSpan",p+1);continue}m=f(i),c(m,"colSpan",i.colSpan),u.appendChild(m),r=i}u.hasChildNodes()&&(e?s.parentNode.insertBefore(u,s):_.insertAfter(u,s))}function y(e){var t,i;o(k,function(n){return o(n,function(n,o){return d(n)&&(t=o,e)?!1:void 0}),e?!t:void 0}),o(k,function(o,r){var l,a,s;o[t]&&(l=o[t].elm,l!=i&&(s=n(l,"colspan"),a=n(l,"rowspan"),1==s?e?(l.parentNode.insertBefore(f(l),l),p(t,r,a-1,s)):(_.insertAfter(f(l),l),p(t,r,a-1,s)):c(l,"colSpan",l.colSpan+1),i=l))})}function w(){var t=[];o(k,function(i){o(i,function(i,r){d(i)&&-1===e.inArray(t,r)&&(o(k,function(e){var t=e[r].elm,o;o=n(t,"colSpan"),o>1?c(t,"colSpan",o-1):_.remove(t)}),t.push(r))})}),h()}function x(){function e(e){var t,i,r;t=_.getNext(e,"tr"),o(e.cells,function(e){var t=n(e,"rowSpan");t>1&&(c(e,"rowSpan",t-1),i=T(e),p(i.x,i.y,1,1))}),i=T(e.cells[0]),o(k[i.y],function(e){var t;e=e.elm,e!=r&&(t=n(e,"rowSpan"),1>=t?_.remove(e):c(e,"rowSpan",t-1),r=e)})}var t;t=u(),o(t.reverse(),function(t){e(t)}),h()}function C(){var e=u();return _.remove(e),h(),e}function S(){var e=u();return o(e,function(t,n){e[n]=a(t,!0)}),e}function R(e,t){var n=u(),i=n[t?0:n.length-1],r=i.cells.length;e&&(o(k,function(e){var t;return r=0,o(e,function(e){e.real&&(r+=e.colspan),e.elm.parentNode==i&&(t=1)}),t?!1:void 0}),t||e.reverse(),o(e,function(e){var n,o=e.cells.length,l;for(n=0;o>n;n++)l=e.cells[n],c(l,"colSpan",1),c(l,"rowSpan",1);for(n=o;r>n;n++)e.appendChild(f(e.cells[o-1]));for(n=r;o>n;n++)_.remove(e.cells[n]);t?i.parentNode.insertBefore(e,i):_.insertAfter(e,i)}),_.removeClass(_.select("td.mce-item-selected,th.mce-item-selected"),"mce-item-selected"))}function T(e){var t;return o(k,function(n,i){return o(n,function(n,o){return n.elm==e?(t={x:o,y:i},!1):void 0}),!t}),t}function N(e){B=T(e)}function P(){var e,t;return e=t=0,o(k,function(n,i){o(n,function(n,o){var r,l;d(n)&&(n=k[i][o],o>e&&(e=o),i>t&&(t=i),n.real&&(r=n.colspan-1,l=n.rowspan-1,r&&o+r>e&&(e=o+r),l&&i+l>t&&(t=i+l)))})}),{x:e,y:t}}function A(e){var t,n,o,i,r,l,a,s,c,d;if(M=T(e),B&&M){for(t=Math.min(B.x,M.x),n=Math.min(B.y,M.y),o=Math.max(B.x,M.x),i=Math.max(B.y,M.y),r=o,l=i,d=n;l>=d;d++)e=k[d][t],e.real||t-(e.colspan-1)<t&&(t-=e.colspan-1);for(c=t;r>=c;c++)e=k[n][c],e.real||n-(e.rowspan-1)<n&&(n-=e.rowspan-1);for(d=n;i>=d;d++)for(c=t;o>=c;c++)e=k[d][c],e.real&&(a=e.colspan-1,s=e.rowspan-1,a&&c+a>r&&(r=c+a),s&&d+s>l&&(l=d+s));for(_.removeClass(_.select("td.mce-item-selected,th.mce-item-selected"),"mce-item-selected"),d=n;l>=d;d++)for(c=t;r>=c;c++)k[d][c]&&_.addClass(k[d][c].elm,"mce-item-selected")}}var k,B,M,I,D=i.selection,_=D.dom;r=r||_.getParent(D.getStart(),"table"),l(),I=_.getParent(D.getStart(),"th,td"),I&&(B=T(I),M=P(),I=s(B.x,B.y)),e.extend(this,{deleteTable:m,split:g,merge:b,insertRow:v,insertCol:y,deleteCols:w,deleteRows:x,cutRows:C,copyRows:S,pasteRows:R,getPos:T,setStartCell:N,setEndCell:A})}}),o(u,[m,d,c],function(e,t,n){function o(e,t){return parseInt(e.getAttribute(t)||1,10)}var i=n.each;return function(n){function r(){function t(t){function r(e,o){var i=e?"previousSibling":"nextSibling",r=n.dom.getParent(o,"tr"),a=r[i];if(a)return g(n,o,a,e),t.preventDefault(),!0;var d=n.dom.getParent(r,"table"),u=r.parentNode,m=u.nodeName.toLowerCase();if("tbody"===m||m===(e?"tfoot":"thead")){var f=l(e,d,u,"tbody");if(null!==f)return s(e,f,o)}return c(e,r,i,d)}function l(e,t,o,i){var r=n.dom.select(">"+i,t),l=r.indexOf(o);if(e&&0===l||!e&&l===r.length-1)return a(e,t);if(-1===l){var s="thead"===o.tagName.toLowerCase()?0:r.length-1;return r[s]}return r[l+(e?-1:1)]}function a(e,t){var o=e?"thead":"tfoot",i=n.dom.select(">"+o,t);return 0!==i.length?i[0]:null}function s(e,o,i){var r=d(o,e);return r&&g(n,i,r,e),t.preventDefault(),!0}function c(e,o,i,l){var a=l[i];if(a)return u(a),!0;var s=n.dom.getParent(l,"td,th");if(s)return r(e,s,t);var c=d(o,!e);return u(c),t.preventDefault(),!1}function d(e,t){var o=e&&e[t?"lastChild":"firstChild"];return o&&"BR"===o.nodeName?n.dom.getParent(o,"td,th"):o}function u(e){n.selection.setCursorLocation(e,0)}function m(){return y==e.UP||y==e.DOWN}function f(e){var t=e.selection.getNode(),n=e.dom.getParent(t,"tr");return null!==n}function h(e){for(var t=0,n=e;n.previousSibling;)n=n.previousSibling,t+=o(n,"colspan");return t}function p(e,t){var n=0,r=0;return i(e.children,function(e,i){return n+=o(e,"colspan"),r=i,n>t?!1:void 0}),r}function g(e,t,o,i){var r=h(n.dom.getParent(t,"td,th")),l=p(o,r),a=o.childNodes[l],s=d(a,i);u(s||a)}function b(e){var t=n.selection.getNode(),o=n.dom.getParent(t,"td,th"),i=n.dom.getParent(e,"td,th");return o&&o!==i&&v(o,i)}function v(e,t){return n.dom.getParent(e,"TABLE")===n.dom.getParent(t,"TABLE")}var y=t.keyCode;if(m()&&f(n)){var w=n.selection.getNode();setTimeout(function(){b(w)&&r(!t.shiftKey&&y===e.UP,w,t)},0)}}n.on("KeyDown",function(e){t(e)})}function l(){function e(e,t){var n=t.ownerDocument,o=n.createRange(),i;return o.setStartBefore(t),o.setEnd(e.endContainer,e.endOffset),i=n.createElement("body"),i.appendChild(o.cloneContents()),0===i.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi,"-").replace(/<[^>]+>/g,"").length}n.on("KeyDown",function(t){var o,i,r=n.dom;(37==t.keyCode||38==t.keyCode)&&(o=n.selection.getRng(),i=r.getParent(o.startContainer,"table"),i&&n.getBody().firstChild==i&&e(o,i)&&(o=r.createRng(),o.setStartBefore(i),o.setEndBefore(i),n.selection.setRng(o),t.preventDefault()))})}function a(){n.on("KeyDown SetContent VisualAid",function(){var e;for(e=n.getBody().lastChild;e;e=e.previousSibling)if(3==e.nodeType){if(e.nodeValue.length>0)break}else if(1==e.nodeType&&!e.getAttribute("data-mce-bogus"))break;e&&"TABLE"==e.nodeName&&(n.settings.forced_root_block?n.dom.add(n.getBody(),n.settings.forced_root_block,null,t.ie?"&nbsp;":'<br data-mce-bogus="1" />'):n.dom.add(n.getBody(),"br",{"data-mce-bogus":"1"}))}),n.on("PreProcess",function(e){var t=e.node.lastChild;t&&("BR"==t.nodeName||1==t.childNodes.length&&("BR"==t.firstChild.nodeName||"\xa0"==t.firstChild.nodeValue))&&t.previousSibling&&"TABLE"==t.previousSibling.nodeName&&n.dom.remove(t)})}function s(){function e(e,t,n,o){var i=3,r=e.dom.getParent(t.startContainer,"TABLE"),l,a,s;return r&&(l=r.parentNode),a=t.startContainer.nodeType==i&&0===t.startOffset&&0===t.endOffset&&o&&("TR"==n.nodeName||n==l),s=("TD"==n.nodeName||"TH"==n.nodeName)&&!o,a||s}function t(){var t=n.selection.getRng(),o=n.selection.getNode(),i=n.dom.getParent(t.startContainer,"TD,TH");if(e(n,t,o,i)){i||(i=o);for(var r=i.lastChild;r.lastChild;)r=r.lastChild;t.setEnd(r,r.nodeValue.length),n.selection.setRng(t)}}n.on("KeyDown",function(){t()}),n.on("MouseDown",function(e){2!=e.button&&t()})}t.webkit&&(r(),s()),t.gecko&&(l(),a())}}),o(f,[s,h,c],function(e,t,n){return function(o){function i(){o.getBody().style.webkitUserSelect="",d&&(o.dom.removeClass(o.dom.select("td.mce-item-selected,th.mce-item-selected"),"mce-item-selected"),d=!1)}function r(t){var n,i,r=t.target;if(s&&(a||r!=s)&&("TD"==r.nodeName||"TH"==r.nodeName)){i=l.getParent(r,"table"),i==c&&(a||(a=new e(o,i),a.setStartCell(s),o.getBody().style.webkitUserSelect="none"),a.setEndCell(r),d=!0),n=o.selection.getSel();try{n.removeAllRanges?n.removeAllRanges():n.empty()}catch(u){}t.preventDefault()}}var l=o.dom,a,s,c,d=!0;return o.on("MouseDown",function(e){2!=e.button&&(i(),s=l.getParent(e.target,"td,th"),c=l.getParent(s,"table"))}),l.bind(o.getDoc(),"mouseover",r),o.on("remove",function(){l.unbind(o.getDoc(),"mouseover",r)}),o.on("MouseUp",function(){function e(e,o){var r=new t(e,e);do{if(3==e.nodeType&&0!==n.trim(e.nodeValue).length)return o?i.setStart(e,0):i.setEnd(e,e.nodeValue.length),void 0;if("BR"==e.nodeName)return o?i.setStartBefore(e):i.setEndBefore(e),void 0}while(e=o?r.next():r.prev())}var i,r=o.selection,d,u,m,f,h;if(s){if(a&&(o.getBody().style.webkitUserSelect=""),d=l.select("td.mce-item-selected,th.mce-item-selected"),d.length>0){i=l.createRng(),m=d[0],h=d[d.length-1],i.setStartBefore(m),i.setEndAfter(m),e(m,1),u=new t(m,l.getParent(d[0],"table"));do if("TD"==m.nodeName||"TH"==m.nodeName){if(!l.hasClass(m,"mce-item-selected"))break;f=m}while(m=u.next());e(f),r.setRng(i)}o.nodeChanged(),s=a=c=null}}),o.on("KeyUp",function(){i()}),{clear:i}}}),o(p,[s,u,f,c,h,d,g],function(e,t,n,o,i,r,l){function a(o){function i(e){return e?e.replace(/px$/,""):""}function l(e){return/^[0-9]+$/.test(e)&&(e+="px"),e}function a(e){s("left center right".split(" "),function(t){o.formatter.remove("align"+t,{},e)})}function c(){var e=o.dom,t,n,c;t=o.dom.getParent(o.selection.getStart(),"table"),c=!1,n={width:i(e.getStyle(t,"width")||e.getAttrib(t,"width")),height:i(e.getStyle(t,"height")||e.getAttrib(t,"height")),cellspacing:e.getAttrib(t,"cellspacing"),cellpadding:e.getAttrib(t,"cellpadding"),border:e.getAttrib(t,"border"),caption:!!e.select("caption",t)[0]},s("left center right".split(" "),function(e){o.formatter.matchNode(t,"align"+e)&&(n.align=e)}),o.windowManager.open({title:"Table properties",items:{type:"form",layout:"grid",columns:2,data:n,defaults:{type:"textbox",maxWidth:50},items:[c?{label:"Cols",name:"cols",disabled:!0}:null,c?{label:"Rows",name:"rows",disabled:!0}:null,{label:"Width",name:"width"},{label:"Height",name:"height"},{label:"Cell spacing",name:"cellspacing"},{label:"Cell padding",name:"cellpadding"},{label:"Border",name:"border"},{label:"Caption",name:"caption",type:"checkbox"},{label:"Alignment",minWidth:90,name:"align",type:"listbox",text:"None",maxWidth:null,values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]}]},onsubmit:function(){var n=this.toJSON(),i;o.undoManager.transact(function(){o.dom.setAttribs(t,{cellspacing:n.cellspacing,cellpadding:n.cellpadding,border:n.border}),o.dom.setStyles(t,{width:l(n.width),height:l(n.height)}),i=e.select("caption",t)[0],i&&!n.caption&&e.remove(i),!i&&n.caption&&(i=e.create("caption"),r.ie||(i.innerHTML='<br data-mce-bogus="1"/>'),t.insertBefore(i,t.firstChild)),a(t),n.align&&o.formatter.apply("align"+n.align,{},t),o.focus(),o.addVisual()})}})}function d(e,t){o.windowManager.open({title:"Merge cells",body:[{label:"Cols",name:"cols",type:"textbox",size:10},{label:"Rows",name:"rows",type:"textbox",size:10}],onsubmit:function(){var n=this.toJSON();o.undoManager.transact(function(){e.merge(t,n.cols,n.rows)})}})}function u(){var e=o.dom,t,n,r=[];r=o.dom.select("td.mce-item-selected,th.mce-item-selected"),t=o.dom.getParent(o.selection.getStart(),"td,th"),!r.length&&t&&r.push(t),t=t||r[0],n={width:i(e.getStyle(t,"width")||e.getAttrib(t,"width")),height:i(e.getStyle(t,"height")||e.getAttrib(t,"height")),scope:e.getAttrib(t,"scope")},n.type=t.nodeName.toLowerCase(),s("left center right".split(" "),function(e){o.formatter.matchNode(t,"align"+e)&&(n.align=e)}),o.windowManager.open({title:"Cell properties",items:{type:"form",data:n,layout:"grid",columns:2,defaults:{type:"textbox",maxWidth:50},items:[{label:"Width",name:"width"},{label:"Height",name:"height"},{label:"Cell type",name:"type",type:"listbox",text:"None",minWidth:90,maxWidth:null,menu:[{text:"Cell",value:"td"},{text:"Header cell",value:"th"}]},{label:"Scope",name:"scope",type:"listbox",text:"None",minWidth:90,maxWidth:null,menu:[{text:"None",value:""},{text:"Row",value:"row"},{text:"Column",value:"col"},{text:"Row group",value:"rowgroup"},{text:"Column group",value:"colgroup"}]},{label:"Alignment",name:"align",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]}]},onsubmit:function(){var t=this.toJSON();o.undoManager.transact(function(){s(r,function(n){o.dom.setAttrib(n,"scope",t.scope),o.dom.setStyles(n,{width:l(t.width),height:l(t.height)}),t.type&&n.nodeName.toLowerCase()!=t.type&&(n=e.rename(n,t.type)),a(n),t.align&&o.formatter.apply("align"+t.align,{},n)}),o.focus()})}})}function m(){var e=o.dom,t,n,r,c,d=[];t=o.dom.getParent(o.selection.getStart(),"table"),n=o.dom.getParent(o.selection.getStart(),"td,th"),s(t.rows,function(t){s(t.cells,function(o){return e.hasClass(o,"mce-item-selected")||o==n?(d.push(t),!1):void 0})}),r=d[0],c={height:i(e.getStyle(r,"height")||e.getAttrib(r,"height")),scope:e.getAttrib(r,"scope")},c.type=r.parentNode.nodeName.toLowerCase(),s("left center right".split(" "),function(e){o.formatter.matchNode(r,"align"+e)&&(c.align=e)}),o.windowManager.open({title:"Row properties",items:{type:"form",data:c,columns:2,defaults:{type:"textbox"},items:[{type:"listbox",name:"type",label:"Row type",text:"None",maxWidth:null,menu:[{text:"Header",value:"thead"},{text:"Body",value:"tbody"},{text:"Footer",value:"tfoot"}]},{type:"listbox",name:"align",label:"Alignment",text:"None",maxWidth:null,menu:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]},{label:"Height",name:"height"}]},onsubmit:function(){var t=this.toJSON(),n,i,r;o.undoManager.transact(function(){var c=t.type;s(d,function(s){o.dom.setAttrib(s,"scope",t.scope),o.dom.setStyles(s,{height:l(t.height)}),c!=s.parentNode.nodeName.toLowerCase()&&(n=e.getParent(s,"table"),i=s.parentNode,r=e.select(c,n)[0],r||(r=e.create(c),n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r)),r.appendChild(s),i.hasChildNodes()||e.remove(i)),a(s),t.align&&o.formatter.apply("align"+t.align,{},s)}),o.focus()})}})}function f(e){return function(){o.execCommand(e)}}function h(e,t){var n,i,l;for(l="<table><tbody>",n=0;t>n;n++){for(l+="<tr>",i=0;e>i;i++)l+="<td>"+(r.ie?" ":"<br>")+"</td>";l+="</tr>"}l+="</tbody></table>",o.insertContent(l)}function p(e,t){function n(){e.disabled(!o.dom.getParent(o.selection.getStart(),t)),o.selection.selectorChanged(t,function(t){e.disabled(!t)})}o.initialized?n():o.on("init",n)}function g(){p(this,"table")}function b(){p(this,"td,th")}function v(){var e="";e='<table role="presentation" class="mce-grid mce-grid-border">';for(var t=0;10>t;t++){e+="<tr>";for(var n=0;10>n;n++)e+='<td><a href="#" data-mce-index="'+n+","+t+'"></a></td>';e+="</tr>"}return e+="</table>",e+='<div class="mce-text-center">0 x 0</div>'}var y,w,x=this;o.addMenuItem("inserttable",{text:"Insert table",icon:"table",context:"table",onhide:function(){o.dom.removeClass(this.menu.items()[0].getEl().getElementsByTagName("a"),"mce-active")},menu:[{type:"container",html:v(),onmousemove:function(e){var t=e.target;if("A"==t.nodeName){var n=o.dom.getParent(t,"table"),i=t.getAttribute("data-mce-index");if(i!=this.lastPos){i=i.split(","),i[0]=parseInt(i[0],10),i[1]=parseInt(i[1],10);for(var r=0;10>r;r++)for(var l=0;10>l;l++)o.dom.toggleClass(n.rows[r].childNodes[l].firstChild,"mce-active",l<=i[0]&&r<=i[1]);n.nextSibling.innerHTML=i[0]+1+" x "+(i[1]+1),this.lastPos=i}}},onclick:function(e){"A"==e.target.nodeName&&this.lastPos&&(e.preventDefault(),h(this.lastPos[0]+1,this.lastPos[1]+1),this.parent().cancel())}}]}),o.addMenuItem("tableprops",{text:"Table properties",context:"table",onPostRender:g,onclick:c}),o.addMenuItem("deletetable",{text:"Delete table",context:"table",onPostRender:g,cmd:"mceTableDelete"}),o.addMenuItem("cell",{separator:"before",text:"Cell",context:"table",menu:[{text:"Cell properties",onclick:f("mceTableCellProps"),onPostRender:b},{text:"Merge cells",onclick:f("mceTableMergeCells"),onPostRender:b},{text:"Split cell",onclick:f("mceTableSplitCells"),onPostRender:b}]}),o.addMenuItem("row",{text:"Row",context:"table",menu:[{text:"Insert row before",onclick:f("mceTableInsertRowBefore"),onPostRender:b},{text:"Insert row after",onclick:f("mceTableInsertRowAfter"),onPostRender:b},{text:"Delete row",onclick:f("mceTableDeleteRow"),onPostRender:b},{text:"Row properties",onclick:f("mceTableRowProps"),onPostRender:b},{text:"-"},{text:"Cut row",onclick:f("mceTableCutRow"),onPostRender:b},{text:"Copy row",onclick:f("mceTableCopyRow"),onPostRender:b},{text:"Paste row before",onclick:f("mceTablePasteRowBefore"),onPostRender:b},{text:"Paste row after",onclick:f("mceTablePasteRowAfter"),onPostRender:b}]}),o.addMenuItem("column",{text:"Column",context:"table",menu:[{text:"Insert column before",onclick:f("mceTableInsertColBefore"),onPostRender:b},{text:"Insert column after",onclick:f("mceTableInsertColAfter"),onPostRender:b},{text:"Delete column",onclick:f("mceTableDeleteCol"),onPostRender:b}]});var C=[];s("inserttable tableprops deletetable | cell row column".split(" "),function(e){"|"==e?C.push({text:"-"}):C.push(o.menuItems[e])}),o.addButton("table",{type:"menubutton",title:"Table",menu:C}),r.isIE||o.on("click",function(e){e=e.target,"TABLE"===e.nodeName&&(o.selection.select(e),o.nodeChanged())}),x.quirks=new t(o),o.on("Init",function(){y=o.windowManager,x.cellSelection=new n(o)}),s({mceTableSplitCells:function(e){e.split()},mceTableMergeCells:function(e){var t,n,i;i=o.dom.getParent(o.selection.getStart(),"th,td"),i&&(t=i.rowSpan,n=i.colSpan),o.dom.select("td.mce-item-selected,th.mce-item-selected").length?e.merge():d(e,i)},mceTableInsertRowBefore:function(e){e.insertRow(!0)},mceTableInsertRowAfter:function(e){e.insertRow()},mceTableInsertColBefore:function(e){e.insertCol(!0)},mceTableInsertColAfter:function(e){e.insertCol()},mceTableDeleteCol:function(e){e.deleteCols()},mceTableDeleteRow:function(e){e.deleteRows()},mceTableCutRow:function(e){w=e.cutRows()},mceTableCopyRow:function(e){w=e.copyRows()},mceTablePasteRowBefore:function(e){e.pasteRows(w,!0)},mceTablePasteRowAfter:function(e){e.pasteRows(w)},mceTableDelete:function(e){e.deleteTable()}},function(t,n){o.addCommand(n,function(){var n=new e(o);n&&(t(n),o.execCommand("mceRepaint"),x.cellSelection.clear())})}),s({mceInsertTable:function(){c()},mceTableRowProps:m,mceTableCellProps:u},function(e,t){o.addCommand(t,function(t,n){e(n)})})}var s=o.each;l.add("table",a)}),l([s,u,f,p])}(this);