1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-11 19:06:50 +02:00
TableFilter/dist/tablefilter_all.js
2014-10-06 22:08:29 +11:00

10 lines
106 KiB
JavaScript

/*------------------------------------------------------------------------
- TableFilter v1.0 by Max Guglielmi
- build date: Mon Oct 06 2014 22:02:06
- http://tablefilter.free.fr
- Copyright (c) 2014, Licensed under the MIT License
------------------------------------------------------------------------*/
function TF(a){"use strict";if(0!==arguments.length){if(this.id=a,this.version="2.5",this.year=(new Date).getFullYear(),this.tbl=tf_Id(a),this.startRow=null,this.refRow=null,this.headersRow=null,this.fObj=null,this.nbFilterableRows=null,this.nbRows=null,this.nbCells=null,this.hasGrid=!1,this.enableModules=!1,!this.tbl||"table"!==this.tbl.nodeName.tf_LCase()||0===this.GetRowsNb())throw new Error("Could not instantiate TF object: table not found.");if(arguments.length>1)for(var b=0;b<arguments.length;b++){var c=arguments[b],d=typeof c;switch(d.tf_LCase()){case"number":this.startRow=c;break;case"object":this.fObj=c}}var e=this.fObj||{};this.refRow=null===this.startRow?2:this.startRow+1;try{this.nbCells=this.GetCellsNb(this.refRow)}catch(f){this.nbCells=this.GetCellsNb(0)}this.basePath=void 0!==e.base_path?e.base_path:"TableFilter/",this.fltTypeInp="input",this.fltTypeSlc="select",this.fltTypeMulti="multiple",this.fltTypeCheckList="checklist",this.fltTypeNone="none",this.fltCol=[];for(var g=0;g<this.nbCells;g++){var h=this["col"+g],i=e["col_"+g];void 0===h&&(h=void 0===i?this.fltTypeInp:i.tf_LCase()),this.fltCol.push(h)}this.publicMethods=void 0!==e.public_methods?e.public_methods:!1,this.fltGrid=e.grid===!1?!1:!0,this.gridLayout=e.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=e.filters_row_index||0,this.headersRow=e.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="th"!==e.filters_cell_tag||"td"!==e.filters_cell_tag?"td":e.filters_cell_tag,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=e.inf_div_css_class||"inf",this.lDivCssClass=e.left_div_css_class||"ldiv",this.rDivCssClass=e.right_div_css_class||"rdiv",this.mDivCssClass=e.middle_div_css_class||"mdiv",this.contDivCssClass=e.content_div_css_class||"cont",this.stylesheet=e.stylesheet||this.basePath+"filtergrid.css",this.stylesheetId=this.id+"_style",this.fltsRowCssClass=e.flts_row_css_class||"fltrow",this.enableIcons=e.enable_icons===!1?!1:!0,this.alternateBgs=e.alternate_rows===!0?!0:!1,this.hasColWidth=e.col_width===!0?!0:!1,this.colWidth=this.hasColWidth?e.col_width:null,this.fixedHeaders=e.fixed_headers===!0?!0:!1,this.tBodyH=isNaN(e.tbody_height)?200:e.tbody_height,this.fltCssClass=e.flt_css_class||"flt",this.fltMultiCssClass=e.flt_multi_css_class||"flt_multi",this.fltSmallCssClass=e.flt_small_css_class||"flt_s",this.singleFltCssClass=e.single_flt_css_class||"single_flt",this.isStartBgAlternate=!0,this.rowBgEvenCssClass=e.even_row_css_class||"even",this.rowBgOddCssClass=e.odd_row_css_class||"odd",this.enterKey=e.enter_key===!1?!1:!0,this.isModFilterFn=e.mod_filter_fn===!0?!0:!1,this.modFilterFn=this.isModFilterFn?e.mod_filter_fn:null,this.onBeforeFilter=tf_IsFn(e.on_before_filter)?e.on_before_filter:null,this.onAfterFilter=tf_IsFn(e.on_after_filter)?e.on_after_filter:null,this.matchCase=e.match_case===!0?!0:!1,this.exactMatch=e.exact_match===!0?!0:!1,this.refreshFilters=e.refresh_filters===!0?!0:!1,this.disableExcludedOptions=e.disable_excluded_options===!0?!0:!1,this.activeFlt=null,this.activeFilterId=null,this.hasColOperation=e.col_operation===!0?!0:!1,this.colOperation=null,this.hasVisibleRows=e.rows_always_visible===!0?!0:!1,this.visibleRows=this.hasVisibleRows?e.rows_always_visible:[],this.searchType=e.search_type||"include",this.isExternalFlt=e.external_flt_grid===!0?!0:!1,this.externalFltTgtIds=e.external_flt_grid_ids||null,this.externalFltEls=[],this.execDelay=isNaN(e.exec_delay)?100:parseInt(e.exec_delay,10),this.status=e.status===!0?!0:!1,this.onFiltersLoaded=tf_IsFn(e.on_filters_loaded)?e.on_filters_loaded:null,this.singleSearchFlt=e.single_search_filter===!0?!0:!1,this.onRowValidated=tf_IsFn(e.on_row_validated)?e.on_row_validated:null,this.customCellDataCols=e.custom_cell_data_cols?e.custom_cell_data_cols:[],this.customCellData=tf_IsFn(e.custom_cell_data)?e.custom_cell_data:null,this.inpWatermark=e.input_watermark||"",this.inpWatermarkCssClass=e.input_watermark_css_class||"fltWatermark",this.isInpWatermarkArray=tf_IsArray(e.input_watermark),this.toolBarTgtId=e.toolbar_target_id||null,this.helpInstructions=e.help_instructions||null,this.popUpFilters=e.popup_filters===!0?!0:!1,this.markActiveColumns=e.mark_active_columns===!0?!0:!1,this.activeColumnsCssClass=e.active_columns_css_class||"activeHeader",this.onBeforeActiveColumn=tf_IsFn(e.on_before_active_column)?e.on_before_active_column:null,this.onAfterActiveColumn=tf_IsFn(e.on_after_active_column)?e.on_after_active_column:null,this.displayAllText=e.display_all_text||"",this.enableSlcResetFilter=e.enable_slc_reset_filter===!1?!1:!0,this.enableEmptyOption=e.enable_empty_option===!0?!0:!1,this.emptyText=e.empty_text||"(Empty)",this.enableNonEmptyOption=e.enable_non_empty_option===!0?!0:!1,this.nonEmptyText=e.non_empty_text||"(Non empty)",this.onSlcChange=e.on_change===!1?!1:!0,this.sortSlc=e.sort_select===!1?!1:!0,this.isSortNumAsc=e.sort_num_asc===!0?!0:!1,this.sortNumAsc=this.isSortNumAsc?e.sort_num_asc:null,this.isSortNumDesc=e.sort_num_desc===!0?!0:!1,this.sortNumDesc=this.isSortNumDesc?e.sort_num_desc:null,this.slcFillingMethod=e.slc_filling_method||"createElement",this.fillSlcOnDemand=e.fill_slc_on_demand===!0?!0:!1,this.activateSlcTooltip=e.activate_slc_tooltip||"Click to activate",this.multipleSlcTooltip=e.multiple_slc_tooltip||"Use Ctrl key for multiple selections",this.hasCustomSlcOptions=tf_IsObj(e.custom_slc_options)?!0:!1,this.customSlcOptions=tf_isArray(e.custom_slc_options)?e.custom_slc_options:null,this.onBeforeOperation=tf_IsFn(e.on_before_operation)?e.on_before_operation:null,this.onAfterOperation=tf_IsFn(e.on_after_operation)?e.on_after_operation:null,this.checkListDiv=[],this.checkListDivCssClass=e.div_checklist_css_class||"div_checklist",this.checkListCssClass=e.checklist_css_class||"flt_checklist",this.checkListItemCssClass=e.checklist_item_css_class||"flt_checklist_item",this.checkListSlcItemCssClass=e.checklist_selected_item_css_class||"flt_checklist_slc_item",this.activateCheckListTxt=e.activate_checklist_text||"Click to load filter data",this.checkListItemDisabledCssClass=e.checklist_item_disabled_css_class||"flt_checklist_item_disabled",this.enableCheckListResetFilter=e.enable_checklist_reset_filter===!1?!1:!0,this.rgxOperator=e.regexp_operator||"rgx:",this.emOperator=e.empty_operator||"[empty]",this.nmOperator=e.nonempty_operator||"[nonempty]",this.orOperator=e.or_operator||"||",this.anOperator=e.and_operator||"&&",this.grOperator=e.greater_operator||">",this.lwOperator=e.lower_operator||"<",this.leOperator=e.lower_equal_operator||"<=",this.geOperator=e.greater_equal_operator||">=",this.dfOperator=e.different_operator||"!",this.lkOperator=e.like_operator||"*",this.eqOperator=e.equal_operator||"=",this.stOperator=e.start_with_operator||"{",this.enOperator=e.end_with_operator||"}",this.curExp=e.cur_exp||"^[¥£€$]",this.separator=e.separator||",",this.rowsCounter=e.rows_counter===!0?!0:!1,this.statusBar=e.status_bar===!0?!0:!1,this.loader=e.loader===!0?!0:!1,this.displayBtn=e.btn===!0?!0:!1,this.btnText=e.btn_text||(this.enableIcons?"":"Go"),this.btnCssClass=e.btn_css_class||(this.enableIcons?"btnflt_icon":"btnflt"),this.btnReset=e.btn_reset===!0?!0:!1,this.btnResetCssClass=e.btn_reset_css_class||"reset",this.onBeforeReset=tf_IsFn(e.on_before_reset)?e.on_before_reset:null,this.onAfterReset=tf_IsFn(e.on_after_reset)?e.on_after_reset:null,this.paging=e.paging===!0?!0:!1,this.hasResultsPerPage=e.results_per_page===!0?!0:!1,this.btnPageCssClass=e.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=e.sort===!0?!0:!1,this.isSortEnabled=!1,this.sorted=!1,this.sortConfig=e.sort_config||{},this.sortConfig.name=void 0!==this.sortConfig.name?e.sort_config.name:"sortabletable",this.sortConfig.src=void 0!==this.sortConfig.src?e.sort_config.src:this.basePath+"sortabletable.js",this.sortConfig.adapterSrc=void 0!==this.sortConfig.adapter_src?e.sort_config.adapter_src:this.basePath+"tfAdapter.sortabletable.js",this.sortConfig.initialize=void 0!==this.sortConfig.initialize?e.sort_config.initialize:function(a){a.SetSortTable&&a.SetSortTable()},this.sortConfig.sortTypes=tf_isArray(this.sortConfig.sort_types)?e.sort_config.sort_types:[],this.sortConfig.sortCol=void 0!==this.sortConfig.sort_col?e.sort_config.sort_col:null,this.sortConfig.asyncSort=this.sortConfig.async_sort===!0?!0:!1,this.sortConfig.triggerIds=tf_isArray(this.sortConfig.sort_trigger_ids)?e.sort_config.sort_trigger_ids:[],this.selectable=e.selectable===!0?!0:!1,this.editable=e.editable===!0?!0:!1,this.ezEditTableConfig=e.ezEditTable_config||{},this.ezEditTableConfig.name=void 0!==this.ezEditTableConfig.name?e.ezEditTable_config.name:"ezedittable",this.ezEditTableConfig.src=void 0!==this.ezEditTableConfig.src?e.ezEditTable_config.src:this.basePath+"ezEditTable/ezEditTable.js",this.ezEditTableConfig.loadStylesheet=this.ezEditTableConfig.loadStylesheet===!0?!0:!1,this.ezEditTableConfig.stylesheet=this.ezEditTableConfig.stylesheet||this.basePath+"ezEditTable/ezEditTable.css",this.ezEditTableConfig.stylesheetName=void 0!==this.ezEditTableConfig.stylesheetName?e.ezEditTable_config.stylesheetName:"ezEditTableCss",this.ezEditTableConfig.err='Failed to instantiate EditTable object.\n"ezEditTable" module may not be available.',this.onKeyUp=e.on_keyup===!0?!0:!1,this.onKeyUpDelay=isNaN(e.on_keyup_delay)?900:e.on_keyup_delay,this.isUserTyping=null,this.onKeyUpTimer=void 0,this.highlightKeywords=e.highlight_keywords===!0?!0:!1,this.highlightCssClass=e.highlight_css_class||"keyword",this.highlightedNodes=[],this.defaultDateType=e.default_date_type||"DMY",this.thousandsSeparator=e.thousands_separator||",",this.decimalSeparator=e.decimal_separator||".",this.hasColNbFormat=e.col_number_format===!0?!0:!1,this.colNbFormat=tf_isArray(this.hasColNbFormat)?e.col_number_format:null,this.hasColDateType=e.col_date_type===!0?!0:!1,this.colDateType=tf_isArray(this.hasColDateType)?e.col_date_type:null,this.msgFilter=e.msg_filter||"Filtering data...",this.msgPopulate=e.msg_populate||"Populating filter...",this.msgPopulateCheckList=e.msg_populate_checklist||"Populating list...",this.msgChangePage=e.msg_change_page||"Collecting paging data...",this.msgClear=e.msg_clear||"Clearing filters...",this.msgChangeResults=e.msg_change_results||"Changing results per page...",this.msgResetValues=e.msg_reset_grid_values||"Re-setting filters values...",this.msgResetPage=e.msg_reset_page||"Re-setting page...",this.msgResetPageLength=e.msg_reset_page_length||"Re-setting page length...",this.msgSort=e.msg_sort||"Sorting data...",this.msgLoadExtensions=e.msg_load_extensions||"Loading extensions...",this.msgLoadThemes=e.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=e.remember_grid_values===!0?!0:!1,this.fltsValuesCookie=this.prfxCookieFltsValues+this.id,this.rememberPageNb=this.paging&&e.remember_page_number?!0:!1,this.pgNbCookie=this.prfxCookiePageNb+this.id,this.rememberPageLen=this.paging&&e.remember_page_length?!0:!1,this.pgLenCookie=this.prfxCookiePageLen+this.id,this.cookieDuration=isNaN(e.set_cookie_duration)?1e5:parseInt(e.set_cookie_duration,10),this.hasExtensions=e.extensions===!0?!0:!1,this.extensions=this.hasExtensions?e.extensions:null,this.enableDefaultTheme=e.enable_default_theme===!0?!0:!1,this.hasThemes=e.enable_default_theme||e.themes&&tf_IsObj(e.themes)?!0:!1,this.themes=this.hasThemes?e.themes:null,this.themesPath=e.themes_path||this.basePath+"TF_Themes/",this.hasBindScript=e.bind_script===!0?!0:!1,this.bindScript=this.hasBindScript?e.bind_script:null;var j=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"},getKeyCode:function(a){return a.charCode?a.charCode:a.keyCode?a.keyCode:a.which?a.which:0},_DetectKey:function(a){if(j.enterKey){var b=a||window.event;if(b){var c=j.Evt.getKeyCode(b);13===c?(j._Filter(),tf_CancelEvent(b),tf_StopEvent(b)):(j.isUserTyping=!0,window.clearInterval(j.onKeyUpTimer),j.onKeyUpTimer=void 0)}}},_OnKeyUp:function(a){function b(){window.clearInterval(j.onKeyUpTimer),j.onKeyUpTimer=void 0,j.isUserTyping||(j.Filter(),j.isUserTyping=null)}if(j.onKeyUp){var c=a||window.event,d=j.Evt.getKeyCode(c);j.isUserTyping=!1,13!==d&&9!==d&&27!==d&&38!==d&&40!==d?void 0===j.onKeyUpTimer&&(j.onKeyUpTimer=window.setInterval(b,j.onKeyUpDelay)):(window.clearInterval(j.onKeyUpTimer),j.onKeyUpTimer=void 0)}},_OnKeyDown:function(){j.onKeyUp&&(j.isUserTyping=!0)},_OnInpBlur:function(){j.onKeyUp&&(j.isUserTyping=!1,window.clearInterval(j.onKeyUpTimer)),""===this.value&&""!==j.inpWatermark&&(this.value=j.isInpWatermarkArray?j.inpWatermark[this.getAttribute("ct")]:j.inpWatermark,tf_AddClass(this,j.inpWatermarkCssClass)),j.ezEditTable&&(j.editable&&j.ezEditTable.Editable.Set(),j.selectable&&j.ezEditTable.Selection.Set())},_OnInpFocus:function(a){var b=a||window.event;if(j.activeFilterId=this.getAttribute("id"),j.activeFlt=tf_Id(j.activeFilterId),j.isInpWatermarkArray){var c=j.inpWatermark[this.getAttribute("ct")];this.value===c&&""!==c&&(this.value="",tf_RemoveClass(this,j.inpWatermarkCssClass))}else this.value===j.inpWatermark&&""!==j.inpWatermark&&(this.value="",tf_RemoveClass(this,j.inpWatermarkCssClass));j.popUpFilters&&(tf_CancelEvent(b),tf_StopEvent(b)),j.ezEditTable&&(j.editable&&j.ezEditTable.Editable.Remove(),j.selectable&&j.ezEditTable.Selection.Remove())},_OnSlcFocus:function(a){var b=a||window.event;if(j.activeFilterId=this.getAttribute("id"),j.activeFlt=tf_Id(j.activeFilterId),j.fillSlcOnDemand&&"0"===this.getAttribute("filled")){var c=this.getAttribute("ct");j.PopulateSelect(c),tf_isIE||this.setAttribute("filled","1")}j.popUpFilters&&(tf_CancelEvent(b),tf_StopEvent(b))},_OnSlcChange:function(a){var b=j.activeFlt.getAttribute("colIndex");if(!j.activeFlt||!b||j["col"+b]!==j.fltTypeCheckList||j.Evt._OnSlcChange.caller){var c=a||window.event;j.popUpFilters&&tf_StopEvent(c),j.onSlcChange&&j.Filter()}},_OnSlcBlur:function(){},_OnCheckListChange:function(a){j.Evt._OnCheckListChange.caller&&j.Evt._OnSlcChange(a)},_OnCheckListClick:function(){if(j.fillSlcOnDemand&&"0"===this.getAttribute("filled")){var a=this.getAttribute("ct");j.PopulateCheckList(a),j.checkListDiv[a].onclick=null,j.checkListDiv[a].title=""}},_OnCheckListFocus:function(){j.activeFilterId=this.firstChild.getAttribute("id"),j.activeFlt=tf_Id(j.activeFilterId)},_OnCheckListBlur:function(){},_OnBtnClick:function(){j.Filter()},_OnSlcPagesChangeEvt:null,_EnableSlc:function(){this.firstChild.disabled=!1,this.firstChild.focus(),this.onclick=null},_Clear:function(){j.ClearFilters()},_OnHelpBtnClick:function(){j._ToggleHelp()},_Paging:{nextEvt:null,prevEvt:null,lastEvt:null,firstEvt:null}}}}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?window[a]&&"object"==typeof window[a]&&(b=!0):a&&"object"==typeof a&&(b=!0),b}function tf_IsFn(a){return a&&a.constructor==Function}function tf_IsArray(a){return a&&a.constructor==Array}function tf_Id(a){return document.getElementById(a)}function tf_Tag(a,b){return a.getElementsByTagName(b)}function tf_RegexpEscape(a){function b(b){var c=new RegExp("\\"+b,"g");a=a.replace(c,"\\"+b)}for(var c=["\\","[","^","$",".","|","?","*","+","(",")"],d=0;d<c.length;d++)b(c[d]);return a}function tf_CreateElm(a){if(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(a&&b&&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(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"}(-1===b.indexOf("M")||-1===b.indexOf("D")||-1===b.indexOf("Y"))&&(b="DMY");var d,e;if("Y"==b.substring(0,1)?(d=/^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/,e=/^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/):"Y"==b.substring(1,2)?(d=/^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/,e=/^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/):(d=/^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/,e=/^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/),d.test(a)===!1&&e.test(a)===!1)return!1;var f,g,h,i=a.split(RegExp.$1);f="M"===b.substring(0,1)?i[0]:"M"===b.substring(1,2)?i[1]:i[2],g="D"===b.substring(0,1)?i[0]:"D"===b.substring(1,2)?i[1]:i[2],h="Y"===b.substring(0,1)?i[0]:"Y"===b.substring(1,2)?i[1]:i[2],parseFloat(h)<=50&&(h=(parseFloat(h)+2e3).toString()),parseFloat(h)<=99&&(h=(parseFloat(h)+1900).toString());var j=new Date(parseFloat(h),parseFloat(f)-1,parseFloat(g),0,0,0,0);return parseFloat(g)!=j.getDate()?!1:parseFloat(f)-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=["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(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(a){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=b?b:"script",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,i=0;i<h.length;i++)if(d.test(h[i].cssText)){b=!0;break}return b}function tf_WriteCookie(a,b,c){var d="";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+"=";if(document.cookie.length>0){var d=document.cookie,e=d.indexOf(c);-1!==e&&(e+=c.length,end=d.indexOf(";",e),-1===end&&(end=d.length),b=unescape(d.substring(e,end)))}return b}function tf_CookieValueArray(a,b){b||(b=",");var c=tf_ReadCookie(a),d=c.split(b);return d}function tf_CookieValueByIndex(a,b,c){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){if(0!==arguments.length){var b=new TF(arguments[0],arguments[1],arguments[2]);return b.AddGrid(),window["tf_"+a]=b,b}}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)}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=null===this.startRow?0:this.startRow),this.popUpFilters&&(0===this.filtersRowIndex&&1===this.headersRow||this.gridLayout)&&(this.headersRow=0);var a,b=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=b.results_per_page||this.resultsPerPage,this.resultsPerPage.length<2?this.hasResultsPerPage=!1:this.pagingLength=this.resultsPerPage[1][0]),this.fltGrid)if(this.isFirstLoad){var d;if(!this.gridLayout){var 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),h=this["col"+f],i=this.isExternalFlt&&this.externalFltTgtIds?this.externalFltTgtIds[f]:null;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===h&&(h=void 0===b["col_"+f]?this.fltTypeInp:b["col_"+f].tf_LCase()),this.singleSearchFlt&&(h=this.fltTypeInp,a=this.singleFltCssClass),h===this.fltTypeSlc||h===this.fltTypeMulti){var j=tf_CreateElm(this.fltTypeSlc,["id",this.prfxFlt+f+"_"+this.id],["ct",f],["filled","0"]);if(h===this.fltTypeMulti&&(j.multiple=this.fltTypeMulti,j.title=this.multipleSlcTooltip),j.className=h.tf_LCase()===this.fltTypeSlc?a:this.fltMultiCssClass,i?(tf_Id(i).appendChild(j),this.externalFltEls.push(j)):g.appendChild(j),this.fltIds.push(this.prfxFlt+f+"_"+this.id),this.fillSlcOnDemand||this._PopulateSelect(f),j.onkeypress=this.Evt._DetectKey,j.onchange=this.Evt._OnSlcChange,j.onfocus=this.Evt._OnSlcFocus,j.onblur=this.Evt._OnSlcBlur,this.fillSlcOnDemand){var k=tf_CreateOpt(this.displayAllText,"");j.appendChild(k)}this.fillSlcOnDemand&&tf_isIE&&(j.disabled=!0,j.title=this.activateSlcTooltip,j.parentNode.onclick=this.Evt._EnableSlc,h===this.fltTypeMulti&&this.__deferMultipleSelection(j,0))}else if(h===this.fltTypeCheckList){var l=tf_CreateElm("div",["id",this.prfxCheckListDiv+f+"_"+this.id],["ct",f],["filled","0"]);l.className=this.checkListDivCssClass,i?(tf_Id(i).appendChild(l),this.externalFltEls.push(l)):g.appendChild(l),this.checkListDiv[f]=l,this.fltIds.push(this.prfxFlt+f+"_"+this.id),this.fillSlcOnDemand||this._PopulateCheckList(f),l.onclick=this.Evt._OnCheckListFocus,this.fillSlcOnDemand&&(l.onclick=this.Evt._OnCheckListClick,l.appendChild(tf_CreateText(this.activateCheckListTxt)))}else{var m=h===this.fltTypeInp?"text":"hidden",n=tf_CreateElm(this.fltTypeInp,["id",this.prfxFlt+f+"_"+this.id],["type",m],["ct",f]);if("hidden"!=m&&(n.value=this.isInpWatermarkArray?this.inpWatermark[f]:this.inpWatermark),n.className=a,""!==this.inpWatermark&&tf_AddClass(n,this.inpWatermarkCssClass),n.onfocus=this.Evt._OnInpFocus,i?(tf_Id(i).appendChild(n),this.externalFltEls.push(n)):g.appendChild(n),this.fltIds.push(this.prfxFlt+f+"_"+this.id),n.onkeypress=this.Evt._DetectKey,n.onkeydown=this.Evt._OnKeyDown,n.onkeyup=this.Evt._OnKeyUp,n.onblur=this.Evt._OnInpBlur,this.rememberGridValues){var o=tf_ReadCookie(this.fltsValuesCookie),p=new RegExp(this.separator,"g"),q=o.split(p);" "!=q[f]&&this.SetFilterValue(f,q[f],!1)}}if(f==c-1&&this.displayBtn){var r=tf_CreateElm(this.fltTypeInp,["id",this.prfxValButton+f+"_"+this.id],["type","button"],["value",this.btnText]);r.className=this.btnCssClass,i?tf_Id(i).appendChild(r):g.appendChild(r),r.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 s=this.bindScript.src,t=void 0!==this.bindScript.name?this.bindScript.name:"";this.IncludeFile(t,s,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(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=b&&void 0!==b.slcIndex?b.slcIndex:null,f=b&&void 0!==b.slcExternal?b.slcExternal:!1,g=b&&void 0!==b.slcId?b.slcId:null,h=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||!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=a[b],e=d.attributes,f=0;f<e.length;f++)"validrow"===e.nodeName.tf_LCase()&&d.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),this.helpInstructions||this.SetHelpInstructions()}},RemoveTopDiv:function(){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++){var b=this.externalFltTgtIds[a],c=tf_Id(b);c&&(c.innerHTML="")}},SetLoader:function(){if(!this.loaderDiv){var a=this.fObj;this.loaderTgtId=a.loader_target_id||null,this.loaderDiv=null,this.loaderText=a.loader_text||"Loading...",this.loaderHtml=a.loader_html||null,this.loaderCssClass=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=this.loaderTgtId?tf_Id(this.loaderTgtId):this.gridLayout?this.tblCont:this.tbl.parentNode;this.loaderTgtId?c.appendChild(b):c.insertBefore(b,this.tbl),this.loaderDiv=tf_Id(this.prfxLoader+this.id),this.loaderHtml?this.loaderDiv.innerHTML=this.loaderHtml:this.loaderDiv.appendChild(tf_CreateText(this.loaderText))}},RemoveLoader:function(){if(this.loaderDiv){var a=this.loaderTgtId?tf_Id(this.loaderTgtId):this.gridLayout?this.tblCont:this.tbl.parentNode;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,b=this.sortConfig;if(!tf_IsFn(a)){var c=this;this.Evt._EnableSort=function(){(!c.isSortEnabled||c.gridLayout)&&(tf_IsImported(b.adapterSrc)?b.initialize.call(null,c):c.IncludeFile(b.name+"_adapter",b.adapterSrc,function(){b.initialize.call(null,c)}))}}tf_IsImported(this.sortConfig.src)?this.Evt._EnableSort():this.IncludeFile(b.name,b.src,this.Evt._EnableSort)},RemoveSort:function(){this.sort=!1},Sort:function(){this.EvtManager(this.Evt.name.sort)},SetEditable:function(){var a=this.ezEditTableConfig;tf_IsImported(a.src)?this._EnableEditable():this.IncludeFile(a.name,a.src,this._EnableEditable),a.loadStylesheet&&!tf_IsImported(a.stylesheet,"link")&&this.IncludeFile(a.stylesheetName,a.stylesheet,null,"link")},RemoveEditable:function(){var a=this.ezEditTable;a&&(this.selectable&&(a.Selection.ClearSelections(),a.Selection.Remove()),this.editable&&a.Editable.Remove())},ResetEditable:function(){var a=this.ezEditTable;a&&(this.selectable&&a.Selection.Set(),this.editable&&a.Editable.Set())},_EnableEditable:function(a){a||(a=this);var b,c=a.ezEditTableConfig,d=tf_Tag(a.tbl,"thead");if(b=d.length>0&&!c.startRow?void 0:c.startRow||a.refRow,c.scroll_into_view=c.scroll_into_view===!1?!1:!0,c.base_path=c.base_path||a.basePath+"ezEditTable/",c.editable=a.editable=a.fObj.editable,c.selection=a.selectable=a.fObj.selectable,a.selectable&&(c.default_selection=c.default_selection||"row"),c.active_cell_css=c.active_cell_css||"ezETSelectedCell",a._lastValidRowIndex=0,a._lastRowIndex=0,a.selectable){var e=function(b,c,d){if(a.validRowsIndex){var e,f=a.validRowsIndex,g=f.length,h="row"!==b.defaultSelection?c.parentNode:c,i="TD"===c.nodeName?c:null,j=void 0!==d?b.Event.GetKey(d):0,k=f.tf_Has(h.rowIndex),l=34===j||33===j?a.pagingLength||b.nbRowsPerPage:1;if(k)34!==j&&33!==j?(a._lastValidRowIndex=f.tf_IndexByValue(h.rowIndex),a._lastRowIndex=h.rowIndex):(e=34===j?a._lastValidRowIndex+l<=g-1?f[a._lastValidRowIndex+l]:[g-1]:a._lastValidRowIndex-l<=f[0]?f[0]:f[a._lastValidRowIndex-l],a._lastRowIndex=e,a._lastValidRowIndex=f.tf_IndexByValue(e),o(e));else{if(h.rowIndex>a._lastRowIndex)if(h.rowIndex>=f[g-1])e=f[g-1];else{var m=a._lastValidRowIndex+l;e=m>g-1?f[g-1]:f[m]}else if(h.rowIndex<=f[0])e=f[0];else{var n=f[a._lastValidRowIndex-l];e=n?n:f[0]}a._lastRowIndex=h.rowIndex,o(e)}var o=function(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 g=a.tbl.rows[d];g&&g.scrollIntoView(!1),i&&(i.cellIndex===a.GetCellsNb()-1&&a.gridLayout?a.tblCont.scrollLeft=1e8:0===i.cellIndex&&a.gridLayout?a.tblCont.scrollLeft=0:i.scrollIntoView(!1))}}}},f=function(b,c){var d="row"!==b.defaultSelection?c.parentNode:c;if(a.paging&&a.nbPages>1){b.nbRowsPerPage=a.pagingLength;var e=a.validRowsIndex,f=e.length,g=parseInt(a.startPagingRow,10)+parseInt(a.pagingLength,10),h=d.rowIndex;h===e[f-1]&&a.currentPageNb!=a.nbPages?a.SetPage("last"):h==e[0]&&1!==a.currentPageNb?a.SetPage("first"):h>e[g-1]&&h<e[f-1]?a.SetPage("next"):h<e[a.startPagingRow]&&h>e[0]&&a.SetPage("previous")}};if(a.paging&&(a.onAfterChangePage=function(a){var b=a.ezEditTable,c=b.Selection.GetActiveRow();c&&c.scrollIntoView(!1);var d=b.Selection.GetActiveCell();d&&d.scrollIntoView(!1)}),"row"===c.default_selection){var g=c.on_before_selected_row;c.on_before_selected_row=function(){f(arguments[0],arguments[1],arguments[2]),g&&g.call(null,arguments[0],arguments[1],arguments[2])};var h=c.on_after_selected_row;c.on_after_selected_row=function(){e(arguments[0],arguments[1],arguments[2]),h&&h.call(null,arguments[0],arguments[1],arguments[2])}}else{var i=c.on_before_selected_cell;c.on_before_selected_cell=function(){f(arguments[0],arguments[1],arguments[2]),i&&i.call(null,arguments[0],arguments[1],arguments[2])};var j=c.on_after_selected_cell;c.on_after_selected_cell=function(){e(arguments[0],arguments[1],arguments[2]),j&&j.call(null,arguments[0],arguments[1],arguments[2])}}}if(a.editable){var k=c.on_added_dom_row;if(c.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(),k&&k.call(null,arguments[0],arguments[1],arguments[2])},c.actions&&c.actions["delete"]){var l=c.actions["delete"].on_after_submit;c.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(),l&&l.call(null,arguments[0],arguments[1])}}}try{a.ezEditTable=new EditTable(a.id,c,b),a.ezEditTable.Init()}catch(m){console.log(c.err)}},SetPaging:function(){if((this.hasGrid||this.isFirstLoad)&&this.paging&&(this.isPagingRemoved||this.isFirstLoad)){var a=this.fObj;this.pagingTgtId=a.paging_target_id||null,this.pagingLength=isNaN(a.paging_length)?10:a.paging_length,this.resultsPerPageTgtId=a.results_per_page_target_id||null,this.pgSlcCssClass=a.paging_slc_css_class||"pgSlc",this.pgInpCssClass=a.paging_inp_css_class||"pgNbInp",this.resultsSlcCssClass=a.results_slc_css_class||"rspg",this.resultsSpanCssClass=a.results_span_css_class||"rspgSpan",this.nbVisibleRows=0,this.nbHiddenRows=0,this.startPagingRow=0,this.nbPages=0,this.btnNextPageText=a.btn_next_page_text||">",this.btnPrevPageText=a.btn_prev_page_text||"<",this.btnLastPageText=a.btn_last_page_text||">|",this.btnFirstPageText=a.btn_first_page_text||"|<",this.btnNextPageHtml=a.btn_next_page_html||(this.enableIcons?'<input type="button" value="" class="'+this.btnPageCssClass+' nextPage" title="Next page" />':null),this.btnPrevPageHtml=a.btn_prev_page_html||(this.enableIcons?'<input type="button" value="" class="'+this.btnPageCssClass+' previousPage" title="Previous page" />':null),this.btnFirstPageHtml=a.btn_first_page_html||(this.enableIcons?'<input type="button" value="" class="'+this.btnPageCssClass+' firstPage" title="First page" />':null),this.btnLastPageHtml=a.btn_last_page_html||(this.enableIcons?'<input type="button" value="" class="'+this.btnPageCssClass+' lastPage" title="Last page" />':null),this.pageText=a.page_text||" Page ",this.ofText=a.of_text||" of ",this.nbPgSpanCssClass=a.nb_pages_css_class||"nbpg",this.hasPagingBtns=a.paging_btns===!1?!1:!0,this.pagingBtnEvents=null,this.pageSelectorType=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,10)-1},nbOpts:function(){return d.pageSelectorType===d.fltTypeSlc?parseInt(d.pagingSlc.options.length,10)-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||window.event;if(b){var c=d.Evt.getKeyCode(a);13===c&&(d.sorted?(d.Filter(),d.ChangePage(d.Evt._Paging.slcIndex())):d.ChangePage(),this.blur())}},nextEvt:null,prevEvt:null,lastEvt:null,firstEvt:null}}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()});var e;this.pageSelectorType===this.fltTypeSlc&&(e=tf_CreateElm(this.fltTypeSlc,["id",this.prfxSlcPages+this.id]),e.className=this.pgSlcCssClass,e.onchange=this.Evt._OnSlcPagesChange),this.pageSelectorType===this.fltTypeInp&&(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=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]);if(this.hasPagingBtns){if(this.btnNextPageHtml)f.innerHTML=this.btnNextPageHtml,f.onclick=this.Evt._Paging.next;else{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)}if(this.btnPrevPageHtml)g.innerHTML=this.btnPrevPageHtml,g.onclick=this.Evt._Paging.prev;else{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)}if(this.btnLastPageHtml)h.innerHTML=this.btnLastPageHtml,h.onclick=this.Evt._Paging.last;else{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)}if(this.btnFirstPageHtml)i.innerHTML=this.btnFirstPageHtml,i.onclick=this.Evt._Paging.first;else{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)}}this.pagingTgtId||this.SetTopDiv();var n=this.pagingTgtId?tf_Id(this.pagingTgtId):this.mDiv;""!==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&&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),a&&a.parentNode.removeChild(a),b&&b.parentNode.removeChild(b),c&&c.parentNode.removeChild(c),d&&d.parentNode.removeChild(d),e&&e.parentNode.removeChild(e),f&&f.parentNode.removeChild(f),g&&g.parentNode.removeChild(g),this.pagingBtnEvents=null,this.pagingSlc=null,this.isPagingRemoved=!0}},SetPagingInfo:function(a){var b=this.tbl.rows,c=this.pagingTgtId?tf_Id(this.pagingTgtId):this.mDiv,d=tf_Id(this.prfxPgSpan+this.id);if(a&&a.length>0)this.validRowsIndex=a;else{this.validRowsIndex=[];for(var e=this.refRow;e<this.nbRows;e++){var f=b[e];if(f){var g=f.getAttribute("validRow");"true"!==g&&g||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 h=0;h<this.nbPages;h++){var i=new Option(h+1,h*this.pagingLength,!1,!1);this.pagingSlc.options[h]=i}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,10)+parseInt(this.pagingLength,10);a&&(this.validRowsIndex=a);for(var d=0;d<this.validRowsIndex.length;d++){var e=b[this.validRowsIndex[d]];d>=this.startPagingRow&&c>d?("true"!==e.getAttribute("validRow")&&e.getAttribute("validRow")||(e.style.display=""),this.alternateBgs&&this.SetRowBg(this.validRowsIndex[d],d)):(e.style.display="none",this.alternateBgs&&this.RemoveRowBg(this.validRowsIndex[d]))}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)&&!this.resultsPerPageSlc&&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,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&&this.resultsPerPageSlc&&this.resultsPerPage){var a=this.resultsPerPageSlc,b=tf_Id(this.prfxSlcResultsTxt+this.id);a&&a.parentNode.removeChild(a),b&&b.parentNode.removeChild(b),this.resultsPerPageSlc=null}},SetHelpInstructions:function(){if(!this.helpInstrBtnEl){var a=this.fObj;this.helpInstrTgtId=a.help_instructions_target_id||null,this.helpInstrContTgtId=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=a.help_instructions_html||null,this.helpInstrBtnText=a.help_instructions_btn_text||"?",this.helpInstrBtnHtml=a.help_instructions_btn_html||null,this.helpInstrBtnCssClass=a.help_instructions_btn_css_class||"helpBtn",this.helpInstrContCssClass=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]);this.helpInstrTgtId||this.SetTopDiv();var d=this.helpInstrTgtId?tf_Id(this.helpInstrTgtId):this.rDiv;d.appendChild(b);var e=this.helpInstrContTgtId?tf_Id(this.helpInstrContTgtId):b;if(this.helpInstrBtnHtml){b.innerHTML=this.helpInstrBtnHtml;var f=b.firstChild;f.onclick=this.Evt._OnHelpBtnClick,e.appendChild(c)}else{e.appendChild(c);var g=tf_CreateElm("a",["href","javascript:void(0);"]);g.className=this.helpInstrBtnCssClass,g.appendChild(tf_CreateText(this.helpInstrBtnText)),b.appendChild(g),g.onclick=this.Evt._OnHelpBtnClick}this.helpInstrHtml?(this.helpInstrContTgtId&&e.appendChild(c),c.innerHTML=this.helpInstrHtml,this.helpInstrContTgtId||(c.className=this.helpInstrContCssClass,c.ondblclick=this.Evt._OnHelpBtnClick)):(c.innerHTML=this.helpInstrText,c.className=this.helpInstrContCssClass,c.ondblclick=this.Evt._OnHelpBtnClick),c.innerHTML+=this.helpInstrDefaultHtml,this.helpInstrContEl=c,this.helpInstrBtnEl=b}},RemoveHelpInstructions:function(){this.helpInstrBtnEl&&(this.helpInstrBtnEl.parentNode.removeChild(this.helpInstrBtnEl),this.helpInstrBtnEl=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&&(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,10)+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,10);if(this.pagingLength=parseInt(a.options[a.selectedIndex].value,10),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"===m)o+='<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<n.length;d++)if(""!==n[d]){var f=n[d],g=p?q[d]:f,h=!1;if(b&&j.disableExcludedOptions&&t.tf_Has(f.tf_MatchCase(j.matchCase),j.matchCase)&&(h=!0),"innerhtml"===m){var k="";j.fillSlcOnDemand&&c==n[d]&&(k='selected="selected"'),o+='<option value="'+f+'" '+k+(h?'disabled="disabled"':"")+">"+g+"</option>"}else{var l;l=j.fillSlcOnDemand&&c==n[d]&&j["col"+a]===j.fltTypeSlc?tf_CreateOpt(g,f,!0):j["col"+a]!=j.fltTypeMulti?tf_CreateOpt(g,f," "!==r[a]&&f==r[a]?!0:!1):tf_CreateOpt(g,f,s.tf_Has(n[d].tf_MatchCase(j.matchCase),j.matchCase)||-1!==s.toString().indexOf(f)?!0:!1),h&&(l.disabled=!0),i.appendChild(l)}}"innerhtml"===m&&(i.innerHTML+=o),i.setAttribute("filled","1")}c=void 0===c?!1:c;var g=this.fltIds[a];if((tf_Id(g)||c)&&(tf_Id(d)||!c)){var h,i=tf_Id(c?d:g),j=this,k=this.tbl.rows,l=this.matchCase,m=this.slcFillingMethod.tf_LCase(),n=[],o="",p=this.hasCustomSlcOptions&&this.customSlcOptions.cols.tf_Has(a),q=[];b&&this.activeFilterId&&(h=this.activeFilterId.split("_")[0],h=h.split(this.prfxFlt)[1]);var r=[],s=[];this.rememberGridValues&&(r=tf_CookieValueArray(this.fltsValuesCookie,this.separator),r&&""!==r.toString().tf_Trim()&&(p?s.push(r[a]):s=r[a].split(" "+j.orOperator+" ")));var t=null,u=null;b&&this.disableExcludedOptions&&(t=[],u=[]);for(var v=this.refRow;v<this.nbRows;v++)if(!this.hasVisibleRows||!this.visibleRows.tf_Has(v)||this.paging){var w=k[v].cells,x=w.length;if(x===this.nbCells&&!p)for(var y=0;x>y;y++)if(a===y&&(!b||b&&this.disableExcludedOptions)||a==y&&b&&(""==k[v].style.display&&!this.paging||this.paging&&(!this.validRowsIndex||this.validRowsIndex&&this.validRowsIndex.tf_Has(v))&&(void 0==h||h==a||h!=a&&this.validRowsIndex.tf_Has(v)))){var z=this.GetCellData(y,w[y]),A=z.tf_MatchCase(l);if(n.tf_Has(A,l)||n.push(z),b&&this.disableExcludedOptions){var B=u[y];B||(B=this.GetFilteredDataCol(y)),B.tf_Has(A,l)||t.tf_Has(A,l)||this.isFirstLoad||t.push(z)}}}if(p){var C=this.__getCustomValues(a);n=C[0],q=C[1]}if(this.sortSlc&&!p&&(l?(n.sort(),t&&t.sort()):(n.sort(tf_IgnoreCaseSort),t&&t.sort(tf_IgnoreCaseSort))),this.sortNumAsc&&this.sortNumAsc.tf_Has(a))try{n.sort(tf_NumSortAsc),t&&t.sort(tf_NumSortAsc),p&&q.sort(tf_NumSortAsc)}catch(D){n.sort(),t&&t.sort(),p&&q.sort()}if(this.sortNumDesc&&this.sortNumDesc.tf_Has(a))try{n.sort(tf_NumSortDesc),t&&t.sort(tf_NumSortDesc),p&&q.sort(tf_NumSortDesc)}catch(D){n.sort(),t&&t.sort(),p&&q.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(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(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){function c(a){j.__setCheckListValues(this),h.onchange.call(null,a)}function e(){this.firstChild.click()}var f=d(),g=[],i=tf_CookieValueByIndex(j.fltsValuesCookie,a,b);i&&i.tf_Trim().length>0&&(j.hasCustomSlcOptions&&j.customSlcOptions.cols.tf_Has(a)?g.push(i):g=i.split(" "+j.orOperator+" "));for(var k=0;k<l.length;k++){var p=l[k],q=m?n[k]:p,r=tf_CreateCheckItem(j.fltIds[a]+"_"+(k+f),p,q);r.className=j.checkListItemCssClass,j.refreshFilters&&j.disableExcludedOptions&&o.tf_Has(p.tf_MatchCase(j.matchCase),j.matchCase)?(tf_AddClass(r,j.checkListItemDisabledCssClass),r.check.disabled=!0,r.disabled=!0):r.check.onclick=c,h.appendChild(r),""===p&&(r.style.display="none"),j.rememberGridValues&&(j.hasCustomSlcOptions&&j.customSlcOptions.cols.tf_Has(a)&&-1!=g.toString().indexOf(p)||g.tf_Has(p.tf_MatchCase(j.matchCase),j.matchCase))&&(r.check.checked=!0,j.__setCheckListValues(r.check)),tf_isIE&&(r.label.onclick=e)
}}b=b?b:!1;var f=this.prfxCheckListDiv+a+"_"+this.id;if((tf_Id(f)||b)&&(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,p;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&&(!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);var w=p[t];this.refreshFilters&&this.disableExcludedOptions&&(w||(p[t]=this.GetFilteredDataCol(t)),w.tf_Has(v,this.matchCase)||o.tf_Has(v,this.matchCase)||this.isFirstLoad||o.push(u))}}if(m){var x=this.__getCustomValues(a);l=x[0],n=x[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(y){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(y){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 z=h.getAttribute("indexes");if(z)for(var A=z.split(","),B=0;B<A.length;B++){var C=tf_Id(this.fltIds[a]+"_"+A[B]);C&&(C.checked=!0)}}}},__setCheckListValues:function(a){if(a){for(var b=a.value,c=parseInt(a.id.split("_")[2],10),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(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||!this.btnResetEl){var a=this.fObj;this.btnResetTgtId=a.btn_reset_target_id||null,this.btnResetEl=null,this.btnResetText=a.btn_reset_text||"Reset",this.btnResetTooltip=a.btn_reset_tooltip||"Clear filters",this.btnResetHtml=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]);this.btnResetTgtId||this.SetTopDiv();var c=this.btnResetTgtId?tf_Id(this.btnResetTgtId):this.rDiv;if(c.appendChild(b),this.btnResetHtml){b.innerHTML=this.btnResetHtml;var d=b.firstChild;d.onclick=this.Evt._Clear}else{var e=tf_CreateElm("a",["href","javascript:void(0);"]);e.className=this.btnResetCssClass,e.appendChild(tf_CreateText(this.btnResetText)),b.appendChild(e),e.onclick=this.Evt._Clear}this.btnResetEl=tf_Id(this.prfxResetSpan+this.id).firstChild}},RemoveResetBtn:function(){if(this.hasGrid&&this.btnResetEl){var a=tf_Id(this.prfxResetSpan+this.id);a&&a.parentNode.removeChild(a),this.btnResetEl=null}},SetStatusBar:function(){if(this.hasGrid||this.isFirstLoad){var a=this.fObj;this.statusBarTgtId=a.status_bar_target_id||null,this.statusBarDiv=null,this.statusBarSpan=null,this.statusBarSpanText=null,this.statusBarText=a.status_bar_text||"",this.statusBarCssClass=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,this.statusBarTgtId||this.SetTopDiv();var e=this.statusBarTgtId?tf_Id(this.statusBarTgtId):this.lDiv;this.statusBarDiv&&tf_isIE&&(this.statusBarDiv.outerHTML=""),this.statusBarTgtId?(e.appendChild(d),e.appendChild(c)):(b.appendChild(d),b.appendChild(c),e.appendChild(b)),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){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)&&!this.rowsCounterSpan){var a=this.fObj;this.rowsCounterTgtId=a.rows_counter_target_id||null,this.rowsCounterDiv=null,this.rowsCounterSpan=null,this.rowsCounterText=a.rows_counter_text||"Rows: ",this.fromToTextSeparator=a.from_to_text_separator||"-",this.overText=a.over_text||" / ",this.totRowsCssClass=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)),this.rowsCounterTgtId||this.SetTopDiv();var e=this.rowsCounterTgtId?tf_Id(this.rowsCounterTgtId):this.lDiv;this.rowsCounterDiv&&tf_isIE&&(this.rowsCounterDiv.outerHTML=""),this.rowsCounterTgtId?(e.appendChild(d),e.appendChild(c)):(b.appendChild(d),b.appendChild(c),e.appendChild(b)),this.rowsCounterDiv=tf_Id(this.prfxCounter+this.id),this.rowsCounterSpan=tf_Id(this.prfxTotRows+this.id),this.RefreshNbRows()}},RemoveRowsCounter:function(){this.hasGrid&&this.rowsCounterSpan&&(!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(this.rowsCounterSpan){this.onBeforeRefreshCounter&&this.onBeforeRefreshCounter.call(null,this,this.rowsCounterSpan);var b;if(this.paging){var c=parseInt(this.startPagingRow,10)+(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=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){a=void 0===a?!0:a;for(var 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(){if(this.gridLayout){var a=this.fObj;if(this.gridWidth=a.grid_width||null,this.gridHeight=a.grid_height||null,this.gridMainContCssClass=a.grid_cont_css_class||"grd_Cont",this.gridContCssClass=a.grid_tbl_cont_css_class||"grd_tblCont",this.gridHeadContCssClass=a.grid_tblHead_cont_css_class||"grd_headTblCont",this.gridInfDivCssClass=a.grid_inf_grid_css_class||"grd_inf",this.gridHeadRowIndex=a.grid_headers_row_index||0,this.gridHeadRows=a.grid_headers_rows||[0],this.gridEnableFilters=void 0!==a.grid_enable_default_filters?a.grid_enable_default_filters:!0,this.gridDefaultColWidth=a.grid_default_col_width||"100px",this.gridEnableColResizer=void 0!==a.grid_enable_cols_resizer?a.grid_enable_cols_resizer:!0,this.gridColResizerPath=a.grid_cont_col_resizer_path||this.basePath+"TFExt_ColsResizer/TFExt_ColsResizer.js",!this.hasColWidth){this.colWidth=[];for(var b=0;b<this.nbCells;b++){var c,d=this.tbl.rows[this.gridHeadRowIndex].cells[b];c=""!==d.width?d.width:""!==d.style.width?parseInt(d.style.width,10):this.gridDefaultColWidth,this.colWidth[b]=c}this.hasColWidth=!0}this.SetColWidths(this.gridHeadRowIndex);var e;e=""!==this.tbl.width?this.tbl.width:""!==this.tbl.style.width?parseInt(this.tbl.style.width,10):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 f=this.tbl.parentNode.removeChild(this.tbl);this.tblCont.appendChild(f),""===this.tbl.style.width&&(this.tbl.style.width=(this.__containsStr("%",e)?this.tbl.clientWidth:e)+"px");var g=this.tblCont.parentNode.removeChild(this.tblCont);this.tblMainCont.appendChild(g),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 h=tf_CreateElm("tHead"),i=this.tbl.rows[this.gridHeadRowIndex],j=[],k=0;k<this.nbCells;k++){var l=i.cells[k],m=l.getAttribute("id");m&&""!==m||(m=this.prfxGridTh+k+"_"+this.id,l.setAttribute("id",m)),j.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]];h.appendChild(s)}this.headTbl.appendChild(h),0===this.filtersRowIndex?h.insertBefore(n,i):h.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;if(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}},a.sort!==!1&&(this.sort=!0,this.sortConfig.asyncSort=!0,this.sortConfig.triggerIds=j),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)),a.col_resizer_cols_headers_table=this.headTbl.getAttribute("id"),a.col_resizer_cols_headers_index=this.gridHeadRowIndex,a.col_resizer_width_adjustment=0,a.col_enable_text_ellipsis=!1,u.tblHasColTag=tf_Tag(u.tbl,"col").length>0?!0:!1,!tf_isIE&&!tf_isIE7){var v=function(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(u.tblHasColTag)for(var w=tf_Tag(u.tbl,"col"),x=0;x<u.nbCells;x++)w[x].setAttribute("id",u.id+"_col_"+x),w[x].style.width=u.colWidth[x],u.gridColElms.push(w[x]);else v(u)}if(tf_isIE||tf_isIE7){var y,z=tf_Tag(u.tbl,"tbody");y=z.length>0?z[0].insertRow(0):u.tbl.insertRow(0),y.style.height="0px";for(var A=0;A<u.nbCells;A++){var B=tf_CreateElm("td",["id",u.id+"_col_"+A]);B.style.width=u.colWidth[A],u.tbl.rows[1].cells[A].style.width="",y.appendChild(B),u.gridColElms.push(B)}this.hasGridWidthsRow=!0,u.leadColWidthsRow=u.tbl.rows[0],u.leadColWidthsRow.setAttribute("validRow","false");var C=tf_IsFn(a.on_before_sort)?a.on_before_sort:null;a.on_before_sort=function(a,b){a.leadColWidthsRow.setAttribute("validRow","false"),C&&C.call(null,a,b)};var D=tf_IsFn(a.on_after_sort)?a.on_after_sort:null;a.on_after_sort=function(a,b){if(0!==a.leadColWidthsRow.rowIndex){{a.leadColWidthsRow}z.length>0?z[0].moveRow(a.leadColWidthsRow.rowIndex,0):a.tbl.moveRow(a.leadColWidthsRow.rowIndex,0)}D&&D.call(null,a,b)}}var E=tf_IsFn(a.on_after_col_resized)?a.on_after_col_resized:null;a.on_after_col_resized=function(a,b){if(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"),E&&E.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(){function a(a){var b=a||window.event,d=parseInt(this.getAttribute("ci"),10);if(c.CloseAllPopupFilters(d),c.TogglePopupFilter(d),c.popUpFltAdjustToContainer){var e=c.popUpFltElms[d],f=c.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,10)+"px"}tf_CancelEvent(b),tf_StopEvent(b)}if(this.popUpFilters){this.isExternalFlt=!0;var b=this.fObj;this.popUpImgFlt=b.popup_filters_image||this.themesPath+"icn_filter.gif",this.popUpImgFltActive=b.popup_filters_image_active||this.themesPath+"icn_filterActive.gif",this.popUpImgFltHtml=b.popup_filters_image_html||'<img src="'+this.popUpImgFlt+'" alt="Column filter" />',this.popUpDivCssClass=b.popup_div_css_class||"popUpFilter",this.onBeforePopUpOpen=tf_IsFn(b.on_before_popup_filter_open)?b.on_before_popup_filter_open:null,this.onAfterPopUpOpen=tf_IsFn(b.on_after_popup_filter_open)?b.on_after_popup_filter_open:null,this.onBeforePopUpClose=tf_IsFn(b.on_before_popup_filter_close)?b.on_before_popup_filter_close:null,this.onAfterPopUpClose=tf_IsFn(b.on_after_popup_filter_close)?b.on_after_popup_filter_close:null,this.externalFltTgtIds=[],this.popUpFltSpans=[],this.popUpFltImgs=[],this.popUpFltElms=this.popUpFltElmCache||[],this.popUpFltAdjustToContainer=!0;for(var c=this,d=0;d<this.nbCells;d++)if(this["col"+d]!=this.fltTypeNone){var e=tf_CreateElm("span",["id",this.prfxPopUpSpan+this.id+"_"+d],["ci",d]);e.innerHTML=this.popUpImgFltHtml;var f=this.GetHeaderElement(d);f.appendChild(e),e.onclick=a,this.popUpFltSpans[d]=e,this.popUpFltImgs[d]=e.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?(this.onBeforePopUpOpen&&this.onBeforePopUpOpen.call(null,this,this.popUpFltElms[a],a),b.style.display="block",this["col"+a]===this.fltTypeInp&&this.GetFilterElement(a).focus(),this.onAfterPopUpOpen&&this.onAfterPopUpOpen.call(null,this,this.popUpFltElms[a],a)):(this.onBeforePopUpClose&&this.onBeforePopUpClose.call(null,this,this.popUpFltElms[a],a),b.style.display="none",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++){var d=this.GetFilterValue(c);""===d&&(d=" "),b.push(d)}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]){var h,i;if(this["col"+g]===this.fltTypeSlc||this["col"+g]===this.fltTypeMulti){var k=tf_Id(this.fltIds[g]);if(k.options[0].selected=!1,e.tf_Has(g)&&(i=tf_CreateOpt(d[g],d[g],!0),k.appendChild(i),this.hasStoredValues=!0),f.tf_Has(g))for(h=d[g].split(" "+this.orOperator+" "),j=0;j<h.length;j++)""!==h[j]&&(i=tf_CreateOpt(h[j],h[j],!0),k.appendChild(i),this.hasStoredValues=!0,tf_isIE&&(this.__deferMultipleSelection(k,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);for(n.className=this.checkListItemCssClass,m.appendChild(n),l.appendChild(m),d[g].split(" "+this.orOperator+" "),j=0;j<h.length;j++)if(""!==h[j]){var o=tf_CreateCheckItem(this.fltIds[g]+"_"+(j+1),h[j],h[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=b?b:a;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,10);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(f.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,f.highlightCssClass,f)}}function b(a,b,c){var e,v,w,x=k.test(a),y=i.test(a),z=l.test(a),A=j.test(a),B=m.test(a),C=o.test(a),E=n.test(a),F=(r.test(a),p.test(a)),G=q.test(a),H=s===a,I=t===a,J=u.test(a),K=x&&tf_IsValidDate(a.replace(k,""),D),L=y&&tf_IsValidDate(a.replace(i,""),D),M=z&&tf_IsValidDate(a.replace(l,""),D),N=A&&tf_IsValidDate(a.replace(j,""),D),O=B&&tf_IsValidDate(a.replace(m,""),D),P=C&&tf_IsValidDate(a.replace(o,""),D);if(tf_IsValidDate(b,D))v=tf_FormatDate(b,D),K?(w=tf_FormatDate(a.replace(k,""),D),e=w>v):L?(w=tf_FormatDate(a.replace(i,""),D),e=w>=v):N?(w=tf_FormatDate(a.replace(j,""),D),e=v>=w):M?(w=tf_FormatDate(a.replace(l,""),D),e=v>w):O?(w=tf_FormatDate(a.replace(m,""),D),e=v.toString()!=w.toString()):P?(w=tf_FormatDate(a.replace(o,""),D),e=v.toString()==w.toString()):n.test(a)?e=f.__containsStr(a.replace(n,""),b,null,!1):tf_IsValidDate(a,D)?(w=tf_FormatDate(a,D),e=v.toString()==w.toString()):H?e=""===b.tf_Trim()?!0:!1:I&&(e=""!==b.tf_Trim()?!0:!1);else if(f.hasColNbFormat&&f.colNbFormat[c]?(g=tf_RemoveNbFormat(b,f.colNbFormat[c]),h=f.colNbFormat[c]):","===f.thousandsSeparator&&"."===f.decimalSeparator?(g=tf_RemoveNbFormat(b,"us"),h="us"):(g=tf_RemoveNbFormat(b,"eu"),h="eu"),y)e=g<=tf_RemoveNbFormat(a.replace(i,""),h);else if(A)e=g>=tf_RemoveNbFormat(a.replace(j,""),h);else if(x)e=g<tf_RemoveNbFormat(a.replace(k,""),h);else if(z)e=g>tf_RemoveNbFormat(a.replace(l,""),h);else if(B)e=f.__containsStr(a.replace(m,""),b)?!1:!0;else if(E)e=f.__containsStr(a.replace(n,""),b,null,!1);else if(C)e=f.__containsStr(a.replace(o,""),b,null,!0);else if(F)e=0===b.indexOf(a.replace(p,""))?!0:!1;else if(G){var Q=a.replace(q,"");e=b.lastIndexOf(Q,b.length-1)===b.length-1-(Q.length-1)&&b.lastIndexOf(Q,b.length-1)>-1?!0:!1}else if(H)e=""===b.tf_Trim()?!0:!1;else if(I)e=""!==b.tf_Trim()?!0:!1;else if(J)try{var R=a.replace(u,""),S=new RegExp(R);e=S.test(b)}catch(T){e=!1}else{var U=d["col_"+c];e=f.__containsStr(a,b,U?U:this.fltTypeInp)}return e}if(this.fltGrid&&(this.hasGrid||this.isFirstLoad)){this.onBeforeFilter&&this.onBeforeFilter.call(null,this),""!==this.inpWatermark&&this.SetWatermark(!1);var c=this.tbl.rows,d=this.fObj||{},e=0;this.validRowsIndex=[];var f=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):e++)}}this.nbVisibleRows=this.validRowsIndex.length,this.nbHiddenRows=e,this.isStartBgAlternate=!1,this.rememberGridValues&&this.RememberFiltersValue(this.fltsValuesCookie),this.paging?(this.startPagingRow=0,this.currentPageNb=1,this.SetPagingInfo(this.validRowsIndex)):this.ApplyGridProps(),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;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,m=b?tf_RemoveNbFormat(k,l):k;e.push(m)}}return e}},GetFilterValue:function(a){if(this.fltGrid){var b,c=this.GetFilterElement(a);if(!c)return"";var d=this["col"+a];if(d!==this.fltTypeMulti&&d!==this.fltTypeCheckList)b=c.value;else if(d===this.fltTypeMulti){b="";for(var e=0;e<c.options.length;e++)c.options[e].selected&&(b=b.concat(c.options[e].value+" "+this.orOperator+" "));b=b.substr(0,b.length-4)}else d===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=a?this.tbl.rows[a]:this.tbl.rows[0];return b.cells.length},GetRowsNb:function(a){var b=this.refRow?this.refRow:0,c=this.tbl.rows.length;return a&&(b=0),parseInt(c-b,10)},GetCellData:function(a,b){return void 0!==a&&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++){for(var c=[b,[]],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++){for(var k=[this.validRowsIndex[j],[]],l=b[this.validRowsIndex[j]].cells,m=0;m<l.length;m++){var n=this.GetCellData(m,l[m]);k[1].push(n)}c.push(k)}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)&&this.GetFilterElement(a)){var d=this.GetFilterElement(a),e=void 0===c?!0:c,f=this["col"+a];if(b=void 0===b?"":b,f!==this.fltTypeMulti&&f!=this.fltTypeCheckList)d.value=b,f===this.fltTypeInp&&""!==this.inpWatermark&&tf_RemoveClass(d,this.inpWatermarkCssClass);else if(f===this.fltTypeMulti){for(var g=b.split(" "+this.orOperator+" "),h=0,i=0;i<d.options.length;i++)if(""===g&&(d.options[i].selected=!1),""===d.options[i].value&&(d.options[i].selected=!1),""!==d.options[i].value&&g.tf_Has(d.options[i].value,!0))if(tf_isIE){var j=h==g.length-1&&e?!0:!1;this.__deferMultipleSelection(d,i,j),h++}else d.options[i].selected=!0}else if(f===this.fltTypeCheckList){b=b.tf_MatchCase(this.matchCase);for(var k=b.split(" "+this.orOperator+" "),l=(d.setAttribute("value",""),d.setAttribute("indexes",""),0);l<tf_Tag(d,"li").length;l++){var m=tf_Tag(d,"li")[l],n=tf_Tag(m,"label")[0],o=tf_Tag(m,"input")[0],p=tf_GetNodeText(n).tf_MatchCase(this.matchCase);""!==p&&k.tf_Has(p,!0)?(o.checked=!0,this.__setCheckListValues(o)):(o.checked=!1,this.__setCheckListValues(o))}}}},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),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 colOperation=this.colOperation,labelId=colOperation.id,colIndex=colOperation.col,operation=colOperation.operation,outputType=colOperation.write_method,totRowIndex=colOperation.tot_row_index,excludeRow=colOperation.exclude_row,decimalPrecision=void 0!==colOperation.decimal_precision?colOperation.decimal_precision:2,ucolIndex=[],ucolMax=0;ucolIndex[ucolMax]=colIndex[0];for(var ii=1;ii<colIndex.length;ii++){for(var saved=0,jj=0;ucolMax>=jj;jj++)ucolIndex[jj]===colIndex[ii]&&(saved=1);0===saved&&(ucolMax++,ucolIndex[ucolMax]=colIndex[ii])}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,k=0;k<colIndex.length;k++)if(colIndex[k]===ucolIndex[ucol])switch(mThisCol++,opsThisCol[mThisCol]=operation[k].tf_LCase(),decThisCol[mThisCol]=decimalPrecision[k],labThisCol[mThisCol]=labelId[k],oTypeThisCol=void 0!==outputType&&"object"===(typeof outputType).tf_LCase()?outputType[k]: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}var posa;if(1===q1Flag&&(posa=0,posa=Math.floor(nbvalues/4),q1Value=4*posa==nbvalues?(theList[posa-1]+theList[posa])/2:theList[posa]),1===q3Flag){posa=0;var 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=decThisCol[i]&&!isNaN(decThisCol[i])?decThisCol[i]:2;if(oTypeThisCol&&result){if(result=result.toFixed(precision),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){}}totRowIndex&&row[totRowIndex[ucol]]&&(row[totRowIndex[ucol]].style.display="")}this.onAfterOperation&&this.onAfterOperation.call(null,this)}},UnhighlightAll:function(){if(this.highlightKeywords&&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++){var c=tf_Id(this.externalFltTgtIds[b]);if(c){c.appendChild(this.externalFltEls[b]);var d=this["col"+b];this.gridLayout&&""===this.externalFltEls[b].innerHTML&&d!==this.fltTypeInp&&((d===this.fltTypeSlc||d===this.fltTypeMulti)&&this.PopulateSelect(b),d===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=d?d:this.exactMatch;return e=g||c!==this.fltTypeInp&&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=d?d:"script",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);