// CodeThatGrid STANDARD
// Version: 1.2.1 (12.06.04.1)
// Script must be registered in order to be used on your sites.
// Copyright (c) 2003-2004 by CodeThat.Com
// http://www.codethat.com/

function CCodeThatGrid(name,rowCount,colCount){this.name=name;this.rows=[];this.cols=[];this.rowCount=rowCount;this.colCount=colCount;this.cells=[];this.rowIndex=[];this.colIndex=[];this.curCell=null;this.markRange=[];this.markType=0;this.keyCol=0;this.sortCol=-1;this.sortType=1;this.page=1;this.amountPerPage=-1;this.searchValue="";this.multiSortCol=[];this.multiSortType=[];this.useMultiSort=true;this.useExportBar=false;this.useColTitle=false;this.clip="";this.tableStyle={tableClass:{borderwidth:"2",borderstyle:"solid",bordercolor:"#bbbbbb",backgroundcolor:"#ffffff"},thClass:{fontfamily:"Arial",fontsize:"12px",color:"#000000"},tdClass:{fontfamily:"Arial",fontsize:"12px",color:"#000000"},bgcolor:"#bbbbbb",x:10,y:10,width:660,height:480,position:0};this.rowStyle={defaultClass:{backgroundcolor:"#cccccc",borderwidth:"1",borderstyle:"outset",bordercolor:"#cccccc"},markClass:{backgroundcolor:"#ccccff",borderwidth:"1",borderstyle:"outset",bordercolor:"#cccccc"},resizeClass:{cursor:"row-resize",borderwidth:"0"},dragClass:{cursor:"move",borderwidth:"0"},width:20,height:20},this.colStyle={defaultClass:{backgroundcolor:"#cccccc",borderwidth:"1",borderstyle:"outset",bordercolor:"#cccccc"},markClass:{backgroundcolor:"#ccccff",borderwidth:"1",borderstyle:"outset",bordercolor:"#cccccc"},resizeClass:{cursor:"col-resize",borderwidth:"0"},dragClass:{cursor:"move",borderwidth:"0"},width:100,height:20};this.cellStyle={defaultClass:{padding:"2",borderwidth:"1",borderstyle:"solid",bordercolor:"#cfcfcf",fontfamily:"Arial",fontsize:"12px",backgroundcolor:"#ffffff",color:"#000000"},markClass:{padding:"2",borderwidth:"1",borderstyle:"outset",bordercolor:"#cccccc",fontfamily:"Arial",fontsize:"12px",backgroundcolor:"#cfcfcf",color:"#000000"},currClass:{padding:"2",borderwidth:"1",borderstyle:"solid",bordercolor:"#000000",fontfamily:"Arial",fontsize:"12px",backgroundcolor:"#ffffff",color:"#000000"}};this.toolBar={height:29,bgcolor:"#bbbbbb",defaultClass:{bordercolor:"#bbbbbb",color:"#000000"},buttons:[{name:"addrowto",img_on:{src:"addrowto.gif",width:"16",height:"16"},img_off:{src:"addrowto_off.gif",width:"16",height:"16"},text:"Add row before current one",showMessage:true},{name:"addrowafter",img_on:{src:"addrowafter.gif",width:"16",height:"16"},img_off:{src:"addrowafter_off.gif",width:"16",height:"16"},text:"Add row after current one",showMessage:true},{name:"delrow",img_on:{src:"delrow.gif",width:"16",height:"16"},img_off:{src:"delrow_off.gif",width:"16",height:"16"},text:"Delete row",showMessage:true},{},{name:"addcolto",img_on:{src:"addcolto.gif",width:"16",height:"16"},img_off:{src:"addcolto_off.gif",width:"16",height:"16"},text:"Add column before current one",showMessage:true},{name:"addcolafter",img_on:{src:"addcolafter.gif",width:"16",height:"16"},img_off:{src:"addcolafter_off.gif",width:"16",height:"16"},text:"Add column after current one",showMessage:true},{name:"delcol",img_on:{src:"delcol.gif",width:"16",height:"16"},img_off:{src:"delcol_off.gif",width:"16",height:"16"},text:"Delete column",showMessage:true},{},{name:"copy",img_on:{src:"copy.gif",width:"16",height:"16"},img_off:{src:"copy_off.gif",width:"16",height:"16"},text:"Copy",showMessage:false},{name:"paste",img_on:{src:"paste.gif",width:"16",height:"16"},img_off:{src:"paste_off.gif",width:"16",height:"16"},text:"Pasting data from current cell",showMessage:true},{},{name:"formatbold",img_on:{src:"formatbold.gif",width:"16",height:"16"},img_off:{src:"formatbold_off.gif",width:"16",height:"16"},text:"Format bold",showMessage:false},{name:"formatitalic",img_on:{src:"formatitalic.gif",width:"16",height:"16"},img_off:{src:"formatitalic_off.gif",width:"16",height:"16"},text:"Format italic",showMessage:false},{name:"formatunderline",img_on:{src:"formatunderline.gif",width:"16",height:"16"},img_off:{src:"formatunderline_off.gif",width:"16",height:"16"},text:"Format underline",showMessage:false},{},{name:"alignleft",img_on:{src:"alignleft.gif",width:"16",height:"16"},img_off:{src:"alignleft_off.gif",width:"16",height:"16"},text:"Align left",showMessage:false},{name:"aligncenter",img_on:{src:"aligncenter.gif",width:"16",height:"16"},img_off:{src:"aligncenter_off.gif",width:"16",height:"16"},text:"Align center",showMessage:false},{name:"alignright",img_on:{src:"alignright.gif",width:"16",height:"16"},img_off:{src:"alignright_off.gif",width:"16",height:"16"},text:"Align right",showMessage:false}]};this.statusBar={height:18,bgcolor:"#bbbbbb",defaultClass:{bordercolor:"#bbbbbb",color:"#000000",fontfamily:"Verdana",fontsize:"11px"},messageClass:{bordercolor:"#bbbbbb",color:"#0000ff",fontfamily:"Verdana",fontsize:"11px"},fieldText:"Field",valueText:"Value"};this.exportBar={height:200};};{var CGp=CCodeThatGrid.prototype;CGp.onKeyPress=function(e){if(Undef(this.curCell))
return;switch(e._e.keyCode){case 27:if(this.curCell.state=="edit"){cell=this.curCell;this.setCurCell(null);this.setCurCell(cell);}break;case 57383:case 33:if(this.curCell.state!="edit"){this.setCurCell(this.cells[this.getRowIdx(0,this.rowIndex[0])][this.curCell.col._id]);if(ua.ie)e._e.returnValue=false;else e._e.preventDefault();this.focus();};break;case 57384:case 34:if(this.curCell.state!="edit"){this.setCurCell(this.cells[this.getRowIdx(0,this.rowIndex[this.rowIndex.length-1])][this.curCell.col._id]);if(ua.ie)e._e.returnValue=false;else e._e.preventDefault();this.focus();};break;case 57382:case 35:if(this.curCell.state!="edit"){this.setCurCell(this.cells[this.curCell.row._id][this.getColIdx(0,this.colIndex[this.colIndex.length-1])]);if(ua.ie)e._e.returnValue=false;else e._e.preventDefault();this.focus();};break;case 57381:case 36:if(this.curCell.state!="edit"){this.setCurCell(this.cells[this.curCell.row._id][this.getColIdx(0,this.colIndex[0])]);if(ua.ie)e._e.returnValue=false;else e._e.preventDefault();this.focus();};break;case 57387:case 37:if(this.curCell.state!="edit"){this.setCurCell(this.cells[this.curCell.row._id][this.getColIdx(-1)]);if(ua.ie)e._e.returnValue=false;else e._e.preventDefault();this.focus();};break;case 57385:case 38:if(this.curCell.state!="edit"){this.setCurCell(this.cells[this.getRowIdx(-1)][this.curCell.col._id]);if(ua.ie)e._e.returnValue=false;else e._e.preventDefault();this.focus();};break;case 57388:case 39:if(this.curCell.state!="edit"){this.setCurCell(this.cells[this.curCell.row._id][this.getColIdx(+1)]);if(ua.ie)e._e.returnValue=false;else e._e.preventDefault();this.focus();};break;case 57386:case 40:if(this.curCell.state!="edit"){this.setCurCell(this.cells[this.getRowIdx(+1)][this.curCell.col._id]);if(ua.ie)e._e.returnValue=false;else e._e.preventDefault();this.focus();};break;case 13:if(this.curCell.state!="edit"){this.setCurCell(this.curCell);this.focus();}else{this.setCurCell(this.cells[this.curCell.row._id][this.getColIdx(+1)]);};break;case 57346:case 113:this.setCurCell(this.curCell);case 67:if(Def(this.curCell)&&this.curCell.state=="edit")break;isCtrl=(ua.opera7)?e._e.shiftKey:e._e.ctrlKey;if(isCtrl){this.copy();};break;case 86:if(Def(this.curCell)&&this.curCell.state=="edit")break;isCtrl=(ua.opera7)?e._e.shiftKey:e._e.ctrlKey;if(isCtrl){this.paste();};break;case 65:break;case 9:break;};};CGp.onMouseEvent=function(e){var src=(ua.moz)?e._e.target:e._e.srcElement;var idx=0;if(Def(src.id)&&src.id.indexOf("_")>-1){switch(e._e.type){case "mousedown":isUp=false;range.length=0;range[0]=src.id.slice(src.id.indexOf('c')+1,src.id.indexOf('_'))*1;range[1]=src.id.slice(src.id.indexOf('_')+1)*1;this.setCurCell(this.cells[range[0]][range[1]]);break;case "mouseup":range[2]=src.id.slice(src.id.indexOf('c')+1,src.id.indexOf('_'))*1;range[3]=src.id.slice(src.id.indexOf('_')+1)*1;if(Def(range[0])&&Def(range[1])&&(range[0]!=range[2]||range[1]!=range[3])){this.setMarkRange(range,3);};this.paintStatusBar();break;case "mousemove":isUp=isUp||(Def(this.curCell)&&this.curCell.state=="edit");if(!isUp){var range1=[],m;range[2]=src.id.slice(src.id.indexOf('c')+1,src.id.indexOf('_'))*1;range[3]=src.id.slice(src.id.indexOf('_')+1)*1;if(range[0]!=range[2]||range[1]!=range[3]){this.paintStatusBar((Math.abs(this.rowIndex.indexOf(range[0])-this.rowIndex.indexOf(range[2]))+1)+"R x "+(Math.abs(this.colIndex.indexOf(range[1])-this.colIndex.indexOf(range[3]))+1)+"C");};};break;case "click":if(!ua.oldOpera&&!ua.nn4)this.focus();break;};}else this.paintStatusBar();};CGp.getRowIdx=function(offset,rowIdx){if(Undef(this.curCell))
return-1;if(Undef(rowIdx))rowIdx=this.rowIndex.indexOf(this.curCell.row._id);offset=offset%this.rowCount;if(rowIdx+offset<0)rowIdx=rowIdx+offset+this.rowCount;else if(rowIdx+offset>=this.rowCount)rowIdx=rowIdx+offset-this.rowCount;else rowIdx=rowIdx+offset;while(this.rows[this.rowIndex[rowIdx]]._id<0&&rowIdx<this.rowIndex.length)rowIdx++;while(this.rows[this.rowIndex[rowIdx]]._id<0&&rowIdx>-1)rowIdx--;
return this.rowIndex[rowIdx];};CGp.getColIdx=function(offset,colIdx){if(Undef(this.curCell))
return-1;if(Undef(colIdx))colIdx=this.colIndex.indexOf(this.curCell.col._id);offset=offset%this.colCount;if(colIdx+offset<0)colIdx=colIdx+offset+this.colCount;else if(colIdx+offset>=this.colCount)colIdx=colIdx+offset-this.colCount;else colIdx=colIdx+offset;while(this.cols[this.colIndex[colIdx]]._id<0&&colIdx<this.colIndex.length)colIdx++;while(this.cols[this.colIndex[colIdx]]._id<0&&colIdx>-1)colIdx--;
return this.colIndex[colIdx];};CGp.toCSV=function(separator,isRange){var CSV="",rowCSV="";if(Undef(separator))separator=";";if(Undef(isRange))isRange=false;if(!isRange){for(i=0;i<this.rowCount;i++){if(this.rows[this.rowIndex[i]]._id<0)continue;rowCSV="";for(j=0;j<this.colCount;j++){if(this.cols[this.colIndex[j]]._id<0)continue;if(!j)rowCSV+=this.cells[this.rowIndex[i]][this.colIndex[j]].getDataForEdit();else rowCSV+=separator+this.cells[this.rowIndex[i]][this.colIndex[j]].getDataForEdit();};if(rowCSV.length==this.colCount-1)rowCSV="";while(rowCSV.charAt(rowCSV.length-1)==separator)rowCSV=rowCSV.slice(0,rowCSV.length-1);CSV+=rowCSV+"\n";};}else{switch(this.markType){case 1:for(i=0;i<this.rowCount;i++){rowCSV="";for(j=0;j<this.markRange.length;j++){if(!j)rowCSV+=this.cells[i][this.markRange[j]].getDataForEdit();else rowCSV+=separator+this.cells[i][this.markRange[j]].getDataForEdit();};CSV+=rowCSV+"\n";};break;case 2:for(i=0;i<this.markRange.length;i++){rowCSV="";for(j=0;j<this.colCount;j++){if(!j)rowCSV+=this.cells[this.markRange[i]][j].getDataForEdit();else rowCSV+=separator+this.cells[this.markRange[i]][j].getDataForEdit();};CSV+=rowCSV+"\n";};break;case 3:for(i=this.markRange[0];i<=this.markRange[2];i++){rowCSV="";for(j=this.markRange[1];j<=this.markRange[3];j++){if(!j)rowCSV+=this.cells[this.rowIndex[i]][this.colIndex[j]].getDataForEdit();else rowCSV+=separator+this.cells[this.rowIndex[i]][this.colIndex[j]].getDataForEdit();};CSV+=rowCSV+"\n";};break;default:if(Def(this.curCell)){CSV=this.curCell.getDataForEdit();};break;};};while(CSV.charAt(CSV.length-1)=="\n")CSV=CSV.slice(0,CSV.length-1);
return CSV;};CGp.fromCSV=function(CSV,separator){if(Undef(separator))separator=";";var data=arrayFrom(CSV,"\n");for(i=0;i<data.length;i++){data[i]=arrayFrom(data[i],separator);}
return data;};CGp.fromCSVFile=function(CSV,separator){};CGp.toXML=function(){var XML="",rowXML="",rowCSV="";for(i=0;i<this.rowCount;i++){if(this.rows[this.rowIndex[i]]._id<0)continue;rowCSV="";rowXML="";for(j=0;j<this.colCount;j++){if(this.cols[this.colIndex[j]]._id<0)continue;if(!j)rowCSV+=this.cells[this.rowIndex[i]][this.colIndex[j]].getDataForEdit();else rowCSV+=";"+this.cells[this.rowIndex[i]][this.colIndex[j]].getDataForEdit();if(Def(this.cols[this.colIndex[j]].title))rowXML+="\n\t\t<field fieldname=\""+this.cols[this.colIndex[j]].title+"\" bold=\""+this.cells[this.rowIndex[i]][this.colIndex[j]].isBold+"\" italic=\""+this.cells[this.rowIndex[i]][this.colIndex[j]].isItalic+"\" underline=\""+this.cells[this.rowIndex[i]][this.colIndex[j]].isUnderline+"\" "+this.cells[this.rowIndex[i]][this.colIndex[j]].alignment+">"+this.cells[this.rowIndex[i]][this.colIndex[j]].getDataForEdit()+"</field>";else rowXML+="\n\t\t<field fieldname=\"col_"+this.cols[this.colIndex[j]]._id+"\" bold=\""+this.cells[this.rowIndex[i]][this.colIndex[j]].isBold+"\" italic=\""+this.cells[this.rowIndex[i]][this.colIndex[j]].isItalic+"\" underline=\""+this.cells[this.rowIndex[i]][this.colIndex[j]].isUnderline+"\" "+this.cells[this.rowIndex[i]][this.colIndex[j]].alignment+">"+this.cells[this.rowIndex[i]][this.colIndex[j]].getDataForEdit()+"</field>";};if(rowCSV.length==this.colCount-1)rowXML="";XML+="\n\t<row id=\""+this.rows[this.rowIndex[i]]._id+"\">"+rowXML+"\n\t</row>";};XML="<?xml version=\"1.0\" standalone=\"yes\"?>\n<data table=\""+this.name+"\">"+XML+"\n</data>";
return XML;};CGp.fromXML=function(XML){};CGp.init=function(gridDef){if(Undef(gridDef)){alert("Error!\nNo data!");this.initDefault();
return;}var data=null,datatype=gridDef.datatype,style="",cssName="",css="";if(datatype){alert("You can't use this datatype in standart version!");datatype=0;gridDef.data=[];};switch(datatype){case 1:data=this.fromCSV(gridDef.data);break;case 2:data=this.fromXML(gridDef.data);break;case 3:data=this.fromCSVFile(gridDef.data);break;default:data=gridDef.data;if(Undef(data))data=[];};var param=null;if(this.rowCount<data.length)this.rowCount=data.length;if(data.length>0&&this.colCount<data[0].length)this.colCount=data[0].length;if(this.rowCount<=0)this.rowCount=1;if(this.colCount<=0)this.colCount=1;if(this.rowCount>50)this.rowCount=50;this.useColTitle=gridDef.useColTitle;this.useMultiSort=gridDef.useMultiSort;this.useExportBar=gridDef.useExportBar;if(Def(gridDef.tableStyle))this.tableStyle=gridDef.tableStyle;if(Def(css=makeCssClass(this.tableStyle.tableClass))){cssName=makeNameUnique("table");style+="\n."+cssName+"{"+css+"}";this.tableStyle.tableClass=cssName;}else this.tableStyle.tableClass="";if(Def(css=makeCssClass(this.tableStyle.tdClass))){cssName=makeNameUnique("td");style+="\n."+cssName+"{"+css+"}";this.tableStyle.tdClass=cssName;}else this.tdStyle.tableClass="";if(Def(css=makeCssClass(this.tableStyle.thClass))){cssName=makeNameUnique("th");style+="\n."+cssName+"{"+css+"}";this.tableStyle.thClass=cssName;}else this.thStyle.tableClass="";if(Def(gridDef.rowStyle))this.rowStyle=gridDef.rowStyle;if(Def(css=makeCssClass(this.rowStyle.defaultClass))){cssName=makeNameUnique("rowdef");style+="\n."+cssName+"{"+css+"}";this.rowStyle.defaultClass=cssName;}else this.rowStyle.defaultClass="";if(Def(css=makeCssClass(this.rowStyle.markClass))){cssName=makeNameUnique("rowmark");style+="\n."+cssName+"{"+css+"}";this.rowStyle.markClass=cssName;}else this.rowStyle.markClass="";if(Def(css=makeCssClass(this.rowStyle.resizeClass))){cssName=makeNameUnique("rowresize");style+="\n."+cssName+"{"+css+"}";this.rowStyle.resizeClass=cssName;}else this.rowStyle.resizeClass="";if(Def(css=makeCssClass(this.rowStyle.dragClass))){cssName=makeNameUnique("rowdrag");style+="\n."+cssName+"{"+css+"}";this.rowStyle.dragClass=cssName;}else this.rowStyle.dragClass="";if(Def(gridDef.colStyle))this.colStyle=gridDef.colStyle;if(Def(css=makeCssClass(this.colStyle.defaultClass))){cssName=makeNameUnique("coldef");style+="\n."+cssName+"{"+css+"}";this.colStyle.defaultClass=cssName;}else this.colStyle.defaultClass="";if(Def(css=makeCssClass(this.colStyle.markClass))){cssName=makeNameUnique("colmark");style+="\n."+cssName+"{"+css+"}";this.colStyle.markClass=cssName;}else this.colStyle.markClass="";if(Def(css=makeCssClass(this.colStyle.resizeClass))){cssName=makeNameUnique("colresize");style+="\n."+cssName+"{"+css+"}";this.colStyle.resizeClass=cssName;}else this.colStyle.resizeClass="";if(Def(css=makeCssClass(this.colStyle.dragClass))){cssName=makeNameUnique("coldrag");style+="\n."+cssName+"{"+css+"}";this.colStyle.dragClass=cssName;}else this.colStyle.dragClass="";if(Def(gridDef.cellStyle))this.cellStyle=gridDef.cellStyle;if(Def(css=makeCssClass(this.cellStyle.defaultClass))){cssName=makeNameUnique("celldef");style+="\n."+cssName+"{"+css+"}";this.cellStyle.defaultClass=cssName;}else this.cellStyle.defaultClass="";if(Def(css=makeCssClass(this.cellStyle.markClass))){cssName=makeNameUnique("cellmark");style+="\n."+cssName+"{"+css+"}";this.cellStyle.markClass=cssName;}else this.cellStyle.markClass="";if(Def(css=makeCssClass(this.cellStyle.currClass))){cssName=makeNameUnique("cellcurr");style+="\n."+cssName+"{"+css+"}";this.cellStyle.currClass=cssName;}else this.cellStyle.currClass="";if(Def(css=makeCssClass(this.toolBar.defaultClass))){cssName=makeNameUnique("tbdef");style+="\n."+cssName+"{"+css+"}";this.toolBar.defaultClass=cssName;}else this.toolBar.defaultClass="";if(Def(css=makeCssClass(this.statusBar.defaultClass))){cssName=makeNameUnique("sbdef");style+="\n."+cssName+"{"+css+"}";this.statusBar.defaultClass=cssName;}else this.statusBar.defaultClass="";if(Def(css=makeCssClass(this.statusBar.messageClass))){cssName=makeNameUnique("sbmsg");style+="\n."+cssName+"{"+css+"}";this.statusBar.messageClass=cssName;}else this.statusBar.messageClass="";for(i=0;i<this.rowCount;i++){this.rows[i]=new CRow(this,i);this.rowIndex[i]=i;};for(i=0;i<this.colCount;i++){if(data.length>0&&i<data[0].length&&Def(gridDef.colDef)&&Def(gridDef.colDef[i]))param=gridDef.colDef[i];else param=DEFAULT_COLDEF;this.cols[i]=new CColumn(this,i,param);this.colIndex[i]=i;};for(i=0;i<this.rowCount;i++){this.cells[i]=[];for(j=0;j<this.colCount;j++){if(data.length>i&&j<data[i].length){param=data[i][j];if(param.indexOf("\n")>-1){css=getFormat(param);param=param.slice(0,param.lastIndexOf("\n"));}else{css=null;};}else{param=null;css=null;};this.cells[i][j]=new CCell(this.rows[i],this.cols[j],param);if(Def(css)){this.cells[i][j].isBold=css.bold;this.cells[i][j].isItalic=css.italic;this.cells[i][j].isUnderline=css.underline;this.cells[i][j].alignment=css.align;};if(this.cols[j].useAutoIndex){this.cols[j].index[i]=i;k=0;while(k<this.cols[j].index.length&&this.cells[i][j].compareTo(this.cells[this.cols[j].index[k]][j],this.cols[j].compareFunction)>-1)k++;if(k<this.cols[j].index.length){for(l=this.cols[j].index.length-1;l>k;l--)this.cols[j].index[l]=this.cols[j].index[l-1];this.cols[j].index[k]=i;};};};};this.setAutoFilter();if(style!="")dw("<style> "+style+" </style>");};CGp.loadImage=function(gridDef,colIdx){var data=null;switch(datatype){case 1:data=this.fromCSV(gridDef.data);break;case 2:data=this.fromXML(gridDef.data);break;default:data=gridDef.data;};for(i=0;i<data.length;i++){this.cells[i][colIdx].data=parseImage(data[i][colIdx]);};};CGp.loadData=function(datatype,data,cellStart){if(Undef(data)||data==""||data.length==0)
return;var rowStart=0,colStart=0,rowCount=this.rowCount,colCount=this.colCount;if(Def(cellStart)){rowStart=cellStart.row._id;colStart=cellStart.col._id;};rowStart=this.rowIndex.indexOf(rowStart);colStart=this.colIndex.indexOf(colStart);switch(datatype){case 1:data=this.fromCSV(data);break;case 2:data=this.fromXML(data);break;default:};if(data.length>(this.rowCount-rowStart)){for(i=0;i<(data.length-rowCount+rowStart);i++){this.rows[this.rowCount]=new CRow(this,this.rowCount);this.cells[this.rowCount]=[];this.rowIndex[this.rowCount]=this.rowCount;this.rowCount++;};};if(data[0].length>(this.colCount-colStart)){for(i=0;i<(data[0].length-colCount+colStart);i++){this.cols[this.colCount]=new CColumn(this,this.colCount,DEFAULT_COLDEF);this.colIndex[this.colCount]=this.colCount;for(j=0;j<this.rowCount;j++){this.cells[j][this.colCount]=new CCell(this.rows[j],this.cols[this.colCount],null);};this.colCount++;};};for(i=rowStart;i<rowStart+data.length;i++){rowIdx=this.rowIndex[i];if(this.rows[rowIdx]._id<0)this.rows[rowIdx]._id=(this.rows[rowIdx._id]==-0.1)?0:-1*this.rows[rowIdx]._id;for(j=colStart;j<colStart+data[0].length;j++){colIdx=this.colIndex[j];if(this.cols[colIdx]._id<0){this.cols[colIdx]._id=(this.cols[colIdx]._id==-0.1)?0:-1*this.cols[colIdx]._id;this.cols[colIdx].type=DEFAULT_COLDEF.type;};if(Def(this.cells[rowIdx][colIdx]))this.cells[rowIdx][colIdx].setData(data[i-rowStart][j-colStart]);else this.cells[rowIdx][colIdx]=new CCell(this.rows[rowIdx],this.cols[colIdx],data[i-rowStart][j-colStart]);};};for(i=rowCount;i<this.rowCount;i++){rowIdx=this.rowIndex[i];for(j=0;j<this.colCount;j++){colIdx=this.colIndex[j];this.cols[colIdx].index.length=0;if(Undef(this.cells[rowIdx][colIdx]))this.cells[rowIdx][colIdx]=new CCell(this.rows[rowIdx],this.cols[colIdx],null);};};this.paint();};CGp.initDefault=function(){this.rowCount=this.colCount=1;this.rowIndex[0]=this.colIndex[0]=0;this.rows[0]=new CRow(this,0);this.cols[0]=new CColumn(this,0,DEFAULT_COLDEF);this.cells[0]=[];this.cells[0][0]=new CCell(this.rows[0],this.cols[0],"");};CGp.clear=function(){this.rows.length=this.rowIndex.length=this.rowCount=1;this.cols.length=this.colIndex.length=this.colCount=1;this.cells.length=this.cells[0].length=1;this.rowIndex[0]=this.colIndex[0]=this.rows[0]._id=this.cols[0]._id=0;this.cols[0].type=DEFAULT_COLDEF.type;this.cells[0][0].setData("");};CGp.focus=function(){if(Undef(this.curCell))
return;if(this.curCell.state=="edit"){if(Def(document.f.cell))document.f.cell.focus();}else{if(ua.moz){}else{var obj=getObj("c"+this.curCell.row._id+"_"+this.curCell.col._id);if(Def(obj))obj.focus();};};};CGp.getColByTitle=function(title){var colIdx=-1;for(i=0;i<this.cols.length;i++){if(this.cols[i].title==title){colIdx=i;break;};};
return colIdx;};CGp.toHTML=function(){var HTML="<form name=\"f\" onSubmit=\"return false;\"><table cellpadding=0 cellspacing=0 border=1 id=\"table\" _STYLE_>";var style="";var styleAndAction="";var useAutoFilter=false;var tblWidth=20,tblHeight=20;var k,colIdx,rowIdx;k=0;HTML+="\n<tr><td class=\""+this.rowStyle.defaultClass+"\"><br></td>";for(i=0;i<this.colCount;i++){colIdx=this.colIndex[i];if(!this.cols[colIdx].isVisible||this.cols[colIdx]._id<0)continue;tblWidth+=this.cols[colIdx].width;if((Def(this.curCell)&&this.curCell.col==this.cols[colIdx])||(this.cols[colIdx].isMark)){style=this.colStyle.markClass;}else{style=this.colStyle.defaultClass;};styleAndAction=" style=\"width:"+this.cols[colIdx].width+"px;height:"+this.rowStyle.height+"px;\" class=\""+style+"\" onClick=\""+this.name+".setMarkRange("+colIdx+", 1)\"";if(!ua.oldOpera&&!ua.nn4)HTML+="\n\t<td "+styleAndAction+" id=\"col"+colIdx+"\">"+"<table width=100% height=100% border=0 cellpadding=0 cellspacing=0><tr><td align=center class=\""+this.tableStyle.tdClass+"\" id=\"colt"+colIdx+"\">"+"<img class=\""+this.colStyle.dragClass+"\" id=\"cold"+colIdx+"\" src=\"spacer.gif\" border=0 width=2 height=7 align=center>"+this.cols[colIdx].getName(k)+"</td><td width=2><img class=\""+this.colStyle.resizeClass+"\" id=\"colr"+colIdx+"\" src=\"spacer.gif\" border=0 width=2 height="+this.rowStyle.height+"></td></tr></table>"+"</td>";else HTML+="<td align=center "+styleAndAction+" id=\"col"+colIdx+"\">"+this.cols[colIdx].getName(k)+"</td>";k++;};HTML+="</tr>";if(this.useColTitle){HTML+="\n<tr><td class=\""+this.rowStyle.defaultClass+"\" id=\"title\"><table width=100% height=20 border=0 cellpadding=0 cellspacing=0><tr><td align=left class=\""+this.tableStyle.tdClass+"\">&nbsp;1</td></tr></table></td>";for(i=0;i<this.colCount;i++){colIdx=this.colIndex[i];if(!this.cols[colIdx].isVisible||this.cols[colIdx]._id<0)continue;if(Def(this.cols[colIdx].titleClass))styleAndAction=" class="+this.cols[colIdx].titleClass;else styleAndAction=" class="+this.tableStyle.thClass;if(ua.oldOpera||ua.nn4){styleAndAction+=" NOWRAP";}else{styleAndAction+=" \" onClick=\""+this.name+".cols["+colIdx+"].setTitle()\"";}HTML+="\n\t<th"+styleAndAction+" id=\"title"+colIdx+"\" >"+this.cols[colIdx].titleToHTML()+"</th>";useAutoFilter=useAutoFilter||this.cols[colIdx].useAutoFilter;}HTML+="</tr>";}if(this.isUseFilter()){HTML+="\n<tr><td class=\""+this.rowStyle.defaultClass+"\" id=\"filter\"><table width=100% height=20 border=0 cellpadding=0 cellspacing=0><tr><td align=left class=\""+this.tableStyle.tdClass+"\">&nbsp;"+((this.useColTitle)?2:1)+"</td></tr></table></td>";for(i=0;i<this.colCount;i++){colIdx=this.colIndex[i];if(this.cols[colIdx].isVisible)HTML+="<th class=\""+this.tableStyle.thClass+"\">"+this.cols[colIdx].filterToHTML()+"</th>";};HTML+="</tr>";};k=0;HTML+="\n<tr>";for(i=0;i<this.rowCount;i++){rowIdx=this.rowIndex[i];if(!this.rows[rowIdx].isVisible||this.rows[rowIdx]._id<0)continue;tblHeight+=this.rows[rowIdx].height;if(k>0)HTML+="</tr><tr>";if((Def(this.curCell)&&this.curCell.row==this.rows[rowIdx])||(this.rows[rowIdx].isMark)){style=this.rowStyle.markClass;}else{style=this.rowStyle.defaultClass;};styleAndAction=" style=\"width:20px; height:"+this.rows[rowIdx].height+"px;\" class=\""+style+"\" onClick=\""+this.name+".setMarkRange("+rowIdx+", 2)\"";if(!ua.oldOpera&&!ua.nn4)HTML+="\n\t<td "+styleAndAction+" id=\"row"+rowIdx+"\">"+"<table width=100% height=100% border=0 cellpadding=0 cellspacing=0><tr><td align=left class=\""+this.tableStyle.tdClass+"\" id=\"rowt"+rowIdx+"\">"+"<img class=\""+this.rowStyle.dragClass+"\" id=\"rowd"+rowIdx+"\" src=\"spacer.gif\" border=0 width=3 height=8 align=right>"+"&nbsp;"+this.rows[rowIdx].getName(k)+"</td></tr><tr><td height=2><img class=\""+this.rowStyle.resizeClass+"\" id=\"rowr"+rowIdx+"\" src=\"spacer.gif\" border=0 height=2 width=20></td></tr></table>"+"</td>";else HTML+="\n\t<td align=center "+styleAndAction+" id=\"row"+rowIdx+"\">"+this.rows[rowIdx].getName(k)+"</td>";for(j=0;j<this.colCount;j++){colIdx=this.colIndex[j];if(!this.cols[colIdx].isVisible||this.cols[colIdx]._id<0)continue;if(this.cells[rowIdx][colIdx]==this.curCell&&this.cells[rowIdx][colIdx].state=="set")style=this.cellStyle.currClass;else style=this.cellStyle.defaultClass;if(this.cells[rowIdx][colIdx].isMark)style=this.cellStyle.markClass;styleAndAction=" class=\""+style+"\"";HTML+="\n\t<td "+((Def(this.cells[rowIdx][colIdx].alignment))?this.cells[rowIdx][colIdx].alignment:this.cols[colIdx].alignment)+styleAndAction+" id=\"c"+rowIdx+"_"+colIdx+"\">"+this.cells[rowIdx][colIdx].getData()+"</td>";}k++;}HTML+="\n</tr></table></form>";if(!ua.nn4)HTML=HTML.replace(new RegExp("_STYLE_"),"style=\"width:"+tblWidth+"px;height:"+tblHeight+"px;\"");
return HTML;};CGp.searchAtPageToHTML=function(){};CGp.setPage=function(page){this.page=page;if(!ua.oldOpera)this.paint();};CGp.resetSort=function(sortCol){};CGp.setSort=function(sortCol,sortType){};CGp.setMultiSort=function(sortCol,sortType){};CGp.setIndexInRange=function(aRange,colIdx){for(z=0;z<aRange.length;z++){for(y=z+1;y<aRange.length;y++){if(this.cells[aRange[z]][colIdx].compareTo(this.cells[aRange[y]][colIdx],this.cols[colIdx].compareFunction)>0){index=aRange[z];aRange[z]=aRange[y];aRange[y]=index;};};};
return aRange;};CGp.search=function(){var isVisible,data,re=new RegExp(this.searchValue,"gi");for(i=0;i<this.rows.length;i++)this.rows[i].isVisible=true;for(i=0;i<this.rows.length;i++){isVisible=false;for(j=0;j<this.cols.length;j++){data=new String(this.cells[i][j].getDataForFilter());if(this.cols[j].useAutoFilter)this.rows[i].isVisible=this.rows[i].isVisible&&(data==this.cols[j].filterValue||this.cols[j].filterValue=="");if(Def(this.searchValue)&&this.cols[j].type!="Image")isVisible=isVisible||(data.search(re)>-1);};if(Def(this.searchValue))this.rows[i].isVisible=this.rows[i].isVisible&&isVisible;};this.curCell=null;this.setPage(1);};CGp.setFilter=function(filterCol,filterValue){this.cols[filterCol].filterValue=filterValue;this.search();};CGp.setSearch=function(searchValue){if(Undef(searchValue))searchValue="";if(this.searchValue==searchValue)
return;this.searchValue=searchValue;this.search();};CGp.setIndex=function(colIdx){for(i=0;i<this.rowCount;i++)this.cols[colIdx].index[i]=i;for(i=0;i<this.rowCount;i++){for(j=i+1;j<this.rowCount;j++){if(this.cells[this.cols[colIdx].index[i]][colIdx].compareTo(this.cells[this.cols[colIdx].index[j]][colIdx],this.cols[colIdx].compareFunction)>0){index=this.cols[colIdx].index[i];this.cols[colIdx].index[i]=this.cols[colIdx].index[j];this.cols[colIdx].index[j]=index;};};};};CGp.setManualFilter=function(colIdx){if(!this.cols[colIdx].index.length)this.setIndex(colIdx);k=0;filter="";for(i=0;i<this.rowCount;i++)if(filter.valueOf()!=this.cells[this.cols[colIdx].index[i]][colIdx].getDataForFilter().valueOf()){filter=this.cells[this.cols[colIdx].index[i]][colIdx].getDataForFilter();this.cols[colIdx].filter[k]=filter;k++;};};CGp.setAutoFilter=function(){for(colIdx=0;colIdx<this.colCount;colIdx++){if(this.cols[colIdx].useAutoFilter){k=0;filter="";for(i=0;i<this.rowCount;i++)if(filter.valueOf()!=this.cells[this.cols[colIdx].index[i]][colIdx].getDataForFilter().valueOf()){filter=this.cells[this.cols[colIdx].index[i]][colIdx].getDataForFilter();if(Def(filter)){this.cols[colIdx].filter[k]=filter;k++;};};};};};CGp.paint=function(message){var browser=0;if(ua.oldOpera)browser=1;else if(ua.nn4)browser=2;else if(ua.moz)browser=3;switch(browser){case 1:for(z=0;z<this.colCount;z++)if(this.cols[z].type=="Image")this.loadImage(gridDef,z);dw(this.toHTML());break;case 2:lr=CodeThat.findElement(this.name);if(Undef(lr))CT_createLayer(this.name,this.tableStyle.width,this.tableStyle.height,this.tableStyle.y,this.tableStyle.x,0,1,'','#ffffff','','','auto','inline','',1,100,'',this.toHTML());else CT_HTML(this.name,this.toHTML());break;default:lr=CodeThat.findElement("container"+this.name);if(Undef(lr)){var HTML="<div style=\"position:"+((this.tableStyle.position)?"absolute":"relative")+"; top:"+this.tableStyle.y+"; left: "+this.tableStyle.x+"; width:"+this.tableStyle.width+";height:"+(this.toolBar.height+this.statusBar.height+this.tableStyle.height)+";\">";HTML+="<div id=\"tb"+this.name+"\" style=\"background-color:"+this.toolBar.bgcolor+"; position:absolute; top:0; left:0; width:"+this.tableStyle.width+"; height:"+this.toolBar.height+" ;\" class=\""+this.toolBar.defaultClass+"\">"+this.toolBarToHTML()+"</div>";HTML+="<div id=\"sb"+this.name+"\" style=\"background-color:"+this.statusBar.bgcolor+"; position:absolute; top: "+this.toolBar.height+" ; left:0;width:"+this.tableStyle.width+"; height:"+this.statusBar.height+" ;z-index:100;\" class=\""+this.statusBar.defaultClass+"\">"+this.statusBarToHTML()+"</div>";HTML+="<div id=\"container"+this.name+"\" style=\"position:absolute; top:"+(this.toolBar.height+this.statusBar.height)+"; left:0; width:"+this.tableStyle.width+"; height:"+this.tableStyle.height+" ; overflow:auto; z-index:0;\" class=\""+this.tableStyle.tableClass+"\"><div id=\""+this.name+"\" style=\"overflow:visible;\">"+this.toHTML()+"</div></div>";HTML+="</div>";if(this.useExportBar){if(this.tableStyle.position)HTML+="<div id=\"eb"+this.name+"\" style=\"position:absolute; top:"+(this.tableStyle.y+this.toolBar.height+this.statusBar.height+this.tableStyle.height)+";left: "+this.tableStyle.x+";width:"+this.tableStyle.width+";\">"+this.exportBarToHTML()+"</div>";else HTML+="<div id=\"eb"+this.name+"\">"+this.exportBarToHTML()+"</div>";}var ln=unescape('%43%6F%64%65%54%68%61%74%2E%43%6F%6D');HTML+="<div style=\"position:absolute; top:"+(this.tableStyle.y+this.toolBar.height+this.statusBar.height+this.tableStyle.height+((this.useExportBar)?350:5))+";left: "+this.tableStyle.x+";width:"+this.tableStyle.width+";\"><a href=\"http://"+ln+"\"><font color=#aaaaaa size=-2> "+ln+" </font></a></div>";dw(HTML);}else{CT_HTML(this.name,this.toHTML());};break;};};CGp.paintStatusBar=function(message){CT_HTML("sb"+this.name,this.statusBarToHTML(message));if(Def(message))window.status=message;else window.status="";};CGp.setAction=function(funcName,funcParam,actionType){var l;if(ua.oldOpera){l=window.location.href;var stack=[],idx=[],isExist=false,p1=[],p2=[];if(l.indexOf("?")>-1){l=l.slice(l.indexOf("?")+1);while(l.indexOf("&")>-1){stack[stack.length]=l.slice(0,l.indexOf("&"));l=l.slice(l.indexOf("&")+1);}stack[stack.length]=l;for(z=0;z<stack.length;z++){if(stack[z].indexOf(funcName)>-1){idx[idx.length]=z;isExist=true;};};switch(funcName){case "setPage":case "setAmountPerPage":case "setSort":if(isExist)stack[idx[0]]="";break;case "setSearch":if(isExist)stack[idx[0]]="";for(z=0;z<stack.length;z++)if(stack[z].indexOf("setMultiSort")>-1)stack[z]="";break;case "setFilter":case "setMultiSort":if(isExist){p1=eval("["+funcParam+"]");for(z=0;z<idx.length;z++){p2=stack[idx[z]].slice(stack[idx[z]].indexOf("(")+1,stack[idx[z]].indexOf(")"));p2=eval("[\""+p2.replace(new RegExp(",","gi"),"\",\"")+"\"]");if(p2[0]==p1[0])stack[idx[z]]="";};};break;};l=window.location.href.slice(0,window.location.href.indexOf("?")+1);for(z=0;z<stack.length;z++){if(Def(stack[z]))l+=stack[z]+"&";};l+=funcName+"("+funcParam+")";}else{l=window.location.href+"?"+funcName+"("+funcParam+")";};l=l.replace(new RegExp("this.value"),"'+ this.value + '");l=l.replace(new RegExp("document.f.amountPerPage.value"),"'+ document.f.amountPerPage.value + '");l=l.replace(new RegExp("document.f.search.value"),"'+ document.f.search.value + '");}else{l="javascript:"+this.name+"."+funcName+"("+funcParam+");";};
return l;};CGp.doAction=function(){if(ua.oldOpera&&window.location.href.indexOf("?")>1){var func=window.location.href.slice(window.location.href.indexOf("?")+1);var stack=[];var toDo="";while(func.indexOf("&")>-1){stack[stack.length]=func.slice(0,func.indexOf("&"));func=func.slice(func.indexOf("&")+1);};stack[stack.length]=func;if(Def(stack)){for(i=0;i<stack.length;i++){stack[i]=stack[i].replace(new RegExp("\\(","gi"),"(\"").replace(new RegExp(",","gi"),"\",\"").replace(new RegExp("\\)","gi"),"\")");toDo+=this.name+"."+stack[i]+";\n";}eval(toDo);}this.paint();}else{if(ua.moz&&Def(w)){window.location.reload();w=null;};this.paint();};CT_regEvents(this);};CGp.addRow=function(offset){if(Undef(this.curCell)){if(this.markType==2){rowIdx=this.rowIndex.indexOf(this.markRange[0]);}else{alert("Choose cell or row before!");this.paintStatusBar();
return;};}else{if(this.sortType<0){this.rowIndex.reverse();this.sortType=1;};rowIdx=this.rowIndex.indexOf(this.curCell.row._id);}if(offset>0)rowIdx+=offset;if(this.markType!=2)this.clearMarkRange();this.rows[this.rowCount]=new CRow(this,this.rowCount);this.rowIndex[this.rowCount]=this.rowCount;this.cells[this.rowCount]=[];for(i=0;i<this.colCount;i++){this.cells[this.rowCount][i]=new CCell(this.rows[this.rowCount],this.cols[i],null);if(this.cols[i].index.length)this.cols[i].index=[];}if(rowIdx<this.rowCount){for(i=this.rowCount;i>rowIdx;i--){this.rowIndex[i]=this.rowIndex[i-1];};this.rowIndex[rowIdx]=this.rowCount;}this.rowCount=this.rows.length;this.paint();};CGp.delRow=function(){var rowIdx=[];if(Undef(this.curCell)){if(this.markType==2){rowIdx.setValue(this.markRange);}else{alert("Choose cell or row before!");this.paintStatusBar();
return;};}else{rowIdx[0]=this.curCell.row._id;};this.clearMarkRange();this.curCell=null;for(j=0;j<rowIdx.length;j++){this.rows[rowIdx[j]]._id=(!this.rows[rowIdx[j]]._id)?-0.1:-1*this.rows[rowIdx[j]]._id;for(i=0;i<this.colCount;i++)this.cells[rowIdx[j]][i].setData("");};if(this.countExist(true)==0)this.clear();this.paint();};CGp.addCol=function(offset){if(Undef(this.curCell)){if(this.markType==1){colIdx=this.colIndex.indexOf(this.markRange[0]);}else{alert("Choose cell or column before!");this.paintStatusBar();
return;};}else{colIdx=this.colIndex.indexOf(this.curCell.col._id);};if(offset>0)colIdx+=offset;if(this.markType!=1)this.clearMarkRange();this.cols[this.colCount]=new CColumn(this,this.colCount,DEFAULT_COLDEF);this.colIndex[this.colCount]=this.colCount;for(i=0;i<this.rowCount;i++){this.cells[i][this.colCount]=new CCell(this.rows[i],this.cols[this.colCount],null);}if(colIdx<this.colCount){for(i=this.colCount;i>colIdx;i--){this.colIndex[i]=this.colIndex[i-1];};this.colIndex[colIdx]=this.colCount;}this.colCount=this.cols.length;this.paint();};CGp.delCol=function(){var colIdx=[];if(Undef(this.curCell)){if(this.markType==1){colIdx.setValue(this.markRange);}else{alert("Choose cell or column before!");this.paintStatusBar();
return;};}else{colIdx[0]=this.curCell.col._id;};this.clearMarkRange();this.curCell=null;for(j=0;j<colIdx.length;j++){this.cols[colIdx[j]]._id=(!this.cols[colIdx[j]]._id)?-0.1:-1*this.cols[colIdx[j]]._id;for(i=0;i<this.rowCount;i++)this.cells[i][colIdx[j]].setData("");};if(this.countExist(false)==0)this.clear();this.paint();};CGp.setCurCellStyle=function(param,value){if(Def(this.curCell)){this.curCell.setStyle(param,value);}else{if(this.markType==1||this.markType==2){for(i=0;i<this.rowCount&&this.markType==1;i++)for(j=0;j<this.markRange.length;j++)this.cells[i][this.markRange[j]].setStyle(param,value);for(i=0;i<this.colCount&&this.markType==2;i++)for(j=0;j<this.markRange.length;j++)this.cells[this.markRange[j]][i].setStyle(param,value);}else{alert("Choose cell before!");};};};CGp.setCurCell=function(cell){if(this.curCell!=cell){if(Def(this.curCell))this.curCell.setState("");this.curCell=cell;if(Def(this.curCell))this.curCell.setState("set");}else{if(Def(this.curCell)){if(this.colCount==1&&this.rowCount==1&&this.curCell.state=="edit")this.curCell.setState("set");else this.curCell.setState("edit");};};};CGp.toolBarToHTML=function(){var img_on,img_off,href="";var HTML="<table cellpadding=1 cellspacing=1 border=0 class="+this.toolBar.defaultClass+"><tr>";for(i=0;Def(this.toolBar.buttons)&&i<this.toolBar.buttons.length;i++){if(Undef(this.toolBar.buttons[i].name)){HTML+="<th class="+this.toolBar.defaultClass+"><span class=separator></span></th>";}else{switch(this.toolBar.buttons[i].name){case "addrowto":href=this.name+".addRow(-1)";break;case "addrowafter":href=this.name+".addRow(+1)";break;case "delrow":href=this.name+".delRow()";break;case "addcolto":href=this.name+".addCol(-1)";break;case "addcolafter":href=this.name+".addCol(+1)";break;case "delcol":href=this.name+".delCol()";break;case "sortasc":href=this.name+".setSort(null, 1)";break;case "sortdesc":href=this.name+".setSort(null, -1)";break;case "multisortasc":if(!this.useMultiSort)continue;href=this.name+".setMultiSort(null, 1)";break;case "multisortdesc":if(!this.useMultiSort)continue;href=this.name+".setMultiSort(null, -1)";break;case "copy":href=this.name+".copy()";break;case "paste":href=this.name+".paste()";break;case "formatbold":href=this.name+".setCurCellStyle('fontWeight', '')";break;case "formatitalic":href=this.name+".setCurCellStyle('fontStyle', '')";break;case "formatunderline":href=this.name+".setCurCellStyle('textDecoration', '')";break;case "alignleft":href=this.name+".setCurCellStyle('textAlign', 'left')";break;case "aligncenter":href=this.name+".setCurCellStyle('textAlign', 'center')";break;case "alignright":href=this.name+".setCurCellStyle('textAlign', 'right')";break;};img_on=new Image();img_on.src=this.toolBar.buttons[i].img_on.src;img_on.width=this.toolBar.buttons[i].img_on.width;img_on.height=this.toolBar.buttons[i].img_on.height;img_on.alt=(this.toolBar.buttons[i].showMessage)?this.toolBar.buttons[i].text+" ...":this.toolBar.buttons[i].text;img_on.id=this.toolBar.buttons[i].name;img_on.border=0;if(Def(this.toolBar.buttons[i].img_off)){img_off=new Image();img_off.src=this.toolBar.buttons[i].img_off.src;img_off.width=this.toolBar.buttons[i].img_off.width;img_off.height=this.toolBar.buttons[i].img_off.height;img_off.alt=(this.toolBar.buttons[i].showMessage)?this.toolBar.buttons[i].text+" ...":this.toolBar.buttons[i].text;img_off.id=this.toolBar.buttons[i].name;img_off.border=0;}else{img_off=null;};HTML+="<th class="+this.toolBar.defaultClass+"><a href=\"javascript:"+href+";\"";if(Def(img_off)){HTML+=" onMouseOut=\"document.images['"+this.toolBar.buttons[i].name+"'].src ='"+img_off.src+"';\""+" onMouseOver =\"document.images['"+this.toolBar.buttons[i].name+"'].src ='"+img_on.src+"';\"";HTML+=">"+makeImgTag(img_off);}else{HTML+=">"+makeImgTag(img_on);};HTML+="</a></th>";};};if(Def(this.toolBar.searchControl)){HTML+="<th class="+this.toolBar.defaultClass+"><span class=separator></span></th>";HTML+="<form name=\"f1\" onSubmit=\"return false;\"><th align=left class="+this.toolBar.defaultClass+"><input type=\"text\" maxlength=\"256\" value=\""+this.searchValue+"\" name=\"search\" style=\"width:100px;\">";if(Def(this.toolBar.searchControl.img_on)){img_on=new Image();img_on.src=this.toolBar.searchControl.img_on.src;img_on.width=this.toolBar.searchControl.img_on.width;img_on.height=this.toolBar.searchControl.img_on.height;img_on.alt=this.toolBar.searchControl.text_on;HTML+=" <input type=\"button\" name=\"b\" title=\""+img_on.alt+"\" style=\"cursor:hand;border:0;width:"+img_on.width+";height:"+img_on.height+";background-image:url("+img_on.src+")\" value=\"&nbsp;\" onClick=\""+this.name+".setSearch(this.form.elements['search'].value);\">";}else{HTML+=" <input type=\"button\" name=\"b\" value=\""+this.toolBar.searchControl.text_on+"\" onClick=\""+this.name+".setSearch(this.form.elements['search'].value);\">";};if(Def(this.toolBar.searchControl.img_on)){img_off=new Image();img_off.src=this.toolBar.searchControl.img_off.src;img_off.width=this.toolBar.searchControl.img_off.width;img_off.height=this.toolBar.searchControl.img_off.height;img_off.alt=this.toolBar.searchControl.text_off;HTML+=" <input type=\"button\" name=\"b1\" title=\""+img_off.alt+"\" style=\"cursor:hand;border:0;width:"+img_off.width+";height:"+img_off.height+";background-image:url("+img_off.src+")\" value=\"&nbsp;\" onClick=\""+this.name+".setSearch('');\">";}else{HTML+=" <input type=\"button\" name=\"b1\" value=\""+this.toolBar.searchControl.text_off+"\" onClick=\""+this.name+".setSearch('');\">";};HTML+="</th></form>";};HTML+="</tr></table>";
return HTML;};CGp.statusBarToHTML=function(message){var HTML="<table cellpadding=0 cellspacing=0 border=0 class=\""+this.statusBar.defaultClass+"\"><tr>";if(Def(this.curCell)){var colIdx=this.colIndex.indexOf(this.curCell.col._id);var rowIdx=this.rowIndex.indexOf(this.curCell.row._id);HTML+="<td>&nbsp;</td><td valign=top>"+this.statusBar.fieldText+": </td><td width=30 valign=top>"+this.curCell.col.getName(colIdx)+this.curCell.row.getName(rowIdx)+"</td>";HTML+="<td>&nbsp;</td><td valign=top>"+this.statusBar.valueText+": </td><td valign=top>"+this.curCell.getDataForFilter()+"</td>";}else{HTML+="<td>&nbsp;</td><td valign=top>"+this.statusBar.fieldText+": </td><td width=30>&nbsp;</td>";HTML+="<td>&nbsp;</td><td valign=top>"+this.statusBar.valueText+": </td><td>&nbsp;</td>";};if(Def(message)){HTML="<td><font class=\""+this.statusBar.messageClass+"\">"+message+"</font></td>";};HTML+="</tr></table>";
return HTML;};CGp.exportBarToHTML=function(){var HTML="<form name=\"exportForm\" method=\"get\" onSubmit=\"return false;\">";HTML+="<br><textarea name=\"csv\" rows=20 cols=90 style=\"width:"+this.tableStyle.width+";overflow:auto;\" onSelect=\""+this.name+".clip = this.value;\"></textarea><br>"+" <br><input type=\"button\" value=\"Export to CSV\" onClick=\"exportForm.csv.value = "+this.name+".toCSV()\">"+" <input type=\"button\" value=\"Export to XML\" onClick=\"exportForm.csv.value = "+this.name+".toXML()\">";HTML+="</form>";
return HTML;};CGp.isUseFilter=function(){var useFilter=false;for(z=0;z<this.colCount&&!useFilter;z++)useFilter=useFilter||this.cols[z].useAutoFilter;
return useFilter;};CGp.countExist=function(isRow){var countExist=0;if(isRow)for(z=0;z<this.rowCount;z++){if(this.rows[z]._id>=0)countExist++;}else for(z=0;z<this.colCount;z++){if(this.cols[z]._id>=0)countExist++;}
return countExist;};CGp.setMarkRange=function(markRange,markType){this.clearMarkRange(markType);var curIdx,idx;this.markType=markType;switch(this.markType){case 1:this.markType=0;this.setCurCell(null);this.markType=markType;curIdx=this.markRange.indexOf(markRange);if(isShift){if(this.markRange.length>0)curIdx=this.markRange[this.markRange.length-1];else curIdx=markRange;this.markRange.length--;curIdx=this.colIndex.indexOf(curIdx);markRange=this.colIndex.indexOf(markRange);if(curIdx>markRange){idx=curIdx;curIdx=markRange;markRange=idx;};for(y=curIdx;y<=markRange;y++){this.markRange[this.markRange.length]=this.colIndex[y];};}else{if(curIdx==-1)this.markRange[this.markRange.length]=markRange;};for(y=0;y<this.markRange.length;y++)this.cols[this.markRange[y]].setMark(true);break;case 2:this.markType=0;this.setCurCell(null);this.markType=markType;curIdx=this.markRange.indexOf(markRange);if(isShift){if(this.markRange.length>0)curIdx=this.markRange[this.markRange.length-1];else curIdx=markRange;this.markRange.length--;curIdx=this.rowIndex.indexOf(curIdx);markRange=this.rowIndex.indexOf(markRange);if(curIdx>markRange){idx=curIdx;curIdx=markRange;markRange=idx;};for(y=curIdx;y<=markRange;y++){this.markRange[this.markRange.length]=this.rowIndex[y];};}else{if(curIdx==-1)this.markRange[this.markRange.length]=markRange;};for(y=0;y<this.markRange.length;y++)if(this.markType==1)this.cols[this.markRange[y]].setMark(true);else this.rows[this.markRange[y]].setMark(true);break;case 3:markRange[0]=this.rowIndex.indexOf(markRange[0]);markRange[1]=this.colIndex.indexOf(markRange[1]);markRange[2]=this.rowIndex.indexOf(markRange[2]);markRange[3]=this.colIndex.indexOf(markRange[3]);if(markRange[0]>markRange[2]){curIdx=markRange[2];markRange[2]=markRange[0];markRange[0]=curIdx;};if(markRange[1]>markRange[3]){curIdx=markRange[3];markRange[3]=markRange[1];markRange[1]=curIdx;};this.markRange.setValue(markRange);for(y=this.markRange[0];y<=this.markRange[2];y++)for(x=this.markRange[1];x<=this.markRange[3];x++)if(this.cells[this.rowIndex[y]][this.colIndex[x]]!=this.curCell)this.cells[this.rowIndex[y]][this.colIndex[x]].setMark(true);for(y=this.markRange[0];y<=this.markRange[2];y++)if(this.rows[this.rowIndex[y]]._id>-1)changeCSS("row"+this.rowIndex[y],this.rowStyle.markClass);for(y=this.markRange[1];y<=this.markRange[3];y++)if(this.cols[this.colIndex[y]]._id>-1)changeCSS("col"+this.colIndex[y],this.colStyle.markClass);break;};};CGp.clearMarkRange=function(markType){if(this.markType==0)
return;if(this.markType==markType&&(isCtrl||isShift))
return;switch(this.markType){case 1:case 2:for(y=0;y<this.markRange.length;y++)if(this.markType==1)this.cols[this.markRange[y]].setMark(false);else this.rows[this.markRange[y]].setMark(false);break;case 3:for(y=this.markRange[0];y<=this.markRange[2];y++)for(x=this.markRange[1];x<=this.markRange[3];x++)this.cells[this.rowIndex[y]][this.colIndex[x]].setMark(false);for(y=this.markRange[0];y<=this.markRange[2];y++)if(this.rows[this.rowIndex[y]]._id>-1)changeCSS("row"+this.rowIndex[y],this.rowStyle.defaultClass);for(y=this.markRange[1];y<=this.markRange[3];y++)if(this.cols[this.colIndex[y]]._id>-1)changeCSS("col"+this.colIndex[y],this.colStyle.defaultClass);break;};this.markType=0;this.markRange.length=0;};CGp.copy=function(){this.clip=this.toCSV("\t",true)+"";this.setClipData(this.clip);};CGp.paste=function(){if(Undef(this.curCell)){alert("Choose cell before!");this.paintStatusBar();
return;}if(Undef(this.clip)&&Def(this.getClipData())){this.clip=this.getClipData();if(this.clip.indexOf("\t")==-1)this.clip=this.clip.replace(/;/ig,"\t");};this.loadData(0,this.fromCSV(this.clip,"\t"),this.curCell);this.paintStatusBar();};CGp.getClipData=function(){if(!ua.ie&&!ua.moz)
return null;if(ua.ie){
return window.clipboardData.getData("Text");}if(ua.moz){netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');var clip=Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);if(!clip)
return;var trans=Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);if(!trans)
return;trans.addDataFlavor('text/unicode');clip.getData(trans,clip.kGlobalClipboard);var str=new Object();var len=new Object();eval("try { trans.getTransferData('text/unicode',str,len); }catch(exception) { return; }");if(str){if(Components.interfaces.nsISupportsWString)str=str.value.QueryInterface(Components.interfaces.nsISupportsWString);else if(Components.interfaces.nsISupportsString)str=str.value.QueryInterface(Components.interfaces.nsISupportsString);else str=null;}if(str)
return(str.data.substring(0,len.value/2));};};CGp.setClipData=function(data){if(!ua.ie)
return;window.clipboardData.setData("Text",data);};};function CRow(grid,id){this.grid=grid;this._id=id;this.isMark=false;this.isVisible=true;this.alignment="";this.height=grid.rowStyle.height;};{var CRp=CRow.prototype;CRp.getName=function(name){if(Undef(name))name=this._id;name+=1;if(this.grid.useColTitle)name+=1;if(this.grid.isUseFilter())name+=1;
return name;};CRp.setMark=function(isMark){if(Undef(isMark))isMark=!this.isMark;var htmlObjName="row"+this._id;this.isMark=isMark;if(this.isMark)changeCSS(htmlObjName,this.grid.rowStyle.markClass);else changeCSS(htmlObjName,this.grid.rowStyle.defaultClass);for(z=0;z<this.grid.colCount;z++){this.grid.cells[this._id][z].setMark(isMark);};};};function CColumn(grid,id,colDef){this.grid=grid;this._id=id;if(Undef(colDef))colDef={};this.title=colDef.title;this.titleClass=colDef.titleClass;this.type=colDef.type;this.filterValue="";this.index=[];this.filter=[];this.isVisible=colDef.isVisible;this.compareFunction=colDef.compareFunction;this.alignment=(colDef.alignment!="")?"align="+colDef.alignment:"";this.width=(colDef.width>0)?colDef.width:grid.colStyle.width;this.useAutoIndex=colDef.useAutoIndex;this.useAutoFilter=colDef.useAutoIndex&&colDef.useAutoFilter;this.isMark=false;this.format="";this.formatFunction=null;this.parseFunction=null;};{var CCp=CColumn.prototype;CCp.setTitle=function(){var title=prompt("Set title",this.title);if(title){this.title=title;changeContent("title"+this._id,this.titleToHTML());}else{}};CCp.printHREF=function(sortAction,sortType,hrefObj){
return " <a href=\""+this.grid.setAction(sortAction,this._id+","+sortType)+"\">"+hrefObj+"</a> ";};CCp.titleToHTML=function(){var HTML="";if(ua.oldOpera||ua.nn4){var action="";var imgSortDesc="<img src=\"sortDesc.gif\" width=16 height=16 border=0 alt=\"sortAsc\">",imgSortAsc="<img src=\"sortAsc.gif\" width=16 height=16 border=0 alt=\"sortAsc\">",imgSortDescActive="<img src=\"sortDesc.gif\" width=16 height=16 border=0 alt=\"sortAsc\">",imgSortAscActive="<img src=\"sortAsc.gif\" width=16 height=16 border=0 alt=\"sortAsc\">",imgMultiSortAscActive="<img src=\"sortAscM.gif\" width=16 height=16 border=0 alt=\"sortAsc\">",imgMultiSortDescActive="<img src=\"sortAscM.gif\" width=16 height=16 border=0 alt=\"sortAsc\">";if(this.grid.sortCol==this._id){if(this.useMultiSort)action="setMultiSort";else action="setSort";if(this.grid.sortType==1){HTML=this.printHREF(action,-1,imgSortDesc)+this.printHREF(action,(-1*this.grid.sortType),this.title)+imgSortAscActive;}else{HTML=imgSortDescActive+this.printHREF(action,(-1*this.grid.sortType),this.title)+this.printHREF(action,1,imgSortAsc);};}else{action="setSort";HTML=this.printHREF(action,-1,imgSortDesc)+this.printHREF(action,(-1*this.grid.sortType),this.title)+this.printHREF(action,1,imgSortAsc);if(this.grid.useMultiSort&&this.grid.sortCol>-1){action="setMultiSort";if(this.grid.multiSortCol.indexOf(this._id)>-1){if(this.grid.multiSortType[this.grid.multiSortCol.indexOf(this._id)]==1){HTML=this.printHREF(action,-1,imgSortDesc)+HTML+imgMultiSortAscActive;}else{HTML=imgMultiSortDescActive+HTML+this.printHREF(action,1,imgSortAsc);};}else{HTML=this.printHREF(action,-1,imgSortDesc)+HTML+this.printHREF(action,1,imgSortAsc);};};};}else{HTML=this.title+"&nbsp;";};
return HTML;};CCp.filterToHTML=function(){if(!this.filter.length)
return "&nbsp;";if(!this.useAutoFilter)
return "&nbsp;";var action=this.grid.name+".setFilter("+this._id+", this.options[this.selectedIndex].value);";var link="";if(ua.nn4){action="";link="<a href=\""+this.grid.setAction("setFilter",this._id+", window.document.layers['"+this.grid.name+"'].document.f.filter"+this._id+".options[window.document.layers['"+this.grid.name+"'].document.f.filter"+this._id+".selectedIndex].value")+"\">go</a>";}if(ua.oldOpera){action="window.location.href='"+this.grid.setAction("setFilter",this._id+",this.value")+"'";}var HTML="<select name=\"filter"+this._id+"\" onChange=\""+action+"\"><option value=\"\">"+EMPTY_ROW+"</option>";for(z=0;z<this.filter.length;z++){HTML+="<option value=\""+this.filter[z]+"\"";if(this.filter[z]==this.filterValue)HTML+=" selected ";HTML+=">"+this.filter[z]+"</option>";}HTML+="</select> "+link;
return HTML;};CCp.getName=function(num){if(Undef(num))num=this._id;var basis=26,offset=65,order=[],name="";while(num>basis){order[order.length]=num%basis;num=num/basis;}order[order.length]=num%basis;if(order.length>1)if(order[order.length-1]>0)order[order.length-1]--;for(z=order.length-1;z>-1;z--){name+=String.fromCharCode(order[z]*1+offset);}
return name;};CCp.setMark=function(isMark){if(Undef(isMark))isMark=!this.isMark;var htmlObjName="col"+this._id;this.isMark=isMark;if(this.isMark)changeCSS(htmlObjName,this.grid.colStyle.markClass);else changeCSS(htmlObjName,this.grid.colStyle.defaultClass);for(z=0;z<this.grid.rowCount;z++){this.grid.cells[z][this._id].setMark(isMark);};};};function CCell(row,col,data){this.row=row;this.col=col;this.setData(data);this.isMark=false;this.isItalic=false;this.isBold=false;this.isUnderline=false;this.alignment="";this.state="";};{var CCp=CCell.prototype;CCp.compareTo=function(cell,compareFunc){
return compareFunc(this.data,cell.data);};CCp.setData=function(data){var err=0,datas=data;switch(this.col.type){case "String":data=parseString(data);break;case "Date":data=parseDate(data,DATE_FORMAT);if(Def(datas)&&data==null)err=1;break;case "Number":data=parseNumber(data);if(Def(datas)&&isNaN(parseFloat(datas)))err=1;break;case "Currency":data=parseCurrency(data,"$");if(Def(datas)&&isNaN(parseFloat(datas)))err=1;break;case "HTML":data=parseHTML(data);break;case "Email":data=parseEmail(data);break;case "Url":data=parseURL(data);break;case "Image":data=parseImage(data);break;};if(err){alert("Data \""+datas+"\" can't be cast as "+this.col.type+"!");data=this.data;}if(Def(data)&&this.data!=data){this.data=data;if(this.col.index.length==this.col.grid.rows.length){this.col.index=[];if(this.col.useAutoFilter){this.col.grid.setManualFilter(this.col._id);this.col.grid.paint();};};
return;};this.data=data;};CCp.getData=function(){switch(this.col.type){case "Date":data=formatDate(this.data,DATE_FORMAT);break;case "Currency":data=formatCurrency(this.data," $");break;case "String":data=formatString(this.data);break;case "Number":data=formatNumber(this.data);break;case "HTML":data=formatHTML(this.data);break;case "Email":data=formatEmail(this.data);break;case "URL":data=formatURL(this.data,"blank");break;case "Image":data=formatImage(this.data);break;default:data=this.data;break;};var style="";if(this.isBold)style+="font-weight:bold;";if(this.isItalic)style+="font-style:italic;";if(this.isUnderline)style+="text-decoration:underline;";if(Def(style)){data="<span style=\""+style+"\">"+data+"</span>";}
return data;};CCp.getDataForFilter=function(){switch(this.col.type){case "Date":if(Undef(this.data))data="";else data=formatDate(this.data,DATE_FORMAT);break;case "Currency":if(Undef(this.data))data="";else data=formatCurrency(this.data," $");break;case "Image":if(this.data.src.indexOf("undefined")<0){start=((this.data.src.lastIndexOf("/")<0)?this.data.src.lastIndexOf("\\"):this.data.src.lastIndexOf("/"))+1;data=this.data.src.slice(start);}else data="No image";break;default:if(Undef(this.data))data="";else data=this.data;break;};
return data;};CCp.getDataForEdit=function(){switch(this.col.type){case "Date":if(Undef(this.data))data="";else data=formatDate(this.data,DATE_FORMAT);break;case "Image":if(this.data.width>0)data="{src: \""+this.data.src+"\", width: "+this.data.width+", height: "+this.data.height+"}";else data="{}";break;default:if(Undef(this.data))data="";else data=this.data;break;};
return new String(data);};CCp.setAlign=function(align){this.alignment=(Def(align))?"align=\""+align+"\"":"";};CCp.getEditControl=function(){var HTML="";switch(this.col.type){case "String":case "HTML":HTML+="<textarea name=\"cell\" rows=1 cols=10 _STYLE_>"+this.getDataForEdit()+"</textarea>";break;case "Image":alert("This element can't be edited!");this.state="set";HTML+=this.getData();break;case "Date":HTML+="<input name=\"cell\" type=\"text\" _STYLE_ value=\""+this.getDataForEdit()+"\" maxlength=\""+DATE_FORMAT.length+"\">";break;case "Currency":HTML+="<input name=\"cell\" type=\"text\" _STYLE_ value=\""+this.getDataForEdit()+"\" maxlength=10>";break;case "Number":HTML+="<input name=\"cell\" type=\"text\" _STYLE_ value=\""+this.getDataForEdit()+"\" maxlength=10>";break;case "Email":case "URL":default:HTML+="<input name=\"cell\" type=\"text\" _STYLE_ value=\""+this.getDataForEdit()+"\">";break;};var obj=getObj("c"+this.row._id+"_"+this.col._id);
return HTML.replace(new RegExp("_STYLE_"),"style=\"width:"+(this.col.width)+"px;height:"+((Def(obj))?(obj.clientHeight+5):this.row.height)+" px;\"");};CCp.setStyle=function(param,value){var htmlObjName="c"+this.row._id+"_"+this.col._id;switch(param){case "textAlign":this.setAlign(value);break;case "fontWeight":this.isBold=!(this.isBold);break;case "fontStyle":this.isItalic=!(this.isItalic);break;case "textDecoration":this.isUnderline=!(this.isUnderline);break;};if(this.state!="edit"){if(param=="textAlign")changeStyleParam(htmlObjName,param,value);else changeContent(htmlObjName,this.getData());};};CCp.setState=function(state){var htmlObjName="c"+this.row._id+"_"+this.col._id;var htmlObjRow="row"+this.row._id;var htmlObjCol="col"+this.col._id;if(Undef(state))state="";if(this.row.grid.markType>0)this.row.grid.clearMarkRange(0);if(this.state!=state){if(this.state=="edit"){if(Def(document.f.cell))this.setData(document.f.cell.value);changeContent(htmlObjName,this.getData());}switch(state){case "set":changeCSS(htmlObjName,this.row.grid.cellStyle.currClass);changeCSS(htmlObjRow,this.row.grid.rowStyle.markClass);changeCSS(htmlObjCol,this.row.grid.colStyle.markClass);this.row.grid.paintStatusBar();break;case "edit":changeContent(htmlObjName,this.getEditControl());if(ua.moz&&Def(document.f.cell))document.f.cell.value=this.getDataForEdit();break;default:if(!this.isMark)changeCSS(htmlObjName,this.row.grid.cellStyle.defaultClass);else changeCSS(htmlObjName,this.row.grid.cellStyle.markClass);if(!this.row.isMark)changeCSS(htmlObjRow,this.row.grid.rowStyle.defaultClass);if(!this.col.isMark)changeCSS(htmlObjCol,this.row.grid.colStyle.defaultClass);break;};this.state=state;};};CCp.setMark=function(isMark){if(this.row._id<0||this.col._id<0)
return;var htmlObjName="c"+this.row._id+"_"+this.col._id;if(Undef(isMark))isMark=!this.isMark;this.isMark=isMark;if(this.isMark)changeCSS(htmlObjName,this.row.grid.cellStyle.markClass);else changeCSS(htmlObjName,this.row.grid.cellStyle.defaultClass);};};{var isEnter=false,isShift=false,isCtrl=false,isUp=true;var x=0,y=0,range=[];var curGridObj=null,curId=null,w=null;function CT_regEvents(gridObj){if(ua.nn4||ua.oldOpera)
return;CodeThat.regEventHandler('keydown',CT_onKeyDown);CodeThat.regEventHandler('mousedown',CT_setMessage,getObj('tb'+gridObj.name));CodeThat.regEventHandler('selectstart',CT_onSelectStart,getObj(gridObj.name));CodeThat.regEventHandler('click',CT_onMouseEvent,getObj(gridObj.name));CodeThat.regEventHandler('mousemove',CT_onMouseEvent,getObj(gridObj.name));CodeThat.regEventHandler('mousedown',CT_onMouseEvent,getObj(gridObj.name));CodeThat.regEventHandler('mouseup',CT_onMouseEvent,getObj(gridObj.name));curGridObj=gridObj;};function CT_onKeyDown(e){if(e._e.keyCode==13){isEnter=true;var obj=((ua.moz)?e._e.target:e._e.srcElement);if(obj.name=="search"){curGridObj.setSearch(obj.value);};}else isEnter=false;curGridObj.onKeyPress(e);};function CT_onMouseEvent(e){isShift=(ua.opera7)?e._e.ctrlKey:e._e.shiftKey;isCtrl=(ua.opera7)?e._e.shiftKey:e._e.ctrlKey;switch(e._e.type){case "mouseup":isUp=true;break;case "click":isUp=true;break;};curGridObj.onMouseEvent(e);};function CT_onSelectStart(e){if(Def(e._e.srcElement))if(e._e.srcElement.tagName=="TD"||e._e.srcElement.tagName=="TH"){e._e.returnValue=false;};};function CT_setMessage(e){var src=(ua.moz)?e._e.target:e._e.srcElement;if(Def(src.alt)&&src.alt.indexOf("...")>-1){curGridObj.paintStatusBar(src.alt);};};};