N){N=x+Q}}if(R){if(y+R>M){M=y+R}}}}}G.removeClass(G.select("td.mceSelected,th.mceSelected"),"mceSelected");for(y=O;y<=M;y++){for(x=P;x<=N;x++){if(f[y][x]){G.addClass(f[y][x].elm,"mceSelected")}}}}}c.extend(this,{deleteTable:r,split:C,merge:p,insertRow:l,insertCol:g,deleteCols:n,deleteRows:m,cutRows:E,copyRows:J,pasteRows:B,getPos:F,setStartCell:w,setEndCell:v})}c.create("tinymce.plugins.TablePlugin",{init:function(f,g){var e,l,h=true;function k(o){var n=f.selection,m=f.dom.getParent(o||n.getNode(),"table");if(m){return new a(m,f.dom,n)}}function j(){f.getBody().style.webkitUserSelect="";if(h){f.dom.removeClass(f.dom.select("td.mceSelected,th.mceSelected"),"mceSelected");h=false}}d([["table","table.desc","mceInsertTable",true],["delete_table","table.del","mceTableDelete"],["delete_col","table.delete_col_desc","mceTableDeleteCol"],["delete_row","table.delete_row_desc","mceTableDeleteRow"],["col_after","table.col_after_desc","mceTableInsertColAfter"],["col_before","table.col_before_desc","mceTableInsertColBefore"],["row_after","table.row_after_desc","mceTableInsertRowAfter"],["row_before","table.row_before_desc","mceTableInsertRowBefore"],["row_props","table.row_desc","mceTableRowProps",true],["cell_props","table.cell_desc","mceTableCellProps",true],["split_cells","table.split_cells_desc","mceTableSplitCells",true],["merge_cells","table.merge_cells_desc","mceTableMergeCells",true]],function(m){f.addButton(m[0],{title:m[1],cmd:m[2],ui:m[3]})});if(!c.isIE){f.onClick.add(function(m,n){n=n.target;if(n.nodeName==="TABLE"){m.selection.select(n);m.nodeChanged()}})}f.onPreProcess.add(function(n,o){var m,p,q,s=n.dom,r;m=s.select("table",o.node);p=m.length;while(p--){q=m[p];s.setAttrib(q,"data-mce-style","");if((r=s.getAttrib(q,"width"))){s.setStyle(q,"width",r);s.setAttrib(q,"width","")}if((r=s.getAttrib(q,"height"))){s.setStyle(q,"height",r);s.setAttrib(q,"height","")}}});f.onNodeChange.add(function(o,m,r){var q;r=o.selection.getStart();q=o.dom.getParent(r,"td,th,caption");m.setActive("table",r.nodeName==="TABLE"||!!q);if(q&&q.nodeName==="CAPTION"){q=0}m.setDisabled("delete_table",!q);m.setDisabled("delete_col",!q);m.setDisabled("delete_table",!q);m.setDisabled("delete_row",!q);m.setDisabled("col_after",!q);m.setDisabled("col_before",!q);m.setDisabled("row_after",!q);m.setDisabled("row_before",!q);m.setDisabled("row_props",!q);m.setDisabled("cell_props",!q);m.setDisabled("split_cells",!q);m.setDisabled("merge_cells",!q)});f.onInit.add(function(p){var m,s,t=p.dom,q;e=p.windowManager;p.onMouseDown.add(function(u,v){if(v.button!=2){j();s=t.getParent(v.target,"td,th");m=t.getParent(s,"table")}});t.bind(p.getDoc(),"mouseover",function(A){var w,v,z=A.target;if(s&&(q||z!=s)&&(z.nodeName=="TD"||z.nodeName=="TH")){v=t.getParent(z,"table");if(v==m){if(!q){q=k(v);q.setStartCell(s);p.getBody().style.webkitUserSelect="none"}q.setEndCell(z);h=true}w=p.selection.getSel();try{if(w.removeAllRanges){w.removeAllRanges()}else{w.empty()}}catch(u){}A.preventDefault()}});p.onMouseUp.add(function(D,E){var v,z=D.selection,F,G=z.getSel(),u,A,w,C;if(s){if(q){D.getBody().style.webkitUserSelect=""}function B(H,J){var I=new c.dom.TreeWalker(H,H);do{if(H.nodeType==3&&c.trim(H.nodeValue).length!=0){if(J){v.setStart(H,0)}else{v.setEnd(H,H.nodeValue.length)}return}if(H.nodeName=="BR"){if(J){v.setStartBefore(H)}else{v.setEndBefore(H)}return}}while(H=(J?I.next():I.prev()))}F=t.select("td.mceSelected,th.mceSelected");if(F.length>0){v=t.createRng();A=F[0];C=F[F.length-1];v.setStartBefore(A);v.setEndAfter(A);B(A,1);u=new c.dom.TreeWalker(A,t.getParent(F[0],"table"));do{if(A.nodeName=="TD"||A.nodeName=="TH"){if(!t.hasClass(A,"mceSelected")){break}w=A}}while(A=u.next());B(w);z.setRng(v)}D.nodeChanged();s=q=m=null}});p.onKeyUp.add(function(u,v){j()});p.onKeyDown.add(function(u,v){n(u)});p.onMouseDown.add(function(u,v){if(v.button!=2){n(u)}});function o(B,v,w,D){var z=3,E=B.dom.getParent(v.startContainer,"TABLE"),A,u,C;if(E){A=E.parentNode}u=v.startContainer.nodeType==z&&v.startOffset==0&&v.endOffset==0&&D&&(w.nodeName=="TR"||w==A);C=(w.nodeName=="TD"||w.nodeName=="TH")&&!D;return u||C}function n(w){if(!c.isWebKit){return}var v=w.selection.getRng();var A=w.selection.getNode();var z=w.dom.getParent(v.startContainer,"TD");if(!o(w,v,A,z)){return}if(!z){z=A}var u=z.lastChild;while(u.lastChild){u=u.lastChild}v.setEnd(u,u.nodeValue.length);w.selection.setRng(v)}p.plugins.table.fixTableCellSelection=n;if(p&&p.plugins.contextmenu){p.plugins.contextmenu.onContextMenu.add(function(w,u,A){var B,z=p.selection,v=z.getNode()||p.getBody();if(p.dom.getParent(A,"td")||p.dom.getParent(A,"th")||p.dom.select("td.mceSelected,th.mceSelected").length){u.removeAll();if(v.nodeName=="A"&&!p.dom.getAttrib(v,"name")){u.add({title:"advanced.link_desc",icon:"link",cmd:p.plugins.advlink?"mceAdvLink":"mceLink",ui:true});u.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"});u.addSeparator()}if(v.nodeName=="IMG"&&v.className.indexOf("mceItem")==-1){u.add({title:"advanced.image_desc",icon:"image",cmd:p.plugins.advimage?"mceAdvImage":"mceImage",ui:true});u.addSeparator()}u.add({title:"table.desc",icon:"table",cmd:"mceInsertTable",value:{action:"insert"}});u.add({title:"table.props_desc",icon:"table_props",cmd:"mceInsertTable"});u.add({title:"table.del",icon:"delete_table",cmd:"mceTableDelete"});u.addSeparator();B=u.addMenu({title:"table.cell"});B.add({title:"table.cell_desc",icon:"cell_props",cmd:"mceTableCellProps"});B.add({title:"table.split_cells_desc",icon:"split_cells",cmd:"mceTableSplitCells"});B.add({title:"table.merge_cells_desc",icon:"merge_cells",cmd:"mceTableMergeCells"});B=u.addMenu({title:"table.row"});B.add({title:"table.row_desc",icon:"row_props",cmd:"mceTableRowProps"});B.add({title:"table.row_before_desc",icon:"row_before",cmd:"mceTableInsertRowBefore"});B.add({title:"table.row_after_desc",icon:"row_after",cmd:"mceTableInsertRowAfter"});B.add({title:"table.delete_row_desc",icon:"delete_row",cmd:"mceTableDeleteRow"});B.addSeparator();B.add({title:"table.cut_row_desc",icon:"cut",cmd:"mceTableCutRow"});B.add({title:"table.copy_row_desc",icon:"copy",cmd:"mceTableCopyRow"});B.add({title:"table.paste_row_before_desc",icon:"paste",cmd:"mceTablePasteRowBefore"}).setDisabled(!l);B.add({title:"table.paste_row_after_desc",icon:"paste",cmd:"mceTablePasteRowAfter"}).setDisabled(!l);B=u.addMenu({title:"table.col"});B.add({title:"table.col_before_desc",icon:"col_before",cmd:"mceTableInsertColBefore"});B.add({title:"table.col_after_desc",icon:"col_after",cmd:"mceTableInsertColAfter"});B.add({title:"table.delete_col_desc",icon:"delete_col",cmd:"mceTableDeleteCol"})}else{u.add({title:"table.desc",icon:"table",cmd:"mceInsertTable"})}})}if(!c.isIE){function r(){var u;for(u=p.getBody().lastChild;u&&u.nodeType==3&&!u.nodeValue.length;u=u.previousSibling){}if(u&&u.nodeName=="TABLE"){p.dom.add(p.getBody(),"p",null,'
')}}if(c.isGecko){p.onKeyDown.add(function(v,z){var u,w,A=v.dom;if(z.keyCode==37||z.keyCode==38){u=v.selection.getRng();w=A.getParent(u.startContainer,"table");if(w&&v.getBody().firstChild==w){if(b(u,w)){u=A.createRng();u.setStartBefore(w);u.setEndBefore(w);v.selection.setRng(u);z.preventDefault()}}}})}p.onKeyUp.add(r);p.onSetContent.add(r);p.onVisualAid.add(r);p.onPreProcess.add(function(u,w){var v=w.node.lastChild;if(v&&v.childNodes.length==1&&v.firstChild.nodeName=="BR"){u.dom.remove(v)}});r()}});d({mceTableSplitCells:function(m){m.split()},mceTableMergeCells:function(n){var o,p,m;m=f.dom.getParent(f.selection.getNode(),"th,td");if(m){o=m.rowSpan;p=m.colSpan}if(!f.dom.select("td.mceSelected,th.mceSelected").length){e.open({url:g+"/merge_cells.htm",width:240+parseInt(f.getLang("table.merge_cells_delta_width",0)),height:110+parseInt(f.getLang("table.merge_cells_delta_height",0)),inline:1},{rows:o,cols:p,onaction:function(q){n.merge(m,q.cols,q.rows)},plugin_url:g})}else{n.merge()}},mceTableInsertRowBefore:function(m){m.insertRow(true)},mceTableInsertRowAfter:function(m){m.insertRow()},mceTableInsertColBefore:function(m){m.insertCol(true)},mceTableInsertColAfter:function(m){m.insertCol()},mceTableDeleteCol:function(m){m.deleteCols()},mceTableDeleteRow:function(m){m.deleteRows()},mceTableCutRow:function(m){l=m.cutRows()},mceTableCopyRow:function(m){l=m.copyRows()},mceTablePasteRowBefore:function(m){m.pasteRows(l,true)},mceTablePasteRowAfter:function(m){m.pasteRows(l)},mceTableDelete:function(m){m.deleteTable()}},function(n,m){f.addCommand(m,function(){var o=k();if(o){n(o);f.execCommand("mceRepaint");j()}})});d({mceInsertTable:function(m){e.open({url:g+"/table.htm",width:400+parseInt(f.getLang("table.table_delta_width",0)),height:320+parseInt(f.getLang("table.table_delta_height",0)),inline:1},{plugin_url:g,action:m?m.action:0})},mceTableRowProps:function(){e.open({url:g+"/row.htm",width:400+parseInt(f.getLang("table.rowprops_delta_width",0)),height:295+parseInt(f.getLang("table.rowprops_delta_height",0)),inline:1},{plugin_url:g})},mceTableCellProps:function(){e.open({url:g+"/cell.htm",width:400+parseInt(f.getLang("table.cellprops_delta_width",0)),height:295+parseInt(f.getLang("table.cellprops_delta_height",0)),inline:1},{plugin_url:g})}},function(n,m){f.addCommand(m,function(o,p){n(p)})})}});c.PluginManager.add("table",c.plugins.TablePlugin)})(tinymce);