Type.registerNamespace("Telerik.Web.UI");
Telerik.Web.UI.LayoutBuilderEngine=function(_1){
this._selectedTable=null;
this._selectedCell=null;
this._selectedRow=null;
this._selectedRowCells=[];
this._selectedRowIndex=null;
this._tableState=[];
this._tableStateRowsCount=0;
this._tableStateColsCount=0;
this._tableStateId="LayoutBuilder_tableState_dump";
this._tableStateTableStyle="radtblder_stateMatrixTable";
this._tableStateCellStyle="radtblder_stateMatrixCell";
this._selectedCellClassName="";
this._states=[];
this._currentStateIndex=-1;
this.set_selectedTable(_1);
if(this._selectedTable){
this.set_selectedCell();
}
if(!_1){
_1=document.createElement("TABLE");
}
Telerik.Web.UI.LayoutBuilderEngine.initializeBase(this,[_1]);
};
Telerik.Web.UI.LayoutBuilderEngine.prototype={get_selectedTable:function(){
return this._selectedTable;
},set_selectedTable:function(_2){
this._selectedTable=null;
if(_2&&_2.tagName=="TABLE"){
this._selectedTable=_2;
this._setTableState();
}
},get_selectedCell:function(){
return this._selectedCell;
},set_selectedCell:function(_3,_4){
if(!this._selectedTable||this._selectedTable.tagName!="TABLE"){
return;
}
if(!_3){
_3=this._selectedTable.rows[0].cells[0];
}
if(_3.tagName=="TD"||_3.tagName=="TH"){
if(this._selectedCell!=_3){
this._selectedCellClassName=_3.className;
}
this._selectedCell=_3;
}else{
this._selectedCell=null;
}
if(this._selectedCell){
this.set_selectedRow();
}
if(this._selectedCell&&(false!=_4)&&this._currentStateIndex==-1){
if(this._states.length==1&&this._states[0]["commandName"]=="selection"){
this._states=[];
}
var _5={commandName:"selection",selectedColIndex:this._selectedCell.cellIndex,selectedRowIndex:this._selectedRowIndex,nextSelectedColIndex:this._selectedCell.cellIndex,nextSelectedRowIndex:this._selectedRowIndex};
this._storeState(_5);
}
},set_selectedRow:function(){
if(this._selectedCell){
this._selectedRow=this._selectedCell.parentNode;
if(this._selectedRow){
this._selectedRowCells=this._selectedRow.cells;
this._selectedRowIndex=this._selectedRow.rowIndex;
}else{
this._selectedRowCells=null;
this._selectedRowIndex=null;
}
}
},_raiseException:function(_6){
},_initializesTableStateCounts:function(){
var _7=this._selectedTable.rows;
var _8=_7.length;
var _9=0;
for(var i=0;i<_8;i++){
var _b=0;
var _c=_7[i].cells;
var _d=_c.length;
for(var j=0;j<_d;j++){
_b+=this._getColSpan(_c[j]);
}
if(_9<_b){
_9=_b;
}
}
this._tableStateRowsCount=_8;
this._tableStateColsCount=_9;
},dumpState:function(){
var _f=document.createElement("Table");
var _10=$get(this._tableStateId);
if(_10){
_10.parentNode.removeChild(_10);
}
_f.id=this._tableStateId;
_f.className=this._tableStateTableStyle;
var _11=this._tableState.length;
for(i=0;i<_11;i++){
var _12=this._tableState[i].length;
var tr=_f.insertRow(i);
for(j=0;j<_12;j++){
var td=tr.insertCell(j);
td.className=this._tableStateCellStyle;
td.innerHTML=this._tableState[i][j];
}
}
this._selectedTable.parentNode.appendChild(_f);
},_initializesTableState:function(_15,_16){
for(var i=0;i<_15;i++){
this._tableState[i]=[];
for(var j=0;j<_16;j++){
this._tableState[i][j]="";
}
}
},_processTD:function(td,_1a,_1b){
var _1c=this._getRowSpan(td);
var _1d=this._getColSpan(td);
for(var i=0;i<_1c;i++){
for(var j=0;j<_1d;j++){
this._tableState[_1a+i][_1b+j]=td.parentNode.rowIndex+","+td.cellIndex;
}
}
},_setTableState:function(){
this._tableState=[];
this._initializesTableStateCounts();
this._initializesTableState(this._tableStateRowsCount,this._tableStateColsCount);
var _20=this._selectedTable.rows;
var _21=_20.length;
for(var _22=0;_22<_21;_22++){
var _23=0;
var _24=_20[_22].cells;
var _25=_24.length;
for(var _26=0;_26<_25;_26++){
while(this._tableState[_22][_23]){
_23++;
}
this._processTD(_24[_26],_22,_23);
}
}
},_getStateValueIndexes:function(row,col){
var _29={};
var _2a=this._tableState[row][col];
if(_2a){
var _2b=_2a.split(",");
if(_2b.length==2){
_29["rowIndex"]=parseInt(_2b[0]);
_29["colIndex"]=parseInt(_2b[1]);
}
}
return _29;
},_getSelectedTableCellByStateIndexes:function(row,col){
var _2e=this._getStateValueIndexes(row,col);
var _2f=_2e["rowIndex"];
var row=this._selectedTable.rows[_2f];
return row.cells[_2e["colIndex"]];
},_getLeftTopStateIndexes:function(_30,_31){
var _32={};
var _33=_30+","+_31;
for(var row=0;row<this._tableStateRowsCount;row++){
var _35=false;
for(var col=0;col<this._tableStateColsCount;col++){
if(this._tableState[row][col]==_33){
_32["rowIndex"]=row;
_32["colIndex"]=col;
_35=true;
break;
}
}
if(_35){
break;
}
}
return _32;
},_getRightTopStateIndexes:function(_37,_38){
var _39={};
var _3a=_37+","+_38;
for(var row=0;row<this._tableStateRowsCount;row++){
var _3c=false;
for(var col=this._tableStateColsCount-1;col>-1;col--){
if(this._tableState[row][col]==_3a){
_39["rowIndex"]=row;
_39["colIndex"]=col;
_3c=true;
break;
}
}
if(_3c){
break;
}
}
return _39;
},_getLeftBottomStateIndexes:function(_3e,_3f){
var _40={};
var _41=_3e+","+_3f;
for(var row=(this._tableStateRowsCount-1);row>-1;row--){
var _43=false;
for(var col=0;col<this._tableStateColsCount;col++){
if(this._tableState[row][col]==_41){
_40["rowIndex"]=row;
_40["colIndex"]=col;
_43=true;
break;
}
}
if(_43){
break;
}
}
return _40;
},_insertRow:function(_45){
var _46=null;
if(this._selectedCell.tagName=="TH"){
if(this._selectedRow){
_46=this._selectedRow.parentNode.insertRow(_45);
}
}else{
_46=this._selectedTable.insertRow(_45);
}
return _46;
},_insertCell:function(row,_48,_49,_4a){
if(!_48){
_48=0;
}
var _4b=null;
if(row&&row.tagName=="TR"){
var _4c=row.parentNode;
if(_4c.tagName=="THEAD"){
var _4d=row.document?row.document:row.ownerDocument;
_4b=_4d.createElement("TH");
if(_49){
_4b.innerHTML=_49;
}
if(row.cells.length==_48){
row.appendChild(_4b);
}else{
var _4e=row.cells[_48];
if(_4e){
row.insertBefore(_4b,_4e);
}
}
}else{
_4b=row.insertCell(_48);
if(_49){
_4b.innerHTML=_49;
}
}
$telerik.mergeElementAttributes(_4a,_4b);
this._cleanNewCellAttributes(_4b);
}
return _4b;
},_cleanNewCellAttributes:function(_4f){
if(!_4f){
return;
}
_4f.removeAttribute("rowSpan");
_4f.removeAttribute("colSpan");
_4f.removeAttribute("name");
_4f.removeAttribute("ID");
},_getRowSpan:function(_50){
if(_50){
var _51=parseInt(_50.getAttribute("rowSpan"));
if(isNaN(_51)){
_51=1;
}
return _51;
}
return 0;
},_getColSpan:function(_52){
if(_52){
var _53=parseInt(_52.getAttribute("colSpan"));
if(isNaN(_53)){
_53=1;
}
return _53;
}
return 0;
},_setRowSpan:function(_54,_55){
if(!_54){
return;
}
_55=parseInt(_55);
if(isNaN(_55)||_55<2){
_54.removeAttribute("rowSpan");
}else{
_54.setAttribute("rowSpan",_55);
}
},_setColSpan:function(_56,_57){
if(!_56){
return;
}
_57=parseInt(_57);
if(isNaN(_57)||_57<2){
_56.removeAttribute("colSpan");
}else{
_56.setAttribute("colSpan",_57);
}
},_alterRowSpan:function(_58,_59){
var _5a=this._getRowSpan(_58)+_59;
var _5b=true;
if(_5a>0){
this._setRowSpan(_58,_5a);
}else{
_5b=false;
}
return _5b;
},canUndo:function(){
return (0<this._currentStateIndex);
},canRedo:function(){
return (this._currentStateIndex<this._states.length-1);
},undo:function(){
var _5c=this._currentStateIndex-1;
var _5d=this._states[this._currentStateIndex];
if(_5c<this._states.length){
var _5e=this._states[_5c];
if(_5e){
this._replaceSelectedTable(_5e);
this._currentStateIndex--;
var _5f={commandName:"undo "+_5d["commandName"],selectedColIndex:_5d["selectedColIndex"],selectedRowIndex:_5d["selectedRowIndex"]};
this._raiseEvent("onCommand",_5f);
}
}
},redo:function(){
var _60=this._currentStateIndex+1;
var _61=this._states[this._currentStateIndex];
if(_60<this._states.length){
var _62=this._states[_60];
if(_62){
this._replaceSelectedTable(_62);
this._currentStateIndex++;
var _63={commandName:"redo "+_61["commandName"],selectedColIndex:_61["selectedColIndex"],selectedRowIndex:_61["selectedRowIndex"]};
this._raiseEvent("onCommand",_63);
}
}
},_replaceSelectedTable:function(_64){
var _65=this._selectedTable.parentNode;
var _66=_64["table"].cloneNode(true);
_65.insertBefore(_66,this._selectedTable);
_65.removeChild(this._selectedTable);
this.set_selectedTable(_66);
var _67=_66.rows[_64["nextSelectedRowIndex"]].cells[_64["nextSelectedColIndex"]];
this._selectedCellClassName=_64["selectedCellClassName"];
this.set_selectedCell(_67,false);
},_storeState:function(_68){
if(!this._selectedTable){
return false;
}
this._currentStateIndex++;
if(this._states.length!=0){
this._states=this._states.slice(0,this._currentStateIndex);
}
var _69={table:this._selectedTable.cloneNode(true),selectedRowIndex:_68["selectedRowIndex"],selectedColIndex:_68["selectedColIndex"],nextSelectedRowIndex:_68["nextSelectedRowIndex"],nextSelectedColIndex:_68["nextSelectedColIndex"],selectedCellClassName:this._selectedCellClassName,commandName:_68["commandName"]};
this._states.push(_69);
},_removeEptyTrElements:function(){
if(!this._selectedTable){
return false;
}
var _6a=this._selectedTable.rows;
var _6b=_6a.length;
var _6c=[];
var _6d=0;
for(var i=0;i<_6b;i++){
var row=_6a[i];
var _70=row.cells.length;
if(_70==0){
_6c[_6d++]=row;
if(i!=0){
var _71=_6a[i-1];
var _72=_71.cells;
var _73=_72.length;
for(var j=0;j<_73;j++){
var _75=_72[j];
var _76=this._getRowSpan(_75);
if(_76>1){
this._setRowSpan(_75,_76-1);
}
}
}
}
}
for(var i=0;i<_6d;i++){
var row=_6c[0];
row.parentNode.removeChild(row);
}
},executeCommand:function(_77,_78){
if(!this._selectedTable||!this._selectedCell||!_77){
return false;
}
var _79=true;
var _7a={commandName:_77,selectedColIndex:this._selectedCell.cellIndex,selectedRowIndex:this._selectedRowIndex,nextSelectedColIndex:this._selectedCell.cellIndex,nextSelectedRowIndex:this._selectedRowIndex};
switch(_77){
case "deleteColumn":
case "deleteRow":
case "deleteCell":
case "insertRowAbove":
case "insertRowBelow":
case "insertColumnToTheLeft":
case "insertColumnToTheRight":
case "mergeLeft":
case "mergeTop":
case "mergeRight":
case "mergeDown":
case "setAsContentCell":
case "splitCellHorizontally":
case "splitCellVertically":
_79=this[_77](_78);
break;
default:
this._raiseException(_77+" is not implemented!");
return false;
break;
}
if(_79){
this._setTableState();
this._raiseEvent("onCommand",_7a);
this.set_selectedRow();
if(_77!="deleteColumn"&&_77!="deleteRow"&&_77!="deleteCell"){
_7a.nextSelectedColIndex=this._selectedCell.cellIndex;
_7a.nextSelectedColIndex=this._selectedRowIndex;
}
this._storeState(_7a);
this._removeEptyTrElements();
}
return _79;
},_alterNonCurrentRowCellsRowspan:function(_7b,_7c){
var _7d=";";
var _7e="";
for(var _7f=0;_7f<this._tableStateColsCount;_7f++){
var _80=this._getStateValueIndexes(_7b,_7f);
var _81=_80["rowIndex"];
var _82=_80["colIndex"];
if(_80["rowIndex"]!=_7b){
var _7e=_81+","+_82+";";
if(_7d.indexOf(";"+_7e)==-1){
_7d+=_7e;
this._alterRowSpan(this._selectedTable.rows[_81].cells[_82],_7c);
}
}
}
},_getNewCellIndex:function(_83,_84,_85){
var _86=_83+1;
var _87=_83+","+_84;
var _88=(_85)?_85:0;
for(var _89=0;_89<this._tableStateColsCount;_89++){
if(this._tableState[_86][_89]==_87){
if(_89!=0){
var _8a=_89-1;
for(var i=_8a;i>0;i--){
var _8c=this._getStateValueIndexes(_86,_8a);
var _8d=_8c["rowIndex"];
if(_8d==_86){
var _89=_8c["colIndex"];
_88=parseInt(_89);
break;
}
}
}
break;
}
}
return _88;
},deleteRow:function(_8e){
if(!this._selectedTable){
return false;
}
var _8f=this._getLeftTopStateIndexes(this._selectedRowIndex,this._selectedCell.cellIndex);
var _90=_8f["rowIndex"];
var _91=_90-1;
var _92=this._selectedRowIndex+1;
var _93=this._selectedTable.rows[_92];
if(typeof (_90)!="undefined"&&typeof (_8f["colIndex"])!="undefined"){
var _94=";";
var _95=0;
for(var _96=0;_96<this._tableStateColsCount;_96++){
var _97=this._tableState[_90][_96]+";";
if(_94.indexOf(";"+_97)==-1){
_94+=_97;
var _98=this._getSelectedTableCellByStateIndexes(_90,_96);
var _99=this._getRowSpan(_98);
if(_99==1){
}else{
if(_91>=0&&this._tableState[_90][_96]==this._tableState[_91][_96]){
var _9a=this._getSelectedTableCellByStateIndexes(_91,_96);
this._alterRowSpan(_9a,-1);
}else{
for(var i=_96;i>-1;i--){
var ar=this._getStateValueIndexes(_92,i);
if(_92==ar["rowIndex"]){
_95=parseInt(ar["colIndex"])+1;
break;
}
}
var _9d=this._insertCell(_93,_95,_98.innerHTML,_98);
this._setColSpan(_9d,this._getColSpan(_98));
this._setRowSpan(_9d,_99-1);
_95++;
}
}
}
}
var _9e=this._selectedRow.parentNode;
if(_9e){
_9e.removeChild(this._selectedRow);
}
return true;
}
},insertRowBelow:function(_9f){
if(!this._selectedTable){
return false;
}
var _a0=this._getLeftBottomStateIndexes(this._selectedRowIndex,this._selectedCell.cellIndex);
if(typeof (_a0["rowIndex"])!="undefined"&&typeof (_a0["colIndex"])!="undefined"){
var _a1=_a0["rowIndex"];
var _a2=_a1+1;
var _a3=this._insertRow(_a2);
$telerik.mergeElementAttributes(this._selectedRow,_a3);
var _a4=";";
for(var col=0;col<this._tableStateColsCount;col++){
stateValue=this._tableState[_a1][col];
if(_a4.indexOf(";"+stateValue+";")==-1){
_a4+=stateValue+";";
var _a6=this._getSelectedTableCellByStateIndexes(_a1,col);
if(this._getRowSpan(_a6)>1&&_a2!=this._tableStateRowsCount&&this._tableState[_a1][col]==this._tableState[_a2][col]){
this._alterRowSpan(_a6,1);
}else{
var _a7=this._insertCell(_a3,_a3.cells.length,"&nbsp;",_a6);
var _a8=this._getColSpan(_a6);
if(_a8>1){
this._setColSpan(_a7,_a8);
}
}
}
}
}
return true;
},insertRowAbove:function(_a9){
if(!this._selectedTable){
return false;
}
var _aa=this._insertRow(this._selectedRowIndex);
$telerik.mergeElementAttributes(this._selectedRow,_aa);
var _ab=0;
var _ac=this._selectedRowCells.length;
this._alterNonCurrentRowCellsRowspan(this._selectedRowIndex,1);
for(var i=0;i<_ac;i++){
var _ae=this._selectedRowCells[i];
var _af=this._getColSpan(this._selectedRowCells[i]);
var _b0=this._insertCell(_aa,_ab++,"&nbsp;",_ae);
if(_af>1){
this._setColSpan(_b0,_af);
}
}
return true;
},insertColumnToTheLeft:function(_b1){
if(!this._selectedTable){
return false;
}
var _b2=this._getLeftTopStateIndexes(this._selectedRowIndex,this._selectedCell.cellIndex);
if(typeof (_b2["colIndex"])!="undefined"){
var _b3=parseInt(_b2["colIndex"]);
if(isNaN(_b3)){
_b3=0;
}
for(var row=0;row<this._tableStateRowsCount;row++){
var _b5=this._selectedTable.rows[row];
var _b6=this._getStateValueIndexes(row,_b3);
var _b7=_b6["rowIndex"];
var _b8=_b6["colIndex"];
if(_b7==row){
var _b9=false;
if(_b3==0){
_b9=true;
}else{
var _ba=this._selectedTable.rows[_b7].cells[_b8];
var _bb=this._getColSpan(_ba);
if(this._tableState[row][_b3]==this._tableState[row][_b3-1]&&_bb>1&&row!=this._selectedRowIndex){
_ba.setAttribute("colSpan",_bb+1);
var _bc=this._getRowSpan(_ba);
if(_bc>1){
for(var i=1;i<_bc;i++){
row++;
}
}
}else{
_b9=true;
}
}
if(_b9){
var _be=this._insertCell(_b5,_b8,"&nbsp;",_b5.cells[_b8]);
}
}else{
var _bf=0;
for(var i=_b3-1;i>-1;i--){
var _b6=this._getStateValueIndexes(row,i);
if(_b6["rowIndex"]==row){
_bf=_b6["colIndex"]+1;
break;
}
}
var _ba=this._getSelectedTableCellByStateIndexes(row,_b3);
var _be=this._insertCell(_b5,_bf,"&nbsp;",_ba);
}
}
}
return true;
},insertColumnToTheRight:function(_c0){
if(!this._selectedTable){
return false;
}
var _c1=this._getRightTopStateIndexes(this._selectedRowIndex,this._selectedCell.cellIndex);
if(typeof (_c1["colIndex"])!="undefined"){
var _c2=parseInt(_c1["colIndex"]);
if(isNaN(_c2)){
_c2=0;
}
for(var row=0;row<this._tableStateRowsCount;row++){
var _c4=this._selectedTable.rows[row];
var _c5=this._getStateValueIndexes(row,_c2);
var _c6=_c5["rowIndex"];
var _c7=parseInt(_c5["colIndex"]);
if(isNaN(_c7)){
_c7=0;
}
if(_c6==row){
var _c8=false;
if(_c2==this._tableStateColsCount-1){
_c8=true;
}else{
var _c9=this._selectedTable.rows[_c6].cells[_c7];
var _ca=this._getColSpan(_c9);
if(this._tableState[row][_c2]==this._tableState[row][_c2+1]&&_ca>1&&row!=this._selectedRowIndex){
_c9.setAttribute("colSpan",_ca+1);
var _cb=this._getRowSpan(_c9);
if(_cb>1){
for(var i=1;i<_cb;i++){
row++;
}
}
}else{
_c8=true;
}
}
if(_c8){
var _cd=this._insertCell(_c4,_c7+1,"&nbsp;",_c4.cells[_c7]);
}
}else{
var _ce=this._selectedTable.rows[row].cells.length;
for(var i=_c2+1;i<this._tableStateColsCount;i++){
var _c5=this._getStateValueIndexes(row,i);
if(_c5["rowIndex"]==row){
_ce=parseInt(_c5["colIndex"]);
if(isNaN(_ce)){
_ce=0;
}
break;
}
}
var _c9=this._getSelectedTableCellByStateIndexes(row,_c2);
var _cd=this._insertCell(_c4,_ce,"&nbsp;",_c9);
}
}
}
return true;
},deleteColumn:function(_cf){
if(!this._selectedTable){
return false;
}
var _d0=this._getLeftTopStateIndexes(this._selectedRowIndex,this._selectedCell.cellIndex);
var _d1=_d0["colIndex"];
if(typeof (_d1)!="undefined"){
for(var row=0;row<this._tableStateRowsCount;row++){
var _d3=this._selectedTable.rows[row];
var _d4=this._getStateValueIndexes(row,_d1);
var _d5=parseInt(_d4["colIndex"]);
var _d6=_d3.cells[_d5];
var _d7=this._getRowSpan(_d6);
var _d8=this._getColSpan(_d6);
if(_d8>1){
this._setColSpan(_d6,_d8-1);
}else{
_d3.removeChild(_d6);
}
if(_d7>1){
for(var i=1;i<_d7;i++){
row++;
}
}
}
return true;
}
return false;
},canMergeLeft:function(_da){
if(!_da){
_da=this._selectedCell;
}
if(!_da||!_da.parentNode){
return false;
}
var _db=true;
var _dc=_da.cellIndex;
var _dd=_da.parentNode;
var _de=_dd.rowIndex;
if(_dc==0||_dc==-1){
_db=false;
}else{
var _df=this._getLeftTopStateIndexes(_de,_dc);
if(typeof (_df["rowIndex"])=="undefined"||typeof (_df["colIndex"])=="undefined"){
return false;
}
var _e0=this._getSelectedTableCellByStateIndexes(_df["rowIndex"],_df["colIndex"]-1);
if(_e0){
var _e1=_e0.parentNode.rowIndex;
var _e2=this._getRowSpan(_e0);
if(_e1!=_de||this._getRowSpan(_da)!=this._getRowSpan(_e0)){
_db=false;
}
}
}
return _db;
},mergeLeft:function(_e3){
var _e4=(_e3&&_e3["cell"])?_e3["cell"]:this._selectedCell;
if(!_e4||!_e4.parentNode){
return false;
}
var _e5=true;
var _e6=_e4.parentNode;
if(this.canMergeLeft(_e4)){
var _e7=_e6.cells[_e4.cellIndex-1];
this._setColSpan(_e4,this._getColSpan(_e4)+this._getColSpan(_e7));
_e4.innerHTML=_e7.innerHTML+"<br />"+_e4.innerHTML;
_e6.removeChild(_e7);
}else{
this._raiseException("The cell can not be merged left!");
_e5=false;
}
return _e5;
},canMergeTop:function(_e8){
if(!_e8){
_e8=this._selectedCell;
}
if(!_e8||!_e8.parentNode){
return false;
}
var _e9=true;
var _ea=_e8.parentNode.rowIndex;
if(_ea==0){
_e9=false;
}else{
var _eb=this._getLeftTopStateIndexes(_ea,_e8.cellIndex);
if(typeof (_eb["rowIndex"])=="undefined"||typeof (_eb["colIndex"])=="undefined"){
return false;
}
var _ec=this._getSelectedTableCellByStateIndexes(_eb["rowIndex"]-1,_eb["colIndex"]);
_e9=this.canMergeDown(_ec);
}
return _e9;
},mergeTop:function(_ed){
var _ee=(_ed&&_ed["cell"])?_ed["cell"]:this._selectedCell;
if(!_ee||!_ee.parentNode){
return false;
}
var _ef=true;
if(this.canMergeTop(_ee)){
var _f0=_ee.parentNode;
var _f1=this._getLeftTopStateIndexes(_f0.rowIndex,_ee.cellIndex);
var _f2=this._getSelectedTableCellByStateIndexes(_f1["rowIndex"]-1,_f1["colIndex"]);
_f2.innerHTML+="<br />"+_ee.innerHTML;
this.set_selectedCell(_f2,false);
this._alterRowSpan(_f2,this._getRowSpan(_ee));
_f0.removeChild(_ee);
}else{
this._raiseException("The cell cannot be merged top!");
_ef=false;
}
return _ef;
},canMergeRight:function(_f3){
if(!_f3){
_f3=this._selectedCell;
}
if(!_f3||!_f3.parentNode){
return false;
}
var _f4=true;
var _f5=_f3.cellIndex;
var row=_f3.parentNode;
var _f7=row.rowIndex;
if(typeof (_f7)=="undefined"){
return false;
}
var _f8=row.cells.length;
if(_f5==_f8-1){
_f4=false;
}else{
var _f9=this._getRightTopStateIndexes(_f7,_f5);
if(typeof (_f9["rowIndex"])=="undefined"||typeof (_f9["colIndex"])=="undefined"){
return false;
}
var _fa=this._getSelectedTableCellByStateIndexes(_f9["rowIndex"],_f9["colIndex"]+1);
if(_fa&&(_fa.parentNode.rowIndex!=_f7||this._getRowSpan(_f3)!=this._getRowSpan(_fa))){
_f4=false;
}
}
return _f4;
},mergeRight:function(_fb){
var _fc=(_fb&&_fb["cell"])?_fb["cell"]:this._selectedCell;
if(!_fc||!_fc.parentNode){
return false;
}
var _fd=true;
if(this.canMergeRight(_fc)){
var _fe=_fc.parentNode;
var _ff=_fe.cells[_fc.cellIndex+1];
_fc.innerHTML+="<br />"+_ff.innerHTML;
this._setColSpan(_fc,this._getColSpan(_fc)+this._getColSpan(_ff));
_fe.removeChild(_ff);
}else{
this._raiseException("The cell can not be merged right!");
_fd=false;
}
return _fd;
},canMergeDown:function(cell){
if(!cell){
cell=this._selectedCell;
}
if(!cell||!cell.parentNode){
return false;
}
var _101=true;
var _102=this._getRowSpan(cell);
var _103=this._getColSpan(cell);
var _104=cell.parentNode.rowIndex;
var _105=_104+_102;
if(_105==this._tableStateRowsCount){
_101=false;
}else{
var _106=this._getLeftTopStateIndexes(_104,cell.cellIndex);
if(typeof (_106["colIndex"])!="undefined"){
var _107=_106["colIndex"];
var _108=this._getStateValueIndexes(_105,_107);
var _109=_108["rowIndex"];
var _10a=parseInt(_108["colIndex"]);
var _10b=this._selectedTable.rows[_109].cells[_10a];
if(_10b.parentNode.parentNode.tagName!=cell.parentNode.parentNode.tagName){
return false;
}
var _10c=this._getColSpan(_10b);
if(_103!=_10c){
_101=false;
}else{
if(_107!=0){
if(this._tableState[_105][_107-1]==this._tableState[_105][_107]){
_101=false;
}
}
}
}
}
return _101;
},mergeDown:function(args){
var cell=(args&&args["cell"])?args["cell"]:this._selectedCell;
if(!cell||!cell.parentNode){
return false;
}
var _10f=true;
if(this.canMergeDown(cell)){
var _110=this._getLeftBottomStateIndexes(cell.parentNode.rowIndex,cell.cellIndex);
var _111=this._getSelectedTableCellByStateIndexes(_110["rowIndex"]+1,_110["colIndex"]);
cell.innerHTML+="<br />"+_111.innerHTML;
this._alterRowSpan(cell,this._getRowSpan(_111));
_111.parentNode.removeChild(_111);
}else{
this._raiseException("The cell can not be merged down!");
_10f=false;
}
return _10f;
},canDeleteCell:function(cell){
if(!cell){
cell=this._selectedCell;
}
if(!cell||!cell.parentNode){
return false;
}
var _113=0;
var _114=this._getRowSpan(cell);
var _115=this._getColSpan(cell);
var _116=cell.parentNode.rowIndex;
var _117=cell.cellIndex;
var _118=this._getLeftTopStateIndexes(_116,_117);
var _119=this._getLeftBottomStateIndexes(_116,_117);
if(_114==this._tableStateRowsCount){
_113=1;
}else{
if(_115==this._tableStateColsCount){
_113=2;
}else{
if(this.canMergeLeft(cell)){
_113=3;
}else{
if(this.canMergeRight(cell)){
_113=4;
}else{
if(this.canMergeDown(cell)){
_113=5;
}else{
if(this.canMergeTop(cell)){
_113=6;
}
}
}
}
}
}
return _113;
},deleteCell:function(args){
var cell=(args&&args["cell"])?args["cell"]:this._selectedCell;
if(!cell||!cell.parentNode){
return false;
}
var _11c=true;
var row=cell.parentNode;
var _11e=this.canDeleteCell(cell);
switch(_11e){
case 1:
row.removeChild(cell);
break;
case 2:
row.parentNode.removeChild(row);
break;
case 3:
var _11f=row.cells[cell.cellIndex-1];
this.set_selectedCell(_11f,false);
_11c=this.mergeRight();
break;
case 4:
var _120=row.cells[cell.cellIndex+1];
this.set_selectedCell(_120,false);
_11c=this.mergeLeft();
break;
case 5:
var _121=this._getLeftBottomStateIndexes(row.rowIndex,cell.cellIndex);
var _122=this._getSelectedTableCellByStateIndexes(_121["rowIndex"]+1,_121["colIndex"]);
this.set_selectedCell(_122,false);
_11c=this.mergeTop();
break;
case 6:
var _121=this._getLeftBottomStateIndexes(row.rowIndex,cell.cellIndex);
var _123=this._getSelectedTableCellByStateIndexes(_121["rowIndex"]-1,_121["colIndex"]);
this.set_selectedCell(_123,false);
_11c=this.mergeDown();
break;
default:
this._raiseException("The cell can not be deleted!");
_11c=false;
break;
}
if(_11c&&row&&row.cells.length==0){
row.parentNode.removeChild(row);
}
return _11c;
},splitCellHorizontally:function(args){
if(!this._selectedCell){
return false;
}
var cell=this._selectedCell;
var _126=true;
var _127=this._getColSpan(cell);
var _128=cell.cellIndex;
var row=this._selectedRow;
var _12a=this._selectedRowIndex;
var _12b=_12a+","+_128;
var _12c=this._insertCell(row,_128+1,"&nbsp;",cell);
this._setRowSpan(_12c,this._getRowSpan(cell));
if(_127==1){
var _12d=this._getLeftTopStateIndexes(_12a,_128);
var _12e=_12d["colIndex"];
var _12f=";";
for(var _130=0;_130<this._tableStateRowsCount;_130++){
var _131=this._tableState[_130][_12e];
if(_130!=_12a&&_131!=_12b&&_12f.indexOf(";"+_131+";")){
_12f+=_131+";";
var _132=this._getSelectedTableCellByStateIndexes(_130,_12e);
this._setColSpan(_132,this._getColSpan(_132)+1);
}
}
}else{
var _133=(args)?parseInt(args["rightColSpan"]):null;
if(!_133||isNaN(_133)||_133>=_127){
var _134=Math.ceil(_127/2);
var _135,_136;
if(_127%2==0){
_135=_134;
_136=_134;
}else{
_135=_134;
_136=_134-1;
}
}else{
_135=_127-_133;
_136=_133;
}
this._setColSpan(cell,_135);
this._setColSpan(_12c,_136);
}
return _126;
},splitCellVertically:function(args){
var cell=this._selectedCell;
if(!cell){
return false;
}
if(!cell.parentNode){
return false;
}
var _139=true;
var _13a=this._getRowSpan(cell);
var _13b=cell.cellIndex;
var row=this._selectedRow;
var _13d=this._selectedRowIndex;
var _13e=this._selectedRowCells;
var _13f=_13e.length;
var _140=";";
var _141=null;
var _142=[];
if(_13a==1){
for(var _143=0;_143<this._tableStateColsCount;_143++){
_141=this._getSelectedTableCellByStateIndexes(_13d,_143);
stateValue=this._tableState[_13d][_143];
_142=this._getStateValueIndexes(_13d,_143);
if((_141.cellIndex!=_13b||_13d!=_142["rowIndex"])&&_140.indexOf(";"+stateValue+";")==-1){
_140+=stateValue+";";
this._alterRowSpan(_141,1);
}
}
newRow=this._insertRow(_13d+1);
$telerik.mergeElementAttributes(row,newRow);
newCell=this._insertCell(newRow,newRow.cells.length,"&nbsp;",cell);
this._setColSpan(newCell,this._getColSpan(cell));
}else{
var _144=Math.ceil(_13a/2),_145,_146;
var _147=(args)?parseInt(args["downRowSpan"]):null;
if(!_147||isNaN(_147)||_147>=_13a){
if(_13a%2==0){
_145=_144;
_146=_144;
}else{
_145=_144;
_146=_144-1;
}
}else{
_145=_13a-_147;
_146=_147;
}
this._setRowSpan(cell,_145);
arStateIndexes=this._getLeftTopStateIndexes(_13d,_13b);
alterRowIndex=_13d+_145;
newCellColIndex=0;
for(var _143=arStateIndexes["colIndex"];_143>-1;_143--){
_142=this._getStateValueIndexes(alterRowIndex,_143);
if(_142["rowIndex"]==alterRowIndex){
newCellColIndex=_142["colIndex"]+1;
break;
}
}
newCell=this._insertCell(this._selectedTable.rows[alterRowIndex],newCellColIndex,"&nbsp;",cell);
this._setColSpan(newCell,this._getColSpan(cell));
this._setRowSpan(newCell,_146);
}
return _139;
},setAsContentCell:function(args){
var cell=this._selectedCell;
if(!cell){
return false;
}
if(!cell.parentNode){
return false;
}
cell.style.width="100%";
cell.style.height="100%";
return true;
},add_onCommand:function(_14a){
this.get_events().addHandler("onCommand",_14a);
},_raiseEvent:function(_14b,_14c){
var _14d=this.get_events().getHandler(_14b);
if(_14d){
if(!_14c){
_14c=Sys.EventArgs.Empty;
}
_14d(this,_14c);
}
}};
Telerik.Web.UI.LayoutBuilderEngine.registerClass("Telerik.Web.UI.LayoutBuilderEngine",Telerik.Web.UI.RadWebControl);


if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();