var globalActiveDHTMLGridObject;String.prototype._dhx_trim=function(){return this.replace(/&nbsp;/g," ").replace(/(^[ \t]*)|([ \t]*$)/g,"")};function dhtmlxArray(a){return dhtmlXHeir((a||new Array()),dhtmlxArray._master)}dhtmlxArray._master={_dhx_find:function(b){for(var a=0;a<this.length;a++){if(b==this[a]){return a}}return -1},_dhx_insertAt:function(c,b){this[this.length]=null;for(var a=this.length-1;a>=c;a--){this[a]=this[a-1]}this[c]=b},_dhx_removeAt:function(a){this.splice(a,1)},_dhx_swapItems:function(a,c){var b=this[a];this[a]=this[c];this[c]=b}};function dhtmlXGridObject(id){if(_isIE){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}}if(id){if(typeof(id)=="object"){this.entBox=id;this.entBox.id="cgrid2_"+this.uid()}else{this.entBox=document.getElementById(id)}}else{this.entBox=document.createElement("DIV");this.entBox.id="cgrid2_"+this.uid()}this.entBox.innerHTML="";dhtmlxEventable(this);var self=this;this._wcorr=0;this.cell=null;this.row=null;this.iconURL="";this.editor=null;this._f2kE=true;this._dclE=true;this.combos=new Array(0);this.defVal=new Array(0);this.rowsAr={};this.rowsBuffer=dhtmlxArray();this.rowsCol=dhtmlxArray();this._data_cache={};this._ecache={};this._ud_enabled=true;this.xmlLoader=new dtmlXMLLoaderObject(this.doLoadDetails,this,true,this.no_cashe);this._maskArr=[];this.selectedRows=dhtmlxArray();this.UserData={};this._sizeFix=this._borderFix=0;this.entBox.className+=" gridbox";this.entBox.style.width=this.entBox.getAttribute("width")||(window.getComputedStyle?(this.entBox.style.width||window.getComputedStyle(this.entBox,null)["width"]):(this.entBox.currentStyle?this.entBox.currentStyle.width:this.entBox.style.width||0))||"100%";this.entBox.style.height=this.entBox.getAttribute("height")||(window.getComputedStyle?(this.entBox.style.height||window.getComputedStyle(this.entBox,null)["height"]):(this.entBox.currentStyle?this.entBox.currentStyle.height:this.entBox.style.height||0))||"100%";this.entBox.style.cursor="default";this.entBox.onselectstart=function(){return false};var t_creator=function(name){var t=document.createElement("TABLE");t.cellSpacing=t.cellPadding=0;t.style.cssText="width:100%;table-layout:fixed;";t.className=name.substr(2);return t};this.obj=t_creator("c_obj");this.hdr=t_creator("c_hdr");this.hdr.style.marginRight="20px";this.hdr.style.paddingRight="20px";this.objBox=document.createElement("DIV");this.objBox.style.width="100%";this.objBox.style.overflow="visible";this.objBox.appendChild(this.obj);this.objBox.className="objbox";this.hdrBox=document.createElement("DIV");this.hdrBox.style.width="100%";this.hdrBox.style.height="25px";this.hdrBox.style.overflow="hidden";this.hdrBox.className="xhdr";this.preloadImagesAr=new Array(0);this.sortImg=document.createElement("IMG");this.sortImg.style.display="none";this.hdrBox.appendChild(this.sortImg);this.hdrBox.appendChild(this.hdr);this.hdrBox.style.position="relative";this.entBox.appendChild(this.hdrBox);this.entBox.appendChild(this.objBox);this.entBox.grid=this;this.objBox.grid=this;this.hdrBox.grid=this;this.obj.grid=this;this.hdr.grid=this;this.cellWidthPX=[];this.cellWidthPC=[];this.cellWidthType=this.entBox.cellwidthtype||"px";this.delim=this.entBox.delimiter||",";this._csvDelim=",";this.hdrLabels=[];this.columnIds=[];this.columnColor=[];this._hrrar=[];this.cellType=dhtmlxArray();this.cellAlign=[];this.initCellWidth=[];this.fldSort=[];this._srdh=(_isIE&&(document.compatMode!="BackCompat")?24:20);this.imgURL=window.dhx_globalImgPath||"";this.isActive=false;this.isEditable=true;this.useImagesInHeader=false;this.pagingOn=false;this.rowsBufferOutSize=0;dhtmlxEvent(window,"unload",function(){try{if(self.destructor){self.destructor()}}catch(e){}});this.setSkin=function(name){this.skin_name=name;this.entBox.className="gridbox gridbox_"+name;this.skin_h_correction=0;this.enableAlterCss("ev_"+name,"odd_"+name,this.isTreeGrid());this._fixAlterCss();switch(name){case"clear":this._topMb=document.createElement("DIV");this._topMb.className="topMumba";this._topMb.innerHTML="<img style='left:0px' src='"+this.imgURL+"skinC_top_left.gif'><img style='right:20px' src='"+this.imgURL+"skinC_top_right.gif'>";this.entBox.appendChild(this._topMb);this._botMb=document.createElement("DIV");this._botMb.className="bottomMumba";this._botMb.innerHTML="<img style='left:0px' src='"+this.imgURL+"skinD_bottom_left.gif'><img style='right:20px' src='"+this.imgURL+"skinD_bottom_right.gif'>";this.entBox.appendChild(this._botMb);this.entBox.style.position="relative";this.skin_h_correction=20;break;case"dhx_skyblue":case"glassy_blue":case"dhx_black":case"dhx_blue":case"modern":case"light":this._srdh=20;this.forceDivInHeader=true;break;case"xp":this.forceDivInHeader=true;if((_isIE)&&(document.compatMode!="BackCompat")){this._srdh=25}else{this._srdh=22}break;case"mt":if((_isIE)&&(document.compatMode!="BackCompat")){this._srdh=25}else{this._srdh=22}break;case"gray":if((_isIE)&&(document.compatMode!="BackCompat")){this._srdh=22}break;case"sbdark":break}if(_isIE&&this.hdr){var d=this.hdr.parentNode;d.removeChild(this.hdr);d.appendChild(this.hdr)}this.setSizes()};if(_isIE){this.preventIECaching(true)}if(window.dhtmlDragAndDropObject){this.dragger=new dhtmlDragAndDropObject()}this._doOnScroll=function(e,mode){this.callEvent("onScroll",[this.objBox.scrollLeft,this.objBox.scrollTop]);this.doOnScroll(e,mode)};this.doOnScroll=function(e,mode){this.hdrBox.scrollLeft=this.objBox.scrollLeft;if(this.ftr){this.ftr.parentNode.scrollLeft=this.objBox.scrollLeft}if(mode){return}if(this._srnd){if(this._dLoadTimer){window.clearTimeout(this._dLoadTimer)}this._dLoadTimer=window.setTimeout(function(){self._update_srnd_view()},100)}};this.attachToObject=function(obj){obj.appendChild(this.globalBox?this.globalBox:this.entBox);this.setSizes()};this.init=function(fl){if((this.isTreeGrid())&&(!this._h2)){this._h2=new dhtmlxHierarchy();if((this._fake)&&(!this._realfake)){this._fake._h2=this._h2}this._tgc={imgURL:null}}if(!this._hstyles){return}this.editStop();this.lastClicked=null;this.resized=null;this.fldSorted=this.r_fldSorted=null;this.cellWidthPX=[];this.cellWidthPC=[];if(this.hdr.rows.length>0){this.clearAll(true)}var hdrRow=this.hdr.insertRow(0);for(var i=0;i<this.hdrLabels.length;i++){hdrRow.appendChild(document.createElement("TH"));hdrRow.childNodes[i]._cellIndex=i;hdrRow.childNodes[i].style.height="0px"}if(_isIE&&_isIE<8){hdrRow.style.position="absolute"}else{hdrRow.style.height="auto"}var hdrRow=this.hdr.insertRow(_isKHTML?2:1);hdrRow._childIndexes=new Array();var col_ex=0;for(var i=0;i<this.hdrLabels.length;i++){hdrRow._childIndexes[i]=i-col_ex;if((this.hdrLabels[i]==this.splitSign)&&(i!=0)){if(_isKHTML){hdrRow.insertCell(i-col_ex)}hdrRow.cells[i-col_ex-1].colSpan=(hdrRow.cells[i-col_ex-1].colSpan||1)+1;hdrRow.childNodes[i-col_ex-1]._cellIndex++;col_ex++;hdrRow._childIndexes[i]=i-col_ex;continue}hdrRow.insertCell(i-col_ex);hdrRow.childNodes[i-col_ex]._cellIndex=i;hdrRow.childNodes[i-col_ex]._cellIndexS=i;this.setColumnLabel(i,this.hdrLabels[i])}if(col_ex==0){hdrRow._childIndexes=null}this._cCount=this.hdrLabels.length;if(_isIE){window.setTimeout(function(){self.setSizes()},1)}if(!this.obj.firstChild){this.obj.appendChild(document.createElement("TBODY"))}var tar=this.obj.firstChild;if(!tar.firstChild){tar.appendChild(document.createElement("TR"));tar=tar.firstChild;if(_isIE&&_isIE<8){tar.style.position="absolute"}else{tar.style.height="auto"}for(var i=0;i<this.hdrLabels.length;i++){tar.appendChild(document.createElement("TH"));tar.childNodes[i].style.height="0px"}}this._c_order=null;if(this.multiLine!=true){this.obj.className+=" row20px"}this.sortImg.style.position="absolute";this.sortImg.style.display="none";this.sortImg.src=this.imgURL+"sort_desc.gif";this.sortImg.defLeft=0;if(this.noHeader){this.hdrBox.style.display="none"}else{this.noHeader=false}if(this._ivizcol){this.setColHidden()}this.attachHeader();this.attachHeader(0,0,"_aFoot");this.setSizes();if(fl){this.parseXML()}this.obj.scrollTop=0;if(this.dragAndDropOff){this.dragger.addDragLanding(this.entBox,this)}if(this._initDrF){this._initD()}if(this._init_point){this._init_point()}};this.setColumnSizes=function(gridWidth){var summ=0;var fcols=[];for(var i=0;i<this._cCount;i++){if((this.initCellWidth[i]=="*")&&!this._hrrar[i]){this._awdth=false;fcols.push(i);continue}if(this.cellWidthType=="%"){if(typeof this.cellWidthPC[i]=="undefined"){this.cellWidthPC[i]=this.initCellWidth[i]}this.cellWidthPX[i]=Math.floor(gridWidth*this.cellWidthPC[i]/100)||0}else{if(typeof this.cellWidthPX[i]=="undefined"){this.cellWidthPX[i]=this.initCellWidth[i]}}if(!this._hrrar[i]){summ+=this.cellWidthPX[i]*1}}if(fcols.length){var ms=Math.floor((gridWidth-summ)/fcols.length);if(ms<0){ms=1}for(var i=0;i<fcols.length;i++){var next=Math.max((this._drsclmW?this._drsclmW[fcols[i]]:0),ms);this.cellWidthPX[fcols[i]]=next;summ+=next}this._setAutoResize()}this.obj.style.width=summ+"px";this.hdr.style.width=summ+"px";if(this.ftr){this.ftr.style.width=summ+"px"}this.chngCellWidth();return summ};this.setSizes=function(){if((!this.hdr.rows[0])){return}window.clearTimeout(this._sizeTime);if(!this.entBox.offsetWidth&&(!this.globalBox||!this.globalBox.offsetWidth)){this._sizeTime=window.setTimeout(function(){self.setSizes()},250);return}var quirks=this.quirks=(_isIE&&document.compatMode=="BackCompat");var outerBorder=(this.entBox.offsetWidth-this.entBox.clientWidth)/2;if(this.globalBox){var splitOuterBorder=(this.globalBox.offsetWidth-this.globalBox.clientWidth)/2;if(this._delta_x&&!this._realfake){this.globalBox.style.width=this._delta_x;this.entBox.style.width=Math.max(0,(this.globalBox.clientWidth+(quirks?splitOuterBorder*2:0))-this._fake.entBox.clientWidth)+"px"}if(this._delta_y&&!this._realfake){this.globalBox.style.height=this._delta_y;this.entBox.style.overflow=this._fake.entBox.style.overflow="hidden";this.entBox.style.height=this._fake.entBox.style.height=this.globalBox.clientHeight+(quirks?splitOuterBorder*2:0)+"px"}}else{if(this._delta_x){if(this.entBox.parentNode.tagName=="TD"){this.entBox.style.width="1px";this.entBox.style.width=parseInt(this._delta_x)*this.entBox.parentNode.clientWidth/100-outerBorder*2+"px"}else{this.entBox.style.width=this._delta_x}}if(this._delta_y){this.entBox.style.height=this._delta_y}}var isVScroll=this.parentGrid?false:(this.objBox.scrollHeight>this.objBox.offsetHeight);var isHScroll=this.parentGrid?false:((this.objBox.scrollWidth>this.objBox.offsetWidth)||(this.objBox.style.overflowX=="scroll"));var scrfix=_isFF?18:18;var gridWidth=this.entBox.clientWidth-(this.skin_h_correction||0)*(quirks?0:1);var gridWidthActive=this.entBox.clientWidth-(this.skin_h_correction||0);var gridHeight=this.entBox.clientHeight;var summ=this.setColumnSizes(gridWidthActive-(isVScroll?scrfix:0));var headerHeight=this.hdr.clientHeight;var footerHeight=this.ftr?this.ftr.clientHeight:0;var newWidth=gridWidth;var newHeight=gridHeight-headerHeight-footerHeight;if(this._awdth&&this._awdth[0]&&this._awdth[1]==99999){isHScroll=0}if(this._ahgr){if(this._ahgrMA){newHeight=this.entBox.parentNode.clientHeight-headerHeight-footerHeight}else{newHeight=this.obj.offsetHeight+(isHScroll?scrfix:0)}if(this._ahgrM){if(this._ahgrF){newHeight=Math.min(this._ahgrM,newHeight+headerHeight+footerHeight)-headerHeight-footerHeight}else{newHeight=Math.min(this._ahgrM,newHeight)}}if(isVScroll&&newHeight>=this.obj.scrollHeight+(isHScroll?scrfix:0)){isVScroll=false;this.setColumnSizes(gridWidthActive)}}if((this._awdth)&&(this._awdth[0])){if(this.cellWidthType=="%"){this.cellWidthType="px"}if(this._fake){summ+=this._fake.entBox.clientWidth}var newWidth=Math.min(Math.max(summ+(isVScroll?scrfix:0),this._awdth[2]),this._awdth[1]);if(this._fake){newWidth-=this._fake.entBox.clientWidth}}newHeight=Math.max(0,newHeight);this._ff_size_delta=(this._ff_size_delta==0.1)?0.2:0.1;if(!_isFF){this._ff_size_delta=0}this.entBox.style.width=newWidth+(quirks?2:0)*outerBorder+this._ff_size_delta+"px";this.entBox.style.height=newHeight+(quirks?2:0)*outerBorder+headerHeight+footerHeight+"px";this.objBox.style.height=newHeight+((quirks&&!isVScroll)?2:0)*outerBorder+"px";this.hdrBox.style.height=headerHeight+"px";if(newHeight!=gridHeight){this.doOnScroll(0,!this._srnd)}var ext=this["setSizes_"+this.skin_name];if(ext){ext.call(this)}this.setSortImgPos();if(headerHeight!=this.hdr.clientHeight&&this._ahgr){this.setSizes()}};this.setSizes_clear=function(){var y=this.hdr.offsetHeight;var x=this.entBox.offsetWidth;var y2=y+this.objBox.offsetHeight;this._topMb.style.top=(y||0)+"px";this._topMb.style.width=(x+20)+"px";this._botMb.style.top=(y2-3)+"px";this._botMb.style.width=(x+20)+"px"};this.chngCellWidth=function(){if((_isOpera)&&(this.ftr)){this.ftr.width=this.objBox.scrollWidth+"px"}var l=this._cCount;for(var i=0;i<l;i++){this.hdr.rows[0].cells[i].style.width=this.cellWidthPX[i]+"px";this.obj.rows[0].childNodes[i].style.width=this.cellWidthPX[i]+"px";if(this.ftr){this.ftr.rows[0].cells[i].style.width=this.cellWidthPX[i]+"px"}}};this.setDelimiter=function(delim){this.delim=delim};this.setInitWidthsP=function(wp){this.cellWidthType="%";this.initCellWidth=wp.split(this.delim.replace(/px/gi,""));if(!arguments[1]){this._setAutoResize()}};this._setAutoResize=function(){if(this._realfake){return}var el=window;var self=this;dhtmlxEvent(window,"resize",function(){window.clearTimeout(self._resize_timer);if(self._setAutoResize){self._resize_timer=window.setTimeout(function(){self.setSizes();if(self._fake){self._fake._correctSplit()}},100)}})};this.setInitWidths=function(wp){this.cellWidthType="px";this.initCellWidth=wp.split(this.delim);if(_isFF){for(var i=0;i<this.initCellWidth.length;i++){if(this.initCellWidth[i]!="*"){this.initCellWidth[i]=parseInt(this.initCellWidth[i])}}}};this.enableMultiline=function(state){this.multiLine=convertStringToBoolean(state)};this.enableMultiselect=function(state){this.selMultiRows=convertStringToBoolean(state)};this.setImagePath=function(path){this.imgURL=path};this.setImagesPath=this.setImagePath;this.setIconPath=function(path){this.iconURL=path};this.setIconsPath=this.setIconPath;this.changeCursorState=function(ev){var el=ev.target||ev.srcElement;if(el.tagName!="TD"){el=this.getFirstParentOfType(el,"TD")}if(!el){return}if((el.tagName=="TD")&&(this._drsclmn)&&(!this._drsclmn[el._cellIndex])){return el.style.cursor="default"}var check=(ev.layerX||0)+(((!_isIE)&&(ev.target.tagName=="DIV"))?el.offsetLeft:0);if((el.offsetWidth-(ev.offsetX||(parseInt(this.getPosition(el,this.hdrBox))-check)*-1))<(_isOpera?20:10)){el.style.cursor="E-resize"}else{el.style.cursor="default"}if(_isOpera){this.hdrBox.scrollLeft=this.objBox.scrollLeft}};this.startColResize=function(ev){this.resized=null;var el=ev.target||ev.srcElement;if(el.tagName!="TD"){el=this.getFirstParentOfType(el,"TD")}var x=ev.clientX;var tabW=this.hdr.offsetWidth;var startW=parseInt(el.offsetWidth);if(el.tagName=="TD"&&el.style.cursor!="default"){if((this._drsclmn)&&(!this._drsclmn[el._cellIndex])){return}self._old_d_mm=document.body.onmousemove;self._old_d_mu=document.body.onmouseup;document.body.onmousemove=function(e){self.doColResize(e||window.event,el,startW,x,tabW)};document.body.onmouseup=function(){self.stopColResize()}}};this.stopColResize=function(){document.body.onmousemove=self._old_d_mm;document.body.onmouseup=self._old_d_mu;this.setSizes();this.doOnScroll(0,1);this.callEvent("onResizeEnd",[this])};this.doColResize=function(ev,el,startW,x,tabW){el.style.cursor="E-resize";this.resized=el;var fcolW=startW+(ev.clientX-x);var wtabW=tabW+(ev.clientX-x);if(!(this.callEvent("onResize",[el._cellIndex,fcolW,this]))){return}if(_isIE){this.objBox.scrollLeft=this.hdrBox.scrollLeft}if(el.colSpan>1){var a_sizes=new Array();for(var i=0;i<el.colSpan;i++){a_sizes[i]=Math.round(fcolW*this.hdr.rows[0].childNodes[el._cellIndexS+i].offsetWidth/el.offsetWidth)}for(var i=0;i<el.colSpan;i++){this._setColumnSizeR(el._cellIndexS+i*1,a_sizes[i])}}else{this._setColumnSizeR(el._cellIndex,fcolW)}this.doOnScroll(0,1);this.setSizes()};this._setColumnSizeR=function(ind,fcolW){if(fcolW>((this._drsclmW&&!this._notresize)?(this._drsclmW[ind]||10):10)){this.obj.rows[0].childNodes[ind].style.width=fcolW+"px";this.hdr.rows[0].childNodes[ind].style.width=fcolW+"px";if(this.ftr){this.ftr.rows[0].childNodes[ind].style.width=fcolW+"px"}if(this.cellWidthType=="px"){this.cellWidthPX[ind]=fcolW}else{var gridWidth=parseInt(this.entBox.offsetWidth);if(this.objBox.scrollHeight>this.objBox.offsetHeight){gridWidth-=17}var pcWidth=Math.round(fcolW/gridWidth*100);this.cellWidthPC[ind]=pcWidth}if(this.sortImg.style.display!="none"){this.setSortImgPos()}}};this.setSortImgState=function(state,ind,order,row){order=(order||"asc").toLowerCase();if(!convertStringToBoolean(state)){this.sortImg.style.display="none";this.fldSorted=null;return}if(order=="asc"){this.sortImg.src=this.imgURL+"sort_asc.gif"}else{this.sortImg.src=this.imgURL+"sort_desc.gif"}this.sortImg.style.display="";this.fldSorted=this.hdr.rows[0].childNodes[ind];var r=this.hdr.rows[row||1];if(!r){return}for(var i=0;i<r.childNodes.length;i++){if(r.childNodes[i]._cellIndexS==ind){this.r_fldSorted=r.childNodes[i];return this.setSortImgPos()}}return this.setSortImgState(state,ind,order,(row||1)+1)};this.setSortImgPos=function(ind,mode,hRowInd,el){if(this._hrrar&&this._hrrar[this.r_fldSorted?this.r_fldSorted._cellIndex:ind]){return}if(!el){if(!ind){var el=this.r_fldSorted}else{var el=this.hdr.rows[hRowInd||0].cells[ind]}}if(el!=null){var pos=this.getPosition(el,this.hdrBox);var wdth=el.offsetWidth;this.sortImg.style.left=Number(pos[0]+wdth-13)+"px";this.sortImg.defLeft=parseInt(this.sortImg.style.left);this.sortImg.style.top=Number(pos[1]+5)+"px";if((!this.useImagesInHeader)&&(!mode)){this.sortImg.style.display="inline"}this.sortImg.style.left=this.sortImg.defLeft+"px"}};this.setActive=function(fl){if(arguments.length==0){var fl=true}if(fl==true){if(globalActiveDHTMLGridObject&&(globalActiveDHTMLGridObject!=this)){globalActiveDHTMLGridObject.editStop()}globalActiveDHTMLGridObject=this;this.isActive=true}else{this.isActive=false}};this._doClick=function(ev){var selMethod=0;var el=this.getFirstParentOfType(_isIE?ev.srcElement:ev.target,"TD");if(!el){return}var fl=true;if(this.markedCells){var markMethod=0;if(ev.shiftKey||ev.metaKey){markMethod=1}if(ev.ctrlKey){markMethod=2}this.doMark(el,markMethod);return true}if(this.selMultiRows!=false){if(ev.shiftKey&&this.row!=null){selMethod=1}if(ev.ctrlKey||ev.metaKey){selMethod=2}}this.doClick(el,fl,selMethod)};this._doContClick=function(ev){var el=this.getFirstParentOfType(_isIE?ev.srcElement:ev.target,"TD");if((!el)||(typeof(el.parentNode.idd)=="undefined")){return true}if(ev.button==2||(_isMacOS&&ev.ctrlKey)){if(!this.callEvent("onRightClick",[el.parentNode.idd,el._cellIndex,ev])){var z=function(e){(e||event).cancelBubble=true;return false};ev.srcElement.oncontextmenu=z;return z(ev)}if(this._ctmndx){if(!(this.callEvent("onBeforeContextMenu",[el.parentNode.idd,el._cellIndex,this]))){return true}if(_isIE){ev.srcElement.oncontextmenu=function(){event.cancelBubble=true;return false}}if(this._ctmndx.showContextMenu){var dEl0=window.document.documentElement;var dEl1=window.document.body;var corrector=new Array((dEl0.scrollLeft||dEl1.scrollLeft),(dEl0.scrollTop||dEl1.scrollTop));if(_isIE){var x=ev.clientX+corrector[0];var y=ev.clientY+corrector[1]}else{var x=ev.pageX;var y=ev.pageY}this._ctmndx.showContextMenu(x-1,y-1);this.contextID=this._ctmndx.contextMenuZoneId=el.parentNode.idd+"_"+el._cellIndex;this._ctmndx._skip_hide=true}else{el.contextMenuId=el.parentNode.idd+"_"+el._cellIndex;el.contextMenu=this._ctmndx;el.a=this._ctmndx._contextStart;el.a(el,ev);el.a=null}ev.cancelBubble=true}}else{if(this._ctmndx){if(this._ctmndx.hideContextMenu){this._ctmndx.hideContextMenu()}else{this._ctmndx._contextEnd()}}}return true};this.doClick=function(el,fl,selMethod,show){if(!this.selMultiRows){selMethod=0}var psid=this.row?this.row.idd:0;this.setActive(true);if(!selMethod){selMethod=0}if(this.cell!=null){this.cell.className=this.cell.className.replace(/cellselected/g,"")}if(el.tagName=="TD"){if(this.checkEvent("onSelectStateChanged")){var initial=this.getSelectedId()}var prow=this.row;if(selMethod==1){var elRowIndex=this.rowsCol._dhx_find(el.parentNode);var lcRowIndex=this.rowsCol._dhx_find(this.lastClicked);if(elRowIndex>lcRowIndex){var strt=lcRowIndex;var end=elRowIndex}else{var strt=elRowIndex;var end=lcRowIndex}for(var i=0;i<this.rowsCol.length;i++){if((i>=strt&&i<=end)){if(this.rowsCol[i]&&(!this.rowsCol[i]._sRow)){if(this.rowsCol[i].className.indexOf("rowselected")==-1&&this.callEvent("onBeforeSelect",[this.rowsCol[i].idd,psid])){this.rowsCol[i].className+=" rowselected";this.selectedRows[this.selectedRows.length]=this.rowsCol[i]}}else{this.clearSelection();return this.doClick(el,fl,0,show)}}}}else{if(selMethod==2){if(el.parentNode.className.indexOf("rowselected")!=-1){el.parentNode.className=el.parentNode.className.replace(/rowselected/g,"");this.selectedRows._dhx_removeAt(this.selectedRows._dhx_find(el.parentNode));var skipRowSelection=true}}}this.editStop();if(typeof(el.parentNode.idd)=="undefined"){return true}if((!skipRowSelection)&&(!el.parentNode._sRow)){if(this.callEvent("onBeforeSelect",[el.parentNode.idd,psid])){if(selMethod==0){this.clearSelection()}this.cell=el;if((prow==el.parentNode)&&(this._chRRS)){fl=false}this.row=el.parentNode;this.row.className+=" rowselected";if(this.cell&&_isIE&&_isIE==8){var next=this.cell.nextSibling;var parent=this.cell.parentNode;parent.removeChild(this.cell);parent.insertBefore(this.cell,next)}if(this.selectedRows._dhx_find(this.row)==-1){this.selectedRows[this.selectedRows.length]=this.row}}}if(this.cell&&this.cell.parentNode.className.indexOf("rowselected")!=-1){this.cell.className=this.cell.className.replace(/cellselected/g,"")+" cellselected"}if(selMethod!=1){if(!this.row){return}}this.lastClicked=el.parentNode;var rid=this.row.idd;var cid=this.cell;if(fl&&typeof(rid)!="undefined"&&cid&&!skipRowSelection){self.onRowSelectTime=setTimeout(function(){self.callEvent("onRowSelect",[rid,cid._cellIndex])},100)}if(this.checkEvent("onSelectStateChanged")){var afinal=this.getSelectedId();if(initial!=afinal){this.callEvent("onSelectStateChanged",[afinal,initial])}}}this.isActive=true;if(show!==false&&this.cell&&this.cell.parentNode.idd){this.moveToVisible(this.cell)}};this.selectAll=function(){this.clearSelection();this.selectedRows=dhtmlxArray([].concat(this.rowsCol));for(var i=this.rowsCol.length-1;i>=0;i--){if(this.rowsCol[i]._cntr){this.selectedRows.splice(i,1)}else{this.rowsCol[i].className+=" rowselected"}}if(this.selectedRows.length){this.row=this.selectedRows[0];this.cell=this.row.cells[0]}if((this._fake)&&(!this._realfake)){this._fake.selectAll()}};this.selectCell=function(r,cInd,fl,preserve,edit,show){if(!fl){fl=false}if(typeof(r)!="object"){r=this.render_row(r)}if(!r||r==-1){return null}if(r._childIndexes){var c=r.childNodes[r._childIndexes[cInd]]}else{var c=r.childNodes[cInd]}if(!c){c=r.childNodes[0]}if(preserve){this.doClick(c,fl,3,show)}else{this.doClick(c,fl,0,show)}if(edit){this.editCell()}};this.moveToVisible=function(cell_obj,onlyVScroll){if(this.pagingOn){var newPage=Math.floor(this.getRowIndex(cell_obj.parentNode.idd)/this.rowsBufferOutSize)+1;if(newPage!=this.currentPage){this.changePage(newPage)}}if(!cell_obj.offsetHeight){var mask=this._realfake?this._fake.rowsAr[cell_obj.parentNode.idd]:cell_obj.parentNode;var h=this.rowsBuffer._dhx_find(mask)*this._srdh;return this.objBox.scrollTop=h}try{var distance=cell_obj.offsetLeft+cell_obj.offsetWidth+20;var scrollLeft=0;if(distance>(this.objBox.offsetWidth+this.objBox.scrollLeft)){if(cell_obj.offsetLeft>this.objBox.scrollLeft){scrollLeft=cell_obj.offsetLeft-5}}else{if(cell_obj.offsetLeft<this.objBox.scrollLeft){distance-=cell_obj.offsetWidth*2/3;if(distance<this.objBox.scrollLeft){scrollLeft=cell_obj.offsetLeft-5}}}if((scrollLeft)&&(!onlyVScroll)){this.objBox.scrollLeft=scrollLeft}var distance=cell_obj.offsetTop+cell_obj.offsetHeight+20;if(distance>(this.objBox.offsetHeight+this.objBox.scrollTop)){var scrollTop=distance-this.objBox.offsetHeight}else{if(cell_obj.offsetTop<this.objBox.scrollTop){var scrollTop=cell_obj.offsetTop-5}}if(scrollTop){this.objBox.scrollTop=scrollTop}}catch(er){}};this.editCell=function(){if(this.editor&&this.cell==this.editor.cell){return}this.editStop();if((this.isEditable!=true)||(!this.cell)){return false}var c=this.cell;if(c.parentNode._locked){return false}this.editor=this.cells4(c);if(this.editor!=null){if(this.editor.isDisabled()){this.editor=null;return false}if(this.callEvent("onEditCell",[0,this.row.idd,this.cell._cellIndex])!=false&&this.editor.edit){this._Opera_stop=(new Date).valueOf();c.className+=" editable";this.editor.edit();this.callEvent("onEditCell",[1,this.row.idd,this.cell._cellIndex])}else{this.editor=null}}};this.editStop=function(mode){if(_isOpera){if(this._Opera_stop){if((this._Opera_stop*1+50)>(new Date).valueOf()){return}this._Opera_stop=null}}if(this.editor&&this.editor!=null){this.editor.cell.className=this.editor.cell.className.replace("editable","");if(mode){var t=this.editor.val;this.editor.detach();this.editor.setValue(t);this.editor=null;return}if(this.editor.detach()){this.cell.wasChanged=true}var g=this.editor;this.editor=null;var z=this.callEvent("onEditCell",[2,this.row.idd,this.cell._cellIndex,g.getValue(),g.val]);if((typeof(z)=="string")||(typeof(z)=="number")){g[g.setImage?"setLabel":"setValue"](z)}else{if(!z){g[g.setImage?"setLabel":"setValue"](g.val)}}}};this._nextRowCell=function(row,dir,pos){row=this._nextRow((this._groups?this.rowsCol:this.rowsBuffer)._dhx_find(row),dir);if(!row){return null}return row.childNodes[row._childIndexes?row._childIndexes[pos]:pos]};this._getNextCell=function(acell,dir,i){acell=acell||this.cell;var arow=acell.parentNode;if(this._tabOrder){i=this._tabOrder[acell._cellIndex];if(typeof i!="undefined"){if(i<0){acell=this._nextRowCell(arow,dir,Math.abs(i)-1)}else{acell=arow.childNodes[i]}}}else{var i=acell._cellIndex+dir;if(i>=0&&i<this._cCount){if(arow._childIndexes){i=arow._childIndexes[acell._cellIndex]+dir}acell=arow.childNodes[i]}else{acell=this._nextRowCell(arow,dir,(dir==1?0:(this._cCount-1)))}}if(!acell){if((dir==1)&&this.tabEnd){this.tabEnd.focus();this.tabEnd.focus()}if((dir==-1)&&this.tabStart){this.tabStart.focus();this.tabStart.focus()}return null}if(acell.style.display!="none"&&(!this.smartTabOrder||!this.cells(acell.parentNode.idd,acell._cellIndex).isDisabled())){return acell}return this._getNextCell(acell,dir)};this._nextRow=function(ind,dir){var r=this.render_row(ind+dir);if(!r||r==-1){return null}if(r&&r.style.display=="none"){return this._nextRow(ind+dir,dir)}return r};this.scrollPage=function(dir){var master=this._realfake?this._fake:this;var new_ind=Math.floor((master._r_select||this.getRowIndex(this.row.idd)||0)+(dir)*this.objBox.offsetHeight/(this._srdh||20));if(new_ind<0){new_ind=0}if(new_ind>=this.rowsBuffer.length){new_ind=this.rowsBuffer.length-1}if(this._srnd&&!this.rowsBuffer[new_ind]){this.objBox.scrollTop+=Math.floor((dir)*this.objBox.offsetHeight/(this._srdh||20))*(this._srdh||20);master._r_select=new_ind}else{this.selectCell(new_ind,this.cell._cellIndex,true,false,false,(this.multiLine||this._srnd));if(!this.multiLine&&!this._srnd&&!this._realfake){this.objBox.scrollTop=this.getRowById(this.getRowId(new_ind)).offsetTop}master._r_select=null}};this.doKey=function(ev){if(!ev){return true}if((ev.target||ev.srcElement).value!==window.undefined){var zx=(ev.target||ev.srcElement);if((!zx.parentNode)||(zx.parentNode.className.indexOf("editable")==-1)){return true}}if((globalActiveDHTMLGridObject)&&(this!=globalActiveDHTMLGridObject)){return globalActiveDHTMLGridObject.doKey(ev)}if(this.isActive==false){return true}if(this._htkebl){return true}if(!this.callEvent("onKeyPress",[ev.keyCode,ev.ctrlKey,ev.shiftKey,ev])){return false}var code="k"+ev.keyCode+"_"+(ev.ctrlKey?1:0)+"_"+(ev.shiftKey?1:0);if(this.cell){if(this._key_events[code]){if(false===this._key_events[code].call(this)){return true}if(ev.preventDefault){ev.preventDefault()}ev.cancelBubble=true;return false}if(this._key_events.k_other){this._key_events.k_other.call(this,ev)}}return true};this.selectRow=function(r,fl,preserve,show){if(typeof(r)!="object"){r=this.render_row(r)}this.selectCell(r,0,fl,preserve,false,show)};this.wasDblClicked=function(ev){var el=this.getFirstParentOfType(_isIE?ev.srcElement:ev.target,"TD");if(el){var rowId=el.parentNode.idd;return this.callEvent("onRowDblClicked",[rowId,el._cellIndex])}};this._onHeaderClick=function(e,el){var that=this.grid;el=el||that.getFirstParentOfType(_isIE?event.srcElement:e.target,"TD");if(this.grid.resized==null){if(!(this.grid.callEvent("onHeaderClick",[el._cellIndexS,(e||window.event)]))){return false}that.sortField(el._cellIndexS,false,el)}};this.deleteSelectedRows=function(){var num=this.selectedRows.length;if(num==0){return}var tmpAr=this.selectedRows;this.selectedRows=dhtmlxArray();for(var i=num-1;i>=0;i--){var node=tmpAr[i];if(!this.deleteRow(node.idd,node)){this.selectedRows[this.selectedRows.length]=node}else{if(node==this.row){var ind=i}}}if(ind){try{if(ind+1>this.rowsCol.length){ind--}this.selectCell(ind,0,true)}catch(er){this.row=null;this.cell=null}}};this.getSelectedRowId=function(){var selAr=new Array(0);var uni={};for(var i=0;i<this.selectedRows.length;i++){var id=this.selectedRows[i].idd;if(uni[id]){continue}selAr[selAr.length]=id;uni[id]=true}if(selAr.length==0){return null}else{return selAr.join(this.delim)}};this.getSelectedCellIndex=function(){if(this.cell!=null){return this.cell._cellIndex}else{return -1}};this.getColWidth=function(ind){return parseInt(this.cellWidthPX[ind])+((_isFF)?2:0)};this.setColWidth=function(ind,value){if(this._hrrar[ind]){return}if(this.cellWidthType=="px"){this.cellWidthPX[ind]=parseInt(value)-+((_isFF)?2:0)}else{this.cellWidthPC[ind]=parseInt(value)}this.setSizes()};this.getRowIndex=function(row_id){for(var i=0;i<this.rowsBuffer.length;i++){if(this.rowsBuffer[i]&&this.rowsBuffer[i].idd==row_id){return i}}return -1};this.getRowId=function(ind){return this.rowsBuffer[ind]?this.rowsBuffer[ind].idd:this.undefined};this.setRowId=function(ind,row_id){this.changeRowId(this.getRowId(ind),row_id)};this.changeRowId=function(oldRowId,newRowId){if(oldRowId==newRowId){return}var row=this.rowsAr[oldRowId];row.idd=newRowId;if(this.UserData[oldRowId]){this.UserData[newRowId]=this.UserData[oldRowId];this.UserData[oldRowId]=null}if(this._h2&&this._h2.get[oldRowId]){this._h2.get[newRowId]=this._h2.get[oldRowId];this._h2.get[newRowId].id=newRowId;delete this._h2.get[oldRowId]}this.rowsAr[oldRowId]=null;this.rowsAr[newRowId]=row;for(var i=0;i<row.childNodes.length;i++){if(row.childNodes[i]._code){row.childNodes[i]._code=this._compileSCL(row.childNodes[i]._val,row.childNodes[i])}}if(this._mat_links&&this._mat_links[oldRowId]){var a=this._mat_links[oldRowId];delete this._mat_links[oldRowId];for(var c in a){for(var i=0;i<a[c].length;i++){this._compileSCL(a[c][i].original,a[c][i])}}}this.callEvent("onRowIdChange",[oldRowId,newRowId])};this.setColumnIds=function(ids){this.columnIds=ids.split(this.delim)};this.setColumnId=function(ind,id){this.columnIds[ind]=id};this.getColIndexById=function(id){for(var i=0;i<this.columnIds.length;i++){if(this.columnIds[i]==id){return i}}};this.getColumnId=function(cin){return this.columnIds[cin]};this.getColumnLabel=function(cin,ind,hdr){var z=(hdr||this.hdr).rows[(ind||0)+1];for(var i=0;i<z.cells.length;i++){if(z.cells[i]._cellIndexS==cin){return(_isIE?z.cells[i].innerText:z.cells[i].textContent)}}return""};this.getFooterLabel=function(cin,ind){return this.getColumnLabel(cin,ind,this.ftr)};this.setRowTextBold=function(row_id){var r=this.getRowById(row_id);if(r){r.style.fontWeight="bold"}};this.setRowTextStyle=function(row_id,styleString){var r=this.getRowById(row_id);if(!r){return}for(var i=0;i<r.childNodes.length;i++){var pfix=r.childNodes[i]._attrs.style||"";if((this._hrrar)&&(this._hrrar[i])){pfix="display:none;"}if(_isIE){r.childNodes[i].style.cssText=pfix+"width:"+r.childNodes[i].style.width+";"+styleString}else{r.childNodes[i].style.cssText=pfix+"width:"+r.childNodes[i].style.width+";"+styleString}}};this.setRowColor=function(row_id,color){var r=this.getRowById(row_id);for(var i=0;i<r.childNodes.length;i++){r.childNodes[i].bgColor=color}};this.setCellTextStyle=function(row_id,ind,styleString){var r=this.getRowById(row_id);if(!r){return}var cell=r.childNodes[r._childIndexes?r._childIndexes[ind]:ind];if(!cell){return}var pfix="";if((this._hrrar)&&(this._hrrar[ind])){pfix="display:none;"}if(_isIE){cell.style.cssText=pfix+"width:"+cell.style.width+";"+styleString}else{cell.style.cssText=pfix+"width:"+cell.style.width+";"+styleString}};this.setRowTextNormal=function(row_id){var r=this.getRowById(row_id);if(r){r.style.fontWeight="normal"}};this.doesRowExist=function(row_id){if(this.getRowById(row_id)!=null){return true}else{return false}};this.getColumnsNum=function(){return this._cCount};this.moveRowUp=function(row_id){var r=this.getRowById(row_id);if(this.isTreeGrid()){return this.moveRowUDTG(row_id,-1)}var rInd=this.rowsCol._dhx_find(r);if((r.previousSibling)&&(rInd!=0)){r.parentNode.insertBefore(r,r.previousSibling);this.rowsCol._dhx_swapItems(rInd,rInd-1);this.setSizes();var bInd=this.rowsBuffer._dhx_find(r);this.rowsBuffer._dhx_swapItems(bInd,bInd-1);if(this._cssEven){this._fixAlterCss(rInd-1)}}};this.moveRowDown=function(row_id){var r=this.getRowById(row_id);if(this.isTreeGrid()){return this.moveRowUDTG(row_id,1)}var rInd=this.rowsCol._dhx_find(r);if(r.nextSibling){this.rowsCol._dhx_swapItems(rInd,rInd+1);if(r.nextSibling.nextSibling){r.parentNode.insertBefore(r,r.nextSibling.nextSibling)}else{r.parentNode.appendChild(r)}this.setSizes();var bInd=this.rowsBuffer._dhx_find(r);this.rowsBuffer._dhx_swapItems(bInd,bInd+1);if(this._cssEven){this._fixAlterCss(rInd)}}};this.getCombo=function(col_ind){if(!this.combos[col_ind]){this.combos[col_ind]=new dhtmlXGridComboObject()}return this.combos[col_ind]};this.setUserData=function(row_id,name,value){if(!row_id){row_id="gridglobaluserdata"}if(!this.UserData[row_id]){this.UserData[row_id]=new Hashtable()}this.UserData[row_id].put(name,value)};this.getUserData=function(row_id,name){if(!row_id){row_id="gridglobaluserdata"}this.getRowById(row_id);var z=this.UserData[row_id];return(z?z.get(name):"")};this.setEditable=function(fl){this.isEditable=convertStringToBoolean(fl)};this.selectRowById=function(row_id,multiFL,show,call){if(!call){call=false}this.selectCell(this.getRowById(row_id),0,call,multiFL,false,show)};this.clearSelection=function(){this.editStop();for(var i=0;i<this.selectedRows.length;i++){var r=this.rowsAr[this.selectedRows[i].idd];if(r){r.className=r.className.replace(/rowselected/g,"")}}this.selectedRows=dhtmlxArray();this.row=null;if(this.cell!=null){this.cell.className=this.cell.className.replace(/cellselected/g,"");this.cell=null}};this.copyRowContent=function(from_row_id,to_row_id){var frRow=this.getRowById(from_row_id);if(!this.isTreeGrid()){for(var i=0;i<frRow.cells.length;i++){this.cells(to_row_id,i).setValue(this.cells(from_row_id,i).getValue())}}else{this._copyTreeGridRowContent(frRow,from_row_id,to_row_id)}if(!_isIE){this.getRowById(from_row_id).cells[0].height=frRow.cells[0].offsetHeight}};this.setFooterLabel=function(c,label,ind){return this.setColumnLabel(c,label,ind,this.ftr)};this.setColumnLabel=function(c,label,ind,hdr){var z=(hdr||this.hdr).rows[ind||1];var col=(z._childIndexes?z._childIndexes[c]:c);if(!z.cells[col]){return}if(!this.useImagesInHeader){var hdrHTML="<div class='hdrcell'>";if(label.indexOf("img:[")!=-1){var imUrl=label.replace(/.*\[([^>]+)\].*/,"$1");label=label.substr(label.indexOf("]")+1,label.length);hdrHTML+="<img width='18px' height='18px' align='absmiddle' src='"+imUrl+"' hspace='2'>"}hdrHTML+=label;hdrHTML+="</div>";z.cells[col].innerHTML=hdrHTML;if(this._hstyles[col]){z.cells[col].style.cssText=this._hstyles[col]}}else{z.cells[col].style.textAlign="left";z.cells[col].innerHTML="<img src='"+this.imgURL+""+label+"' onerror='this.src = \""+this.imgURL+"imageloaderror.gif\"'>";var a=new Image();a.src=this.imgURL+""+label.replace(/(\.[a-z]+)/,".des$1");this.preloadImagesAr[this.preloadImagesAr.length]=a;var b=new Image();b.src=this.imgURL+""+label.replace(/(\.[a-z]+)/,".asc$1");this.preloadImagesAr[this.preloadImagesAr.length]=b}if((label||"").indexOf("#")!=-1){var t=label.match(/(^|{)#([^}]+)(}|$)/);if(t){var tn="_in_header_"+t[2];if(this[tn]){this[tn]((this.forceDivInHeader?z.cells[col].firstChild:z.cells[col]),col,label.split(t[0]))}}}};this.clearAll=function(header){if(!this.obj.rows[0]){return}if(this._h2){this._h2=new dhtmlxHierarchy();if(this._fake){if(this._realfake){this._h2=this._fake._h2}else{this._fake._h2=this._h2}}}this.limit=this._limitC=0;this.editStop(true);if(this._dLoadTimer){window.clearTimeout(this._dLoadTimer)}if(this._dload){this.objBox.scrollTop=0;this.limit=this._limitC||0;this._initDrF=true}var len=this.rowsCol.length;len=this.obj.rows.length;for(var i=len-1;i>0;i--){var t_r=this.obj.rows[i];t_r.parentNode.removeChild(t_r)}if(header){this._master_row=null;this.obj.rows[0].parentNode.removeChild(this.obj.rows[0]);for(var i=this.hdr.rows.length-1;i>=0;i--){var t_r=this.hdr.rows[i];t_r.parentNode.removeChild(t_r)}if(this.ftr){this.ftr.parentNode.removeChild(this.ftr);this.ftr=null}this._aHead=this.ftr=this.cellWidth=this.cellType=this._aFoot=null;this._hrrar=[];this.columnIds=[];this.combos=[]}this.row=null;this.cell=null;this.rowsCol=dhtmlxArray();this.rowsAr=[];this._RaSeCol=[];this.rowsBuffer=dhtmlxArray();this.UserData=[];this.selectedRows=dhtmlxArray();if(this.pagingOn||this._srnd){this.xmlFileUrl=""}if(this.pagingOn){this.changePage(1)}if(this._contextCallTimer){window.clearTimeout(this._contextCallTimer)}if(this._sst){this.enableStableSorting(true)}this._fillers=this.undefined;this.setSortImgState(false);this.setSizes();this.callEvent("onClearAll",[])};this.sortField=function(ind,repeatFl,r_el){if(this.getRowsNum()==0){return false}var el=this.hdr.rows[0].cells[ind];if(!el){return}if(el.tagName=="TH"&&(this.fldSort.length-1)>=el._cellIndex&&this.fldSort[el._cellIndex]!="na"){var data=this.getSortingState();var sortType=(data[0]==ind&&data[1]=="asc")?"des":"asc";if(!this.callEvent("onBeforeSorting",[ind,this.fldSort[ind],sortType])){return}this.sortImg.src=this.imgURL+"sort_"+(sortType=="asc"?"asc":"desc")+".gif";if(this.useImagesInHeader){var cel=this.hdr.rows[1].cells[el._cellIndex].firstChild;if(this.fldSorted!=null){var celT=this.hdr.rows[1].cells[this.fldSorted._cellIndex].firstChild;celT.src=celT.src.replace(/(\.asc\.)|(\.des\.)/,".")}cel.src=cel.src.replace(/(\.[a-z]+)$/,"."+sortType+"$1")}this.sortRows(el._cellIndex,this.fldSort[el._cellIndex],sortType);this.fldSorted=el;this.r_fldSorted=r_el;var c=this.hdr.rows[1];var c=r_el.parentNode;var real_el=c._childIndexes?c._childIndexes[el._cellIndex]:el._cellIndex;this.setSortImgPos(false,false,false,r_el)}};this.setCustomSorting=function(func,col){if(!this._customSorts){this._customSorts=new Array()}this._customSorts[col]=(typeof(func)=="string")?eval(func):func;this.fldSort[col]="cus"};this.enableHeaderImages=function(fl){this.useImagesInHeader=fl};this.setHeader=function(hdrStr,splitSign,styles){if(typeof(hdrStr)!="object"){var arLab=this._eSplit(hdrStr)}else{arLab=[].concat(hdrStr)}var arWdth=new Array(0);var arTyp=new dhtmlxArray(0);var arAlg=new Array(0);var arVAlg=new Array(0);var arSrt=new Array(0);for(var i=0;i<arLab.length;i++){arWdth[arWdth.length]=Math.round(100/arLab.length);arTyp[arTyp.length]="ed";arAlg[arAlg.length]="left";arVAlg[arVAlg.length]="";arSrt[arSrt.length]="na"}this.splitSign=splitSign||"#cspan";this.hdrLabels=arLab;this.cellWidth=arWdth;if(!this.initCellWidth.length){this.setInitWidthsP(arWdth.join(this.delim),true)}this.cellType=arTyp;this.cellAlign=arAlg;this.cellVAlign=arVAlg;this.fldSort=arSrt;this._hstyles=styles||[]};this._eSplit=function(str){if(![].push){return str.split(this.delim)}var a="r"+(new Date()).valueOf();var z=this.delim.replace(/([\|\+\*\^])/g,"\\$1");return(str||"").replace(RegExp(z,"g"),a).replace(RegExp("\\\\"+a,"g"),this.delim).split(a)};this.getColType=function(cInd){return this.cellType[cInd]};this.getColTypeById=function(cID){return this.cellType[this.getColIndexById(cID)]};this.setColTypes=function(typeStr){this.cellType=dhtmlxArray(typeStr.split(this.delim));this._strangeParams=new Array();for(var i=0;i<this.cellType.length;i++){if((this.cellType[i].indexOf("[")!=-1)){var z=this.cellType[i].split(/[\[\]]+/g);this.cellType[i]=z[0];this.defVal[i]=z[1];if(z[1].indexOf("=")==0){this.cellType[i]="math";this._strangeParams[i]=z[0]}}if(!window["eXcell_"+this.cellType[i]]){dhtmlxError.throwError("Configuration","Incorrect cell type: "+this.cellType[i],[this,this.cellType[i]])}}};this.setColSorting=function(sortStr){this.fldSort=sortStr.split(this.delim);for(var i=0;i<this.fldSort.length;i++){if(((this.fldSort[i]).length>4)&&(typeof(window[this.fldSort[i]])=="function")){if(!this._customSorts){this._customSorts=new Array()}this._customSorts[i]=window[this.fldSort[i]];this.fldSort[i]="cus"}}};this.setColAlign=function(alStr){this.cellAlign=alStr.split(this.delim)};this.setColVAlign=function(valStr){this.cellVAlign=valStr.split(this.delim)};this.setNoHeader=function(fl){this.noHeader=convertStringToBoolean(fl)};this.showRow=function(rowID){this.getRowById(rowID);if(this._h2){this.openItem(this._h2.get[rowID].parent.id)}var c=this.getRowById(rowID).childNodes[0];while(c&&c.style.display=="none"){c=c.nextSibling}if(c){this.moveToVisible(c,true)}};this.setStyle=function(ss_header,ss_grid,ss_selCell,ss_selRow){this.ssModifier=[ss_header,ss_grid,ss_selCell,ss_selCell,ss_selRow];var prefs=["#"+this.entBox.id+" table.hdr td","#"+this.entBox.id+" table.obj td","#"+this.entBox.id+" table.obj tr.rowselected td.cellselected","#"+this.entBox.id+" table.obj td.cellselected","#"+this.entBox.id+" table.obj tr.rowselected td"];for(var i=0;i<prefs.length;i++){if(this.ssModifier[i]){if(_isIE){document.styleSheets[0].addRule(prefs[i],this.ssModifier[i])}else{document.styleSheets[0].insertRule(prefs[i]+" {"+this.ssModifier[i]+" };",0)}}}};this.setColumnColor=function(clr){this.columnColor=clr.split(this.delim)};this.enableAlterCss=function(cssE,cssU,perLevel,levelUnique){if(cssE||cssU){this.attachEvent("onGridReconstructed",function(){this._fixAlterCss();if(this._fake){this._fake._fixAlterCss()}})}this._cssSP=perLevel;this._cssSU=levelUnique;this._cssEven=cssE;this._cssUnEven=cssU};this._fixAlterCss=function(ind){if(this._cssSP&&this._h2){return this._fixAlterCssTGR(ind)}if(!this._cssEven&&!this._cssUnEven){return}ind=ind||0;var j=ind;for(var i=ind;i<this.rowsCol.length;i++){if(!this.rowsCol[i]){continue}if(this.rowsCol[i].style.display!="none"){if(this.rowsCol[i].className.indexOf("rowselected")!=-1){if(j%2==1){this.rowsCol[i].className=this._cssUnEven+" rowselected "+(this.rowsCol[i]._css||"")}else{this.rowsCol[i].className=this._cssEven+" rowselected "+(this.rowsCol[i]._css||"")}}else{if(j%2==1){this.rowsCol[i].className=this._cssUnEven+" "+(this.rowsCol[i]._css||"")}else{this.rowsCol[i].className=this._cssEven+" "+(this.rowsCol[i]._css||"")}}j++}}};this.clearChangedState=function(){for(var i=0;i<this.rowsCol.length;i++){var row=this.rowsCol[i];var cols=row.childNodes.length;for(var j=0;j<cols;j++){row.childNodes[j].wasChanged=false}}};this.getChangedRows=function(and_added){var res=new Array();this.forEachRow(function(id){var row=this.rowsAr[id];if(row.tagName!="TR"){return}var cols=row.childNodes.length;if(and_added&&row._added){res[res.length]=row.idd}else{for(var j=0;j<cols;j++){if(row.childNodes[j].wasChanged){res[res.length]=row.idd;break}}}});return res.join(this.delim)};this._sUDa=false;this._sAll=false;this.setSerializationLevel=function(userData,fullXML,config,changedAttr,onlyChanged,asCDATA){this._sUDa=userData;this._sAll=fullXML;this._sConfig=config;this._chAttr=changedAttr;this._onlChAttr=onlyChanged;this._asCDATA=asCDATA};this.setSerializableColumns=function(list){if(!list){this._srClmn=null;return}this._srClmn=(list||"").split(",");for(var i=0;i<this._srClmn.length;i++){this._srClmn[i]=convertStringToBoolean(this._srClmn[i])}};this._serialise=function(rCol,inner,closed){this.editStop();var out=[];var close="</"+this.xml.s_row+">";if(this.isTreeGrid()){this._h2.forEachChildF(0,function(el){var temp=this._serializeRow(this.render_row_tree(-1,el.id));out.push(temp);if(temp){return true}else{return false}},this,function(){out.push(close)})}else{for(var i=0;i<this.rowsBuffer.length;i++){if(this.rowsBuffer[i]){var temp=this._serializeRow(this.render_row(i));out.push(temp);if(temp){out.push(close)}}}}return[out.join("")]};this._serializeRow=function(r,i){var out=[];var ra=this.xml.row_attrs;var ca=this.xml.cell_attrs;out.push("<"+this.xml.s_row);out.push(" id='"+r.idd+"'");if((this._sAll)&&this.selectedRows._dhx_find(r)!=-1){out.push(" selected='1'")}if(this._h2&&this._h2.get[r.idd].state=="minus"){out.push(" open='1'")}if(ra.length){for(var i=0;i<ra.length;i++){out.push(" "+ra[i]+"='"+r._attrs[ra[i]]+"'")}}out.push(">");if(this._sUDa&&this.UserData[r.idd]){keysAr=this.UserData[r.idd].getKeys();for(var ii=0;ii<keysAr.length;ii++){out.push("<userdata name='"+keysAr[ii]+"'>"+(this._asCDATA?"<![CDATA[":"")+this.UserData[r.idd].get(keysAr[ii])+(this._asCDATA?"]]>":"")+"</userdata>")}}var changeFl=false;for(var jj=0;jj<this._cCount;jj++){if((!this._srClmn)||(this._srClmn[jj])){var zx=this.cells3(r,jj);out.push("<cell");if(ca.length){for(var i=0;i<ca.length;i++){out.push(" "+ca[i]+"='"+zx.cell._attrs[ca[i]]+"'")}}zxVal=zx[this._agetm]();if(this._asCDATA){zxVal="<![CDATA["+zxVal+"]]>"}if((this._ecspn)&&(zx.cell.colSpan)&&zx.cell.colSpan>1){out.push(' colspan="'+zx.cell.colSpan+'" ')}if(this._chAttr){if(zx.wasChanged()){out.push(' changed="1"');changeFl=true}}else{if((this._onlChAttr)&&(zx.wasChanged())){changeFl=true}}if(this._sAll&&this.cellType[jj]=="tree"){out.push((this._h2?(" image='"+this._h2.get[r.idd].image+"'"):"")+">"+zxVal+"</cell>")}else{out.push(">"+zxVal+"</cell>")}if((this._ecspn)&&(zx.cell.colSpan)){for(var u=0;u<zx.cell.colSpan-1;u++){out.push("<cell/>");jj++}}}}if((this._onlChAttr)&&(!changeFl)&&(!r._added)){return""}return out.join("")};this._serialiseConfig=function(){var out="<head>";for(var i=0;i<this.hdr.rows[0].cells.length;i++){if(this._srClmn&&!this._srClmn[i]){continue}var sort=this.fldSort[i];if(sort=="cus"){sort=this._customSorts[i].toString();sort=sort.replace(/function[\ ]*/,"").replace(/\([^\f]*/,"")}out+="<column width='"+this.getColWidth(i)+"' align='"+this.cellAlign[i]+"' type='"+this.cellType[i]+"' sort='"+(sort||"na")+"' color='"+this.columnColor[i]+"'"+(this.columnIds[i]?(" id='"+this.columnIds[i]+"'"):"")+">";if(this._asCDATA){out+="<![CDATA["+this.getHeaderCol(i)+"]]>"}else{out+=this.getHeaderCol(i)}var z=this.getCombo(i);if(z){for(var j=0;j<z.keys.length;j++){out+="<option value='"+z.keys[j]+"'>"+z.values[j]+"</option>"}}out+="</column>"}return out+="</head>"};this.serialize=function(){var out='<?xml version="1.0"?><rows>';if(this._mathSerialization){this._agetm="getMathValue"}else{this._agetm="getValue"}if(this._sUDa&&this.UserData.gridglobaluserdata){var keysAr=this.UserData.gridglobaluserdata.getKeys();for(var i=0;i<keysAr.length;i++){out+="<userdata name='"+keysAr[i]+"'>"+this.UserData.gridglobaluserdata.get(keysAr[i])+"</userdata>"}}if(this._sConfig){out+=this._serialiseConfig()}out+=this._serialise();out+="</rows>";return out};this.getPosition=function(oNode,pNode){if(!pNode&&!_isChrome){var pos=getOffset(oNode);return[pos.left,pos.top]}var oCurrentNode=oNode;var iLeft=0;var iTop=0;while((oCurrentNode)&&(oCurrentNode!=pNode)){iLeft+=oCurrentNode.offsetLeft-oCurrentNode.scrollLeft;iTop+=oCurrentNode.offsetTop-oCurrentNode.scrollTop;oCurrentNode=oCurrentNode.offsetParent}if(pNode==document.body){if(_isIE){iTop+=document.body.offsetTop||document.documentElement.offsetTop;iLeft+=document.body.offsetLeft||document.documentElement.offsetLeft}else{if(!_isFF){iLeft+=document.body.offsetLeft;iTop+=document.body.offsetTop}}}return[iLeft,iTop]};this.getFirstParentOfType=function(obj,tag){while(obj&&obj.tagName!=tag&&obj.tagName!="BODY"){obj=obj.parentNode}return obj};this.objBox.onscroll=function(){this.grid._doOnScroll()};if((!_isOpera)||(_OperaRv>8.5)){this.hdr.onmousemove=function(e){this.grid.changeCursorState(e||window.event)};this.hdr.onmousedown=function(e){return this.grid.startColResize(e||window.event)}}this.obj.onmousemove=this._drawTooltip;this.obj.onclick=function(e){this.grid._doClick(e||window.event);if(this.grid._sclE){this.grid.editCell(e||window.event)}(e||event).cancelBubble=true};if(_isMacOS){this.entBox.oncontextmenu=function(e){return this.grid._doContClick(e||window.event)}}else{this.entBox.onmousedown=function(e){return this.grid._doContClick(e||window.event)};this.entBox.oncontextmenu=function(e){(e||event).cancelBubble=true;return !this._ctmndx}}this.obj.ondblclick=function(e){if(!this.grid.wasDblClicked(e||window.event)){return false}if(this.grid._dclE){this.grid.editCell(e||window.event)}(e||event).cancelBubble=true;if(_isOpera){return false}};this.hdr.onclick=this._onHeaderClick;this.sortImg.onclick=function(){self._onHeaderClick.apply({grid:self},[null,self.r_fldSorted])};this.hdr.ondblclick=this._onHeaderDblClick;if(!document.body._dhtmlxgrid_onkeydown){dhtmlxEvent(document,_isOpera?"keypress":"keydown",function(e){if(globalActiveDHTMLGridObject){return globalActiveDHTMLGridObject.doKey(e||window.event)}});document.body._dhtmlxgrid_onkeydown=true}dhtmlxEvent(document.body,"click",function(){if(self.editStop){self.editStop()}});this.entBox.onbeforeactivate=function(){this._still_active=null;this.grid.setActive();event.cancelBubble=true};this.entBox.onbeforedeactivate=function(){if(this.grid._still_active){this.grid._still_active=null}else{this.grid.isActive=false}event.cancelBubble=true};if(this.entBox.style.height.toString().indexOf("%")!=-1){this._delta_y=this.entBox.style.height}if(this.entBox.style.width.toString().indexOf("%")!=-1){this._delta_x=this.entBox.style.width}if(this._delta_x||this._delta_y){this._setAutoResize()}this.setColHidden=this.setColumnsVisibility;this.enableCollSpan=this.enableColSpan;this.setMultiselect=this.enableMultiselect;this.setMultiLine=this.enableMultiline;this.deleteSelectedItem=this.deleteSelectedRows;this.getSelectedId=this.getSelectedRowId;this.getHeaderCol=this.getColumnLabel;this.isItemExists=this.doesRowExist;this.getColumnCount=this.getColumnsNum;this.setSelectedRow=this.selectRowById;this.setHeaderCol=this.setColumnLabel;this.preventIECashing=this.preventIECaching;this.enableAutoHeigth=this.enableAutoHeight;this.getUID=this.uid;if(dhtmlx.image_path){this.setImagePath(dhtmlx.image_path)}if(dhtmlx.skin){this.setSkin(dhtmlx.skin)}return this}dhtmlXGridObject.prototype={getRowAttribute:function(b,a){return this.getRowById(b)._attrs[a]},setRowAttribute:function(c,a,b){this.getRowById(c)._attrs[a]=b},isTreeGrid:function(){return(this.cellType._dhx_find("tree")!=-1)},setRowHidden:function(g,c){var b=convertStringToBoolean(c);var e=this.getRowById(g);if(!e){return}if(e.expand===""){this.collapseKids(e)}if((c)&&(e.style.display!="none")){e.style.display="none";var d=this.selectedRows._dhx_find(e);if(d!=-1){e.className=e.className.replace("rowselected","");for(var a=0;a<e.childNodes.length;a++){e.childNodes[a].className=e.childNodes[a].className.replace(/cellselected/g,"")}this.selectedRows._dhx_removeAt(d)}this.callEvent("onGridReconstructed",[])}if((!c)&&(e.style.display=="none")){e.style.display="";this.callEvent("onGridReconstructed",[])}this.setSizes()},setColumnHidden:function(c,b){if(!this.hdr.rows.length){if(!this._ivizcol){this._ivizcol=[]}return this._ivizcol[c]=b}if((this.fldSorted)&&(this.fldSorted.cellIndex==c)&&(b)){this.sortImg.style.display="none"}var a=convertStringToBoolean(b);if(a){if(!this._hrrar){this._hrrar=new Array()}else{if(this._hrrar[c]){return}}this._hrrar[c]="display:none;";this._hideShowColumn(c,"none")}else{if((!this._hrrar)||(!this._hrrar[c])){return}this._hrrar[c]="";this._hideShowColumn(c,"")}if((this.fldSorted)&&(this.fldSorted.cellIndex==c)&&(!b)){this.sortImg.style.display="inline"}this.setSortImgPos();this.callEvent("onColumnHidden",[c,b])},isColumnHidden:function(a){if((this._hrrar)&&(this._hrrar[a])){return true}return false},setColumnsVisibility:function(b){if(b){this._ivizcol=b.split(this.delim)}if(this.hdr.rows.length&&this._ivizcol){for(var a=0;a<this._ivizcol.length;a++){this.setColumnHidden(a,this._ivizcol[a])}}},_fixHiddenRowsAll:function(h,c,a,b,f){f=f||"_cellIndex";var g=h.rows.length;for(var e=0;e<g;e++){var k=h.rows[e].childNodes;if(k.length!=this._cCount){for(var d=0;d<k.length;d++){if(k[d][f]==c){k[d].style[a]=b;break}}}else{k[c].style[a]=b}}},_hideShowColumn:function(e,d){var a=e;if((this.hdr.rows[1]._childIndexes)&&(this.hdr.rows[1]._childIndexes[e]!=e)){a=this.hdr.rows[1]._childIndexes[e]}if(d=="none"){this.hdr.rows[0].cells[e]._oldWidth=this.hdr.rows[0].cells[e].style.width||(this.initCellWidth[e]+"px");this.hdr.rows[0].cells[e]._oldWidthP=this.cellWidthPC[e];this.obj.rows[0].cells[e].style.width="0px";var b={rows:[this.obj.rows[0]]};this.forEachRow(function(f){if(this.rowsAr[f].tagName=="TR"){b.rows.push(this.rowsAr[f])}});this._fixHiddenRowsAll(b,e,"display","none");if(this.isTreeGrid()){this._fixHiddenRowsAllTG(e,"none")}if((_isOpera&&_OperaRv<9)||_isKHTML||(_isFF)){this._fixHiddenRowsAll(this.hdr,e,"display","none","_cellIndexS");if(this.ftr){this._fixHiddenRowsAll(this.ftr.childNodes[0],e,"display","none")}}this._fixHiddenRowsAll(this.hdr,e,"whiteSpace","nowrap","_cellIndexS");if(!this.cellWidthPX.length&&!this.cellWidthPC.length){this.cellWidthPX=[].concat(this.initCellWidth)}if(this.cellWidthPX[e]){this.cellWidthPX[e]=0}if(this.cellWidthPC[e]){this.cellWidthPC[e]=0}}else{if(this.hdr.rows[0].cells[e]._oldWidth){var c=this.hdr.rows[0].cells[e];if(_isOpera||_isKHTML||(_isFF)){this._fixHiddenRowsAll(this.hdr,e,"display","","_cellIndexS")}if(this.ftr){this._fixHiddenRowsAll(this.ftr.childNodes[0],e,"display","")}var b={rows:[this.obj.rows[0]]};this.forEachRow(function(f){if(this.rowsAr[f].tagName=="TR"){b.rows.push(this.rowsAr[f])}});this._fixHiddenRowsAll(b,e,"display","");if(this.isTreeGrid()){this._fixHiddenRowsAllTG(e,"")}this._fixHiddenRowsAll(this.hdr,e,"whiteSpace","normal","_cellIndexS");if(c._oldWidthP){this.cellWidthPC[e]=c._oldWidthP}if(c._oldWidth){this.cellWidthPX[e]=parseInt(c._oldWidth)}}}this.setSizes();if((!_isIE)&&(!_isFF)){this.obj.border=1;this.obj.border=0}},enableColSpan:function(a){this._ecspn=convertStringToBoolean(a)},enableRowsHover:function(b,a){this._hvrCss=a;if(convertStringToBoolean(b)){if(!this._elmnh){this.obj._honmousemove=this.obj.onmousemove;this.obj.onmousemove=this._setRowHover;if(_isIE){this.obj.onmouseleave=this._unsetRowHover}else{this.obj.onmouseout=this._unsetRowHover}this._elmnh=true}}else{if(this._elmnh){this.obj.onmousemove=this.obj._honmousemove;if(_isIE){this.obj.onmouseleave=null}else{this.obj.onmouseout=null}this._elmnh=false}}},enableEditEvents:function(b,c,a){this._sclE=convertStringToBoolean(b);this._dclE=convertStringToBoolean(c);this._f2kE=convertStringToBoolean(a)},enableLightMouseNavigation:function(a){if(convertStringToBoolean(a)){if(!this._elmn){this.entBox._onclick=this.entBox.onclick;this.entBox.onclick=function(){return true};this.obj._onclick=this.obj.onclick;this.obj.onclick=function(b){var d=this.grid.getFirstParentOfType(b?b.target:event.srcElement,"TD");if(!d){return}this.grid.editStop();this.grid.doClick(d);this.grid.editCell();(b||event).cancelBubble=true};this.obj._onmousemove=this.obj.onmousemove;this.obj.onmousemove=this._autoMoveSelect;this._elmn=true}}else{if(this._elmn){this.entBox.onclick=this.entBox._onclick;this.obj.onclick=this.obj._onclick;this.obj.onmousemove=this.obj._onmousemove;this._elmn=false}}},_unsetRowHover:function(b,d){if(d){that=this}else{that=this.grid}if((that._lahRw)&&(that._lahRw!=d)){for(var a=0;a<that._lahRw.childNodes.length;a++){that._lahRw.childNodes[a].className=that._lahRw.childNodes[a].className.replace(that._hvrCss,"")}that._lahRw=null}},_setRowHover:function(b){var d=this.grid.getFirstParentOfType(b?b.target:event.srcElement,"TD");if(d&&d.parentNode!=this.grid._lahRw){this.grid._unsetRowHover(0,d);d=d.parentNode;if(!d.idd||d.idd=="__filler__"){return}for(var a=0;a<d.childNodes.length;a++){d.childNodes[a].className+=" "+this.grid._hvrCss}this.grid._lahRw=d}this._honmousemove(b)},_autoMoveSelect:function(a){if(!this.grid.editor){var b=this.grid.getFirstParentOfType(a?a.target:event.srcElement,"TD");if(b.parentNode.idd){this.grid.doClick(b,true,0)}}this._onmousemove(a)},enableDistributedParsing:function(c,a,b){if(convertStringToBoolean(c)){this._ads_count=a||10;this._ads_time=b||250}else{this._ads_count=0}},destructor:function(){if(this._sizeTime){this._sizeTime=window.clearTimeout(this._sizeTime)}this.entBox.className=(this.entBox.className||"").replace(/gridbox.*/,"");if(this.formInputs){for(var c=0;c<this.formInputs.length;c++){this.parentForm.removeChild(this.formInputs[c])}}var b;this.xmlLoader=this.xmlLoader.destructor();for(var c=0;c<this.rowsCol.length;c++){if(this.rowsCol[c]){this.rowsCol[c].grid=null}}for(c in this.rowsAr){if(this.rowsAr[c]){this.rowsAr[c]=null}}this.rowsCol=new dhtmlxArray();this.rowsAr=new Array();this.entBox.innerHTML="";var d=function(){};this.entBox.onclick=this.entBox.onmousedown=this.entBox.onbeforeactivate=this.entBox.onbeforedeactivate=this.entBox.onbeforedeactivate=this.entBox.onselectstart=d;this.setSizes=this._update_srnd_view=this.callEvent=d;this.entBox.grid=null;for(b in this){if((this[b])&&(this[b].m_obj)){this[b].m_obj=null}this[b]=null}if(this==globalActiveDHTMLGridObject){globalActiveDHTMLGridObject=null}return null},getSortingState:function(){var a=new Array();if(this.fldSorted){a[0]=this.fldSorted._cellIndex;a[1]=(this.sortImg.src.indexOf("sort_desc.gif")!=-1)?"des":"asc"}return a},enableAutoHeight:function(c,b,a){this._ahgr=convertStringToBoolean(c);this._ahgrF=convertStringToBoolean(a);this._ahgrM=b||null;if(b=="auto"){this._ahgrM=null;this._ahgrMA=true;this._setAutoResize()}},enableStableSorting:function(a){this._sst=convertStringToBoolean(a);this.rowsCol.stablesort=function(f){var e=this.length-1;for(var d=0;d<this.length-1;d++){for(var c=0;c<e;c++){if(f(this[c],this[c+1])>0){var b=this[c];this[c]=this[c+1];this[c+1]=b}}e--}}},enableKeyboardSupport:function(a){this._htkebl=!convertStringToBoolean(a)},enableContextMenu:function(a){this._ctmndx=a},setScrollbarWidthCorrection:function(a){},enableTooltips:function(b){this._enbTts=b.split(",");for(var a=0;a<this._enbTts.length;a++){this._enbTts[a]=convertStringToBoolean(this._enbTts[a])}},enableResizing:function(b){this._drsclmn=b.split(",");for(var a=0;a<this._drsclmn.length;a++){this._drsclmn[a]=convertStringToBoolean(this._drsclmn[a])}},setColumnMinWidth:function(a,b){if(arguments.length==2){if(!this._drsclmW){this._drsclmW=new Array()}this._drsclmW[b]=a}else{this._drsclmW=a.split(",")}},enableCellIds:function(a){this._enbCid=convertStringToBoolean(a)},lockRow:function(a,c){var b=this.getRowById(a);if(b){b._locked=convertStringToBoolean(c);if((this.cell)&&(this.cell.parentNode.idd==a)){this.editStop()}}},_getRowArray:function(e){var d=new Array();for(var c=0;c<e.childNodes.length;c++){var b=this.cells3(e,c);d[c]=b.getValue()}return d},setDateFormat:function(b,a){this._dtmask=b;this._dtmask_inc=a},setNumberFormat:function(h,c,e,g){var d=h.replace(/[^0\,\.]*/g,"");var a=d.indexOf(".");if(a>-1){a=d.length-a-1}var b=d.indexOf(",");if(b>-1){b=d.length-a-2-b}if(typeof e!="string"){e=this.i18n.decimal_separator}if(typeof g!="string"){g=this.i18n.group_separator}var i=h.split(d)[0];var f=h.split(d)[1];this._maskArr[c]=[a,b,i,f,e,g]},_aplNFb:function(e,d){var b=this._maskArr[d];if(!b){return e}var c=parseFloat(e.toString().replace(/[^0-9]*/g,""));if(e.toString().substr(0,1)=="-"){c=c*-1}if(b[0]>0){c=c/Math.pow(10,b[0])}return c},_aplNF:function(f,e){var b=this._maskArr[e];if(!b){return f}var g=(parseFloat(f)<0?"-":"")+b[2];f=Math.abs(Math.round(parseFloat(f)*Math.pow(10,b[0]>0?b[0]:0))).toString();f=(f.length<b[0]?Math.pow(10,b[0]+1-f.length).toString().substr(1,b[0]+1)+f.toString():f).split("").reverse();f[b[0]]=(f[b[0]]||"0")+b[4];if(b[1]>0){for(var d=(b[0]>0?0:1)+b[0]+b[1];d<f.length;d+=b[1]){f[d]+=b[5]}}return g+f.reverse().join("")+b[3]},_launchCommands:function(a){for(var d=0;d<a.length;d++){var c=new Array();for(var b=0;b<a[d].childNodes.length;b++){if(a[d].childNodes[b].nodeType==1){c[c.length]=a[d].childNodes[b].firstChild.data}}this[a[d].getAttribute("command")].apply(this,c)}},_parseHead:function(r){var g=this.xmlLoader.doXPath("./head",r);if(g.length){var b=this.xmlLoader.doXPath("./column",g[0]);var k=this.xmlLoader.doXPath("./settings",g[0]);var l="setInitWidths";var o=false;if(k[0]){for(var t=0;t<k[0].childNodes.length;t++){switch(k[0].childNodes[t].tagName){case"colwidth":if(k[0].childNodes[t].firstChild&&k[0].childNodes[t].firstChild.data=="%"){l="setInitWidthsP"}break;case"splitat":o=(k[0].childNodes[t].firstChild?k[0].childNodes[t].firstChild.data:false);break}}}this._launchCommands(this.xmlLoader.doXPath("./beforeInit/call",g[0]));if(b.length>0){if(this.hdr.rows.length>0){this.clearAll(true)}var n=[[],[],[],[],[],[],[],[],[]];var p=["","width","type","align","sort","color","format","hidden","id"];var q=["setHeader",l,"setColTypes","setColAlign","setColSorting","setColumnColor","","","setColumnIds"];for(var h=0;h<b.length;h++){for(var f=1;f<p.length;f++){n[f].push(b[h].getAttribute(p[f]))}n[0].push((b[h].firstChild?b[h].firstChild.data:"").replace(/^\s*((\s\S)*.+)\s*$/gi,"$1"))}for(var h=0;h<q.length;h++){if(q[h]){this[q[h]](n[h].join(this.delim))}}for(var h=0;h<b.length;h++){if((this.cellType[h].indexOf("co")==0)||(this.cellType[h]=="clist")){var e=this.xmlLoader.doXPath("./option",b[h]);if(e.length){var a=new Array();if(this.cellType[h]=="clist"){for(var f=0;f<e.length;f++){a[a.length]=e[f].firstChild?e[f].firstChild.data:""}this.registerCList(h,a)}else{var c=this.getCombo(h);for(var f=0;f<e.length;f++){c.put(e[f].getAttribute("value"),e[f].firstChild?e[f].firstChild.data:"")}}}}else{if(n[6][h]){if((this.cellType[h].toLowerCase().indexOf("calendar")!=-1)||(this.fldSort[h]=="date")){this.setDateFormat(n[6][h],h)}else{this.setNumberFormat(n[6][h],h)}}}}this.init();var d=n[7].join(this.delim);if(this.setColHidden&&d.replace(/,/g,"")!=""){this.setColHidden(d)}if((o)&&(this.splitAt)){this.splitAt(o)}}this._launchCommands(this.xmlLoader.doXPath("./afterInit/call",g[0]))}var m=this.xmlLoader.doXPath("//rows/userdata",r);if(m.length>0){if(!this.UserData.gridglobaluserdata){this.UserData.gridglobaluserdata=new Hashtable()}for(var f=0;f<m.length;f++){this.UserData.gridglobaluserdata.put(m[f].getAttribute("name"),m[f].firstChild?m[f].firstChild.data:"")}}},getCheckedRows:function(a){var b=new Array();this.forEachRowA(function(c){if(this.cells(c,a).getValue()!=0){b.push(c)}},true);return b.join(",")},checkAll:function(){var b=arguments.length?arguments[0]:1;for(var a=0;a<this.getColumnsNum();a++){if(this.getColType(a)=="ch"){this.setCheckedRows(a,b)}}},uncheckAll:function(){this.checkAll(0)},setCheckedRows:function(b,a){this.forEachRow(function(c){if(this.cells(c,b).isCheckbox()){this.cells(c,b).setValue(a)}})},_drawTooltip:function(f){var g=this.grid.getFirstParentOfType(f?f.target:event.srcElement,"TD");if(!g||((this.grid.editor)&&(this.grid.editor.cell==g))){return true}var d=g.parentNode;if(!d.idd||d.idd=="__filler__"){return}var b=(f?f.target:event.srcElement);if(d.idd==window.unknown){return true}if(!this.grid.callEvent("onMouseOver",[d.idd,g._cellIndex])){return true}if((this.grid._enbTts)&&(!this.grid._enbTts[g._cellIndex])){if(b.title){b.title=""}return true}if(g._cellIndex>=this.grid._cCount){return}var a=this.grid.cells3(d,g._cellIndex);if(!a||!a.cell||!a.cell._attrs){return}if(b._title){a.cell.title=""}if(!a.cell._attrs.title){b._title=true}if(a){b.title=a.cell._attrs.title||(a.getTitle?a.getTitle():(a.getValue()||"").toString().replace(/<[^>]*>/gi,""))}return true},enableCellWidthCorrection:function(a){if(_isFF){this._wcorr=parseInt(a)}},getAllRowIds:function(c){var a=[];for(var b=0;b<this.rowsBuffer.length;b++){if(this.rowsBuffer[b]){a.push(this.rowsBuffer[b].idd)}}return a.join(c||this.delim)},getAllItemIds:function(){return this.getAllRowIds()},setColspan:function(b,p,d){if(!this._ecspn){return}var a=this.getRowById(b);if((a._childIndexes)&&(a.childNodes[a._childIndexes[p]])){var g=a._childIndexes[p];var e=a.childNodes[g];var f=e.colSpan;e.colSpan=1;if((f)&&(f!=1)){for(var k=1;k<f;k++){var o=document.createElement("TD");if(e.nextSibling){a.insertBefore(o,e.nextSibling)}else{a.appendChild(o)}a._childIndexes[p+k]=g+k;o._cellIndex=p+k;o.style.textAlign=this.cellAlign[k];o.style.verticalAlign=this.cellVAlign[k];e=o;this.cells3(a,p+k).setValue("")}}for(var l=p*1+1*f;l<a._childIndexes.length;l++){a._childIndexes[l]+=(f-1)*1}}if((d)&&(d>1)){if(a._childIndexes){var g=a._childIndexes[p]}else{var g=p;a._childIndexes=new Array();for(var l=0;l<a.childNodes.length;l++){a._childIndexes[l]=l}}a.childNodes[g].colSpan=d;for(var l=1;l<d;l++){a._childIndexes[a.childNodes[g+1]._cellIndex]=g;a.removeChild(a.childNodes[g+1])}var h=a.childNodes[a._childIndexes[p]]._cellIndex;for(var l=h*1+1*d;l<a._childIndexes.length;l++){a._childIndexes[l]-=(d-1)}}},preventIECaching:function(a){this.no_cashe=convertStringToBoolean(a);this.xmlLoader.rSeed=this.no_cashe},enableColumnAutoSize:function(a){this._eCAS=convertStringToBoolean(a)},_onHeaderDblClick:function(c){var b=this.grid;var a=b.getFirstParentOfType(_isIE?event.srcElement:c.target,"TD");if(!b._eCAS){return false}b.adjustColumnSize(a._cellIndexS)},adjustColumnSize:function(f,h){if(this._hrrar&&this._hrrar[f]){return}this._notresize=true;var b=0;this._setColumnSizeR(f,20);for(var e=1;e<this.hdr.rows.length;e++){var d=this.hdr.rows[e];d=d.childNodes[(d._childIndexes)?d._childIndexes[f]:f];if((d)&&((!d.colSpan)||(d.colSpan<2))&&d._cellIndex==f){if((d.childNodes[0])&&(d.childNodes[0].className=="hdrcell")){d=d.childNodes[0]}b=Math.max(b,((_isFF||_isOpera)?(d.textContent.length*7):d.scrollWidth))}}var c=this.obj.rows.length;for(var g=1;g<c;g++){var k=this.obj.rows[g];if(k._childIndexes&&k._childIndexes[f]!=f||!k.childNodes[f]){continue}if(_isFF||_isOpera||h){k=k.childNodes[f].textContent.length*7}else{k=k.childNodes[f].scrollWidth}if(k>b){b=k}}b+=20+(h||0);this._setColumnSizeR(f,b);this._notresize=false;this.setSizes()},detachHeader:function(a,c){c=c||this.hdr;var b=c.rows[a+1];if(b){b.parentNode.removeChild(b)}this.setSizes()},detachFooter:function(a){this.detachHeader(a,this.ftr)},attachHeader:function(a,d,b){if(typeof(a)=="string"){a=this._eSplit(a)}if(typeof(d)=="string"){d=d.split(this.delim)}b=b||"_aHead";if(this.hdr.rows.length){if(a){this._createHRow([a,d],this[(b=="_aHead")?"hdr":"ftr"])}else{if(this[b]){for(var c=0;c<this[b].length;c++){this.attachHeader.apply(this,this[b][c])}}}}else{if(!this[b]){this[b]=new Array()}this[b][this[b].length]=[a,d,b]}},_createHRow:function(c,l){if(!l){if(this.entBox.style.position!="absolute"){this.entBox.style.position="relative"}var g=document.createElement("DIV");g.className="c_ftr".substr(2);this.entBox.appendChild(g);var o=document.createElement("TABLE");o.cellPadding=o.cellSpacing=0;if(!_isIE){o.width="100%";o.style.paddingRight="20px"}o.style.marginRight="20px";o.style.tableLayout="fixed";g.appendChild(o);o.appendChild(document.createElement("TBODY"));this.ftr=l=o;var f=o.insertRow(0);var a=((this.hdrLabels.length<=1)?c[0].length:this.hdrLabels.length);for(var d=0;d<a;d++){f.appendChild(document.createElement("TH"));f.childNodes[d]._cellIndex=d}if(_isIE&&_isIE<8){f.style.position="absolute"}else{f.style.height="auto"}}var e=c[1];var g=document.createElement("TR");l.rows[0].parentNode.appendChild(g);for(var d=0;d<c[0].length;d++){if(c[0][d]=="#cspan"){var h=g.cells[g.cells.length-1];h.colSpan=(h.colSpan||1)+1;continue}if((c[0][d]=="#rspan")&&(l.rows.length>1)){var q=l.rows.length-2;var p=false;var h=null;while(!p){var h=l.rows[q];for(var b=0;b<h.cells.length;b++){if(h.cells[b]._cellIndex==d){p=b+1;break}}q--}h=h.cells[p-1];h.rowSpan=(h.rowSpan||1)+1;continue}var k=document.createElement("TD");k._cellIndex=k._cellIndexS=d;if(this._hrrar&&this._hrrar[d]&&!_isIE){k.style.display="none"}if(typeof c[0][d]=="object"){k.appendChild(c[0][d])}else{if(this.forceDivInHeader){k.innerHTML="<div class='hdrcell'>"+(c[0][d]||"&nbsp;")+"</div>"}else{k.innerHTML=(c[0][d]||"&nbsp;")}if((c[0][d]||"").indexOf("#")!=-1){var o=c[0][d].match(/(^|{)#([^}]+)(}|$)/);if(o){var m="_in_header_"+o[2];if(this[m]){this[m]((this.forceDivInHeader?k.firstChild:k),d,c[0][d].split(o[0]))}}}}if(e){k.style.cssText=e[d]}g.appendChild(k)}var n=l;if(_isKHTML){if(l._kTimer){window.clearTimeout(l._kTimer)}l._kTimer=window.setTimeout(function(){l.rows[1].style.display="none";window.setTimeout(function(){l.rows[1].style.display=""},1)},500)}},attachFooter:function(a,b){this.attachHeader(a,b,"_aFoot")},setCellExcellType:function(c,a,b){this.changeCellType(this.rowsAr[c],a,b)},changeCellType:function(c,d,b){b=b||this.cellType[d];var e=this.cells3(c,d);var a=e.getValue();e.cell._cellType=b;var e=this.cells3(c,d);e.setValue(a)},setRowExcellType:function(c,b){var d=this.rowsAr[c];for(var a=0;a<d.childNodes.length;a++){this.changeCellType(d,a,b)}},setColumnExcellType:function(a,c){for(var b=0;b<this.rowsBuffer.length;b++){if(this.rowsBuffer[b]&&this.rowsBuffer[b].tagName=="TR"){this.changeCellType(this.rowsBuffer[b],a,c)}}if(this.cellType[a]=="math"){this._strangeParams[b]=c}else{this.cellType[a]=c}},forEachRow:function(c){for(var b in this.rowsAr){if(this.rowsAr[b]&&this.rowsAr[b].idd){c.apply(this,[this.rowsAr[b].idd])}}},forEachRowA:function(c){for(var b=0;b<this.rowsBuffer.length;b++){if(this.rowsBuffer[b]){c.call(this,this.render_row(b).idd)}}},forEachCell:function(c,b){var d=this.getRowById(c);if(!d){return}for(var a=0;a<this._cCount;a++){b(this.cells3(d,a),a)}},enableAutoWidth:function(c,a,b){this._awdth=[convertStringToBoolean(c),parseInt(a||99999),parseInt(b||0)]},updateFromXML:function(a,d,b,c){if(typeof d=="undefined"){d=true}this._refresh_mode=[true,d,b];this.load(a,c)},_refreshFromXML:function(c){reset=false;if(window.eXcell_tree){eXcell_tree.prototype.setValueX=eXcell_tree.prototype.setValue;eXcell_tree.prototype.setValue=function(k){var i=this.grid._h2.get[this.cell.parentNode.idd];if(i&&this.cell.parentNode.valTag){this.setLabel(k)}else{this.setValueX(k)}}}var j=this.cellType._dhx_find("tree");c.getXMLTopNode("rows");var d=c.doXPath("//rows")[0].getAttribute("parent")||0;var f={};if(this._refresh_mode[2]){if(j!=-1){this._h2.forEachChild(d,function(i){f[i.id]=true},this)}else{this.forEachRow(function(i){f[i]=true})}}var h=c.doXPath("//row");for(var b=0;b<h.length;b++){var g=h[b];var a=g.getAttribute("id");f[a]=false;var d=g.parentNode.getAttribute("id")||d;if(this.rowsAr[a]&&this.rowsAr[a].tagName!="TR"){if(this._h2){this._h2.get[a].buff.data=g}else{this.rowsBuffer[this.getRowIndex(a)].data=g}this.rowsAr[a]=g}else{if(this.rowsAr[a]){this._process_xml_row(this.rowsAr[a],g,-1);this._postRowProcessing(this.rowsAr[a],true)}else{if(this._refresh_mode[1]){var e={idd:a,data:g,_parser:this._process_xml_row,_locator:this._get_xml_data};if(this._refresh_mode[1]=="top"){this.rowsBuffer.unshift(e)}else{this.rowsBuffer.push(e)}if(this._h2){reset=true;(this._h2.add(a,(g.parentNode.getAttribute("id")||g.parentNode.getAttribute("parent")))).buff=this.rowsBuffer[this.rowsBuffer.length-1]}this.rowsAr[a]=g;g=this.render_row(this.rowsBuffer.length-1);this._insertRowAt(g,-1)}}}}if(this._refresh_mode[2]){for(a in f){if(f[a]&&this.rowsAr[a]){this.deleteRow(a)}}}this._refresh_mode=null;if(window.eXcell_tree){eXcell_tree.prototype.setValue=eXcell_tree.prototype.setValueX}if(reset){this._renderSort()}this.callEvent("onXLE",[this,h.length])},getCustomCombo:function(c,b){var a=this.cells(c,b).cell;if(!a._combo){a._combo=new dhtmlXGridComboObject()}return a._combo},setTabOrder:function(b){var d=b.split(this.delim);this._tabOrder=[];var a=this._cCount||b.length;for(var c=0;c<a;c++){d[c]={c:parseInt(d[c]),ind:c}}d.sort(function(f,e){return(f.c>e.c?1:-1)});for(var c=0;c<a;c++){if(!d[c+1]||(typeof d[c].c=="undefined")){this._tabOrder[d[c].ind]=(d[0].ind+1)*-1}else{this._tabOrder[d[c].ind]=d[c+1].ind}}},i18n:{loading:"Loading",decimal_separator:".",group_separator:","},_key_events:{k13_1_0:function(){var a=this.rowsCol._dhx_find(this.row);this.selectCell(this.rowsCol[a+1],this.cell._cellIndex,true)},k13_0_1:function(){var a=this.rowsCol._dhx_find(this.row);this.selectCell(this.rowsCol[a-1],this.cell._cellIndex,true)},k13_0_0:function(){this.editStop();this.callEvent("onEnter",[(this.row?this.row.idd:null),(this.cell?this.cell._cellIndex:null)]);this._still_active=true},k9_0_0:function(){this.editStop();if(!this.callEvent("onTab",[true])){return true}var a=this._getNextCell(null,1);if(a){this.selectCell(a.parentNode,a._cellIndex,(this.row!=a.parentNode),false,true);this._still_active=true}},k9_0_1:function(){this.editStop();if(!this.callEvent("onTab",[false])){return false}var a=this._getNextCell(null,-1);if(a){this.selectCell(a.parentNode,a._cellIndex,(this.row!=a.parentNode),false,true);this._still_active=true}},k113_0_0:function(){if(this._f2kE){this.editCell()}},k32_0_0:function(){var a=this.cells4(this.cell);if(!a.changeState||(a.changeState()===false)){return false}},k27_0_0:function(){this.editStop(true)},k33_0_0:function(){if(this.pagingOn){this.changePage(this.currentPage-1)}else{this.scrollPage(-1)}},k34_0_0:function(){if(this.pagingOn){this.changePage(this.currentPage+1)}else{this.scrollPage(1)}},k37_0_0:function(){if(!this.editor&&this.isTreeGrid()){this.collapseKids(this.row)}else{return false}},k39_0_0:function(){if(!this.editor&&this.isTreeGrid()){this.expandKids(this.row)}else{return false}},k40_0_0:function(){var b=this._realfake?this._fake:this;if(this.editor&&this.editor.combo){this.editor.shiftNext()}else{if(!this.row.idd){return}var a=Math.max((b._r_select||0),this.getRowIndex(this.row.idd))+1;if(this.rowsBuffer[a]){b._r_select=null;this.selectCell(a,this.cell._cellIndex,true);if(b.pagingOn){b.showRow(b.getRowId(a))}}else{this._key_events.k34_0_0.apply(this,[]);if(this.pagingOn&&this.rowsCol[a]){this.selectCell(a,0,true)}}}this._still_active=true},k38_0_0:function(){var b=this._realfake?this._fake:this;if(this.editor&&this.editor.combo){this.editor.shiftPrev()}else{if(!this.row.idd){return}var a=this.getRowIndex(this.row.idd)+1;if(a!=-1&&(!this.pagingOn||(a!=1))){var c=this._nextRow(a-1,-1);this.selectCell(c,this.cell._cellIndex,true);if(b.pagingOn&&c){b.showRow(c.idd)}}else{this._key_events.k33_0_0.apply(this,[])}}this._still_active=true}},_build_master_row:function(){var c=document.createElement("DIV");var b=["<table><tr>"];for(var a=0;a<this._cCount;a++){b.push("<td></td>")}b.push("</tr></table>");c.innerHTML=b.join("");this._master_row=c.firstChild.rows[0]},_prepareRow:function(a){if(!this._master_row){this._build_master_row()}var c=this._master_row.cloneNode(true);for(var b=0;b<c.childNodes.length;b++){c.childNodes[b]._cellIndex=b;if(this._enbCid){c.childNodes[b].id="c_"+a+"_"+b}if(this.dragAndDropOff){this.dragger.addDraggableItem(c.childNodes[b],this)}}c.idd=a;c.grid=this;return c},_process_jsarray_row:function(b,c){b._attrs={};for(var a=0;a<b.childNodes.length;a++){b.childNodes[a]._attrs={}}this._fillRow(b,(this._c_order?this._swapColumns(c):c));return b},_get_jsarray_data:function(b,a){return b[a]},_process_json_row:function(b,c){b._attrs={};for(var a=0;a<b.childNodes.length;a++){b.childNodes[a]._attrs={}}this._fillRow(b,(this._c_order?this._swapColumns(c.data):c.data));return b},_get_json_data:function(b,a){return b.data[a]},_process_csv_row:function(b,c){b._attrs={};for(var a=0;a<b.childNodes.length;a++){b.childNodes[a]._attrs={}}this._fillRow(b,(this._c_order?this._swapColumns(c.split(this.csv.cell)):c.split(this.csv.cell)));return b},_get_csv_data:function(b,a){return b.split(this.csv.cell)[a]},_process_xml_row:function(a,f){var l=this.xmlLoader.doXPath(this.xml.cell,f);var h=[];a._attrs=this._xml_attrs(f);if(this._ud_enabled){var k=this.xmlLoader.doXPath("./userdata",f);for(var d=k.length-1;d>=0;d--){this.setUserData(a.idd,k[d].getAttribute("name"),k[d].firstChild?k[d].firstChild.data:"")}}for(var c=0;c<l.length;c++){var e=l[this._c_order?this._c_order[c]:c];var b=a._childIndexes?a._childIndexes[c]:c;var g=e.getAttribute("type");if(a.childNodes[b]){if(g){a.childNodes[b]._cellType=g}a.childNodes[b]._attrs=this._xml_attrs(e)}if(!e.getAttribute("xmlcontent")){if(e.firstChild){e=e.firstChild.data}else{e=""}}h.push(e)}for(c<l.length;c<a.childNodes.length;c++){a.childNodes[c]._attrs={}}if(a.parentNode&&a.parentNode.tagName=="row"){a._attrs.parent=a.parentNode.getAttribute("idd")}this._fillRow(a,h);return a},_get_xml_data:function(b,a){b=b.firstChild;while(true){if(!b){return""}if(b.tagName=="cell"){a--}if(a<0){break}b=b.nextSibling}return(b.firstChild?b.firstChild.data:"")},_fillRow:function(d,f){if(this.editor){this.editStop()}for(var b=0;b<d.childNodes.length;b++){if((b<f.length)||(this.defVal[b])){var c=d.childNodes[b]._cellIndex;var e=f[c];var a=this.cells4(d.childNodes[b]);if((this.defVal[c])&&((e=="")||(typeof(e)=="undefined"))){e=this.defVal[c]}if(a){a.setValue(e)}}else{d.childNodes[b].innerHTML="&nbsp;";d.childNodes[b]._clearCell=true}}return d},_postRowProcessing:function(f,h){if(f._attrs["class"]){f._css=f.className=f._attrs["class"]}if(f._attrs.locked){f._locked=true}if(f._attrs.bgColor){f.bgColor=f._attrs.bgColor}var g=0;for(var b=0;b<f.childNodes.length;b++){var j=f.childNodes[b];var e=j._cellIndex;var d=j._attrs.style||f._attrs.style;if(d){j.style.cssText+=";"+d}if(j._attrs["class"]){j.className=j._attrs["class"]}d=j._attrs.align||this.cellAlign[e];if(d){j.align=d}j.vAlign=j._attrs.valign||this.cellVAlign[e];var a=j._attrs.bgColor||this.columnColor[e];if(a){j.bgColor=a}if(j._attrs.colspan&&!h){this.setColspan(f.idd,b+g,j._attrs.colspan);g+=(j._attrs.colspan-1)}if(this._hrrar&&this._hrrar[e]&&!h){j.style.display="none"}}this.callEvent("onRowCreated",[f.idd,f,null])},load:function(a,c,b){this.callEvent("onXLS",[this]);if(arguments.length==2&&typeof c!="function"){b=c;c=null}b=b||"xml";if(!this.xmlFileUrl){this.xmlFileUrl=a}this._data_type=b;this.xmlLoader.onloadAction=function(g,e,i,h,f){f=g["_process_"+b](f);if(!g._contextCallTimer){g.callEvent("onXLE",[g,0,0,f])}if(c){c();c=null}};this.xmlLoader.loadXML(a)},loadXMLString:function(c,b){var a=new dtmlXMLLoaderObject(function(){});a.loadXMLString(c);this.parse(a,b,"xml")},loadXML:function(a,b){this.load(a,b,"xml")},parse:function(c,b,a){if(arguments.length==2&&typeof b!="function"){a=b;b=null}a=a||"xml";this._data_type=a;c=this["_process_"+a](c);if(!this._contextCallTimer){this.callEvent("onXLE",[this,0,0,c])}if(b){b()}},xml:{top:"rows",row:"./row",cell:"./cell",s_row:"row",s_cell:"cell",row_attrs:[],cell_attrs:[]},csv:{row:"\n",cell:","},_xml_attrs:function(b){var c={};if(b.attributes.length){for(var a=0;a<b.attributes.length;a++){c[b.attributes[a].name]=b.attributes[a].value}}return c},_process_xml:function(a){if(!a.doXPath){var c=new dtmlXMLLoaderObject(function(){});if(typeof a=="string"){c.loadXMLString(a)}else{if(a.responseXML){c.xmlDoc=a}else{c.xmlDoc={}}c.xmlDoc.responseXML=a}a=c}if(this._refresh_mode){return this._refreshFromXML(a)}this._parsing=true;var g=a.getXMLTopNode(this.xml.top);if(g.tagName.toLowerCase()!=this.xml.top){return}this._parseHead(g);var f=a.doXPath(this.xml.row,g);var e=parseInt(a.doXPath("//"+this.xml.top)[0].getAttribute("pos")||0);var d=parseInt(a.doXPath("//"+this.xml.top)[0].getAttribute("total_count")||0);if(d&&!this.rowsBuffer[d-1]){this.rowsBuffer[d-1]=null}if(this.isTreeGrid()){return this._process_tree_xml(a)}for(var b=0;b<f.length;b++){if(this.rowsBuffer[b+e]){continue}var h=f[b].getAttribute("id")||(b+e+1);this.rowsBuffer[b+e]={idd:h,data:f[b],_parser:this._process_xml_row,_locator:this._get_xml_data};this.rowsAr[h]=f[b]}this.render_dataset();this._parsing=false;return a.xmlDoc.responseXML?a.xmlDoc.responseXML:a.xmlDoc},_process_jsarray:function(data){this._parsing=true;if(data&&data.xmlDoc){eval("data="+data.xmlDoc.responseText+";")}for(var i=0;i<data.length;i++){var id=i+1;this.rowsBuffer.push({idd:id,data:data[i],_parser:this._process_jsarray_row,_locator:this._get_jsarray_data});this.rowsAr[id]=data[i]}this.render_dataset();this._parsing=false},_process_csv:function(d){this._parsing=true;if(d.xmlDoc){d=d.xmlDoc.responseText}d=d.replace(/\r/g,"");d=d.split(this.csv.row);if(this._csvHdr){this.clearAll();var c=d.splice(0,1)[0].split(this.csv.cell);if(!this._csvAID){c.splice(0,1)}this.setHeader(c.join(this.delim));this.init()}for(var b=0;b<d.length;b++){if(!d[b]&&b==d.length-1){continue}if(this._csvAID){var e=b+1;this.rowsBuffer.push({idd:e,data:d[b],_parser:this._process_csv_row,_locator:this._get_csv_data})}else{var a=d[b].split(this.csv.cell);var e=a.splice(0,1)[0];this.rowsBuffer.push({idd:e,data:a,_parser:this._process_jsarray_row,_locator:this._get_jsarray_data})}this.rowsAr[e]=d[b]}this.render_dataset();this._parsing=false},_process_json:function(data){this._parsing=true;if(data&&data.xmlDoc){eval("data="+data.xmlDoc.responseText+";")}for(var i=0;i<data.rows.length;i++){var id=data.rows[i].id;this.rowsBuffer.push({idd:id,data:data.rows[i],_parser:this._process_json_row,_locator:this._get_json_data});this.rowsAr[id]=data[i]}this.render_dataset();this._parsing=false},render_dataset:function(c,a){if(this._srnd){if(this._fillers){return this._update_srnd_view()}a=Math.min((this._get_view_size()+(this._srnd_pr||0)),this.rowsBuffer.length)}if(this.pagingOn){c=Math.max((c||0),(this.currentPage-1)*this.rowsBufferOutSize);a=Math.min(this.currentPage*this.rowsBufferOutSize,this.rowsBuffer.length)}else{c=c||0;a=a||this.rowsBuffer.length}for(var b=c;b<a;b++){var e=this.render_row(b);if(e==-1){if(this.xmlFileUrl){if(this.callEvent("onDynXLS",[b,(this._dpref?this._dpref:(a-b))])){this.load(this.xmlFileUrl+getUrlSymbol(this.xmlFileUrl)+"posStart="+b+"&count="+(this._dpref?this._dpref:(a-b)),this._data_type)}}a=b;break}if(!e.parentNode||!e.parentNode.tagName){this._insertRowAt(e,b);if(e._attrs.selected||e._attrs.select){this.selectRow(e,e._attrs.call?true:false,true);e._attrs.selected=e._attrs.select=null}}if(this._ads_count&&b-c==this._ads_count){var d=this;this._context_parsing=this._context_parsing||this._parsing;return this._contextCallTimer=window.setTimeout(function(){d._contextCallTimer=null;d.render_dataset(b,a);if(!d._contextCallTimer){if(d._context_parsing){d.callEvent("onXLE",[])}else{d._fixAlterCss()}d.callEvent("onDistributedEnd",[]);d._context_parsing=false}},this._ads_time)}}if(this._srnd&&!this._fillers){this._fillers=[this._add_filler(a,this.rowsBuffer.length-a)]}this.setSizes()},render_row:function(b){if(!this.rowsBuffer[b]){return -1}if(this.rowsBuffer[b]._parser){var a=this.rowsBuffer[b];if(this.rowsAr[a.idd]&&this.rowsAr[a.idd].tagName=="TR"){return this.rowsBuffer[b]=this.rowsAr[a.idd]}var c=this._prepareRow(a.idd);this.rowsBuffer[b]=c;this.rowsAr[a.idd]=c;a._parser.call(this,c,a.data);this._postRowProcessing(c);return c}return this.rowsBuffer[b]},_get_cell_value:function(b,a,c){if(b._locator){if(this._c_order){a=this._c_order[a]}return b._locator.call(this,b.data,a)}return this.cells3(b,a)[c?c:"getValue"]()},sortRows:function(c,f,b){b=(b||"asc").toLowerCase();f=(f||this.fldSort[c]);c=c||0;if(this.isTreeGrid()){this.sortTreeRows(c,f,b)}else{var a={};var e=this.cellType[c];var g="getValue";if(e=="link"){g="getContent"}if(e=="dhxCalendar"||e=="dhxCalendarA"){g="getDate"}for(var d=0;d<this.rowsBuffer.length;d++){a[this.rowsBuffer[d].idd]=this._get_cell_value(this.rowsBuffer[d],c,g)}this._sortRows(c,f,b,a)}this.callEvent("onAfterSorting",[c,f,b])},_sortCore:function(c,f,b,a,e){var d="sort";if(this._sst){e.stablesort=this.rowsCol.stablesort;d="stablesort"}if(f.length>4){f=window[f]}if(f=="cus"){var g=this._customSorts[c];e[d](function(i,h){return g(a[i.idd],a[h.idd],b,i.idd,h.idd)})}else{if(typeof(f)=="function"){e[d](function(i,h){return f(a[i.idd],a[h.idd],b,i.idd,h.idd)})}else{if(f=="str"){e[d](function(i,h){if(b=="asc"){return a[i.idd]>a[h.idd]?1:-1}else{return a[i.idd]<a[h.idd]?1:-1}})}else{if(f=="int"){e[d](function(j,i){var h=parseFloat(a[j.idd]);h=isNaN(h)?-99999999999999:h;var k=parseFloat(a[i.idd]);k=isNaN(k)?-99999999999999:k;if(b=="asc"){return h-k}else{return k-h}})}else{if(f=="date"){e[d](function(j,i){var h=Date.parse(a[j.idd])||(Date.parse("01/01/1900"));var k=Date.parse(a[i.idd])||(Date.parse("01/01/1900"));if(b=="asc"){return h-k}else{return k-h}})}}}}}},_sortRows:function(c,d,b,a){this._sortCore(c,d,b,a,this.rowsBuffer);this._reset_view();this.callEvent("onGridReconstructed",[])},_reset_view:function(c){if(!this.obj.rows[0]){return}var a=this.obj.rows[0].parentNode;var d=a.removeChild(a.childNodes[0],true);if(_isKHTML){for(var b=a.parentNode.childNodes.length-1;b>=0;b--){if(a.parentNode.childNodes[b].tagName=="TR"){a.parentNode.removeChild(a.parentNode.childNodes[b],true)}}}else{if(_isIE){for(var b=a.childNodes.length-1;b>=0;b--){a.childNodes[b].removeNode(true)}}else{a.innerHTML=""}}a.appendChild(d);this.rowsCol=dhtmlxArray();if(this._sst){this.enableStableSorting(true)}this._fillers=this.undefined;if(!c){if(_isIE&&this._srnd){this.render_dataset()}else{this.render_dataset()}}},deleteRow:function(b,d){if(!d){d=this.getRowById(b)}if(!d){return}this.editStop();if(this.callEvent("onBeforeRowDeleted",[b])==false){return false}var a=0;if(this.cellType._dhx_find("tree")!=-1&&!this._realfake){a=this._h2.get[b].parent.id;this._removeTrGrRow(d)}else{if(d.parentNode){d.parentNode.removeChild(d)}var g=this.rowsCol._dhx_find(d);if(g!=-1){this.rowsCol._dhx_removeAt(g)}for(var c=0;c<this.rowsBuffer.length;c++){if(this.rowsBuffer[c]&&this.rowsBuffer[c].idd==b){this.rowsBuffer._dhx_removeAt(c);g=c;break}}}this.rowsAr[b]=null;for(var c=0;c<this.selectedRows.length;c++){if(this.selectedRows[c].idd==b){this.selectedRows._dhx_removeAt(c)}}if(this._srnd){for(var c=0;c<this._fillers.length;c++){var e=this._fillers[c];if(!e){continue}if(e[0]>=g){e[0]=e[0]-1}else{if(e[1]>=g){e[1]=e[1]-1}}}this._update_srnd_view()}if(this.pagingOn){this.changePage()}if(!this._realfake){this.callEvent("onAfterRowDeleted",[b,a])}this.callEvent("onGridReconstructed",[]);if(this._ahgr){this.setSizes()}return true},_addRow:function(a,k,g){if(g==-1||typeof g=="undefined"){g=this.rowsBuffer.length}if(typeof k=="string"){k=k.split(this.delim)}var h=this._prepareRow(a);h._attrs={};for(var b=0;b<h.childNodes.length;b++){h.childNodes[b]._attrs={}}this.rowsAr[h.idd]=h;if(this._h2){this._h2.get[h.idd].buff=h}this._fillRow(h,k);this._postRowProcessing(h);if(this._skipInsert){this._skipInsert=false;return this.rowsAr[h.idd]=h}if(this.pagingOn){this.rowsBuffer._dhx_insertAt(g,h);this.rowsAr[h.idd]=h;return h}if(this._fillers){this.rowsCol._dhx_insertAt(g,null);this.rowsBuffer._dhx_insertAt(g,h);if(this._fake){this._fake.rowsCol._dhx_insertAt(g,null)}this.rowsAr[h.idd]=h;var e=false;for(var c=0;c<this._fillers.length;c++){var d=this._fillers[c];if(d&&d[0]<=g&&(d[0]+d[1])>=g){d[1]=d[1]+1;d[2].firstChild.style.height=parseInt(d[2].firstChild.style.height)+this._srdh+"px";e=true;if(this._fake){this._fake._fillers[c][1]++}}if(d&&d[0]>g){d[0]=d[0]+1;if(this._fake){this._fake._fillers[c][0]++}}}if(!e){this._fillers.push(this._add_filler(g,1,(g==0?{parentNode:this.obj.rows[0].parentNode,nextSibling:(this.rowsCol[1])}:this.rowsCol[g-1])))}return h}this.rowsBuffer._dhx_insertAt(g,h);return this._insertRowAt(h,g)},addRow:function(a,d,c){var b=this._addRow(a,d,c);if(!this.dragContext){this.callEvent("onRowAdded",[a])}if(this.pagingOn){this.changePage(this.currentPage)}if(this._srnd){this._update_srnd_view()}b._added=true;if(this._ahgr){this.setSizes()}this.callEvent("onGridReconstructed",[]);return b},_insertRowAt:function(b,c,a){this.rowsAr[b.idd]=b;if(this._skipInsert){this._skipInsert=false;return b}if((c<0)||((!c)&&(parseInt(c)!==0))){c=this.rowsCol.length}else{if(c>this.rowsCol.length){c=this.rowsCol.length}}if(this._cssEven){if((this._cssSP?this.getLevel(b.idd):c)%2==1){b.className+=" "+this._cssUnEven+(this._cssSU?(this._cssUnEven+"_"+this.getLevel(b.idd)):"")}else{b.className+=" "+this._cssEven+(this._cssSU?(" "+this._cssEven+"_"+this.getLevel(b.idd)):"")}}if(!a){if((c==(this.obj.rows.length-1))||(!this.rowsCol[c])){if(_isKHTML){this.obj.appendChild(b)}else{this.obj.firstChild.appendChild(b)}}else{this.rowsCol[c].parentNode.insertBefore(b,this.rowsCol[c])}}this.rowsCol._dhx_insertAt(c,b);return b},getRowById:function(c){var b=this.rowsAr[c];if(b){if(b.tagName!="TR"){for(var a=0;a<this.rowsBuffer.length;a++){if(this.rowsBuffer[a]&&this.rowsBuffer[a].idd==c){return this.render_row(a)}}if(this._h2){return this.render_row(null,b.idd)}}return b}return null},cellById:function(b,a){return this.cells(b,a)},cells:function(d,b){if(arguments.length==0){return this.cells4(this.cell)}else{var e=this.getRowById(d)}var a=(e._childIndexes?e.childNodes[e._childIndexes[b]]:e.childNodes[b]);return this.cells4(a)},cellByIndex:function(b,a){return this.cells2(b,a)},cells2:function(d,b){var e=this.render_row(d);var a=(e._childIndexes?e.childNodes[e._childIndexes[b]]:e.childNodes[b]);return this.cells4(a)},cells3:function(c,b){var a=(c._childIndexes?c.childNodes[c._childIndexes[b]]:c.childNodes[b]);return this.cells4(a)},cells4:function(a){var b=window["eXcell_"+(a._cellType||this.cellType[a._cellIndex])];if(b){return new b(a)}},cells5:function(a,c){var c=c||(a._cellType||this.cellType[a._cellIndex]);if(!this._ecache[c]){if(!window["eXcell_"+c]){var b=eXcell_ro}else{var b=window["eXcell_"+c]}this._ecache[c]=new b(a)}this._ecache[c].cell=a;return this._ecache[c]},dma:function(a){if(!this._ecache){this._ecache={}}if(a&&!this._dma){this._dma=this.cells4;this.cells4=this.cells5}else{if(!a&&this._dma){this.cells4=this._dma;this._dma=null}}},getRowsNum:function(){return this.rowsBuffer.length},enableEditTabOnly:function(a){if(arguments.length>0){this.smartTabOrder=convertStringToBoolean(a)}else{this.smartTabOrder=true}},setExternalTabOrder:function(c,a){var b=this;this.tabStart=(typeof(c)=="object")?c:document.getElementById(c);this.tabStart.onkeydown=function(f){var d=(f||window.event);if(d.keyCode==9){d.cancelBubble=true;b.selectCell(0,0,0,0,1);if(b.smartTabOrder&&b.cells2(0,0).isDisabled()){b._key_events.k9_0_0.call(b)}this.blur();return false}};if(_isOpera){this.tabStart.onkeypress=this.tabStart.onkeydown}this.tabEnd=(typeof(a)=="object")?a:document.getElementById(a);this.tabEnd.onkeydown=this.tabEnd.onkeypress=function(f){var d=(f||window.event);if((d.keyCode==9)&&d.shiftKey){d.cancelBubble=true;b.selectCell((b.getRowsNum()-1),(b.getColumnCount()-1),0,0,1);if(b.smartTabOrder&&b.cells2((b.getRowsNum()-1),(b.getColumnCount()-1)).isDisabled()){b._key_events.k9_0_1.call(b)}this.blur();return false}};if(_isOpera){this.tabEnd.onkeypress=this.tabEnd.onkeydown}},uid:function(){if(!this._ui_seed){this._ui_seed=(new Date()).valueOf()}return this._ui_seed++},clearAndLoad:function(){var a=this._pgn_skin;this._pgn_skin=null;this.clearAll();this._pgn_skin=a;this.load.apply(this,arguments)},getStateOfView:function(){if(this.pagingOn){var a=(this.currentPage-1)*this.rowsBufferOutSize;return[this.currentPage,a,Math.min(a+this.rowsBufferOutSize,this.rowsBuffer.length),this.rowsBuffer.length]}return[Math.floor(this.objBox.scrollTop/this._srdh),Math.ceil(parseInt(this.objBox.offsetHeight)/this._srdh),this.rowsBuffer.length]}};(function(){function d(g,h){this[g]=h}function f(g,h){this[g].call(this,h)}function c(g,h){this[g].call(this,h.join(this.delim))}function a(g,k){for(var j=0;j<k.length;j++){if(typeof k[j]=="object"){var l=this.getCombo(j);for(var h in k[j]){l.put(h,k[j][h])}}}}function e(g,r,n){var t=1;var q=[];function s(k,h,u){if(!q[h]){q[h]=[]}if(typeof u=="object"){u.toString=function(){return this.text}}q[h][k]=u}for(var o=0;o<r.length;o++){if(typeof(r[o])=="object"&&r[o].length){for(var m=0;m<r[o].length;m++){s(o,m,r[o][m])}}else{s(o,0,r[o])}}for(var o=0;o<q.length;o++){for(var m=0;m<q[0].length;m++){var p=q[o][m];q[o][m]=(p||"").toString()||"&nbsp;";if(p&&p.colspan){for(var l=1;l<p.colspan;l++){s(m+l,o,"#cspan")}}if(p&&p.rowspan){for(var l=1;l<p.rowspan;l++){s(m,o+l,"#rspan")}}}}this.setHeader(q[0]);for(var o=1;o<q.length;o++){this.attachHeader(q[o])}}var b=[{name:"label",def:"&nbsp;",operation:"setHeader",type:e},{name:"id",def:"",operation:"columnIds",type:d},{name:"width",def:"*",operation:"setInitWidths",type:c},{name:"align",def:"left",operation:"cellAlign",type:d},{name:"valign",def:"top",operation:"cellVAlign",type:d},{name:"sort",def:"na",operation:"fldSort",type:d},{name:"type",def:"ro",operation:"setColTypes",type:c},{name:"options",def:"",operation:"",type:a}];dhtmlx.extend_api("dhtmlXGridObject",{_init:function(g){return[g.parent]},image_path:"setImagePath",columns:"columns",rows:"rows",headers:"headers",skin:"setSkin",smart_rendering:"enableSmartRendering",css:"enableAlterCss",auto_height:"enableAutoHeight",save_hidden:"enableAutoHiddenColumnsSaving",save_cookie:"enableAutoSaving",save_size:"enableAutoSizeSaving",auto_width:"enableAutoWidth",block_selection:"enableBlockSelection",csv_id:"enableCSVAutoID",csv_header:"enableCSVHeader",cell_ids:"enableCellIds",colspan:"enableColSpan",column_move:"enableColumnMove",context_menu:"enableContextMenu",distributed:"enableDistributedParsing",drag:"enableDragAndDrop",drag_order:"enableDragOrder",tabulation:"enableEditTabOnly",header_images:"enableHeaderImages",header_menu:"enableHeaderMenu",keymap:"enableKeyboardSupport",mouse_navigation:"enableLightMouseNavigation",markers:"enableMarkedCells",math_editing:"enableMathEditing",math_serialization:"enableMathSerialization",drag_copy:"enableMercyDrag",multiline:"enableMultiline",multiselect:"enableMultiselect",save_column_order:"enableOrderSaving",hover:"enableRowsHover",rowspan:"enableRowspan",smart:"enableSmartRendering",save_sorting:"enableSortingSaving",stable_sorting:"enableStableSorting",undo:"enableUndoRedo",csv_cell:"setCSVDelimiter",date_format:"setDateFormat",drag_behavior:"setDragBehavior",editable:"setEditable",without_header:"setNoHeader",submit_changed:"submitOnlyChanged",submit_serialization:"submitSerialization",submit_selected:"submitOnlySelected",submit_id:"submitOnlyRowID",xml:"load"},{columns:function(m){for(var g=0;g<b.length;g++){var l=[];for(var h=0;h<m.length;h++){l[h]=m[h][b[g].name]||b[g].def}var k=b[g].type||f;k.call(this,b[g].operation,l,m)}this.init()},rows:function(g){},headers:function(h){for(var g=0;g<h.length;g++){this.attachHeader(h[g])}}})})();
