1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-13 20:06:59 +02:00
TableFilter/dist/tablefilter_all.js

10 lines
112 KiB
JavaScript
Raw Blame History

/*------------------------------------------------------------------------
- TableFilter v1.0 by Max Guglielmi
- build date: Sun Sep 07 2014 17:47:35
- http://tablefilter.free.fr
- Copyright (c) 2014, Licensed under the MIT License
------------------------------------------------------------------------*/
function tf_GetNodeText(a){var b=a.textContent||a.innerText||a.innerHTML.replace(/\<[^<>]+>/g,"");return b=b.replace(/^\s+/,"").replace(/\s+$/,""),b.tf_Trim()}function tf_IsObj(a){var b=!1;return"string"==(typeof a).tf_LCase()?window[a]&&"object"==(typeof window[a]).tf_LCase()&&(b=!0):a&&"object"==(typeof a).tf_LCase()&&(b=!0),b}function tf_IsFn(a){return a&&a.constructor==Function}function tf_IsArray(a){return a.constructor==Array}function tf_Id(a){return document.getElementById(a)}function tf_Tag(a,b){return a.getElementsByTagName(b)}function tf_RegexpEscape(b){function c(c){a=new RegExp("\\"+c,"g"),b=b.replace(a,"\\"+c)}chars=new Array("\\","[","^","$",".","|","?","*","+","(",")");for(var d=0;d<chars.length;d++)c(chars[d]);return b}function tf_CreateElm(a){if(void 0!=a&&null!=a&&""!=a){var b=document.createElement(a);if(arguments.length>1)for(var c=0;c<arguments.length;c++){var d=typeof arguments[c];switch(d.tf_LCase()){case"object":2==arguments[c].length&&b.setAttribute(arguments[c][0],arguments[c][1])}}return b}}function tf_CreateText(a){return document.createTextNode(a)}function tf_CreateOpt(a,b,c){var d=c?!0:!1,e=d?tf_CreateElm("option",["value",b],["selected","true"]):tf_CreateElm("option",["value",b]);return e.appendChild(tf_CreateText(a)),e}function tf_CreateCheckItem(a,b,c){if(void 0!=a&&void 0!=b&&void 0!=c){var d=tf_CreateElm("li"),e=tf_CreateElm("label",["for",a]),f=tf_CreateElm("input",["id",a],["name",a],["type","checkbox"],["value",b]);return e.appendChild(f),e.appendChild(tf_CreateText(c)),d.appendChild(e),d.label=e,d.check=f,d}}function tf_AddEvent(a,b,c,d){a.attachEvent?a.attachEvent("on"+b,c):a.addEventListener?a.addEventListener(b,c,void 0==d?!1:d):a["on"+b]=c}function tf_RemoveEvent(a,b,c,d){a.detachEvent?a.detachEvent("on"+b,c):a.removeEventListener?a.removeEventListener(b,c,void 0==d?!1:d):a["on"+b]=null}function tf_StopEvent(a){a||(a=window.event),a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function tf_CancelEvent(a){a||(a=window.event),a.preventDefault?a.preventDefault():a.returnValue=!1}function tf_ObjPosition(a,b){var c=0,d=0;if(a&&a.offsetParent&&b.tf_Has(a.nodeName.tf_LCase()))do c+=a.offsetLeft,d+=a.offsetTop;while(a=a.offsetParent);return[c,d]}function tf_NumSortAsc(a,b){return a-b}function tf_NumSortDesc(a,b){return b-a}function tf_IgnoreCaseSort(a,b){var c=a.tf_LCase(),d=b.tf_LCase();return d>c?-1:c>d?1:0}function tf_HasClass(a,b){return a?a.className.match(new RegExp("(\\s|^)"+b+"(\\s|$)")):!1}function tf_AddClass(a,b){a&&(tf_HasClass(a,b)||(a.className+=" "+b))}function tf_RemoveClass(a,b){if(a&&tf_HasClass(a,b)){var c=new RegExp("(\\s|^)"+b+"(\\s|$)");a.className=a.className.replace(c,"")}}function tf_IsValidDate(a,b){if(null==b&&(b="DMY"),b=b.toUpperCase(),3!=b.length&&"DDMMMYYYY"==b){var c=tf_FormatDate(a,b);a=c.getDate()+"/"+(c.getMonth()+1)+"/"+c.getFullYear(),b="DMY"}if((-1==b.indexOf("M")||-1==b.indexOf("D")||-1==b.indexOf("Y"))&&(b="DMY"),"Y"==b.substring(0,1))var d=/^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/,e=/^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/;else if("Y"==b.substring(1,2))var d=/^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/,e=/^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/;else var d=/^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/,e=/^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;if(0==d.test(a)&&0==e.test(a))return!1;var f=a.split(RegExp.$1);if("M"==b.substring(0,1))var g=f[0];else if("M"==b.substring(1,2))var g=f[1];else var g=f[2];if("D"==b.substring(0,1))var h=f[0];else if("D"==b.substring(1,2))var h=f[1];else var h=f[2];if("Y"==b.substring(0,1))var i=f[0];else if("Y"==b.substring(1,2))var i=f[1];else var i=f[2];parseFloat(i)<=50&&(i=(parseFloat(i)+2e3).toString()),parseFloat(i)<=99&&(i=(parseFloat(i)+1900).toString());var j=new Date(parseFloat(i),parseFloat(g)-1,parseFloat(h),0,0,0,0);return parseFloat(h)!=j.getDate()?!1:parseFloat(g)-1!=j.getMonth()?!1:!0}function tf_FormatDate(a,b){function c(a){if(void 0==a)return 0;if(a.length>2)return a;var b;return 99>=a&&a>50&&(b="19"+a),(50>a||"00"==a)&&(b="20"+a),b}function d(a){if(void 0==a)return 0;for(var b,c=new Array("january","february","march","april","may","june","july","august","september","october","november","december","jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"),d=0;d<c.length;d++){var e=c[d];if(a.toLowerCase()===e){b=d+1;break}}return(b>11||23>b)&&(b-=12),1>b||b>12?0:b}if(null===b&&(b="DMY"),!a||""===a)return new Date(1001,0,1);var e,f;switch(b.toUpperCase()){case"DDMMMYYYY":f=a.replace(/[- \/.]/g," ").split(" "),e=new Date(c(f[2]),d(f[1])-1,f[0]);break;case"DMY":f=a.replace(/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,"$1 $3 $5").split(" "),e=new Date(c(f[2]),f[1]-1,f[0]);break;case"MDY":f=a.replace(/^(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])([- \/.])((\d\d)?\d\d)$/,"$1 $3 $5").split(" "),e=new Date(c(f[2]),f[0]-1,f[1]);break;case"YMD":f=a.replace(/^((\d\d)?\d\d)([- \/.])(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])$/,"$1 $4 $6").split(" "),e=new Date(c(f[0]),f[1]-1,f[2]);break;default:f=a.replace(/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,"$1 $3 $5").split(" "),e=new Date(c(f[2]),f[1]-1,f[0])}return e}function tf_RemoveNbFormat(a,b){if(null!=a){null==b&&(b="us");var c=a;return c="us"==b.tf_LCase()?+c.replace(/[^\d\.-]/g,""):+c.replace(/[^\d\,-]/g,"").replace(",",".")}}function tf_IsImported(a,b){for(var c=!1,d=void 0==b?"script":b,e="script"==d?"src":"href",f=tf_Tag(document,d),g=0;g<f.length;g++)if(void 0!=f[g][e]&&f[g][e].match(a)){c=!0;break}return c}function tf_IsStylesheetImported(a){var b=!1;if(!document.styleSheets)return b;for(var c=document.styleSheets,d=new RegExp(a),e=0;e<c.length;e++)if(c[e].imports){for(var f=c[e].imports,g=0;g<f.length;g++)if(f[g].href.tf_LCase()==a.tf_LCase()){b=!0;break}}else for(var h=c[e].cssRules?c[e].cssRules:c[e].rules,g=0;g<h.length;g++)if(d.test(h[g].cssText)){b=!0;break}return b}function tf_WriteCookie(a,b,c){var d="";null!=c&&(d=new Date((new Date).getTime()+36e5*c),d="; expires="+d.toGMTString()),document.cookie=a+"="+escape(b)+d}function tf_ReadCookie(a){var b="",c=a+"=";return document.cookie.length>0&&(offset=document.cookie.indexOf(c),-1!=offset&&(offset+=c.length,end=document.cookie.indexOf(";",offset),-1==end&&(end=document.cookie.length),b=unescape(document.cookie.substring(offset,end)))),b}function tf_CookieValueArray(a,b){void 0==b&&(b=",");var c=tf_ReadCookie(a),d=c.split(b);return d}function tf_CookieValueByIndex(a,b,c){void 0==c&&(c=",");var d=tf_CookieValueArray(a,c);return d[b]}function tf_RemoveCookie(a){tf_WriteCookie(a,"",-1)}function tf_HighlightWord(a,b,c,d){if(a.hasChildNodes)for(var e=0;e<a.childNodes.length;e++)tf_HighlightWord(a.childNodes[e],b,c,d);if(3==a.nodeType){var f=a.nodeValue.tf_LCase(),g=b.tf_LCase();if(-1!=f.indexOf(g)){var h=a.parentNode;if(h&&h.className!=c){var i=a.nodeValue,j=f.indexOf(g),k=tf_CreateText(i.substr(0,j)),l=i.substr(j,b.length),m=tf_CreateText(i.substr(j+b.length)),n=tf_CreateText(l),o=tf_CreateElm("span");o.className=c,o.appendChild(n),h.insertBefore(k,a),h.insertBefore(o,a),h.insertBefore(m,a),h.removeChild(a),d.highlightedNodes.push(o.firstChild)}}}}function tf_UnhighlightWord(a,b,c){for(var d=[],e=0;e<a.highlightedNodes.length;e++){var f=a.highlightedNodes[e];if(f){var g=f.nodeValue.tf_LCase(),h=b.tf_LCase();if(-1!=g.indexOf(h)){var i=f.parentNode;if(i&&i.className==c){var j=i.previousSibling,k=i.nextSibling;if(!j||!k)continue;k.nodeValue=j.nodeValue+f.nodeValue+k.nodeValue,j.nodeValue="",f.nodeValue="",d.push(e)}}}}for(var l=0;l<d.length;l++)a.highlightedNodes.splice(d[l],1)}function tf_SetOuterHtml(){if(document.body.__defineGetter__&&HTMLElement){var a=HTMLElement.prototype;a.__defineGetter__&&a.__defineGetter__("outerHTML",function(){var a=this.parentNode,b=tf_CreateElm(a.tagName);b.appendChild(this);var c=b.innerHTML;return a.appendChild(this),c})}a.__defineSetter__&&HTMLElement.prototype.__defineSetter__("outerHTML",function(a){var b=this.ownerDocument.createRange();b.setStartBefore(this);var c=b.createContextualFragment(a);return this.parentNode.replaceChild(c,this),a})}function setFilterGrid(a){return 0!==arguments.length?(window["tf_"+a]=new TF(arguments[0],arguments[1],arguments[2]),window["tf_"+a].AddGrid(),window["tf_"+a]):void 0}function initFilterGrid(){if(document.getElementsByTagName)for(var a,b=tf_Tag(document,"table"),c=0;c<b.length;c++){var d=b[c],e=d.getAttribute("id");tf_HasClass(d,"filterable")&&e&&(a=tf_IsObj(e+"_config")?window[e+"_config"]:void 0,window[e+"_isUnob"]=!0,setFilterGrid(e,a))}}function grabEBI(a){return tf_Id(a)}function grabTag(a,b){return tf_Tag(a,b)}function tf_GetCellText(a){return tf_GetNodeText(a)}function tf_isObject(a){return tf_IsObj(a)}function tf_isObj(a){return tf_IsObj(a)}function tf_isFn(a){return tf_IsFn(a)}function tf_isArray(a){return tf_IsArray(a)}function tf_addEvent(a,b,c){return tf_AddEvent(a,b,c)}function tf_removeEvent(a,b,c){return tf_RemoveEvent(a,b,c)}function tf_addClass(a,b){tf_AddClass(a,b)}function tf_removeClass(a,b){return tf_RemoveClass(a,b)}function tf_hasClass(a,b){return tf_HasClass(a,b)}function tf_isValidDate(a,b){return tf_IsValidDate(a,b)}function tf_formatDate(a,b){return tf_FormatDate(a,b)}function tf_removeNbFormat(a,b){return tf_RemoveNbFormat(a,b)}var TF=function(a){if(0!==arguments.length&&(this.id=a,this.version="2.5",this.year=(new Date).getFullYear(),this.tbl=tf_Id(a),this.startRow=void 0,this.refRow=null,this.headersRow=null,this.fObj=null,this.nbFilterableRows=null,this.nbRows=null,this.nbCells=null,this.hasGrid=!1,this.enableModules=!1,null!=this.tbl&&"table"==this.tbl.nodeName.tf_LCase()&&this.GetRowsNb())){if(arguments.length>1)for(var b=0;b<arguments.length;b++){var c=typeof arguments[b];switch(c.tf_LCase()){case"number":this.startRow=arguments[b];break;case"object":this.fObj=arguments[b]}}var d=this.fObj?this.fObj:{};this.refRow=void 0==this.startRow?2:this.startRow+1;try{this.nbCells=this.GetCellsNb(this.refRow)}catch(e){this.nbCells=this.GetCellsNb(0)}this.basePath=void 0!=d.base_path?d.base_path:"TableFilter/",this.fltTypeInp="input",this.fltTypeSlc="select",this.fltTypeMulti="multiple",this.fltTypeCheckList="checklist",this.fltTypeNone="none",this.fltCol=[];for(var b=0;b<this.nbCells;b++)void 0==this["col"+b]&&(this["col"+b]=void 0==d["col_"+b]?this.fltTypeInp:d["col_"+b].tf_LCase()),this.fltCol.push(this["col"+b]);this.publicMethods=void 0!=d.public_methods?d.public_methods:!1,this.fltGrid=0==d.grid?!1:!0,this.gridLayout=d.grid_layout?!0:!1,this.hasGridWidthsRow=!1,this.gridColElms=[],this.sourceTblHtml=null,this.gridLayout&&(void 0==this.tbl.outerHTML&&tf_SetOuterHtml(),this.sourceTblHtml=this.tbl.outerHTML),this.filtersRowIndex=void 0!=d.filters_row_index?d.filters_row_index:0,this.headersRow=void 0!=d.headers_row_index?d.headers_row_index:0==this.filtersRowIndex?1:0,this.gridLayout&&(this.headersRow>1?this.filtersRowIndex=this.headersRow+1:(this.filtersRowIndex=1,this.headersRow=0)),this.fltCellTag=void 0!=d.filters_cell_tag?"th"!=d.filters_cell_tag?"td":"th":"td",this.fltIds=[],this.fltElms=[],this.searchArgs=null,this.tblData=[],this.validRowsIndex=null,this.fltGridEl=null,this.isFirstLoad=!0,this.infDiv=null,this.lDiv=null,this.rDiv=null,this.mDiv=null,this.contDiv=null,this.infDivCssClass=void 0!=d.inf_div_css_class?d.inf_div_css_class:"inf",this.lDivCssClass=void 0!=d.left_div_css_class?d.left_div_css_class:"ldiv",this.rDivCssClass=void 0!=d.right_div_css_class?d.right_div_css_class:"rdiv",this.mDivCssClass=void 0!=d.middle_div_css_class?d.middle_div_css_class:"mdiv",this.contDivCssClass=void 0!=d.content_div_css_class?d.content_div_css_class:"cont",this.stylesheet=void 0!=d.stylesheet?d.stylesheet:this.basePath+"filtergrid.css",this.stylesheetId=this.id+"_style",this.fltsRowCssClass=void 0!=d.flts_row_css_class?d.flts_row_css_class:"fltrow",this.enableIcons=void 0!=d.enable_icons?d.enable_icons:!0,this.alternateBgs=d.alternate_rows?!0:!1,this.hasColWidth=d.col_width?!0:!1,this.colWidth=this.hasColWidth?d.col_width:null,this.fixedHeaders=d.fixed_headers?!0:!1,this.tBodyH=d.tbody_height?d.tbody_height:200,this.fltCssClass=void 0!=d.flt_css_class?d.flt_css_class:"flt",this.fltMultiCssClass=void 0!=d.flt_multi_css_class?d.flt_multi_css_class:"flt_multi",this.fltSmallCssClass=void 0!=d.flt_small_css_class?d.flt_small_css_class:"flt_s",this.singleFltCssClass=void 0!=d.single_flt_css_class?d.single_flt_css_class:"single_flt",this.isStartBgAlternate=!0,this.rowBgEvenCssClass=void 0!=d.even_row_css_class?d.even_row_css_class:"even",this.rowBgOddCssClass=void 0!=d.odd_row_css_class?d.odd_row_css_class:"odd",this.enterKey=0==d.enter_key?!1:!0,this.isModFilterFn=d.mod_filter_fn?!0:!1,this.modFilterFn=this.isModFilterFn?d.mod_filter_fn:null,this.onBeforeFilter=tf_IsFn(d.on_before_filter)?d.on_before_filter:null,this.onAfterFilter=tf_IsFn(d.on_after_filter)?d.on_after_filter:null,this.matchCase=d.match_case?!0:!1,this.exactMatch=d.exact_match?!0:!1,this.refreshFilters=d.refresh_filters?!0:!1,this.disableExcludedOptions=void 0!=d.disable_excluded_options?d.disable_excluded_options:!1,this.activeFlt=null,this.activeFilterId=null,this.hasColOperation=d.col_operation?!0:!1,this.colOperation=null,this.hasVisibleRows=d.rows_always_visible?!0:!1,this.visibleRows=this.hasVisibleRows?d.rows_always_visible:[],this.searchType=void 0!=d.search_type?d.search_type:"include",this.isExternalFlt=d.external_flt_grid?!0:!1,this.externalFltTgtIds=void 0!=d.external_flt_grid_ids?d.external_flt_grid_ids:null,this.externalFltEls=[],this.execDelay=d.exec_delay?parseInt(d.exec_delay):100,this.status=d.status?!0:!1,this.onFiltersLoaded=tf_IsFn(d.on_filters_loaded)?d.on_filters_loaded:null,this.singleSearchFlt=d.single_search_filter?!0:!1,this.onRowValidated=tf_IsFn(d.on_row_validated)?d.on_row_validated:null,this.customCellDataCols=d.custom_cell_data_cols?d.custom_cell_data_cols:[],this.customCellData=tf_IsFn(d.custom_cell_data)?d.custom_cell_data:null,this.inpWatermark=void 0!=d.input_watermark?d.input_watermark:"",this.inpWatermarkCssClass=void 0!=d.input_watermark_css_class?d.input_watermark_css_class:"fltWatermark",this.isInpWatermarkArray=void 0!=d.input_watermark?tf_IsArray(d.input_watermark)?!0:!1:!1,this.toolBarTgtId=void 0!=d.toolbar_target_id?d.toolbar_target_id:null,this.helpInstructions=void 0!=d.help_instructions?d.help_instructions:null,this.popUpFilters=void 0!=d.popup_filters?d.popup_filters:!1,this.markActiveColumns=void 0!=d.mark_active_columns?d.mark_active_columns:!1,this.activeColumnsCssClass=void 0!=d.active_columns_css_class?d.active_columns_css_class:"activeHeader",this.onBeforeActiveColumn=tf_IsFn(d.on_before_active_column)?d.on_before_active_column:null,this.onAfterActiveColumn=tf_IsFn(d.on_after_active_column)?d.on_after_active_column:null,this.displayAllText=void 0!=d.display_all_text?d.display_all_text:"",this.enableSlcResetFilter=void 0!=d.enable_slc_reset_filter?d.enable_slc_reset_filter:!0,this.enableEmptyOption=d.enable_empty_option?!0:!1,this.emptyText=void 0!=d.empty_text?d.empty_text:"(Empty)",this.enableNonEmptyOption=d.enable_non_empty_option?!0:!1,this.nonEmptyText=void 0!=d.non_empty_text?d.non_empty_text:"(Non empty)",this.onSlcChange=0==d.on_change?!1:!0,this.sortSlc=0==d.sort_select?!1:!0,this.isSortNumAsc=d.sort_num_asc?!0:!1,this.sortNumAsc=this.isSortNumAsc?d.sort_num_asc:null,this.isSortNumDesc=d.sort_num_desc?!0:!1,this.sortNumDesc=this.isSortNumDesc?d.sort_num_desc:null,this.slcFillingMethod=void 0!=d.slc_filling_method?d.slc_filling_method:"createElement",this.fillSlcOnDemand=d.fill_slc_on_demand?!0:!1,this.activateSlcTooltip=void 0!=d.activate_slc_tooltip?d.activate_slc_tooltip:"Click to activate",this.multipleSlcTooltip=void 0!=d.multiple_slc_tooltip?d.multiple_slc_tooltip:"Use Ctrl key for multiple selections",this.hasCustomSlcOptions=d.custom_slc_options&&tf_IsObj(d.custom_slc_options)?!0:!1,this.customSlcOptions=void 0!=d.custom_slc_options?d.custom_slc_options:null,this.onBeforeOperation=tf_IsFn(d.on_before_operation)?d.on_before_operation:null,this.onAfterOperation=tf_IsFn(d.on_after_operation)?d.on_after_operation:null,this.checkListDiv=[],this.checkListDivCssClass=void 0!=d.div_checklist_css_class?d.div_checklist_css_class:"div_checklist",this.checkListCssClass=void 0!=d.checklist_css_class?d.checklist_css_class:"flt_checklist",this.checkListItemCssClass=void 0!=d.checklist_item_css_class?d.checklist_item_css_class:"flt_checklist_item",this.checkListSlcItemCssClass=void 0!=d.checklist_selected_item_css_class?d.checklist_selected_item_css_class:"flt_checklist_slc_item",this.activateCheckListTxt=void 0!=d.activate_checklist_text?d.activate_checklist_text:"Click to load data",this.checkListItemDisabledCssClass=void 0!=d.checklist_item_disabled_css_class?d.checklist_item_disabled_css_class:"flt_checklist_item_disabled",this.enableCheckListResetFilter=void 0!=d.enable_checklist_reset_filter?d.enable_checklist_reset_filter:!0,this.rgxOperator=void 0!=d.regexp_operator?d.regexp_operator:"rgx:",this.emOperator=void 0!=d.empty_operator?d.empty_operator:"[empty]",this.nmOperator=void 0!=d.nonempty_operator?d.nonempty_operator:"[nonempty]",this.orOperator=void 0!=d.or_operator?d.or_operator:"||",this.anOperator=void 0!=d.and_operator?d.and_operator:"&&",this.grOperator=void 0!=d.greater_operator?d.greater_operator:">",this.lwOperator=void 0!=d.lower_operator?d.lower_operator:"<",this.leOperator=void 0!=d.lower_equal_operator?d.lower_equal_operator:"<=",this.geOperator=void 0!=d.greater_equal_operator?d.greater_equal_operator:">=",this.dfOperator=void 0!=d.different_operator?d.different_operator:"!",this.lkOperator=void 0!=d.like_operator?d.like_operator:"*",this.eqOperator=void 0!=d.equal_operator?d.equal_operator:"=",this.stOperator=void 0!=d.start_with_operator?d.start_with_operator:"{",this.enOperator=void 0!=d.end_with_operator?d.end_with_operator:"}",this.curExp=void 0!=d.cur_exp?d.cur_exp:"^[<5B><><EFBFBD>$]",this.separator=void 0!=d.separator?d.separator:",",this.rowsCounter=d.rows_counter?!0:!1,this.statusBar=d.status_bar?d.status_bar:!1,this.loader=d.loader?!0:!1,this.displayBtn=d.btn?!0:!1,this.btnText=void 0!=d.btn_text?d.btn_text:this.enableIcons?"":"Go",this.btnCssClass=void 0!=d.btn_css_class?d.btn_css_class:this.enableIcons?"btnflt_icon":"btnflt",this.btnReset=d.btn_reset?!0:!1,this.btnResetCssClass=void 0!=d.btn_reset_css_class?d.btn_reset_css_class:"reset",this.onBeforeReset=tf_IsFn(d.on_before_reset)?d.on_before_reset:null,this.onAfterReset=tf_IsFn(d.on_after_reset)?d.on_after_reset:null,this.paging=d.paging?!0:!1,this.hasResultsPerPage=d.results_per_page?!0:!1,this.btnPageCssClass=void 0!=d.paging_btn_css_class?d.paging_btn_css_class:"pgInp",this.pagingSlc=null,this.resultsPerPage=null,this.resultsPerPageSlc=null,this.isPagingRemoved=!1,this.nbVisibleRows=0,this.nbHiddenRows=0,this.startPagingRow=0,this.nbPages=0,this.currentPageNb=1,this.sort=d.sort?!0:!1,this.isSortEnabled=!1,this.sorted=!1,this.sortConfig=void 0!=d.sort_config?d.sort_config:{},this.sortConfig.name=void 0!=this.sortConfig.name?d.sort_config.name:"sortabletable",this.sortConfig.src=void 0!=this.sortConfig.src?d.sort_config.src:this.basePath+"sortabletable.js",this.sortConfig.adapterSrc=void 0!=this.sortConfig.adapter_src?d.sort_config.adapter_src:this.basePath+"tfAdapter.sortabletable.js",this.sortConfig.initialize=void 0!=this.sortConfig.initialize?d.sort_config.initialize:function(a){a.SetSortTable&&a.SetSortTable()},this.sortConfig.sortTypes=void 0!=this.sortConfig.sort_types?d.sort_config.sort_types:[],this.sortConfig.sortCol=void 0!=this.sortConfig.sort_col?d.sort_config.sort_col:null,this.sortConfig.asyncSort=void 0!=this.sortConfig.async_sort?!0:!1,this.sortConfig.triggerIds=void 0!=this.sortConfig.sort_trigger_ids?d.sort_config.sort_trigger_ids:[],this.selectable=void 0!=d.selectable?d.selectable:!1,this.editable=void 0!=d.editable?d.editable:!1,this.ezEditTableConfig=void 0!=d.ezEditTable_config?d.ezEditTable_config:{},this.ezEditTableConfig.name=void 0!=this.ezEditTableConfig.name?d.ezEditTable_config.name:"ezedittable",this.ezEditTableConfig.src=void 0!=this.ezEditTableConfig.src?d.ezEditTable_config.src:this.basePath+"ezEditTable/ezEditTable.js",this.ezEditTableConfig.loadStylesheet=void 0!=this.ezEditTableConfig.loadStylesheet?d.ezEditTable_config.loadStylesheet:!1,this.ezEditTableConfig.stylesheet=void 0!=this.ezEditTableConfig.stylesheet?d.ezEditTable_config.stylesheet:this.basePath+"ezEditTable/ezEditTable.css",this.ezEditTableConfig.stylesheetName=void 0!=this.ezEditTableConfig.stylesheetName?d.ezEditTable_config.stylesheetName:"ezEditTableCss",this.ezEditTableConfig.err='Failed to instantiate EditTable object.\n"ezEditTable" module may not be available.',this.onKeyUp=d.on_keyup?!0:!1,this.onKeyUpDelay=void 0!=d.on_keyup_delay?d.on_keyup_delay:900,this.isUserTyping=null,this.onKeyUpTimer=void 0,this.highlightKeywords=d.highlight_keywords?!0:!1,this.highlightCssClass=void 0!=d.highlight_css_class?d.highlight_css_class:"keyword",this.highlightedNodes=[],this.defaultDateType=void 0!=d.default_date_type?d.default_date_type:"DMY",this.thousandsSeparator=void 0!=d.thousands_separator?d.thousands_separator:",",this.decimalSeparator=void 0!=d.decimal_separator?d.decimal_separator:".",this.hasColNbFormat=d.col_number_format?!0:!1,this.colNbFormat=this.hasColNbFormat?d.col_number_format:null,this.hasColDateType=d.col_date_type?!0:!1,this.colDateType=this.hasColDateType?d.col_date_type:null,this.msgFilter=void 0!=d.msg_filter?d.msg_filter:"Filtering data...",this.msgPopulate=void 0!=d.msg_populate?d.msg_populate:"Populating filter...",this.msgPopulateCheckList=void 0!=d.msg_populate_checklist?d.msg_populate_checklist:"Populating list...",this.msgChangePage=void 0!=d.msg_change_page?d.msg_change_page:"Collecting paging data...",this.msgClear=void 0!=d.msg_clear?d.msg_clear:"Clearing filters...",this.msgChangeResults=void 0!=d.msg_change_results?d.msg_change_results:"Changing results per page...",this.msgResetValues=void 0!=d.msg_reset_grid_values?d.msg_reset_grid_values:"Re-setting filters values...",this.msgResetPage=void 0!=d.msg_reset_page?d.msg_reset_page:"Re-setting page...",this.msgResetPageLength=void 0!=d.msg_reset_page_length?d.msg_reset_page_length:"Re-setting page length...",this.msgSort=void 0!=d.msg_sort?d.msg_sort:"Sorting data...",this.msgLoadExtensions=void 0!=d.msg_load_extensions?d.msg_load_extensions:"Loading extensions...",this.msgLoadThemes=void 0!=d.msg_load_themes?d.msg_load_themes:"Loading theme(s)...",this.prfxTf="TF",this.prfxFlt="flt",this.prfxValButton="btn",this.prfxInfDiv="inf_",this.prfxLDiv="ldiv_",this.prfxRDiv="rdiv_",this.prfxMDiv="mdiv_",this.prfxContentDiv="cont_",this.prfxCheckListDiv="chkdiv_",this.prfxSlcPages="slcPages_",this.prfxSlcResults="slcResults_",this.prfxSlcResultsTxt="slcResultsTxt_",this.prfxBtnNextSpan="btnNextSpan_",this.prfxBtnPrevSpan="btnPrevSpan_",this.prfxBtnLastSpan="btnLastSpan_",this.prfxBtnFirstSpan="btnFirstSpan_",this.prfxBtnNext="btnNext_",this.prfxBtnPrev="btnPrev_",this.prfxBtnLast="btnLast_",this.prfxBtnFirst="btnFirst_",this.prfxPgSpan="pgspan_",this.prfxPgBeforeSpan="pgbeforespan_",this.prfxPgAfterSpan="pgafterspan_",this.prfxCounter="counter_",this.prfxTotRows="totrows_span_",this.prfxTotRowsTxt="totRowsTextSpan_",this.prfxResetSpan="resetspan_",this.prfxLoader="load_",this.prfxStatus="status_",this.prfxStatusSpan="statusSpan_",this.prfxStatusTxt="statusText_",this.prfxCookieFltsValues="tf_flts_",this.prfxCookiePageNb="tf_pgnb_",this.prfxCookiePageLen="tf_pglen_",this.prfxMainTblCont="gridCont_",this.prfxTblCont="tblCont_",this.prfxHeadTblCont="tblHeadCont_",this.prfxHeadTbl="tblHead_",this.prfxGridFltTd="_td_",this.prfxGridTh="tblHeadTh_",this.prfxHelpSpan="helpSpan_",this.prfxHelpDiv="helpDiv_",this.prfxPopUpSpan="popUpSpan_",this.prfxPopUpDiv="popUpDiv_",this.hasStoredValues=!1,this.rememberGridValues=d.remember_grid_values?!0:!1,this.fltsValuesCookie=this.prfxCookieFltsValues+this.id,this.rememberPageNb=this.paging&&d.remember_page_number?!0:!1,this.pgNbCookie=this.prfxCookiePageNb+this.id,this.rememberPageLen=this.paging&&d.remember_page_length?!0:!1,this.pgLenCookie=this.prfxCookiePageLen+this.id,this.cookieDuration=d.set_cookie_duration?parseInt(d.set_cookie_duration):1e5,this.hasExtensions=d.extensions?!0:!1,this.extensions=this.hasExtensions?d.extensions:null,this.enableDefaultTheme=d.enable_default_theme?!0:!1,this.hasThemes=d.enable_default_theme||d.themes&&tf_IsObj(d.themes)?!0:!1,this.themes=this.hasThemes?d.themes:null,this.themesPath=void 0!=d.themes_path?d.themes_path:this.basePath+"TF_Themes/",this.hasBindScript=d.bind_script?!0:!1,this.bindScript=this.hasBindScript?d.bind_script:null;var f=this;this.Evt={name:{filter:"Filter",populateselect:"Populate",populatechecklist:"PopulateCheckList",changepage:"ChangePage",clear:"Clear",changeresultsperpage:"ChangeResults",resetvalues:"ResetValues",resetpage:"ResetPage",resetpagelength:"ResetPageLength",sort:"Sort",loadextensions:"LoadExtensions",loadthemes:"LoadThemes"},_DetectKey:function(a){if(f.enterKey){var b=a||window.event;if(b){var c=b.charCode?b.charCode:b.keyCode?b.keyCode:b.which?b.which:0;"13"==c?(f._Filter(),tf_CancelEvent(b),tf_StopEvent(b)):(f.isUserTyping=!0,window.clearInterval(f.onKeyUpTimer),f.onKeyUpTimer=void 0)}}},_OnKeyUp:function(a){function b(){window.clearInterval(f.onKeyUpTimer),f.onKeyUpTimer=void 0,f.isUserTyping||(f.Filter(),f.isUserTyping=null)}if(f.onKeyUp){var c=a||window.event,d=c.charCode?c.charCode:c.keyCode?c.keyCode:c.which?c.which:0;f.isUserTyping=!1,13!=d&&9!=d&&27!=d&&38!=d&&40!=d?void 0==f.onKeyUpTimer&&(f.onKeyUpTimer=window.setInterval(b,f.onKeyUpDelay)):(window.clearInterval(f.onKeyUpTimer),f.onKeyUpTimer=void 0)}},_OnKeyDown:function(){f.onKeyUp&&(f.isUserTyping=!0)},_OnInpBlur:function(){f.onKeyUp&&(f.isUserTyping=!1,window.clearInterval(f.onKeyUpTimer)),""==this.value&&""!=f.inpWatermark&&(this.value=f.isInpWatermarkArray?f.inpWatermark[this.getAttribute("ct")]:f.inpWatermark,tf_AddClass(this,f.inpWatermarkCssClass)),f.ezEditTable&&(f.editable&&f.ezEditTable.Editable.Set(),f.selectable&&f.ezEditTable.Selection.Set())},_OnInpFocus:function(a){var b=a||window.event;if(f.activeFilterId=this.getAttribute("id"),f.activeFlt=tf_Id(f.activeFilterId),f.isInpWatermarkArray){var c=f.inpWatermark[this.getAttribute("ct")];this.value==c&&""!=c&&(this.value="",tf_RemoveClass(this,f.inpWatermarkCssClass))}else this.value==f.inpWatermark&&""!=f.inpWatermark&&(this.value="",tf_RemoveClass(this,f.inpWatermarkCssClass));f.popUpFilters&&(tf_CancelEvent(b),tf_StopEvent(b)),f.ezEditTable&&(f.editable&&f.ezEditTable.Editable.Remove(),f.selectable&&f.ezEditTable.Selection.Remove())},_OnSlcFocus:function(a){var b=a||window.event;if(f.activeFilterId=this.getAttribute("id"),f.activeFlt=tf_Id(f.activeFilterId),f.fillSlcOnDemand&&"0"==this.getAttribute("filled")){var c=this.getAttribute("ct");f.PopulateSelect(c),tf_isIE||this.setAttribute("filled","1")}f.popUpFilters&&(tf_CancelEvent(b),tf_StopEvent(b))},_OnSlcChange:function(a){if(!f.activeFlt||!f.activeFlt.getAttribute("colIndex")||f["col"+f.activeFlt.getAttribute("colIndex")]!=f.fltTypeCheckList||f.Evt._OnSlcChange.caller){var b=a||window.event;f.popUpFilters&&tf_StopEvent(b),f.onSlcChange&&f.Filter()}},_OnSlcBlur:function(){},_OnCheckListChange:function(a){f.Evt._OnCheckListChange.caller&&f.Evt._OnSlcChange(a)},_OnCheckListClick:function(){if(f.fillSlcOnDemand&&"0"==this.getAttribute("filled")){var a=this.getAttribute("ct");f.PopulateCheckList(a),f.checkListDiv[a].onclick=null,f.checkListDiv[a].title=""}},_OnCheckListFocus:function(){f.activeFilterId=this.firstChild.getAttribute("id"),f.activeFlt=tf_Id(f.activeFilterId)},_OnCheckListBlur:function(){},_OnBtnClick:function(){f.Filter()},_OnSlcPagesChangeEvt:null,_EnableSlc:function(){this.firstChild.disabled=!1,this.firstChild.focus(),this.onclick=null},_Clear:function(){f.ClearFilters()},_OnHelpBtnClick:function(){f._ToggleHelp()},_Paging:{nextEvt:null,prevEvt:null,lastEvt:null,firstEvt:null}}}};TF.prototype={AddGrid:function(){this._AddGrid()},Init:function(){this.AddGrid()},Initialize:function(){this.AddGrid()},init:function(){this.AddGrid()},initialize:function(){this.AddGrid()},_AddGrid:function(){if(!this.hasGrid){this.gridLayout&&(this.refRow=void 0==this.startRow?0:this.startRow),this.popUpFilters&&(0==this.filtersRowIndex&&1==this.headersRow||this.gridLayout)&&(this.headersRow=0);var a,b=this.fObj?this.fObj:{},c=this.singleSearchFlt?1:this.nbCells;if(void 0==window["tf_"+this.id]&&(window["tf_"+this.id]=this),this.IncludeFile(this.stylesheetId,this.stylesheet,null,"link"),this.hasThemes&&this._LoadThemes(),this.gridLayout&&(this.isExternalFlt=!0,this.SetGridLayout(),this.refRow=tf_isIE||tf_isIE7?this.refRow+1:0),this.loader&&this.SetLoader(),this.popUpFilters&&(this.isFirstLoad||this.gridLayout||this.headersRow--,this.SetPopupFilterIcons()),this.hasResultsPerPage&&(this.resultsPerPage=void 0!=b.results_per_page?b.results_per_page:this.resultsPerPage,this.resultsPerPage.length<2?this.hasResultsPerPage=!1:this.pagingLength=this.resultsPerPage[1][0]),this.fltGrid)if(this.isFirstLoad){if(!this.gridLayout){var d,e=tf_Tag(this.tbl,"thead");d=e.length>0?e[0].insertRow(this.filtersRowIndex):this.tbl.insertRow(this.filtersRowIndex),this.headersRow>1&&this.filtersRowIndex<=this.headersRow&&!this.popUpFilters&&this.headersRow++,this.popUpFilters&&this.headersRow++,this.fixedHeaders&&this.SetFixedHeaders(),d.className=this.fltsRowCssClass,!this.isExternalFlt||this.gridLayout&&!this.popUpFilters||(d.style.display="none")}this.nbFilterableRows=this.GetRowsNb(),this.nbVisibleRows=this.nbFilterableRows,this.nbRows=this.tbl.rows.length;for(var f=0;c>f;f++){var g=tf_CreateElm(this.fltCellTag);if(this.singleSearchFlt&&(g.colSpan=this.nbCells),this.gridLayout||d.appendChild(g),a=f==c-1&&this.displayBtn?this.fltSmallCssClass:this.fltCssClass,this.popUpFilters&&this.SetPopupFilter(f),void 0==this["col"+f]&&(this["col"+f]=void 0==b["col_"+f]?this.fltTypeInp:b["col_"+f].tf_LCase()),this.singleSearchFlt&&(this["col"+f]=this.fltTypeInp,a=this.singleFltCssClass),this["col"+f]==this.fltTypeSlc||this["col"+f]==this.fltTypeMulti){var h=tf_CreateElm(this.fltTypeSlc,["id",this.prfxFlt+f+"_"+this.id],["ct",f],["filled","0"]);if(this["col"+f]==this.fltTypeMulti&&(h.multiple=this.fltTypeMulti,h.title=this.multipleSlcTooltip),h.className=this["col"+f].tf_LCase()==this.fltTypeSlc?a:this.fltMultiCssClass,this.isExternalFlt&&this.externalFltTgtIds&&tf_Id(this.externalFltTgtIds[f])?(tf_Id(this.externalFltTgtIds[f]).appendChild(h),this.externalFltEls.push(h)):g.appendChild(h),this.fltIds.push(this.prfxFlt+f+"_"+this.id),this.fillSlcOnDemand||this._PopulateSelect(f),h.onkeypress=this.Evt._DetectKey,h.onchange=this.Evt._OnSlcChange,h.onfocus=this.Evt._OnSlcFocus,h.onblur=this.Evt._OnSlcBlur,this.fillSlcOnDemand){var i=tf_CreateOpt(this.displayAllText,"");h.appendChild(i)}this.fillSlcOnDemand&&tf_isIE&&(h.disabled=!0,h.title=this.activateSlcTooltip,h.parentNode.onclick=this.Evt._EnableSlc,this["col"+f]==this.fltTypeMulti&&this.__deferMultipleSelection(h,0))}else if(this["col"+f]==this.fltTypeCheckList){var j=tf_CreateElm("div",["id",this.prfxCheckListDiv+f+"_"+this.id],["ct",f],["filled","0"]);j.className=this.checkListDivCssClass,this.isExternalFlt&&this.externalFltTgtIds&&tf_Id(this.externalFltTgtIds[f])?(tf_Id(this.externalFltTgtIds[f]).appendChild(j),this.externalFltEls.push(j)):g.appendChild(j),this.checkListDiv[f]=j,this.fltIds.push(this.prfxFlt+f+"_"+this.id),this.fillSlcOnDemand||this._PopulateCheckList(f),j.onclick=this.Evt._OnCheckListFocus,this.fillSlcOnDemand&&(j.onclick=this.Evt._OnCheckListClick,j.appendChild(tf_CreateText(this.activateCheckListTxt)))}else{var k;k=this["col"+f]==this.fltTypeInp?"text":"hidden";var l=tf_CreateElm(this.fltTypeInp,["id",this.prfxFlt+f+"_"+this.id],["type",k],["ct",f]);if("hidden"!=k&&(l.value=this.isInpWatermarkArray?this.inpWatermark[f]:this.inpWatermark),l.className=a,""!=this.inpWatermark&&tf_AddClass(l,this.inpWatermarkCssClass),l.onfocus=this.Evt._OnInpFocus,this.isExternalFlt&&this.externalFltTgtIds&&tf_Id(this.externalFltTgtIds[f])?(tf_Id(this.externalFltTgtIds[f]).appendChild(l),this.externalFltEls.push(l)):g.appendChild(l),this.fltIds.push(this.prfxFlt+f+"_"+this.id),l.onkeypress=this.Evt._DetectKey,l.onkeydown=this.Evt._OnKeyDown,l.onkeyup=this.Evt._OnKeyUp,l.onblur=this.Evt._OnInpBlur,this.rememberGridValues){var m=tf_ReadCookie(this.fltsValuesCookie),n=new RegExp(this.separator,"g"),o=m.split(n);
" "!=o[f]&&this.SetFilterValue(f,o[f],!1)}}if(f==c-1&&this.displayBtn){var p=tf_CreateElm(this.fltTypeInp,["id",this.prfxValButton+f+"_"+this.id],["type","button"],["value",this.btnText]);p.className=this.btnCssClass,this.isExternalFlt&&this.externalFltTgtIds&&tf_Id(this.externalFltTgtIds[f])?tf_Id(this.externalFltTgtIds[f]).appendChild(p):g.appendChild(p),p.onclick=this.Evt._OnBtnClick}}}else this.__resetGrid();else this.refRow=this.refRow-1,this.gridLayout&&(this.refRow=0),this.nbFilterableRows=this.GetRowsNb(),this.nbVisibleRows=this.nbFilterableRows,this.nbRows=this.nbFilterableRows+this.refRow;if(this.rowsCounter&&this.SetRowsCounter(),this.statusBar&&this.SetStatusBar(),this.fixedHeaders&&!this.isFirstLoad&&this.SetFixedHeaders(),this.paging&&this.SetPaging(),this.hasResultsPerPage&&this.paging&&this.SetResultsPerPage(),this.btnReset&&this.SetResetBtn(),this.helpInstructions&&this.SetHelpInstructions(),this.hasColWidth&&!this.gridLayout&&this.SetColWidths(),this.alternateBgs&&this.isStartBgAlternate&&this.SetAlternateRows(),this.hasColOperation&&this.fltGrid&&(this.colOperation=b.col_operation,this.SetColOperation()),(this.sort||this.gridLayout)&&this.SetSort(),(this.selectable||this.editable)&&this.SetEditable(),this.hasBindScript&&void 0!=this.bindScript.src){var q=this.bindScript.src,r=void 0!=this.bindScript.name?this.bindScript.name:"";this.IncludeFile(r,q,this.bindScript.target_fn)}this.isFirstLoad=!1,this.hasGrid=!0,(this.rememberGridValues||this.rememberPageLen||this.rememberPageNb)&&this.ResetValues(),this.gridLayout||tf_AddClass(this.tbl,this.prfxTf),this.loader&&this.ShowLoader("none"),this.hasExtensions&&this.LoadExtensions(),this.onFiltersLoaded&&this.onFiltersLoaded.call(null,this)}},EvtManager:function(a,b){function c(){if(void 0!=a)switch(a){case d.Evt.name.filter:d.isModFilterFn?d.modFilterFn.call(null,d):d._Filter();break;case d.Evt.name.populateselect:d.refreshFilters?d._PopulateSelect(e,!0):d._PopulateSelect(e,!1,f,g);break;case d.Evt.name.populatechecklist:d._PopulateCheckList(e,f,g);break;case d.Evt.name.changepage:d._ChangePage(h);break;case d.Evt.name.clear:d._ClearFilters(),d._Filter();break;case d.Evt.name.changeresultsperpage:d._ChangeResultsPerPage();break;case d.Evt.name.resetvalues:d._ResetValues(),d._Filter();break;case d.Evt.name.resetpage:d._ResetPage(d.pgNbCookie);break;case d.Evt.name.resetpagelength:d._ResetPageLength(d.pgLenCookie);break;case d.Evt.name.sort:break;case d.Evt.name.loadextensions:d._LoadExtensions();break;case d.Evt.name.loadthemes:d._LoadThemes();break;default:d["_"+a].call(null,d,b)}(d.status||d.statusBar)&&d.StatusMsg(""),d.loader&&d.ShowLoader("none")}var d=this,e=void 0!=b&&void 0!=b.slcIndex?b.slcIndex:null,f=void 0!=b&&void 0!=b.slcExternal?b.slcExternal:!1,g=void 0!=b&&void 0!=b.slcId?b.slcId:null,h=void 0!=b&&void 0!=b.pgIndex?b.pgIndex:null;if(this.loader||this.status||this.statusBar){try{this.ShowLoader(""),this.StatusMsg(d["msg"+a])}catch(i){}window.setTimeout(c,this.execDelay)}else c()},ImportModule:function(a){a.path&&a.name&&this.IncludeFile(a.name,a.path,a.init)},LoadExtensions:function(){if(!this.Ext){var a=this;this.Ext={list:{},add:function(b,c,d,e){var f=d.split("/")[d.split("/").length-1],g=new RegExp(f),h=d.replace(g,"");a.Ext.list[b]={name:b,description:c,file:f,path:h,callback:e}}}}this.EvtManager(this.Evt.name.loadextensions)},_LoadExtensions:function(){if(this.hasExtensions&&tf_IsArray(this.extensions.name)&&tf_IsArray(this.extensions.src))for(var a=this.extensions,b=0;b<a.name.length;b++){var c=a.src[b],d=a.name[b],e=a.initialize&&a.initialize[b]?a.initialize[b]:null,f=a.description&&a.description[b]?a.description[b]:null;this.Ext.add(d,f,c,e),tf_IsImported(c)?e.call(null,this):this.IncludeFile(d,c,e)}},LoadThemes:function(){this.EvtManager(this.Evt.name.loadthemes)},_LoadThemes:function(){if(this.hasThemes){if(!this.Thm){var a=this;this.Thm={list:{},add:function(b,c,d,e){var f=d.split("/")[d.split("/").length-1],g=new RegExp(f),h=d.replace(g,"");a.Thm.list[b]={name:b,description:c,file:f,path:h,callback:e}}}}if(this.enableDefaultTheme&&(this.themes={name:["DefaultTheme"],src:[this.themesPath+"Default/TF_Default.css"],description:["Default Theme"]},this.Thm.add("DefaultTheme",this.themesPath+"Default/TF_Default.css","Default Theme")),tf_IsArray(this.themes.name)&&tf_IsArray(this.themes.src))for(var b=this.themes,c=0;c<b.name.length;c++){var d=b.src[c],e=b.name[c],f=b.initialize&&b.initialize[c]?b.initialize[c]:null,g=b.description&&b.description[c]?b.description[c]:null;this.Thm.add(e,g,d,f),tf_IsImported(d,"link")||this.IncludeFile(e,d,null,"link"),tf_IsFn(f)&&f.call(null,this)}this.btnResetText=null,this.btnResetHtml='<input type="button" value="" class="'+this.btnResetCssClass+'" title="Clear filters" />',this.btnPrevPageHtml='<input type="button" value="" class="'+this.btnPageCssClass+' previousPage" title="Previous page" />',this.btnNextPageHtml='<input type="button" value="" class="'+this.btnPageCssClass+' nextPage" title="Next page" />',this.btnFirstPageHtml='<input type="button" value="" class="'+this.btnPageCssClass+' firstPage" title="First page" />',this.btnLastPageHtml='<input type="button" value="" class="'+this.btnPageCssClass+' lastPage" title="Last page" />',this.loader=!0,this.loaderHtml='<div class="defaultLoader"></div>',this.loaderText=null}},RemoveGrid:function(){if(this.fltGrid&&this.hasGrid){var a=this.tbl.rows;this.paging&&this.RemovePaging(),this.statusBar&&this.RemoveStatusBar(),this.rowsCounter&&this.RemoveRowsCounter(),this.btnReset&&this.RemoveResetBtn(),(this.helpInstructions||null==this.helpInstructions)&&this.RemoveHelpInstructions(),this.paging&&this.RemoveResultsPerPage(),this.isExternalFlt&&!this.popUpFilters&&this.RemoveExternalFlts(),this.fixedHeaders&&this.RemoveFixedHeaders(),this.infDiv&&this.RemoveTopDiv(),this.highlightKeywords&&this.UnhighlightAll(),this.sort&&this.RemoveSort(),this.loader&&this.RemoveLoader(),this.popUpFilters&&this.RemovePopupFilters(),this.markActiveColumns&&this.ClearActiveColumns(),(this.editable||this.selectable)&&this.RemoveEditable();for(var b=this.refRow;b<this.nbRows;b++){a[b].style.display="";try{a[b].hasAttribute("validRow")&&a[b].removeAttribute("validRow")}catch(c){for(var d=0;d<a[b].attributes.length;d++)"validrow"==a[b].attributes[d].nodeName.tf_LCase()&&a[b].removeAttribute("validRow")}this.alternateBgs&&this.RemoveRowBg(b)}this.fltGrid&&!this.gridLayout&&(this.fltGridEl=a[this.filtersRowIndex],this.tbl.deleteRow(this.filtersRowIndex)),this.gridLayout&&this.RemoveGridLayout(),tf_RemoveClass(this.tbl,this.prfxTf),this.activeFlt=null,this.isStartBgAlternate=!0,this.hasGrid=!1}},SetTopDiv:function(){if(null==this.infDiv){var a=tf_CreateElm("div",["id",this.prfxInfDiv+this.id]);a.className=this.infDivCssClass,this.toolBarTgtId?tf_Id(this.toolBarTgtId).appendChild(a):this.fixedHeaders&&this.contDiv?this.contDiv.parentNode.insertBefore(a,this.contDiv):this.gridLayout?(this.tblMainCont.appendChild(a),a.className=this.gridInfDivCssClass):this.tbl.parentNode.insertBefore(a,this.tbl),this.infDiv=tf_Id(this.prfxInfDiv+this.id);var b=tf_CreateElm("div",["id",this.prfxLDiv+this.id]);b.className=this.lDivCssClass,a.appendChild(b),this.lDiv=tf_Id(this.prfxLDiv+this.id);var c=tf_CreateElm("div",["id",this.prfxRDiv+this.id]);c.className=this.rDivCssClass,a.appendChild(c),this.rDiv=tf_Id(this.prfxRDiv+this.id);var d=tf_CreateElm("div",["id",this.prfxMDiv+this.id]);d.className=this.mDivCssClass,a.appendChild(d),this.mDiv=tf_Id(this.prfxMDiv+this.id),null==this.helpInstructions&&this.SetHelpInstructions()}},RemoveTopDiv:function(){null!=this.infDiv&&(this.infDiv.parentNode.removeChild(this.infDiv),this.infDiv=null)},RemoveExternalFlts:function(){if(this.isExternalFlt||this.externalFltTgtIds)for(var a=0;a<this.externalFltTgtIds.length;a++)tf_Id(this.externalFltTgtIds[a])&&(tf_Id(this.externalFltTgtIds[a]).innerHTML="")},SetLoader:function(){if(null==this.loaderDiv){var a=this.fObj;this.loaderTgtId=void 0!=a.loader_target_id?a.loader_target_id:null,this.loaderDiv=null,this.loaderText=void 0!=a.loader_text?a.loader_text:"Loading...",this.loaderHtml=void 0!=a.loader_html?a.loader_html:null,this.loaderCssClass=void 0!=a.loader_css_class?a.loader_css_class:"loader",this.loaderCloseDelay=200,this.onShowLoader=tf_IsFn(a.on_show_loader)?a.on_show_loader:null,this.onHideLoader=tf_IsFn(a.on_hide_loader)?a.on_hide_loader:null;var b=tf_CreateElm("div",["id",this.prfxLoader+this.id]);b.className=this.loaderCssClass;var c=null==this.loaderTgtId?this.gridLayout?this.tblCont:this.tbl.parentNode:tf_Id(this.loaderTgtId);null==this.loaderTgtId?c.insertBefore(b,this.tbl):c.appendChild(b),this.loaderDiv=tf_Id(this.prfxLoader+this.id),null==this.loaderHtml?this.loaderDiv.appendChild(tf_CreateText(this.loaderText)):this.loaderDiv.innerHTML=this.loaderHtml}},RemoveLoader:function(){if(null!=this.loaderDiv){var a=null==this.loaderTgtId?this.gridLayout?this.tblCont:this.tbl.parentNode:tf_Id(this.loaderTgtId);a.removeChild(this.loaderDiv),this.loaderDiv=null}},ShowLoader:function(a){function b(){c.loaderDiv&&(c.onShowLoader&&"none"!=a&&c.onShowLoader.call(null,c),c.loaderDiv.style.display=a,c.onHideLoader&&"none"==a&&c.onHideLoader.call(null,c))}if(this.loader&&this.loaderDiv&&this.loaderDiv.style.display!=a){var c=this,d="none"==a?this.loaderCloseDelay:1;window.setTimeout(b,d)}},SetSort:function(){var a=this.Evt._EnableSort;if(!tf_IsFn(a)){var b=this;this.Evt._EnableSort=function(){(!b.isSortEnabled||b.gridLayout)&&(tf_IsImported(b.sortConfig.adapterSrc)?b.sortConfig.initialize.call(null,b):b.IncludeFile(b.sortConfig.name+"_adapter",b.sortConfig.adapterSrc,function(){b.sortConfig.initialize.call(null,b)}))}}tf_IsImported(this.sortConfig.src)?this.Evt._EnableSort():this.IncludeFile(this.sortConfig.name,this.sortConfig.src,this.Evt._EnableSort)},RemoveSort:function(){this.sort&&(this.sort=!1)},Sort:function(){this.EvtManager(this.Evt.name.sort)},SetEditable:function(){tf_IsImported(this.ezEditTableConfig.src)?this._EnableEditable():this.IncludeFile(this.ezEditTableConfig.name,this.ezEditTableConfig.src,this._EnableEditable),this.ezEditTableConfig.loadStylesheet&&!tf_IsImported(this.ezEditTableConfig.stylesheet,"link")&&this.IncludeFile(this.ezEditTableConfig.stylesheetName,this.ezEditTableConfig.stylesheet,null,"link")},RemoveEditable:function(){this.ezEditTable&&(this.selectable&&(this.ezEditTable.Selection.ClearSelections(),this.ezEditTable.Selection.Remove()),this.editable&&this.ezEditTable.Editable.Remove())},ResetEditable:function(){this.ezEditTable&&(this.selectable&&this.ezEditTable.Selection.Set(),this.editable&&this.ezEditTable.Editable.Set())},_EnableEditable:function(a){function b(b,c,d){function e(d){if("row"==b.defaultSelection)b.Selection.SelectRowByIndex(d);else{b.ClearSelections();var e=c.cellIndex,f=a.tbl.rows[d];"both"==b.defaultSelection&&b.Selection.SelectRowByIndex(d),f&&b.Selection.SelectCell(f.cells[e])}if(a.validRowsIndex.length!=a.GetRowsNb()){var f=a.tbl.rows[d];f&&f.scrollIntoView(!1),h&&(h.cellIndex==a.GetCellsNb()-1&&a.gridLayout?a.tblCont.scrollLeft=1e8:0==h.cellIndex&&a.gridLayout?a.tblCont.scrollLeft=0:h.scrollIntoView(!1))}}if(a.validRowsIndex){var f,g="row"!=b.defaultSelection?c.parentNode:c,h="TD"==c.nodeName?c:null,i=void 0!=d?b.Event.GetKey(d):0,j=a.validRowsIndex.tf_Has(g.rowIndex),k=34==i||33==i?a.pagingLength||b.nbRowsPerPage:1;if(j)34!=i&&33!=i?(a._lastValidRowIndex=a.validRowsIndex.tf_IndexByValue(g.rowIndex),a._lastRowIndex=g.rowIndex):(f=34==i?a._lastValidRowIndex+k<=a.validRowsIndex.length-1?a.validRowsIndex[a._lastValidRowIndex+k]:a.validRowsIndex[a.validRowsIndex.length-1]:a._lastValidRowIndex-k<=a.validRowsIndex[0]?a.validRowsIndex[0]:a.validRowsIndex[a._lastValidRowIndex-k],a._lastRowIndex=f,a._lastValidRowIndex=a.validRowsIndex.tf_IndexByValue(f),e(f));else{if(g.rowIndex>a._lastRowIndex)if(g.rowIndex>=a.validRowsIndex[a.validRowsIndex.length-1])f=a.validRowsIndex[a.validRowsIndex.length-1];else{var l=a._lastValidRowIndex+k;f=l>a.validRowsIndex.length-1?a.validRowsIndex[a.validRowsIndex.length-1]:a.validRowsIndex[l]}else if(g.rowIndex<=a.validRowsIndex[0])f=a.validRowsIndex[0];else{var m=a.validRowsIndex[a._lastValidRowIndex-k];f=m?m:a.validRowsIndex[0]}a._lastRowIndex=g.rowIndex,e(f)}}}function c(b,c){var d="row"!=b.defaultSelection?c.parentNode:c;if(a.paging&&a.nbPages>1){b.nbRowsPerPage=a.pagingLength;var e=parseInt(a.startPagingRow)+parseInt(a.pagingLength),f=d.rowIndex;f==a.validRowsIndex[a.validRowsIndex.length-1]&&a.currentPageNb!=a.nbPages?a.SetPage("last"):f==a.validRowsIndex[0]&&1!=a.currentPageNb?a.SetPage("first"):f>a.validRowsIndex[e-1]&&f<a.validRowsIndex[a.validRowsIndex.length-1]?a.SetPage("next"):f<a.validRowsIndex[a.startPagingRow]&&f>a.validRowsIndex[0]&&a.SetPage("previous")}}a||(a=this);var d,e=tf_Tag(a.tbl,"thead");if(d=e.length>0&&!a.ezEditTableConfig.startRow?void 0:a.ezEditTableConfig.startRow||a.refRow,a.ezEditTableConfig.scroll_into_view=void 0!=a.ezEditTableConfig.scroll_into_view?a.ezEditTableConfig.scroll_into_view:!0,a.ezEditTableConfig.base_path=void 0!=a.ezEditTableConfig.base_path?a.ezEditTableConfig.base_path:a.basePath+"ezEditTable/",a.ezEditTableConfig.editable=a.editable=a.fObj.editable,a.ezEditTableConfig.selection=a.selectable=a.fObj.selectable,a.selectable&&(a.ezEditTableConfig.default_selection=void 0!=a.ezEditTableConfig.default_selection?a.ezEditTableConfig.default_selection:"row"),a.ezEditTableConfig.active_cell_css=void 0!=a.ezEditTableConfig.active_cell_css?a.ezEditTableConfig.active_cell_css:"ezETSelectedCell",a._lastValidRowIndex=0,a._lastRowIndex=0,a.selectable)if(a.paging&&(a.onAfterChangePage=function(a){var b=a.ezEditTable.Selection.GetActiveRow();b&&b.scrollIntoView(!1);var c=a.ezEditTable.Selection.GetActiveCell();c&&c.scrollIntoView(!1)}),"row"==a.ezEditTableConfig.default_selection){var f=a.ezEditTableConfig.on_before_selected_row;a.ezEditTableConfig.on_before_selected_row=function(){c(arguments[0],arguments[1],arguments[2]),f&&f.call(null,arguments[0],arguments[1],arguments[2])};var g=a.ezEditTableConfig.on_after_selected_row;a.ezEditTableConfig.on_after_selected_row=function(){b(arguments[0],arguments[1],arguments[2]),g&&g.call(null,arguments[0],arguments[1],arguments[2])}}else{var f=a.ezEditTableConfig.on_before_selected_cell;a.ezEditTableConfig.on_before_selected_cell=function(){c(arguments[0],arguments[1],arguments[2]),f&&f.call(null,arguments[0],arguments[1],arguments[2])};var g=a.ezEditTableConfig.on_after_selected_cell;a.ezEditTableConfig.on_after_selected_cell=function(){b(arguments[0],arguments[1],arguments[2]),g&&g.call(null,arguments[0],arguments[1],arguments[2])}}if(a.editable){var h=a.ezEditTableConfig.on_added_dom_row;if(a.ezEditTableConfig.on_added_dom_row=function(){a.nbFilterableRows++,a.paging?(a.nbRows++,a.nbVisibleRows++,a.nbFilterableRows++,a.paging=!1,a.RemovePaging(),a.AddPaging(!1)):a.RefreshNbRows(),a.alternateBgs&&a.SetAlternateRows(),h&&h.call(null,arguments[0],arguments[1],arguments[2])},a.ezEditTableConfig.actions&&a.ezEditTableConfig.actions["delete"]){var i=a.ezEditTableConfig.actions["delete"].on_after_submit;a.ezEditTableConfig.actions["delete"].on_after_submit=function(){a.nbFilterableRows--,a.paging?(a.nbRows--,a.nbVisibleRows--,a.nbFilterableRows--,a.paging=!1,a.RemovePaging(),a.AddPaging(!1)):a.RefreshNbRows(),a.alternateBgs&&a.SetAlternateRows(),i&&i.call(null,arguments[0],arguments[1])}}}try{a.ezEditTable=new EditTable(a.id,a.ezEditTableConfig,d),a.ezEditTable.Init()}catch(j){alert(a.ezEditTableConfig.err)}},SetPaging:function(){if((this.hasGrid||this.isFirstLoad)&&this.paging&&(this.isPagingRemoved||this.isFirstLoad)){var a=this.fObj;this.pagingTgtId=void 0!=a.paging_target_id?a.paging_target_id:null,this.pagingLength=void 0!=a.paging_length?a.paging_length:10,this.resultsPerPageTgtId=void 0!=a.results_per_page_target_id?a.results_per_page_target_id:null,this.pgSlcCssClass=void 0!=a.paging_slc_css_class?a.paging_slc_css_class:"pgSlc",this.pgInpCssClass=void 0!=a.paging_inp_css_class?a.paging_inp_css_class:"pgNbInp",this.resultsSlcCssClass=void 0!=a.results_slc_css_class?a.results_slc_css_class:"rspg",this.resultsSpanCssClass=void 0!=a.results_span_css_class?a.results_span_css_class:"rspgSpan",this.nbVisibleRows=0,this.nbHiddenRows=0,this.startPagingRow=0,this.nbPages=0,this.btnNextPageText=void 0!=a.btn_next_page_text?a.btn_next_page_text:">",this.btnPrevPageText=void 0!=a.btn_prev_page_text?a.btn_prev_page_text:"<",this.btnLastPageText=void 0!=a.btn_last_page_text?a.btn_last_page_text:">|",this.btnFirstPageText=void 0!=a.btn_first_page_text?a.btn_first_page_text:"|<",this.btnNextPageHtml=void 0!=a.btn_next_page_html?a.btn_next_page_html:this.enableIcons?'<input type="button" value="" class="'+this.btnPageCssClass+' nextPage" title="Next page" />':null,this.btnPrevPageHtml=void 0!=a.btn_prev_page_html?a.btn_prev_page_html:this.enableIcons?'<input type="button" value="" class="'+this.btnPageCssClass+' previousPage" title="Previous page" />':null,this.btnFirstPageHtml=void 0!=a.btn_first_page_html?a.btn_first_page_html:this.enableIcons?'<input type="button" value="" class="'+this.btnPageCssClass+' firstPage" title="First page" />':null,this.btnLastPageHtml=void 0!=a.btn_last_page_html?a.btn_last_page_html:this.enableIcons?'<input type="button" value="" class="'+this.btnPageCssClass+' lastPage" title="Last page" />':null,this.pageText=void 0!=a.page_text?a.page_text:" Page ",this.ofText=void 0!=a.of_text?a.of_text:" of ",this.nbPgSpanCssClass=void 0!=a.nb_pages_css_class?a.nb_pages_css_class:"nbpg",this.hasPagingBtns=0==a.paging_btns?!1:!0,this.pagingBtnEvents=null,this.pageSelectorType=void 0!=a.page_selector_type?a.page_selector_type:this.fltTypeSlc,this.onBeforeChangePage=tf_IsFn(a.on_before_change_page)?a.on_before_change_page:null,this.onAfterChangePage=tf_IsFn(a.on_after_change_page)?a.on_after_change_page:null;var b=this.refRow,c=this.nbRows;if(this.nbPages=Math.ceil((c-b)/this.pagingLength),!this.Evt._Paging.next){var d=this;this.Evt._Paging={slcIndex:function(){return d.pageSelectorType==d.fltTypeSlc?d.pagingSlc.options.selectedIndex:parseInt(d.pagingSlc.value)-1},nbOpts:function(){return d.pageSelectorType==d.fltTypeSlc?parseInt(d.pagingSlc.options.length)-1:d.nbPages-1},next:function(){d.Evt._Paging.nextEvt&&d.Evt._Paging.nextEvt();var a=d.Evt._Paging.slcIndex()<d.Evt._Paging.nbOpts()?d.Evt._Paging.slcIndex()+1:0;d.ChangePage(a)},prev:function(){d.Evt._Paging.prevEvt&&d.Evt._Paging.prevEvt();var a=d.Evt._Paging.slcIndex()>0?d.Evt._Paging.slcIndex()-1:d.Evt._Paging.nbOpts();d.ChangePage(a)},last:function(){d.Evt._Paging.lastEvt&&d.Evt._Paging.lastEvt(),d.ChangePage(d.Evt._Paging.nbOpts())},first:function(){d.Evt._Paging.firstEvt&&d.Evt._Paging.firstEvt(),d.ChangePage(0)},_detectKey:function(a){var b=a?a:window.event?window.event:null;if(b){var c=b.charCode?b.charCode:b.keyCode?b.keyCode:b.which?b.which:0;"13"==c&&(d.sorted?(d.Filter(),d.ChangePage(d.Evt._Paging.slcIndex())):d.ChangePage(),this.blur())}},nextEvt:null,prevEvt:null,lastEvt:null,firstEvt:null}}if(this.Evt._OnSlcPagesChange||(this.Evt._OnSlcPagesChange=function(){d.Evt._Paging._OnSlcPagesChangeEvt&&d.Evt._Paging._OnSlcPagesChangeEvt(),d.ChangePage(),this.blur(),this.parentNode&&tf_isIE&&this.parentNode.focus()}),this.pageSelectorType==this.fltTypeSlc){var e=tf_CreateElm(this.fltTypeSlc,["id",this.prfxSlcPages+this.id]);e.className=this.pgSlcCssClass,e.onchange=this.Evt._OnSlcPagesChange}if(this.pageSelectorType==this.fltTypeInp){var e=tf_CreateElm(this.fltTypeInp,["id",this.prfxSlcPages+this.id],["value",this.currentPageNb]);e.className=this.pgInpCssClass,e.onkeypress=this.Evt._Paging._detectKey}var f,g,h,i;if(f=tf_CreateElm("span",["id",this.prfxBtnNextSpan+this.id]),g=tf_CreateElm("span",["id",this.prfxBtnPrevSpan+this.id]),h=tf_CreateElm("span",["id",this.prfxBtnLastSpan+this.id]),i=tf_CreateElm("span",["id",this.prfxBtnFirstSpan+this.id]),this.hasPagingBtns){if(null==this.btnNextPageHtml){var j=tf_CreateElm(this.fltTypeInp,["id",this.prfxBtnNext+this.id],["type","button"],["value",this.btnNextPageText],["title","Next"]);j.className=this.btnPageCssClass,j.onclick=this.Evt._Paging.next,f.appendChild(j)}else f.innerHTML=this.btnNextPageHtml,f.onclick=this.Evt._Paging.next;if(null==this.btnPrevPageHtml){var k=tf_CreateElm(this.fltTypeInp,["id",this.prfxBtnPrev+this.id],["type","button"],["value",this.btnPrevPageText],["title","Previous"]);k.className=this.btnPageCssClass,k.onclick=this.Evt._Paging.prev,g.appendChild(k)}else g.innerHTML=this.btnPrevPageHtml,g.onclick=this.Evt._Paging.prev;if(null==this.btnLastPageHtml){var l=tf_CreateElm(this.fltTypeInp,["id",this.prfxBtnLast+this.id],["type","button"],["value",this.btnLastPageText],["title","Last"]);l.className=this.btnPageCssClass,l.onclick=this.Evt._Paging.last,h.appendChild(l)}else h.innerHTML=this.btnLastPageHtml,h.onclick=this.Evt._Paging.last;if(null==this.btnFirstPageHtml){var m=tf_CreateElm(this.fltTypeInp,["id",this.prfxBtnFirst+this.id],["type","button"],["value",this.btnFirstPageText],["title","First"]);m.className=this.btnPageCssClass,m.onclick=this.Evt._Paging.first,i.appendChild(m)}else i.innerHTML=this.btnFirstPageHtml,i.onclick=this.Evt._Paging.first}null==this.pagingTgtId&&this.SetTopDiv();var n=null==this.pagingTgtId?this.mDiv:tf_Id(this.pagingTgtId);""!=n.innerHTML&&(n.innerHTML=""),n.appendChild(i),n.appendChild(g);var o=tf_CreateElm("span",["id",this.prfxPgBeforeSpan+this.id]);o.appendChild(tf_CreateText(this.pageText)),o.className=this.nbPgSpanCssClass,n.appendChild(o),n.appendChild(e);var p=tf_CreateElm("span",["id",this.prfxPgAfterSpan+this.id]);p.appendChild(tf_CreateText(this.ofText)),p.className=this.nbPgSpanCssClass,n.appendChild(p);var q=tf_CreateElm("span",["id",this.prfxPgSpan+this.id]);q.className=this.nbPgSpanCssClass,q.appendChild(tf_CreateText(" "+this.nbPages+" ")),n.appendChild(q),n.appendChild(f),n.appendChild(h),this.pagingSlc=tf_Id(this.prfxSlcPages+this.id),(!this.rememberGridValues||this.isPagingRemoved)&&this.SetPagingInfo(),this.fltGrid||(this.ValidateAllRows(),this.SetPagingInfo(this.validRowsIndex)),this.pagingBtnEvents=this.Evt._Paging,this.isPagingRemoved=!1}},RemovePaging:function(){if(this.hasGrid&&null!=this.pagingSlc){var a,b,c,d,e,f,g;a=tf_Id(this.prfxBtnNextSpan+this.id),b=tf_Id(this.prfxBtnPrevSpan+this.id),c=tf_Id(this.prfxBtnLastSpan+this.id),d=tf_Id(this.prfxBtnFirstSpan+this.id),e=tf_Id(this.prfxPgBeforeSpan+this.id),f=tf_Id(this.prfxPgAfterSpan+this.id),g=tf_Id(this.prfxPgSpan+this.id),this.pagingSlc.parentNode.removeChild(this.pagingSlc),null!=a&&a.parentNode.removeChild(a),null!=b&&b.parentNode.removeChild(b),null!=c&&c.parentNode.removeChild(c),null!=d&&d.parentNode.removeChild(d),null!=e&&e.parentNode.removeChild(e),null!=f&&f.parentNode.removeChild(f),null!=g&&g.parentNode.removeChild(g),this.pagingBtnEvents=null,this.pagingSlc=null,this.isPagingRemoved=!0}},SetPagingInfo:function(a){var b=this.tbl.rows,c=null==this.pagingTgtId?this.mDiv:tf_Id(this.pagingTgtId),d=tf_Id(this.prfxPgSpan+this.id);if(void 0!=a)this.validRowsIndex=a;else{this.validRowsIndex=[];for(var e=this.refRow;e<this.nbRows;e++)if(b[e]){var f=b[e].getAttribute("validRow");("true"==f||null==f)&&this.validRowsIndex.push(e)}}if(this.nbPages=Math.ceil(this.validRowsIndex.length/this.pagingLength),d.innerHTML=this.nbPages,this.pageSelectorType==this.fltTypeSlc&&(this.pagingSlc.innerHTML=""),this.nbPages>0)if(c.style.visibility="visible",this.pageSelectorType==this.fltTypeSlc)for(var g=0;g<this.nbPages;g++){var h=new Option(g+1,g*this.pagingLength,!1,!1);this.pagingSlc.options[g]=h}else this.pagingSlc.value=this.currentPageNb;else c.style.visibility="hidden";this.GroupByPage(this.validRowsIndex)},GroupByPage:function(a){var b=this.tbl.rows,c=parseInt(this.startPagingRow)+parseInt(this.pagingLength);for(void 0!=a&&(this.validRowsIndex=a),h=0;h<this.validRowsIndex.length;h++)if(h>=this.startPagingRow&&c>h){var d=b[this.validRowsIndex[h]];("true"==d.getAttribute("validRow")||void 0==d.getAttribute("validRow"))&&(d.style.display=""),this.alternateBgs&&this.SetRowBg(this.validRowsIndex[h],h)}else b[this.validRowsIndex[h]].style.display="none",this.alternateBgs&&this.RemoveRowBg(this.validRowsIndex[h]);this.nbVisibleRows=this.validRowsIndex.length,this.isStartBgAlternate=!1,this.ApplyGridProps()},SetPage:function(a){if(this.hasGrid&&this.paging){var b=this.pagingBtnEvents,c=typeof a;if("string"==c)switch(a.tf_LCase()){case"next":b.next();break;case"previous":b.prev();break;case"last":b.last();break;case"first":b.first();break;default:b.next()}"number"==c&&this.ChangePage(a-1)}},SetResultsPerPage:function(){if((this.hasGrid||this.isFirstLoad)&&null==this.resultsPerPageSlc&&null!=this.resultsPerPage){if(!this.Evt._OnSlcResultsChange){var a=this;this.Evt._OnSlcResultsChange=function(){a.ChangeResultsPerPage(),this.blur(),this.parentNode&&tf_isIE&&this.parentNode.focus()}}var b=tf_CreateElm(this.fltTypeSlc,["id",this.prfxSlcResults+this.id]);b.className=this.resultsSlcCssClass;var c=this.resultsPerPage[0],d=this.resultsPerPage[1],e=tf_CreateElm("span",["id",this.prfxSlcResultsTxt+this.id]);e.className=this.resultsSpanCssClass,null==this.resultsPerPageTgtId&&this.SetTopDiv();var f=null==this.resultsPerPageTgtId?this.rDiv:tf_Id(this.resultsPerPageTgtId);e.appendChild(tf_CreateText(c)),f.appendChild(e),f.appendChild(b),this.resultsPerPageSlc=tf_Id(this.prfxSlcResults+this.id);for(var g=0;g<d.length;g++){var h=new Option(d[g],d[g],!1,!1);this.resultsPerPageSlc.options[g]=h}b.onchange=this.Evt._OnSlcResultsChange}},RemoveResultsPerPage:function(){if(this.hasGrid&&null!=this.resultsPerPageSlc&&null!=this.resultsPerPage){var a,b;a=this.resultsPerPageSlc,b=tf_Id(this.prfxSlcResultsTxt+this.id),null!=a&&a.parentNode.removeChild(a),null!=b&&b.parentNode.removeChild(b),this.resultsPerPageSlc=null}},SetHelpInstructions:function(){if(null==this.helpInstrBtnEl){var a=this.fObj;this.helpInstrTgtId=void 0!=a.help_instructions_target_id?a.help_instructions_target_id:null,this.helpInstrContTgtId=void 0!=a.help_instructions_container_target_id?a.help_instructions_container_target_id:null,this.helpInstrText=a.help_instructions_text?a.help_instructions_text:'Use the filters above each column to filter and limit table data. Avanced searches can be performed by using the following operators: <br /><b>&lt;</b>, <b>&lt;=</b>, <b>&gt;</b>, <b>&gt;=</b>, <b>=</b>, <b>*</b>, <b>!</b>, <b>{</b>, <b>}</b>, <b>||</b>, <b>&amp;&amp;</b>, <b>[empty]</b>, <b>[nonempty]</b>, <b>rgx:</b><br/> These operators are described here:<br/><a href="http://tablefilter.free.fr/#operators" target="_blank">http://tablefilter.free.fr/#operators</a><hr/>',this.helpInstrHtml=void 0!=a.help_instructions_html?a.help_instructions_html:null,this.helpInstrBtnText=void 0!=a.help_instructions_btn_text?a.help_instructions_btn_text:"?",this.helpInstrBtnHtml=void 0!=a.help_instructions_btn_html?a.help_instructions_btn_html:null,this.helpInstrBtnCssClass=void 0!=a.help_instructions_btn_css_class?a.help_instructions_btn_css_class:"helpBtn",this.helpInstrContCssClass=void 0!=a.help_instructions_container_css_class?a.help_instructions_container_css_class:"helpCont",this.helpInstrBtnEl=null,this.helpInstrContEl=null,this.helpInstrDefaultHtml='<div class="helpFooter"><h4>HTML Table Filter Generator v. '+this.version+'</h4><a href="http://tablefilter.free.fr" target="_blank">http://tablefilter.free.fr</a><br/><span>&copy;2009-'+this.year+' Max Guglielmi.</span><div align="center" style="margin-top:8px;"><a href="javascript:;" onclick="window[\'tf_'+this.id+"']._ToggleHelp();\">Close</a></div></div>";var b=tf_CreateElm("span",["id",this.prfxHelpSpan+this.id]),c=tf_CreateElm("div",["id",this.prfxHelpDiv+this.id]);null==this.helpInstrTgtId&&this.SetTopDiv();var d=null==this.helpInstrTgtId?this.rDiv:tf_Id(this.helpInstrTgtId);d.appendChild(b);var e=null==this.helpInstrContTgtId?b:tf_Id(this.helpInstrContTgtId);if(null==this.helpInstrBtnHtml){e.appendChild(c);var f=tf_CreateElm("a",["href","javascript:void(0);"]);f.className=this.helpInstrBtnCssClass,f.appendChild(tf_CreateText(this.helpInstrBtnText)),b.appendChild(f),f.onclick=this.Evt._OnHelpBtnClick}else{b.innerHTML=this.helpInstrBtnHtml;var g=b.firstChild;g.onclick=this.Evt._OnHelpBtnClick,e.appendChild(c)}null==this.helpInstrHtml?(c.innerHTML=this.helpInstrText,c.className=this.helpInstrContCssClass,c.ondblclick=this.Evt._OnHelpBtnClick):(this.helpInstrContTgtId&&e.appendChild(c),c.innerHTML=this.helpInstrHtml,this.helpInstrContTgtId||(c.className=this.helpInstrContCssClass,c.ondblclick=this.Evt._OnHelpBtnClick)),c.innerHTML+=this.helpInstrDefaultHtml,this.helpInstrContEl=c,this.helpInstrBtnEl=b}},RemoveHelpInstructions:function(){null!=this.helpInstrBtnEl&&(this.helpInstrBtnEl.parentNode.removeChild(this.helpInstrBtnEl),this.helpInstrBtnEl=null,null!=this.helpInstrContEl&&(this.helpInstrContEl.parentNode.removeChild(this.helpInstrContEl),this.helpInstrContEl=null))},_ToggleHelp:function(){if(this.helpInstrContEl){var a=this.helpInstrContEl.style.display;if(""==a||"none"==a){this.helpInstrContEl.style.display="block";var b=tf_ObjPosition(this.helpInstrBtnEl,[this.helpInstrBtnEl.nodeName])[0];this.helpInstrContTgtId||(this.helpInstrContEl.style.left=b-this.helpInstrContEl.clientWidth+25+"px")}else this.helpInstrContEl.style.display="none"}},ChangePage:function(a){this.EvtManager(this.Evt.name.changepage,{pgIndex:a})},_ChangePage:function(a){this.paging&&(void 0==a&&(a=this.pageSelectorType==this.fltTypeSlc?this.pagingSlc.options.selectedIndex:this.pagingSlc.value-1),a>=0&&a<=this.nbPages-1&&(this.onBeforeChangePage&&this.onBeforeChangePage.call(null,this,a),this.currentPageNb=parseInt(a)+1,this.pageSelectorType==this.fltTypeSlc?this.pagingSlc.options[a].selected=!0:this.pagingSlc.value=this.currentPageNb,this.rememberPageNb&&this.RememberPageNb(this.pgNbCookie),this.startPagingRow=this.pageSelectorType==this.fltTypeSlc?this.pagingSlc.value:a*this.pagingLength,this.GroupByPage(),this.onAfterChangePage&&this.onAfterChangePage.call(null,this,a)))},ChangeResultsPerPage:function(){this.EvtManager(this.Evt.name.changeresultsperpage)},_ChangeResultsPerPage:function(){if(this.paging){var a=this.resultsPerPageSlc,b=this.pageSelectorType==this.fltTypeSlc?this.pagingSlc.selectedIndex:parseInt(this.pagingSlc.value-1);if(this.pagingLength=parseInt(a.options[a.selectedIndex].value),this.startPagingRow=this.pagingLength*b,!isNaN(this.pagingLength)){if(this.startPagingRow>=this.nbFilterableRows&&(this.startPagingRow=this.nbFilterableRows-this.pagingLength),this.SetPagingInfo(),this.pageSelectorType==this.fltTypeSlc){var c=this.pagingSlc.options.length-1<=b?this.pagingSlc.options.length-1:b;this.pagingSlc.options[c].selected=!0}this.rememberPageLen&&this.RememberPageLength(this.pgLenCookie)}}},ResetPage:function(){this.EvtManager(this.Evt.name.resetpage)},_ResetPage:function(a){var b=tf_ReadCookie(a);""!=b&&this.ChangePage(b-1)},ResetPageLength:function(){this.EvtManager(this.Evt.name.resetpagelength)},_ResetPageLength:function(a){if(this.paging){var b=tf_ReadCookie(a);""!=b&&(this.resultsPerPageSlc.options[b].selected=!0,this.ChangeResultsPerPage())}},AddPaging:function(a){this.hasGrid&&!this.paging&&(this.paging=!0,this.isPagingRemoved=!0,this.SetPaging(),this.ResetValues(),a&&this.Filter())},PopulateSelect:function(a,b,c){this.EvtManager(this.Evt.name.populateselect,{slcIndex:a,slcExternal:b,slcId:c})},_PopulateSelect:function(a,b,c,d){function e(){if("innerhtml"==l)n+='<option value="">'+j.displayAllText+"</option>";else{var a=tf_CreateOpt(j.enableSlcResetFilter?j.displayAllText:"","");if(j.enableSlcResetFilter||(a.style.display="none"),i.appendChild(a),j.enableEmptyOption){var b=tf_CreateOpt(j.emptyText,j.emOperator);i.appendChild(b)}if(j.enableNonEmptyOption){var c=tf_CreateOpt(j.nonEmptyText,j.nmOperator);i.appendChild(c)}}}function f(){var c=i.value;i.innerHTML="",e();for(var d=0;d<m.length;d++)if(""!=m[d]){var f=m[d],g=o?p[d]:m[d],h=!1;
if(b&&j.disableExcludedOptions&&s.tf_Has(f.tf_MatchCase(j.matchCase),j.matchCase)&&(h=!0),"innerhtml"==l){var k="";j.fillSlcOnDemand&&c==m[d]&&(k='selected="selected"'),n+='<option value="'+f+'" '+k+(h?'disabled="disabled"':"")+">"+g+"</option>"}else{var t;t=j.fillSlcOnDemand&&c==m[d]&&j["col"+a]==j.fltTypeSlc?tf_CreateOpt(g,f,!0):j["col"+a]!=j.fltTypeMulti?tf_CreateOpt(g,f," "!=q[a]&&f==q[a]?!0:!1):tf_CreateOpt(g,f,r.tf_Has(m[d].tf_MatchCase(j.matchCase),j.matchCase)||-1!=r.toString().indexOf(f)?!0:!1),h&&(t.disabled=!0),i.appendChild(t)}}"innerhtml"==l&&(i.innerHTML+=n),i.setAttribute("filled","1")}c=void 0==c?!1:c;var g=this.fltIds[a];if(!(null==tf_Id(g)&&!c||null==tf_Id(d)&&c)){var h,i=tf_Id(c?d:g),j=this,k=this.tbl.rows,l=this.slcFillingMethod.tf_LCase(),m=[],n="",o=this.hasCustomSlcOptions&&this.customSlcOptions.cols.tf_Has(a),p=[];b&&this.activeFilterId&&(h=this.activeFilterId.split("_")[0],h=h.split(this.prfxFlt)[1]);var q=[],r=[];this.rememberGridValues&&(q=tf_CookieValueArray(this.fltsValuesCookie,this.separator),void 0!=q&&""!=q.toString().tf_Trim()&&(this.hasCustomSlcOptions&&this.customSlcOptions.cols.tf_Has(a)?r.push(q[a]):r=q[a].split(" "+j.orOperator+" ")));var s=null,t=null;b&&this.disableExcludedOptions&&(s=[],t=[]);for(var u=this.refRow;u<this.nbRows;u++)if(!this.hasVisibleRows||!this.visibleRows.tf_Has(u)||this.paging){var v=k[u].cells,w=v.length;if(w==this.nbCells&&!o)for(var x=0;w>x;x++)if(a==x&&(!b||b&&this.disableExcludedOptions)||a==x&&b&&(""==k[u].style.display&&!this.paging||this.paging&&(!this.validRowsIndex||this.validRowsIndex&&this.validRowsIndex.tf_Has(u))&&(void 0==h||h==a||h!=a&&this.validRowsIndex.tf_Has(u)))){var y=this.GetCellData(x,v[x]),z=y.tf_MatchCase(this.matchCase);m.tf_Has(z,this.matchCase)||m.push(y),b&&this.disableExcludedOptions&&(t[x]||(t[x]=this.GetFilteredDataCol(x)),t[x].tf_Has(z,this.matchCase)||s.tf_Has(z,this.matchCase)||this.isFirstLoad||s.push(y))}}if(o){var A=this.__getCustomValues(a);m=A[0],p=A[1]}if(this.sortSlc&&!o&&(this.matchCase?(m.sort(),s&&s.sort()):(m.sort(tf_IgnoreCaseSort),s&&s.sort(tf_IgnoreCaseSort))),this.sortNumAsc&&this.sortNumAsc.tf_Has(a))try{m.sort(tf_NumSortAsc),s&&s.sort(tf_NumSortAsc),o&&p.sort(tf_NumSortAsc)}catch(B){m.sort(),s&&s.sort(),o&&p.sort()}if(this.sortNumDesc&&this.sortNumDesc.tf_Has(a))try{m.sort(tf_NumSortDesc),s&&s.sort(tf_NumSortDesc),o&&p.sort(tf_NumSortDesc)}catch(B){m.sort(),s&&s.sort(),o&&p.sort()}f()}},__deferMultipleSelection:function(a,b,c){if("select"==a.nodeName.tf_LCase()){var d=void 0==c?!1:c,e=this;window.setTimeout(function(){a.options[0].selected=!1,a.options[b].selected=""==a.options[b].value?!1:!0,d&&e.Filter()},.1)}},__getCustomValues:function(a){if(void 0!=a){var b=this.hasCustomSlcOptions&&this.customSlcOptions.cols.tf_Has(a);if(b){for(var c=[],d=[],e=this.customSlcOptions.cols.tf_IndexByValue(a),f=this.customSlcOptions.values[e],g=this.customSlcOptions.texts[e],h=this.customSlcOptions.sorts[e],i=0;i<f.length;i++)d.push(f[i]),c.push(void 0!=g[i]?g[i]:f[i]);return h&&(d.sort(),c.sort()),[d,c]}}},PopulateCheckList:function(a,b,c){this.EvtManager(this.Evt.name.populatechecklist,{slcIndex:a,slcExternal:b,slcId:c})},_PopulateCheckList:function(a,b,c){function d(){var b=1,c=tf_CreateCheckItem(j.fltIds[a]+"_0","",j.displayAllText);if(c.className=j.checkListItemCssClass,h.appendChild(c),c.check.onclick=function(a){j.__setCheckListValues(this),h.onchange.call(null,a)},j.enableCheckListResetFilter||(c.style.display="none"),tf_isIE&&(c.label.onclick=function(){c.check.click()}),j.enableEmptyOption){var d=tf_CreateCheckItem(j.fltIds[a]+"_1",j.emOperator,j.emptyText);d.className=j.checkListItemCssClass,h.appendChild(d),d.check.onclick=function(a){j.__setCheckListValues(this),h.onchange.call(null,a)},tf_isIE&&(d.label.onclick=function(){d.check.click()}),b++}if(j.enableNonEmptyOption){var e=tf_CreateCheckItem(j.fltIds[a]+"_2",j.nmOperator,j.nonEmptyText);e.className=j.checkListItemCssClass,h.appendChild(e),e.check.onclick=function(a){j.__setCheckListValues(this),h.onchange.call(null,a)},tf_isIE&&(e.label.onclick=function(){e.check.click()}),b++}return b}function e(b){var c=d(),e=[],f=tf_CookieValueByIndex(j.fltsValuesCookie,a,b);void 0!=f&&f.tf_Trim().length>0&&(j.hasCustomSlcOptions&&j.customSlcOptions.cols.tf_Has(a)?e.push(f):e=f.split(" "+j.orOperator+" "));for(var g=0;g<l.length;g++){var i=l[g],k=m?n[g]:i,p=tf_CreateCheckItem(j.fltIds[a]+"_"+(g+c),i,k);p.className=j.checkListItemCssClass,j.refreshFilters&&j.disableExcludedOptions&&o.tf_Has(i.tf_MatchCase(j.matchCase),j.matchCase)?(tf_AddClass(p,j.checkListItemDisabledCssClass),p.check.disabled=!0,p.disabled=!0):p.check.onclick=function(a){j.__setCheckListValues(this),h.onchange.call(null,a)},h.appendChild(p),""==i&&(p.style.display="none"),j.rememberGridValues&&(j.hasCustomSlcOptions&&j.customSlcOptions.cols.tf_Has(a)&&-1!=e.toString().indexOf(i)||e.tf_Has(i.tf_MatchCase(j.matchCase),j.matchCase))&&(p.check.checked=!0,j.__setCheckListValues(p.check)),tf_isIE&&(p.label.onclick=function(){this.firstChild.click()})}}b=void 0==b?!1:b;var f=this.prfxCheckListDiv+a+"_"+this.id;if(!(null==tf_Id(f)&&!b||null==tf_Id(c)&&b)){var g=b?tf_Id(c):this.checkListDiv[a],h=tf_CreateElm("ul",["id",this.fltIds[a]],["colIndex",a]);h.className=this.checkListCssClass,h.onchange=this.Evt._OnCheckListChange;var i,j=this,k=this.tbl.rows,l=[],m=this.hasCustomSlcOptions&&this.customSlcOptions.cols.tf_Has(a),n=[];this.refreshFilters&&this.activeFilterId&&(i=this.activeFilterId.split("_")[0],i=i.split(this.prfxFlt)[1]);var o=null,p=null;this.refreshFilters&&this.disableExcludedOptions&&(o=[],p=[]);for(var q=this.refRow;q<this.nbRows;q++)if(!this.hasVisibleRows||!this.visibleRows.tf_Has(q)||this.paging){var r=k[q].cells,s=r.length;if(s==this.nbCells&&!m)for(var t=0;s>t;t++)if(a==t&&(!this.refreshFilters||this.refreshFilters&&this.disableExcludedOptions)||a==t&&this.refreshFilters&&(""==k[q].style.display&&!this.paging||this.paging&&(void 0==i||i==a||i!=a&&this.validRowsIndex.tf_Has(q)))){var u=this.GetCellData(t,r[t]),v=u.tf_MatchCase(this.matchCase);l.tf_Has(v,this.matchCase)||l.push(u),this.refreshFilters&&this.disableExcludedOptions&&(p[t]||(p[t]=this.GetFilteredDataCol(t)),p[t].tf_Has(v,this.matchCase)||o.tf_Has(v,this.matchCase)||this.isFirstLoad||o.push(u))}}if(m){var w=this.__getCustomValues(a);l=w[0],n=w[1]}if(this.sortSlc&&!m&&(this.matchCase?(l.sort(),o&&o.sort()):(l.sort(tf_IgnoreCaseSort),o&&o.sort(tf_IgnoreCaseSort))),this.sortNumAsc&&this.sortNumAsc.tf_Has(a))try{l.sort(tf_NumSortAsc),o&&o.sort(tf_NumSortAsc),m&&n.sort(tf_NumSortAsc)}catch(x){l.sort(),o&&o.sort(),m&&n.sort()}if(this.sortNumDesc&&this.sortNumDesc.tf_Has(a))try{l.sort(tf_NumSortDesc),o&&o.sort(tf_NumSortDesc),m&&n.sort(tf_NumSortDesc)}catch(x){l.sort(),o&&o.sort(),m&&n.sort()}if(e(this.separator),this.fillSlcOnDemand&&(g.innerHTML=""),g.appendChild(h),g.setAttribute("filled","1"),j.rememberGridValues&&tf_isIE){var y=h.getAttribute("indexes");if(null!=y)for(var z=y.split(","),A=0;A<z.length;A++){var B=tf_Id(this.fltIds[a]+"_"+z[A]);B&&(B.checked=!0)}}}},__setCheckListValues:function(a){if(null!=a){for(var b=a.value,c=parseInt(a.id.split("_")[2]),d="ul",e="li",f=a;f.nodeName.tf_LCase()!=d;)f=f.parentNode;if(f.nodeName.tf_LCase()==d){var g=f.childNodes[c],h=f.getAttribute("colIndex"),i=f.getAttribute("value"),j=f.getAttribute("indexes");if(a.checked){if(""==b){if(null!=j&&""!=j)for(var k=j.split(this.separator),l=0;l<k.length;l++){var m=tf_Id(this.fltIds[h]+"_"+k[l]);m&&(m.checked=!1,tf_RemoveClass(f.childNodes[k[l]],this.checkListSlcItemCssClass))}f.setAttribute("value",""),f.setAttribute("indexes","")}else i=i?i:"",b=(i+" "+b+" "+this.orOperator).tf_Trim(),c=j+c+this.separator,f.setAttribute("value",b),f.setAttribute("indexes",c),tf_Id(this.fltIds[h]+"_0")&&(tf_Id(this.fltIds[h]+"_0").checked=!1);g.nodeName.tf_LCase()==e&&(tf_RemoveClass(f.childNodes[0],this.checkListSlcItemCssClass),tf_AddClass(g,this.checkListSlcItemCssClass))}else{if(""!=b){var n=new RegExp(tf_RegexpEscape(b+" "+this.orOperator));i=i.replace(n,""),f.setAttribute("value",i.tf_Trim());var o=new RegExp(tf_RegexpEscape(c+this.separator));j=j.replace(o,""),f.setAttribute("indexes",j)}g.nodeName.tf_LCase()==e&&tf_RemoveClass(g,this.checkListSlcItemCssClass)}}}},SetResetBtn:function(){if((this.hasGrid||this.isFirstLoad)&&null==this.btnResetEl){var a=this.fObj;this.btnResetTgtId=void 0!=a.btn_reset_target_id?a.btn_reset_target_id:null,this.btnResetEl=null,this.btnResetText=void 0!=a.btn_reset_text?a.btn_reset_text:"Reset",this.btnResetTooltip=void 0!=a.btn_reset_tooltip?a.btn_reset_tooltip:"Clear filters",this.btnResetHtml=void 0!=a.btn_reset_html?a.btn_reset_html:this.enableIcons?'<input type="button" value="" class="'+this.btnResetCssClass+'" title="'+this.btnResetTooltip+'" />':null;var b=tf_CreateElm("span",["id",this.prfxResetSpan+this.id]);null==this.btnResetTgtId&&this.SetTopDiv();var c=null==this.btnResetTgtId?this.rDiv:tf_Id(this.btnResetTgtId);if(c.appendChild(b),null==this.btnResetHtml){var d=tf_CreateElm("a",["href","javascript:void(0);"]);d.className=this.btnResetCssClass,d.appendChild(tf_CreateText(this.btnResetText)),b.appendChild(d),d.onclick=this.Evt._Clear}else{b.innerHTML=this.btnResetHtml;var e=b.firstChild;e.onclick=this.Evt._Clear}this.btnResetEl=tf_Id(this.prfxResetSpan+this.id).firstChild}},RemoveResetBtn:function(){if(this.hasGrid&&null!=this.btnResetEl){var a=tf_Id(this.prfxResetSpan+this.id);null!=a&&a.parentNode.removeChild(a),this.btnResetEl=null}},SetStatusBar:function(){if(this.hasGrid||this.isFirstLoad){var a=this.fObj;this.statusBarTgtId=void 0!=a.status_bar_target_id?a.status_bar_target_id:null,this.statusBarDiv=null,this.statusBarSpan=null,this.statusBarSpanText=null,this.statusBarText=void 0!=a.status_bar_text?a.status_bar_text:"",this.statusBarCssClass=void 0!=a.status_bar_css_class?a.status_bar_css_class:"status",this.statusBarCloseDelay=250;var b=tf_CreateElm("div",["id",this.prfxStatus+this.id]);b.className=this.statusBarCssClass;var c=tf_CreateElm("span",["id",this.prfxStatusSpan+this.id]),d=tf_CreateElm("span",["id",this.prfxStatusTxt+this.id]);d.appendChild(tf_CreateText(this.statusBarText)),this.onBeforeShowMsg=tf_IsFn(a.on_before_show_msg)?a.on_before_show_msg:null,this.onAfterShowMsg=tf_IsFn(a.on_after_show_msg)?a.on_after_show_msg:null,null==this.statusBarTgtId&&this.SetTopDiv();var e=null==this.statusBarTgtId?this.lDiv:tf_Id(this.statusBarTgtId);this.statusBarDiv&&tf_isIE&&(this.statusBarDiv.outerHTML=""),null==this.statusBarTgtId?(b.appendChild(d),b.appendChild(c),e.appendChild(b)):(e.appendChild(d),e.appendChild(c)),this.statusBarDiv=tf_Id(this.prfxStatus+this.id),this.statusBarSpan=tf_Id(this.prfxStatusSpan+this.id),this.statusBarSpanText=tf_Id(this.prfxStatusTxt+this.id)}},RemoveStatusBar:function(){this.hasGrid&&this.statusBarDiv&&(this.statusBarDiv.innerHTML="",this.statusBarDiv.parentNode.removeChild(this.statusBarDiv),this.statusBarSpan=null,this.statusBarSpanText=null,this.statusBarDiv=null)},StatusMsg:function(a){void 0==a&&this.StatusMsg(""),this.status&&this.WinStatusMsg(a),this.statusBar&&this.StatusBarMsg(a)},WinStatusMsg:function(a){this.status&&(this.onBeforeShowMsg&&this.onBeforeShowMsg.call(null,this,a),window.status=a,this.onAfterShowMsg&&this.onAfterShowMsg.call(null,this,a))},StatusBarMsg:function(a){function b(){c.statusBarSpan.innerHTML=a,c.onAfterShowMsg&&c.onAfterShowMsg.call(null,c,a)}if(this.statusBar&&this.statusBarSpan){this.onBeforeShowMsg&&this.onBeforeShowMsg.call(null,this,a);var c=this,d=""==a?this.statusBarCloseDelay:1;window.setTimeout(b,d)}},SetRowsCounter:function(){if((this.hasGrid||this.isFirstLoad)&&null==this.rowsCounterSpan){var a=this.fObj;this.rowsCounterTgtId=void 0!=a.rows_counter_target_id?a.rows_counter_target_id:null,this.rowsCounterDiv=null,this.rowsCounterSpan=null,this.rowsCounterText=void 0!=a.rows_counter_text?a.rows_counter_text:"Rows: ",this.fromToTextSeparator=void 0!=a.from_to_text_separator?a.from_to_text_separator:"-",this.overText=void 0!=a.over_text?a.over_text:" / ",this.totRowsCssClass=void 0!=a.tot_rows_css_class?a.tot_rows_css_class:"tot",this.onBeforeRefreshCounter=tf_IsFn(a.on_before_refresh_counter)?a.on_before_refresh_counter:null,this.onAfterRefreshCounter=tf_IsFn(a.on_after_refresh_counter)?a.on_after_refresh_counter:null;var b=tf_CreateElm("div",["id",this.prfxCounter+this.id]);b.className=this.totRowsCssClass;var c=tf_CreateElm("span",["id",this.prfxTotRows+this.id]),d=tf_CreateElm("span",["id",this.prfxTotRowsTxt+this.id]);d.appendChild(tf_CreateText(this.rowsCounterText)),null==this.rowsCounterTgtId&&this.SetTopDiv();var e=null==this.rowsCounterTgtId?this.lDiv:tf_Id(this.rowsCounterTgtId);this.rowsCounterDiv&&tf_isIE&&(this.rowsCounterDiv.outerHTML=""),null==this.rowsCounterTgtId?(b.appendChild(d),b.appendChild(c),e.appendChild(b)):(e.appendChild(d),e.appendChild(c)),this.rowsCounterDiv=tf_Id(this.prfxCounter+this.id),this.rowsCounterSpan=tf_Id(this.prfxTotRows+this.id),this.RefreshNbRows()}},RemoveRowsCounter:function(){this.hasGrid&&null!=this.rowsCounterSpan&&(null==this.rowsCounterTgtId&&this.rowsCounterDiv?tf_isIE?this.rowsCounterDiv.outerHTML="":this.rowsCounterDiv.parentNode.removeChild(this.rowsCounterDiv):tf_Id(this.rowsCounterTgtId).innerHTML="",this.rowsCounterSpan=null,this.rowsCounterDiv=null)},RefreshNbRows:function(a){if(null!=this.rowsCounterSpan){this.onBeforeRefreshCounter&&this.onBeforeRefreshCounter.call(null,this,this.rowsCounterSpan);var b;if(this.paging){var c=parseInt(this.startPagingRow)+(this.nbVisibleRows>0?1:0),d=c+this.pagingLength-1<=this.nbVisibleRows?c+this.pagingLength-1:this.nbVisibleRows;b=c+this.fromToTextSeparator+d+this.overText+this.nbVisibleRows}else b=void 0!=a&&""!=a?a:this.nbFilterableRows-this.nbHiddenRows-(this.hasVisibleRows?this.visibleRows.length:0);this.rowsCounterSpan.innerHTML=b,this.onAfterRefreshCounter&&this.onAfterRefreshCounter.call(null,this,this.rowsCounterSpan,b)}},SetWatermark:function(a){if(this.fltGrid&&""!=this.inpWatermark)for(var a=a||void 0==a?!0:!1,b=0;b<this.fltIds.length;b++)if(this["col"+b]==this.fltTypeInp){var c=this.isInpWatermarkArray?this.inpWatermark[b]:this.inpWatermark;this.GetFilterValue(b)==(a?"":c)&&(this.SetFilterValue(b,a?c:""),tf_AddClass(this.GetFilterElement(b),this.inpWatermarkCssClass))}},SetGridLayout:function(){function a(a){if(a){for(var b=a.nbCells-1;b>=0;b--){var c=tf_CreateElm("col",["id",a.id+"_col_"+b]);a.tbl.firstChild.parentNode.insertBefore(c,a.tbl.firstChild),c.style.width=a.colWidth[b],a.gridColElms[b]=c}a.tblHasColTag=!0}}if(this.gridLayout){var b=this.fObj;if(this.gridWidth=void 0!=b.grid_width?b.grid_width:null,this.gridHeight=void 0!=b.grid_height?b.grid_height:null,this.gridMainContCssClass=void 0!=b.grid_cont_css_class?b.grid_cont_css_class:"grd_Cont",this.gridContCssClass=void 0!=b.grid_tbl_cont_css_class?b.grid_tbl_cont_css_class:"grd_tblCont",this.gridHeadContCssClass=void 0!=b.grid_tblHead_cont_css_class?b.grid_tblHead_cont_css_class:"grd_headTblCont",this.gridInfDivCssClass=void 0!=b.grid_inf_grid_css_class?b.grid_inf_grid_css_class:"grd_inf",this.gridHeadRowIndex=void 0!=b.grid_headers_row_index?b.grid_headers_row_index:0,this.gridHeadRows=void 0!=b.grid_headers_rows?b.grid_headers_rows:[0],this.gridEnableFilters=void 0!=b.grid_enable_default_filters?b.grid_enable_default_filters:!0,this.gridDefaultColWidth=void 0!=b.grid_default_col_width?b.grid_default_col_width:"100px",this.gridEnableColResizer=void 0!=b.grid_enable_cols_resizer?b.grid_enable_cols_resizer:!0,this.gridColResizerPath=void 0!=b.grid_cont_col_resizer_path?b.grid_cont_col_resizer_path:this.basePath+"TFExt_ColsResizer/TFExt_ColsResizer.js",!this.hasColWidth){this.colWidth=[];for(var c=0;c<this.nbCells;c++){var d,e=this.tbl.rows[this.gridHeadRowIndex].cells[c];d=""!=e.width?e.width:""!=e.style.width?parseInt(e.style.width):this.gridDefaultColWidth,this.colWidth[c]=d}this.hasColWidth=!0}this.SetColWidths(this.gridHeadRowIndex);var f;f=""!=this.tbl.width?this.tbl.width:""!=this.tbl.style.width?parseInt(this.tbl.style.width):this.tbl.clientWidth,this.tblMainCont=tf_CreateElm("div",["id",this.prfxMainTblCont+this.id]),this.tblMainCont.className=this.gridMainContCssClass,this.gridWidth&&(this.tblMainCont.style.width=this.gridWidth),this.tbl.parentNode.insertBefore(this.tblMainCont,this.tbl),this.tblCont=tf_CreateElm("div",["id",this.prfxTblCont+this.id]),this.tblCont.className=this.gridContCssClass,this.gridWidth&&(this.tblCont.style.width=this.gridWidth),this.gridHeight&&(this.tblCont.style.height=this.gridHeight),this.tbl.parentNode.insertBefore(this.tblCont,this.tbl);var g=this.tbl.parentNode.removeChild(this.tbl);this.tblCont.appendChild(g),""==this.tbl.style.width&&(this.tbl.style.width=(this.__containsStr("%",f)?this.tbl.clientWidth:f)+"px");var h=this.tblCont.parentNode.removeChild(this.tblCont);this.tblMainCont.appendChild(h),this.headTblCont=tf_CreateElm("div",["id",this.prfxHeadTblCont+this.id]),this.headTblCont.className=this.gridHeadContCssClass,this.gridWidth&&(this.headTblCont.style.width=this.gridWidth),this.headTbl=tf_CreateElm("table",["id",this.prfxHeadTbl+this.id]);for(var i=tf_CreateElm("tHead"),j=this.tbl.rows[this.gridHeadRowIndex],k=[],l=0;l<this.nbCells;l++){var e=j.cells[l],m=e.getAttribute("id");m&&""!=m||(m=this.prfxGridTh+l+"_"+this.id,e.setAttribute("id",m)),k.push(m)}var n=tf_CreateElm("tr");if(this.gridEnableFilters&&this.fltGrid){this.externalFltTgtIds=[];for(var o=0;o<this.nbCells;o++){var p=this.prfxFlt+o+this.prfxGridFltTd+this.id,q=tf_CreateElm(this.fltCellTag,["id",p]);n.appendChild(q),this.externalFltTgtIds[o]=p}}for(var r=0;r<this.gridHeadRows.length;r++){var s=this.tbl.rows[this.gridHeadRows[0]];i.appendChild(s)}this.headTbl.appendChild(i),0==this.filtersRowIndex?i.insertBefore(n,j):i.appendChild(n),this.headTblCont.appendChild(this.headTbl),this.tblCont.parentNode.insertBefore(this.headTblCont,this.tblCont);var t=tf_Tag(this.tbl,"thead");t.length>0&&this.tbl.removeChild(t[0]),this.headTbl.style.width=this.tbl.style.width,this.headTbl.style.tableLayout="fixed",this.tbl.style.tableLayout="fixed",this.headTbl.cellPadding=this.tbl.cellPadding,this.headTbl.cellSpacing=this.tbl.cellSpacing,this.headTblCont.style.width=this.tblCont.clientWidth+"px",this.SetColWidths(),this.tbl.style.width="",(tf_isIE||tf_isIE7)&&(this.headTbl.style.width="");var u=this;this.tblCont.onscroll=function(){u.headTblCont.scrollLeft=this.scrollLeft;var a=this;if(!u.isPointerXOverwritten)try{TF.Evt.pointerX=function(b){b=b||window.event;var c=tf_StandardBody().scrollLeft+a.scrollLeft;return b.pageX+a.scrollLeft||b.clientX+c},u.isPointerXOverwritten=!0}catch(b){u.isPointerXOverwritten=!1}};var b=void 0==this.fObj?{}:this.fObj;if(0!=b.sort&&(this.sort=!0,this.sortConfig.asyncSort=!0,this.sortConfig.triggerIds=k),this.gridEnableColResizer&&(this.hasExtensions?this.__containsStr("colsresizer",this.extensions.src.toString().tf_LCase())||(this.extensions.name.push("ColumnsResizer_"+this.id),this.extensions.src.push(this.gridColResizerPath),this.extensions.description.push("Columns Resizing"),this.extensions.initialize.push(function(a){a.SetColsResizer("ColumnsResizer_"+a.id)})):(this.extensions={name:["ColumnsResizer_"+this.id],src:[this.gridColResizerPath],description:["Columns Resizing"],initialize:[function(a){a.SetColsResizer("ColumnsResizer_"+a.id)}]},this.hasExtensions=!0)),b.col_resizer_cols_headers_table=this.headTbl.getAttribute("id"),b.col_resizer_cols_headers_index=this.gridHeadRowIndex,b.col_resizer_width_adjustment=0,b.col_enable_text_ellipsis=!1,u.tblHasColTag=tf_Tag(u.tbl,"col").length>0?!0:!1,!tf_isIE&&!tf_isIE7)if(u.tblHasColTag)for(var v=tf_Tag(u.tbl,"col"),r=0;r<u.nbCells;r++)v[r].setAttribute("id",u.id+"_col_"+r),v[r].style.width=u.colWidth[r],u.gridColElms.push(v[r]);else a(u);if(tf_isIE||tf_isIE7){var w,x=tf_Tag(u.tbl,"tbody");w=x.length>0?x[0].insertRow(0):u.tbl.insertRow(0),w.style.height="0px";for(var r=0;r<u.nbCells;r++){var y=tf_CreateElm("td",["id",u.id+"_col_"+r]);y.style.width=u.colWidth[r],u.tbl.rows[1].cells[r].style.width="",w.appendChild(y),u.gridColElms.push(y)}this.hasGridWidthsRow=!0,u.leadColWidthsRow=u.tbl.rows[0],u.leadColWidthsRow.setAttribute("validRow","false");var z=tf_IsFn(b.on_before_sort)?b.on_before_sort:null;b.on_before_sort=function(a,b){a.leadColWidthsRow.setAttribute("validRow","false"),null!=z&&z.call(null,a,b)};var A=tf_IsFn(b.on_after_sort)?b.on_after_sort:null;b.on_after_sort=function(a,b){if(0!=a.leadColWidthsRow.rowIndex){{a.leadColWidthsRow}x.length>0?x[0].moveRow(a.leadColWidthsRow.rowIndex,0):a.tbl.moveRow(a.leadColWidthsRow.rowIndex,0)}null!=A&&A.call(null,a,b)}}var B=tf_IsFn(b.on_after_col_resized)?b.on_after_col_resized:null;b.on_after_col_resized=function(a,b){if(void 0!=b){var c=a.crWColsRow.cells[b].style.width,d=a.gridColElms[b];d.style.width=c;var e=a.crWColsRow.cells[b].clientWidth,f=a.crWRowDataTbl.cells[b].clientWidth;(tf_isIE||tf_isIE7)&&(a.tbl.style.width=a.headTbl.clientWidth+"px"),e==f||tf_isIE||tf_isIE7||(a.headTbl.style.width=a.tbl.clientWidth+"px"),null!=B&&B.call(null,a,b)}},this.tbl.clientWidth!=this.headTbl.clientWidth&&(this.tbl.style.width=this.headTbl.clientWidth+"px")}},RemoveGridLayout:function(){if(this.gridLayout){var a=this.tbl.parentNode.removeChild(this.tbl);this.tblMainCont.parentNode.insertBefore(a,this.tblMainCont),this.tblMainCont.parentNode.removeChild(this.tblMainCont),this.tblMainCont=null,this.headTblCont=null,this.headTbl=null,this.tblCont=null,this.tbl.outerHTML=this.sourceTblHtml,this.tbl=tf_Id(this.id)}},SetPopupFilterIcons:function(){if(this.popUpFilters){this.isExternalFlt=!0;var a=this.fObj;this.popUpImgFlt=void 0!=a.popup_filters_image?a.popup_filters_image:this.themesPath+"icn_filter.gif",this.popUpImgFltActive=void 0!=a.popup_filters_image_active?a.popup_filters_image_active:this.themesPath+"icn_filterActive.gif",this.popUpImgFltHtml=void 0!=a.popup_filters_image_html?a.popup_filters_image_html:'<img src="'+this.popUpImgFlt+'" alt="Column filter" />',this.popUpDivCssClass=void 0!=a.popup_div_css_class?a.popup_div_css_class:"popUpFilter",this.onBeforePopUpOpen=tf_IsFn(a.on_before_popup_filter_open)?a.on_before_popup_filter_open:null,this.onAfterPopUpOpen=tf_IsFn(a.on_after_popup_filter_open)?a.on_after_popup_filter_open:null,this.onBeforePopUpClose=tf_IsFn(a.on_before_popup_filter_close)?a.on_before_popup_filter_close:null,this.onAfterPopUpClose=tf_IsFn(a.on_after_popup_filter_close)?a.on_after_popup_filter_close:null,this.externalFltTgtIds=[],this.popUpFltSpans=[],this.popUpFltImgs=[],this.popUpFltElms=this.popUpFltElmCache?this.popUpFltElmCache:[],this.popUpFltAdjustToContainer=!0;for(var b=this,c=0;c<this.nbCells;c++)if(this["col"+c]!=this.fltTypeNone){var d=tf_CreateElm("span",["id",this.prfxPopUpSpan+this.id+"_"+c],["ci",c]);d.innerHTML=this.popUpImgFltHtml;var e=this.GetHeaderElement(c);e.appendChild(d),d.onclick=function(a){var c=a||window.event,d=parseInt(this.getAttribute("ci"));if(b.CloseAllPopupFilters(d),b.TogglePopupFilter(d),b.popUpFltAdjustToContainer){var e=b.popUpFltElms[d],f=b.GetHeaderElement(d),g=.95*f.clientWidth;if(!tf_isNotIE){var h=tf_ObjPosition(f,[f.nodeName])[0];e.style.left=h+"px"}e.style.width=parseInt(g)+"px"}tf_CancelEvent(c),tf_StopEvent(c)},this.popUpFltSpans[c]=d,this.popUpFltImgs[c]=d.firstChild}}},SetPopupFilters:function(){for(var a=0;a<this.popUpFltElmCache.length;a++)this.SetPopupFilter(a,this.popUpFltElmCache[a])},SetPopupFilter:function(a,b){var c=b?b:tf_CreateElm("div",["id",this.prfxPopUpDiv+this.id+"_"+a]);c.className=this.popUpDivCssClass,this.externalFltTgtIds.push(this.prfxPopUpDiv+this.id+"_"+a);var d=this.GetHeaderElement(a);d.insertBefore(c,d.firstChild),c.onclick=function(a){tf_StopEvent(a||window.event)},this.popUpFltElms[a]=c},TogglePopupFilter:function(a){var b=this.popUpFltElms[a];"none"==b.style.display||""==b.style.display?(null!=this.onBeforePopUpOpen&&this.onBeforePopUpOpen.call(null,this,this.popUpFltElms[a],a),b.style.display="block",this["col"+a]==this.fltTypeInp&&this.GetFilterElement(a).focus(),null!=this.onAfterPopUpOpen&&this.onAfterPopUpOpen.call(null,this,this.popUpFltElms[a],a)):(null!=this.onBeforePopUpClose&&this.onBeforePopUpClose.call(null,this,this.popUpFltElms[a],a),b.style.display="none",null!=this.onAfterPopUpClose&&this.onAfterPopUpClose.call(null,this,this.popUpFltElms[a],a))},CloseAllPopupFilters:function(a){for(var b=0;b<this.popUpFltElms.length;b++)if(b!=a){var c=this.popUpFltElms[b];c&&(c.style.display="none")}},RemovePopupFilters:function(){this.popUpFltElmCache=[];for(var a=0;a<this.popUpFltElms.length;a++){var b=this.popUpFltElms[a],c=this.popUpFltSpans[a];b&&(b.parentNode.removeChild(b),this.popUpFltElmCache[a]=b),b=null,c&&c.parentNode.removeChild(c),c=null}},SetPopupFilterIcon:function(a,b){this.popUpFltImgs[a]&&(this.popUpFltImgs[a].src=b?this.popUpImgFltActive:this.popUpImgFlt)},SetAllPopupFiltersIcon:function(a){for(var b=0;b<this.popUpFltImgs.length;b++)this.SetPopupFilterIcon(b,!1)},RememberFiltersValue:function(a){for(var b=[],c=0;c<this.fltIds.length;c++)value=this.GetFilterValue(c),""==value&&(value=" "),b.push(value);b.push(this.fltIds.length),tf_WriteCookie(a,b.join(this.separator),this.cookieDuration)},RememberPageNb:function(a){tf_WriteCookie(a,this.currentPageNb,this.cookieDuration)},RememberPageLength:function(a){tf_WriteCookie(a,this.resultsPerPageSlc.selectedIndex,this.cookieDuration)},ResetValues:function(){this.EvtManager(this.Evt.name.resetvalues)},_ResetValues:function(){this.rememberGridValues&&this.fillSlcOnDemand&&this.ResetGridValues(this.fltsValuesCookie),this.rememberPageLen&&this.ResetPageLength(this.pgLenCookie),this.rememberPageNb&&this.ResetPage(this.pgNbCookie)},ResetGridValues:function(a){if(this.fillSlcOnDemand){var b=tf_ReadCookie(a),c=new RegExp(this.separator,"g"),d=b.split(c),e=this.GetFiltersByType(this.fltTypeSlc,!0),f=this.GetFiltersByType(this.fltTypeMulti,!0);if(d[d.length-1]==this.fltIds.length){for(var g=0;g<d.length-1;g++)if(" "!=d[g])if(this["col"+g]==this.fltTypeSlc||this["col"+g]==this.fltTypeMulti){var h=tf_Id(this.fltIds[g]);if(h.options[0].selected=!1,e.tf_Has(g)){var i=tf_CreateOpt(d[g],d[g],!0);h.appendChild(i),this.hasStoredValues=!0}if(f.tf_Has(g)){var k=d[g].split(" "+this.orOperator+" ");for(j=0;j<k.length;j++)if(""!=k[j]){var i=tf_CreateOpt(k[j],k[j],!0);h.appendChild(i),this.hasStoredValues=!0,tf_isIE&&(this.__deferMultipleSelection(h,j,!1),hasStoredValues=!1)}}}else if(this["col"+g]==this.fltTypeCheckList){var l=this.checkListDiv[g];l.title=l.innerHTML,l.innerHTML="";var m=tf_CreateElm("ul",["id",this.fltIds[g]],["colIndex",g]);m.className=this.checkListCssClass;var n=tf_CreateCheckItem(this.fltIds[g]+"_0","",this.displayAllText);n.className=this.checkListItemCssClass,m.appendChild(n),l.appendChild(m);var k=d[g].split(" "+this.orOperator+" ");for(j=0;j<k.length;j++)if(""!=k[j]){var o=tf_CreateCheckItem(this.fltIds[g]+"_"+(j+1),k[j],k[j]);o.className=this.checkListItemCssClass,m.appendChild(o),o.check.checked=!0,this.__setCheckListValues(o.check),this.hasStoredValues=!0}}!this.hasStoredValues&&this.paging&&this.SetPagingInfo()}}},SetRowBg:function(a,b){if(this.alternateBgs&&!isNaN(a)){var c=this.tbl.rows,d=void 0==b?a:b;this.RemoveRowBg(a),tf_AddClass(c[a],d%2?this.rowBgEvenCssClass:this.rowBgOddCssClass)}},RemoveRowBg:function(a){if(!isNaN(a)){var b=this.tbl.rows;tf_RemoveClass(b[a],this.rowBgOddCssClass),tf_RemoveClass(b[a],this.rowBgEvenCssClass)}},SetAlternateRows:function(){if(this.hasGrid||this.isFirstLoad)for(var a=(this.tbl.rows,null==this.validRowsIndex),b=a?this.refRow:0,c=a?this.nbFilterableRows+b:this.validRowsIndex.length,d=0,e=b;c>e;e++){var f=a?e:this.validRowsIndex[e];this.SetRowBg(f,d),d++}},RemoveAlternateRows:function(){if(this.hasGrid){for(var a=(this.tbl.rows,this.refRow);a<this.nbRows;a++)this.RemoveRowBg(a);this.isStartBgAlternate=!0}},SetFixedHeaders:function(){if((this.hasGrid||this.isFirstLoad)&&this.fixedHeaders&&!this.contDiv){var a=tf_Tag(this.tbl,"thead");if(0!=a.length){var b=tf_Tag(this.tbl,"tbody");if(0!=b[0].clientHeight)this.prevTBodyH=b[0].clientHeight,this.prevTBodyOverflow=b[0].style.overflow,this.prevTBodyOverflowX=b[0].style.overflowX,b[0].style.height=this.tBodyH+"px",b[0].style.overflow="auto",b[0].style.overflowX="hidden";else{var c=tf_CreateElm("div",["id",this.prfxContentDiv+this.id]);c.className=this.contDivCssClass,this.tbl.parentNode.insertBefore(c,this.tbl),c.appendChild(this.tbl),this.contDiv=tf_Id(this.prfxContentDiv+this.id),this.contDiv.style.position="relative";for(var d=0,e=tf_Tag(a[0],"tr"),f=0;f<e.length;f++)e[f].style.cssText+="position:relative; top:expression(offsetParent.scrollTop);",d+=parseInt(e[f].clientHeight);this.contDiv.style.height=this.tBodyH+d+"px";var g=tf_Tag(this.tbl,"tfoot");if(0==g.length)return;for(var h=tf_Tag(g[0],"tr"),i=0;i<h.length;i++)h[i].style.cssText+="position:relative; overflow-x: hidden; top: expression(parentNode.parentNode.offsetHeight >= offsetParent.offsetHeight ? 0 - parentNode.parentNode.offsetHeight + offsetParent.offsetHeight + offsetParent.scrollTop : 0);"}}}},RemoveFixedHeaders:function(){if(this.hasGrid&&this.fixedHeaders)if(this.contDiv){this.contDiv.parentNode.insertBefore(this.tbl,this.contDiv),this.contDiv.parentNode.removeChild(this.contDiv),this.contDiv=null;var a=tf_Tag(this.tbl,"thead");if(0==a.length)return;var b=tf_Tag(a[0],"tr");if(0==b.length)return;for(var c=0;c<b.length;c++)b[c].style.cssText="";var d=tf_Tag(this.tbl,"tfoot");if(0==d.length)return;for(var e=tf_Tag(d[0],"tr"),f=0;f<e.length;f++)e[f].style.position="relative",e[f].style.top="",e[f].style.overeflowX=""}else{var g=tf_Tag(this.tbl,"tbody");if(0==g.length)return;g[0].style.height=this.prevTBodyH+"px",g[0].style.overflow=this.prevTBodyOverflow,g[0].style.overflowX=this.prevTBodyOverflowX}},Filter:function(){this.EvtManager(this.Evt.name.filter)},_Filter:function(){function a(a,b,c){if(e.highlightKeywords&&b){a=a.replace(n,""),a=a.replace(o,""),a=a.replace(p,""),a=a.replace(q,"");var d=a;(i.test(a)||j.test(a)||k.test(a)||l.test(a)||m.test(a))&&(d=tf_GetNodeText(c)),""!=d&&tf_HighlightWord(c,d,e.highlightCssClass,e)}}function b(a,b,c){var d,v=k.test(a),w=i.test(a),x=l.test(a),y=j.test(a),z=m.test(a),A=o.test(a),B=n.test(a),C=(r.test(a),p.test(a)),E=q.test(a),F=s==a,G=t==a,H=u.test(a),I=v&&tf_IsValidDate(a.replace(k,""),D),J=w&&tf_IsValidDate(a.replace(i,""),D),K=x&&tf_IsValidDate(a.replace(l,""),D),L=y&&tf_IsValidDate(a.replace(j,""),D),M=z&&tf_IsValidDate(a.replace(m,""),D),N=A&&tf_IsValidDate(a.replace(o,""),D);if(tf_IsValidDate(b,D)){var O=tf_FormatDate(b,D);if(I){var P=tf_FormatDate(a.replace(k,""),D);d=P>O}else if(J){var P=tf_FormatDate(a.replace(i,""),D);d=P>=O}else if(L){var P=tf_FormatDate(a.replace(j,""),D);d=O>=P}else if(K){var P=tf_FormatDate(a.replace(l,""),D);d=O>P}else if(M){var P=tf_FormatDate(a.replace(m,""),D);d=O.toString()!=P.toString()}else if(N){var P=tf_FormatDate(a.replace(o,""),D);d=O.toString()==P.toString()}else if(n.test(a))d=e.__containsStr(a.replace(n,""),b,null,!1);else if(tf_IsValidDate(a,D)){var P=tf_FormatDate(a,D);d=O.toString()==P.toString()}else F?d=""==b.tf_Trim()?!0:!1:G&&(d=""!=b.tf_Trim()?!0:!1)}else if(e.hasColNbFormat&&null!=e.colNbFormat[c]?(g=tf_RemoveNbFormat(b,e.colNbFormat[c]),h=e.colNbFormat[c]):","==e.thousandsSeparator&&"."==e.decimalSeparator?(g=tf_RemoveNbFormat(b,"us"),h="us"):(g=tf_RemoveNbFormat(b,"eu"),h="eu"),w)d=g<=tf_RemoveNbFormat(a.replace(i,""),h);else if(y)d=g>=tf_RemoveNbFormat(a.replace(j,""),h);else if(v)d=g<tf_RemoveNbFormat(a.replace(k,""),h);else if(x)d=g>tf_RemoveNbFormat(a.replace(l,""),h);else if(z)d=e.__containsStr(a.replace(m,""),b)?!1:!0;else if(B)d=e.__containsStr(a.replace(n,""),b,null,!1);else if(A)d=e.__containsStr(a.replace(o,""),b,null,!0);else if(C)d=0==b.indexOf(a.replace(p,""))?!0:!1;else if(E){var Q=a.replace(q,"");d=b.lastIndexOf(Q,b.length-1)==b.length-1-(Q.length-1)&&b.lastIndexOf(Q,b.length-1)>-1?!0:!1}else if(F)d=""==b.tf_Trim()?!0:!1;
else if(G)d=""!=b.tf_Trim()?!0:!1;else if(H)try{var Q=a.replace(u,""),R=new RegExp(Q);d=R.test(b)}catch(S){d=!1}else d=e.__containsStr(a,b,void 0==f["col_"+c]?this.fltTypeInp:f["col_"+c]);return d}if(this.fltGrid&&(this.hasGrid||this.isFirstLoad)){this.onBeforeFilter&&this.onBeforeFilter.call(null,this),""!=this.inpWatermark&&this.SetWatermark(!1);var c=this.tbl.rows;f=void 0!=this.fObj?this.fObj:[];var d=0;this.validRowsIndex=[];var e=this;this.highlightKeywords&&this.UnhighlightAll(),this.popUpFilters&&this.SetAllPopupFiltersIcon(),this.markActiveColumns&&this.ClearActiveColumns(),this.searchArgs=this.GetFiltersValue();for(var g,h,i=new RegExp(this.leOperator),j=new RegExp(this.geOperator),k=new RegExp(this.lwOperator),l=new RegExp(this.grOperator),m=new RegExp(this.dfOperator),n=new RegExp(tf_RegexpEscape(this.lkOperator)),o=new RegExp(this.eqOperator),p=new RegExp(this.stOperator),q=new RegExp(this.enOperator),r=new RegExp(this.anOperator),s=(new RegExp(this.curExp),this.emOperator),t=this.nmOperator,u=new RegExp(tf_RegexpEscape(this.rgxOperator)),v=this.refRow;v<this.nbRows;v++){"none"==c[v].style.display&&(c[v].style.display="");var w=c[v].cells,x=w.length;if(x==this.nbCells){for(var y=[],z="include"==this.searchType?!0:!1,A=!1,B=0;x>B;B++){var C=this.searchArgs[this.singleSearchFlt?0:B],D=this.hasColDateType?this.colDateType[B]:this.defaultDateType;if(""!=C){var E=this.GetCellData(B,w[B]).tf_MatchCase(this.matchCase),F=C.split(this.orOperator),G=F.length>1?!0:!1,H=C.split(this.anOperator),I=H.length>1?!0:!1;if(G||I){for(var J,K=!1,L=G?F:H,M=0;M<L.length&&(J=L[M].tf_Trim(),K=b(J,E,B),a(J,K,w[B]),!G||!K)&&(!I||K);M++);y[B]=K}else y[B]=b(C.tf_Trim(),E,B),a(C,y[B],w[B]);y[B]||(z="include"==this.searchType?!1:!0),this.singleSearchFlt&&y[B]&&(A=!0),this.popUpFilters&&this.SetPopupFilterIcon(B,!0),this.markActiveColumns&&v==this.refRow&&(this.onBeforeActiveColumn&&this.onBeforeActiveColumn.call(null,this,B),tf_AddClass(this.GetHeaderElement(B),this.activeColumnsCssClass),this.onAfterActiveColumn&&this.onAfterActiveColumn.call(null,this,B))}}this.singleSearchFlt&&A&&(z=!0),z?(this.SetRowValidation(v,!0),this.validRowsIndex.push(v),this.alternateBgs&&this.SetRowBg(v,this.validRowsIndex.length),this.onRowValidated&&this.onRowValidated.call(null,this,v)):(this.SetRowValidation(v,!1),this.hasVisibleRows&&this.visibleRows.tf_Has(v)&&!this.paging?this.validRowsIndex.push(v):d++)}}this.nbVisibleRows=this.validRowsIndex.length,this.nbHiddenRows=d,this.isStartBgAlternate=!1,this.rememberGridValues&&this.RememberFiltersValue(this.fltsValuesCookie),this.paging||this.ApplyGridProps(),this.paging&&(this.startPagingRow=0,this.currentPageNb=1,this.SetPagingInfo(this.validRowsIndex)),this.onAfterFilter&&this.onAfterFilter.call(null,this)}},ApplyGridProps:function(){this.activeFlt&&this.activeFlt.nodeName.tf_LCase()==this.fltTypeSlc&&!this.popUpFilters&&(this.activeFlt.blur(),this.activeFlt.parentNode&&this.activeFlt.parentNode.focus()),this.visibleRows&&this.SetVisibleRows(),this.colOperation&&this.SetColOperation(),this.refreshFilters&&this.RefreshFiltersGrid();var a=!this.paging&&this.hasVisibleRows?this.nbVisibleRows-this.visibleRows.length:this.nbVisibleRows;this.rowsCounter&&this.RefreshNbRows(a),""!=this.inpWatermark&&this.SetWatermark(!0),this.popUpFilters&&this.CloseAllPopupFilters()},GetColValues:function(a,b,c){if(this.fltGrid){for(var d=this.tbl.rows,e=[],f=this.refRow;f<this.nbRows;f++){var g=!1;void 0!=c&&tf_IsObj(c)&&(g=c.tf_Has(f));var h=d[f].cells,i=h.length;if(i==this.nbCells&&!g)for(var j=0;i>j;j++)if(j==a&&""==d[f].style.display){var k=this.GetCellData(j,h[j]).tf_LCase(),l=this.colNbFormat?this.colNbFormat[a]:null;e.push(b?tf_RemoveNbFormat(k,l):k)}}return e}},GetFilterValue:function(a){if(this.fltGrid){var b,c=this.GetFilterElement(a);if(null==c)return b="";if(this["col"+a]!=this.fltTypeMulti&&this["col"+a]!=this.fltTypeCheckList)b=c.value;else if(this["col"+a]==this.fltTypeMulti){b="";for(var d=0;d<c.options.length;d++)c.options[d].selected&&(b=b.concat(c.options[d].value+" "+this.orOperator+" "));b=b.substr(0,b.length-4)}else this["col"+a]==this.fltTypeCheckList&&(null!=c.getAttribute("value")?(b=c.getAttribute("value"),b=b.substr(0,b.length-3)):b="");return b}},GetFiltersValue:function(){if(this.fltGrid){for(var a=[],b=0;b<this.fltIds.length;b++)a.push(this.GetFilterValue(b).tf_MatchCase(this.matchCase).tf_Trim());return a}},GetFilterId:function(){return this.fltGrid?this.fltIds[i]:void 0},GetFiltersByType:function(a,b){if(this.fltGrid){for(var c=[],d=0;d<this.fltIds.length;d++){var e=this["col"+d];if(e==a.tf_LCase()){var f=b?d:this.fltIds[d];c.push(f)}}return c}},GetFilterElement:function(a){return this.fltGrid?tf_Id(this.fltIds[a]):null},GetCellsNb:function(a){var b=void 0==a?this.tbl.rows[0]:this.tbl.rows[a];return b.cells.length},GetRowsNb:function(a){var b=void 0==this.refRow?0:this.refRow,c=this.tbl.rows.length;return a&&(b=0),parseInt(c-b)},GetCellData:function(a,b){return void 0==a||null==b?"":this.customCellData&&this.customCellDataCols.tf_Has(a)?this.customCellData.call(null,this,b,a):tf_GetNodeText(b)},GetTableData:function(){for(var a=this.tbl.rows,b=this.refRow;b<this.nbRows;b++){var c;c=[b,[]];for(var d=a[b].cells,e=0;e<d.length;e++){var f=this.GetCellData(e,d[e]);c[1].push(f)}this.tblData.push(c)}return this.tblData},GetFilteredData:function(a){if(!this.validRowsIndex)return[];var b=this.tbl.rows,c=[];if(a){for(var d=this.gridLayout?this.headTbl:this.tbl,e=d.rows[this.headersRow],f=[e.rowIndex,[]],g=0;g<this.nbCells;g++){var h=this.GetCellData(g,e.cells[g]);f[1].push(h)}c.push(f)}for(var i=this.GetValidRowsIndex(!0),j=0;j<i.length;j++){var f;f=[this.validRowsIndex[j],[]];for(var k=b[this.validRowsIndex[j]].cells,g=0;g<k.length;g++){var l=this.GetCellData(g,k[g]);f[1].push(l)}c.push(f)}return c},GetFilteredDataCol:function(a){if(void 0==a)return[];for(var b=this.GetFilteredData(),c=[],d=0;d<b.length;d++){var e=b[d],f=e[1],g=f[a];c.push(g)}return c},GetRowDisplay:function(a){return this.fltGrid||tf_IsObj(a)?a.style.display:void 0},SetRowValidation:function(a,b){var c=this.tbl.rows[a];if(c&&"boolean"==(typeof b).tf_LCase()){this.hasVisibleRows&&this.visibleRows.tf_Has(a)&&!this.paging&&(b=!0);var d=b?"":"none",e=b?"true":"false";c.style.display=d,this.paging&&c.setAttribute("validRow",e)}},ValidateAllRows:function(){if(this.hasGrid){this.validRowsIndex=[];for(var a=this.refRow;a<this.nbFilterableRows;a++)this.SetRowValidation(a,!0),this.validRowsIndex.push(a)}},SetFilterValue:function(a,b,c){if((this.fltGrid||this.isFirstLoad)&&null!=this.GetFilterElement(a)){var d=this.GetFilterElement(a),e=void 0==c?!0:c;if(b=void 0==b?"":b,this["col"+a]!=this.fltTypeMulti&&this["col"+a]!=this.fltTypeCheckList)d.value=b,this["col"+a]==this.fltTypeInp&&""!=this.inpWatermark&&tf_RemoveClass(d,this.inpWatermarkCssClass);else if(this["col"+a]==this.fltTypeMulti){for(var f=b.split(" "+this.orOperator+" "),g=0,h=0;h<d.options.length;h++)if(""==f&&(d.options[h].selected=!1),""==d.options[h].value&&(d.options[h].selected=!1),""!=d.options[h].value&&f.tf_Has(d.options[h].value,!0))if(tf_isIE){var i=g==f.length-1&&e?!0:!1;this.__deferMultipleSelection(d,h,i),g++}else d.options[h].selected=!0}else if(this["col"+a]==this.fltTypeCheckList){b=b.tf_MatchCase(this.matchCase);for(var f=b.split(" "+this.orOperator+" "),j=(d.setAttribute("value",""),d.setAttribute("indexes",""),0);j<tf_Tag(d,"li").length;j++){var k=tf_Tag(d,"li")[j],l=tf_Tag(k,"label")[0],m=tf_Tag(k,"input")[0],n=tf_GetNodeText(l).tf_MatchCase(this.matchCase);""!=n&&f.tf_Has(n,!0)?(m.checked=!0,this.__setCheckListValues(m)):(m.checked=!1,this.__setCheckListValues(m))}}}},SetColWidths:function(a){function b(a){if((d||d.nbCells==d.colWidth.length)&&d.nbCells==a.cells.length)for(var b=0;b<d.nbCells;b++)a.cells[b].style.width=d.colWidth[b]}if(this.fltGrid&&this.hasColWidth){var c,d=this;c=void 0==a?"none"!=this.tbl.rows[0].style.display?0:1:a,b(this.tbl.rows[c])}},SetVisibleRows:function(){if(this.hasGrid&&this.hasVisibleRows&&!this.paging)for(var a=0;a<this.visibleRows.length;a++)this.visibleRows[a]<=this.nbRows&&this.SetRowValidation(this.visibleRows[a],!0)},ClearFilters:function(){this.EvtManager(this.Evt.name.clear)},_ClearFilters:function(){if(this.fltGrid){this.onBeforeReset&&this.onBeforeReset.call(null,this,this.GetFiltersValue());for(var a=0;a<this.fltIds.length;a++)this.SetFilterValue(a,"");this.refreshFilters&&(this.activeFilterId="",this.RefreshFiltersGrid()),this.rememberPageLen&&tf_RemoveCookie(this.pgLenCookie),this.rememberPageNb&&tf_RemoveCookie(this.pgNbCookie),this.onAfterReset&&this.onAfterReset.call(null,this)}},ClearActiveColumns:function(){for(var a=0;a<this.fltIds.length;a++)tf_RemoveClass(this.GetHeaderElement(a),this.activeColumnsCssClass)},RefreshGrid:function(a){var b=a?a:this.fObj,c=this.sort;c&&(this.sort=!1),this.nbRows=this.GetRowsNb(),this.RemoveGrid(),window["tf_"+this.id]=new TF(this.id,this.startRow,b),this.isFirstLoad=!0,this.fltIds=[],this._AddGrid(),c&&(this.st.setTBody(this.tbl.tBodies[0]),this.sort=!0)},RefreshFiltersGrid:function(){var a=this.GetFiltersByType(this.fltTypeSlc,!0),b=this.GetFiltersByType(this.fltTypeMulti,!0),c=this.GetFiltersByType(this.fltTypeCheckList,!0),d=a.concat(b);if(d=d.concat(c),null!=this.activeFilterId){var e=this.activeFilterId.split("_")[0];e=e.split(this.prfxFlt)[1];for(var f,g=0;g<d.length;g++){var h=tf_Id(this.fltIds[d[g]]);if(f=this.GetFilterValue(d[g]),e!=d[g]||this.paging&&a.tf_Has(d[g])&&e==d[g]||!this.paging&&(c.tf_Has(d[g])||b.tf_Has(d[g]))||f==this.displayAllText){if(c.tf_Has(d[g])?this.checkListDiv[d[g]].innerHTML="":h.innerHTML="",this.fillSlcOnDemand){var i=tf_CreateOpt(this.displayAllText,"");h&&h.appendChild(i)}c.tf_Has(d[g])?this._PopulateCheckList(d[g]):this._PopulateSelect(d[g],!0),this.SetFilterValue(d[g],f)}}}},SetColOperation:function(){if(this.isFirstLoad||this.hasGrid){this.onBeforeOperation&&this.onBeforeOperation.call(null,this);var labelId=this.colOperation.id,colIndex=this.colOperation.col,operation=this.colOperation.operation,outputType=this.colOperation.write_method,totRowIndex=this.colOperation.tot_row_index,excludeRow=this.colOperation.exclude_row,decimalPrecision=void 0!=this.colOperation.decimal_precision?this.colOperation.decimal_precision:2,ucolIndex=[],ucolMax=0;ucolIndex[ucolMax]=colIndex[0];for(var i=1;i<colIndex.length;i++){saved=0;for(var j=0;ucolMax>=j;j++)ucolIndex[j]==colIndex[i]&&(saved=1);0==saved&&(ucolMax++,ucolIndex[ucolMax]=colIndex[i])}if("object"==(typeof labelId).tf_LCase()&&"object"==(typeof colIndex).tf_LCase()&&"object"==(typeof operation).tf_LCase())for(var row=this.tbl.rows,colvalues=[],ucol=0;ucolMax>=ucol;ucol++){colvalues.push(this.GetColValues(ucolIndex[ucol],!0,excludeRow));for(var result,nbvalues=0,temp,meanValue=0,sumValue=0,minValue=null,maxValue=null,q1Value=null,medValue=null,q3Value=null,meanFlag=0,sumFlag=0,minFlag=0,maxFlag=0,q1Flag=0,medFlag=0,q3Flag=0,theList=[],opsThisCol=[],decThisCol=[],labThisCol=[],oTypeThisCol=[],mThisCol=-1,i=0;i<colIndex.length;i++)if(colIndex[i]==ucolIndex[ucol])switch(mThisCol++,opsThisCol[mThisCol]=operation[i].tf_LCase(),decThisCol[mThisCol]=decimalPrecision[i],labThisCol[mThisCol]=labelId[i],oTypeThisCol=void 0!=outputType&&"object"==(typeof outputType).tf_LCase()?outputType[i]:null,opsThisCol[mThisCol]){case"mean":meanFlag=1;break;case"sum":sumFlag=1;break;case"min":minFlag=1;break;case"max":maxFlag=1;break;case"median":medFlag=1;break;case"q1":q1Flag=1;break;case"q3":q3Flag=1}for(var j=0;j<colvalues[ucol].length;j++){if((1==q1Flag||1==q3Flag||1==medFlag)&&j<colvalues[ucol].length-1)for(k=j+1;k<colvalues[ucol].length;k++)eval(colvalues[ucol][k])<eval(colvalues[ucol][j])&&(temp=colvalues[ucol][j],colvalues[ucol][j]=colvalues[ucol][k],colvalues[ucol][k]=temp);var cvalue=parseFloat(colvalues[ucol][j]);theList[j]=parseFloat(cvalue),isNaN(cvalue)||(nbvalues++,(1==sumFlag||1==meanFlag)&&(sumValue+=parseFloat(cvalue)),1==minFlag&&(minValue=null==minValue?parseFloat(cvalue):parseFloat(cvalue)<minValue?parseFloat(cvalue):minValue),1==maxFlag&&(maxValue=null==maxValue?parseFloat(cvalue):parseFloat(cvalue)>maxValue?parseFloat(cvalue):maxValue))}if(1==meanFlag&&(meanValue=sumValue/nbvalues),1==medFlag){var aux=0;nbvalues%2==1?(aux=Math.floor(nbvalues/2),medValue=theList[aux]):medValue=(theList[nbvalues/2]+theList[nbvalues/2-1])/2}if(1==q1Flag){var posa=0;posa=Math.floor(nbvalues/4),q1Value=4*posa==nbvalues?(theList[posa-1]+theList[posa])/2:theList[posa]}if(1==q3Flag){var posa=0,posb=0;posa=Math.floor(nbvalues/4),4*posa==nbvalues?(posb=3*posa,q3Value=(theList[posb]+theList[posb-1])/2):q3Value=theList[nbvalues-posa-1]}for(var i=0;mThisCol>=i;i++){switch(opsThisCol[i]){case"mean":result=meanValue;break;case"sum":result=sumValue;break;case"min":result=minValue;break;case"max":result=maxValue;break;case"median":result=medValue;break;case"q1":result=q1Value;break;case"q3":result=q3Value}var precision=void 0==decThisCol[i]||isNaN(decThisCol[i])?2:decThisCol[i];if(null!=oTypeThisCol&&result){if(result=result.toFixed(precision),void 0!=tf_Id(labThisCol[i]))switch(oTypeThisCol.tf_LCase()){case"innerhtml":tf_Id(labThisCol[i]).innerHTML=isNaN(result)||!isFinite(result)||0==nbvalues?".":result;break;case"setvalue":tf_Id(labThisCol[i]).value=result;break;case"createtextnode":var oldnode=tf_Id(labThisCol[i]).firstChild,txtnode=tf_CreateText(result);tf_Id(labThisCol[i]).replaceChild(txtnode,oldnode)}}else try{tf_Id(labThisCol[i]).innerHTML=isNaN(result)||!isFinite(result)||0==nbvalues?".":result.toFixed(precision)}catch(e){}}void 0!=totRowIndex&&row[totRowIndex[ucol]]&&(row[totRowIndex[ucol]].style.display="")}this.onAfterOperation&&this.onAfterOperation.call(null,this)}},UnhighlightAll:function(){if(this.highlightKeywords&&null!=this.searchArgs){for(var a=0;a<this.searchArgs.length;a++)tf_UnhighlightWord(this,this.searchArgs[a],this.highlightCssClass);this.highlightedNodes=[]}},__resetGrid:function(){function a(a){a.tbl.deleteRow(a.filtersRowIndex),a.RemoveGrid(),a.fltIds=[],a.isFirstLoad=!0,a.popUpFilters&&a.RemovePopupFilters(),a._AddGrid()}if(!this.isFirstLoad){if(this.gridLayout||this.tbl.rows[this.filtersRowIndex].parentNode.insertBefore(this.fltGridEl,this.tbl.rows[this.filtersRowIndex]),this.isExternalFlt)for(var b=0;b<this.externalFltTgtIds.length;b++)tf_Id(this.externalFltTgtIds[b])&&(tf_Id(this.externalFltTgtIds[b]).appendChild(this.externalFltEls[b]),this.gridLayout&&""==this.externalFltEls[b].innerHTML&&this["col"+b]!=this.fltTypeInp&&((this["col"+b]==this.fltTypeSlc||this["col"+b]==this.fltTypeMulti)&&this.PopulateSelect(b),this["col"+b]==this.fltTypeCheckList&&this.PopulateCheckList(b)));this.nbFilterableRows=this.GetRowsNb(),this.nbVisibleRows=this.nbFilterableRows,this.nbRows=this.tbl.rows.length,this.isSortEnabled&&(this.sort=!0),""==this.tbl.rows[this.filtersRowIndex].innerHTML?a(this):this.popUpFilters&&(this.headersRow++,this.SetPopupFilters()),this.gridLayout||tf_AddClass(this.tbl,this.prfxTf),this.hasGrid=!0}},__containsStr:function(a,b,c,d){var e,f=this.matchCase?"g":"gi",g=void 0==d?this.exactMatch:d;return e=g||c!=this.fltTypeInp&&void 0!=c?new RegExp("(^\\s*)"+tf_RegexpEscape(a)+"(\\s*$)",f):new RegExp(tf_RegexpEscape(a),f),e.test(b)},IncludeFile:function(a,b,c,d){var e=void 0==d?"script":d,f=tf_IsImported(b,e);if(!f){var g,h=this,i=!1,j=tf_Tag(document,"head")[0];g="link"==e.tf_LCase()?tf_CreateElm("link",["id",a],["type","text/css"],["rel","stylesheet"],["href",b]):tf_CreateElm("script",["id",a],["type","text/javascript"],["src",b]),g.onload=g.onreadystatechange=function(){i||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(i=!0,"function"==typeof c&&c.call(null,h))},g.onerror=function(){throw new Error("TF script could not load:\n"+this.src)},j.appendChild(g)}},HasGrid:function(){return this.hasGrid},GetFiltersId:function(){return this.hasGrid?this.fltIds:void 0},GetValidRowsIndex:function(a){if(this.hasGrid){if(!a)return this.validRowsIndex;this.validRowsIndex=[];for(var b=this.refRow;b<this.GetRowsNb(!0);b++){var c=this.tbl.rows[b];this.paging?("true"==c.getAttribute("validRow")||null==c.getAttribute("validRow"))&&this.validRowsIndex.push(c.rowIndex):"none"!=this.GetRowDisplay(c)&&this.validRowsIndex.push(c.rowIndex)}return this.validRowsIndex}},GetFiltersRowIndex:function(){return this.hasGrid?this.filtersRowIndex:void 0},GetHeadersRowIndex:function(){return this.hasGrid?this.headersRow:void 0},GetStartRowIndex:function(){return this.hasGrid?this.refRow:void 0},GetLastRowIndex:function(){return this.hasGrid?this.nbRows-1:void 0},GetHeaderElement:function(a){for(var b,c=this.gridLayout?this.headTbl:this.tbl,d=tf_Tag(this.tbl,"thead"),e=0;e<this.nbCells;e++)if(e==a){0==d.length&&(b=c.rows[this.headersRow].cells[e]),1==d.length&&(b=d[0].rows[this.headersRow].cells[e]);break}return b},GetConfigObject:function(){return this.fObj},GetFilterableRowsNb:function(){return this.GetRowsNb(!1)}},String.prototype.tf_MatchCase=function(a){return a?this.toString():this.tf_LCase()},String.prototype.tf_Trim=function(){return this.replace(/(^[\s\xA0]*)|([\s\xA0]*$)/g,"")},String.prototype.tf_LCase=function(){return this.toLowerCase()},String.prototype.tf_UCase=function(){return this.toUpperCase()},Array.prototype.tf_Has=function(a,b){var c=void 0==b?!1:b;for(i=0;i<this.length;i++)if(this[i].toString().tf_MatchCase(c)==a)return!0;return!1},Array.prototype.tf_IndexByValue=function(a,b){var c=void 0==b?!1:b;for(i=0;i<this.length;i++)if(this[i].toString().tf_MatchCase(c)==a)return i;return-1},window.tf_isIE=window.innerHeight?!1:/msie|MSIE 6/.test(navigator.userAgent)?!0:!1,window.tf_isIE7=window.innerHeight?!1:/msie|MSIE 7/.test(navigator.userAgent)?!0:!1,window.tf_isNotIE=!/msie|MSIE/.test(navigator.userAgent),tf_AddEvent(window,tf_isNotIE||"function"==typeof window.addEventListener?"DOMContentLoaded":"load",initFilterGrid);