/* =================================================================== Copyright DHTMLX LTD. http://www.dhtmlx.com This code is obfuscated and not allowed for any purposes except using on sites which belongs to DHTMLX LTD. Please contact sales@dhtmlx.com to obtain necessary license for usage of dhtmlx components. =================================================================== */var globalActiveDHTMLGridObject;String.prototype._dhx_trim=function(){return this.replace(/ /g," ").replace(/(^[ \t]*)|([ \t]*$)/g,"")};function dhtmlxArray(a){return dhtmlXHeir(a||[],dhtmlxArray._master)};dhtmlxArray._master={_dhx_find:function(a){for(var b=0;b=a;c--)this[c]=this[c-1];this[a]=b},_dhx_removeAt:function(a){this.splice(a,1)},_dhx_swapItems:function(a,b){var c=this[a];this[a]=this[b];this[b]=c}};function dhtmlXGridObject(a){if(_isIE)try{document.execCommand("BackgroundImageCache",!1,!0)}catch(b){}a?typeof a=="object"?(this.entBox=a,this.entBox.id="cgrid2_"+this.uid()):this.entBox=document.getElementById(a):(this.entBox=document.createElement("DIV"),this.entBox.id="cgrid2_"+this.uid());this.entBox.innerHTML="";dhtmlxEventable(this);var c=this;this._wcorr=0;this.fontWidth=7;this.row=this.cell=null;this.iconURL="";this.editor=null;this._dclE=this._f2kE= !0;this.combos=[];this.defVal=[];this.rowsAr={};this.rowsBuffer=dhtmlxArray();this.rowsCol=dhtmlxArray();this._data_cache={};this._ecache={};this._ud_enabled= !0;this.xmlLoader=new dtmlXMLLoaderObject(this.doLoadDetails,this,!0,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!1};var d=function(e){var a=document.createElement("TABLE");a.cellSpacing=a.cellPadding=0;a.style.cssText="width:100%;table-layout:fixed;";a.className=e.substr(2);return a};this.obj=d("c_obj");this.hdr=d("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="auto";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=[];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"?22:20;this.imgURL=window.dhx_globalImgPath||"";this.isActive= !1;this.isEditable= !0;this.pagingOn=this.useImagesInHeader= !1;this.rowsBufferOutSize=0;dhtmlxEvent(window,"unload",function(){try{c.destructor&&c.destructor()}catch(e){}});this.setSkin=function(e){this.skin_name=e;this.entBox.className="gridbox gridbox_"+e;this.skin_h_correction=0;this.an("ev_"+e,"odd_"+e,this.isTreeGrid());this._fixAlterCss();switch(e){case "clear":this._topMb=document.createElement("DIV");this._topMb.className="topMumba";this._topMb.innerHTML="";this.entBox.appendChild(this._topMb);this._botMb=document.createElement("DIV");this._botMb.className="bottomMumba";this._botMb.innerHTML="";this.entBox.appendChild(this._botMb);this.entBox.style.position="relative";this.skin_h_correction=20;break;case "dhx_skyblue":case "dhx_web":case "glassy_blue":case "dhx_black":case "dhx_blue":case "modern":case "light":this._srdh=20;this.forceDivInHeader= !0;break;case "xp":this.forceDivInHeader= !0;this._srdh=_isIE&&document.compatMode!="BackCompat"?25:22;break;case "mt":this._srdh=_isIE&&document.compatMode!="BackCompat"?25:22;break;case "gray":if(_isIE&&document.compatMode!="BackCompat")this._srdh=22}if(_isIE&&this.hdr){var a=this.hdr.parentNode;a.removeChild(this.hdr);a.appendChild(this.hdr)}this.setSizes()};_isIE&&this.preventIECaching(!0);if(window.dhtmlDragAndDropObject)this.dragger=new dhtmlDragAndDropObject;this._doOnScroll=function(e,a){this.callEvent("onScroll",[this.objBox.scrollLeft,this.objBox.scrollTop]);this.doOnScroll(e,a)};this.doOnScroll=function(e,a){this.hdrBox.scrollLeft=this.objBox.scrollLeft;if(this.ftr)this.ftr.parentNode.scrollLeft=this.objBox.scrollLeft;if(!a&&this._srnd)this._dLoadTimer&&window.clearTimeout(this._dLoadTimer),this._dLoadTimer=window.setTimeout(function(){c._update_srnd_view&&c._update_srnd_view()},100)};this.attachToObject=function(e){e.appendChild(this.globalBox?this.globalBox:this.entBox);this.setSizes()};this.init=function(e){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){this.editStop();this.fldSorted=this.r_fldSorted=this.resized=this.lastClicked=null;this.cellWidthPX=[];this.cellWidthPC=[];this.hdr.rows.length>0&&this.clearAll(!0);for(var a=this.hdr.insertRow(0),b=0;ba){var l=b[b.length-1];this.cellWidthPX[l]+=e-a;a=e}this._setAutoResize()}this.obj.style.width=a+"px";this.hdr.style.width=a+"px";if(this.ftr)this.ftr.style.width=a+"px";this.chngCellWidth();return a};this.setSizes=function(){if(this.hdr.rows[0]){var e=this.quirks=_isIE&&document.compatMode=="BackCompat",a=(this.entBox.offsetWidth-this.entBox.clientWidth)/2;if(this.globalBox){var b=(this.globalBox.offsetWidth-this.globalBox.clientWidth)/2;if(this._delta_x&& !this._realfake){var f=this.globalBox.clientWidth;this.globalBox.style.width=this._delta_x;this.entBox.style.width=Math.max(0,this.globalBox.clientWidth+(e?b*2:0)-this._fake.entBox.clientWidth)+"px";f!=this.globalBox.clientWidth&&this._fake._correctSplit(this._fake.entBox.clientWidth)}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+(e?b*2:0)+"px"}else{if(this._delta_x)this.entBox.parentNode.tagName=="TD"?(this.entBox.style.width="1px",this.entBox.style.width=parseInt(this._delta_x)*this.entBox.parentNode.clientWidth/100-a*2+"px"):this.entBox.style.width=this._delta_x;if(this._delta_y)this.entBox.style.height=this._delta_y}window.clearTimeout(this._sizeTime);if(!this.entBox.offsetWidth&&(!this.globalBox|| !this.globalBox.offsetWidth))this._sizeTime=window.setTimeout(function(){c.setSizes&&c.setSizes()},250);else{var d=(this.entBox.cmp||this._delta_x)&&(this.skin_name||"").indexOf("dhx")==0&& !e?2:0,i=(this.entBox.cmp||this._delta_y)&&(this.skin_name||"").indexOf("dhx")==0&& !e?2:0,l=this.parentGrid? !1:this.objBox.scrollHeight>this.objBox.offsetHeight,m=_isFF?18:18,k=this.entBox.clientWidth-(this.skin_h_correction||0)*(e?0:1)-d,n=this.entBox.clientWidth-(this.skin_h_correction||0)-d,o=this.entBox.clientHeight-i,p=this.setColumnSizes(n-(l?m:0)-(this._correction_x||0)),r=this.parentGrid? !1:this.objBox.scrollWidth>this.objBox.offsetWidth||this.objBox.style.overflowX=="scroll",s=this.hdr.clientHeight,t=this.ftr?this.ftr.clientHeight:0,u=k,q=o-s-t;this._awdth&&this._awdth[0]&&this._awdth[1]==99999&&(r=0);if(this._ahgr&&(q=this._ahgrMA?this.entBox.parentNode.clientHeight-s-t:this.obj.offsetHeight+(r?m:0)+(this._correction_y||0),this._ahgrM&&(q=this._ahgrF?Math.min(this._ahgrM,q+s+t)-s-t:Math.min(this._ahgrM,q)),l&&q>=this.obj.scrollHeight+(r?m:0)))l= !1,this.setColumnSizes(n-(this._correction_x||0));if(this._awdth&&this._awdth[0]){if(this.cellWidthType=="%")this.cellWidthType="px";this._fake&&(p+=this._fake.entBox.clientWidth);u=Math.min(Math.max(p+(l?m:0),this._awdth[2]),this._awdth[1])+(this._correction_x||0);this._fake&&(u-=this._fake.entBox.clientWidth)}q=Math.max(0,q);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=Math.max(0,u+(e?2:0)*a+this._ff_size_delta)+"px";this.entBox.style.height=q+(e?2:0)*a+s+t+"px";this.objBox.style.height=q+(e&& !l?2:0)*a+"px";this.hdrBox.style.height=s+"px";q!=o&&this.doOnScroll(0,!this._srnd);var v=this["setSizes_"+this.skin_name];v&&v.call(this);this.setSortImgPos();s!=this.hdr.clientHeight&&this._ahgr&&this.setSizes();this.callEvent("onSetSizes",[])}}};this.setSizes_clear=function(){var e=this.hdr.offsetHeight,a=this.entBox.offsetWidth,b=e+this.objBox.offsetHeight;this._topMb.style.top=(e||0)+"px";this._topMb.style.width=a+20+"px";this._botMb.style.top=b-3+"px";this._botMb.style.width=a+20+"px"};this.chngCellWidth=function(){if(_isOpera&&this.ftr)this.ftr.width=this.objBox.scrollWidth+"px";for(var e=this._cCount,a=0;a1){for(var m=[],k=0;k(this._drsclmW&& !this._notresize?this._drsclmW[a]||10:10)){this.obj.rows[0].childNodes[a].style.width=b+"px";this.hdr.rows[0].childNodes[a].style.width=b+"px";if(this.ftr)this.ftr.rows[0].childNodes[a].style.width=b+"px";if(this.cellWidthType=="px")this.cellWidthPX[a]=b;else{var c=parseInt(this.entBox.offsetWidth);this.objBox.scrollHeight>this.objBox.offsetHeight&&(c-=17);var f=Math.round(b/c*100);this.cellWidthPC[a]=f}this.sortImg.style.display!="none"&&this.setSortImgPos()}};this.setSortImgState=function(a,b,c,f){c=(c||"asc").toLowerCase();if(convertStringToBoolean(a)){this.sortImg.src=c=="asc"?this.imgURL+"sort_asc.gif":this.imgURL+"sort_desc.gif";this.sortImg.style.display="";this.fldSorted=this.hdr.rows[0].childNodes[b];var d=this.hdr.rows[f||1];if(d){for(var i=0;ik)var n=k,o=m;else n=m,o=k;for(var p=0;p=n&&p<=o)if(this.rowsCol[p]&& !this.rowsCol[p]._sRow)this.rowsCol[p].className.indexOf("rowselected")== -1&&this.callEvent("onBeforeSelect",[this.rowsCol[p].idd,g])&&(this.rowsCol[p].className+=" rowselected",this.selectedRows[this.selectedRows.length]=this.rowsCol[p]);else return this.clearSelection(),this.doClick(a,b,0,f)}else if(d==2&&a.parentNode.className.indexOf("rowselected")!= -1){a.parentNode.className=a.parentNode.className.replace(/rowselected/g,"");this.selectedRows._dhx_removeAt(this.selectedRows._dhx_find(a.parentNode));var r= !0}this.editStop();if(typeof a.parentNode.idd=="undefined")return!0;if(!r&& !a.parentNode._sRow)if(this.callEvent("onBeforeSelect",[a.parentNode.idd,g])){if(d==0){if(this.getSelectedRowId()==a.parentNode.idd)return this.cell=a;this.clearSelection()}this.cell=a;l==a.parentNode&&this._chRRS&&(b= !1);this.row=a.parentNode;this.row.className+=" rowselected";if(this.cell&&_isIE&&_isIE==8){var s=this.cell.nextSibling,t=this.cell.parentNode;t.removeChild(this.cell);t.insertBefore(this.cell,s)}if(this.selectedRows._dhx_find(this.row)== -1)this.selectedRows[this.selectedRows.length]=this.row}else b= !1;if(this.cell&&this.cell.parentNode.className.indexOf("rowselected")!= -1)this.cell.className=this.cell.className.replace(/cellselected/g,"")+" cellselected";if(d!=1&& !this.row)return;this.lastClicked=a.parentNode;var u=this.row.idd,q=this.cell;b&&typeof u!="undefined"&&q&& !r?c.onRowSelectTime=setTimeout(function(){c.callEvent&&c.callEvent("onRowSelect",[u,q._cellIndex])},100):this.callEvent("onRowSelectRSOnly",[u]);if(this.checkEvent("onSelectStateChanged")){var v=this.getSelectedId();i!=v&&this.callEvent("onSelectStateChanged",[v,i])}}this.isActive= !0;f!== !1&&this.cell&&this.cell.parentNode.idd&&this.moveToVisible(this.cell)};this.selectAll=function(){this.clearSelection();var a=this.rowsBuffer;if(this.pagingOn)a=this.rowsCol;for(var b=0;bthis.objBox.offsetWidth+this.objBox.scrollLeft?a.offsetLeft>this.objBox.scrollLeft&&(d=a.offsetLeft-5):a.offsetLeftthis.objBox.offsetHeight+this.objBox.scrollTop)var m=l-this.objBox.offsetHeight;else f(new Date).valueOf())return;this._Opera_stop=null}if(this.editor&&this.editor!=null)if(this.editor.cell.className=this.editor.cell.className.replace("editable",""),a){var b=this.editor.val;this.editor.detach();this.editor.setValue(b);this.editor=null;this.callEvent("onEditCancel",[this.row.idd,this.cell._cellIndex,b])}else{if(this.editor.detach())this.cell.wasChanged= !0;var c=this.editor;this.editor=null;var f=this.callEvent("onEditCell",[2,this.row.idd,this.cell._cellIndex,c.getValue(),c.val]);if(typeof f=="string"||typeof f=="number")c[c.setImage?"setLabel":"setValue"](f);else if(!f)c[c.setImage?"setLabel":"setValue"](c.val);this._ahgr&&this.multiLine&&this.setSizes()}};this._nextRowCell=function(a,b,c){a=this._nextRow((this._groups?this.rowsCol:this.rowsBuffer)._dhx_find(a),b);return!a?null:a.childNodes[a._childIndexes?a._childIndexes[c]:c]};this._getNextCell=function(a,b,c){var a=a||this.cell,f=a.parentNode;this._tabOrder?(c=this._tabOrder[a._cellIndex],typeof c!="undefined"&&(a=c<0?this._nextRowCell(f,b,Math.abs(c)-1):f.childNodes[c])):(c=a._cellIndex+b,c>=0&&c=this.rowsBuffer.length&&(c=this.rowsBuffer.length-1);if(this._srnd&& !this.rowsBuffer[c]){this.objBox.scrollTop+=Math.floor(a*this.objBox.offsetHeight/(this._srdh||20))*(this._srdh||20);if(this._fake)this._fake.objBox.scrollTop=this.objBox.scrollTop;b._r_select=c}else{this.selectCell(c,this.cell._cellIndex,!0,!1,!1,this.multiLine||this._srnd);if(!this.multiLine&& !this._srnd&& !this._realfake&&(this.objBox.scrollTop=this.getRowById(this.getRowId(c)).offsetTop,this._fake))this._fake.objBox.scrollTop=this.objBox.scrollTop;b._r_select=null}}};this.doKey=function(a){if(!a)return!0;if((a.target||a.srcElement).value!==window.undefined){var b=a.target||a.srcElement;if(!b.parentNode||b.parentNode.className.indexOf("editable")== -1)return!0}if(globalActiveDHTMLGridObject&&this!=globalActiveDHTMLGridObject)return globalActiveDHTMLGridObject.doKey(a);if(this.isActive== !1)return!0;if(this._htkebl)return!0;if(!this.callEvent("onKeyPress",[a.keyCode,a.ctrlKey,a.shiftKey,a]))return!1;var c="k"+a.keyCode+"_"+(a.ctrlKey?1:0)+"_"+(a.shiftKey?1:0);if(this.cell){if(this._key_events[c]){if(!1===this._key_events[c].call(this))return!0;a.preventDefault&&a.preventDefault();a.cancelBubble= !0;return!1}this._key_events.k_other&&this._key_events.k_other.call(this,a)}return!0};this.selectRow=function(a,b,c,f){typeof a!="object"&&(a=this.render_row(a));this.selectCell(a,0,b,c,!1,f)};this.wasDblClicked=function(a){var b=this.getFirstParentOfType(_isIE?a.srcElement:a.target,"TD");if(b){var c=b.parentNode.idd;return this.callEvent("onRowDblClicked",[c,b._cellIndex])}};this._onHeaderClick=function(a,b){var c=this.grid,b=b||c.getFirstParentOfType(_isIE?event.srcElement:a.target,"TD");if(this.grid.resized==null){if(!this.grid.callEvent("onHeaderClick",[b._cellIndexS,a||window.event]))return!1;c.sortField(b._cellIndexS,!1,b)}this.grid.resized=null};this.deleteSelectedRows=function(){var a=this.selectedRows.length;if(a!=0){var b=this.selectedRows;this.selectedRows=dhtmlxArray();for(var c=a-1;c>=0;c--){var f=b[c];if(this.deleteRow(f.idd,f)){if(f==this.row)var d=c}else this.selectedRows[this.selectedRows.length]=f}if(d)try{d+1>this.rowsCol.length&&d--,this.selectCell(d,0,!0)}catch(i){this.cell=this.row=null}}};this.getSelectedRowId=function(){for(var a=[],b={},c=0;c";var l=new Image;l.src=this.imgURL+""+b.replace(/(\.[a-z]+)/,".des$1");this.preloadImagesAr[this.preloadImagesAr.length]=l;var m=new Image;m.src=this.imgURL+""+b.replace(/(\.[a-z]+)/,".asc$1");this.preloadImagesAr[this.preloadImagesAr.length]=m}else{var k="
";if(b.indexOf("img:[")!= -1){var n=b.replace(/.*\[([^>]+)\].*/,"$1"),b=b.substr(b.indexOf("]")+1,b.length);k+=""}k+=b;k+="
";g.cells[i].innerHTML=k;if(this._hstyles[i])g.cells[i].style.cssText=this._hstyles[i]}if((b||"").indexOf("#")!= -1){var o=b.match(/(^|{)#([^}]+)(}|$)/);if(o){var p="_in_header_"+o[2];if(this[p])this[p](this.forceDivInHeader?g.cells[i].firstChild:g.cells[i],i,b.split(o[0]))}}}};this.setColLabel=function(a,b,c,d){return this.setColumnLabel(a,b,(c||0)+1,d)};this.clearAll=function(a){if(this.obj.rows[0]){if(this._h2&&(this._h2=new dhtmlxHierarchy,this._fake))this._realfake?this._h2=this._fake._h2:this._fake._h2=this._h2;this.limit=this._limitC=0;this.editStop(!0);this._dLoadTimer&&window.clearTimeout(this._dLoadTimer);if(this._dload)this.objBox.scrollTop=0,this.limit=this._limitC||0,this._initDrF= !0;for(var b=this.rowsCol.length,b=this.obj.rows.length,c=b-1;c>0;c--){var d=this.obj.rows[c];d.parentNode.removeChild(d)}if(a){this._master_row=null;this.obj.rows[0].parentNode.removeChild(this.obj.rows[0]);for(c=this.hdr.rows.length-1;c>=0;c--)d=this.hdr.rows[c],d.parentNode.removeChild(d);if(this.ftr)this.ftr.parentNode.removeChild(this.ftr),this.ftr=null;this._aHead=this.ftr=this.cellWidth=this._aFoot=null;this.cellType=dhtmlxArray();this._hrrar=[];this.columnIds=[];this.combos=[];this._ivizcol=null}this.cell=this.row=null;this.rowsCol=dhtmlxArray();this.rowsAr={};this._RaSeCol=[];this.rowsBuffer=dhtmlxArray();this.UserData=[];this.selectedRows=dhtmlxArray();if(this.pagingOn||this._srnd)this.xmlFileUrl="";this.pagingOn&&this.changePage(1);this._contextCallTimer&&window.clearTimeout(this._contextCallTimer);this._sst&&this.aC(!0);this._fillers=this.undefined;this.setSortImgState(!1);this.setSizes();this.callEvent("onClearAll",[])}};this.sortField=function(a,b,c){if(this.getRowsNum()==0)return!1;var d=this.hdr.rows[0].cells[a];if(d&&d.tagName=="TH"&&this.fldSort.length-1>=d._cellIndex&&this.fldSort[d._cellIndex]!="na"){var g=this.getSortingState(),i=g[0]==a&&g[1]=="asc"?"des":"asc";if(this.callEvent("onBeforeSorting",[a,this.fldSort[a],i])){this.sortImg.src=this.imgURL+"sort_"+(i=="asc"?"asc":"desc")+".gif";if(this.useImagesInHeader){var l=this.hdr.rows[1].cells[d._cellIndex].firstChild;if(this.fldSorted!=null){var m=this.hdr.rows[1].cells[this.fldSorted._cellIndex].firstChild;m.src=m.src.replace(/(\.asc\.)|(\.des\.)/,".")}l.src=l.src.replace(/(\.[a-z]+)$/,"."+i+"$1")}this.sortRows(d._cellIndex,this.fldSort[d._cellIndex],i);this.fldSorted=d;this.r_fldSorted=c;var k=this.hdr.rows[1],k=c.parentNode,n=k._childIndexes?k._childIndexes[d._cellIndex]:d._cellIndex;this.setSortImgPos(!1,!1,!1,c)}}};this.setCustomSorting=function(a,b){if(!this._customSorts)this._customSorts=[];this._customSorts[b]=typeof a=="string"?eval(a):a;this.fldSort[b]="cus"};this.bq=function(a){this.useImagesInHeader=a};this.setHeader=function(a,b,c){for(var d=typeof a!="object"?this._eSplit(a):[].concat(a),g=[],i=new dhtmlxArray(0),l=[],m=[],k=[],n=0;n4&&typeof window[this.fldSort[b]]=="function"){if(!this._customSorts)this._customSorts=[];this._customSorts[b]=window[this.fldSort[b]];this.fldSort[b]="cus"}};this.setColAlign=function(a){this.cellAlign=a.split(this.delim);for(var b=0;b";if(this.isTreeGrid())this._h2.forEachChildF(0,function(b){var c=this._serializeRow(this.render_row_tree(-1,b.id));a.push(c);return c? !0: !1},this,function(){a.push(b)});else for(var c=0;c");if(this._sUDa&&this.UserData[a.idd]){keysAr=this.UserData[a.idd].getKeys();for(var i=0;i"+(this._asCDATA?"":"")+"")}for(var l= !1,m=0;m");this._ecspn&&k.cell.colSpan&&k.cell.colSpan>1&&c.push(' colspan="'+k.cell.colSpan+'" ');this._chAttr?k.wasChanged()&&(c.push(' changed="1"'),l= !0):this._onlChAttr&&k.wasChanged()&&(l= !0);this._sAll&&this.cellType[m]=="tree"?c.push((this._h2?" image='"+this._h2.get[a.idd].image+"'":"")+">"+zxVal+""):c.push(">"+zxVal+"");if(this._ecspn&&k.cell.colSpan)for(var n=0;n"),m++}return this._onlChAttr&& !l&& !a._added?"":c.join("")};this._serialiseConfig=function(){for(var a="",b=0;b";a+=this._asCDATA?"":this.getHeaderCol(b);var d=this.getCombo(b);if(d)for(var g=0;g"+d.values[g]+"";a+=""}return a+=""};this.serialize=function(){var a='';this._agetm=this._mathSerialization?"getMathValue":"getValue";if(this._sUDa&&this.UserData.gridglobaluserdata)for(var b=this.UserData.gridglobaluserdata.getKeys(),c=0;c"+this.UserData.gridglobaluserdata.get(b[c])+"";this._sConfig&&(a+=this._serialiseConfig());a+=this._serialise();a+="";return a};this.getPosition=function(a,b){if(!b&& !_isChrome){var c=getOffset(a);return[c.left,c.top]}for(var b=b||document.body,d=a,g=0,i=0;d&&d!=b;)g+=d.offsetLeft-d.scrollLeft,i+=d.offsetTop-d.scrollTop,d=d.offsetParent;b==document.body&&(_isIE?(i+=document.body.offsetTop||document.documentElement.offsetTop,g+=document.body.offsetLeft||document.documentElement.offsetLeft):_isFF||(g+=document.body.offsetLeft,i+=document.body.offsetTop));return[g,i]};this.getFirstParentOfType=function(a,b){for(;a&&a.tagName!=b&&a.tagName!="BODY";)a=a.parentNode;return a};this.objBox.onscroll=function(){this.grid._doOnScroll()};if(!_isOpera||_OperaRv>8.5)this.hdr.onmousemove=function(a){this.grid.changeCursorState(a||window.event)},this.hdr.onmousedown=function(a){return this.grid.startColResize(a||window.event)};this.obj.onmousemove=this._drawTooltip;this.objBox.onclick=function(a){(a||event).cancelBubble= !0};this.obj.onclick=function(a){this.grid._doClick(a||window.event);this.grid._sclE&&this.grid.editCell(a||window.event);(a||event).cancelBubble= !0};_isMacOS?this.entBox.oncontextmenu=function(a){a.cancelBubble= !0;a.returnValue= !1;return this.grid._doContClick(a||window.event)}:(this.entBox.onmousedown=function(a){return this.grid._doContClick(a||window.event)},this.entBox.oncontextmenu=function(a){if(this.grid._ctmndx)(a||event).cancelBubble= !0;return!this.grid._ctmndx});this.obj.ondblclick=function(a){if(!this.grid.wasDblClicked(a||window.event))return!1;if(this.grid._dclE){var b=this.grid.getFirstParentOfType(_isIE?event.srcElement:a.target,"TR");b==this.grid.row&&this.grid.editCell(a||window.event)}(a||event).cancelBubble= !0;if(_isOpera)return!1};this.hdr.onclick=this._onHeaderClick;this.sortImg.onclick=function(){c._onHeaderClick.apply({grid:c},[null,c.r_fldSorted])};this.hdr.ondblclick=this._onHeaderDblClick;if(!document.body._dhtmlxgrid_onkeydown)dhtmlxEvent(document,_isOpera?"keypress":"keydown",function(a){if(globalActiveDHTMLGridObject)return globalActiveDHTMLGridObject.doKey(a||window.event)}),document.body._dhtmlxgrid_onkeydown= !0;dhtmlxEvent(document.body,"click",function(){c.editStop&&c.editStop();c.isActive&&c.setActive(!1)});this.entBox.onbeforeactivate=function(){this._still_active=null;this.grid.setActive();event.cancelBubble= !0};this.entBox.onbeforedeactivate=function(){this.grid._still_active?this.grid._still_active=null:this.grid.isActive= !1;event.cancelBubble= !0};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;(this._delta_x||this._delta_y)&&this._setAutoResize();this.setColHidden=this.setColumnsVisibility;this.bm=this.aT;this.setMultiselect=this.ah;this.setMultiLine=this.aD;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.bn=this.al;this.getUID=this.uid;dhtmlx.image_path&&this.setImagePath(dhtmlx.image_path);dhtmlx.skin&&this.setSkin(dhtmlx.skin);return this};dhtmlXGridObject.prototype={getRowAttribute:function(a,b){return this.getRowById(a)._attrs[b]},setRowAttribute:function(a,b,c){this.getRowById(a)._attrs[b]=c},isTreeGrid:function(){return this.cellType._dhx_find("tree")!= -1},setRowHidden:function(a,b){var c=convertStringToBoolean(b),d=this.getRowById(a);if(d){d.expand===""&&this.collapseKids(d);if(b&&d.style.display!="none"){d.style.display="none";var e=this.selectedRows._dhx_find(d);if(e!= -1){d.className=d.className.replace("rowselected","");for(var h=0;h0){var h=this[e];this[e]=this[e+1];this[e+1]=h}c--}}},aS:function(a){this._htkebl= !convertStringToBoolean(a)},enableContextMenu:function(a){this._ctmndx=a},setScrollbarWidthCorrection:function(){},bA:function(a){this._enbTts=a.split(",");for(var b=0;b -1&&(h=e.length-h-1);var j=e.indexOf(",");j> -1&&(j=e.length-h-2-j);if(typeof c!="string")c=this.i18n.decimal_separator;if(typeof d!="string")d=this.i18n.group_separator;var f=a.split(e)[0],g=a.split(e)[1];this._maskArr[b]=[h,j,f,g,c,d]},_aplNFb:function(a,b){var c=this._maskArr[b];if(!c)return a;var d=parseFloat(a.toString().replace(/[^0-9]*/g,""));a.toString().substr(0,1)=="-"&&(d*= -1);c[0]>0&&(d/=Math.pow(10,c[0]));return d},_aplNF:function(a,b){var c=this._maskArr[b];if(!c)return a;var d=(parseFloat(a)<0?"-":"")+c[2],a=Math.abs(Math.round(parseFloat(a)*Math.pow(10,c[0]>0?c[0]:0))).toString(),a=(a.length0)for(var e=(c[0]>0?0:1)+c[0]+c[1];e0){this.hdr.rows.length>0&&this.clearAll(!0);for(var f=[[],[],[],[],[],[],[],[],[]],g=",width,type,align,sort,color,format,hidden,id".split(","),i=["",e,"setColTypes","setColAlign","setColSorting","setColumnColor","","","setColumnIds"],l=0;l0){this.UserData.gridglobaluserdata||(this.UserData.gridglobaluserdata=new Hashtable);for(m=0;m=this.grid._cCount)){var e=this.grid.cells3(c,b._cellIndex);if(e&&e.cell&&e.cell._attrs){if(d._title)e.cell.title="";if(!e.cell._attrs.title)d._title= !0;if(e)d.title=e.cell._attrs.title||(e.getTitle?e.getTitle():(e.getValue()||"").toString().replace(/<[^>]*>/gi,""));return!0}}}},bU:function(a){if(_isFF)this._wcorr=parseInt(a)},getAllRowIds:function(a){for(var b=[],c=0;c1){if(d._childIndexes)e=d._childIndexes[b];else{e=b;d._childIndexes=[];for(i=0;ic&&(c=f))}c+=20+(b||0);this._setColumnSizeR(a,c);this._notresize= !1;this.setSizes()}},detachHeader:function(a,b){var b=b||this.hdr,c=b.rows[a+1];c&&c.parentNode.removeChild(c);this.setSizes()},detachFooter:function(a){this.detachHeader(a,this.ftr)},attachHeader:function(a,b,c){typeof a=="string"&&(a=this._eSplit(a));typeof b=="string"&&(b=b.split(this.delim));c=c||"_aHead";if(this.hdr.rows.length)if(a)this._createHRow([a,b],this[c=="_aHead"?"hdr":"ftr"]);else{if(this[c])for(var d=0;d1){for(var i=b.rows.length-2,l= !1,g=null;!l;){for(var g=b.rows[i],m=0;m"+(a[0][j]||" ")+"":a[0][j]||" ",(a[0][j]||"").indexOf("#")!= -1)if(d=a[0][j].match(/(^|{)#([^}]+)(}|$)/)){var n="_in_header_"+d[2];if(this[n])this[n](this.forceDivInHeader?k.firstChild:k,j,a[0][j].split(d[0]))}if(f)k.style.cssText=f[j];c.appendChild(k)}var o=b;if(_isKHTML)b._kTimer&&window.clearTimeout(b._kTimer),b._kTimer=window.setTimeout(function(){b.rows[1].style.display="none";window.setTimeout(function(){b.rows[1].style.display=""},1)},500)},attachFooter:function(a,b){this.attachHeader(a,b,"_aFoot")},setCellExcellType:function(a,b,c){this.changeCellType(this.getRowById(a),b,c)},changeCellType:function(a,b,c){var c=c||this.cellType[b],d=this.cells3(a,b),e=d.getValue();d.cell._cellType=c;d=this.cells3(a,b);d.setValue(e)},setRowExcellType:function(a,b){for(var c=this.rowsAr[a],d=0;db.c?1: -1});for(d=0;d"],c=0;c");b.push("");a.innerHTML=b.join("");this._master_row=a.firstChild.rows[0]},_prepareRow:function(a){this._master_row||this._build_master_row();for(var b=this._master_row.cloneNode(!0),c=0;c=0;h--){for(var j="",f=0;f4&&(b=window[b]);if(b=="cus"){var j=this._customSorts[a];e[h](function(a,b){return j(d[a.idd],d[b.idd],c,a.idd,b.idd)})}else if(typeof b=="function")e[h](function(a,e){return b(d[a.idd],d[e.idd],c,a.idd,e.idd)});else if(b=="str")e[h](function(a,b){return c=="asc"?d[a.idd]>d[b.idd]?1: -1:d[a.idd]=0;d--)b.parentNode.childNodes[d].tagName=="TR"&&b.parentNode.removeChild(b.parentNode.childNodes[d],!0);else if(_isIE)for(d=b.childNodes.length-1;d>=0;d--)b.childNodes[d].removeNode(!0);else b.innerHTML="";b.appendChild(c);this.rowsCol=dhtmlxArray();this._sst&&this.aC(!0);this._fillers=this.undefined;a||this.render_dataset()}},deleteRow:function(a,b){b||(b=this.getRowById(a));if(b){this.editStop();if(!this._realfake&&this.callEvent("onBeforeRowDeleted",[a])== !1)return!1;var c=0;if(this.cellType._dhx_find("tree")!= -1&& !this._realfake)c=this._h2.get[a].parent.id,this._removeTrGrRow(b);else{b.parentNode&&b.parentNode.removeChild(b);var d=this.rowsCol._dhx_find(b);d!= -1&&this.rowsCol._dhx_removeAt(d);for(var e=0;e=d?h[0]-=1:h[1]>=d&&(h[1]-=1))}this._update_srnd_view()}this.pagingOn&&this.changePage();this._realfake||this.callEvent("onAfterRowDeleted",[a,c]);this.callEvent("onGridReconstructed",[]);this._ahgr&&this.setSizes();return!0}},_addRow:function(a,b,c){if(c== -1||typeof c=="undefined")c=this.rowsBuffer.length;typeof b=="string"&&(b=b.split(this.delim));var d=this._prepareRow(a);d._attrs={};for(var e=0;e=c)f[1]+=1,f[2].firstChild.style.height=parseInt(f[2].firstChild.style.height)+this._srdh+"px",h= !0,this._fake&&this._fake._fillers[j][1]++;f&&f[0]>c&&(f[0]+=1,this._fake&&this._fake._fillers[j][0]++)}h||this._fillers.push(this._add_filler(c,1,c==0?{parentNode:this.obj.rows[0].parentNode,nextSibling:this.rowsCol[1]}:this.rowsCol[c-1],!0));return d}this.rowsBuffer._dhx_insertAt(c,d);return this._insertRowAt(d,c)},addRow:function(a,b,c){var d=this._addRow(a,b,c);this.dragContext||this.callEvent("onRowAdded",[a]);this.pagingOn&&this.changePage(this.currentPage);this._srnd&&this._update_srnd_view();d._added= !0;this._ahgr&&this.setSizes();this.callEvent("onGridReconstructed",[]);return d},_insertRowAt:function(a,b,c){this.rowsAr[a.idd]=a;if(this._skipInsert)return this._skipInsert= !1,a;if(b<0|| !b&&parseInt(b)!==0)b=this.rowsCol.length;else if(b>this.rowsCol.length)b=this.rowsCol.length;this._cssEven&&(a.className+=(this._cssSP?this.getLevel(a.idd):b)%2==1?" "+this._cssUnEven+(this._cssSU?" "+this._cssUnEven+"_"+this.getLevel(a.idd):""):" "+this._cssEven+(this._cssSU?" "+this._cssEven+"_"+this.getLevel(a.idd):""));c||(b==this.obj.rows.length-1|| !this.rowsCol[b]?_isKHTML?this.obj.appendChild(a):this.obj.firstChild.appendChild(a):this.rowsCol[b].parentNode.insertBefore(a,this.rowsCol[b]));this.rowsCol._dhx_insertAt(b,a);this.callEvent("onRowInserted",[a,b]);return a},getRowById:function(a){var b=this.rowsAr[a];if(b){if(b.tagName!="TR"){for(var c=0;c0?convertStringToBoolean(a): !0},setExternalTabOrder:function(a,b){var c=this;this.tabStart=typeof a=="object"?a:document.getElementById(a);this.tabStart.onkeydown=function(a){var b=a||window.event;if(b.keyCode==9)return b.cancelBubble= !0,c.selectCell(0,0,0,0,1),c.smartTabOrder&&c.cells2(0,0).isDisabled()&&c._key_events.k9_0_0.call(c),this.blur(),!1};if(_isOpera)this.tabStart.onkeypress=this.tabStart.onkeydown;this.tabEnd=typeof b=="object"?b:document.getElementById(b);this.tabEnd.onkeydown=this.tabEnd.onkeypress=function(a){var b=a||window.event;if(b.keyCode==9&&b.shiftKey)return b.cancelBubble= !0,c.selectCell(c.getRowsNum()-1,c.getColumnCount()-1,0,0,1),c.smartTabOrder&&c.cells2(c.getRowsNum()-1,c.getColumnCount()-1).isDisabled()&&c._key_events.k9_0_1.call(c),this.blur(),!1};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 a(a,b){this[a]=b}function b(a,b){this[a].call(this,b)}function c(a,b){this[a].call(this,b.join(this.delim))}function d(a,b){for(var c=0;c