//v.3.5 build 120731
/*
Copyright DHTMLX LTD. http://www.dhtmlx.com
You allowed to use this component or parts of it under GPL terms
To use it on other terms or get Professional edition of the component please contact us at sales@dhtmlx.com
*/
dhtmlXGridObject.prototype.filterBy=function(a,b,c){if(this.isTreeGrid())return this.filterTreeBy(a,b,c);if(this._f_rowsBuffer){if(!c&&(this.rowsBuffer=dhtmlxArray([].concat(this._f_rowsBuffer)),this._fake))this._fake.rowsBuffer=this.rowsBuffer}else this._f_rowsBuffer=[].concat(this.rowsBuffer);if(this.rowsBuffer.length){var d=!0;this.dma(!0);if(typeof a=="object")for(var e=0;e=0;d--)(c?this._get_cell_value(this.rowsBuffer[d],a).toString().toLowerCase().indexOf(b)==-1:!b.call(this,this._get_cell_value(this.rowsBuffer[d],a),this.rowsBuffer[d].idd))&&this.rowsBuffer.splice(d,1)}};
dhtmlXGridObject.prototype.getFilterElement=function(a){if(this.filters){for(var b=0;b=this._cCount)){var d=this._m_order?this._m_order[this.filters[c][1]]:this.filters[c][1];b.push(d);var e=this.filters[c][0]._filter?this.filters[c][0]._filter():this.filters[c][0].value,f;if(typeof e!="function"&&(f=this.combos[d]||(this._col_combos?this._col_combos[d]:!1)))f.values?(d=f.values._dhx_find(e),e=d==-1?e:f.keys[d]):f.getOptionByLabel&&(e=f.getOptionByLabel(e)?
f.getOptionByLabel(e).value:e);a.push(e)}if(this.callEvent("onFilterStart",[b,a])&&(this.filterBy(b,a),this._cssEven&&this._fixAlterCss(),this.callEvent("onFilterEnd",[this.filters]),this._f_rowsBuffer&&this.rowsBuffer.length==this._f_rowsBuffer.length))this._f_rowsBuffer=null};
dhtmlXGridObject.prototype.makeFilter=function(a,b){if(!this.filters)this.filters=[];typeof a!="object"&&(a=document.getElementById(a));if(a){var c=this;if(!a.style.width)a.style.width="90%";if(a.tagName=="SELECT"){this.filters.push([a,b]);this._loadSelectOptins(a,b);a.onchange=function(){c.filterByAll()};if(_isIE)a.style.marginTop="1px";this.attachEvent("onEditCell",function(c,d,g){this._build_m_order();c==2&&this.filters&&(this._m_order?g==this._m_order[b]:g==b)&&this._loadSelectOptins(a,b);return!0})}else if(a.tagName==
"INPUT")this.filters.push([a,b]),a.old_value=a.value="",a.onkeydown=function(){this._timer&&window.clearTimeout(this._timer);this._timer=window.setTimeout(function(){if(a.value!=a.old_value)c.filterByAll(),a.old_value=a.value},500)};else if(a.tagName=="DIV"&&a.className=="combo"){this.filters.push([a,b]);a.style.padding="0px";a.style.margin="0px";if(!window.dhx_globalImgPath)window.dhx_globalImgPath=this.imgURL;var d=new dhtmlXCombo(a,"_filter","90%");d.filterSelfA=d.filterSelf;d.filterSelf=function(){this.getSelectedIndex()==
0&&this.setComboText("");this.filterSelfA.apply(this,arguments);this.optionsArr[0].hide(!1)};d.enableFilteringMode(!0);a.combo=d;a.value="";this._loadComboOptins(a,b);d.attachEvent("onChange",function(){a.value=d.getSelectedValue();if(a.value===null)a.value="";c.filterByAll()})}a.parentNode&&(a.parentNode.className+=" filter");this._filters_ready()}};
dhtmlXGridObject.prototype.findCell=function(a,b,c,d){d=d||function(a,b){return b.toString().toLowerCase().indexOf(a)!=-1};d===!0&&(d=function(a,b){return b.toString().toLowerCase()==a});var e=[],a=a.toString().toLowerCase();typeof c!="number"&&(c=c?1:0);if(!this.rowsBuffer.length)return e;for(var f=b||0;f";a.onclick=a.onmousedown=function(a){return(a||event).cancelBubble=!0};a.onselectstart=function(){return event.cancelBubble=!0};this.makeFilter(a.firstChild,b)};
dhtmlXGridObject.prototype._in_header_text_filter_inc=function(a,b){a.innerHTML="";a.onclick=a.onmousedown=function(a){return(a||event).cancelBubble=!0};a.onselectstart=function(){return event.cancelBubble=!0};this.makeFilter(a.firstChild,b);a.firstChild._filter=function(){return a.firstChild.value==""?"":function(b){return b.toString().toLowerCase().indexOf(a.firstChild.value.toLowerCase())==0}};this._filters_ready()};
dhtmlXGridObject.prototype._in_header_select_filter=function(a,b){a.innerHTML="";a.onclick=function(a){(a||event).cancelBubble=!0;return!1};this.makeFilter(a.firstChild,b)};
dhtmlXGridObject.prototype._in_header_select_filter_strict=function(a,b){a.innerHTML="";a.onclick=function(a){(a||event).cancelBubble=!0;return!1};this.makeFilter(a.firstChild,b);var c=this.combos;a.firstChild._filter=function(){var d=a.firstChild.value;if(!d)return"";c[b]&&(d=c[b].keys[c[b].values._dhx_find(d)]);d=d.toLowerCase();return function(a){return a.toString().toLowerCase()==d}};this._filters_ready()};
dhtmlXGridObject.prototype._in_header_combo_filter=function(a,b){a.innerHTML="";a.onselectstart=function(){return event.cancelBubble=!0};a.onclick=a.onmousedown=function(a){return(a||event).cancelBubble=!0};this.makeFilter(a.firstChild,b)};
dhtmlXGridObject.prototype._search_common=function(a){a.innerHTML="";a.onclick=a.onmousedown=function(a){return(a||event).cancelBubble=!0};a.onselectstart=function(){return event.cancelBubble=!0}};dhtmlXGridObject.prototype._in_header_text_search=function(a,b){this._search_common(a,b);this.makeSearch(a.firstChild,b)};dhtmlXGridObject.prototype._in_header_text_search_strict=function(a,b){this._search_common(a,b);this.makeSearch(a.firstChild,b,!0)};
dhtmlXGridObject.prototype._in_header_numeric_filter=function(a,b){this._in_header_text_filter.call(this,a,b);a.firstChild._filter=function(){var a=this.value,b,e="==",f=parseFloat(a.replace("=","")),g=null;if(a){if(a.indexOf("..")!=-1)return a=a.split(".."),f=parseFloat(a[0]),g=parseFloat(a[1]),function(a){return a>=f&&a<=g?!0:!1};if(b=a.match(/>=|<=|>|))e=b[0],f=parseFloat(a.replace(e,""));return Function("v"," if (v "+e+" "+f+" ) return true; return false;")}return""}};
dhtmlXGridObject.prototype._in_header_master_checkbox=function(a,b,c){a.innerHTML=c[0]+""+c[1];var d=this;a.getElementsByTagName("input")[0].onclick=function(a){d._build_m_order();var c=d._m_order?d._m_order[b]:b,g=this.checked?1:0;d.forEachRowA(function(a){var b=this.cells(a,c);if(b.isCheckbox())b.setValue(g),b.cell.wasChanged=!0;this.callEvent("onEditCell",[1,a,c,g]);this.callEvent("onCheckbox",[a,c,g])});(a||event).cancelBubble=!0}};
dhtmlXGridObject.prototype._in_header_stat_total=function(a,b,c){var d=function(){var a=0;this._build_m_order();for(var d=this._m_order?this._m_order[b]:b,c=0;c