1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-09 18:06:53 +02:00
TableFilter/dist/tablefilter.js
2014-11-16 01:34:32 +11:00

10 lines
107 KiB
JavaScript

/*------------------------------------------------------------------------
- TableFilter v3.0.0 by Max Guglielmi
- build date: Sun Nov 16 2014 01:27:22
- http://tablefilter.free.fr
- Copyright (c) 2014, Licensed under the MIT License
------------------------------------------------------------------------*/
!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b:a.TableFilter=b()}(this,function(){var requirejs,require,define;return function(a){function b(a,b){return r.call(a,b)}function c(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=p.map,q=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(n=n.slice(0,n.length-1),a=a.split("/"),g=a.length-1,p.nodeIdCompat&&t.test(a[g])&&(a[g]=a[g].replace(t,"")),a=n.concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||q)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function d(b,c){return function(){var d=s.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),k.apply(a,d.concat([b,c]))}}function e(a){return function(b){return c(b,a)}}function f(a){return function(b){n[a]=b}}function g(c){if(b(o,c)){var d=o[c];delete o[c],q[c]=!0,j.apply(a,d)}if(!b(n,c)&&!b(q,c))throw new Error("No "+c);return n[c]}function h(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function i(a){return function(){return p&&p.config&&p.config[a]||{}}}var j,k,l,m,n={},o={},p={},q={},r=Object.prototype.hasOwnProperty,s=[].slice,t=/\.js$/;l=function(a,b){var d,f=h(a),i=f[0];return a=f[1],i&&(i=c(i,b),d=g(i)),i?a=d&&d.normalize?d.normalize(a,e(b)):c(a,b):(a=c(a,b),f=h(a),i=f[0],a=f[1],i&&(d=g(i))),{f:i?i+"!"+a:a,n:a,pr:i,p:d}},m={require:function(a){return d(a)},exports:function(a){var b=n[a];return"undefined"!=typeof b?b:n[a]={}},module:function(a){return{id:a,uri:"",exports:n[a],config:i(a)}}},j=function(c,e,h,i){var j,k,p,r,s,t,u=[],v=typeof h;if(i=i||c,"undefined"===v||"function"===v){for(e=!e.length&&h.length?["require","exports","module"]:e,s=0;s<e.length;s+=1)if(r=l(e[s],i),k=r.f,"require"===k)u[s]=m.require(c);else if("exports"===k)u[s]=m.exports(c),t=!0;else if("module"===k)j=u[s]=m.module(c);else if(b(n,k)||b(o,k)||b(q,k))u[s]=g(k);else{if(!r.p)throw new Error(c+" missing "+k);r.p.load(r.n,d(i,!0),f(k),{}),u[s]=n[k]}p=h?h.apply(n[c],u):void 0,c&&(j&&j.exports!==a&&j.exports!==n[c]?n[c]=j.exports:p===a&&t||(n[c]=p))}else c&&(n[c]=h)},requirejs=require=k=function(b,c,d,e,f){if("string"==typeof b)return m[b]?m[b](c):g(l(b,c).f);if(!b.splice){if(p=b,p.deps&&k(p.deps,p.callback),!c)return;c.splice?(b=c,c=d,d=null):b=a}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?j(a,b,c,d):setTimeout(function(){j(a,b,c,d)},4),k},k.config=function(a){return k(a)},requirejs._defined=n,define=function(a,c,d){c.splice||(d=c,c=[]),!b(n,a)&&!b(o,a)&&(o[a]=[a,c,d])},define.amd={jQuery:!0}}(),define("../libs/almond/almond",function(){}),define("event",[],function(){var a={};return a.add=function(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},a.remove=function(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},a.stop=function(a){a||(a=window.event),a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},a.cancel=function(a){a||(a=window.event),a.preventDefault?a.preventDefault():a.returnValue=!1},a}),define("dom",["require"],function(){function a(){return document.documentElement.classList}var b={};return b.getText=function(a){var b=a.textContent||a.innerText||a.innerHTML.replace(/<[^<>]+>/g,"");return b=b.replace(/^\s+/,"").replace(/\s+$/,"")},b.create=function(a){if(a&&""!==a){var b=document.createElement(a),c=arguments;if(c.length>1)for(var d=0;d<c.length;d++){var e=typeof c[d];"object"===e.toLowerCase()&&2===c[d].length&&b.setAttribute(c[d][0],c[d][1])}return b}},b.text=function(a){return document.createTextNode(a)},b.position=function(a){var b=0,c=0;if(a&&a.offsetParent)do b+=a.offsetLeft,c+=a.offsetTop;while(a==a.offsetParent);return{left:b,top:c}},b.hasClass=function(b,c){return b?a()?b.classList.contains(c):b.className.match(new RegExp("(\\s|^)"+c+"(\\s|$)")):!1},b.addClass=function(b,c){return b?a()?void b.classList.add(c):void(""===b.className?b.className=c:this.hasClass(b,c)||(b.className+=" "+c)):void 0},b.removeClass=function(b,c){if(b){if(a())return void b.classList.remove(c);var d=new RegExp("(\\s|^)"+c+"(\\s|$)","g");b.className=b.className.replace(d,"")}},b.createOpt=function(a,b,c){var d=c?!0:!1,e=d?this.create("option",["value",b],["selected","true"]):this.create("option",["value",b]);return e.appendChild(this.text(a)),e},b.createCheckItem=function(a,b,c){var d=this.create("li"),e=this.create("label",["for",a]),f=this.create("input",["id",a],["name",a],["type","checkbox"],["value",b]);return e.appendChild(f),e.appendChild(this.text(c)),d.appendChild(e),d.label=e,d.check=f,d},b.id=function(a){return document.getElementById(a)},b.tag=function(a,b){return a.getElementsByTagName(b)},b}),define("string",[],function(){var a={};return a.lower=function(a){return a.toLowerCase()},a.upper=function(a){return a.toUpperCase()},a.trim=function(a){return a.trim?a.trim():a.replace(/^\s*|\s*$/g,"")},a.isEmpty=function(a){return""===this.trim(a)},a.rgxEsc=function(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},a.matchCase=function(a,b){return b?a:this.lower(a)},a}),define("cookie",[],function(){var a={};return a.write=function(a,b,c){var d="";c&&(d=new Date((new Date).getTime()+36e5*c),d="; expires="+d.toGMTString()),document.cookie=a+"="+escape(b)+d},a.read=function(a){var b="",c=a+"=";if(document.cookie.length>0){var d=document.cookie,e=d.indexOf(c);if(-1!==e){e+=c.length;var f=d.indexOf(";",e);-1===f&&(f=d.length),b=unescape(d.substring(e,f))}}return b},a.remove=function(a){this.write(a,"",-1)},a.valueToArray=function(a,b){b||(b=",");var c=this.read(a),d=c.split(b);return d},a.getValueByIndex=function(a,b,c){c||(c=",");var d=this.valueToArray(a,c);return d[b]},a}),define("types",[],function(){var a={},b=void 0;return a.isObj=function(a){var b=!1;return"string"==typeof a?window[a]&&"object"==typeof window[a]&&(b=!0):a&&"object"==typeof a&&(b=!0),b},a.isFn=function(a){return a&&a.constructor==Function},a.isArray=function(a){return a&&a.constructor==Array},a.isUndef=function(a){return a===b},a}),define("array",["require","./string"],function(a){var b=a("./string"),c={has:function(a,c,d){for(var e=void 0===d?!1:d,f=0;f<a.length;f++)if(b.matchCase(a[f].toString(),e)==c)return!0;return!1},indexByValue:function(a,c,d){for(var e=void 0===d?!1:d,f=0;f<a.length;f++)if(b.matchCase(a[f].toString(),e)==c)return f;return-1}};return c}),define("helpers",["require"],function(){var a={isIE:function(){return/msie|MSIE/.test(navigator.userAgent)}};return a}),define("date",[],function(){var a={isValid:function(a,b){if(b||(b="DMY"),b=b.toUpperCase(),3!=b.length&&"DDMMMYYYY"===b){var c=this.format(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],parseInt(h,10)<=50&&(h=(parseInt(h,10)+2e3).toString()),parseInt(h,10)<=99&&(h=(parseInt(h,10)+1900).toString());var j=new Date(parseInt(h,10),parseInt(f,10)-1,parseInt(g,10),0,0,0,0);return parseInt(g,10)!=j.getDate()?!1:parseInt(f,10)-1!=j.getMonth()?!1:!0},format:function(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}};return a}),define("modules/loader",["exports","../dom","../types"],function(a,b,c){var d=function(a,b,c){b&&Object.defineProperties(a,b),c&&Object.defineProperties(a.prototype,c)},e=b,f=c,g=window,h=function(){var a=function(a){var b=a.fObj;a.loaderTgtId=b.loader_target_id||null,a.loaderDiv=null,a.loaderText=b.loader_text||"Loading...",a.loaderHtml=b.loader_html||null,a.loaderCssClass=b.loader_css_class||"loader",a.loaderCloseDelay=200,a.onShowLoader=f.isFn(b.on_show_loader)?b.on_show_loader:null,a.onHideLoader=f.isFn(b.on_hide_loader)?b.on_hide_loader:null,this.tf=a;var c=e.create("div",["id",a.prfxLoader+a.id]);c.className=a.loaderCssClass;var d=a.loaderTgtId?e.id(a.loaderTgtId):a.gridLayout?a.tblCont:a.tbl.parentNode;a.loaderTgtId?d.appendChild(c):d.insertBefore(c,a.tbl),a.loaderDiv=e.id(a.prfxLoader+a.id),a.loaderHtml?a.loaderDiv.innerHTML=a.loaderHtml:a.loaderDiv.appendChild(e.text(a.loaderText))};return d(a,null,{show:{writable:!0,value: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.tf.loader&&this.tf.loaderDiv&&this.tf.loaderDiv.style.display!==a){var c=this.tf,d="none"===a?this.tf.loaderCloseDelay:1;g.setTimeout(b,d)}}},remove:{writable:!0,value:function(){if(this.tf.loaderDiv){var a=this.tf.loaderTgtId?e.id(this.tf.loaderTgtId):this.tf.gridLayout?this.tf.tblCont:this.tf.tbl.parentNode;a.removeChild(this.tf.loaderDiv),this.tf.loaderDiv=null}}}}),a}();a.Loader=h}),define("modules/alternateRows",["exports","../dom"],function(a,b){var c=function(a,b,c){b&&Object.defineProperties(a,b),c&&Object.defineProperties(a.prototype,c)},d=b,e=function(){var a=function(a){var b=a.fObj;this.evenCss=b.even_row_css_class||"even",this.oddCss=b.odd_row_css_class||"odd",this.tf=a};return c(a,null,{set:{writable:!0,value:function(){if(this.tf.hasGrid||this.tf.isFirstLoad)for(var a=(this.tf.tbl.rows,null===this.tf.validRowsIndex),b=a?this.tf.refRow:0,c=a?this.tf.nbFilterableRows+b:this.tf.validRowsIndex.length,d=0,e=b;c>e;e++){var f=a?e:this.tf.validRowsIndex[e];this.setRowBg(f,d),d++}}},setRowBg:{writable:!0,value:function(a,b){if(this.tf.alternateBgs&&!isNaN(a)){var c=this.tf.tbl.rows,e=b?b:a;this.removeRowBg(a),d.addClass(c[a],e%2?this.evenCss:this.oddCss)}}},removeRowBg:{writable:!0,value:function(a){if(!isNaN(a)){var b=this.tf.tbl.rows;d.removeClass(b[a],this.oddCss),d.removeClass(b[a],this.evenCss)}}},remove:{writable:!0,value:function(){if(this.tf.hasGrid){for(var a=(this.tf.tbl.rows,this.tf.refRow);a<this.tf.nbRows;a++)this.removeRowBg(a);this.tf.isStartBgAlternate=!0}}},enable:{writable:!0,value:function(){this.tf.alternateBgs=!0}},disable:{writable:!0,value:function(){this.tf.alternateBgs=!1}}}),a}();a.AlternateRows=e}),define("modules/colOps",["exports","../dom","../string"],function(exports,_dom,_string){var _classProps=function(a,b,c){b&&Object.defineProperties(a,b),c&&Object.defineProperties(a.prototype,c)},dom=_dom,str=_string,ColOps=function(){var ColOps=function(a){var b=a.fObj;this.colOperation=b.col_operation,this.tf=a};return _classProps(ColOps,null,{set:{writable:!0,value:function(){if(this.tf.isFirstLoad||this.tf.hasGrid){this.tf.onBeforeOperation&&this.tf.onBeforeOperation.call(null,this.tf);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"==str.lower(typeof labelId)&&"object"==str.lower(typeof colIndex)&&"object"==str.lower(typeof operation))for(var row=this.tf.tbl.rows,colvalues=[],ucol=0;ucolMax>=ucol;ucol++){colvalues.push(this.tf.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]=str.lower(operation[k]),decThisCol[mThisCol]=decimalPrecision[k],labThisCol[mThisCol]=labelId[k],oTypeThisCol=void 0!==outputType&&"object"===str.lower(typeof outputType)?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=isNaN(decThisCol[i])?2:decThisCol[i];if(oTypeThisCol&&result){if(result=result.toFixed(precision),dom.id(labThisCol[i]))switch(str.lower(oTypeThisCol)){case"innerhtml":dom.id(labThisCol[i]).innerHTML=isNaN(result)||!isFinite(result)||0===nbvalues?".":result;break;case"setvalue":dom.id(labThisCol[i]).value=result;break;case"createtextnode":var oldnode=dom.id(labThisCol[i]).firstChild,txtnode=dom.text(result);dom.id(labThisCol[i]).replaceChild(txtnode,oldnode)}}else try{dom.id(labThisCol[i]).innerHTML=isNaN(result)||!isFinite(result)||0===nbvalues?".":result.toFixed(precision)}catch(e){}}var totRow=totRowIndex&&totRowIndex[ucol]?row[totRowIndex[ucol]]:null;totRow&&(totRow.style.display="")}this.tf.onAfterOperation&&this.tf.onAfterOperation.call(null,this.tf)}}}}),ColOps}();exports.ColOps=ColOps}),define("core",["require","event","dom","string","cookie","types","array","helpers","date","date","modules/loader","modules/alternateRows","modules/colOps"],function(a){function b(a){if(0!==arguments.length){if(this.id=a,this.version="3.0",this.year=(new Date).getFullYear(),this.tbl=n.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"!==o.lower(this.tbl.nodeName)||0===this.GetRowsNb())throw new Error("Could not instantiate TF object: HTML table not found.");if(arguments.length>1)for(var b=0;b<arguments.length;b++){var c=arguments[b],d=typeof c;switch(o.lower(d)){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:"",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 i=e["col_"+g],j=i?o.lower(i):this.fltTypeInp;this.fltCol.push(j),this["col"+g]=j}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&&h(),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.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=q.isFn(e.on_before_filter)?e.on_before_filter:null,this.onAfterFilter=q.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:!1,this.colOperation=null,this.hasVisibleRows=e.rows_always_visible?!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=q.isFn(e.on_filters_loaded)?e.on_filters_loaded:null,this.singleSearchFlt=e.single_search_filter===!0?!0:!1,this.onRowValidated=q.isFn(e.on_row_validated)?e.on_row_validated:null,this.customCellDataCols=e.custom_cell_data_cols?e.custom_cell_data_cols:[],this.customCellData=q.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=q.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=q.isFn(e.on_before_active_column)?e.on_before_active_column:null,this.onAfterActiveColumn=q.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=q.isObj(e.custom_slc_options)?!0:!1,this.customSlcOptions=q.isArray(e.custom_slc_options)?e.custom_slc_options:null,this.onBeforeOperation=q.isFn(e.on_before_operation)?e.on_before_operation:null,this.onAfterOperation=q.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=q.isFn(e.on_before_reset)?e.on_before_reset:null,this.onAfterReset=q.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=q.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=q.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=q.isArray(this.hasColNbFormat)?e.col_number_format:null,this.hasColDateType=e.col_date_type===!0?!0:!1,this.colDateType=q.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&&q.isObj(e.themes)?!0:!1,this.themes=this.hasThemes?e.themes:null,this.themesPath=e.themes_path||this.basePath+"TF_Themes/",this.Cpt={loader:null,alternateRows:null,colOps:null};var l=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(l.enterKey){var b=a||k.event;if(b){var c=l.Evt.getKeyCode(b);13===c?(l._Filter(),m.cancel(b),m.stop(b)):(l.isUserTyping=!0,k.clearInterval(l.onKeyUpTimer),l.onKeyUpTimer=void 0)}}},_OnKeyUp:function(a){function b(){k.clearInterval(l.onKeyUpTimer),l.onKeyUpTimer=void 0,l.isUserTyping||(l.Filter(),l.isUserTyping=null)}if(l.onKeyUp){var c=a||k.event,d=l.Evt.getKeyCode(c);l.isUserTyping=!1,13!==d&&9!==d&&27!==d&&38!==d&&40!==d?void 0===l.onKeyUpTimer&&(l.onKeyUpTimer=k.setInterval(b,l.onKeyUpDelay)):(k.clearInterval(l.onKeyUpTimer),l.onKeyUpTimer=void 0)}},_OnKeyDown:function(){l.onKeyUp&&(l.isUserTyping=!0)},_OnInpBlur:function(){l.onKeyUp&&(l.isUserTyping=!1,k.clearInterval(l.onKeyUpTimer)),""===this.value&&""!==l.inpWatermark&&(this.value=l.isInpWatermarkArray?l.inpWatermark[this.getAttribute("ct")]:l.inpWatermark,n.addClass(this,l.inpWatermarkCssClass)),l.ezEditTable&&(l.editable&&l.ezEditTable.Editable.Set(),l.selectable&&l.ezEditTable.Selection.Set())},_OnInpFocus:function(a){var b=a||k.event;if(l.activeFilterId=this.getAttribute("id"),l.activeFlt=n.id(l.activeFilterId),l.isInpWatermarkArray){var c=l.inpWatermark[this.getAttribute("ct")];this.value===c&&""!==c&&(this.value="",n.removeClass(this,l.inpWatermarkCssClass))}else this.value===l.inpWatermark&&""!==l.inpWatermark&&(this.value="",n.removeClass(this,l.inpWatermarkCssClass));l.popUpFilters&&(m.cancel(b),m.stop(b)),l.ezEditTable&&(l.editable&&l.ezEditTable.Editable.Remove(),l.selectable&&l.ezEditTable.Selection.Remove())},_OnSlcFocus:function(a){var b=a||k.event;if(l.activeFilterId=this.getAttribute("id"),l.activeFlt=n.id(l.activeFilterId),l.fillSlcOnDemand&&"0"===this.getAttribute("filled")){var c=this.getAttribute("ct");
l.PopulateSelect(c),s.isIE()||this.setAttribute("filled","1")}l.popUpFilters&&(m.cancel(b),m.stop(b))},_OnSlcChange:function(a){var b=l.activeFlt.getAttribute("colIndex");if(!l.activeFlt||!b||l["col"+b]!==l.fltTypeCheckList||l.Evt._OnSlcChange.caller){var c=a||k.event;l.popUpFilters&&m.stop(c),l.onSlcChange&&l.Filter()}},_OnSlcBlur:function(){},_OnCheckListChange:function(a){l.Evt._OnCheckListChange.caller&&l.Evt._OnSlcChange(a)},_OnCheckListClick:function(){if(l.fillSlcOnDemand&&"0"===this.getAttribute("filled")){var a=this.getAttribute("ct");l.PopulateCheckList(a),l.checkListDiv[a].onclick=null,l.checkListDiv[a].title=""}},_OnCheckListFocus:function(){l.activeFilterId=this.firstChild.getAttribute("id"),l.activeFlt=n.id(l.activeFilterId)},_OnCheckListBlur:function(){},_OnBtnClick:function(){l.Filter()},_OnSlcPagesChangeEvt:null,_EnableSlc:function(){this.firstChild.disabled=!1,this.firstChild.focus(),this.onclick=null},_Clear:function(){l.ClearFilters()},_OnHelpBtnClick:function(){l._ToggleHelp()},_Paging:{nextEvt:null,prevEvt:null,lastEvt:null,firstEvt:null}}}}function c(a,b){return a-b}function d(a,b){return b-a}function e(a,b){var c=o.lower(a),d=o.lower(b);return d>c?-1:c>d?1:0}function f(a,b){if(a){b||(b="us");var c=a;return c="us"===o.lower(b)?+c.replace(/[^\d\.-]/g,""):+c.replace(/[^\d\,-]/g,"").replace(",",".")}}function g(a,b){for(var c=!1,d=b?b:"script",e="script"==d?"src":"href",f=n.tag(v,d),g=0;g<f.length;g++)if(void 0!==f[g][e]&&f[g][e].match(a)){c=!0;break}return c}function h(){if(v.body.__defineGetter__&&HTMLElement){var a=HTMLElement.prototype;a.__defineGetter__&&a.__defineGetter__("outerHTML",function(){var a=this.parentNode,b=n.create(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})}}var k=this,l=k.TF,m=a("event"),n=a("dom"),o=a("string"),p=a("cookie"),q=a("types"),r=a("array"),s=a("helpers"),t=a("date").isValid,u=a("date").format,v=k.document;return b.prototype={init: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 b,c=this.fObj||{},d=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=s.isIE()?this.refRow+1:0),this.loader){var e=a("modules/loader").Loader;this.Cpt.loader=new e(this)}if(this.popUpFilters&&(!this.isFirstLoad&&!this.gridLayout&&this.headersRow--,this.SetPopupFilterIcons()),this.hasResultsPerPage&&(this.resultsPerPage=c.results_per_page||this.resultsPerPage,this.resultsPerPage.length<2?this.hasResultsPerPage=!1:this.pagingLength=this.resultsPerPage[1][0]),this.fltGrid)if(this.isFirstLoad){var f;if(!this.gridLayout){var g=n.tag(this.tbl,"thead");f=g.length>0?g[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(),f.className=this.fltsRowCssClass,this.isExternalFlt&&(!this.gridLayout||this.popUpFilters)&&(f.style.display="none")}this.nbFilterableRows=this.GetRowsNb(),this.nbVisibleRows=this.nbFilterableRows,this.nbRows=this.tbl.rows.length;for(var h=0;d>h;h++){var i=n.create(this.fltCellTag),j=this["col"+h],k=this.isExternalFlt&&this.externalFltTgtIds?this.externalFltTgtIds[h]:null;if(this.singleSearchFlt&&(i.colSpan=this.nbCells),this.gridLayout||f.appendChild(i),b=h==d-1&&this.displayBtn?this.fltSmallCssClass:this.fltCssClass,this.popUpFilters&&this.SetPopupFilter(h),void 0===j&&(j=void 0===c["col_"+h]?this.fltTypeInp:o.lower(c["col_"+h])),this.singleSearchFlt&&(j=this.fltTypeInp,b=this.singleFltCssClass),j===this.fltTypeSlc||j===this.fltTypeMulti){var l=n.create(this.fltTypeSlc,["id",this.prfxFlt+h+"_"+this.id],["ct",h],["filled","0"]);if(j===this.fltTypeMulti&&(l.multiple=this.fltTypeMulti,l.title=this.multipleSlcTooltip),l.className=o.lower(j)===this.fltTypeSlc?b:this.fltMultiCssClass,k?(n.id(k).appendChild(l),this.externalFltEls.push(l)):i.appendChild(l),this.fltIds.push(this.prfxFlt+h+"_"+this.id),this.fillSlcOnDemand||this._PopulateSelect(h),l.onkeypress=this.Evt._DetectKey,l.onchange=this.Evt._OnSlcChange,l.onfocus=this.Evt._OnSlcFocus,l.onblur=this.Evt._OnSlcBlur,this.fillSlcOnDemand){var m=n.createOpt(this.displayAllText,"");l.appendChild(m)}this.fillSlcOnDemand&&s.isIE()&&(l.disabled=!0,l.title=this.activateSlcTooltip,l.parentNode.onclick=this.Evt._EnableSlc,j===this.fltTypeMulti&&this.__deferMultipleSelection(l,0))}else if(j===this.fltTypeCheckList){var q=n.create("div",["id",this.prfxCheckListDiv+h+"_"+this.id],["ct",h],["filled","0"]);q.className=this.checkListDivCssClass,k?(n.id(k).appendChild(q),this.externalFltEls.push(q)):i.appendChild(q),this.checkListDiv[h]=q,this.fltIds.push(this.prfxFlt+h+"_"+this.id),this.fillSlcOnDemand||this._PopulateCheckList(h),q.onclick=this.Evt._OnCheckListFocus,this.fillSlcOnDemand&&(q.onclick=this.Evt._OnCheckListClick,q.appendChild(n.text(this.activateCheckListTxt)))}else{var r=j===this.fltTypeInp?"text":"hidden",t=n.create(this.fltTypeInp,["id",this.prfxFlt+h+"_"+this.id],["type",r],["ct",h]);if("hidden"!=r&&(t.value=this.isInpWatermarkArray?this.inpWatermark[h]:this.inpWatermark),t.className=b,""!==this.inpWatermark&&n.addClass(t,this.inpWatermarkCssClass),t.onfocus=this.Evt._OnInpFocus,k?(n.id(k).appendChild(t),this.externalFltEls.push(t)):i.appendChild(t),this.fltIds.push(this.prfxFlt+h+"_"+this.id),t.onkeypress=this.Evt._DetectKey,t.onkeydown=this.Evt._OnKeyDown,t.onkeyup=this.Evt._OnKeyUp,t.onblur=this.Evt._OnInpBlur,this.rememberGridValues){var u=p.read(this.fltsValuesCookie),v=new RegExp(this.separator,"g"),w=u.split(v);" "!=w[h]&&this.SetFilterValue(h,w[h],!1)}}if(h==d-1&&this.displayBtn){var x=n.create(this.fltTypeInp,["id",this.prfxValButton+h+"_"+this.id],["type","button"],["value",this.btnText]);x.className=this.btnCssClass,k?n.id(k).appendChild(x):i.appendChild(x),x.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){var y=a("modules/alternateRows").AlternateRows;this.Cpt.alternateRows=new y(this),this.Cpt.alternateRows.set()}if(this.hasColOperation){var z=a("modules/colOps").ColOps;this.Cpt.colOps=new z(this),this.Cpt.colOps.set()}(this.sort||this.gridLayout)&&this.SetSort(),(this.selectable||this.editable)&&this.SetEditable(),this.isFirstLoad=!1,this.hasGrid=!0,(this.rememberGridValues||this.rememberPageLen||this.rememberPageNb)&&this.ResetValues(),this.gridLayout||n.addClass(this.tbl,this.prfxTf),this.loader&&this.Cpt.loader.show("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.Cpt.loader.show("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.Cpt.loader.show(""),this.StatusMsg(d["msg"+a])}catch(i){}k.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&&q.isArray(this.extensions.name)&&q.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),g(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")),q.isArray(this.themes.name)&&q.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,h=b.description&&b.description[c]?b.description[c]:null;this.Thm.add(e,h,d,f),g(d,"link")||this.IncludeFile(e,d,null,"link"),q.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.Cpt.loader.remove(),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"===o.lower(e.nodeName)&&d.removeAttribute("validRow")}this.alternateBgs&&this.Cpt.alternateRows.removeRowBg(b)}this.fltGrid&&!this.gridLayout&&(this.fltGridEl=a[this.filtersRowIndex],this.tbl.deleteRow(this.filtersRowIndex)),this.gridLayout&&this.RemoveGridLayout(),n.removeClass(this.tbl,this.prfxTf),this.activeFlt=null,this.isStartBgAlternate=!0,this.hasGrid=!1}},SetTopDiv:function(){if(null===this.infDiv){var a=n.create("div",["id",this.prfxInfDiv+this.id]);a.className=this.infDivCssClass,this.toolBarTgtId?n.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=n.id(this.prfxInfDiv+this.id);var b=n.create("div",["id",this.prfxLDiv+this.id]);b.className=this.lDivCssClass,a.appendChild(b),this.lDiv=n.id(this.prfxLDiv+this.id);var c=n.create("div",["id",this.prfxRDiv+this.id]);c.className=this.rDivCssClass,a.appendChild(c),this.rDiv=n.id(this.prfxRDiv+this.id);var d=n.create("div",["id",this.prfxMDiv+this.id]);d.className=this.mDivCssClass,a.appendChild(d),this.mDiv=n.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=n.id(b);c&&(c.innerHTML="")}},SetSort:function(){var a=this.Evt._EnableSort,b=this.sortConfig;if(!q.isFn(a)){var c=this;this.Evt._EnableSort=function(){(!c.isSortEnabled||c.gridLayout)&&(g(b.adapterSrc)?b.initialize.call(null,c):c.IncludeFile(b.name+"_adapter",b.adapterSrc,function(){b.initialize.call(null,c)}))}}g(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;g(a.src)?this._EnableEditable():this.IncludeFile(a.name,a.src,this._EnableEditable),a.loadStylesheet&&!g(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=n.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=r.has(f,h.rowIndex),l=34===j||33===j?a.pagingLength||b.nbRowsPerPage:1;if(k)34!==j&&33!==j?(a._lastValidRowIndex=r.indexByValue(f,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=r.indexByValue(f,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.Cpt.alternateRows.set(),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.Cpt.alternateRows.set(),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=q.isFn(a.on_before_change_page)?a.on_before_change_page:null,this.onAfterChangePage=q.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||k.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&&s.isIE()&&this.parentNode.focus()});var e;this.pageSelectorType===this.fltTypeSlc&&(e=n.create(this.fltTypeSlc,["id",this.prfxSlcPages+this.id]),e.className=this.pgSlcCssClass,e.onchange=this.Evt._OnSlcPagesChange),this.pageSelectorType===this.fltTypeInp&&(e=n.create(this.fltTypeInp,["id",this.prfxSlcPages+this.id],["value",this.currentPageNb]),e.className=this.pgInpCssClass,e.onkeypress=this.Evt._Paging._detectKey);var f=n.create("span",["id",this.prfxBtnNextSpan+this.id]),g=n.create("span",["id",this.prfxBtnPrevSpan+this.id]),h=n.create("span",["id",this.prfxBtnLastSpan+this.id]),i=n.create("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=n.create(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 l=n.create(this.fltTypeInp,["id",this.prfxBtnPrev+this.id],["type","button"],["value",this.btnPrevPageText],["title","Previous"]);l.className=this.btnPageCssClass,l.onclick=this.Evt._Paging.prev,g.appendChild(l)}if(this.btnLastPageHtml)h.innerHTML=this.btnLastPageHtml,h.onclick=this.Evt._Paging.last;else{var m=n.create(this.fltTypeInp,["id",this.prfxBtnLast+this.id],["type","button"],["value",this.btnLastPageText],["title","Last"]);m.className=this.btnPageCssClass,m.onclick=this.Evt._Paging.last,h.appendChild(m)}if(this.btnFirstPageHtml)i.innerHTML=this.btnFirstPageHtml,i.onclick=this.Evt._Paging.first;else{var o=n.create(this.fltTypeInp,["id",this.prfxBtnFirst+this.id],["type","button"],["value",this.btnFirstPageText],["title","First"]);o.className=this.btnPageCssClass,o.onclick=this.Evt._Paging.first,i.appendChild(o)}}this.pagingTgtId||this.SetTopDiv();var p=this.pagingTgtId?n.id(this.pagingTgtId):this.mDiv;""!==p.innerHTML&&(p.innerHTML=""),p.appendChild(i),p.appendChild(g);var r=n.create("span",["id",this.prfxPgBeforeSpan+this.id]);r.appendChild(n.text(this.pageText)),r.className=this.nbPgSpanCssClass,p.appendChild(r),p.appendChild(e);var t=n.create("span",["id",this.prfxPgAfterSpan+this.id]);t.appendChild(n.text(this.ofText)),t.className=this.nbPgSpanCssClass,p.appendChild(t);var u=n.create("span",["id",this.prfxPgSpan+this.id]);u.className=this.nbPgSpanCssClass,u.appendChild(n.text(" "+this.nbPages+" ")),p.appendChild(u),p.appendChild(f),p.appendChild(h),this.pagingSlc=n.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=n.id(this.prfxBtnNextSpan+this.id),b=n.id(this.prfxBtnPrevSpan+this.id),c=n.id(this.prfxBtnLastSpan+this.id),d=n.id(this.prfxBtnFirstSpan+this.id),e=n.id(this.prfxPgBeforeSpan+this.id),f=n.id(this.prfxPgAfterSpan+this.id),g=n.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?n.id(this.pagingTgtId):this.mDiv,d=n.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.Cpt.alternateRows(this.validRowsIndex[d],d)):(e.style.display="none",this.alternateBgs&&this.Cpt.alternateRows.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(o.lower(a)){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&&s.isIE()&&this.parentNode.focus()}}var b=n.create(this.fltTypeSlc,["id",this.prfxSlcResults+this.id]);b.className=this.resultsSlcCssClass;var c=this.resultsPerPage[0],d=this.resultsPerPage[1],e=n.create("span",["id",this.prfxSlcResultsTxt+this.id]);e.className=this.resultsSpanCssClass,this.resultsPerPageTgtId||this.SetTopDiv();var f=this.resultsPerPageTgtId?n.id(this.resultsPerPageTgtId):this.rDiv;e.appendChild(n.text(c)),f.appendChild(e),f.appendChild(b),this.resultsPerPageSlc=n.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=n.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=n.create("span",["id",this.prfxHelpSpan+this.id]),c=n.create("div",["id",this.prfxHelpDiv+this.id]);this.helpInstrTgtId||this.SetTopDiv();var d=this.helpInstrTgtId?n.id(this.helpInstrTgtId):this.rDiv;d.appendChild(b);var e=this.helpInstrContTgtId?n.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=n.create("a",["href","javascript:void(0);"]);g.className=this.helpInstrBtnCssClass,g.appendChild(n.text(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=n.position(this.helpInstrBtnEl).left;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=p.read(a);""!==b&&this.ChangePage(b-1)},ResetPageLength:function(){this.EvtManager(this.Evt.name.resetpagelength)},_ResetPageLength:function(a){if(this.paging){var b=p.read(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,f,g){function h(){if("innerhtml"===t)v+='<option value="">'+m.displayAllText+"</option>";else{var a=n.createOpt(m.enableSlcResetFilter?m.displayAllText:"","");if(m.enableSlcResetFilter||(a.style.display="none"),l.appendChild(a),m.enableEmptyOption){var b=n.createOpt(m.emptyText,m.emOperator);l.appendChild(b)}if(m.enableNonEmptyOption){var c=n.createOpt(m.nonEmptyText,m.nmOperator);l.appendChild(c)}}}function i(){var c=l.value;l.innerHTML="",h();for(var d=0;d<u.length;d++)if(""!==u[d]){var e=u[d],f=w?x[d]:e,g=!1;if(b&&m.disableExcludedOptions&&r.has(A,o.matchCase(e,m.matchCase),m.matchCase)&&(g=!0),"innerhtml"===t){var i="";m.fillSlcOnDemand&&c==u[d]&&(i='selected="selected"'),v+='<option value="'+e+'" '+i+(g?'disabled="disabled"':"")+">"+f+"</option>"}else{var j;j=m.fillSlcOnDemand&&c==u[d]&&m["col"+a]===m.fltTypeSlc?n.createOpt(f,e,!0):m["col"+a]!=m.fltTypeMulti?n.createOpt(f,e," "!==y[a]&&e==y[a]?!0:!1):n.createOpt(f,e,r.has(z,o.matchCase(u[d],m.matchCase),m.matchCase)||-1!==z.toString().indexOf(e)?!0:!1),g&&(j.disabled=!0),l.appendChild(j)}}"innerhtml"===t&&(l.innerHTML+=v),l.setAttribute("filled","1")}f=void 0===f?!1:f;var j=this.fltIds[a];if((n.id(j)||f)&&(n.id(g)||!f)){var k,l=n.id(f?g:j),m=this,q=this.tbl.rows,s=this.matchCase,t=o.lower(this.slcFillingMethod),u=[],v="",w=this.hasCustomSlcOptions&&r.has(this.customSlcOptions.cols,a),x=[];b&&this.activeFilterId&&(k=this.activeFilterId.split("_")[0],k=k.split(this.prfxFlt)[1]);var y=[],z=[];this.rememberGridValues&&(y=p.valueToArray(this.fltsValuesCookie,this.separator),y&&!o.isEmpty(y.toString())&&(w?z.push(y[a]):z=y[a].split(" "+m.orOperator+" ")));var A=null,B=null;b&&this.disableExcludedOptions&&(A=[],B=[]);for(var C=this.refRow;C<this.nbRows;C++)if(!this.hasVisibleRows||!r.has(this.visibleRows,C)||this.paging){var D=q[C].cells,E=D.length;if(E===this.nbCells&&!w)for(var F=0;E>F;F++)if(a===F&&(!b||b&&this.disableExcludedOptions)||a==F&&b&&(""===q[C].style.display&&!this.paging||this.paging&&(!this.validRowsIndex||this.validRowsIndex&&r.has(this.validRowsIndex,C))&&(void 0===k||k==a||k!=a&&r.has(this.validRowsIndex,C)))){var G=this.GetCellData(F,D[F]),H=o.matchCase(G,s);if(r.has(u,H,s)||u.push(G),b&&this.disableExcludedOptions){var I=B[F];I||(I=this.GetFilteredDataCol(F)),!r.has(I,H,s)&&!r.has(A,H,s)&&!this.isFirstLoad&&A.push(G)}}}if(w){var J=this.__getCustomValues(a);u=J[0],x=J[1]}if(this.sortSlc&&!w&&(s?(u.sort(),A&&A.sort()):(u.sort(e),A&&A.sort(e))),this.sortNumAsc&&r.has(this.sortNumAsc,a))try{u.sort(c),A&&A.sort(c),w&&x.sort(c)}catch(K){u.sort(),A&&A.sort(),w&&x.sort()}if(this.sortNumDesc&&r.has(this.sortNumDesc,a))try{u.sort(d),A&&A.sort(d),w&&x.sort(d)}catch(K){u.sort(),A&&A.sort(),w&&x.sort()}i()}},__deferMultipleSelection:function(a,b,c){if("select"===o.lower(a.nodeName)){var d=void 0===c?!1:c,e=this;k.setTimeout(function(){a.options[0].selected=!1,""===a.options[b].value?a.options[b].selected=!1:(a.options[b].selected=!0,d&&e.Filter())},.1)}},__getCustomValues:function(a){if(a){var b=this.hasCustomSlcOptions&&r.has(this.customSlcOptions.cols,a);if(b){for(var c=[],d=[],e=r.indexByValue(this.customSlcOptions.cols,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,f){function g(){var b=1,c=n.createCheckItem(m.fltIds[a]+"_0","",m.displayAllText);if(c.className=m.checkListItemCssClass,k.appendChild(c),c.check.onclick=function(a){m.__setCheckListValues(this),k.onchange.call(null,a)},m.enableCheckListResetFilter||(c.style.display="none"),s.isIE()&&(c.label.onclick=function(){c.check.click()}),m.enableEmptyOption){var d=n.createCheckItem(m.fltIds[a]+"_1",m.emOperator,m.emptyText);d.className=m.checkListItemCssClass,k.appendChild(d),d.check.onclick=function(a){m.__setCheckListValues(this),k.onchange.call(null,a)},s.isIE()&&(d.label.onclick=function(){d.check.click()}),b++}if(m.enableNonEmptyOption){var e=n.createCheckItem(m.fltIds[a]+"_2",m.nmOperator,m.nonEmptyText);e.className=m.checkListItemCssClass,k.appendChild(e),e.check.onclick=function(a){m.__setCheckListValues(this),k.onchange.call(null,a)},s.isIE()&&(e.label.onclick=function(){e.check.click()}),b++}return b}function h(b){function c(a){m.__setCheckListValues(this),k.onchange.call(null,a)}function d(){this.firstChild.click()}var e=g(),f=[],h=p.getValueByIndex(m.fltsValuesCookie,a,b);h&&o.trim(h).length>0&&(m.hasCustomSlcOptions&&r.has(m.customSlcOptions.cols,a)?f.push(h):f=h.split(" "+m.orOperator+" "));for(var i=0;i<t.length;i++){var j=t[i],l=u?v[i]:j,q=n.createCheckItem(m.fltIds[a]+"_"+(i+e),j,l);q.className=m.checkListItemCssClass,m.refreshFilters&&m.disableExcludedOptions&&r.has(w,o.matchCase(j,m.matchCase),m.matchCase)?(n.addClass(q,m.checkListItemDisabledCssClass),q.check.disabled=!0,q.disabled=!0):q.check.onclick=c,k.appendChild(q),""===j&&(q.style.display="none"),m.rememberGridValues&&(m.hasCustomSlcOptions&&r.has(m.customSlcOptions.cols,a)&&-1!=f.toString().indexOf(j)||r.has(f,o.matchCase(j,m.matchCase),m.matchCase))&&(q.check.checked=!0,m.__setCheckListValues(q.check)),s.isIE()&&(q.label.onclick=d)}}b=b?b:!1;var i=this.prfxCheckListDiv+a+"_"+this.id;if((n.id(i)||b)&&(n.id(f)||!b)){var j=b?n.id(f):this.checkListDiv[a],k=n.create("ul",["id",this.fltIds[a]],["colIndex",a]);k.className=this.checkListCssClass,k.onchange=this.Evt._OnCheckListChange;var l,m=this,q=this.tbl.rows,t=[],u=this.hasCustomSlcOptions&&r.has(this.customSlcOptions.cols,a),v=[];this.refreshFilters&&this.activeFilterId&&(l=this.activeFilterId.split("_")[0],l=l.split(this.prfxFlt)[1]);var w,x=[];this.refreshFilters&&this.disableExcludedOptions&&(w=[]);for(var y=this.refRow;y<this.nbRows;y++)if(!this.hasVisibleRows||!r.has(this.visibleRows,y)||this.paging){var z=q[y].cells,A=z.length;if(A==this.nbCells&&!u)for(var B=0;A>B;B++)if(a===B&&(!this.refreshFilters||this.refreshFilters&&this.disableExcludedOptions)||a===B&&this.refreshFilters&&(""===q[y].style.display&&!this.paging||this.paging&&(!l||l===a||l!=a&&r.has(this.validRowsIndex,y)))){var C=this.GetCellData(B,z[B]),D=o.matchCase(C,this.matchCase);r.has(t,D,this.matchCase)||t.push(C);var E=x[B];this.refreshFilters&&this.disableExcludedOptions&&(E||(x[B]=this.GetFilteredDataCol(B)),!r.has(E,D,this.matchCase)&&!r.has(w,D,this.matchCase)&&!this.isFirstLoad&&w.push(C))}}if(u){var F=this.__getCustomValues(a);t=F[0],v=F[1]}if(this.sortSlc&&!u&&(this.matchCase?(t.sort(),w&&w.sort()):(t.sort(e),w&&w.sort(e))),this.sortNumAsc&&r.has(this.sortNumAsc,a))try{t.sort(c),w&&w.sort(c),u&&v.sort(c)}catch(G){t.sort(),w&&w.sort(),u&&v.sort()}if(this.sortNumDesc&&r.has(this.sortNumDesc,a))try{t.sort(d),w&&w.sort(d),u&&v.sort(d)}catch(G){t.sort(),w&&w.sort(),u&&v.sort()}if(h(this.separator),this.fillSlcOnDemand&&(j.innerHTML=""),j.appendChild(k),j.setAttribute("filled","1"),m.rememberGridValues&&s.isIE()){var H=k.getAttribute("indexes");if(H)for(var I=H.split(","),J=0;J<I.length;J++){var K=n.id(this.fltIds[a]+"_"+I[J]);K&&(K.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;o.lower(f.nodeName)!==d;)f=f.parentNode;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=n.id(this.fltIds[h]+"_"+k[l]);m&&(m.checked=!1,n.removeClass(f.childNodes[k[l]],this.checkListSlcItemCssClass))}f.setAttribute("value",""),f.setAttribute("indexes","")}else i=i?i:"",b=o.trim(i+" "+b+" "+this.orOperator),c=j+c+this.separator,f.setAttribute("value",b),f.setAttribute("indexes",c),n.id(this.fltIds[h]+"_0")&&(n.id(this.fltIds[h]+"_0").checked=!1);o.lower(g.nodeName)===e&&(n.removeClass(f.childNodes[0],this.checkListSlcItemCssClass),n.addClass(g,this.checkListSlcItemCssClass))}else{if(""!==b){var p=new RegExp(o.rgxEsc(b+" "+this.orOperator));i=i.replace(p,""),f.setAttribute("value",o.trim(i));var q=new RegExp(o.rgxEsc(c+this.separator));j=j.replace(q,""),f.setAttribute("indexes",j)}o.lower(g.nodeName)===e&&n.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=n.create("span",["id",this.prfxResetSpan+this.id]);this.btnResetTgtId||this.SetTopDiv();var c=this.btnResetTgtId?n.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=n.create("a",["href","javascript:void(0);"]);e.className=this.btnResetCssClass,e.appendChild(n.text(this.btnResetText)),b.appendChild(e),e.onclick=this.Evt._Clear}this.btnResetEl=n.id(this.prfxResetSpan+this.id).firstChild}},RemoveResetBtn:function(){if(this.hasGrid&&this.btnResetEl){var a=n.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=n.create("div",["id",this.prfxStatus+this.id]);b.className=this.statusBarCssClass;var c=n.create("span",["id",this.prfxStatusSpan+this.id]),d=n.create("span",["id",this.prfxStatusTxt+this.id]);d.appendChild(n.text(this.statusBarText)),this.onBeforeShowMsg=q.isFn(a.on_before_show_msg)?a.on_before_show_msg:null,this.onAfterShowMsg=q.isFn(a.on_after_show_msg)?a.on_after_show_msg:null,this.statusBarTgtId||this.SetTopDiv();var e=this.statusBarTgtId?n.id(this.statusBarTgtId):this.lDiv;this.statusBarDiv&&s.isIE()&&(this.statusBarDiv.outerHTML=""),this.statusBarTgtId?(e.appendChild(d),e.appendChild(c)):(b.appendChild(d),b.appendChild(c),e.appendChild(b)),this.statusBarDiv=n.id(this.prfxStatus+this.id),this.statusBarSpan=n.id(this.prfxStatusSpan+this.id),this.statusBarSpanText=n.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),k.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;k.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=q.isFn(a.on_before_refresh_counter)?a.on_before_refresh_counter:null,this.onAfterRefreshCounter=q.isFn(a.on_after_refresh_counter)?a.on_after_refresh_counter:null;var b=n.create("div",["id",this.prfxCounter+this.id]);b.className=this.totRowsCssClass;var c=n.create("span",["id",this.prfxTotRows+this.id]),d=n.create("span",["id",this.prfxTotRowsTxt+this.id]);d.appendChild(n.text(this.rowsCounterText)),this.rowsCounterTgtId||this.SetTopDiv();var e=this.rowsCounterTgtId?n.id(this.rowsCounterTgtId):this.lDiv;this.rowsCounterDiv&&s.isIE()&&(this.rowsCounterDiv.outerHTML=""),this.rowsCounterTgtId?(e.appendChild(d),e.appendChild(c)):(b.appendChild(d),b.appendChild(c),e.appendChild(b)),this.rowsCounterDiv=n.id(this.prfxCounter+this.id),this.rowsCounterSpan=n.id(this.prfxTotRows+this.id),this.RefreshNbRows()}},RemoveRowsCounter:function(){this.hasGrid&&this.rowsCounterSpan&&(!this.rowsCounterTgtId&&this.rowsCounterDiv?s.isIE()?this.rowsCounterDiv.outerHTML="":this.rowsCounterDiv.parentNode.removeChild(this.rowsCounterDiv):n.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:""),n.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=n.create("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=n.create("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=n.create("div",["id",this.prfxHeadTblCont+this.id]),this.headTblCont.className=this.gridHeadContCssClass,this.gridWidth&&(this.headTblCont.style.width=this.gridWidth),this.headTbl=n.create("table",["id",this.prfxHeadTbl+this.id]);for(var h=n.create("tHead"),i=this.tbl.rows[this.gridHeadRowIndex],j=[],m=0;m<this.nbCells;m++){var p=i.cells[m],r=p.getAttribute("id");r&&""!==r||(r=this.prfxGridTh+m+"_"+this.id,p.setAttribute("id",r)),j.push(r)}var t=n.create("tr");if(this.gridEnableFilters&&this.fltGrid){this.externalFltTgtIds=[];for(var u=0;u<this.nbCells;u++){var v=this.prfxFlt+u+this.prfxGridFltTd+this.id,w=n.create(this.fltCellTag,["id",v]);t.appendChild(w),this.externalFltTgtIds[u]=v}}for(var x=0;x<this.gridHeadRows.length;x++){var y=this.tbl.rows[this.gridHeadRows[0]];h.appendChild(y)}this.headTbl.appendChild(h),0===this.filtersRowIndex?h.insertBefore(t,i):h.appendChild(t),this.headTblCont.appendChild(this.headTbl),this.tblCont.parentNode.insertBefore(this.headTblCont,this.tblCont);var z=n.tag(this.tbl,"thead");z.length>0&&this.tbl.removeChild(z[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="",s.isIE()&&(this.headTbl.style.width="");var A=this;if(this.tblCont.onscroll=function(){A.headTblCont.scrollLeft=this.scrollLeft;var a=this;if(!A.isPointerXOverwritten)try{l.Evt.pointerX=function(b){b=b||k.event;var c=tf_StandardBody().scrollLeft+a.scrollLeft;return b.pageX+a.scrollLeft||b.clientX+c},A.isPointerXOverwritten=!0}catch(b){A.isPointerXOverwritten=!1}},a.sort!==!1&&(this.sort=!0,this.sortConfig.asyncSort=!0,this.sortConfig.triggerIds=j),this.gridEnableColResizer&&(this.hasExtensions?this.__containsStr("colsresizer",o.lower(this.extensions.src.toString()))||(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,A.tblHasColTag=n.tag(A.tbl,"col").length>0?!0:!1,!s.isIE()){var B=function(a){if(a){for(var b=a.nbCells-1;b>=0;b--){var c=n.create("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(A.tblHasColTag)for(var C=n.tag(A.tbl,"col"),D=0;D<A.nbCells;D++)C[D].setAttribute("id",A.id+"_col_"+D),C[D].style.width=A.colWidth[D],A.gridColElms.push(C[D]);else B(A)}if(s.isIE()){var E,F=n.tag(A.tbl,"tbody");E=F.length>0?F[0].insertRow(0):A.tbl.insertRow(0),E.style.height="0px";for(var G=0;G<A.nbCells;G++){var H=n.create("td",["id",A.id+"_col_"+G]);H.style.width=A.colWidth[G],A.tbl.rows[1].cells[G].style.width="",E.appendChild(H),A.gridColElms.push(H)}this.hasGridWidthsRow=!0,A.leadColWidthsRow=A.tbl.rows[0],A.leadColWidthsRow.setAttribute("validRow","false");var I=q.isFn(a.on_before_sort)?a.on_before_sort:null;a.on_before_sort=function(a,b){a.leadColWidthsRow.setAttribute("validRow","false"),I&&I.call(null,a,b)};var J=q.isFn(a.on_after_sort)?a.on_after_sort:null;a.on_after_sort=function(a,b){if(0!==a.leadColWidthsRow.rowIndex){{a.leadColWidthsRow}F.length>0?F[0].moveRow(a.leadColWidthsRow.rowIndex,0):a.tbl.moveRow(a.leadColWidthsRow.rowIndex,0)}J&&J.call(null,a,b)}}var K=q.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;s.isIE()&&(a.tbl.style.width=a.headTbl.clientWidth+"px"),e!=f&&!s.isIE()&&(a.headTbl.style.width=a.tbl.clientWidth+"px"),K&&K.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=n.id(this.id)}},SetPopupFilterIcons:function(){function a(a){var b=a||k.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(s.isIE()){var h=n.position(f).left;e.style.left=h+"px"}e.style.width=parseInt(g,10)+"px"}b.cancel(b),b.stop(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=q.isFn(b.on_before_popup_filter_open)?b.on_before_popup_filter_open:null,this.onAfterPopUpOpen=q.isFn(b.on_after_popup_filter_open)?b.on_after_popup_filter_open:null,this.onBeforePopUpClose=q.isFn(b.on_before_popup_filter_close)?b.on_before_popup_filter_close:null,this.onAfterPopUpClose=q.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=n.create("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:n.create("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){m.stop(a||k.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),p.write(a,b.join(this.separator),this.cookieDuration)},RememberPageNb:function(a){p.write(a,this.currentPageNb,this.cookieDuration)},RememberPageLength:function(a){p.write(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=p.read(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=n.id(this.fltIds[g]);if(k.options[0].selected=!1,r.has(e,g)&&(i=n.createOpt(d[g],d[g],!0),k.appendChild(i),this.hasStoredValues=!0),r.has(f,g))for(h=d[g].split(" "+this.orOperator+" "),j=0;j<h.length;j++)""!==h[j]&&(i=n.createOpt(h[j],h[j],!0),k.appendChild(i),this.hasStoredValues=!0,s.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=n.create("ul",["id",this.fltIds[g]],["colIndex",g]);m.className=this.checkListCssClass;var o=n.createCheckItem(this.fltIds[g]+"_0","",this.displayAllText);for(o.className=this.checkListItemCssClass,m.appendChild(o),l.appendChild(m),d[g].split(" "+this.orOperator+" "),j=0;j<h.length;j++)if(""!==h[j]){var q=n.createCheckItem(this.fltIds[g]+"_"+(j+1),h[j],h[j]);q.className=this.checkListItemCssClass,m.appendChild(q),q.check.checked=!0,this.__setCheckListValues(q.check),this.hasStoredValues=!0}}}!this.hasStoredValues&&this.paging&&this.SetPagingInfo()}}},SetFixedHeaders:function(){if((this.hasGrid||this.isFirstLoad)&&this.fixedHeaders&&!this.contDiv){var a=n.tag(this.tbl,"thead");if(0!==a.length){var b=n.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=n.create("div",["id",this.prfxContentDiv+this.id]);c.className=this.contDivCssClass,this.tbl.parentNode.insertBefore(c,this.tbl),c.appendChild(this.tbl),this.contDiv=n.id(this.prfxContentDiv+this.id),this.contDiv.style.position="relative";for(var d=0,e=n.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=n.tag(this.tbl,"tfoot");if(0===g.length)return;for(var h=n.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=n.tag(this.tbl,"thead");if(0===a.length)return;var b=n.tag(a[0],"tr");if(0===b.length)return;for(var c=0;c<b.length;c++)b[c].style.cssText="";var d=n.tag(this.tbl,"tfoot");if(0===d.length)return;for(var e=n.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=n.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(g.highlightKeywords&&b){a=a.replace(q,""),a=a.replace(s,""),a=a.replace(v,""),a=a.replace(w,"");var d=a;(j.test(a)||k.test(a)||l.test(a)||m.test(a)||p.test(a))&&(d=n.getText(c)),""!==d&&g.HighlightWord(c,d,g.highlightCssClass)}}function b(a,b,c){var e,n,r,B=l.test(a),C=j.test(a),D=m.test(a),E=k.test(a),F=p.test(a),G=s.test(a),H=q.test(a),I=(x.test(a),v.test(a)),K=w.test(a),L=y===a,M=z===a,N=A.test(a),O=B&&t(a.replace(l,""),J),P=C&&t(a.replace(j,""),J),Q=D&&t(a.replace(m,""),J),R=E&&t(a.replace(k,""),J),S=F&&t(a.replace(p,""),J),T=G&&t(a.replace(s,""),J);if(t(b,J))n=u(b,J),O?(r=u(a.replace(l,""),J),e=r>n):P?(r=u(a.replace(j,""),J),e=r>=n):R?(r=u(a.replace(k,""),J),e=n>=r):Q?(r=u(a.replace(m,""),J),e=n>r):S?(r=u(a.replace(p,""),J),e=n.toString()!=r.toString()):T?(r=u(a.replace(s,""),J),e=n.toString()==r.toString()):q.test(a)?e=g.__containsStr(a.replace(q,""),b,null,!1):t(a,J)?(r=u(a,J),e=n.toString()==r.toString()):L?e=o.isEmpty(b):M&&(e=!o.isEmpty(b));else if(g.hasColNbFormat&&g.colNbFormat[c]?(h=f(b,g.colNbFormat[c]),i=g.colNbFormat[c]):","===g.thousandsSeparator&&"."===g.decimalSeparator?(h=f(b,"us"),i="us"):(h=f(b,"eu"),i="eu"),C)e=h<=f(a.replace(j,""),i);else if(E)e=h>=f(a.replace(k,""),i);else if(B)e=h<f(a.replace(l,""),i);else if(D)e=h>f(a.replace(m,""),i);else if(F)e=g.__containsStr(a.replace(p,""),b)?!1:!0;else if(H)e=g.__containsStr(a.replace(q,""),b,null,!1);else if(G)e=g.__containsStr(a.replace(s,""),b,null,!0);else if(I)e=0===b.indexOf(a.replace(v,""))?!0:!1;else if(K){var U=a.replace(w,"");e=b.lastIndexOf(U,b.length-1)===b.length-1-(U.length-1)&&b.lastIndexOf(U,b.length-1)>-1?!0:!1}else if(L)e=o.isEmpty(b);else if(M)e=!o.isEmpty(b);else if(N)try{var V=a.replace(A,""),W=new RegExp(V);e=W.test(b)}catch(X){e=!1}else{var Y=d["col_"+c];e=g.__containsStr(a,b,Y?Y: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 g=this;this.highlightKeywords&&this.UnhighlightAll(),this.popUpFilters&&this.SetAllPopupFiltersIcon(),this.markActiveColumns&&this.ClearActiveColumns(),this.searchArgs=this.GetFiltersValue();for(var h,i,j=new RegExp(this.leOperator),k=new RegExp(this.geOperator),l=new RegExp(this.lwOperator),m=new RegExp(this.grOperator),p=new RegExp(this.dfOperator),q=new RegExp(o.rgxEsc(this.lkOperator)),s=new RegExp(this.eqOperator),v=new RegExp(this.stOperator),w=new RegExp(this.enOperator),x=new RegExp(this.anOperator),y=(new RegExp(this.curExp),this.emOperator),z=this.nmOperator,A=new RegExp(o.rgxEsc(this.rgxOperator)),B=this.refRow;B<this.nbRows;B++){"none"===c[B].style.display&&(c[B].style.display="");
var C=c[B].cells,D=C.length;if(D===this.nbCells){for(var E=[],F="include"===this.searchType?!0:!1,G=!1,H=0;D>H;H++){var I=this.searchArgs[this.singleSearchFlt?0:H],J=this.hasColDateType?this.colDateType[H]:this.defaultDateType;if(""!==I){var K=o.matchCase(this.GetCellData(H,C[H]),this.matchCase),L=I.split(this.orOperator),M=L.length>1?!0:!1,N=I.split(this.anOperator),O=N.length>1?!0:!1;if(M||O){for(var P,Q=!1,R=M?L:N,S=0;S<R.length&&(P=o.trim(R[S]),Q=b(P,K,H),a(P,Q,C[H]),!M||!Q)&&(!O||Q);S++);E[H]=Q}else E[H]=b(o.trim(I),K,H),a(I,E[H],C[H]);E[H]||(F="include"===this.searchType?!1:!0),this.singleSearchFlt&&E[H]&&(G=!0),this.popUpFilters&&this.SetPopupFilterIcon(H,!0),this.markActiveColumns&&B===this.refRow&&(this.onBeforeActiveColumn&&this.onBeforeActiveColumn.call(null,this,H),n.addClass(this.GetHeaderElement(H),this.activeColumnsCssClass),this.onAfterActiveColumn&&this.onAfterActiveColumn.call(null,this,H))}}this.singleSearchFlt&&G&&(F=!0),F?(this.SetRowValidation(B,!0),this.validRowsIndex.push(B),this.alternateBgs&&this.Cpt.alternateRows.setRowBg(B,this.validRowsIndex.length),this.onRowValidated&&this.onRowValidated.call(null,this,B)):(this.SetRowValidation(B,!1),this.hasVisibleRows&&r.has(this.visibleRows,B)&&!this.paging?this.validRowsIndex.push(B):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&&o.lower(this.activeFlt.nodeName)===this.fltTypeSlc&&!this.popUpFilters&&(this.activeFlt.blur(),this.activeFlt.parentNode&&this.activeFlt.parentNode.focus()),this.visibleRows&&this.SetVisibleRows(),this.hasColOperation&&this.Cpt.colOps.set(),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=[],g=this.refRow;g<this.nbRows;g++){var h=!1;c&&q.isArray(c)&&(h=r.has(c,g));var i=d[g].cells,j=i.length;if(j==this.nbCells&&!h)for(var k=0;j>k;k++)if(k===a&&""===d[g].style.display){var l=o.lower(this.GetCellData(k,i[k])),m=this.colNbFormat?this.colNbFormat[a]:null,n=b?f(l,m):l;e.push(n)}}return e}},GetFilterValue:function(a){if(this.fltGrid){var b,c=this.GetFilterElement(a);if(!c)return"";var d=this.fltCol[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(o.trim(o.matchCase(this.GetFilterValue(b),this.matchCase)));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===o.lower(a)){var f=b?d:this.fltIds[d];c.push(f)}}return c}},GetFilterElement:function(a){return this.fltGrid?n.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&&r.has(this.customCellDataCols,a)?this.customCellData.call(null,this,b,a):n.getText(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||q.isObj(a)?a.style.display:void 0},SetRowValidation:function(a,b){var c=this.tbl.rows[a];if(c&&"boolean"===o.lower(typeof b)){this.hasVisibleRows&&r.has(this.visibleRows,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&&n.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&&r.has(g,d.options[i].value,!0))if(s.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=o.matchCase(b,this.matchCase);for(var k=b.split(" "+this.orOperator+" "),l=(d.setAttribute("value",""),d.setAttribute("indexes",""),0);l<n.tag(d,"li").length;l++){var m=n.tag(d,"li")[l],p=n.tag(m,"label")[0],q=n.tag(m,"input")[0],t=o.matchCase(n.getText(p),this.matchCase);""!==t&&r.has(k,t,!0)?(q.checked=!0,this.__setCheckListValues(q)):(q.checked=!1,this.__setCheckListValues(q))}}}},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&&p.remove(this.pgLenCookie),this.rememberPageNb&&p.remove(this.pgNbCookie),this.onAfterReset&&this.onAfterReset.call(null,this)}},ClearActiveColumns:function(){for(var a=0;a<this.fltIds.length;a++)n.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 l(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=n.id(this.fltIds[d[g]]);if(f=this.GetFilterValue(d[g]),e!==d[g]||this.paging&&r.has(a,d[g])&&e===d[g]||!this.paging&&(r.has(c,d[g])||r.has(b,d[g]))||f===this.displayAllText){if(r.has(c,d[g])?this.checkListDiv[d[g]].innerHTML="":h.innerHTML="",this.fillSlcOnDemand){var i=n.createOpt(this.displayAllText,"");h&&h.appendChild(i)}r.has(c,d[g])?this._PopulateCheckList(d[g]):this._PopulateSelect(d[g],!0),this.SetFilterValue(d[g],f)}}}},UnhighlightAll:function(){if(this.highlightKeywords&&this.searchArgs){for(var a=0;a<this.searchArgs.length;a++)this.UnhighlightWord(this.searchArgs[a],this.highlightCssClass);this.highlightedNodes=[]}},HighlightWord:function(a,b,c){if(a.hasChildNodes)for(var d=0;d<a.childNodes.length;d++)this.HighlightWord(a.childNodes[d],b,c);if(3===a.nodeType){var e=o.lower(a.nodeValue),f=o.lower(b);if(-1!=e.indexOf(f)){var g=a.parentNode;if(g&&g.className!=c){var h=a.nodeValue,i=e.indexOf(f),j=n.text(h.substr(0,i)),k=h.substr(i,b.length),l=n.text(h.substr(i+b.length)),m=n.text(k),p=n.create("span");p.className=c,p.appendChild(m),g.insertBefore(j,a),g.insertBefore(p,a),g.insertBefore(l,a),g.removeChild(a),this.highlightedNodes.push(p.firstChild)}}}},UnhighlightWord:function(a,b){for(var c=[],d=0;d<this.highlightedNodes.length;d++){var e=this.highlightedNodes[d];if(e){var f=o.lower(e.nodeValue),g=o.lower(a);if(-1!==f.indexOf(g)){var h=e.parentNode;if(h&&h.className===b){var i=h.previousSibling,j=h.nextSibling;if(!i||!j)continue;j.nodeValue=i.nodeValue+e.nodeValue+j.nodeValue,i.nodeValue="",e.nodeValue="",c.push(d)}}}}for(var k=0;k<c.length;k++)this.highlightedNodes.splice(c[k],1)},__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=n.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||n.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*)"+o.rgxEsc(a)+"(\\s*$)",f):new RegExp(o.rgxEsc(a),f),e.test(b)},IncludeFile:function(a,b,c,d){var e=d?d:"script",f=g(b,e);if(!f){var h,i=this,j=!1,k=n.tag(v,"head")[0];h="link"===o.lower(e)?n.create("link",["id",a],["type","text/css"],["rel","stylesheet"],["href",b]):n.create("script",["id",a],["type","text/javascript"],["src",b]),h.onload=h.onreadystatechange=function(){!j&&(!this.readyState||"loaded"===this.readyState||"complete"===this.readyState)&&(j=!0,"function"==typeof c&&c.call(null,i))},h.onerror=function(){throw new Error("TF script could not load:\n"+this.src)},k.appendChild(h)}},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=n.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)}},b}),require("core")});