Skip to content
Browse files

Cleanup & version bump

  • Loading branch information...
1 parent a5a793b commit e861f6c3fcc28c79f385071be11c357245222d53 @Mottie committed Jul 17, 2014
View
212 README.md
@@ -60,6 +60,40 @@ tablesorter can successfully parse and sort many types of data including linked
View the [complete listing here](https://github.com/Mottie/tablesorter/wiki/Change).
+#### <a name="v2.17.5">Version 2.17.5</a> (7/17/2014)
+
+* Core
+ * Update `config.totalRows` variable before initialization. Fixes [issue #670](https://github.com/Mottie/tablesorter/issues/670).
+ * Add `config.table` variable; useful for functions that only pass the `config`.
+ * Ensure widget init functions are only called once; and set indicator for all widgets, not just ones with options (for `hasWidget`).
+
+* Docs
+ * Add [custom filter widget search types demo](http://mottie.github.io/tablesorter/docs/example-filter-custom-search.html).
+ * Add `imgAttr` parser "utility option" instructions.
+
+* Filter
+ * Force cache build on initial search when `delayInit` is `true`. Fixes [issue #678](https://github.com/Mottie/tablesorter/issues/678).
+ * Make `config.filteredRows` count available within `filterInit` event. Fixes [issue #670](https://github.com/Mottie/tablesorter/issues/670).
+ * Selects now obtain parsed data when it is set for a particular column. Fixes [issue #684](https://github.com/Mottie/tablesorter/issues/684).
+ * Ignore change event if input value hasn't changed, otherwise it interferes with other events within the table. Fixes [issue #685](https://github.com/Mottie/tablesorter/issues/685).
+ * Ensure search query is parsed for both specific filter types and non-filter type searches, if the column is set to use parsed data.
+ * Filter initialization ("filterInit") event is now delayed to prevent filterStart &amp; filterEnd event spamming. Fixes [issue #668](https://github.com/Mottie/tablesorter/issues/668).
+ * Filter formatter functions are now required to call a function after initialization to delay "filterInit" event. Fixes [issue #668](https://github.com/Mottie/tablesorter/issues/668).
+
+* Output
+ * Update download method which allows downloading files without modifying the server htaccess. Fixes [issue #681](https://github.com/Mottie/tablesorter/issues/681).
+
+* Pager
+ * Initialize without building cache when `delayInit` is `true`. Fixes [issue #678](https://github.com/Mottie/tablesorter/issues/678).
+
+* Parsers
+ * Update input/select element binding
+ * Add image alt parser; set `config.imgAttr` with attribute to target (default is `"alt"`).
+ * Add `select-text` parser which grabs the currently selected option text instead of the select value.
+
+* Resizable
+ * Remove unused grip code
+
#### <a name="v2.17.4">Version 2.17.4</a> (7/4/2014)
* Docs
@@ -119,181 +153,3 @@ View the [complete listing here](https://github.com/Mottie/tablesorter/wiki/Chan
* Parsers
* Added new Roman numeral parsers. There are three different parsers to cover three different use cases. Please see the [roman numeral parser demo](http://mottie.github.io/tablesorter/docs/example-parsers-roman.html) for details.
-
-#### <a name="v2.17.2">Version 2.17.2</a> (6/18/2014)
-
-* Docs
- * Added more details about using pager ajax options.
-
-* Core
- * The `clearTableBody` function now detaches rows instead of incorrectly detaching the tbody.
-
-* Editable widget:
- * Corrected document option name typo. Fixes [issue #635](https://github.com/Mottie/tablesorter/issues/635). Thanks [shobute](https://github.com/shobute)!
-
-* Filter widget:
- * The `selectSource` option now correctly handles parsed values that return zero.
- * Filter formatter for jQuery UI datepicker now remembers the correct date.
- * Corrected filter events & prevent table manipulation if filters are empty on initialization. Fixes [issue #645](https://github.com/Mottie/tablesorter/issues/645).
-
-* Pager addon/widget:
-
- * Specifically target rows to prevent issues with ember scripts. Fixes [issue #638](https://github.com/Mottie/tablesorter/issues/638).
- * Correctly detach and append jQuery rows provided by the `ajaxProcessing` function. Fixes [issue #650](https://github.com/Mottie/tablesorter/issues/650).
-
-* Print
- * jQuery requirement modified to support jQuery v1.2+ (previously it was v1.7+).
- * Popup now automatically closes with print dialog. Fixes [issue #643](https://github.com/Mottie/tablesorter/issues/643).
-
-* Scroller widget:
- * The `thead` width is now set in IE. Fixes [issue #637](https://github.com/Mottie/tablesorter/issues/637).
- * Set column widths are now maintained, including Bootstrap. Fixes issues [#634](https://github.com/Mottie/tablesorter/issues/634) &amp; [#380](https://github.com/Mottie/tablesorter/issues/380).
- * Change default scroll bar width to `18`. Fixes [issue #363](https://github.com/Mottie/tablesorter/issues/363).
- * Scroller now behaves properly with horizontal overflow scroll, column alignments, and hidden cells. Fixes issues [#340](https://github.com/Mottie/tablesorter/issues/340) &amp; [#333](https://github.com/Mottie/tablesorter/issues/333).
-
-* Themes
- * Bootstrap white unsorted icon now shows when the `icon-white` class is added. See [issue #648](https://github.com/Mottie/tablesorter/issues/648).
- * Remove auto height settings from filter elements.
-
-#### <a name="v2.17.1">Version 2.17.1</a> (5/28/2014)
-
-* Docs:
- * Add some missing examples &amp; updated some version number comments for the last update
- * Reflow widget: Fix demo to use preset widths &amp; css transitions instead of forcing users to manually resize the examples.
- * Output widget: add note about modifying the `.htaccess` file to enable downloading in both IE &amp; Firefox.
-
-* Core
- * Allow use of select &amp; buttons within header cells. Previously only inputs were allowed. Fixes [issue #625](https://github.com/Mottie/tablesorter/issues/625).
- * Add `parser-false` setting to prevent extracting &amp; parsing of content from set columns. Fixes [issue #629](https://github.com/Mottie/tablesorter/issues/629).
-
-* Filter widget
- * Add a not-exact-match (`!=`) filter type (e.g. `!"Bruce"` or `!Bruce=` will show all rows that don't exactly match `Bruce`). See [issue #628](https://github.com/Mottie/tablesorter/issues/628).
-
-* Math widget
- * Values are now obtained from data-attributes first, then the actual cell content. This will allow making calculations with higher precision values. Fixes [issue #624](https://github.com/Mottie/tablesorter/issues/624).
-
-* Pager (addon &amp; widget)
- * The `ajaxProcessing` function now includes the jqxhr parameter. Thanks [JuarezTurrini](https://github.com/JuarezTurrini)! See [pull #626](https://github.com/Mottie/tablesorter/pull/626)
- * Update the custom controls example to properly work with the pager widget. Fixes [issue #631](https://github.com/Mottie/tablesorter/issues/631).
- * Fix widgets sometimes not being applied after page change.
-
-* Parser
- * input-select parser no longer binds to non-tablesorter tables. Fixes [issue #633](https://github.com/Mottie/tablesorter/issues/633).
-
-#### <a name="v2.17.0">Version 2.17.0</a> (5/22/2014)
-
-* Overall
- * You can now target a column using a jQuery selector targeting the header cell (e.g. a class name, id or column index, as before).
- * This works with the core options: `headers`, `textExtraction`.
- * This also works with the widgets: `filter_formatter`, `filter_functions`, `filter_selectSource` and the `headers` options for `filter` & `resizable`.
- * This change has *not yet been implemented* to the following options: `textSorter`, `sortList`, `sortForce`, `sortAppend` and `numberSorter` (will modify this option to target columns soon).
- * What **won't work** is if you try to target the header using a filtering selector that uses an index, e.g. `"th:eq()"`, `":gt()"`, `":lt()"`, `":first"`, `":last"`, `":even"` or `":odd"`, `":first-child"`, `":last-child"`, `":nth-child()"`, `":nth-last-child()"`, etc.
-
-* Docs
- * Switch from using CDN versions of jQuery, jQuery UI, Bootstrap, Sugar and Select2 instead of using [protocol-relative URLs](http://www.paulirish.com/2010/the-protocol-relative-url/) because they are a pain to use locally.
- * Change style of "Update" tags to be slightly lighter than "New" tags.
- * Updated [reflow widget demo](http://mottie.github.io/tablesorter/docs/example-widget-reflow.html) with demo tables in a resizable iframe, so the browser window no longer needs to be resized.
- * Miscellaneous updates including correcting some version numbers, fixing links &amp; other issues with the demos.
-
-* Themes
- * Fix green theme to properly include a background with the css3 sticky headers widget.
-
-* Core
- * Instead of using empty or clearing rows from the table, the rows are now detached. This also applies to the pager.
- * Added `resetToLoadState` method
- * Using this method will clear out any settings that have changed since the table was initialized (refreshes the entire table); so any sorting or modified widget options will be cleared.
- * However, it will not clear any values that were saved to storage. This method is basically like reloading the page.
- * Refer to columns in the `headers` and/or `textExtraction` option by class name, ID, or column index (as before).
-
- ```js
- headers : {
- '.first-name' : { sorter: 'text' },
- '.disabled' : { sorter: false }
- },
- textExtraction : {
- '.styled' : function(node, table, cellIndex) {
- return $(node).find('strong').text();
- }
- }
- ```
-
- * Added new "sorton" method values: "a" (ascending), "d" (descending), "n" (next), "s" (same) &amp; "o" (opposite).
-
- ```js
- // column 0: desc sort, column 1: asc sort
- $("#table1").trigger("sorton", [ [[0,"d"],[1,"a"]] ]);
- // column 0: next sort, column 1: opposite of column 0, column 2: same as column 0
- $("#table2").trigger("sorton", [ [[0,"n"],[1,"o"],[2,"s"]] ]);
- ```
-
- Please refer to the [Sort table using a link outside the table](http://mottie.github.io/tablesorter/docs/example-trigger-sort.html) demo for more details.
-
-
-* ColumnSelector widget
- * Added a method to refresh the selected columns using `$('table').trigger('refreshColumnSelector');`.
- * Fix a js error when removing the widget.
-
-* Filter widget
- * Fix child row filtering.
- * Fix `filter-match` searches.
- * Set filter parser or disable a filter in the `headers` option by referring to the header class name, ID, or column index (as before)
-
- ```js
- headers : {
- '.first-name' : { filter : false },
- '.last-name' : { filter : 'parsed' }
- }
- ```
-
- * Refer to `filter_functions`, `filter_formatter` and `filter_selectSource` columns by class name, ID, or column index (as before)
-
- ```js
- filter_functions : {
- ".col-date" : {
- "< 2004" : function (e, n, f, i) {
- return n < Date.UTC(2004, 0, 1); // < Jan 1 2004
- },
- ...
- }
- },
- filter_formatter : {
- ".col-value" : function($cell, indx){
- return $.tablesorter.filterFormatter.uiSpinner( $cell, indx, {
- ...
- });
- }
- },
- filter_selectSource : {
- ".model-number" : [ "abc", "def", "ghi", "xyz" ]
- }
- ```
-
-* Math widget
- * Now works properly with the pager. Fixes [issue #621](https://github.com/Mottie/tablesorter/issues/621).
-
-* Output widget
- * Add `output_ignoreColumns` option. Set the zero-based index of the columns to ignore in this array. Fixes [issue #607](https://github.com/Mottie/tablesorter/issues/607)
- * Add `config` parameter to `output_callback` function. NOTE: this parameter is added before the data parameter, so it may break any already existing custom callback functions.
- * Add `output_duplicateSpans` option. Setting this option to `false` adds blank entries instead of duplicating the colspan or rowspan content. Fixes [issue #619](https://github.com/Mottie/tablesorter/issues/619).
-
-* Pager (addon &amp; widget)
- * Use detach instead of empty on tbody rows. This should save any data associated with the rows.
- * Fix pager updating not showing correct totals.
-
-* Print widget
- * Add `print_callback` option allowing manipulation of the table & stylesheet before printing.
- * Corrected the `print_columns` settings comments.
-
-* Resizable widget
- * Disable a resizable header within the `headers` option by referring to the column class name, ID, or column index (as before)
-
- ```js
- headers : {
- '.first-name' : { resizable: false }
- }
- ```
-
- * Added note about using box-sizing &amp; jQuery versions older than 1.8.
-
-* Scroller widget
- * Filter widget works with this widget again. Fixes [issue #620](https://github.com/Mottie/tablesorter/issues/620).
View
2 addons/pager/jquery.tablesorter.pager.js
@@ -1,6 +1,6 @@
/*!
* tablesorter pager plugin
- * updated 7/4/2014 (v2.17.4)
+ * updated 7/17/2014 (v2.17.5)
*/
/*jshint browser:true, jquery:true, unused:false */
;(function($) {
View
4 addons/pager/jquery.tablesorter.pager.min.js
@@ -1,2 +1,2 @@
-/* tablesorter pager plugin updated 7/4/2014 (v2.17.4) */
-;(function(h){var k=h.tablesorter;h.extend({tablesorterPager:new function(){this.defaults={container:null,ajaxUrl:null,customAjaxUrl:function(c,a){return a},ajaxObject:{dataType:"json"},processAjaxOnInit:!0,ajaxProcessing:function(c){return[0,[],null]},output:"{startRow} to {endRow} of {totalRows} rows",updateArrows:!0,page:0,pageReset:0,size:10,savePages:!0,storageKey:"tablesorter-pager",fixedHeight:!1,countChildRows:!1,removeRows:!1,cssFirst:".first",cssPrev:".prev",cssNext:".next",cssLast:".last", cssGoto:".gotoPage",cssPageDisplay:".pagedisplay",cssPageSize:".pagesize",cssErrorRow:"tablesorter-errorRow",cssDisabled:"disabled",totalRows:0,totalPages:0,filteredRows:0,filteredPages:0,ajaxCounter:0,currentFilters:[],startRow:0,endRow:0,$size:null,last:{}};var w=this,p=function(c,a){var b=c.cssDisabled,e=!!a,g=e||0===c.page,f=Math.min(c.totalPages,c.filteredPages),e=e||c.page===f-1||0===f;c.updateArrows&&(c.$container.find(c.cssFirst+","+c.cssPrev)[g?"addClass":"removeClass"](b).attr("aria-disabled", g),c.$container.find(c.cssNext+","+c.cssLast)[e?"addClass":"removeClass"](b).attr("aria-disabled",e))},t=function(c,a,b){var e,g,f,l=c.config;e=l.$table.hasClass("hasFilters");f=[];g=a.size||10;f=[l.widgetOptions&&l.widgetOptions.filter_filteredRow||"filtered",l.selectorRemove.replace(/^(\w+\.)/g,"")];a.countChildRows&&f.push(l.cssChildRow);f.join("|");a.totalPages=Math.ceil(a.totalRows/g);e&&!a.ajaxUrl?(a.filteredRows=0,h.each(l.cache[0].normalized,function(d,b){a.filteredRows+=a.regexRows.test(b[l.columns].$row[0].className)? 0:1})):e||(a.filteredRows=a.totalRows);l.totalRows=a.totalRows;l.filteredRows=a.filteredRows;a.filteredPages=Math.ceil(a.filteredRows/g)||0;if(0<=Math.min(a.totalPages,a.filteredPages)&&(f=a.size*a.page>a.filteredRows,a.startRow=f?1:0===a.filteredRows?0:a.size*a.page+1,a.page=f?0:a.page,a.endRow=Math.min(a.filteredRows,a.totalRows,a.size*(a.page+1)),e=a.$container.find(a.cssPageDisplay),f=(a.ajaxData&&a.ajaxData.output?a.ajaxData.output||a.output:a.output).replace(/\{page([\-+]\d+)?\}/gi,function(d, b){return a.totalPages?a.page+(b?parseInt(b,10):1):0}).replace(/\{\w+(\s*:\s*\w+)?\}/gi,function(d){d=d.replace(/[{}\s]/g,"");var b=d.split(":"),c=a.ajaxData,e=/(rows?|pages?)$/i.test(d)?0:"";return 1<b.length&&c&&c[b[0]]?c[b[0]][b[1]]:a[d]||(c?c[d]:e)||e}),e.length&&(e["INPUT"===e[0].tagName?"val":"html"](f),a.$goto.length))){f="";g=Math.min(a.totalPages,a.filteredPages);for(e=1;e<=g;e++)f+="<option>"+e+"</option>";a.$goto.html(f).val(a.page+1)}p(a);a.initialized&&!1!==b&&(l.$table.trigger("pagerComplete", a),a.savePages&&k.storage&&k.storage(c,a.storageKey,{page:a.page,size:a.size}))},u=function(c,a){var b,e=c.config,g=e.$tbodies.eq(0);a.fixedHeight&&(g.find("tr.pagerSavedHeightSpacer").remove(),b=h.data(c,"pagerSavedHeight"))&&(b-=g.height(),5<b&&h.data(c,"pagerLastSize")===a.size&&g.children("tr:visible").length<a.size&&g.append('<tr class="pagerSavedHeightSpacer '+e.selectorRemove.replace(/^(\w+\.)/g,"")+'" style="height:'+b+'px;"></tr>'))},z=function(c,a){var b=c.config.$tbodies.eq(0);b.find("tr.pagerSavedHeightSpacer").remove(); h.data(c,"pagerSavedHeight",b.height());u(c,a);h.data(c,"pagerLastSize",a.size)},v=function(c,a){if(!a.ajaxUrl){var b,e=0,g=c.config,f=g.$tbodies.eq(0).children("tr"),h=f.length,d=a.page*a.size,m=d+a.size,n=g.widgetOptions&&g.widgetOptions.filter_filteredRow||"filtered",s=0;for(b=0;b<h;b++)f[b].className.match(n)||(s===d&&f[b].className.match(g.cssChildRow)?f[b].style.display="none":(f[b].style.display=s>=d&&s<m?"":"none",s+=f[b].className.match(g.cssChildRow+"|"+g.selectorRemove.replace(/^(\w+\.)/g, ""))&&!a.countChildRows?0:1,s===m&&"none"!==f[b].style.display&&f[b].className.match(k.css.cssHasChild)&&(e=b)));if(0<e&&f[e].className.match(k.css.cssHasChild))for(;++e<h&&f[e].className.match(g.cssChildRow);)f[e].style.display=""}},A=function(c,a){a.size=parseInt(a.$size.val(),10)||a.size;h.data(c,"pagerLastSize",a.size);p(a);a.removeRows||(v(c,a),h(c).bind("sortEnd.pager filterEnd.pager",function(){v(c,a)}))},B=function(c,a,b,e,g){if("function"===typeof b.ajaxProcessing){var f,l,d,m,n,s,r=a.config, q=r.$table,p="";f=b.ajaxProcessing(c,a,e)||[0,[]];c=q.find("thead th").length;k.showError(a);if(g)r.debug&&k.log("Ajax Error",e,g),k.showError(a,0===e.status?"Not connected, verify Network":404===e.status?"Requested page not found [404]":500===e.status?"Internal Server Error [500]":"parsererror"===g?"Requested JSON parse failed":"timeout"===g?"Time out error":"abort"===g?"Ajax Request aborted":"Uncaught error: "+e.statusText+" ["+e.status+"]"),r.$tbodies.eq(0).children().detach(),b.totalRows=0;else{h.isArray(f)? (e=isNaN(f[0])&&!isNaN(f[1]),g=f[e?1:0],b.totalRows=isNaN(g)?b.totalRows||0:g,r.totalRows=r.filteredRows=b.filteredRows=b.totalRows,e=0===b.totalRows?[""]:f[e?0:1]||[],n=f[2]):(b.ajaxData=f,r.totalRows=b.totalRows=f.total,r.filteredRows=b.filteredRows="undefined"!==typeof f.filteredRows?f.filteredRows:f.total,n=f.headers,e=f.rows);s=e&&e.length;if(e instanceof jQuery)b.processAjaxOnInit&&(r.$tbodies.eq(0).children().detach(),r.$tbodies.eq(0).append(e));else if(s){for(f=0;f<s;f++){p+="<tr>";for(g= 0;g<e[f].length;g++)p+=/^\s*<td/.test(e[f][g])?h.trim(e[f][g]):"<td>"+e[f][g]+"</td>";p+="</tr>"}b.processAjaxOnInit&&r.$tbodies.eq(0).html(p)}b.processAjaxOnInit=!0;n&&n.length===c&&(m=(l=q.hasClass("hasStickyHeaders"))?r.widgetOptions.$sticky.children("thead:first").children("tr").children():"",d=q.find("tfoot tr:first").children(),r.$headers.filter("th").each(function(a){var b=h(this),c;b.find("."+k.css.icon).length?(c=b.find("."+k.css.icon).clone(!0),b.find(".tablesorter-header-inner").html(n[a]).append(c), l&&m.length&&(c=m.eq(a).find("."+k.css.icon).clone(!0),m.eq(a).find(".tablesorter-header-inner").html(n[a]).append(c))):(b.find(".tablesorter-header-inner").html(n[a]),l&&m.length&&m.eq(a).find(".tablesorter-header-inner").html(n[a]));d.eq(a).html(n[a])}))}r.showProcessing&&k.isProcessing(a);b.totalPages=Math.ceil(b.totalRows/(b.size||10));b.last.totalRows=b.totalRows;b.last.currentFilters=b.currentFilters;b.last.sortList=(r.sortList||[]).join(",");t(a,b);u(a,b);q.trigger("updateCache",[function(){b.initialized&& setTimeout(function(){q.trigger("applyWidgets").trigger("pagerChange",b)},0)}])}b.initialized||(b.initialized=!0,h(a).trigger("applyWidgets").trigger("pagerInitialized",b))},G=function(c,a){var b=F(c,a),e=h(document),g,f=c.config;""!==b&&(f.showProcessing&&k.isProcessing(c,!0),e.bind("ajaxError.pager",function(b,d,g,f){B(null,c,a,d,f);e.unbind("ajaxError.pager")}),g=++a.ajaxCounter,a.ajaxObject.url=b,a.ajaxObject.success=function(b,d,f){g<a.ajaxCounter||(B(b,c,a,f),e.unbind("ajaxError.pager"),"function"=== typeof a.oldAjaxSuccess&&a.oldAjaxSuccess(b))},f.debug&&k.log("ajax initialized",a.ajaxObject),h.ajax(a.ajaxObject))},F=function(c,a){var b=c.config,e=a.ajaxUrl?a.ajaxUrl.replace(/\{page([\-+]\d+)?\}/,function(b,c){return a.page+(c?parseInt(c,10):0)}).replace(/\{size\}/g,a.size):"",g=b.sortList,f=a.currentFilters||h(c).data("lastSearch")||[],l=e.match(/\{\s*sort(?:List)?\s*:\s*(\w*)\s*\}/),d=e.match(/\{\s*filter(?:List)?\s*:\s*(\w*)\s*\}/),m=[];l&&(l=l[1],h.each(g,function(a,b){m.push(l+"["+b[0]+ "]="+b[1])}),e=e.replace(/\{\s*sort(?:List)?\s*:\s*(\w*)\s*\}/g,m.length?m.join("&"):l),m=[]);d&&(d=d[1],h.each(f,function(a,b){b&&m.push(d+"["+a+"]="+encodeURIComponent(b))}),e=e.replace(/\{\s*filter(?:List)?\s*:\s*(\w*)\s*\}/g,m.length?m.join("&"):d),a.currentFilters=f);"function"===typeof a.customAjaxUrl&&(e=a.customAjaxUrl(c,e));b.debug&&k.log("Pager ajax url: "+e);return e},x=function(c,a,b){var e,g,f,l,d=h(c);e=c.config;var m=e.$table.hasClass("hasFilters"),n=b.page*b.size,s=b.size;if(!(1>(a&& a.length||0))){b.page>=b.totalPages&&C(c,b);b.isDisabled=!1;b.initialized&&d.trigger("pagerChange",b);if(b.removeRows){k.clearTableBody(c);e=k.processTbody(c,e.$tbodies.eq(0),!0);g=m?0:n;f=m?0:n;for(l=0;l<s&&g<a.length;)m&&/filtered/.test(a[g][0].className)||(f++,f>n&&l<=s&&(l++,e.append(a[g]))),g++;k.processTbody(c,e,!1)}else v(c,b);t(c,b);b.isDisabled||u(c,b);d.trigger("applyWidgets");c.isUpdating&&d.trigger("updateComplete",c)}},D=function(c,a){a.ajax?p(a,!0):(a.isDisabled=!0,h.data(c,"pagerLastPage", a.page),h.data(c,"pagerLastSize",a.size),a.page=0,a.size=a.totalRows,a.totalPages=1,h(c).addClass("pagerDisabled").removeAttr("aria-describedby").find("tr.pagerSavedHeightSpacer").remove(),x(c,c.config.rowsCopy,a),c.config.debug&&k.log("pager disabled"));a.$size.add(a.$goto).each(function(){h(this).attr("aria-disabled","true").addClass(a.cssDisabled)[0].disabled=!0})},q=function(c,a,b){if(!a.isDisabled){var e=c.config,g=h(c),f=a.last,l=Math.min(a.totalPages,a.filteredPages);0>a.page&&(a.page=0);a.page> l-1&&0!==l&&(a.page=l-1);f.currentFilters=""===(f.currentFilters||[]).join("")?[]:f.currentFilters;a.currentFilters=""===(a.currentFilters||[]).join("")?[]:a.currentFilters;if(f.page!==a.page||f.size!==a.size||f.totalRows!==a.totalRows||(f.currentFilters||[]).join(",")!==(a.currentFilters||[]).join(",")||f.sortList!==(e.sortList||[]).join(","))e.debug&&k.log("Pager changing to page "+a.page),a.last={page:a.page,size:a.size,sortList:(e.sortList||[]).join(","),totalRows:a.totalRows,currentFilters:a.currentFilters|| []},a.ajax?G(c,a):a.ajax||x(c,e.rowsCopy,a),h.data(c,"pagerLastPage",a.page),a.initialized&&!1!==b&&(g.trigger("pageMoved",a).trigger("applyWidgets"),c.isUpdating&&g.trigger("updateComplete"))}},y=function(c,a,b){b.size=a||b.size||10;b.$size.val(b.size);h.data(c,"pagerLastPage",b.page);h.data(c,"pagerLastSize",b.size);b.totalPages=Math.ceil(b.totalRows/b.size);b.filteredPages=Math.ceil(b.filteredRows/b.size);q(c,b)},H=function(c,a){a.page=0;q(c,a)},C=function(c,a){a.page=Math.min(a.totalPages,a.filteredPages)- 1;q(c,a)},I=function(c,a){a.page++;a.page>=Math.min(a.totalPages,a.filteredPages)-1&&(a.page=Math.min(a.totalPages,a.filteredPages)-1);q(c,a)},J=function(c,a){a.page--;0>=a.page&&(a.page=0);q(c,a)},E=function(c,a,b){var e,g=c.config;a.$size.add(a.$goto).removeClass(a.cssDisabled).removeAttr("disabled").attr("aria-disabled","false");a.isDisabled=!1;a.page=h.data(c,"pagerLastPage")||a.page||0;a.size=h.data(c,"pagerLastSize")||parseInt(a.$size.find("option[selected]").val(),10)||a.size||10;a.$size.val(a.size); a.totalPages=Math.ceil(Math.min(a.totalRows,a.filteredRows)/a.size);c.id&&(e=c.id+"_pager_info",a.$container.find(a.cssPageDisplay).attr("id",e),g.$table.attr("aria-describedby",e));b&&(g.$table.trigger("updateRows"),y(c,a.size,a),A(c,a),u(c,a),g.debug&&k.log("pager enabled"))};w.appender=function(c,a){var b=c.config,e=b.pager;e.ajax||(b.rowsCopy=a,e.totalRows=e.countChildRows?b.$tbodies.eq(0).children("tr").length:a.length,e.size=h.data(c,"pagerLastSize")||e.size||10,e.totalPages=Math.ceil(e.totalRows/ e.size),x(c,a,e),t(c,e,!1))};w.construct=function(c){return this.each(function(){if(this.config&&this.hasInitialized){var a,b,e,g=this,f=g.config,l=f.widgetOptions,d=f.pager=h.extend(!0,{},h.tablesorterPager.defaults,c),m=f.$table,n=d.$container=h(d.container).addClass("tablesorter-pager").show();f.debug&&k.log("Pager initializing");d.oldAjaxSuccess=d.oldAjaxSuccess||d.ajaxObject.success;f.appender=w.appender;k.filter&&0<=h.inArray("filter",f.widgets)&&(d.currentFilters=f.$table.data("lastSearch")|| k.filter.setDefaults(g,f,f.widgetOptions)||[],k.setFilters(g,d.currentFilters,!1));d.savePages&&k.storage&&(a=k.storage(g,d.storageKey)||{},d.page=isNaN(a.page)?d.page:a.page,d.size=(isNaN(a.size)?d.size:a.size)||10,h.data(g,"pagerLastSize",d.size));d.regexRows=new RegExp("("+(l.filter_filteredRow||"filtered")+"|"+f.selectorRemove.replace(/^(\w+\.)/g,"")+"|"+f.cssChildRow+")");m.unbind("filterStart filterEnd sortEnd disable enable destroy update updateRows updateAll addRows pageSize ".split(" ").join(".pager ")).bind("filterStart.pager", function(a,b){d.currentFilters=b;!1!==d.pageReset&&(f.lastCombinedFilter||"")!==(b||[]).join("")&&(d.page=d.pageReset)}).bind("filterEnd.pager sortEnd.pager",function(){d.initialized&&(t(g,d,!1),q(g,d,!1),u(g,d))}).bind("disable.pager",function(a){a.stopPropagation();D(g,d)}).bind("enable.pager",function(a){a.stopPropagation();E(g,d,!0)}).bind("destroy.pager",function(a){a.stopPropagation();D(g,d);d.$container.hide();g.config.appender=null;d.initialized=!1;delete g.config.rowsCopy;h(g).unbind("destroy.pager sortEnd.pager filterEnd.pager enable.pager disable.pager"); k.storage&&k.storage(g,d.storageKey,"")}).bind("update.pager updateRows.pager updateAll.pager addRows.pager ",function(a){a.stopPropagation();u(g,d);a=f.$tbodies.eq(0).children("tr");d.totalRows=a.length-(d.countChildRows?0:a.filter("."+f.cssChildRow).length);d.totalPages=Math.ceil(d.totalRows/d.size);t(g,d);v(g,d)}).bind("pageSize.pager",function(a,b){a.stopPropagation();y(g,parseInt(b,10)||10,d);v(g,d);t(g,d,!1);d.$size.length&&d.$size.val(d.size)}).bind("pageSet.pager",function(a,b){a.stopPropagation(); d.page=(parseInt(b,10)||1)-1;d.$goto.length&&d.$goto.val(d.size);q(g,d);t(g,d,!1)});b=[d.cssFirst,d.cssPrev,d.cssNext,d.cssLast];e=[H,J,I,C];n.find(b.join(",")).attr("tabindex",0).unbind("click.pager").bind("click.pager",function(a){a.stopPropagation();var c=h(this),f=b.length;if(!c.hasClass(d.cssDisabled))for(a=0;a<f;a++)if(c.is(b[a])){e[a](g,d);break}});d.$goto=n.find(d.cssGoto);d.$goto.length&&d.$goto.unbind("change").bind("change",function(){d.page=h(this).val()-1;q(g,d);t(g,d,!1)});d.$size=n.find(d.cssPageSize); d.$size.length&&d.$size.unbind("change.pager").bind("change.pager",function(){d.$size.val(h(this).val());h(this).hasClass(d.cssDisabled)||(y(g,parseInt(h(this).val(),10),d),z(g,d));return!1});d.initialized=!1;m.trigger("pagerBeforeInitialized",d);E(g,d,!1);"string"===typeof d.ajaxUrl?(d.ajax=!0,f.widgetOptions.filter_serversideFiltering=!0,f.serverSideSorting=!0,q(g,d)):(d.ajax=!1,h(this).trigger("appendCache",!0),A(g,d));z(g,d);d.ajax||(d.initialized=!0,h(g).trigger("pagerInitialized",d))}})}}}); k.showError=function(k,p){h(k).each(function(){var k=this.config,u=k.pager&&k.pager.cssErrorRow||k.widgetOptions.pager_css&&k.widgetOptions.pager_css.errorRow||"tablesorter-errorRow";k&&("undefined"===typeof p?k.$table.find("thead").find(k.selectorRemove).remove():(/tr\>/.test(p)?h(p):h('<tr><td colspan="'+k.columns+'">'+p+"</td></tr>")).click(function(){h(this).remove()}).appendTo(k.$table.find("thead:first")).addClass(u+" "+k.selectorRemove.replace(/^(\w+\.)/g,"")).attr({role:"alert","aria-live":"assertive"}))})}; h.fn.extend({tablesorterPager:h.tablesorterPager.construct})})(jQuery);
+/* tablesorter pager plugin updated 7/17/2014 (v2.17.5) */
+;(function(h){var k=h.tablesorter;h.extend({tablesorterPager:new function(){this.defaults={container:null,ajaxUrl:null,customAjaxUrl:function(c,a){return a},ajaxObject:{dataType:"json"},processAjaxOnInit:!0,ajaxProcessing:function(c){return[0,[],null]},output:"{startRow} to {endRow} of {totalRows} rows",updateArrows:!0,page:0,pageReset:0,size:10,savePages:!0,storageKey:"tablesorter-pager",fixedHeight:!1,countChildRows:!1,removeRows:!1,cssFirst:".first",cssPrev:".prev",cssNext:".next",cssLast:".last", cssGoto:".gotoPage",cssPageDisplay:".pagedisplay",cssPageSize:".pagesize",cssErrorRow:"tablesorter-errorRow",cssDisabled:"disabled",totalRows:0,totalPages:0,filteredRows:0,filteredPages:0,ajaxCounter:0,currentFilters:[],startRow:0,endRow:0,$size:null,last:{}};var w=this,p=function(c,a){var b=c.cssDisabled,d=!!a,g=d||0===c.page,f=Math.min(c.totalPages,c.filteredPages),d=d||c.page===f-1||0===f;c.updateArrows&&(c.$container.find(c.cssFirst+","+c.cssPrev)[g?"addClass":"removeClass"](b).attr("aria-disabled", g),c.$container.find(c.cssNext+","+c.cssLast)[d?"addClass":"removeClass"](b).attr("aria-disabled",d))},t=function(c,a,b){var d,g,f,l=c.config;d=l.$table.hasClass("hasFilters");f=[];g=a.size||10;f=[l.widgetOptions&&l.widgetOptions.filter_filteredRow||"filtered",l.selectorRemove.replace(/^(\w+\.)/g,"")];a.countChildRows&&f.push(l.cssChildRow);f.join("|");d&&!a.ajaxUrl?h.isEmptyObject(l.cache)?a.filteredRows=a.totalRows=l.$tbodies.eq(0).children("tr").not(a.countChildRows?"":"."+l.cssChildRow).length: (a.filteredRows=0,h.each(l.cache[0].normalized,function(e,b){a.filteredRows+=a.regexRows.test(b[l.columns].$row[0].className)?0:1})):d||(a.filteredRows=a.totalRows);a.totalPages=Math.ceil(a.totalRows/g);l.totalRows=a.totalRows;l.filteredRows=a.filteredRows;a.filteredPages=Math.ceil(a.filteredRows/g)||0;if(0<=Math.min(a.totalPages,a.filteredPages)&&(f=a.size*a.page>a.filteredRows,a.startRow=f?1:0===a.filteredRows?0:a.size*a.page+1,a.page=f?0:a.page,a.endRow=Math.min(a.filteredRows,a.totalRows,a.size* (a.page+1)),d=a.$container.find(a.cssPageDisplay),f=(a.ajaxData&&a.ajaxData.output?a.ajaxData.output||a.output:a.output).replace(/\{page([\-+]\d+)?\}/gi,function(e,b){return a.totalPages?a.page+(b?parseInt(b,10):1):0}).replace(/\{\w+(\s*:\s*\w+)?\}/gi,function(b){b=b.replace(/[{}\s]/g,"");var c=b.split(":"),d=a.ajaxData,g=/(rows?|pages?)$/i.test(b)?0:"";return 1<c.length&&d&&d[c[0]]?d[c[0]][c[1]]:a[b]||(d?d[b]:g)||g}),d.length&&(d["INPUT"===d[0].tagName?"val":"html"](f),a.$goto.length))){f="";g=Math.min(a.totalPages, a.filteredPages);for(d=1;d<=g;d++)f+="<option>"+d+"</option>";a.$goto.html(f).val(a.page+1)}p(a);a.initialized&&!1!==b&&(l.$table.trigger("pagerComplete",a),a.savePages&&k.storage&&k.storage(c,a.storageKey,{page:a.page,size:a.size}))},u=function(c,a){var b,d=c.config,g=d.$tbodies.eq(0);a.fixedHeight&&(g.find("tr.pagerSavedHeightSpacer").remove(),b=h.data(c,"pagerSavedHeight"))&&(b-=g.height(),5<b&&h.data(c,"pagerLastSize")===a.size&&g.children("tr:visible").length<a.size&&g.append('<tr class="pagerSavedHeightSpacer '+ d.selectorRemove.replace(/^(\w+\.)/g,"")+'" style="height:'+b+'px;"></tr>'))},z=function(c,a){var b=c.config.$tbodies.eq(0);b.find("tr.pagerSavedHeightSpacer").remove();h.data(c,"pagerSavedHeight",b.height());u(c,a);h.data(c,"pagerLastSize",a.size)},v=function(c,a){if(!a.ajaxUrl){var b,d=0,g=c.config,f=g.$tbodies.eq(0).children("tr"),h=f.length,e=a.page*a.size,m=e+a.size,n=g.widgetOptions&&g.widgetOptions.filter_filteredRow||"filtered",s=0;for(b=0;b<h;b++)f[b].className.match(n)||(s===e&&f[b].className.match(g.cssChildRow)? f[b].style.display="none":(f[b].style.display=s>=e&&s<m?"":"none",s+=f[b].className.match(g.cssChildRow+"|"+g.selectorRemove.replace(/^(\w+\.)/g,""))&&!a.countChildRows?0:1,s===m&&"none"!==f[b].style.display&&f[b].className.match(k.css.cssHasChild)&&(d=b)));if(0<d&&f[d].className.match(k.css.cssHasChild))for(;++d<h&&f[d].className.match(g.cssChildRow);)f[d].style.display=""}},A=function(c,a){a.size=parseInt(a.$size.val(),10)||a.size;h.data(c,"pagerLastSize",a.size);p(a);a.removeRows||(v(c,a),h(c).bind("sortEnd.pager filterEnd.pager", function(){v(c,a)}))},B=function(c,a,b,d,g){if("function"===typeof b.ajaxProcessing){var f,l,e,m,n,s,r=a.config,q=r.$table,p="";f=b.ajaxProcessing(c,a,d)||[0,[]];c=q.find("thead th").length;k.showError(a);if(g)r.debug&&k.log("Ajax Error",d,g),k.showError(a,0===d.status?"Not connected, verify Network":404===d.status?"Requested page not found [404]":500===d.status?"Internal Server Error [500]":"parsererror"===g?"Requested JSON parse failed":"timeout"===g?"Time out error":"abort"===g?"Ajax Request aborted": "Uncaught error: "+d.statusText+" ["+d.status+"]"),r.$tbodies.eq(0).children("tr").detach(),b.totalRows=0;else{h.isArray(f)?(d=isNaN(f[0])&&!isNaN(f[1]),g=f[d?1:0],b.totalRows=isNaN(g)?b.totalRows||0:g,r.totalRows=r.filteredRows=b.filteredRows=b.totalRows,d=0===b.totalRows?[""]:f[d?0:1]||[],n=f[2]):(b.ajaxData=f,r.totalRows=b.totalRows=f.total,r.filteredRows=b.filteredRows="undefined"!==typeof f.filteredRows?f.filteredRows:f.total,n=f.headers,d=f.rows);s=d&&d.length;if(d instanceof jQuery)b.processAjaxOnInit&& (r.$tbodies.eq(0).children("tr").detach(),r.$tbodies.eq(0).append(d));else if(s){for(f=0;f<s;f++){p+="<tr>";for(g=0;g<d[f].length;g++)p+=/^\s*<td/.test(d[f][g])?h.trim(d[f][g]):"<td>"+d[f][g]+"</td>";p+="</tr>"}b.processAjaxOnInit&&r.$tbodies.eq(0).html(p)}b.processAjaxOnInit=!0;n&&n.length===c&&(m=(l=q.hasClass("hasStickyHeaders"))?r.widgetOptions.$sticky.children("thead:first").children("tr").children():"",e=q.find("tfoot tr:first").children(),r.$headers.filter("th").each(function(a){var b=h(this), c;b.find("."+k.css.icon).length?(c=b.find("."+k.css.icon).clone(!0),b.find(".tablesorter-header-inner").html(n[a]).append(c),l&&m.length&&(c=m.eq(a).find("."+k.css.icon).clone(!0),m.eq(a).find(".tablesorter-header-inner").html(n[a]).append(c))):(b.find(".tablesorter-header-inner").html(n[a]),l&&m.length&&m.eq(a).find(".tablesorter-header-inner").html(n[a]));e.eq(a).html(n[a])}))}r.showProcessing&&k.isProcessing(a);b.totalPages=Math.ceil(b.totalRows/(b.size||10));b.last.totalRows=b.totalRows;b.last.currentFilters= b.currentFilters;b.last.sortList=(r.sortList||[]).join(",");t(a,b);u(a,b);q.trigger("updateCache",[function(){b.initialized&&setTimeout(function(){q.trigger("applyWidgets").trigger("pagerChange",b)},0)}])}b.initialized||(b.initialized=!0,h(a).trigger("applyWidgets").trigger("pagerInitialized",b))},H=function(c,a){var b=G(c,a),d=h(document),g,f=c.config;""!==b&&(f.showProcessing&&k.isProcessing(c,!0),d.bind("ajaxError.pager",function(b,e,g,f){B(null,c,a,e,f);d.unbind("ajaxError.pager")}),g=++a.ajaxCounter, a.ajaxObject.url=b,a.ajaxObject.success=function(b,e,f){g<a.ajaxCounter||(B(b,c,a,f),d.unbind("ajaxError.pager"),"function"===typeof a.oldAjaxSuccess&&a.oldAjaxSuccess(b))},f.debug&&k.log("ajax initialized",a.ajaxObject),h.ajax(a.ajaxObject))},G=function(c,a){var b=c.config,d=a.ajaxUrl?a.ajaxUrl.replace(/\{page([\-+]\d+)?\}/,function(b,c){return a.page+(c?parseInt(c,10):0)}).replace(/\{size\}/g,a.size):"",g=b.sortList,f=a.currentFilters||h(c).data("lastSearch")||[],l=d.match(/\{\s*sort(?:List)?\s*:\s*(\w*)\s*\}/), e=d.match(/\{\s*filter(?:List)?\s*:\s*(\w*)\s*\}/),m=[];l&&(l=l[1],h.each(g,function(a,b){m.push(l+"["+b[0]+"]="+b[1])}),d=d.replace(/\{\s*sort(?:List)?\s*:\s*(\w*)\s*\}/g,m.length?m.join("&"):l),m=[]);e&&(e=e[1],h.each(f,function(a,b){b&&m.push(e+"["+a+"]="+encodeURIComponent(b))}),d=d.replace(/\{\s*filter(?:List)?\s*:\s*(\w*)\s*\}/g,m.length?m.join("&"):e),a.currentFilters=f);"function"===typeof a.customAjaxUrl&&(d=a.customAjaxUrl(c,d));b.debug&&k.log("Pager ajax url: "+d);return d},x=function(c, a,b){var d,g,f,l,e=h(c);d=c.config;var m=d.$table.hasClass("hasFilters"),n=b.page*b.size,s=b.size;if(1>(a&&a.length||0))d.debug&&k.log("Pager: no rows for pager to render");else{b.page>=b.totalPages&&C(c,b);b.isDisabled=!1;b.initialized&&e.trigger("pagerChange",b);if(b.removeRows){k.clearTableBody(c);d=k.processTbody(c,d.$tbodies.eq(0),!0);g=m?0:n;f=m?0:n;for(l=0;l<s&&g<a.length;)m&&/filtered/.test(a[g][0].className)||(f++,f>n&&l<=s&&(l++,d.append(a[g]))),g++;k.processTbody(c,d,!1)}else v(c,b);t(c, b);b.isDisabled||u(c,b);e.trigger("applyWidgets");c.isUpdating&&e.trigger("updateComplete",c)}},D=function(c,a){a.ajax?p(a,!0):(a.isDisabled=!0,h.data(c,"pagerLastPage",a.page),h.data(c,"pagerLastSize",a.size),a.page=0,a.size=a.totalRows,a.totalPages=1,h(c).addClass("pagerDisabled").removeAttr("aria-describedby").find("tr.pagerSavedHeightSpacer").remove(),x(c,c.config.rowsCopy,a),c.config.debug&&k.log("pager disabled"));a.$size.add(a.$goto).each(function(){h(this).attr("aria-disabled","true").addClass(a.cssDisabled)[0].disabled= !0})},E=function(c){var a=c.config,b=a.pager;a.$table.trigger("updateCache",[function(){var d,g=[],f=c.config.cache[0].normalized;b.totalRows=f.length;for(d=0;d<b.totalRows;d++)g.push(f[d][a.columns].$row);a.rowsCopy=g;q(c,b,!0)}])},q=function(c,a,b){if(!a.isDisabled){var d=c.config,g=h(c),f=a.last,l=Math.min(a.totalPages,a.filteredPages);if(!1!==b&&a.initialized&&h.isEmptyObject(c.config.cache))return E(c);0>a.page&&(a.page=0);a.page>l-1&&0!==l&&(a.page=l-1);f.currentFilters=""===(f.currentFilters|| []).join("")?[]:f.currentFilters;a.currentFilters=""===(a.currentFilters||[]).join("")?[]:a.currentFilters;if(f.page!==a.page||f.size!==a.size||f.totalRows!==a.totalRows||(f.currentFilters||[]).join(",")!==(a.currentFilters||[]).join(",")||f.sortList!==(d.sortList||[]).join(","))d.debug&&k.log("Pager changing to page "+a.page),a.last={page:a.page,size:a.size,sortList:(d.sortList||[]).join(","),totalRows:a.totalRows,currentFilters:a.currentFilters||[]},a.ajax?H(c,a):a.ajax||x(c,d.rowsCopy,a),h.data(c, "pagerLastPage",a.page),a.initialized&&!1!==b&&(g.trigger("pageMoved",a).trigger("applyWidgets"),c.isUpdating&&g.trigger("updateComplete"))}},y=function(c,a,b){b.size=a||b.size||10;b.$size.val(b.size);h.data(c,"pagerLastPage",b.page);h.data(c,"pagerLastSize",b.size);b.totalPages=Math.ceil(b.totalRows/b.size);b.filteredPages=Math.ceil(b.filteredRows/b.size);q(c,b)},I=function(c,a){a.page=0;q(c,a)},C=function(c,a){a.page=Math.min(a.totalPages,a.filteredPages)-1;q(c,a)},J=function(c,a){a.page++;a.page>= Math.min(a.totalPages,a.filteredPages)-1&&(a.page=Math.min(a.totalPages,a.filteredPages)-1);q(c,a)},K=function(c,a){a.page--;0>=a.page&&(a.page=0);q(c,a)},F=function(c,a,b){var d,g=c.config;a.$size.add(a.$goto).removeClass(a.cssDisabled).removeAttr("disabled").attr("aria-disabled","false");a.isDisabled=!1;a.page=h.data(c,"pagerLastPage")||a.page||0;a.size=h.data(c,"pagerLastSize")||parseInt(a.$size.find("option[selected]").val(),10)||a.size||10;a.$size.val(a.size);a.totalPages=Math.ceil(Math.min(a.totalRows, a.filteredRows)/a.size);c.id&&(d=c.id+"_pager_info",a.$container.find(a.cssPageDisplay).attr("id",d),g.$table.attr("aria-describedby",d));b&&(g.$table.trigger("updateRows"),y(c,a.size,a),A(c,a),u(c,a),g.debug&&k.log("pager enabled"))};w.appender=function(c,a){var b=c.config,d=b.pager;d.ajax||(b.rowsCopy=a,d.totalRows=d.countChildRows?b.$tbodies.eq(0).children("tr").length:a.length,d.size=h.data(c,"pagerLastSize")||d.size||10,d.totalPages=Math.ceil(d.totalRows/d.size),x(c,a,d),t(c,d,!1))};w.construct= function(c){return this.each(function(){if(this.config&&this.hasInitialized){var a,b,d,g=this,f=g.config,l=f.widgetOptions,e=f.pager=h.extend(!0,{},h.tablesorterPager.defaults,c),m=f.$table,n=e.$container=h(e.container).addClass("tablesorter-pager").show();f.debug&&k.log("Pager initializing");e.oldAjaxSuccess=e.oldAjaxSuccess||e.ajaxObject.success;f.appender=w.appender;k.filter&&0<=h.inArray("filter",f.widgets)&&(e.currentFilters=f.$table.data("lastSearch")||k.filter.setDefaults(g,f,f.widgetOptions)|| [],k.setFilters(g,e.currentFilters,!1));e.savePages&&k.storage&&(a=k.storage(g,e.storageKey)||{},e.page=isNaN(a.page)?e.page:a.page,e.size=(isNaN(a.size)?e.size:a.size)||10,h.data(g,"pagerLastSize",e.size));e.regexRows=new RegExp("("+(l.filter_filteredRow||"filtered")+"|"+f.selectorRemove.replace(/^(\w+\.)/g,"")+"|"+f.cssChildRow+")");m.unbind("filterStart filterEnd sortEnd disable enable destroy update updateRows updateAll addRows pageSize ".split(" ").join(".pager ")).bind("filterStart.pager",function(a, b){e.currentFilters=b;!1!==e.pageReset&&(f.lastCombinedFilter||"")!==(b||[]).join("")&&(e.page=e.pageReset)}).bind("filterEnd.pager sortEnd.pager",function(){e.initialized&&(f.delayInit&&f.rowsCopy&&0===f.rowsCopy.length&&E(g),t(g,e,!1),q(g,e,!1),u(g,e))}).bind("disable.pager",function(a){a.stopPropagation();D(g,e)}).bind("enable.pager",function(a){a.stopPropagation();F(g,e,!0)}).bind("destroy.pager",function(a){a.stopPropagation();D(g,e);e.$container.hide();g.config.appender=null;e.initialized=!1; delete g.config.rowsCopy;h(g).unbind("destroy.pager sortEnd.pager filterEnd.pager enable.pager disable.pager");k.storage&&k.storage(g,e.storageKey,"")}).bind("update.pager updateRows.pager updateAll.pager addRows.pager ",function(a){a.stopPropagation();u(g,e);a=f.$tbodies.eq(0).children("tr");e.totalRows=a.length-(e.countChildRows?0:a.filter("."+f.cssChildRow).length);e.totalPages=Math.ceil(e.totalRows/e.size);t(g,e);v(g,e)}).bind("pageSize.pager",function(a,b){a.stopPropagation();y(g,parseInt(b, 10)||10,e);v(g,e);t(g,e,!1);e.$size.length&&e.$size.val(e.size)}).bind("pageSet.pager",function(a,b){a.stopPropagation();e.page=(parseInt(b,10)||1)-1;e.$goto.length&&e.$goto.val(e.size);q(g,e,!0);t(g,e,!1)});b=[e.cssFirst,e.cssPrev,e.cssNext,e.cssLast];d=[I,K,J,C];n.find(b.join(",")).attr("tabindex",0).unbind("click.pager").bind("click.pager",function(a){a.stopPropagation();var c=h(this),f=b.length;if(!c.hasClass(e.cssDisabled))for(a=0;a<f;a++)if(c.is(b[a])){d[a](g,e);break}});e.$goto=n.find(e.cssGoto); e.$goto.length&&e.$goto.unbind("change").bind("change",function(){e.page=h(this).val()-1;q(g,e,!0);t(g,e,!1)});e.$size=n.find(e.cssPageSize);e.$size.length&&e.$size.unbind("change.pager").bind("change.pager",function(){e.$size.val(h(this).val());h(this).hasClass(e.cssDisabled)||(y(g,parseInt(h(this).val(),10),e),z(g,e));return!1});e.initialized=!1;m.trigger("pagerBeforeInitialized",e);F(g,e,!1);"string"===typeof e.ajaxUrl?(e.ajax=!0,f.widgetOptions.filter_serversideFiltering=!0,f.serverSideSorting= !0,q(g,e)):(e.ajax=!1,h(this).trigger("appendCache",!0),A(g,e));z(g,e);e.ajax||(e.initialized=!0,h(g).trigger("pagerInitialized",e))}})}}});k.showError=function(k,p){h(k).each(function(){var k=this.config,u=k.pager&&k.pager.cssErrorRow||k.widgetOptions.pager_css&&k.widgetOptions.pager_css.errorRow||"tablesorter-errorRow";k&&("undefined"===typeof p?k.$table.find("thead").find(k.selectorRemove).remove():(/tr\>/.test(p)?h(p):h('<tr><td colspan="'+k.columns+'">'+p+"</td></tr>")).click(function(){h(this).remove()}).appendTo(k.$table.find("thead:first")).addClass(u+ " "+k.selectorRemove.replace(/^(\w+\.)/g,"")).attr({role:"alert","aria-live":"assertive"}))})};h.fn.extend({tablesorterPager:h.tablesorterPager.construct})})(jQuery);
View
4 docs/index.html
@@ -493,7 +493,7 @@ <h4 id="extras">Plugins / Widgets<br>
<li><a href="example-widget-header-titles.html">Header titles widget</a> (v2.15.6; <span class="version updated">2.15.7</span>)</li>
<li><span class="label label-info">Beta</span> <a href="example-widget-math.html">Math widget</a> (<span class="version">v2.16</span>; <span class="version updated">v2.17.0</span>).</li>
<li>
- <span class="label label-info">Beta</span> <a href="example-widget-output.html">Output widget</a> (<span class="version">v2.16</span>; <span class="version updated">v2.17.0</span>)
+ <span class="label label-info">Beta</span> <a href="example-widget-output.html">Output widget</a> (<span class="version">v2.16</span>; <span class="version updated">v2.17.5</span>)
<br><br>
</li>
@@ -526,7 +526,7 @@ <h4 id="extras">Custom Parsers</h4>
<li><a href="example-parsers-dates.html">Date parsers</a> (<span class="version">v2.8</span>; <span class="version updated">v2.14</span>; includes weekday, month, two-digit year &amp; <a href="http://sugarjs.com/dates">sugar.js</a> date parsers).</li>
<li><a href="example-parsers-file-type.html">File type parser</a> (<span class="version">v2.13</span>).</li>
<li><a href="example-parsers-ignore-articles.html">Ignore leading articles parser</a> (Ignore &quot;A&quot;, &quot;An&quot; and &quot;The&quot; in titles) (<span class="version">v2.8</span>).</li>
- <li><a href="example-widget-grouping.html">Input/select parsers</a> (used by Grouping rows widget) (<span class="version">v2.8</span>; <span class="version updated">v2.17.1</span>).</li>
+ <li><a href="example-widget-grouping.html">Input/select parsers</a> (used by Grouping rows widget) (<span class="version">v2.8</span>; <span class="version updated">v2.17.5</span>).</li>
<li><a href="example-parsers-ip-address.html">IPv6 address parser</a> (<span class="version">v2.12</span>).</li>
<li><a href="example-parsers-feet-inch-fraction.html">Feet-inch-fraction parser</a> (<span class="version">v2.8</span>).</li>
<li><a href="example-parsers-metric.html">Metric parser</a> (<span class="version">v2.8</span>).</li>
View
4 js/jquery.tablesorter.js
@@ -1,5 +1,5 @@
/**!
-* TableSorter 2.17.4 - Client-side table sorting with ease!
+* TableSorter 2.17.5 - Client-side table sorting with ease!
* @requires jQuery v1.2.6+
*
* Copyright (c) 2007 Christian Bach
@@ -24,7 +24,7 @@
var ts = this;
- ts.version = "2.17.4";
+ ts.version = "2.17.5";
ts.parsers = [];
ts.widgets = [];
View
4 js/jquery.tablesorter.min.js
@@ -1,5 +1,5 @@
/*!
-* TableSorter 2.17.4 min - Client-side table sorting with ease!
+* TableSorter 2.17.5 min - Client-side table sorting with ease!
* Copyright (c) 2007 Christian Bach
*/
-!function(g){g.extend({tablesorter:new function(){function d(){var b=arguments[0],a=1<arguments.length?Array.prototype.slice.call(arguments):b;if("undefined"!==typeof console&&"undefined"!==typeof console.log)console[/error/i.test(b)?"error":/warn/i.test(b)?"warn":"log"](a);else alert(a)}function v(b,a){d(b+" ("+((new Date).getTime()-a.getTime())+"ms)")}function p(b){for(var a in b)return!1;return!0}function n(b,a,c){if(!a)return"";var h,e=b.config,r=e.textExtraction||"",k="",k="basic"===r?g(a).attr(e.textAttribute)|| a.textContent||a.innerText||g(a).text()||"":"function"===typeof r?r(a,b,c):"function"===typeof(h=f.getColumnData(b,r,c))?h(a,b,c):a.textContent||a.innerText||g(a).text()||"";return g.trim(k)}function t(b){var a=b.config,c=a.$tbodies=a.$table.children("tbody:not(."+a.cssInfoBlock+")"),h,e,r,k,l,m,g,u,p,q=0,s="",t=c.length;if(0===t)return a.debug?d("Warning: *Empty table!* Not building a parser cache"):"";a.debug&&(p=new Date,d("Detecting parsers for each column"));for(e=[];q<t;){h=c[q].rows;if(h[q])for(r= a.columns,k=0;k<r;k++){l=a.$headers.filter('[data-column="'+k+'"]:last');m=f.getColumnData(b,a.headers,k);u=f.getParserById(f.getData(l,m,"sorter"));g="false"===f.getData(l,m,"parser");a.empties[k]=f.getData(l,m,"empty")||a.emptyTo||(a.emptyToBottom?"bottom":"top");a.strings[k]=f.getData(l,m,"string")||a.stringTo||"max";g&&(u=f.getParserById("no-parser"));if(!u)a:{l=b;m=h;g=-1;u=k;for(var A=void 0,x=f.parsers.length,z=!1,F="",A=!0;""===F&&A;)g++,m[g]?(z=m[g].cells[u],F=n(l,z,u),l.config.debug&&d("Checking if value was empty on row "+ g+", column: "+u+': "'+F+'"')):A=!1;for(;0<=--x;)if((A=f.parsers[x])&&"text"!==A.id&&A.is&&A.is(F,l,z)){u=A;break a}u=f.getParserById("text")}a.debug&&(s+="column:"+k+"; parser:"+u.id+"; string:"+a.strings[k]+"; empty: "+a.empties[k]+"\n");e[k]=u}q+=e.length?t:1}a.debug&&(d(s?s:"No parsers detected"),v("Completed detecting parsers",p));a.parsers=e}function x(b){var a,c,h,e,r,k,l,m,y,u,p,q=b.config,s=q.$table.children("tbody"),t=q.parsers;q.cache={};if(!t)return q.debug?d("Warning: *Empty table!* Not building a cache"): "";q.debug&&(m=new Date);q.showProcessing&&f.isProcessing(b,!0);for(r=0;r<s.length;r++)if(p=[],a=q.cache[r]={normalized:[]},!s.eq(r).hasClass(q.cssInfoBlock)){y=s[r]&&s[r].rows.length||0;for(h=0;h<y;++h)if(u={child:[]},k=g(s[r].rows[h]),l=[],k.hasClass(q.cssChildRow)&&0!==h)c=a.normalized.length-1,a.normalized[c][q.columns].$row=a.normalized[c][q.columns].$row.add(k),k.prev().hasClass(q.cssChildRow)||k.prev().addClass(f.css.cssHasChild),u.child[c]=g.trim(k[0].textContent||k[0].innerText||k.text()|| "");else{u.$row=k;u.order=h;for(e=0;e<q.columns;++e)"undefined"===typeof t[e]?q.debug&&d("No parser found for cell:",k[0].cells[e],"does it have a header?"):(c=n(b,k[0].cells[e],e),c="no-parser"===t[e].id?"":t[e].format(c,b,k[0].cells[e],e),l.push(c),"numeric"===(t[e].type||"").toLowerCase()&&(p[e]=Math.max(Math.abs(c)||0,p[e]||0)));l[q.columns]=u;a.normalized.push(l)}a.colMax=p}q.showProcessing&&f.isProcessing(b);q.debug&&v("Building cache for "+y+" rows",m)}function z(b,a){var c=b.config,h=c.widgetOptions, e=b.tBodies,r=[],k=c.cache,d,m,y,u,n,q;if(p(k))return c.appender?c.appender(b,r):b.isUpdating?c.$table.trigger("updateComplete",b):"";c.debug&&(q=new Date);for(n=0;n<e.length;n++)if(d=g(e[n]),d.length&&!d.hasClass(c.cssInfoBlock)){y=f.processTbody(b,d,!0);d=k[n].normalized;m=d.length;for(u=0;u<m;u++)r.push(d[u][c.columns].$row),c.appender&&(!c.pager||c.pager.removeRows&&h.pager_removeRows||c.pager.ajax)||y.append(d[u][c.columns].$row);f.processTbody(b,y,!1)}c.appender&&c.appender(b,r);c.debug&&v("Rebuilt table", q);a||c.appender||f.applyWidget(b);b.isUpdating&&c.$table.trigger("updateComplete",b)}function C(b){return/^d/i.test(b)||1===b}function D(b){var a,c,h,e,r,k,l,m=b.config;m.headerList=[];m.headerContent=[];m.debug&&(l=new Date);m.columns=f.computeColumnIndex(m.$table.children("thead, tfoot").children("tr"));e=m.cssIcon?'<i class="'+(m.cssIcon===f.css.icon?f.css.icon:m.cssIcon+" "+f.css.icon)+'"></i>':"";m.$headers.each(function(d){c=g(this);a=f.getColumnData(b,m.headers,d,!0);m.headerContent[d]=g(this).html(); r=m.headerTemplate.replace(/\{content\}/g,g(this).html()).replace(/\{icon\}/g,e);m.onRenderTemplate&&(h=m.onRenderTemplate.apply(c,[d,r]))&&"string"===typeof h&&(r=h);g(this).html('<div class="'+f.css.headerIn+'">'+r+"</div>");m.onRenderHeader&&m.onRenderHeader.apply(c,[d]);this.column=parseInt(g(this).attr("data-column"),10);this.order=C(f.getData(c,a,"sortInitialOrder")||m.sortInitialOrder)?[1,0,2]:[0,1,2];this.count=-1;this.lockedOrder=!1;k=f.getData(c,a,"lockedOrder")||!1;"undefined"!==typeof k&& !1!==k&&(this.order=this.lockedOrder=C(k)?[1,1,1]:[0,0,0]);c.addClass(f.css.header+" "+m.cssHeader);m.headerList[d]=this;c.parent().addClass(f.css.headerRow+" "+m.cssHeaderRow).attr("role","row");m.tabIndex&&c.attr("tabindex",0)}).attr({scope:"col",role:"columnheader"});B(b);m.debug&&(v("Built headers:",l),d(m.$headers))}function E(b,a,c){var h=b.config;h.$table.find(h.selectorRemove).remove();t(b);x(b);H(h.$table,a,c)}function B(b){var a,c,h=b.config;h.$headers.each(function(e,r){c=g(r);a="false"=== f.getData(r,f.getColumnData(b,h.headers,e,!0),"sorter");r.sortDisabled=a;c[a?"addClass":"removeClass"]("sorter-false").attr("aria-disabled",""+a);b.id&&(a?c.removeAttr("aria-controls"):c.attr("aria-controls",b.id))})}function G(b){var a,c,h=b.config,e=h.sortList,r=e.length,d=f.css.sortNone+" "+h.cssNone,l=[f.css.sortAsc+" "+h.cssAsc,f.css.sortDesc+" "+h.cssDesc],m=["ascending","descending"],y=g(b).find("tfoot tr").children().add(h.$extraHeaders).removeClass(l.join(" "));h.$headers.removeClass(l.join(" ")).addClass(d).attr("aria-sort", "none");for(a=0;a<r;a++)if(2!==e[a][1]&&(b=h.$headers.not(".sorter-false").filter('[data-column="'+e[a][0]+'"]'+(1===r?":last":"")),b.length)){for(c=0;c<b.length;c++)b[c].sortDisabled||b.eq(c).removeClass(d).addClass(l[e[a][1]]).attr("aria-sort",m[e[a][1]]);y.length&&y.filter('[data-column="'+e[a][0]+'"]').removeClass(d).addClass(l[e[a][1]])}h.$headers.not(".sorter-false").each(function(){var b=g(this),a=this.order[(this.count+1)%(h.sortReset?3:2)],a=b.text()+": "+f.language[b.hasClass(f.css.sortAsc)? "sortAsc":b.hasClass(f.css.sortDesc)?"sortDesc":"sortNone"]+f.language[0===a?"nextAsc":1===a?"nextDesc":"nextNone"];b.attr("aria-label",a)})}function L(b){if(b.config.widthFixed&&0===g(b).find("colgroup").length){var a=g("<colgroup>"),c=g(b).width();g(b.tBodies[0]).find("tr:first").children("td:visible").each(function(){a.append(g("<col>").css("width",parseInt(g(this).width()/c*1E3,10)/10+"%"))});g(b).prepend(a)}}function M(b,a){var c,h,e,f,d,l=b.config,m=a||l.sortList;l.sortList=[];g.each(m,function(b, a){f=parseInt(a[0],10);if(e=l.$headers.filter('[data-column="'+f+'"]:last')[0]){h=(h=(""+a[1]).match(/^(1|d|s|o|n)/))?h[0]:"";switch(h){case "1":case "d":h=1;break;case "s":h=d||0;break;case "o":c=e.order[(d||0)%(l.sortReset?3:2)];h=0===c?1:1===c?0:2;break;case "n":e.count+=1;h=e.order[e.count%(l.sortReset?3:2)];break;default:h=0}d=0===b?h:d;c=[f,parseInt(h,10)||0];l.sortList.push(c);h=g.inArray(c[1],e.order);e.count=0<=h?h:c[1]%(l.sortReset?3:2)}})}function N(b,a){return b&&b[a]?b[a].type||"":""} function O(b,a,c){var h,e,d,k=b.config,l=!c[k.sortMultiSortKey],m=k.$table;m.trigger("sortStart",b);a.count=c[k.sortResetKey]?2:(a.count+1)%(k.sortReset?3:2);k.sortRestart&&(e=a,k.$headers.each(function(){this===e||!l&&g(this).is("."+f.css.sortDesc+",."+f.css.sortAsc)||(this.count=-1)}));e=a.column;if(l){k.sortList=[];if(null!==k.sortForce)for(h=k.sortForce,c=0;c<h.length;c++)h[c][0]!==e&&k.sortList.push(h[c]);h=a.order[a.count];if(2>h&&(k.sortList.push([e,h]),1<a.colSpan))for(c=1;c<a.colSpan;c++)k.sortList.push([e+ c,h])}else{if(k.sortAppend&&1<k.sortList.length)for(c=0;c<k.sortAppend.length;c++)d=f.isValueInArray(k.sortAppend[c][0],k.sortList),0<=d&&k.sortList.splice(d,1);if(0<=f.isValueInArray(e,k.sortList))for(c=0;c<k.sortList.length;c++)d=k.sortList[c],h=k.$headers.filter('[data-column="'+d[0]+'"]:last')[0],d[0]===e&&(d[1]=h.order[a.count],2===d[1]&&(k.sortList.splice(c,1),h.count=-1));else if(h=a.order[a.count],2>h&&(k.sortList.push([e,h]),1<a.colSpan))for(c=1;c<a.colSpan;c++)k.sortList.push([e+c,h])}if(null!== k.sortAppend)for(h=k.sortAppend,c=0;c<h.length;c++)h[c][0]!==e&&k.sortList.push(h[c]);m.trigger("sortBegin",b);setTimeout(function(){G(b);I(b);z(b);m.trigger("sortEnd",b)},1)}function I(b){var a,c,h,e,d,k,g,m,y,n,t,q=0,s=b.config,w=s.textSorter||"",x=s.sortList,z=x.length,B=b.tBodies.length;if(!s.serverSideSorting&&!p(s.cache)){s.debug&&(d=new Date);for(c=0;c<B;c++)k=s.cache[c].colMax,g=s.cache[c].normalized,g.sort(function(c,d){for(a=0;a<z;a++){e=x[a][0];m=x[a][1];q=0===m;if(s.sortStable&&c[e]=== d[e]&&1===z)break;(h=/n/i.test(N(s.parsers,e)))&&s.strings[e]?(h="boolean"===typeof s.string[s.strings[e]]?(q?1:-1)*(s.string[s.strings[e]]?-1:1):s.strings[e]?s.string[s.strings[e]]||0:0,y=s.numberSorter?s.numberSorter(c[e],d[e],q,k[e],b):f["sortNumeric"+(q?"Asc":"Desc")](c[e],d[e],h,k[e],e,b)):(n=q?c:d,t=q?d:c,y="function"===typeof w?w(n[e],t[e],q,e,b):"object"===typeof w&&w.hasOwnProperty(e)?w[e](n[e],t[e],q,e,b):f["sortNatural"+(q?"Asc":"Desc")](c[e],d[e],e,b,s));if(y)return y}return c[s.columns].order- d[s.columns].order});s.debug&&v("Sorting on "+x.toString()+" and dir "+m+" time",d)}}function J(b,a){b[0].isUpdating&&b.trigger("updateComplete");g.isFunction(a)&&a(b[0])}function H(b,a,c){var h=b[0].config.sortList;!1!==a&&!b[0].isProcessing&&h.length?b.trigger("sorton",[h,function(){J(b,c)},!0]):(J(b,c),f.applyWidget(b[0],!1))}function K(b){var a=b.config,c=a.$table;c.unbind("sortReset update updateRows updateCell updateAll addRows updateComplete sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave ".split(" ").join(a.namespace+ " ")).bind("sortReset"+a.namespace,function(c,e){c.stopPropagation();a.sortList=[];G(b);I(b);z(b);g.isFunction(e)&&e(b)}).bind("updateAll"+a.namespace,function(c,e,d){c.stopPropagation();b.isUpdating=!0;f.refreshWidgets(b,!0,!0);f.restoreHeaders(b);D(b);f.bindEvents(b,a.$headers,!0);K(b);E(b,e,d)}).bind("update"+a.namespace+" updateRows"+a.namespace,function(a,c,d){a.stopPropagation();b.isUpdating=!0;B(b);E(b,c,d)}).bind("updateCell"+a.namespace,function(h,e,d,f){h.stopPropagation();b.isUpdating= !0;c.find(a.selectorRemove).remove();var l,m;l=c.find("tbody");m=g(e);h=l.index(g.fn.closest?m.closest("tbody"):m.parents("tbody").filter(":first"));var p=g.fn.closest?m.closest("tr"):m.parents("tr").filter(":first");e=m[0];l.length&&0<=h&&(l=l.eq(h).find("tr").index(p),m=m.index(),a.cache[h].normalized[l][a.columns].$row=p,e=a.cache[h].normalized[l][m]="no-parser"===a.parsers[m].id?"":a.parsers[m].format(n(b,e,m),b,e,m),"numeric"===(a.parsers[m].type||"").toLowerCase()&&(a.cache[h].colMax[m]=Math.max(Math.abs(e)|| 0,a.cache[h].colMax[m]||0)),H(c,d,f))}).bind("addRows"+a.namespace,function(h,e,d,f){h.stopPropagation();b.isUpdating=!0;if(p(a.cache))B(b),E(b,d,f);else{e=g(e);var l,m,v,u,x=e.filter("tr").length,q=c.find("tbody").index(e.parents("tbody").filter(":first"));a.parsers&&a.parsers.length||t(b);for(h=0;h<x;h++){m=e[h].cells.length;u=[];v={child:[],$row:e.eq(h),order:a.cache[q].normalized.length};for(l=0;l<m;l++)u[l]="no-parser"===a.parsers[l].id?"":a.parsers[l].format(n(b,e[h].cells[l],l),b,e[h].cells[l], l),"numeric"===(a.parsers[l].type||"").toLowerCase()&&(a.cache[q].colMax[l]=Math.max(Math.abs(u[l])||0,a.cache[q].colMax[l]||0));u.push(v);a.cache[q].normalized.push(u)}H(c,d,f)}}).bind("updateComplete"+a.namespace,function(){b.isUpdating=!1}).bind("sorton"+a.namespace,function(a,e,d,k){var l=b.config;a.stopPropagation();c.trigger("sortStart",this);M(b,e);G(b);l.delayInit&&p(l.cache)&&x(b);c.trigger("sortBegin",this);I(b);z(b,k);c.trigger("sortEnd",this);f.applyWidget(b);g.isFunction(d)&&d(b)}).bind("appendCache"+ a.namespace,function(a,c,d){a.stopPropagation();z(b,d);g.isFunction(c)&&c(b)}).bind("updateCache"+a.namespace,function(c,e){a.parsers&&a.parsers.length||t(b);x(b);g.isFunction(e)&&e(b)}).bind("applyWidgetId"+a.namespace,function(c,e){c.stopPropagation();f.getWidgetById(e).format(b,a,a.widgetOptions)}).bind("applyWidgets"+a.namespace,function(a,c){a.stopPropagation();f.applyWidget(b,c)}).bind("refreshWidgets"+a.namespace,function(a,c,d){a.stopPropagation();f.refreshWidgets(b,c,d)}).bind("destroy"+ a.namespace,function(a,c,d){a.stopPropagation();f.destroy(b,c,d)}).bind("resetToLoadState"+a.namespace,function(){f.refreshWidgets(b,!0,!0);a=g.extend(!0,f.defaults,a.originalSettings);b.hasInitialized=!1;f.setup(b,a)})}var f=this;f.version="2.17.4";f.parsers=[];f.widgets=[];f.defaults={theme:"default",widthFixed:!1,showProcessing:!1,headerTemplate:"{content}",onRenderTemplate:null,onRenderHeader:null,cancelSelection:!0,tabIndex:!0,dateFormat:"mmddyyyy",sortMultiSortKey:"shiftKey",sortResetKey:"ctrlKey", usNumberFormat:!0,delayInit:!1,serverSideSorting:!1,headers:{},ignoreCase:!0,sortForce:null,sortList:[],sortAppend:null,sortStable:!1,sortInitialOrder:"asc",sortLocaleCompare:!1,sortReset:!1,sortRestart:!1,emptyTo:"bottom",stringTo:"max",textExtraction:"basic",textAttribute:"data-text",textSorter:null,numberSorter:null,widgets:[],widgetOptions:{zebra:["even","odd"]},initWidgets:!0,initialized:null,tableClass:"",cssAsc:"",cssDesc:"",cssNone:"",cssHeader:"",cssHeaderRow:"",cssProcessing:"",cssChildRow:"tablesorter-childRow", cssIcon:"tablesorter-icon",cssInfoBlock:"tablesorter-infoOnly",selectorHeaders:"> thead th, > thead td",selectorSort:"th, td",selectorRemove:".remove-me",debug:!1,headerList:[],empties:{},strings:{},parsers:[]};f.css={table:"tablesorter",cssHasChild:"tablesorter-hasChildRow",childRow:"tablesorter-childRow",header:"tablesorter-header",headerRow:"tablesorter-headerRow",headerIn:"tablesorter-header-inner",icon:"tablesorter-icon",info:"tablesorter-infoOnly",processing:"tablesorter-processing",sortAsc:"tablesorter-headerAsc", sortDesc:"tablesorter-headerDesc",sortNone:"tablesorter-headerUnSorted"};f.language={sortAsc:"Ascending sort applied, ",sortDesc:"Descending sort applied, ",sortNone:"No sort applied, ",nextAsc:"activate to apply an ascending sort",nextDesc:"activate to apply a descending sort",nextNone:"activate to remove the sort"};f.log=d;f.benchmark=v;f.construct=function(b){return this.each(function(){var a=g.extend(!0,{},f.defaults,b);a.originalSettings=b;!this.hasInitialized&&f.buildTable&&"TABLE"!==this.tagName? f.buildTable(this,a):f.setup(this,a)})};f.setup=function(b,a){if(!b||!b.tHead||0===b.tBodies.length||!0===b.hasInitialized)return a.debug?d("ERROR: stopping initialization! No table, thead, tbody or tablesorter has already been initialized"):"";var c="",h=g(b),e=g.metadata;b.hasInitialized=!1;b.isProcessing=!0;b.config=a;g.data(b,"tablesorter",a);a.debug&&g.data(b,"startoveralltimer",new Date);a.supportsDataObject=function(a){a[0]=parseInt(a[0],10);return 1<a[0]||1===a[0]&&4<=parseInt(a[1],10)}(g.fn.jquery.split(".")); a.string={max:1,min:-1,emptyMin:1,emptyMax:-1,zero:0,none:0,"null":0,top:!0,bottom:!1};/tablesorter\-/.test(h.attr("class"))||(c=""!==a.theme?" tablesorter-"+a.theme:"");a.$table=h.addClass(f.css.table+" "+a.tableClass+c).attr({role:"grid"});a.$headers=g(b).find(a.selectorHeaders);a.namespace=a.namespace?"."+a.namespace.replace(/\W/g,""):".tablesorter"+Math.random().toString(16).slice(2);a.$tbodies=h.children("tbody:not(."+a.cssInfoBlock+")").attr({"aria-live":"polite","aria-relevant":"all"});a.$table.find("caption").length&& a.$table.attr("aria-labelledby","theCaption");a.widgetInit={};a.textExtraction=a.$table.attr("data-text-extraction")||a.textExtraction||"basic";D(b);L(b);t(b);a.delayInit||x(b);f.bindEvents(b,a.$headers,!0);K(b);a.supportsDataObject&&"undefined"!==typeof h.data().sortlist?a.sortList=h.data().sortlist:e&&h.metadata()&&h.metadata().sortlist&&(a.sortList=h.metadata().sortlist);f.applyWidget(b,!0);0<a.sortList.length?h.trigger("sorton",[a.sortList,{},!a.initWidgets,!0]):(G(b),a.initWidgets&&f.applyWidget(b, !1));a.showProcessing&&h.unbind("sortBegin"+a.namespace+" sortEnd"+a.namespace).bind("sortBegin"+a.namespace+" sortEnd"+a.namespace,function(c){clearTimeout(a.processTimer);f.isProcessing(b);"sortBegin"===c.type&&(a.processTimer=setTimeout(function(){f.isProcessing(b,!0)},500))});b.hasInitialized=!0;b.isProcessing=!1;a.debug&&f.benchmark("Overall initialization time",g.data(b,"startoveralltimer"));h.trigger("tablesorter-initialized",b);"function"===typeof a.initialized&&a.initialized(b)};f.getColumnData= function(b,a,c,h){if("undefined"!==typeof a&&null!==a){b=g(b)[0];var e,d=b.config;if(a[c])return h?a[c]:a[d.$headers.index(d.$headers.filter('[data-column="'+c+'"]:last'))];for(e in a)if("string"===typeof e&&(b=h?d.$headers.eq(c).filter(e):d.$headers.filter('[data-column="'+c+'"]:last').filter(e),b.length))return a[e]}};f.computeColumnIndex=function(b){var a=[],c=0,h,e,d,f,l,m,p,v,n,q;for(h=0;h<b.length;h++)for(l=b[h].cells,e=0;e<l.length;e++){d=l[e];f=g(d);m=d.parentNode.rowIndex;f.index();p=d.rowSpan|| 1;v=d.colSpan||1;"undefined"===typeof a[m]&&(a[m]=[]);for(d=0;d<a[m].length+1;d++)if("undefined"===typeof a[m][d]){n=d;break}c=Math.max(n,c);f.attr({"data-column":n});for(d=m;d<m+p;d++)for("undefined"===typeof a[d]&&(a[d]=[]),q=a[d],f=n;f<n+v;f++)q[f]="x"}return c+1};f.isProcessing=function(b,a,c){b=g(b);var d=b[0].config,e=c||b.find("."+f.css.header);a?("undefined"!==typeof c&&0<d.sortList.length&&(e=e.filter(function(){return this.sortDisabled?!1:0<=f.isValueInArray(parseFloat(g(this).attr("data-column")), d.sortList)})),b.add(e).addClass(f.css.processing+" "+d.cssProcessing)):b.add(e).removeClass(f.css.processing+" "+d.cssProcessing)};f.processTbody=function(b,a,c){b=g(b)[0];if(c)return b.isProcessing=!0,a.before('<span class="tablesorter-savemyplace"/>'),c=g.fn.detach?a.detach():a.remove();c=g(b).find("span.tablesorter-savemyplace");a.insertAfter(c);c.remove();b.isProcessing=!1};f.clearTableBody=function(b){g(b)[0].config.$tbodies.children().detach()};f.bindEvents=function(b,a,c){b=g(b)[0];var d, e=b.config;!0!==c&&(e.$extraHeaders=e.$extraHeaders?e.$extraHeaders.add(a):a);a.find(e.selectorSort).add(a.filter(e.selectorSort)).unbind(["mousedown","mouseup","sort","keyup",""].join(e.namespace+" ")).bind(["mousedown","mouseup","sort","keyup",""].join(e.namespace+" "),function(c,f){var l;l=c.type;if(!(1!==(c.which||c.button)&&!/sort|keyup/.test(l)||"keyup"===l&&13!==c.which||"mouseup"===l&&!0!==f&&250<(new Date).getTime()-d)){if("mousedown"===l)return d=(new Date).getTime(),/(input|select|button|textarea)/i.test(c.target.tagName)? "":!e.cancelSelection;e.delayInit&&p(e.cache)&&x(b);l=g.fn.closest?g(this).closest("th, td")[0]:/TH|TD/.test(this.tagName)?this:g(this).parents("th, td")[0];l=e.$headers[a.index(l)];l.sortDisabled||O(b,l,c)}});e.cancelSelection&&a.attr("unselectable","on").bind("selectstart",!1).css({"user-select":"none",MozUserSelect:"none"})};f.restoreHeaders=function(b){var a=g(b)[0].config;a.$table.find(a.selectorHeaders).each(function(b){g(this).find("."+f.css.headerIn).length&&g(this).html(a.headerContent[b])})}; f.destroy=function(b,a,c){b=g(b)[0];if(b.hasInitialized){f.refreshWidgets(b,!0,!0);var d=g(b),e=b.config,r=d.find("thead:first"),k=r.find("tr."+f.css.headerRow).removeClass(f.css.headerRow+" "+e.cssHeaderRow),l=d.find("tfoot:first > tr").children("th, td");!1===a&&0<=g.inArray("uitheme",e.widgets)&&(d.trigger("applyWidgetId",["uitheme"]),d.trigger("applyWidgetId",["zebra"]));r.find("tr").not(k).remove();d.removeData("tablesorter").unbind("sortReset update updateAll updateRows updateCell addRows updateComplete sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave keypress sortBegin sortEnd resetToLoadState ".split(" ").join(e.namespace+ " "));e.$headers.add(l).removeClass([f.css.header,e.cssHeader,e.cssAsc,e.cssDesc,f.css.sortAsc,f.css.sortDesc,f.css.sortNone].join(" ")).removeAttr("data-column").removeAttr("aria-label").attr("aria-disabled","true");k.find(e.selectorSort).unbind(["mousedown","mouseup","keypress",""].join(e.namespace+" "));f.restoreHeaders(b);d.toggleClass(f.css.table+" "+e.tableClass+" tablesorter-"+e.theme,!1===a);b.hasInitialized=!1;delete b.config.cache;"function"===typeof c&&c(b)}};f.regex={chunk:/(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi, chunks:/(^\\0|\\0$)/,hex:/^0x[0-9a-f]+$/i};f.sortNatural=function(b,a){if(b===a)return 0;var c,d,e,g,k,l;d=f.regex;if(d.hex.test(a)){c=parseInt(b.match(d.hex),16);e=parseInt(a.match(d.hex),16);if(c<e)return-1;if(c>e)return 1}c=b.replace(d.chunk,"\\0$1\\0").replace(d.chunks,"").split("\\0");d=a.replace(d.chunk,"\\0$1\\0").replace(d.chunks,"").split("\\0");l=Math.max(c.length,d.length);for(k=0;k<l;k++){e=isNaN(c[k])?c[k]||0:parseFloat(c[k])||0;g=isNaN(d[k])?d[k]||0:parseFloat(d[k])||0;if(isNaN(e)!== isNaN(g))return isNaN(e)?1:-1;typeof e!==typeof g&&(e+="",g+="");if(e<g)return-1;if(e>g)return 1}return 0};f.sortNaturalAsc=function(b,a,c,d,e){if(b===a)return 0;c=e.string[e.empties[c]||e.emptyTo];return""===b&&0!==c?"boolean"===typeof c?c?-1:1:-c||-1:""===a&&0!==c?"boolean"===typeof c?c?1:-1:c||1:f.sortNatural(b,a)};f.sortNaturalDesc=function(b,a,c,d,e){if(b===a)return 0;c=e.string[e.empties[c]||e.emptyTo];return""===b&&0!==c?"boolean"===typeof c?c?-1:1:c||1:""===a&&0!==c?"boolean"===typeof c?c? 1:-1:-c||-1:f.sortNatural(a,b)};f.sortText=function(b,a){return b>a?1:b<a?-1:0};f.getTextValue=function(b,a,c){if(c){var d=b?b.length:0,e=c+a;for(c=0;c<d;c++)e+=b.charCodeAt(c);return a*e}return 0};f.sortNumericAsc=function(b,a,c,d,e,g){if(b===a)return 0;g=g.config;e=g.string[g.empties[e]||g.emptyTo];if(""===b&&0!==e)return"boolean"===typeof e?e?-1:1:-e||-1;if(""===a&&0!==e)return"boolean"===typeof e?e?1:-1:e||1;isNaN(b)&&(b=f.getTextValue(b,c,d));isNaN(a)&&(a=f.getTextValue(a,c,d));return b-a};f.sortNumericDesc= function(b,a,c,d,e,g){if(b===a)return 0;g=g.config;e=g.string[g.empties[e]||g.emptyTo];if(""===b&&0!==e)return"boolean"===typeof e?e?-1:1:e||1;if(""===a&&0!==e)return"boolean"===typeof e?e?1:-1:-e||-1;isNaN(b)&&(b=f.getTextValue(b,c,d));isNaN(a)&&(a=f.getTextValue(a,c,d));return a-b};f.sortNumeric=function(b,a){return b-a};f.characterEquivalents={a:"\u00e1\u00e0\u00e2\u00e3\u00e4\u0105\u00e5",A:"\u00c1\u00c0\u00c2\u00c3\u00c4\u0104\u00c5",c:"\u00e7\u0107\u010d",C:"\u00c7\u0106\u010c",e:"\u00e9\u00e8\u00ea\u00eb\u011b\u0119", E:"\u00c9\u00c8\u00ca\u00cb\u011a\u0118",i:"\u00ed\u00ec\u0130\u00ee\u00ef\u0131",I:"\u00cd\u00cc\u0130\u00ce\u00cf",o:"\u00f3\u00f2\u00f4\u00f5\u00f6",O:"\u00d3\u00d2\u00d4\u00d5\u00d6",ss:"\u00df",SS:"\u1e9e",u:"\u00fa\u00f9\u00fb\u00fc\u016f",U:"\u00da\u00d9\u00db\u00dc\u016e"};f.replaceAccents=function(b){var a,c="[",d=f.characterEquivalents;if(!f.characterRegex){f.characterRegexArray={};for(a in d)"string"===typeof a&&(c+=d[a],f.characterRegexArray[a]=new RegExp("["+d[a]+"]","g"));f.characterRegex= new RegExp(c+"]")}if(f.characterRegex.test(b))for(a in d)"string"===typeof a&&(b=b.replace(f.characterRegexArray[a],a));return b};f.isValueInArray=function(b,a){var c,d=a.length;for(c=0;c<d;c++)if(a[c][0]===b)return c;return-1};f.addParser=function(b){var a,c=f.parsers.length,d=!0;for(a=0;a<c;a++)f.parsers[a].id.toLowerCase()===b.id.toLowerCase()&&(d=!1);d&&f.parsers.push(b)};f.getParserById=function(b){if("false"==b)return!1;var a,c=f.parsers.length;for(a=0;a<c;a++)if(f.parsers[a].id.toLowerCase()=== b.toString().toLowerCase())return f.parsers[a];return!1};f.addWidget=function(b){f.widgets.push(b)};f.hasWidget=function(b,a){b=g(b);return b.length&&b[0].config&&b[0].config.widgetInit[a]||!1};f.getWidgetById=function(b){var a,c,d=f.widgets.length;for(a=0;a<d;a++)if((c=f.widgets[a])&&c.hasOwnProperty("id")&&c.id.toLowerCase()===b.toLowerCase())return c};f.applyWidget=function(b,a){b=g(b)[0];var c=b.config,d=c.widgetOptions,e=[],p,k,l;!1!==a&&b.hasInitialized&&(b.isApplyingWidgets||b.isUpdating)|| (c.debug&&(p=new Date),c.widgets.length&&(b.isApplyingWidgets=!0,c.widgets=g.grep(c.widgets,function(a,b){return g.inArray(a,c.widgets)===b}),g.each(c.widgets||[],function(a,b){(l=f.getWidgetById(b))&&l.id&&(l.priority||(l.priority=10),e[a]=l)}),e.sort(function(a,b){return a.priority<b.priority?-1:a.priority===b.priority?0:1}),g.each(e,function(e,f){if(f){if(a||!c.widgetInit[f.id])f.hasOwnProperty("options")&&(d=b.config.widgetOptions=g.extend(!0,{},f.options,d)),f.hasOwnProperty("init")&&f.init(b, f,c,d),c.widgetInit[f.id]=!0;!a&&f.hasOwnProperty("format")&&f.format(b,c,d,!1)}})),setTimeout(function(){b.isApplyingWidgets=!1},0),c.debug&&(k=c.widgets.length,v("Completed "+(!0===a?"initializing ":"applying ")+k+" widget"+(1!==k?"s":""),p)))};f.refreshWidgets=function(b,a,c){b=g(b)[0];var h,e=b.config,p=e.widgets,k=f.widgets,l=k.length;for(h=0;h<l;h++)k[h]&&k[h].id&&(a||0>g.inArray(k[h].id,p))&&(e.debug&&d('Refeshing widgets: Removing "'+k[h].id+'"'),k[h].hasOwnProperty("remove")&&e.widgetInit[k[h].id]&& (k[h].remove(b,e,e.widgetOptions),e.widgetInit[k[h].id]=!1));!0!==c&&f.applyWidget(b,a)};f.getData=function(b,a,c){var d="";b=g(b);var e,f;if(!b.length)return"";e=g.metadata?b.metadata():!1;f=" "+(b.attr("class")||"");"undefined"!==typeof b.data(c)||"undefined"!==typeof b.data(c.toLowerCase())?d+=b.data(c)||b.data(c.toLowerCase()):e&&"undefined"!==typeof e[c]?d+=e[c]:a&&"undefined"!==typeof a[c]?d+=a[c]:" "!==f&&f.match(" "+c+"-")&&(d=f.match(new RegExp("\\s"+c+"-([\\w-]+)"))[1]||"");return g.trim(d)}; f.formatFloat=function(b,a){if("string"!==typeof b||""===b)return b;var c;b=(a&&a.config?!1!==a.config.usNumberFormat:"undefined"!==typeof a?a:1)?b.replace(/,/g,""):b.replace(/[\s|\.]/g,"").replace(/,/g,".");/^\s*\([.\d]+\)/.test(b)&&(b=b.replace(/^\s*\(([.\d]+)\)/,"-$1"));c=parseFloat(b);return isNaN(c)?g.trim(b):c};f.isDigit=function(b){return isNaN(b)?/^[\-+(]?\d+[)]?$/.test(b.toString().replace(/[,.'"\s]/g,"")):!0}}});var n=g.tablesorter;g.fn.extend({tablesorter:n.construct});n.addParser({id:"no-parser", is:function(){return!1},format:function(){return""},type:"text"});n.addParser({id:"text",is:function(){return!0},format:function(d,v){var p=v.config;d&&(d=g.trim(p.ignoreCase?d.toLocaleLowerCase():d),d=p.sortLocaleCompare?n.replaceAccents(d):d);return d},type:"text"});n.addParser({id:"digit",is:function(d){return n.isDigit(d)},format:function(d,v){var p=n.formatFloat((d||"").replace(/[^\w,. \-()]/g,""),v);return d&&"number"===typeof p?p:d?g.trim(d&&v.config.ignoreCase?d.toLocaleLowerCase():d):d}, type:"numeric"});n.addParser({id:"currency",is:function(d){return/^\(?\d+[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]|[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]\d+\)?$/.test((d||"").replace(/[+\-,. ]/g,""))},format:function(d,v){var p=n.formatFloat((d||"").replace(/[^\w,. \-()]/g,""),v);return d&&"number"===typeof p?p:d?g.trim(d&&v.config.ignoreCase?d.toLocaleLowerCase():d):d},type:"numeric"});n.addParser({id:"ipAddress",is:function(d){return/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test(d)},format:function(d, g){var p,w=d?d.split("."):"",t="",x=w.length;for(p=0;p<x;p++)t+=("00"+w[p]).slice(-3);return d?n.formatFloat(t,g):d},type:"numeric"});n.addParser({id:"url",is:function(d){return/^(https?|ftp|file):\/\//.test(d)},format:function(d){return d?g.trim(d.replace(/(https?|ftp|file):\/\//,"")):d},type:"text"});n.addParser({id:"isoDate",is:function(d){return/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}/.test(d)},format:function(d,g){return d?n.formatFloat(""!==d?(new Date(d.replace(/-/g,"/"))).getTime()||d:"",g):d},type:"numeric"}); n.addParser({id:"percent",is:function(d){return/(\d\s*?%|%\s*?\d)/.test(d)&&15>d.length},format:function(d,g){return d?n.formatFloat(d.replace(/%/g,""),g):d},type:"numeric"});n.addParser({id:"usLongDate",is:function(d){return/^[A-Z]{3,10}\.?\s+\d{1,2},?\s+(\d{4})(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?$/i.test(d)||/^\d{1,2}\s+[A-Z]{3,10}\s+\d{4}/i.test(d)},format:function(d,g){return d?n.formatFloat((new Date(d.replace(/(\S)([AP]M)$/i,"$1 $2"))).getTime()||d,g):d},type:"numeric"});n.addParser({id:"shortDate", is:function(d){return/(^\d{1,2}[\/\s]\d{1,2}[\/\s]\d{4})|(^\d{4}[\/\s]\d{1,2}[\/\s]\d{1,2})/.test((d||"").replace(/\s+/g," ").replace(/[\-.,]/g,"/"))},format:function(d,g,p,w){if(d){p=g.config;var t=p.$headers.filter("[data-column="+w+"]:last");w=t.length&&t[0].dateFormat||n.getData(t,n.getColumnData(g,p.headers,w),"dateFormat")||p.dateFormat;d=d.replace(/\s+/g," ").replace(/[\-.,]/g,"/");"mmddyyyy"===w?d=d.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/,"$3/$1/$2"):"ddmmyyyy"===w?d=d.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/, "$3/$2/$1"):"yyyymmdd"===w&&(d=d.replace(/(\d{4})[\/\s](\d{1,2})[\/\s](\d{1,2})/,"$1/$2/$3"))}return d?n.formatFloat((new Date(d)).getTime()||d,g):d},type:"numeric"});n.addParser({id:"time",is:function(d){return/^(([0-2]?\d:[0-5]\d)|([0-1]?\d:[0-5]\d\s?([AP]M)))$/i.test(d)},format:function(d,g){return d?n.formatFloat((new Date("2000/01/01 "+d.replace(/(\S)([AP]M)$/i,"$1 $2"))).getTime()||d,g):d},type:"numeric"});n.addParser({id:"metadata",is:function(){return!1},format:function(d,n,p){d=n.config; d=d.parserMetadataName?d.parserMetadataName:"sortValue";return g(p).metadata()[d]},type:"numeric"});n.addWidget({id:"zebra",priority:90,format:function(d,v,p){var w,t,x,z,C,D,E=new RegExp(v.cssChildRow,"i"),B=v.$tbodies;v.debug&&(C=new Date);for(d=0;d<B.length;d++)w=B.eq(d),D=w.children("tr").length,1<D&&(x=0,w=w.children("tr:visible").not(v.selectorRemove),w.each(function(){t=g(this);E.test(this.className)||x++;z=0===x%2;t.removeClass(p.zebra[z?1:0]).addClass(p.zebra[z?0:1])}));v.debug&&n.benchmark("Applying Zebra widget", C)},remove:function(d,n,p){var w;n=n.$tbodies;var t=(p.zebra||["even","odd"]).join(" ");for(p=0;p<n.length;p++)w=g.tablesorter.processTbody(d,n.eq(p),!0),w.children().removeClass(t),g.tablesorter.processTbody(d,w,!1)}})}(jQuery);
+!function(g){g.extend({tablesorter:new function(){function d(){var b=arguments[0],a=1<arguments.length?Array.prototype.slice.call(arguments):b;if("undefined"!==typeof console&&"undefined"!==typeof console.log)console[/error/i.test(b)?"error":/warn/i.test(b)?"warn":"log"](a);else alert(a)}function v(b,a){d(b+" ("+((new Date).getTime()-a.getTime())+"ms)")}function p(b){for(var a in b)return!1;return!0}function n(b,a,c){if(!a)return"";var h,e=b.config,r=e.textExtraction||"",k="",k="basic"===r?g(a).attr(e.textAttribute)|| a.textContent||a.innerText||g(a).text()||"":"function"===typeof r?r(a,b,c):"function"===typeof(h=f.getColumnData(b,r,c))?h(a,b,c):a.textContent||a.innerText||g(a).text()||"";return g.trim(k)}function t(b){var a=b.config,c=a.$tbodies=a.$table.children("tbody:not(."+a.cssInfoBlock+")"),h,e,r,k,l,m,g,u,p,q=0,s="",t=c.length;if(0===t)return a.debug?d("Warning: *Empty table!* Not building a parser cache"):"";a.debug&&(p=new Date,d("Detecting parsers for each column"));for(e=[];q<t;){h=c[q].rows;if(h[q])for(r= a.columns,k=0;k<r;k++){l=a.$headers.filter('[data-column="'+k+'"]:last');m=f.getColumnData(b,a.headers,k);u=f.getParserById(f.getData(l,m,"sorter"));g="false"===f.getData(l,m,"parser");a.empties[k]=f.getData(l,m,"empty")||a.emptyTo||(a.emptyToBottom?"bottom":"top");a.strings[k]=f.getData(l,m,"string")||a.stringTo||"max";g&&(u=f.getParserById("no-parser"));if(!u)a:{l=b;m=h;g=-1;u=k;for(var A=void 0,x=f.parsers.length,z=!1,F="",A=!0;""===F&&A;)g++,m[g]?(z=m[g].cells[u],F=n(l,z,u),l.config.debug&&d("Checking if value was empty on row "+ g+", column: "+u+': "'+F+'"')):A=!1;for(;0<=--x;)if((A=f.parsers[x])&&"text"!==A.id&&A.is&&A.is(F,l,z)){u=A;break a}u=f.getParserById("text")}a.debug&&(s+="column:"+k+"; parser:"+u.id+"; string:"+a.strings[k]+"; empty: "+a.empties[k]+"\n");e[k]=u}q+=e.length?t:1}a.debug&&(d(s?s:"No parsers detected"),v("Completed detecting parsers",p));a.parsers=e}function x(b){var a,c,h,e,r,k,l,m,y,u,p,q=b.config,s=q.$table.children("tbody"),t=q.parsers;q.cache={};q.totalRows=0;if(!t)return q.debug?d("Warning: *Empty table!* Not building a cache"): "";q.debug&&(m=new Date);q.showProcessing&&f.isProcessing(b,!0);for(r=0;r<s.length;r++)if(p=[],a=q.cache[r]={normalized:[]},!s.eq(r).hasClass(q.cssInfoBlock)){y=s[r]&&s[r].rows.length||0;for(h=0;h<y;++h)if(u={child:[]},k=g(s[r].rows[h]),l=[],k.hasClass(q.cssChildRow)&&0!==h)c=a.normalized.length-1,a.normalized[c][q.columns].$row=a.normalized[c][q.columns].$row.add(k),k.prev().hasClass(q.cssChildRow)||k.prev().addClass(f.css.cssHasChild),u.child[c]=g.trim(k[0].textContent||k[0].innerText||k.text()|| "");else{u.$row=k;u.order=h;for(e=0;e<q.columns;++e)"undefined"===typeof t[e]?q.debug&&d("No parser found for cell:",k[0].cells[e],"does it have a header?"):(c=n(b,k[0].cells[e],e),c="no-parser"===t[e].id?"":t[e].format(c,b,k[0].cells[e],e),l.push(c),"numeric"===(t[e].type||"").toLowerCase()&&(p[e]=Math.max(Math.abs(c)||0,p[e]||0)));l[q.columns]=u;a.normalized.push(l)}a.colMax=p;q.totalRows+=a.normalized.length}q.showProcessing&&f.isProcessing(b);q.debug&&v("Building cache for "+y+" rows",m)}function z(b, a){var c=b.config,h=c.widgetOptions,e=b.tBodies,r=[],k=c.cache,d,m,y,u,n,q;if(p(k))return c.appender?c.appender(b,r):b.isUpdating?c.$table.trigger("updateComplete",b):"";c.debug&&(q=new Date);for(n=0;n<e.length;n++)if(d=g(e[n]),d.length&&!d.hasClass(c.cssInfoBlock)){y=f.processTbody(b,d,!0);d=k[n].normalized;m=d.length;for(u=0;u<m;u++)r.push(d[u][c.columns].$row),c.appender&&(!c.pager||c.pager.removeRows&&h.pager_removeRows||c.pager.ajax)||y.append(d[u][c.columns].$row);f.processTbody(b,y,!1)}c.appender&& c.appender(b,r);c.debug&&v("Rebuilt table",q);a||c.appender||f.applyWidget(b);b.isUpdating&&c.$table.trigger("updateComplete",b)}function C(b){return/^d/i.test(b)||1===b}function D(b){var a,c,h,e,r,k,l,m=b.config;m.headerList=[];m.headerContent=[];m.debug&&(l=new Date);m.columns=f.computeColumnIndex(m.$table.children("thead, tfoot").children("tr"));e=m.cssIcon?'<i class="'+(m.cssIcon===f.css.icon?f.css.icon:m.cssIcon+" "+f.css.icon)+'"></i>':"";m.$headers.each(function(d){c=g(this);a=f.getColumnData(b, m.headers,d,!0);m.headerContent[d]=g(this).html();r=m.headerTemplate.replace(/\{content\}/g,g(this).html()).replace(/\{icon\}/g,e);m.onRenderTemplate&&(h=m.onRenderTemplate.apply(c,[d,r]))&&"string"===typeof h&&(r=h);g(this).html('<div class="'+f.css.headerIn+'">'+r+"</div>");m.onRenderHeader&&m.onRenderHeader.apply(c,[d]);this.column=parseInt(g(this).attr("data-column"),10);this.order=C(f.getData(c,a,"sortInitialOrder")||m.sortInitialOrder)?[1,0,2]:[0,1,2];this.count=-1;this.lockedOrder=!1;k=f.getData(c, a,"lockedOrder")||!1;"undefined"!==typeof k&&!1!==k&&(this.order=this.lockedOrder=C(k)?[1,1,1]:[0,0,0]);c.addClass(f.css.header+" "+m.cssHeader);m.headerList[d]=this;c.parent().addClass(f.css.headerRow+" "+m.cssHeaderRow).attr("role","row");m.tabIndex&&c.attr("tabindex",0)}).attr({scope:"col",role:"columnheader"});B(b);m.debug&&(v("Built headers:",l),d(m.$headers))}function E(b,a,c){var h=b.config;h.$table.find(h.selectorRemove).remove();t(b);x(b);H(h.$table,a,c)}function B(b){var a,c,h=b.config; h.$headers.each(function(e,r){c=g(r);a="false"===f.getData(r,f.getColumnData(b,h.headers,e,!0),"sorter");r.sortDisabled=a;c[a?"addClass":"removeClass"]("sorter-false").attr("aria-disabled",""+a);b.id&&(a?c.removeAttr("aria-controls"):c.attr("aria-controls",b.id))})}function G(b){var a,c,h=b.config,e=h.sortList,r=e.length,d=f.css.sortNone+" "+h.cssNone,l=[f.css.sortAsc+" "+h.cssAsc,f.css.sortDesc+" "+h.cssDesc],m=["ascending","descending"],y=g(b).find("tfoot tr").children().add(h.$extraHeaders).removeClass(l.join(" ")); h.$headers.removeClass(l.join(" ")).addClass(d).attr("aria-sort","none");for(a=0;a<r;a++)if(2!==e[a][1]&&(b=h.$headers.not(".sorter-false").filter('[data-column="'+e[a][0]+'"]'+(1===r?":last":"")),b.length)){for(c=0;c<b.length;c++)b[c].sortDisabled||b.eq(c).removeClass(d).addClass(l[e[a][1]]).attr("aria-sort",m[e[a][1]]);y.length&&y.filter('[data-column="'+e[a][0]+'"]').removeClass(d).addClass(l[e[a][1]])}h.$headers.not(".sorter-false").each(function(){var b=g(this),a=this.order[(this.count+1)%(h.sortReset? 3:2)],a=b.text()+": "+f.language[b.hasClass(f.css.sortAsc)?"sortAsc":b.hasClass(f.css.sortDesc)?"sortDesc":"sortNone"]+f.language[0===a?"nextAsc":1===a?"nextDesc":"nextNone"];b.attr("aria-label",a)})}function L(b){if(b.config.widthFixed&&0===g(b).find("colgroup").length){var a=g("<colgroup>"),c=g(b).width();g(b.tBodies[0]).find("tr:first").children("td:visible").each(function(){a.append(g("<col>").css("width",parseInt(g(this).width()/c*1E3,10)/10+"%"))});g(b).prepend(a)}}function M(b,a){var c,h,e, f,d,l=b.config,m=a||l.sortList;l.sortList=[];g.each(m,function(b,a){f=parseInt(a[0],10);if(e=l.$headers.filter('[data-column="'+f+'"]:last')[0]){h=(h=(""+a[1]).match(/^(1|d|s|o|n)/))?h[0]:"";switch(h){case "1":case "d":h=1;break;case "s":h=d||0;break;case "o":c=e.order[(d||0)%(l.sortReset?3:2)];h=0===c?1:1===c?0:2;break;case "n":e.count+=1;h=e.order[e.count%(l.sortReset?3:2)];break;default:h=0}d=0===b?h:d;c=[f,parseInt(h,10)||0];l.sortList.push(c);h=g.inArray(c[1],e.order);e.count=0<=h?h:c[1]%(l.sortReset? 3:2)}})}function N(b,a){return b&&b[a]?b[a].type||"":""}function O(b,a,c){var h,e,d,k=b.config,l=!c[k.sortMultiSortKey],m=k.$table;m.trigger("sortStart",b);a.count=c[k.sortResetKey]?2:(a.count+1)%(k.sortReset?3:2);k.sortRestart&&(e=a,k.$headers.each(function(){this===e||!l&&g(this).is("."+f.css.sortDesc+",."+f.css.sortAsc)||(this.count=-1)}));e=a.column;if(l){k.sortList=[];if(null!==k.sortForce)for(h=k.sortForce,c=0;c<h.length;c++)h[c][0]!==e&&k.sortList.push(h[c]);h=a.order[a.count];if(2>h&&(k.sortList.push([e, h]),1<a.colSpan))for(c=1;c<a.colSpan;c++)k.sortList.push([e+c,h])}else{if(k.sortAppend&&1<k.sortList.length)for(c=0;c<k.sortAppend.length;c++)d=f.isValueInArray(k.sortAppend[c][0],k.sortList),0<=d&&k.sortList.splice(d,1);if(0<=f.isValueInArray(e,k.sortList))for(c=0;c<k.sortList.length;c++)d=k.sortList[c],h=k.$headers.filter('[data-column="'+d[0]+'"]:last')[0],d[0]===e&&(d[1]=h.order[a.count],2===d[1]&&(k.sortList.splice(c,1),h.count=-1));else if(h=a.order[a.count],2>h&&(k.sortList.push([e,h]),1<a.colSpan))for(c= 1;c<a.colSpan;c++)k.sortList.push([e+c,h])}if(null!==k.sortAppend)for(h=k.sortAppend,c=0;c<h.length;c++)h[c][0]!==e&&k.sortList.push(h[c]);m.trigger("sortBegin",b);setTimeout(function(){G(b);I(b);z(b);m.trigger("sortEnd",b)},1)}function I(b){var a,c,h,e,d,k,g,m,y,n,t,q=0,s=b.config,w=s.textSorter||"",x=s.sortList,z=x.length,B=b.tBodies.length;if(!s.serverSideSorting&&!p(s.cache)){s.debug&&(d=new Date);for(c=0;c<B;c++)k=s.cache[c].colMax,g=s.cache[c].normalized,g.sort(function(c,d){for(a=0;a<z;a++){e= x[a][0];m=x[a][1];q=0===m;if(s.sortStable&&c[e]===d[e]&&1===z)break;(h=/n/i.test(N(s.parsers,e)))&&s.strings[e]?(h="boolean"===typeof s.string[s.strings[e]]?(q?1:-1)*(s.string[s.strings[e]]?-1:1):s.strings[e]?s.string[s.strings[e]]||0:0,y=s.numberSorter?s.numberSorter(c[e],d[e],q,k[e],b):f["sortNumeric"+(q?"Asc":"Desc")](c[e],d[e],h,k[e],e,b)):(n=q?c:d,t=q?d:c,y="function"===typeof w?w(n[e],t[e],q,e,b):"object"===typeof w&&w.hasOwnProperty(e)?w[e](n[e],t[e],q,e,b):f["sortNatural"+(q?"Asc":"Desc")](c[e], d[e],e,b,s));if(y)return y}return c[s.columns].order-d[s.columns].order});s.debug&&v("Sorting on "+x.toString()+" and dir "+m+" time",d)}}function J(b,a){b[0].isUpdating&&b.trigger("updateComplete");g.isFunction(a)&&a(b[0])}function H(b,a,c){var h=b[0].config.sortList;!1!==a&&!b[0].isProcessing&&h.length?b.trigger("sorton",[h,function(){J(b,c)},!0]):(J(b,c),f.applyWidget(b[0],!1))}function K(b){var a=b.config,c=a.$table;c.unbind("sortReset update updateRows updateCell updateAll addRows updateComplete sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave ".split(" ").join(a.namespace+ " ")).bind("sortReset"+a.namespace,function(c,e){c.stopPropagation();a.sortList=[];G(b);I(b);z(b);g.isFunction(e)&&e(b)}).bind("updateAll"+a.namespace,function(c,e,d){c.stopPropagation();b.isUpdating=!0;f.refreshWidgets(b,!0,!0);f.restoreHeaders(b);D(b);f.bindEvents(b,a.$headers,!0);K(b);E(b,e,d)}).bind("update"+a.namespace+" updateRows"+a.namespace,function(a,c,d){a.stopPropagation();b.isUpdating=!0;B(b);E(b,c,d)}).bind("updateCell"+a.namespace,function(h,e,d,f){h.stopPropagation();b.isUpdating= !0;c.find(a.selectorRemove).remove();var l,m;l=c.find("tbody");m=g(e);h=l.index(g.fn.closest?m.closest("tbody"):m.parents("tbody").filter(":first"));var p=g.fn.closest?m.closest("tr"):m.parents("tr").filter(":first");e=m[0];l.length&&0<=h&&(l=l.eq(h).find("tr").index(p),m=m.index(),a.cache[h].normalized[l][a.columns].$row=p,e=a.cache[h].normalized[l][m]="no-parser"===a.parsers[m].id?"":a.parsers[m].format(n(b,e,m),b,e,m),"numeric"===(a.parsers[m].type||"").toLowerCase()&&(a.cache[h].colMax[m]=Math.max(Math.abs(e)|| 0,a.cache[h].colMax[m]||0)),H(c,d,f))}).bind("addRows"+a.namespace,function(h,e,d,f){h.stopPropagation();b.isUpdating=!0;if(p(a.cache))B(b),E(b,d,f);else{e=g(e);var l,m,v,u,x=e.filter("tr").length,q=c.find("tbody").index(e.parents("tbody").filter(":first"));a.parsers&&a.parsers.length||t(b);for(h=0;h<x;h++){m=e[h].cells.length;u=[];v={child:[],$row:e.eq(h),order:a.cache[q].normalized.length};for(l=0;l<m;l++)u[l]="no-parser"===a.parsers[l].id?"":a.parsers[l].format(n(b,e[h].cells[l],l),b,e[h].cells[l], l),"numeric"===(a.parsers[l].type||"").toLowerCase()&&(a.cache[q].colMax[l]=Math.max(Math.abs(u[l])||0,a.cache[q].colMax[l]||0));u.push(v);a.cache[q].normalized.push(u)}H(c,d,f)}}).bind("updateComplete"+a.namespace,function(){b.isUpdating=!1}).bind("sorton"+a.namespace,function(a,e,d,k){var l=b.config;a.stopPropagation();c.trigger("sortStart",this);M(b,e);G(b);l.delayInit&&p(l.cache)&&x(b);c.trigger("sortBegin",this);I(b);z(b,k);c.trigger("sortEnd",this);f.applyWidget(b);g.isFunction(d)&&d(b)}).bind("appendCache"+ a.namespace,function(a,c,d){a.stopPropagation();z(b,d);g.isFunction(c)&&c(b)}).bind("updateCache"+a.namespace,function(c,e){a.parsers&&a.parsers.length||t(b);x(b);g.isFunction(e)&&e(b)}).bind("applyWidgetId"+a.namespace,function(c,e){c.stopPropagation();f.getWidgetById(e).format(b,a,a.widgetOptions)}).bind("applyWidgets"+a.namespace,function(a,c){a.stopPropagation();f.applyWidget(b,c)}).bind("refreshWidgets"+a.namespace,function(a,c,d){a.stopPropagation();f.refreshWidgets(b,c,d)}).bind("destroy"+ a.namespace,function(a,c,d){a.stopPropagation();f.destroy(b,c,d)}).bind("resetToLoadState"+a.namespace,function(){f.refreshWidgets(b,!0,!0);a=g.extend(!0,f.defaults,a.originalSettings);b.hasInitialized=!1;f.setup(b,a)})}var f=this;f.version="2.17.5";f.parsers=[];f.widgets=[];f.defaults={theme:"default",widthFixed:!1,showProcessing:!1,headerTemplate:"{content}",onRenderTemplate:null,onRenderHeader:null,cancelSelection:!0,tabIndex:!0,dateFormat:"mmddyyyy",sortMultiSortKey:"shiftKey",sortResetKey:"ctrlKey", usNumberFormat:!0,delayInit:!1,serverSideSorting:!1,headers:{},ignoreCase:!0,sortForce:null,sortList:[],sortAppend:null,sortStable:!1,sortInitialOrder:"asc",sortLocaleCompare:!1,sortReset:!1,sortRestart:!1,emptyTo:"bottom",stringTo:"max",textExtraction:"basic",textAttribute:"data-text",textSorter:null,numberSorter:null,widgets:[],widgetOptions:{zebra:["even","odd"]},initWidgets:!0,initialized:null,tableClass:"",cssAsc:"",cssDesc:"",cssNone:"",cssHeader:"",cssHeaderRow:"",cssProcessing:"",cssChildRow:"tablesorter-childRow", cssIcon:"tablesorter-icon",cssInfoBlock:"tablesorter-infoOnly",selectorHeaders:"> thead th, > thead td",selectorSort:"th, td",selectorRemove:".remove-me",debug:!1,headerList:[],empties:{},strings:{},parsers:[]};f.css={table:"tablesorter",cssHasChild:"tablesorter-hasChildRow",childRow:"tablesorter-childRow",header:"tablesorter-header",headerRow:"tablesorter-headerRow",headerIn:"tablesorter-header-inner",icon:"tablesorter-icon",info:"tablesorter-infoOnly",processing:"tablesorter-processing",sortAsc:"tablesorter-headerAsc", sortDesc:"tablesorter-headerDesc",sortNone:"tablesorter-headerUnSorted"};f.language={sortAsc:"Ascending sort applied, ",sortDesc:"Descending sort applied, ",sortNone:"No sort applied, ",nextAsc:"activate to apply an ascending sort",nextDesc:"activate to apply a descending sort",nextNone:"activate to remove the sort"};f.log=d;f.benchmark=v;f.construct=function(b){return this.each(function(){var a=g.extend(!0,{},f.defaults,b);a.originalSettings=b;!this.hasInitialized&&f.buildTable&&"TABLE"!==this.tagName? f.buildTable(this,a):f.setup(this,a)})};f.setup=function(b,a){if(!b||!b.tHead||0===b.tBodies.length||!0===b.hasInitialized)return a.debug?d("ERROR: stopping initialization! No table, thead, tbody or tablesorter has already been initialized"):"";var c="",h=g(b),e=g.metadata;b.hasInitialized=!1;b.isProcessing=!0;b.config=a;g.data(b,"tablesorter",a);a.debug&&g.data(b,"startoveralltimer",new Date);a.supportsDataObject=function(a){a[0]=parseInt(a[0],10);return 1<a[0]||1===a[0]&&4<=parseInt(a[1],10)}(g.fn.jquery.split(".")); a.string={max:1,min:-1,emptyMin:1,emptyMax:-1,zero:0,none:0,"null":0,top:!0,bottom:!1};/tablesorter\-/.test(h.attr("class"))||(c=""!==a.theme?" tablesorter-"+a.theme:"");a.table=b;a.$table=h.addClass(f.css.table+" "+a.tableClass+c).attr({role:"grid"});a.$headers=g(b).find(a.selectorHeaders);a.namespace=a.namespace?"."+a.namespace.replace(/\W/g,""):".tablesorter"+Math.random().toString(16).slice(2);a.$tbodies=h.children("tbody:not(."+a.cssInfoBlock+")").attr({"aria-live":"polite","aria-relevant":"all"}); a.$table.find("caption").length&&a.$table.attr("aria-labelledby","theCaption");a.widgetInit={};a.textExtraction=a.$table.attr("data-text-extraction")||a.textExtraction||"basic";D(b);L(b);t(b);a.totalRows=0;a.delayInit||x(b);f.bindEvents(b,a.$headers,!0);K(b);a.supportsDataObject&&"undefined"!==typeof h.data().sortlist?a.sortList=h.data().sortlist:e&&h.metadata()&&h.metadata().sortlist&&(a.sortList=h.metadata().sortlist);f.applyWidget(b,!0);0<a.sortList.length?h.trigger("sorton",[a.sortList,{},!a.initWidgets, !0]):(G(b),a.initWidgets&&f.applyWidget(b,!1));a.showProcessing&&h.unbind("sortBegin"+a.namespace+" sortEnd"+a.namespace).bind("sortBegin"+a.namespace+" sortEnd"+a.namespace,function(c){clearTimeout(a.processTimer);f.isProcessing(b);"sortBegin"===c.type&&(a.processTimer=setTimeout(function(){f.isProcessing(b,!0)},500))});b.hasInitialized=!0;b.isProcessing=!1;a.debug&&f.benchmark("Overall initialization time",g.data(b,"startoveralltimer"));h.trigger("tablesorter-initialized",b);"function"===typeof a.initialized&& a.initialized(b)};f.getColumnData=function(b,a,c,h){if("undefined"!==typeof a&&null!==a){b=g(b)[0];var e,d=b.config;if(a[c])return h?a[c]:a[d.$headers.index(d.$headers.filter('[data-column="'+c+'"]:last'))];for(e in a)if("string"===typeof e&&(b=h?d.$headers.eq(c).filter(e):d.$headers.filter('[data-column="'+c+'"]:last').filter(e),b.length))return a[e]}};f.computeColumnIndex=function(b){var a=[],c=0,h,e,d,f,l,m,p,v,n,q;for(h=0;h<b.length;h++)for(l=b[h].cells,e=0;e<l.length;e++){d=l[e];f=g(d);m=d.parentNode.rowIndex; f.index();p=d.rowSpan||1;v=d.colSpan||1;"undefined"===typeof a[m]&&(a[m]=[]);for(d=0;d<a[m].length+1;d++)if("undefined"===typeof a[m][d]){n=d;break}c=Math.max(n,c);f.attr({"data-column":n});for(d=m;d<m+p;d++)for("undefined"===typeof a[d]&&(a[d]=[]),q=a[d],f=n;f<n+v;f++)q[f]="x"}return c+1};f.isProcessing=function(b,a,c){b=g(b);var d=b[0].config,e=c||b.find("."+f.css.header);a?("undefined"!==typeof c&&0<d.sortList.length&&(e=e.filter(function(){return this.sortDisabled?!1:0<=f.isValueInArray(parseFloat(g(this).attr("data-column")), d.sortList)})),b.add(e).addClass(f.css.processing+" "+d.cssProcessing)):b.add(e).removeClass(f.css.processing+" "+d.cssProcessing)};f.processTbody=function(b,a,c){b=g(b)[0];if(c)return b.isProcessing=!0,a.before('<span class="tablesorter-savemyplace"/>'),c=g.fn.detach?a.detach():a.remove();c=g(b).find("span.tablesorter-savemyplace");a.insertAfter(c);c.remove();b.isProcessing=!1};f.clearTableBody=function(b){g(b)[0].config.$tbodies.children().detach()};f.bindEvents=function(b,a,c){b=g(b)[0];var d, e=b.config;!0!==c&&(e.$extraHeaders=e.$extraHeaders?e.$extraHeaders.add(a):a);a.find(e.selectorSort).add(a.filter(e.selectorSort)).unbind(["mousedown","mouseup","sort","keyup",""].join(e.namespace+" ")).bind(["mousedown","mouseup","sort","keyup",""].join(e.namespace+" "),function(c,f){var l;l=c.type;if(!(1!==(c.which||c.button)&&!/sort|keyup/.test(l)||"keyup"===l&&13!==c.which||"mouseup"===l&&!0!==f&&250<(new Date).getTime()-d)){if("mousedown"===l)return d=(new Date).getTime(),/(input|select|button|textarea)/i.test(c.target.tagName)? "":!e.cancelSelection;e.delayInit&&p(e.cache)&&x(b);l=g.fn.closest?g(this).closest("th, td")[0]:/TH|TD/.test(this.tagName)?this:g(this).parents("th, td")[0];l=e.$headers[a.index(l)];l.sortDisabled||O(b,l,c)}});e.cancelSelection&&a.attr("unselectable","on").bind("selectstart",!1).css({"user-select":"none",MozUserSelect:"none"})};f.restoreHeaders=function(b){var a=g(b)[0].config;a.$table.find(a.selectorHeaders).each(function(b){g(this).find("."+f.css.headerIn).length&&g(this).html(a.headerContent[b])})}; f.destroy=function(b,a,c){b=g(b)[0];if(b.hasInitialized){f.refreshWidgets(b,!0,!0);var d=g(b),e=b.config,r=d.find("thead:first"),k=r.find("tr."+f.css.headerRow).removeClass(f.css.headerRow+" "+e.cssHeaderRow),l=d.find("tfoot:first > tr").children("th, td");!1===a&&0<=g.inArray("uitheme",e.widgets)&&(d.trigger("applyWidgetId",["uitheme"]),d.trigger("applyWidgetId",["zebra"]));r.find("tr").not(k).remove();d.removeData("tablesorter").unbind("sortReset update updateAll updateRows updateCell addRows updateComplete sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave keypress sortBegin sortEnd resetToLoadState ".split(" ").join(e.namespace+ " "));e.$headers.add(l).removeClass([f.css.header,e.cssHeader,e.cssAsc,e.cssDesc,f.css.sortAsc,f.css.sortDesc,f.css.sortNone].join(" ")).removeAttr("data-column").removeAttr("aria-label").attr("aria-disabled","true");k.find(e.selectorSort).unbind(["mousedown","mouseup","keypress",""].join(e.namespace+" "));f.restoreHeaders(b);d.toggleClass(f.css.table+" "+e.tableClass+" tablesorter-"+e.theme,!1===a);b.hasInitialized=!1;delete b.config.cache;"function"===typeof c&&c(b)}};f.regex={chunk:/(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi, chunks:/(^\\0|\\0$)/,hex:/^0x[0-9a-f]+$/i};f.sortNatural=function(b,a){if(b===a)return 0;var c,d,e,g,k,l;d=f.regex;if(d.hex.test(a)){c=parseInt(b.match(d.hex),16);e=parseInt(a.match(d.hex),16);if(c<e)return-1;if(c>e)return 1}c=b.replace(d.chunk,"\\0$1\\0").replace(d.chunks,"").split("\\0");d=a.replace(d.chunk,"\\0$1\\0").replace(d.chunks,"").split("\\0");l=Math.max(c.length,d.length);for(k=0;k<l;k++){e=isNaN(c[k])?c[k]||0:parseFloat(c[k])||0;g=isNaN(d[k])?d[k]||0:parseFloat(d[k])||0;if(isNaN(e)!== isNaN(g))return isNaN(e)?1:-1;typeof e!==typeof g&&(e+="",g+="");if(e<g)return-1;if(e>g)return 1}return 0};f.sortNaturalAsc=function(b,a,c,d,e){if(b===a)return 0;c=e.string[e.empties[c]||e.emptyTo];return""===b&&0!==c?"boolean"===typeof c?c?-1:1:-c||-1:""===a&&0!==c?"boolean"===typeof c?c?1:-1:c||1:f.sortNatural(b,a)};f.sortNaturalDesc=function(b,a,c,d,e){if(b===a)return 0;c=e.string[e.empties[c]||e.emptyTo];return""===b&&0!==c?"boolean"===typeof c?c?-1:1:c||1:""===a&&0!==c?"boolean"===typeof c?c? 1:-1:-c||-1:f.sortNatural(a,b)};f.sortText=function(b,a){return b>a?1:b<a?-1:0};f.getTextValue=function(b,a,c){if(c){var d=b?b.length:0,e=c+a;for(c=0;c<d;c++)e+=b.charCodeAt(c);return a*e}return 0};f.sortNumericAsc=function(b,a,c,d,e,g){if(b===a)return 0;g=g.config;e=g.string[g.empties[e]||g.emptyTo];if(""===b&&0!==e)return"boolean"===typeof e?e?-1:1:-e||-1;if(""===a&&0!==e)return"boolean"===typeof e?e?1:-1:e||1;isNaN(b)&&(b=f.getTextValue(b,c,d));isNaN(a)&&(a=f.getTextValue(a,c,d));return b-a};f.sortNumericDesc= function(b,a,c,d,e,g){if(b===a)return 0;g=g.config;e=g.string[g.empties[e]||g.emptyTo];if(""===b&&0!==e)return"boolean"===typeof e?e?-1:1:e||1;if(""===a&&0!==e)return"boolean"===typeof e?e?1:-1:-e||-1;isNaN(b)&&(b=f.getTextValue(b,c,d));isNaN(a)&&(a=f.getTextValue(a,c,d));return a-b};f.sortNumeric=function(b,a){return b-a};f.characterEquivalents={a:"\u00e1\u00e0\u00e2\u00e3\u00e4\u0105\u00e5",A:"\u00c1\u00c0\u00c2\u00c3\u00c4\u0104\u00c5",c:"\u00e7\u0107\u010d",C:"\u00c7\u0106\u010c",e:"\u00e9\u00e8\u00ea\u00eb\u011b\u0119", E:"\u00c9\u00c8\u00ca\u00cb\u011a\u0118",i:"\u00ed\u00ec\u0130\u00ee\u00ef\u0131",I:"\u00cd\u00cc\u0130\u00ce\u00cf",o:"\u00f3\u00f2\u00f4\u00f5\u00f6",O:"\u00d3\u00d2\u00d4\u00d5\u00d6",ss:"\u00df",SS:"\u1e9e",u:"\u00fa\u00f9\u00fb\u00fc\u016f",U:"\u00da\u00d9\u00db\u00dc\u016e"};f.replaceAccents=function(b){var a,c="[",d=f.characterEquivalents;if(!f.characterRegex){f.characterRegexArray={};for(a in d)"string"===typeof a&&(c+=d[a],f.characterRegexArray[a]=new RegExp("["+d[a]+"]","g"));f.characterRegex= new RegExp(c+"]")}if(f.characterRegex.test(b))for(a in d)"string"===typeof a&&(b=b.replace(f.characterRegexArray[a],a));return b};f.isValueInArray=function(b,a){var c,d=a.length;for(c=0;c<d;c++)if(a[c][0]===b)return c;return-1};f.addParser=function(b){var a,c=f.parsers.length,d=!0;for(a=0;a<c;a++)f.parsers[a].id.toLowerCase()===b.id.toLowerCase()&&(d=!1);d&&f.parsers.push(b)};f.getParserById=function(b){if("false"==b)return!1;var a,c=f.parsers.length;for(a=0;a<c;a++)if(f.parsers[a].id.toLowerCase()=== b.toString().toLowerCase())return f.parsers[a];return!1};f.addWidget=function(b){f.widgets.push(b)};f.hasWidget=function(b,a){b=g(b);return b.length&&b[0].config&&b[0].config.widgetInit[a]||!1};f.getWidgetById=function(b){var a,c,d=f.widgets.length;for(a=0;a<d;a++)if((c=f.widgets[a])&&c.hasOwnProperty("id")&&c.id.toLowerCase()===b.toLowerCase())return c};f.applyWidget=function(b,a){b=g(b)[0];var c=b.config,d=c.widgetOptions,e=[],p,k,l;!1!==a&&b.hasInitialized&&(b.isApplyingWidgets||b.isUpdating)|| (c.debug&&(p=new Date),c.widgets.length&&(b.isApplyingWidgets=!0,c.widgets=g.grep(c.widgets,function(a,b){return g.inArray(a,c.widgets)===b}),g.each(c.widgets||[],function(a,b){(l=f.getWidgetById(b))&&l.id&&(l.priority||(l.priority=10),e[a]=l)}),e.sort(function(a,b){return a.priority<b.priority?-1:a.priority===b.priority?0:1}),g.each(e,function(e,f){if(f){if(a||!c.widgetInit[f.id])c.widgetInit[f.id]=!0,f.hasOwnProperty("options")&&(d=b.config.widgetOptions=g.extend(!0,{},f.options,d)),f.hasOwnProperty("init")&& f.init(b,f,c,d);!a&&f.hasOwnProperty("format")&&f.format(b,c,d,!1)}})),setTimeout(function(){b.isApplyingWidgets=!1},0),c.debug&&(k=c.widgets.length,v("Completed "+(!0===a?"initializing ":"applying ")+k+" widget"+(1!==k?"s":""),p)))};f.refreshWidgets=function(b,a,c){b=g(b)[0];var h,e=b.config,p=e.widgets,k=f.widgets,l=k.length;for(h=0;h<l;h++)k[h]&&k[h].id&&(a||0>g.inArray(k[h].id,p))&&(e.debug&&d('Refeshing widgets: Removing "'+k[h].id+'"'),k[h].hasOwnProperty("remove")&&e.widgetInit[k[h].id]&&(k[h].remove(b, e,e.widgetOptions),e.widgetInit[k[h].id]=!1));!0!==c&&f.applyWidget(b,a)};f.getData=function(b,a,c){var d="";b=g(b);var e,f;if(!b.length)return"";e=g.metadata?b.metadata():!1;f=" "+(b.attr("class")||"");"undefined"!==typeof b.data(c)||"undefined"!==typeof b.data(c.toLowerCase())?d+=b.data(c)||b.data(c.toLowerCase()):e&&"undefined"!==typeof e[c]?d+=e[c]:a&&"undefined"!==typeof a[c]?d+=a[c]:" "!==f&&f.match(" "+c+"-")&&(d=f.match(new RegExp("\\s"+c+"-([\\w-]+)"))[1]||"");return g.trim(d)};f.formatFloat= function(b,a){if("string"!==typeof b||""===b)return b;var c;b=(a&&a.config?!1!==a.config.usNumberFormat:"undefined"!==typeof a?a:1)?b.replace(/,/g,""):b.replace(/[\s|\.]/g,"").replace(/,/g,".");/^\s*\([.\d]+\)/.test(b)&&(b=b.replace(/^\s*\(([.\d]+)\)/,"-$1"));c=parseFloat(b);return isNaN(c)?g.trim(b):c};f.isDigit=function(b){return isNaN(b)?/^[\-+(]?\d+[)]?$/.test(b.toString().replace(/[,.'"\s]/g,"")):!0}}});var n=g.tablesorter;g.fn.extend({tablesorter:n.construct});n.addParser({id:"no-parser",is:function(){return!1}, format:function(){return""},type:"text"});n.addParser({id:"text",is:function(){return!0},format:function(d,v){var p=v.config;d&&(d=g.trim(p.ignoreCase?d.toLocaleLowerCase():d),d=p.sortLocaleCompare?n.replaceAccents(d):d);return d},type:"text"});n.addParser({id:"digit",is:function(d){return n.isDigit(d)},format:function(d,v){var p=n.formatFloat((d||"").replace(/[^\w,. \-()]/g,""),v);return d&&"number"===typeof p?p:d?g.trim(d&&v.config.ignoreCase?d.toLocaleLowerCase():d):d},type:"numeric"});n.addParser({id:"currency", is:function(d){return/^\(?\d+[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]|[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]\d+\)?$/.test((d||"").replace(/[+\-,. ]/g,""))},format:function(d,v){var p=n.formatFloat((d||"").replace(/[^\w,. \-()]/g,""),v);return d&&"number"===typeof p?p:d?g.trim(d&&v.config.ignoreCase?d.toLocaleLowerCase():d):d},type:"numeric"});n.addParser({id:"ipAddress",is:function(d){return/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test(d)},format:function(d,g){var p,w=d?d.split("."):"",t="",x=w.length; for(p=0;p<x;p++)t+=("00"+w[p]).slice(-3);return d?n.formatFloat(t,g):d},type:"numeric"});n.addParser({id:"url",is:function(d){return/^(https?|ftp|file):\/\//.test(d)},format:function(d){return d?g.trim(d.replace(/(https?|ftp|file):\/\//,"")):d},type:"text"});n.addParser({id:"isoDate",is:function(d){return/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}/.test(d)},format:function(d,g){return d?n.formatFloat(""!==d?(new Date(d.replace(/-/g,"/"))).getTime()||d:"",g):d},type:"numeric"});n.addParser({id:"percent",is:function(d){return/(\d\s*?%|%\s*?\d)/.test(d)&& 15>d.length},format:function(d,g){return d?n.formatFloat(d.replace(/%/g,""),g):d},type:"numeric"});n.addParser({id:"usLongDate",is:function(d){return/^[A-Z]{3,10}\.?\s+\d{1,2},?\s+(\d{4})(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?$/i.test(d)||/^\d{1,2}\s+[A-Z]{3,10}\s+\d{4}/i.test(d)},format:function(d,g){return d?n.formatFloat((new Date(d.replace(/(\S)([AP]M)$/i,"$1 $2"))).getTime()||d,g):d},type:"numeric"});n.addParser({id:"shortDate",is:function(d){return/(^\d{1,2}[\/\s]\d{1,2}[\/\s]\d{4})|(^\d{4}[\/\s]\d{1,2}[\/\s]\d{1,2})/.test((d|| "").replace(/\s+/g," ").replace(/[\-.,]/g,"/"))},format:function(d,g,p,w){if(d){p=g.config;var t=p.$headers.filter("[data-column="+w+"]:last");w=t.length&&t[0].dateFormat||n.getData(t,n.getColumnData(g,p.headers,w),"dateFormat")||p.dateFormat;d=d.replace(/\s+/g," ").replace(/[\-.,]/g,"/");"mmddyyyy"===w?d=d.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/,"$3/$1/$2"):"ddmmyyyy"===w?d=d.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/,"$3/$2/$1"):"yyyymmdd"===w&&(d=d.replace(/(\d{4})[\/\s](\d{1,2})[\/\s](\d{1,2})/, "$1/$2/$3"))}return d?n.formatFloat((new Date(d)).getTime()||d,g):d},type:"numeric"});n.addParser({id:"time",is:function(d){return/^(([0-2]?\d:[0-5]\d)|([0-1]?\d:[0-5]\d\s?([AP]M)))$/i.test(d)},format:function(d,g){return d?n.formatFloat((new Date("2000/01/01 "+d.replace(/(\S)([AP]M)$/i,"$1 $2"))).getTime()||d,g):d},type:"numeric"});n.addParser({id:"metadata",is:function(){return!1},format:function(d,n,p){d=n.config;d=d.parserMetadataName?d.parserMetadataName:"sortValue";return g(p).metadata()[d]}, type:"numeric"});n.addWidget({id:"zebra",priority:90,format:function(d,v,p){var w,t,x,z,C,D,E=new RegExp(v.cssChildRow,"i"),B=v.$tbodies;v.debug&&(C=new Date);for(d=0;d<B.length;d++)w=B.eq(d),D=w.children("tr").length,1<D&&(x=0,w=w.children("tr:visible").not(v.selectorRemove),w.each(function(){t=g(this);E.test(this.className)||x++;z=0===x%2;t.removeClass(p.zebra[z?1:0]).addClass(p.zebra[z?0:1])}));v.debug&&n.benchmark("Applying Zebra widget",C)},remove:function(d,n,p){var w;n=n.$tbodies;var t=(p.zebra|| ["even","odd"]).join(" ");for(p=0;p<n.length;p++)w=g.tablesorter.processTbody(d,n.eq(p),!0),w.children().removeClass(t),g.tablesorter.processTbody(d,w,!1)}})}(jQuery);
View
2 js/jquery.tablesorter.widgets-filter-formatter-select2.js
@@ -1,4 +1,4 @@
-/*! Filter widget formatter functions - updated 4/30/2014 (v2.16.3)
+/*! Filter widget select2 formatter function - updated 7/17/2014 (v2.17.5)
* requires: jQuery 1.7.2+, tableSorter 2.16+, filter widget 2.16+ and select2 v3.4.6+ plugin
*/
/*jshint browser:true, jquery:true, unused:false */
View
2 js/jquery.tablesorter.widgets-filter-formatter.js
@@ -1,4 +1,4 @@
-/*! Filter widget formatter functions - updated 6/18/2014 (v2.17.2)
+/*! Filter widget formatter functions - updated 7/17/2014 (v2.17.5)
* requires: tableSorter 2.15+ and jQuery 1.4.3+
*
* uiSpinner (jQuery UI spinner)
View
2 js/jquery.tablesorter.widgets.js
@@ -1,4 +1,4 @@
-/*! tableSorter 2.16+ widgets - updated 7/4/2014 (v2.17.4)
+/*! tableSorter 2.16+ widgets - updated 7/17/2014 (v2.17.5)
*
* Column Styles
* Column Filters
View
22 js/jquery.tablesorter.widgets.min.js
@@ -1,17 +1,17 @@
-/*! tableSorter 2.16+ widgets - updated 7/4/2014 (v2.17.4) */
+/*! tableSorter 2.16+ widgets - updated 7/17/2014 (v2.17.5) */
;(function(k){
var c=k.tablesorter=k.tablesorter||{};
-c.themes={bootstrap:{table:"table table-bordered table-striped",caption:"caption",header:"bootstrap-header",footerRow:"",footerCells:"",icons:"",sortNone:"bootstrap-icon-unsorted",sortAsc:"icon-chevron-up glyphicon glyphicon-chevron-up",sortDesc:"icon-chevron-down glyphicon glyphicon-chevron-down",active:"",hover:"",filterRow:"",even:"",odd:""},jui:{table:"ui-widget ui-widget-content ui-corner-all",caption:"ui-widget-content ui-corner-all",header:"ui-widget-header ui-corner-all ui-state-default", footerRow:"",footerCells:"",icons:"ui-icon",sortNone:"ui-icon-carat-2-n-s",sortAsc:"ui-icon-carat-1-n",sortDesc:"ui-icon-carat-1-s",active:"ui-state-active",hover:"ui-state-hover",filterRow:"",even:"ui-widget-content",odd:"ui-state-default"}};k.extend(c.css,{filterRow:"tablesorter-filter-row",filter:"tablesorter-filter",wrapper:"tablesorter-wrapper",resizer:"tablesorter-resizer",grip:"tablesorter-resizer-grip",sticky:"tablesorter-stickyHeader",stickyVis:"tablesorter-sticky-visible"});
-c.storage=function(b, a,e,d){b=k(b)[0];var c,f,h=!1;c={};f=b.config;var l=k(b);b=d&&d.id||l.attr(d&&d.group||"data-table-group")||b.id||k(".tablesorter").index(l);d=d&&d.url||l.attr(d&&d.page||"data-table-page")||f&&f.fixedUrl||window.location.pathname;if("localStorage"in window)try{window.localStorage.setItem("_tmptest","temp"),h=!0,window.localStorage.removeItem("_tmptest")}catch(m){}k.parseJSON&&(h?c=k.parseJSON(localStorage[a]||"{}"):(f=document.cookie.split(/[;\s|=]/),c=k.inArray(a,f)+1,c=0!==c?k.parseJSON(f[c]|| "{}"):{}));if((e||""===e)&&window.JSON&&JSON.hasOwnProperty("stringify"))c[d]||(c[d]={}),c[d][b]=e,h?localStorage[a]=JSON.stringify(c):(e=new Date,e.setTime(e.getTime()+31536E6),document.cookie=a+"="+JSON.stringify(c).replace(/\"/g,'"')+"; expires="+e.toGMTString()+"; path=/");else return c&&c[d]?c[d][b]:""};
-c.addHeaderResizeEvent=function(b,a,c){var d;c=k.extend({},{timer:250},c);var g=b.config,f=g.widgetOptions,h=function(a){f.resize_flag=!0;d=[];g.$headers.each(function(){var a=k(this),b=a.data("savedSizes")|| [0,0],c=this.offsetWidth,e=this.offsetHeight;if(c!==b[0]||e!==b[1])a.data("savedSizes",[c,e]),d.push(this)});d.length&&!1!==a&&g.$table.trigger("resize",[d]);f.resize_flag=!1};h(!1);clearInterval(f.resize_timer);if(a)return f.resize_flag=!1;f.resize_timer=setInterval(function(){f.resize_flag||h()},c.timer)};
-c.addWidget({id:"uitheme",priority:10,format:function(b,a,e){var d,g,f,h=c.themes;d=a.$table;f=a.$headers;var l=a.theme||"jui",m=h[l]||h.jui,h=m.sortNone+" "+m.sortDesc+" "+m.sortAsc;a.debug&& (g=new Date);d.hasClass("tablesorter-"+l)&&a.theme!==l&&b.hasInitialized||(""!==m.even&&(e.zebra[0]+=" "+m.even),""!==m.odd&&(e.zebra[1]+=" "+m.odd),d.find("caption").addClass(m.caption),b=d.removeClass(""===a.theme?"":"tablesorter-"+a.theme).addClass("tablesorter-"+l+" "+m.table).find("tfoot"),b.length&&b.find("tr").addClass(m.footerRow).children("th, td").addClass(m.footerCells),f.addClass(m.header).not(".sorter-false").bind("mouseenter.tsuitheme mouseleave.tsuitheme",function(a){k(this)["mouseenter"=== a.type?"addClass":"removeClass"](m.hover)}),f.find("."+c.css.wrapper).length||f.wrapInner('<div class="'+c.css.wrapper+'" style="position:relative;height:100%;width:100%"></div>'),a.cssIcon&&f.find("."+c.css.icon).addClass(m.icons),d.hasClass("hasFilters")&&f.find("."+c.css.filterRow).addClass(m.filterRow));for(d=0;d<a.columns;d++)f=a.$headers.add(a.$extraHeaders).filter('[data-column="'+d+'"]'),b=c.css.icon?f.find("."+c.css.icon):f,e=a.$headers.filter('[data-column="'+d+'"]:last'),e.length&&(e[0].sortDisabled? (f.removeClass(h),b.removeClass(h+" "+m.icons)):(e=f.hasClass(c.css.sortAsc)?m.sortAsc:f.hasClass(c.css.sortDesc)?m.sortDesc:f.hasClass(c.css.header)?m.sortNone:"",f[e===m.sortNone?"removeClass":"addClass"](m.active),b.removeClass(h).addClass(e)));a.debug&&c.benchmark("Applying "+l+" theme",g)},remove:function(b,a,e){b=a.$table;a=a.theme||"jui";e=c.themes[a]||c.themes.jui;var d=b.children("thead").children(),g=e.sortNone+" "+e.sortDesc+" "+e.sortAsc;b.removeClass("tablesorter-"+a+" "+e.table).find(c.css.header).removeClass(e.header); d.unbind("mouseenter.tsuitheme mouseleave.tsuitheme").removeClass(e.hover+" "+g+" "+e.active).find("."+c.css.filterRow).removeClass(e.filterRow);d.find("."+c.css.icon).removeClass(e.icons)}});
+c.themes={bootstrap:{table:"table table-bordered table-striped",caption:"caption",header:"bootstrap-header",footerRow:"",footerCells:"",icons:"",sortNone:"bootstrap-icon-unsorted",sortAsc:"icon-chevron-up glyphicon glyphicon-chevron-up",sortDesc:"icon-chevron-down glyphicon glyphicon-chevron-down",active:"",hover:"",filterRow:"",even:"",odd:""},jui:{table:"ui-widget ui-widget-content ui-corner-all",caption:"ui-widget-content ui-corner-all",header:"ui-widget-header ui-corner-all ui-state-default", footerRow:"",footerCells:"",icons:"ui-icon",sortNone:"ui-icon-carat-2-n-s",sortAsc:"ui-icon-carat-1-n",sortDesc:"ui-icon-carat-1-s",active:"ui-state-active",hover:"ui-state-hover",filterRow:"",even:"ui-widget-content",odd:"ui-state-default"}};k.extend(c.css,{filterRow:"tablesorter-filter-row",filter:"tablesorter-filter",wrapper:"tablesorter-wrapper",resizer:"tablesorter-resizer",sticky:"tablesorter-stickyHeader",stickyVis:"tablesorter-sticky-visible"});
+c.storage=function(b,a,e,d){b=k(b)[0];var c, f,h=!1;c={};f=b.config;var l=k(b);b=d&&d.id||l.attr(d&&d.group||"data-table-group")||b.id||k(".tablesorter").index(l);d=d&&d.url||l.attr(d&&d.page||"data-table-page")||f&&f.fixedUrl||window.location.pathname;if("localStorage"in window)try{window.localStorage.setItem("_tmptest","temp"),h=!0,window.localStorage.removeItem("_tmptest")}catch(m){}k.parseJSON&&(h?c=k.parseJSON(localStorage[a]||"{}"):(f=document.cookie.split(/[;\s|=]/),c=k.inArray(a,f)+1,c=0!==c?k.parseJSON(f[c]||"{}"):{}));if((e||""=== e)&&window.JSON&&JSON.hasOwnProperty("stringify"))c[d]||(c[d]={}),c[d][b]=e,h?localStorage[a]=JSON.stringify(c):(e=new Date,e.setTime(e.getTime()+31536E6),document.cookie=a+"="+JSON.stringify(c).replace(/\"/g,'"')+"; expires="+e.toGMTString()+"; path=/");else return c&&c[d]?c[d][b]:""};
+c.addHeaderResizeEvent=function(b,a,c){var d;c=k.extend({},{timer:250},c);var g=b.config,f=g.widgetOptions,h=function(a){f.resize_flag=!0;d=[];g.$headers.each(function(){var a=k(this),b=a.data("savedSizes")||[0,0], c=this.offsetWidth,e=this.offsetHeight;if(c!==b[0]||e!==b[1])a.data("savedSizes",[c,e]),d.push(this)});d.length&&!1!==a&&g.$table.trigger("resize",[d]);f.resize_flag=!1};h(!1);clearInterval(f.resize_timer);if(a)return f.resize_flag=!1;f.resize_timer=setInterval(function(){f.resize_flag||h()},c.timer)};
+c.addWidget({id:"uitheme",priority:10,format:function(b,a,e){var d,g,f,h=c.themes;d=a.$table;f=a.$headers;var l=a.theme||"jui",m=h[l]||h.jui,h=m.sortNone+" "+m.sortDesc+" "+m.sortAsc;a.debug&&(g=new Date); d.hasClass("tablesorter-"+l)&&a.theme!==l&&b.hasInitialized||(""!==m.even&&(e.zebra[0]+=" "+m.even),""!==m.odd&&(e.zebra[1]+=" "+m.odd),d.find("caption").addClass(m.caption),b=d.removeClass(""===a.theme?"":"tablesorter-"+a.theme).addClass("tablesorter-"+l+" "+m.table).find("tfoot"),b.length&&b.find("tr").addClass(m.footerRow).children("th, td").addClass(m.footerCells),f.addClass(m.header).not(".sorter-false").bind("mouseenter.tsuitheme mouseleave.tsuitheme",function(a){k(this)["mouseenter"===a.type? "addClass":"removeClass"](m.hover)}),f.find("."+c.css.wrapper).length||f.wrapInner('<div class="'+c.css.wrapper+'" style="position:relative;height:100%;width:100%"></div>'),a.cssIcon&&f.find("."+c.css.icon).addClass(m.icons),d.hasClass("hasFilters")&&f.find("."+c.css.filterRow).addClass(m.filterRow));for(d=0;d<a.columns;d++)f=a.$headers.add(a.$extraHeaders).filter('[data-column="'+d+'"]'),b=c.css.icon?f.find("."+c.css.icon):f,e=a.$headers.filter('[data-column="'+d+'"]:last'),e.length&&(e[0].sortDisabled? (f.removeClass(h),b.removeClass(h+" "+m.icons)):(e=f.hasClass(c.css.sortAsc)?m.sortAsc:f.hasClass(c.css.sortDesc)?m.sortDesc:f.hasClass(c.css.header)?m.sortNone:"",f[e===m.sortNone?"removeClass":"addClass"](m.active),b.removeClass(h).addClass(e)));a.debug&&c.benchmark("Applying "+l+" theme",g)},remove:function(b,a,e){b=a.$table;a=a.theme||"jui";e=c.themes[a]||c.themes.jui;var d=b.children("thead").children(),g=e.sortNone+" "+e.sortDesc+" "+e.sortAsc;b.removeClass("tablesorter-"+a+" "+e.table).find(c.css.header).removeClass(e.header); d.unbind("mouseenter.tsuitheme mouseleave.tsuitheme").removeClass(e.hover+" "+g+" "+e.active).find("."+c.css.filterRow).removeClass(e.filterRow);d.find("."+c.css.icon).removeClass(e.icons)}});
c.addWidget({id:"columns",priority:30,options:{columns:["primary","secondary","tertiary"]},format:function(b,a,e){var d,g,f,h,l,m,p,n,s=a.$table,r=a.$tbodies,t=a.sortList,v=t.length,w=e&&e.columns||["primary","secondary","tertiary"],x=w.length-1;p=w.join(" ");a.debug&&(d=new Date);for(f=0;f<r.length;f++)g=c.processTbody(b, r.eq(f),!0),h=g.children("tr"),h.each(function(){l=k(this);if("none"!==this.style.display&&(m=l.children().removeClass(p),t&&t[0]&&(m.eq(t[0][0]).addClass(w[0]),1<v)))for(n=1;n<v;n++)m.eq(t[n][0]).addClass(w[n]||w[x])}),c.processTbody(b,g,!1);b=!1!==e.columns_thead?["thead tr"]:[];!1!==e.columns_tfoot&&b.push("tfoot tr");if(b.length&&(h=s.find(b.join(",")).children().removeClass(p),v))for(n=0;n<v;n++)h.filter('[data-column="'+t[n][0]+'"]').addClass(w[n]||w[x]);a.debug&&c.benchmark("Applying Columns widget", d)},remove:function(b,a,e){var d=a.$tbodies,g=(e.columns||["primary","secondary","tertiary"]).join(" ");a.$headers.removeClass(g);a.$table.children("tfoot").children("tr").children("th, td").removeClass(g);for(a=0;a<d.length;a++)e=c.processTbody(b,d.eq(a),!0),e.children("tr").each(function(){k(this).children().removeClass(g)}),c.processTbody(b,e,!1)}});
c.addWidget({id:"filter",priority:50,options:{filter_childRows:!1,filter_columnFilters:!0,filter_cssFilter:"",filter_external:"",filter_filteredRow:"filtered", filter_formatter:null,filter_functions:null,filter_hideEmpty:!0,filter_hideFilters:!1,filter_ignoreCase:!0,filter_liveSearch:!0,filter_onlyAvail:"filter-onlyAvail",filter_placeholder:{search:"",select:""},filter_reset:null,filter_saveFilters:!1,filter_searchDelay:300,filter_searchFiltered:!0,filter_selectSource:null,filter_startsWith:!1,filter_useParsedData:!1,filter_serversideFiltering:!1,filter_defaultAttrib:"data-value"},format:function(b,a,e){a.$table.hasClass("hasFilters")||c.filter.init(b,a, e)},remove:function(b,a,e){var d,g=a.$tbodies;a.$table.removeClass("hasFilters").unbind("addRows updateCell update updateRows updateComplete appendCache filterReset filterEnd search ".split(" ").join(a.namespace+"filter ")).find("."+c.css.filterRow).remove();for(a=0;a<g.length;a++)d=c.processTbody(b,g.eq(a),!0),d.children().removeClass(e.filter_filteredRow).show(),c.processTbody(b,d,!1);e.filter_reset&&k(document).undelegate(e.filter_reset,"click.tsfilter")}});
-c.filter={regex:{regex:/^\/((?:\\\/|[^\/])+)\/([mig]{0,3})?$/, child:/tablesorter-childRow/,filtered:/filtered/,type:/undefined|number/,exact:/(^[\"|\'|=]+)|([\"|\'|=]+$)/g,nondigit:/[^\w,. \-()]/g,operators:/[<>=]/g},types:{regex:function(b,a,e,d){if(c.filter.regex.regex.test(a)){var g;b=c.filter.regex.regex.exec(a);try{g=(new RegExp(b[1],b[2])).test(d)}catch(f){g=!1}return g}return null},operators:function(b,a,e,d,g,f,h,l,m){if(/^[<>]=?/.test(a)){var p;e=h.config;b=c.formatFloat(a.replace(c.filter.regex.operators,""),h);l=e.parsers[f];e=b;if(m[f]||"numeric"=== l.type)p=l.format(k.trim(""+a.replace(c.filter.regex.operators,"")),h,[],f),b="number"!==typeof p||""===p||isNaN(p)?b:p;d=!m[f]&&"numeric"!==l.type||isNaN(b)||"undefined"===typeof g?isNaN(d)?c.formatFloat(d.replace(c.filter.regex.nondigit,""),h):c.formatFloat(d,h):g;/>/.test(a)&&(p=/>=/.test(a)?d>=b:d>b);/</.test(a)&&(p=/<=/.test(a)?d<=b:d<b);p||""!==e||(p=!0);return p}return null},notMatch:function(b,a,e,d,g,f,h,l){if(/^\!/.test(a)){a=a.replace("!","");if(c.filter.regex.exact.test(a))return a=a.replace(c.filter.regex.exact, ""),""===a?!0:k.trim(a)!==d;b=d.search(k.trim(a));return""===a?!0:!(l.filter_startsWith?0===b:0<=b)}return null},exact:function(b,a,e,d,g,f,h,l,m,p){return c.filter.regex.exact.test(a)?(b=a.replace(c.filter.regex.exact,""),p?0<=k.inArray(b,p):b==d):null},and:function(b,a,e,d){if(c.filter.regex.andTest.test(b)){b=a.split(c.filter.regex.andSplit);a=0<=d.search(k.trim(b[0]));for(e=b.length-1;a&&e;)a=a&&0<=d.search(k.trim(b[e])),e--;return a}return null},range:function(b,a,e,d,g,f,h,k,m){if(c.filter.regex.toTest.test(a)){b= h.config;var p=a.split(c.filter.regex.toSplit);e=c.formatFloat(p[0].replace(c.filter.regex.nondigit,""),h);k=c.formatFloat(p[1].replace(c.filter.regex.nondigit,""),h);if(m[f]||"numeric"===b.parsers[f].type)a=b.parsers[f].format(""+p[0],h,b.$headers.eq(f),f),e=""===a||isNaN(a)?e:a,a=b.parsers[f].format(""+p[1],h,b.$headers.eq(f),f),k=""===a||isNaN(a)?k:a;a=!m[f]&&"numeric"!==b.parsers[f].type||isNaN(e)||isNaN(k)?isNaN(d)?c.formatFloat(d.replace(c.filter.regex.nondigit,""),h):c.formatFloat(d,h):g;e> k&&(d=e,e=k,k=d);return a>=e&&a<=k||""===e||""===k}return null},wild:function(b,a,e,d,g,f,h,l,m,p){return/[\?|\*]/.test(a)||c.filter.regex.orReplace.test(b)?(b=h.config,a=a.replace(c.filter.regex.orReplace,"|"),!b.$headers.filter('[data-column="'+f+'"]:last').hasClass("filter-match")&&/\|/.test(a)&&(a=k.isArray(p)?"("+a+")":"^("+a+")$"),(new RegExp(a.replace(/\?/g,"\\S{1}").replace(/\*/g,"\\S*"))).test(d)):null},fuzzy:function(b,a,c,d){if(/^~/.test(a)){b=0;c=d.length;var g=a.slice(1);for(a=0;a<c;a++)d[a]=== g[b]&&(b+=1);return b===g.length?!0:!1}return null}},init:function(b,a,e){c.language=k.extend(!0,{},{to:"to",or:"or",and:"and"},c.language);var d,g,f,h,l,m,p;d=c.filter.regex;a.debug&&(m=new Date);a.$table.addClass("hasFilters");e.searchTimer=null;k.extend(d,{child:new RegExp(a.cssChildRow),filtered:new RegExp(e.filter_filteredRow),alreadyFiltered:new RegExp("(\\s+("+c.language.or+"|-|"+c.language.to+")\\s+)","i"),toTest:new RegExp("\\s+(-|"+c.language.to+")\\s+","i"),toSplit:new RegExp("(?:\\s+(?:-|"+ c.language.to+")\\s+)","gi"),andTest:new RegExp("\\s+("+c.language.and+"|&&)\\s+","i"),andSplit:new RegExp("(?:\\s+(?:"+c.language.and+"|&&)\\s+)","gi"),orReplace:new RegExp("\\s+("+c.language.or+")\\s+","gi")});!1!==e.filter_columnFilters&&a.$headers.filter(".filter-false").length!==a.$headers.length&&c.filter.buildRow(b,a,e);a.$table.bind("addRows updateCell update updateRows updateComplete appendCache filterReset filterEnd search ".split(" ").join(a.namespace+"filter "),function(d,f){a.$table.find("."+ c.css.filterRow).toggle(!(e.filter_hideEmpty&&k.isEmptyObject(a.cache)));/(search|filter)/.test(d.type)||(d.stopPropagation(),c.filter.buildDefault(b,!0));"filterReset"===d.type?(a.$table.find("."+c.css.filter).add(e.filter_$externalFilters).val(""),c.filter.searching(b,[])):"filterEnd"===d.type?c.filter.buildDefault(b,!0):(f="search"===d.type?f:"updateComplete"===d.type?a.$table.data("lastSearch"):"",/(update|add)/.test(d.type)&&"updateComplete"!==d.type&&(a.lastCombinedFilter=null,a.lastSearch= []),c.filter.searching(b,f,!0));return!1});e.filter_reset&&(e.filter_reset instanceof k?e.filter_reset.click(function(){a.$table.trigger("filterReset")}):k(e.filter_reset).length&&k(document).undelegate(e.filter_reset,"click.tsfilter").delegate(e.filter_reset,"click.tsfilter",function(){a.$table.trigger("filterReset")}));if(e.filter_functions)for(h=0;h<a.columns;h++)if(p=c.getColumnData(b,e.filter_functions,h))if(f=a.$headers.filter('[data-column="'+h+'"]:last'),d="",!0===p&&!f.hasClass("filter-false"))c.filter.buildSelect(b, h);else if("object"===typeof p&&!f.hasClass("filter-false")){for(g in p)"string"===typeof g&&(d+=""===d?'<option value="">'+(f.data("placeholder")||f.attr("data-placeholder")||e.filter_placeholder.select||"")+"</option>":"",d+='<option value="'+g+'">'+g+"</option>");a.$table.find("thead").find("select."+c.css.filter+'[data-column="'+h+'"]').append(d)}c.filter.buildDefault(b,!0);c.filter.bindSearch(b,a.$table.find("."+c.css.filter),!0);e.filter_external&&c.filter.bindSearch(b,e.filter_external);e.filter_hideFilters&& c.filter.hideFilters(b,a);a.showProcessing&&a.$table.bind("filterStart"+a.namespace+"filter filterEnd"+a.namespace+"filter",function(d,e){f=e?a.$table.find("."+c.css.header).filter("[data-column]").filter(function(){return""!==e[k(this).data("column")]}):"";c.isProcessing(b,"filterStart"===d.type,e?f:"")});a.debug&&c.benchmark("Applying Filter widget",m);a.$table.bind("tablesorter-initialized pagerInitialized",function(d){d=this.config.widgetOptions;l=c.filter.setDefaults(b,a,d)||[];l.length&&c.setFilters(b, l,!0);a.$table.trigger("filterFomatterUpdate");d.filter_initialized||(d.filter_initialized=!0,a.$table.trigger("filterInit",a))});a.pager&&a.pager.initialized&&!e.filter_initialized&&(e.filter_initialized=!0,a.$table.trigger("filterFomatterUpdate").trigger("filterInit",a))},setDefaults:function(b,a,e){var d,g=c.getFilters(b)||[];e.filter_saveFilters&&c.storage&&(d=c.storage(b,"tablesorter-filters")||[],(b=k.isArray(d))&&""===d.join("")||!b||(g=d));if(""===g.join(""))for(b=0;b<a.columns;b++)g[b]=a.$headers.filter('[data-column="'+ b+'"]:last').attr(e.filter_defaultAttrib)||g[b];a.$table.data("lastSearch",g);return g},buildRow:function(b,a,e){var d,g,f,h,l=a.columns;f='<tr class="'+c.css.filterRow+'">';for(d=0;d<l;d++)f+="<td></td>";a.$filters=k(f+"</tr>").appendTo(a.$table.children("thead").eq(0)).find("td");for(d=0;d<l;d++)g=a.$headers.filter('[data-column="'+d+'"]:last'),f=c.getColumnData(b,e.filter_functions,d),f=e.filter_functions&&f&&"function"!==typeof f||g.hasClass("filter-select"),h="false"===c.getData(g[0],c.getColumnData(b, a.headers,d),"filter"),f?f=k("<select>").appendTo(a.$filters.eq(d)):((f=c.getColumnData(b,e.filter_formatter,d))?((f=f(a.$filters.eq(d),d))&&0===f.length&&(f=a.$filters.eq(d).children("input")),f&&(0===f.parent().length||f.parent().length&&f.parent()[0]!==a.$filters[d])&&a.$filters.eq(d).append(f)):f=k('<input type="search">').appendTo(a.$filters.eq(d)),f&&f.attr("placeholder",g.data("placeholder")||g.attr("data-placeholder")||e.filter_placeholder.search||"")),f&&(g=(k.isArray(e.filter_cssFilter)? "undefined"!==typeof e.filter_cssFilter[d]?e.filter_cssFilter[d]||"":"":e.filter_cssFilter)||"",f.addClass(c.css.filter+" "+g).attr("data-column",d),h&&(f.attr("placeholder","").addClass("disabled")[0].disabled=!0))},bindSearch:function(b,a,e){b=k(b)[0];a=k(a);if(a.length){var d=b.config,g=d.widgetOptions,f=g.filter_$externalFilters;!0!==e&&(g.filter_$anyMatch=a.filter('[data-column="all"]'),g.filter_$externalFilters=f&&f.length?g.filter_$externalFilters.add(a):a,c.setFilters(b,d.$table.data("lastSearch")|| [],!1===e));a.attr("data-lastSearchTime",(new Date).getTime()).unbind(["keypress","keyup","search","change",""].join(d.namespace+"filter ")).bind("keyup"+d.namespace+"filter",function(a){k(this).attr("data-lastSearchTime",(new Date).getTime());if(27===a.which)this.value="";else if(!1===g.filter_liveSearch||""!==this.value&&("number"===typeof g.filter_liveSearch&&this.value.length<g.filter_liveSearch||13!==a.which&&8!==a.which&&(32>a.which||37<=a.which&&40>=a.which)))return;c.filter.searching(b,!0, !0)}).bind(["search","change","keypress",""].join(d.namespace+"filter "),function(a){if(13===a.which||"search"===a.type||"change"===a.type)a.preventDefault(),k(this).attr("data-lastSearchTime",(new Date).getTime()),c.filter.searching(b,!1,!0)})}},searching:function(b,a,e){var d=b.config.widgetOptions;clearTimeout(d.searchTimer);"undefined"===typeof a||!0===a?d.searchTimer=setTimeout(function(){c.filter.checkFilters(b,a,e)},d.filter_liveSearch?d.filter_searchDelay:10):c.filter.checkFilters(b,a,e)}, checkFilters:function(b,a,e){var d=b.config,g=d.widgetOptions,f=k.isArray(a),h=f?a:c.getFilters(b,!0),l=(h||[]).join("");if(!k.isEmptyObject(d.cache)&&(f&&(c.setFilters(b,h,!1,!0!==e),g.filter_initialized||(d.lastCombinedFilter="")),g.filter_hideFilters&&d.$table.find("."+c.css.filterRow).trigger(""===l?"mouseleave":"mouseenter"),d.lastCombinedFilter!==l||!1===a))if(!1===a&&(d.lastCombinedFilter=null,d.lastSearch=[]),g.filter_initialized&&d.$table.trigger("filterStart",[h]),d.showProcessing)setTimeout(function(){c.filter.findRows(b, h,l);return!1},30);else return c.filter.findRows(b,h,l),!1},hideFilters:function(b,a){var e,d,g;k(b).find("."+c.css.filterRow).addClass("hideme").bind("mouseenter mouseleave",function(b){e=k(this);clearTimeout(g);g=setTimeout(function(){/enter|over/.test(b.type)?e.removeClass("hideme"):k(document.activeElement).closest("tr")[0]!==e[0]&&""===a.lastCombinedFilter&&e.addClass("hideme")},200)}).find("input, select").bind("focus blur",function(b){d=k(this).closest("tr");clearTimeout(g);g=setTimeout(function(){if(""=== c.getFilters(a.$table).join(""))d["focus"===b.type?"removeClass":"addClass"]("hideme")},200)})},findRows:function(b,a,e){if(b.config.lastCombinedFilter!==e){var d,g,f,h,l,m,p,n,s,r,t,v,w,x,z,y,A,B,L,C,G,H,I,J,M,D,E=c.filter.regex,q=b.config,u=q.widgetOptions,N=q.columns,K=q.$table.children("tbody"),O=["range","notMatch","operators"],F=q.$headers.map(function(a){return q.parsers&&q.parsers[a]&&q.parsers[a].parsed||c.getData&&"parsed"===c.getData(q.$headers.filter('[data-column="'+a+'"]:last'),c.getColumnData(b, q.headers,a),"filter")||k(this).hasClass("filter-parsed")}).get();q.debug&&(L=new Date);q.filteredRows=0;for(l=q.totalRows=0;l<K.length;l++)if(!K.eq(l).hasClass(q.cssInfoBlock||c.css.info)){m=c.processTbody(b,K.eq(l),!0);n=q.columns;f=k(k.map(q.cache[l].normalized,function(a){return a[n].$row.get()}));if(""===e||u.filter_serversideFiltering)f.removeClass(u.filter_filteredRow).not("."+q.cssChildRow).show();else{f=f.not("."+q.cssChildRow);g=f.length;y=u.filter_searchFiltered;p=q.lastSearch||q.$table.data("lastSearch")|| [];if(y)for(r=0;r<n+1;r++)s=a[r]||"",y||(r=n),y=y&&p.length&&0===s.indexOf(p[r]||"")&&!E.alreadyFiltered.test(s)&&!/[=\"\|!]/.test(s)&&!(/(>=?\s*-\d)/.test(s)||/(<=?\s*\d)/.test(s))&&!(""!==s&&q.$filters&&q.$filters.eq(r).find("select").length&&!q.$headers.filter('[data-column="'+r+'"]:last').hasClass("filter-match"));p=f.not("."+u.filter_filteredRow).length;y&&0===p&&(y=!1);q.debug&&c.log("Searching through "+(y&&p<g?p:"all")+" rows");if(u.filter_$anyMatch&&u.filter_$anyMatch.length||a[q.columns])C= u.filter_$anyMatch&&u.filter_$anyMatch.val()||a[q.columns]||"",q.sortLocaleCompare&&(C=c.replaceAccents(C)),G=C.toLowerCase();for(h=0;h<g;h++)if(s=f[h].className,!(E.child.test(s)||y&&E.filtered.test(s))){B=!0;s=f.eq(h).nextUntil("tr:not(."+q.cssChildRow+")");r=s.length&&u.filter_childRows?s.text():"";r=u.filter_ignoreCase?r.toLocaleLowerCase():r;p=f.eq(h).children();C&&(H=p.map(function(a){F[a]?a=q.cache[l].normalized[h][a]:(a=u.filter_ignoreCase?k(this).text().toLowerCase():k(this).text(),q.sortLocaleCompare&& (a=c.replaceAccents(a)));return a}).get(),I=H.join(" "),J=I.toLowerCase(),M=q.cache[l].normalized[h].slice(0,-1).join(" "),A=null,k.each(c.filter.types,function(a,d){if(0>k.inArray(a,O)&&(x=d(C,G,I,J,M,N,b,u,F,H),null!==x))return A=x,!1}),B=null!==A?A:0<=(J+r).indexOf(G));for(n=0;n<N;n++)a[n]&&(d=q.cache[l].normalized[h][n],u.filter_useParsedData||F[n]?t=d:(t=k.trim(p.eq(n).text()),t=q.sortLocaleCompare?c.replaceAccents(t):t),v=!E.type.test(typeof t)&&u.filter_ignoreCase?t.toLocaleLowerCase():t,z= B,a[n]=q.sortLocaleCompare?c.replaceAccents(a[n]):a[n],w=u.filter_ignoreCase?(a[n]||"").toLocaleLowerCase():a[n],(D=c.getColumnData(b,u.filter_functions,n))?!0===D?z=q.$headers.filter('[data-column="'+n+'"]:last').hasClass("filter-match")?0<=v.search(w):a[n]===t:"function"===typeof D?z=D(t,d,a[n],n,f.eq(h)):"function"===typeof D[a[n]]&&(z=D[a[n]](t,d,a[n],n,f.eq(h))):(A=null,k.each(c.filter.types,function(c,e){x=e(a[n],w,t,v,d,n,b,u,F);if(null!==x)return A=x,!1}),null!==A?z=A:(t=(v+r).indexOf(w), z=!u.filter_startsWith&&0<=t||u.filter_startsWith&&0===t)),B=z?B:!1);f.eq(h).toggle(B).toggleClass(u.filter_filteredRow,!B);s.length&&s.toggleClass(u.filter_filteredRow,!B)}}q.filteredRows+=f.not("."+u.filter_filteredRow).length;q.totalRows+=f.length;c.processTbody(b,m,!1)}q.lastCombinedFilter=e;q.lastSearch=a;q.$table.data("lastSearch",a);u.filter_saveFilters&&c.storage&&c.storage(b,"tablesorter-filters",a);q.debug&&c.benchmark("Completed filter widget search",L);u.filter_initialized&&q.$table.trigger("filterEnd", q);setTimeout(function(){q.$table.trigger("applyWidgets")},0)}},getOptionSource:function(b,a,e){var d,g=b.config,f=[],h=!1,l=g.widgetOptions.filter_selectSource,m=k.isFunction(l)?!0:c.getColumnData(b,l,a);!0===m?h=l(b,a,e):"object"===k.type(l)&&m&&(h=m(b,a,e));!1===h&&(h=c.filter.getOptions(b,a,e));h=k.grep(h,function(a,b){return k.inArray(a,h)===b});g.$headers.filter('[data-column="'+a+'"]:last').hasClass("filter-select-nosort")||(k.each(h,function(d,c){f.push({t:c,p:g.parsers&&g.parsers[a].format(c, b,[],a)})}),d=g.textSorter||"",f.sort(function(e,f){var g=e.p.toString(),h=f.p.toString();return k.isFunction(d)?d(g,h,!0,a,b):"object"===typeof d&&d.hasOwnProperty(a)?d[a](g,h,!0,a,b):c.sortNatural?c.sortNatural(g,h):!0}),h=[],k.each(f,function(a,b){h.push(b.t)}));return h},getOptions:function(b,a,c){var d,g,f,h,l=b.config,m=l.widgetOptions,p=l.$table.children("tbody"),n=[];for(d=0;d<p.length;d++)if(!p.eq(d).hasClass(l.cssInfoBlock))for(h=l.cache[d],g=l.cache[d].normalized.length,b=0;b<g;b++)f=h.row? h.row[b]:h.normalized[b][l.columns].$row[0],c&&f.className.match(m.filter_filteredRow)||(m.filter_useParsedData?n.push(""+h.normalized[b][a]):(f=f.cells[a])&&n.push(k.trim(f.textContent||f.innerText||k(f).text())));return n},buildSelect:function(b,a,e,d){if(b.config.cache&&!k.isEmptyObject(b.config.cache)){a=parseInt(a,10);var g;g=b.config;var f=g.widgetOptions,h=g.$headers.filter('[data-column="'+a+'"]:last'),h='<option value="">'+(h.data("placeholder")||h.attr("data-placeholder")||f.filter_placeholder.select|| "")+"</option>",l=c.filter.getOptionSource(b,a,d),m=g.$table.find("thead").find("select."+c.css.filter+'[data-column="'+a+'"]').val();for(b=0;b<l.length;b++)d=l[b].replace(/\"/g,"&quot;"),h+=""!==l[b]?'<option value="'+d+'"'+(m===d?' selected="selected"':"")+">"+l[b]+"</option>":"";g=(g.$filters?g.$filters:g.$table.children("thead")).find("."+c.css.filter);f.filter_$externalFilters&&(g=g&&g.length?g.add(f.filter_$externalFilters):f.filter_$externalFilters);g.filter('select[data-column="'+a+'"]')[e? "html":"append"](h);f.filter_functions||(f.filter_functions={});f.filter_functions[a]=!0}},buildDefault:function(b,a){var e,d,g=b.config,f=g.widgetOptions,h=g.columns;for(e=0;e<h;e++)d=g.$headers.filter('[data-column="'+e+'"]:last'),!d.hasClass("filter-select")&&!0!==c.getColumnData(b,f.filter_functions,e)||d.hasClass("filter-false")||c.filter.buildSelect(b,e,a,d.hasClass(f.filter_onlyAvail))}};
-c.getFilters=function(b,a,e,d){var g,f=!1,h=b?k(b)[0].config:"",l=h?h.widgetOptions:"";if(!0!==a&&l&&!l.filter_columnFilters)return k(b).data("lastSearch"); if(h&&(h.$filters&&(g=h.$filters.find("."+c.css.filter)),l.filter_$externalFilters&&(g=g&&g.length?g.add(l.filter_$externalFilters):l.filter_$externalFilters),g&&g.length))for(f=e||[],b=0;b<h.columns+1;b++)a=g.filter('[data-column="'+(b===h.columns?"all":b)+'"]'),a.length&&(a=a.sort(function(a,b){return k(b).attr("data-lastSearchTime")-k(a).attr("data-lastSearchTime")}),k.isArray(e)?(d?a.slice(1):a).val(e[b]).trigger("change.tsfilter"):(f[b]=a.val()||"",a.slice(1).val(f[b])),b===h.columns&&a.length&& (l.filter_$anyMatch=a));0===f.length&&(f=!1);return f};
-c.setFilters=function(b,a,e,d){var g=b?k(b)[0].config:"";b=c.getFilters(b,!0,a,d);g&&e&&(g.lastCombinedFilter=null,g.lastSearch=[],c.filter.searching(g.$table[0],a,d),g.$table.trigger("filterFomatterUpdate"));return!!b};
-c.addWidget({id:"stickyHeaders",priority:60,options:{stickyHeaders:"",stickyHeaders_attachTo:null,stickyHeaders_offset:0,stickyHeaders_filteredToTop:!0,stickyHeaders_cloneId:"-sticky",stickyHeaders_addResizeEvent:!0,stickyHeaders_includeCaption:!0, stickyHeaders_zIndex:2},format:function(b,a,e){if(!(a.$table.hasClass("hasStickyHeaders")||0<=k.inArray("filter",a.widgets)&&!a.$table.hasClass("hasFilters"))){var d=a.$table,g=k(e.stickyHeaders_attachTo),f=d.children("thead:first"),h=g.length?g:k(window),l=f.children("tr").not(".sticky-false").children(),m="."+c.css.headerIn,p=d.find("tfoot"),n=isNaN(e.stickyHeaders_offset)?k(e.stickyHeaders_offset):"",s=g.length?0:n.length?n.height()||0:parseInt(e.stickyHeaders_offset,10)||0,r=e.$sticky=d.clone().addClass("containsStickyHeaders").css({position:g.length? "absolute":"fixed",margin:0,top:s,left:0,visibility:"hidden",zIndex:e.stickyHeaders_zIndex?e.stickyHeaders_zIndex:2}),t=r.children("thead:first").addClass(c.css.sticky+" "+e.stickyHeaders),v,w="",x=0,z="collapse"!==d.css("border-collapse")&&!/(webkit|msie)/i.test(navigator.userAgent),y=function(){s=n.length?n.height()||0:parseInt(e.stickyHeaders_offset,10)||0;x=0;z&&(x=2*parseInt(l.eq(0).css("border-left-width"),10));r.css({left:g.length?(parseInt(g.css("padding-left"),10)||0)+parseInt(a.$table.css("padding-left"), 10)+parseInt(a.$table.css("margin-left"),10)+parseInt(d.css("border-left-width"),10):f.offset().left-h.scrollLeft()-x,width:d.width()});v.filter(":visible").each(function(b){b=l.filter(":visible").eq(b);var d=z&&k(this).attr("data-column")===""+parseInt(a.columns/2,10)?1:0;k(this).css({width:b.width()-x}).find(m).width(b.find(m).width()-d)})};r.attr("id")&&(r[0].id+=e.stickyHeaders_cloneId);r.find("thead:gt(0), tr.sticky-false").hide();r.find("tbody, tfoot").remove();e.stickyHeaders_includeCaption? r.find("caption").css("margin-left","-1px"):r.find("caption").remove();v=t.children().children();r.css({height:0,width:0,padding:0,margin:0,border:0});v.find("."+c.css.resizer).remove();d.addClass("hasStickyHeaders").bind("pagerComplete.tsSticky",function(){y()});c.bindEvents(b,t.children().children(".tablesorter-header"));d.after(r);h.bind("scroll.tsSticky resize.tsSticky",function(a){if(d.is(":visible")){var b=d.offset(),c=e.stickyHeaders_includeCaption?0:d.find("caption").outerHeight(!0),c=(g.length? g.offset().top:h.scrollTop())+s-c,k=d.height()-(r.height()+(p.height()||0)),b=c>b.top&&c<b.top+k?"visible":"hidden",c={visibility:b};g.length?c.top=g.scrollTop():c.left=f.offset().left-h.scrollLeft()-x;r.removeClass("tablesorter-sticky-visible tablesorter-sticky-hidden").addClass("tablesorter-sticky-"+b).css(c);if(b!==w||"resize"===a.type)y(),w=b}});e.stickyHeaders_addResizeEvent&&c.addHeaderResizeEvent(b);d.hasClass("hasFilters")&&(d.bind("filterEnd",function(){var b=k(document.activeElement).closest("td"), b=b.parent().children().index(b);r.hasClass(c.css.stickyVis)&&e.stickyHeaders_filteredToTop&&(window.scrollTo(0,d.position().top),0<=b&&a.$filters&&a.$filters.eq(b).find("a, select, input").filter(":visible").focus())}),c.filter.bindSearch(d,v.find("."+c.css.filter)),e.filter_hideFilters&&c.filter.hideFilters(r,a));d.trigger("stickyHeadersInit")}},remove:function(b,a,e){a.$table.removeClass("hasStickyHeaders").unbind("pagerComplete.tsSticky").find("."+c.css.sticky).remove();e.$sticky&&e.$sticky.length&& e.$sticky.remove();k(".hasStickyHeaders").length||k(window).unbind("scroll.tsSticky resize.tsSticky");c.addHeaderResizeEvent(b,!1)}});
-c.addWidget({id:"resizable",priority:40,options:{resizable:!0,resizable_addLastColumn:!1,resizable_widths:[],resizable_throttle:!1},format:function(b,a,e){if(!a.$table.hasClass("hasResizable")){a.$table.addClass("hasResizable");c.resizableReset(b,!0);var d,g,f,h,l,m={},p=a.$table,n=0,s=null,r=null,t=20>Math.abs(p.parent().width()-p.width()),v=function(a){if(0!==n&& s){var b=a.pageX-n,c=s.width();s.width(c+b);s.width()!==c&&t&&r.width(r.width()-b);n=a.pageX}},w=function(){c.storage&&s&&r&&(m={},m[s.index()]=s.width(),m[r.index()]=r.width(),s.width(m[s.index()]),r.width(m[r.index()]),!1!==e.resizable&&c.storage(b,"tablesorter-resizable",a.$headers.map(function(){return k(this).width()}).get()));n=0;s=r=null;k(window).trigger("resize")};if(m=c.storage&&!1!==e.resizable?c.storage(b,"tablesorter-resizable"):{})for(h in m)!isNaN(h)&&h<a.$headers.length&&a.$headers.eq(h).width(m[h]); d=p.children("thead:first").children("tr");d.children().each(function(){var e;e=k(this);h=e.attr("data-column");e="false"===c.getData(e,c.getColumnData(b,a.headers,h),"resizable");d.children().filter('[data-column="'+h+'"]')[e?"addClass":"removeClass"]("resizable-false")});d.each(function(){f=k(this).children().not(".resizable-false");k(this).find("."+c.css.wrapper).length||f.wrapInner('<div class="'+c.css.wrapper+'" style="position:relative;height:100%;width:100%"></div>');e.resizable_addLastColumn|| (f=f.slice(0,-1));g=g?g.add(f):f});g.each(function(){var a=k(this),b=parseInt(a.css("padding-right"),10)+10;a.find("."+c.css.wrapper).append('<div class="'+c.css.resizer+'" style="cursor:w-resize;position:absolute;z-index:1;right:-'+b+'px;top:0;height:100%;width:20px;"></div>')}).find("."+c.css.resizer+",."+c.css.grip).bind("mousedown",function(b){s=k(b.target).closest("th");var c=a.$headers.filter('[data-column="'+s.attr("data-column")+'"]');1<c.length&&(s=s.add(c));r=b.shiftKey?s.parent().find("th").not(".resizable-false").filter(":last"): s.nextAll(":not(.resizable-false)").eq(0);n=b.pageX});k(document).bind("mousemove.tsresize",function(a){0!==n&&s&&(e.resizable_throttle?(clearTimeout(l),l=setTimeout(function(){v(a)},isNaN(e.resizable_throttle)?5:e.resizable_throttle)):v(a))}).bind("mouseup.tsresize",function(){w()});p.find("thead:first").bind("contextmenu.tsresize",function(){c.resizableReset(b);var a=k.isEmptyObject?k.isEmptyObject(m):!0;m={};return a})}},remove:function(b,a){a.$table.removeClass("hasResizable").children("thead").unbind("mouseup.tsresize mouseleave.tsresize contextmenu.tsresize").children("tr").children().unbind("mousemove.tsresize mouseup.tsresize").find("."+ c.css.resizer+",."+c.css.grip).remove();c.resizableReset(b)}});
+c.filter={regex:{regex:/^\/((?:\\\/|[^\/])+)\/([mig]{0,3})?$/, child:/tablesorter-childRow/,filtered:/filtered/,type:/undefined|number/,exact:/(^[\"|\'|=]+)|([\"|\'|=]+$)/g,nondigit:/[^\w,. \-()]/g,operators:/[<>=]/g},types:{regex:function(b,a,e,d){if(c.filter.regex.regex.test(a)){var g;b=c.filter.regex.regex.exec(a);try{g=(new RegExp(b[1],b[2])).test(d)}catch(f){g=!1}return g}return null},operators:function(b,a,e,d,g,f,h,l,m){if(/^[<>]=?/.test(a)){var p;e=h.config;b=c.formatFloat(a.replace(c.filter.regex.operators,""),h);l=e.parsers[f];e=b;if(m[f]||"numeric"=== l.type)p=c.filter.parseFilter(h,k.trim(""+a.replace(c.filter.regex.operators,"")),f,m[f],!0),b="number"!==typeof p||""===p||isNaN(p)?b:p;d=!m[f]&&"numeric"!==l.type||isNaN(b)||"undefined"===typeof g?isNaN(d)?c.formatFloat(d.replace(c.filter.regex.nondigit,""),h):c.formatFloat(d,h):g;/>/.test(a)&&(p=/>=/.test(a)?d>=b:d>b);/</.test(a)&&(p=/<=/.test(a)?d<=b:d<b);p||""!==e||(p=!0);return p}return null},notMatch:function(b,a,e,d,g,f,h,l,m){if(/^\!/.test(a)){a=c.filter.parseFilter(h,a.replace("!",""),f, m[f]);if(c.filter.regex.exact.test(a))return a=a.replace(c.filter.regex.exact,""),""===a?!0:k.trim(a)!==d;b=d.search(k.trim(a));return""===a?!0:!(l.filter_startsWith?0===b:0<=b)}return null},exact:function(b,a,e,d,g,f,h,l,m,p){return c.filter.regex.exact.test(a)?(b=c.filter.parseFilter(h,a.replace(c.filter.regex.exact,""),f,m[f]),p?0<=k.inArray(b,p):b==d):null},and:function(b,a,e,d,g,f,h,l,m){if(c.filter.regex.andTest.test(b)){b=a.split(c.filter.regex.andSplit);a=0<=d.search(k.trim(c.filter.parseFilter(h, b[0],f,m[f])));for(e=b.length-1;a&&e;)a=a&&0<=d.search(k.trim(c.filter.parseFilter(h,b[e],f,m[f]))),e--;return a}return null},range:function(b,a,e,d,g,f,h,k,m){if(c.filter.regex.toTest.test(a)){b=h.config;var p=a.split(c.filter.regex.toSplit);e=c.formatFloat(c.filter.parseFilter(h,p[0].replace(c.filter.regex.nondigit,""),f,m[f]),h);k=c.formatFloat(c.filter.parseFilter(h,p[1].replace(c.filter.regex.nondigit,""),f,m[f]),h);if(m[f]||"numeric"===b.parsers[f].type)a=b.parsers[f].format(""+p[0],h,b.$headers.eq(f), f),e=""===a||isNaN(a)?e:a,a=b.parsers[f].format(""+p[1],h,b.$headers.eq(f),f),k=""===a||isNaN(a)?k:a;a=!m[f]&&"numeric"!==b.parsers[f].type||isNaN(e)||isNaN(k)?isNaN(d)?c.formatFloat(d.replace(c.filter.regex.nondigit,""),h):c.formatFloat(d,h):g;e>k&&(d=e,e=k,k=d);return a>=e&&a<=k||""===e||""===k}return null},wild:function(b,a,e,d,g,f,h,l,m,p){return/[\?|\*]/.test(a)||c.filter.regex.orReplace.test(b)?(b=h.config,a=c.filter.parseFilter(h,a.replace(c.filter.regex.orReplace,"|"),f,m[f]),!b.$headers.filter('[data-column="'+ f+'"]:last').hasClass("filter-match")&&/\|/.test(a)&&(a=k.isArray(p)?"("+a+")":"^("+a+")$"),(new RegExp(a.replace(/\?/g,"\\S{1}").replace(/\*/g,"\\S*"))).test(d)):null},fuzzy:function(b,a,e,d,g,f,h,k,m){if(/^~/.test(a)){b=0;e=d.length;f=c.filter.parseFilter(h,a.slice(1),f,m[f]);for(a=0;a<e;a++)d[a]===f[b]&&(b+=1);return b===f.length?!0:!1}return null}},init:function(b,a,e){c.language=k.extend(!0,{},{to:"to",or:"or",and:"and"},c.language);var d,g,f,h,l,m,p;d=c.filter.regex;a.debug&&(m=new Date);a.$table.addClass("hasFilters"); e.searchTimer=null;e.filter_initTimer=null;e.filter_formatterCount=0;e.filter_formatterInit=[];k.extend(d,{child:new RegExp(a.cssChildRow),filtered:new RegExp(e.filter_filteredRow),alreadyFiltered:new RegExp("(\\s+("+c.language.or+"|-|"+c.language.to+")\\s+)","i"),toTest:new RegExp("\\s+(-|"+c.language.to+")\\s+","i"),toSplit:new RegExp("(?:\\s+(?:-|"+c.language.to+")\\s+)","gi"),andTest:new RegExp("\\s+("+c.language.and+"|&&)\\s+","i"),andSplit:new RegExp("(?:\\s+(?:"+c.language.and+"|&&)\\s+)", "gi"),orReplace:new RegExp("\\s+("+c.language.or+")\\s+","gi")});!1!==e.filter_columnFilters&&a.$headers.filter(".filter-false").length!==a.$headers.length&&c.filter.buildRow(b,a,e);a.$table.bind("addRows updateCell update updateRows updateComplete appendCache filterReset filterEnd search ".split(" ").join(a.namespace+"filter "),function(d,f){a.$table.find("."+c.css.filterRow).toggle(!(e.filter_hideEmpty&&k.isEmptyObject(a.cache)&&(!a.delayInit||"appendCache"!==d.type)));/(search|filter)/.test(d.type)|| (d.stopPropagation(),c.filter.buildDefault(b,!0));"filterReset"===d.type?(a.$table.find("."+c.css.filter).add(e.filter_$externalFilters).val(""),c.filter.searching(b,[])):"filterEnd"===d.type?c.filter.buildDefault(b,!0):(f="search"===d.type?f:"updateComplete"===d.type?a.$table.data("lastSearch"):"",/(update|add)/.test(d.type)&&"updateComplete"!==d.type&&(a.lastCombinedFilter=null,a.lastSearch=[]),c.filter.searching(b,f,!0));return!1});e.filter_reset&&(e.filter_reset instanceof k?e.filter_reset.click(function(){a.$table.trigger("filterReset")}): k(e.filter_reset).length&&k(document).undelegate(e.filter_reset,"click.tsfilter").delegate(e.filter_reset,"click.tsfilter",function(){a.$table.trigger("filterReset")}));if(e.filter_functions)for(h=0;h<a.columns;h++)if(p=c.getColumnData(b,e.filter_functions,h))if(f=a.$headers.filter('[data-column="'+h+'"]:last'),d="",!0===p&&!f.hasClass("filter-false"))c.filter.buildSelect(b,h);else if("object"===typeof p&&!f.hasClass("filter-false")){for(g in p)"string"===typeof g&&(d+=""===d?'<option value="">'+ (f.data("placeholder")||f.attr("data-placeholder")||e.filter_placeholder.select||"")+"</option>":"",d+='<option value="'+g+'">'+g+"</option>");a.$table.find("thead").find("select."+c.css.filter+'[data-column="'+h+'"]').append(d)}c.filter.buildDefault(b,!0);c.filter.bindSearch(b,a.$table.find("."+c.css.filter),!0);e.filter_external&&c.filter.bindSearch(b,e.filter_external);e.filter_hideFilters&&c.filter.hideFilters(b,a);a.showProcessing&&a.$table.bind("filterStart"+a.namespace+"filter filterEnd"+a.namespace+ "filter",function(d,e){f=e?a.$table.find("."+c.css.header).filter("[data-column]").filter(function(){return""!==e[k(this).data("column")]}):"";c.isProcessing(b,"filterStart"===d.type,e?f:"")});a.filteredRows=a.totalRows;a.debug&&c.benchmark("Applying Filter widget",m);a.$table.bind("tablesorter-initialized pagerInitialized",function(d){var e=this.config.widgetOptions;l=c.filter.setDefaults(b,a,e)||[];l.length&&(a.delayInit&&""===l.join("")||c.setFilters(b,l,!0));a.$table.trigger("filterFomatterUpdate"); setTimeout(function(){e.filter_initialized||c.filter.filterInitComplete(a)},100)});a.pager&&a.pager.initialized&&!e.filter_initialized&&(a.$table.trigger("filterFomatterUpdate"),setTimeout(function(){c.filter.filterInitComplete(a)},100))},formatterUpdated:function(b,a){var c=b.closest("table")[0].config.widgetOptions;c.filter_initialized||(c.filter_formatterInit[a]=1)},filterInitComplete:function(b){var a=b.widgetOptions,c=0;k.each(a.filter_formatterInit,function(a,b){1===b&&c++});clearTimeout(a.filter_initTimer); a.filter_initialized||c!==a.filter_formatterCount?a.filter_initialized||(a.filter_initTimer=setTimeout(function(){a.filter_initialized=!0;b.$table.trigger("filterInit",b)},500)):(a.filter_initialized=!0,b.$table.trigger("filterInit",b))},setDefaults:function(b,a,e){var d,g=c.getFilters(b)||[];e.filter_saveFilters&&c.storage&&(d=c.storage(b,"tablesorter-filters")||[],(b=k.isArray(d))&&""===d.join("")||!b||(g=d));if(""===g.join(""))for(b=0;b<a.columns;b++)g[b]=a.$headers.filter('[data-column="'+b+'"]:last').attr(e.filter_defaultAttrib)|| g[b];a.$table.data("lastSearch",g);return g},parseFilter:function(b,a,c,d,g){var f=b.config;return g||d?f.parsers[c].format(a,b,[],c):a},buildRow:function(b,a,e){var d,g,f,h,l=a.columns;f='<tr class="'+c.css.filterRow+'">';for(d=0;d<l;d++)f+="<td></td>";a.$filters=k(f+"</tr>").appendTo(a.$table.children("thead").eq(0)).find("td");for(d=0;d<l;d++)g=a.$headers.filter('[data-column="'+d+'"]:last'),f=c.getColumnData(b,e.filter_functions,d),f=e.filter_functions&&f&&"function"!==typeof f||g.hasClass("filter-select"), h="false"===c.getData(g[0],c.getColumnData(b,a.headers,d),"filter"),f?f=k("<select>").appendTo(a.$filters.eq(d)):((f=c.getColumnData(b,e.filter_formatter,d))?(e.filter_formatterCount++,(f=f(a.$filters.eq(d),d))&&0===f.length&&(f=a.$filters.eq(d).children("input")),f&&(0===f.parent().length||f.parent().length&&f.parent()[0]!==a.$filters[d])&&a.$filters.eq(d).append(f)):f=k('<input type="search">').appendTo(a.$filters.eq(d)),f&&f.attr("placeholder",g.data("placeholder")||g.attr("data-placeholder")|| e.filter_placeholder.search||"")),f&&(g=(k.isArray(e.filter_cssFilter)?"undefined"!==typeof e.filter_cssFilter[d]?e.filter_cssFilter[d]||"":"":e.filter_cssFilter)||"",f.addClass(c.css.filter+" "+g).attr("data-column",d),h&&(f.attr("placeholder","").addClass("disabled")[0].disabled=!0))},bindSearch:function(b,a,e){b=k(b)[0];a=k(a);if(a.length){var d=b.config,g=d.widgetOptions,f=g.filter_$externalFilters;!0!==e&&(g.filter_$anyMatch=a.filter('[data-column="all"]'),g.filter_$externalFilters=f&&f.length? g.filter_$externalFilters.add(a):a,c.setFilters(b,d.$table.data("lastSearch")||[],!1===e));a.attr("data-lastSearchTime",(new Date).getTime()).unbind(["keypress","keyup","search","change",""].join(d.namespace+"filter ")).bind("keyup"+d.namespace+"filter",function(a){k(this).attr("data-lastSearchTime",(new Date).getTime());if(27===a.which)this.value="";else if(!1===g.filter_liveSearch||""!==this.value&&("number"===typeof g.filter_liveSearch&&this.value.length<g.filter_liveSearch||13!==a.which&&8!== a.which&&(32>a.which||37<=a.which&&40>=a.which)))return;c.filter.searching(b,!0,!0)}).bind(["search","change","keypress",""].join(d.namespace+"filter "),function(a){var e=k(this).data("column");if(13===a.which||"search"===a.type||"change"===a.type&&this.value!==d.lastSearch[e])a.preventDefault(),k(this).attr("data-lastSearchTime",(new Date).getTime()),c.filter.searching(b,!1,!0)})}},searching:function(b,a,e){var d=b.config.widgetOptions;clearTimeout(d.searchTimer);"undefined"===typeof a||!0===a?d.searchTimer= setTimeout(function(){c.filter.checkFilters(b,a,e)},d.filter_liveSearch?d.filter_searchDelay:10):c.filter.checkFilters(b,a,e)},checkFilters:function(b,a,e){var d=b.config,g=d.widgetOptions,f=k.isArray(a),h=f?a:c.getFilters(b,!0),l=(h||[]).join("");if(k.isEmptyObject(d.cache))d.delayInit&&d.pager&&d.pager.initialized&&d.$table.trigger("updateCache",[function(){c.filter.checkFilters(b,!1,e)}]);else if(f&&(c.setFilters(b,h,!1,!0!==e),g.filter_initialized||(d.lastCombinedFilter="")),g.filter_hideFilters&& d.$table.find("."+c.css.filterRow).trigger(""===l?"mouseleave":"mouseenter"),d.lastCombinedFilter!==l||!1===a)if(!1===a&&(d.lastCombinedFilter=null,d.lastSearch=[]),g.filter_initialized&&d.$table.trigger("filterStart",[h]),d.showProcessing)setTimeout(function(){c.filter.findRows(b,h,l);return!1},30);else return c.filter.findRows(b,h,l),!1},hideFilters:function(b,a){var e,d,g;k(b).find("."+c.css.filterRow).addClass("hideme").bind("mouseenter mouseleave",function(b){e=k(this);clearTimeout(g);g=setTimeout(function(){/enter|over/.test(b.type)? e.removeClass("hideme"):k(document.activeElement).closest("tr")[0]!==e[0]&&""===a.lastCombinedFilter&&e.addClass("hideme")},200)}).find("input, select").bind("focus blur",function(b){d=k(this).closest("tr");clearTimeout(g);g=setTimeout(function(){if(""===c.getFilters(a.$table).join(""))d["focus"===b.type?"removeClass":"addClass"]("hideme")},200)})},findRows:function(b,a,e){if(b.config.lastCombinedFilter!==e){var d,g,f,h,l,m,p,n,s,r,t,v,w,x,z,y,A,B,L,C,G,H,I,J,M,D,F=c.filter.regex,q=b.config,u=q.widgetOptions, N=q.columns,K=q.$table.children("tbody"),O=["range","notMatch","operators"],E=q.$headers.map(function(a){return q.parsers&&q.parsers[a]&&q.parsers[a].parsed||c.getData&&"parsed"===c.getData(q.$headers.filter('[data-column="'+a+'"]:last'),c.getColumnData(b,q.headers,a),"filter")||k(this).hasClass("filter-parsed")}).get();q.debug&&(L=new Date);q.filteredRows=0;for(l=q.totalRows=0;l<K.length;l++)if(!K.eq(l).hasClass(q.cssInfoBlock||c.css.info)){m=c.processTbody(b,K.eq(l),!0);n=q.columns;f=k(k.map(q.cache[l].normalized, function(a){return a[n].$row.get()}));if(""===e||u.filter_serversideFiltering)f.removeClass(u.filter_filteredRow).not("."+q.cssChildRow).show();else{f=f.not("."+q.cssChildRow);g=f.length;y=u.filter_searchFiltered;p=q.lastSearch||q.$table.data("lastSearch")||[];if(y)for(r=0;r<n+1;r++)s=a[r]||"",y||(r=n),y=y&&p.length&&0===s.indexOf(p[r]||"")&&!F.alreadyFiltered.test(s)&&!/[=\"\|!]/.test(s)&&!(/(>=?\s*-\d)/.test(s)||/(<=?\s*\d)/.test(s))&&!(""!==s&&q.$filters&&q.$filters.eq(r).find("select").length&& !q.$headers.filter('[data-column="'+r+'"]:last').hasClass("filter-match"));p=f.not("."+u.filter_filteredRow).length;y&&0===p&&(y=!1);q.debug&&c.log("Searching through "+(y&&p<g?p:"all")+" rows");if(u.filter_$anyMatch&&u.filter_$anyMatch.length||a[q.columns])C=u.filter_$anyMatch&&u.filter_$anyMatch.val()||a[q.columns]||"",q.sortLocaleCompare&&(C=c.replaceAccents(C)),G=C.toLowerCase();for(h=0;h<g;h++)if(s=f[h].className,!(F.child.test(s)||y&&F.filtered.test(s))){B=!0;s=f.eq(h).nextUntil("tr:not(."+ q.cssChildRow+")");r=s.length&&u.filter_childRows?s.text():"";r=u.filter_ignoreCase?r.toLocaleLowerCase():r;p=f.eq(h).children();C&&(H=p.map(function(a){E[a]?a=q.cache[l].normalized[h][a]:(a=u.filter_ignoreCase?k(this).text().toLowerCase():k(this).text(),q.sortLocaleCompare&&(a=c.replaceAccents(a)));return a}).get(),I=H.join(" "),J=I.toLowerCase(),M=q.cache[l].normalized[h].slice(0,-1).join(" "),A=null,k.each(c.filter.types,function(a,c){if(0>k.inArray(a,O)&&(x=c(C,G,I,J,M,N,b,u,E,H),null!==x))return A= x,!1}),B=null!==A?A:0<=(J+r).indexOf(G));for(n=0;n<N;n++)a[n]&&(d=q.cache[l].normalized[h][n],u.filter_useParsedData||E[n]?t=d:(t=k.trim(p.eq(n).text()),t=q.sortLocaleCompare?c.replaceAccents(t):t),v=!F.type.test(typeof t)&&u.filter_ignoreCase?t.toLocaleLowerCase():t,z=B,a[n]=q.sortLocaleCompare?c.replaceAccents(a[n]):a[n],w=u.filter_ignoreCase?(a[n]||"").toLocaleLowerCase():a[n],(D=c.getColumnData(b,u.filter_functions,n))?!0===D?z=q.$headers.filter('[data-column="'+n+'"]:last').hasClass("filter-match")? 0<=v.search(w):a[n]===t:"function"===typeof D?z=D(t,d,a[n],n,f.eq(h)):"function"===typeof D[a[n]]&&(z=D[a[n]](t,d,a[n],n,f.eq(h))):(A=null,k.each(c.filter.types,function(c,e){x=e(a[n],w,t,v,d,n,b,u,E);if(null!==x)return A=x,!1}),null!==A?z=A:(t=(v+r).indexOf(c.filter.parseFilter(b,w,n,E[n])),z=!u.filter_startsWith&&0<=t||u.filter_startsWith&&0===t)),B=z?B:!1);f.eq(h).toggle(B).toggleClass(u.filter_filteredRow,!B);s.length&&s.toggleClass(u.filter_filteredRow,!B)}}q.filteredRows+=f.not("."+u.filter_filteredRow).length; q.totalRows+=f.length;c.processTbody(b,m,!1)}q.lastCombinedFilter=e;q.lastSearch=a;q.$table.data("lastSearch",a);u.filter_saveFilters&&c.storage&&c.storage(b,"tablesorter-filters",a);q.debug&&c.benchmark("Completed filter widget search",L);u.filter_initialized&&q.$table.trigger("filterEnd",q);setTimeout(function(){q.$table.trigger("applyWidgets")},0)}},getOptionSource:function(b,a,e){var d,g=b.config,f=[],h=!1,l=g.widgetOptions.filter_selectSource,m=k.isFunction(l)?!0:c.getColumnData(b,l,a);!0=== m?h=l(b,a,e):"object"===k.type(l)&&m&&(h=m(b,a,e));!1===h&&(h=c.filter.getOptions(b,a,e));h=k.grep(h,function(a,b){return k.inArray(a,h)===b});g.$headers.filter('[data-column="'+a+'"]:last').hasClass("filter-select-nosort")||(k.each(h,function(c,d){f.push({t:d,p:g.parsers&&g.parsers[a].format(d,b,[],a)})}),d=g.textSorter||"",f.sort(function(e,f){var g=e.p.toString(),h=f.p.toString();return k.isFunction(d)?d(g,h,!0,a,b):"object"===typeof d&&d.hasOwnProperty(a)?d[a](g,h,!0,a,b):c.sortNatural?c.sortNatural(g, h):!0}),h=[],k.each(f,function(a,b){h.push(b.t)}));return h},getOptions:function(b,a,c){var d,g,f,h,l=b.config,m=l.widgetOptions,p=l.$table.children("tbody"),n=[];for(d=0;d<p.length;d++)if(!p.eq(d).hasClass(l.cssInfoBlock))for(h=l.cache[d],g=l.cache[d].normalized.length,b=0;b<g;b++)f=h.row?h.row[b]:h.normalized[b][l.columns].$row[0],c&&f.className.match(m.filter_filteredRow)||(m.filter_useParsedData||l.parsers[a].parsed||l.$headers.filter('[data-column="'+a+'"]:last').hasClass("filter-parsed")?n.push(""+ h.normalized[b][a]):(f=f.cells[a])&&n.push(k.trim(f.textContent||f.innerText||k(f).text())));return n},buildSelect:function(b,a,e,d){if(b.config.cache&&!k.isEmptyObject(b.config.cache)){a=parseInt(a,10);var g;g=b.config;var f=g.widgetOptions,h=g.$headers.filter('[data-column="'+a+'"]:last'),h='<option value="">'+(h.data("placeholder")||h.attr("data-placeholder")||f.filter_placeholder.select||"")+"</option>",l=c.filter.getOptionSource(b,a,d),m=g.$table.find("thead").find("select."+c.css.filter+'[data-column="'+ a+'"]').val();for(b=0;b<l.length;b++)d=l[b].replace(/\"/g,"&quot;"),h+=""!==l[b]?'<option value="'+d+'"'+(m===d?' selected="selected"':"")+">"+l[b]+"</option>":"";g=(g.$filters?g.$filters:g.$table.children("thead")).find("."+c.css.filter);f.filter_$externalFilters&&(g=g&&g.length?g.add(f.filter_$externalFilters):f.filter_$externalFilters);g.filter('select[data-column="'+a+'"]')[e?"html":"append"](h);f.filter_functions||(f.filter_functions={});f.filter_functions[a]=!0}},buildDefault:function(b,a){var e, d,g=b.config,f=g.widgetOptions,h=g.columns;for(e=0;e<h;e++)d=g.$headers.filter('[data-column="'+e+'"]:last'),!d.hasClass("filter-select")&&!0!==c.getColumnData(b,f.filter_functions,e)||d.hasClass("filter-false")||c.filter.buildSelect(b,e,a,d.hasClass(f.filter_onlyAvail))}};
+c.getFilters=function(b,a,e,d){var g,f=!1,h=b?k(b)[0].config:"",l=h?h.widgetOptions:"";if(!0!==a&&l&&!l.filter_columnFilters)return k(b).data("lastSearch");if(h&&(h.$filters&&(g=h.$filters.find("."+c.css.filter)),l.filter_$externalFilters&& (g=g&&g.length?g.add(l.filter_$externalFilters):l.filter_$externalFilters),g&&g.length))for(f=e||[],b=0;b<h.columns+1;b++)a=g.filter('[data-column="'+(b===h.columns?"all":b)+'"]'),a.length&&(a=a.sort(function(a,b){return k(b).attr("data-lastSearchTime")-k(a).attr("data-lastSearchTime")}),k.isArray(e)?(d?a.slice(1):a).val(e[b]).trigger("change.tsfilter"):(f[b]=a.val()||"",a.slice(1).val(f[b])),b===h.columns&&a.length&&(l.filter_$anyMatch=a));0===f.length&&(f=!1);return f};
+c.setFilters=function(b,a, e,d){var g=b?k(b)[0].config:"";b=c.getFilters(b,!0,a,d);g&&e&&(g.lastCombinedFilter=null,g.lastSearch=[],c.filter.searching(g.$table[0],a,d),g.$table.trigger("filterFomatterUpdate"));return!!b};
+c.addWidget({id:"stickyHeaders",priority:60,options:{stickyHeaders:"",stickyHeaders_attachTo:null,stickyHeaders_offset:0,stickyHeaders_filteredToTop:!0,stickyHeaders_cloneId:"-sticky",stickyHeaders_addResizeEvent:!0,stickyHeaders_includeCaption:!0,stickyHeaders_zIndex:2},format:function(b,a,e){if(!(a.$table.hasClass("hasStickyHeaders")|| 0<=k.inArray("filter",a.widgets)&&!a.$table.hasClass("hasFilters"))){var d=a.$table,g=k(e.stickyHeaders_attachTo),f=d.children("thead:first"),h=g.length?g:k(window),l=f.children("tr").not(".sticky-false").children(),m="."+c.css.headerIn,p=d.find("tfoot"),n=isNaN(e.stickyHeaders_offset)?k(e.stickyHeaders_offset):"",s=g.length?0:n.length?n.height()||0:parseInt(e.stickyHeaders_offset,10)||0,r=e.$sticky=d.clone().addClass("containsStickyHeaders").css({position:g.length?"absolute":"fixed",margin:0,top:s, left:0,visibility:"hidden",zIndex:e.stickyHeaders_zIndex?e.stickyHeaders_zIndex:2}),t=r.children("thead:first").addClass(c.css.sticky+" "+e.stickyHeaders),v,w="",x=0,z="collapse"!==d.css("border-collapse")&&!/(webkit|msie)/i.test(navigator.userAgent),y=function(){s=n.length?n.height()||0:parseInt(e.stickyHeaders_offset,10)||0;x=0;z&&(x=2*parseInt(l.eq(0).css("border-left-width"),10));r.css({left:g.length?(parseInt(g.css("padding-left"),10)||0)+parseInt(a.$table.css("padding-left"),10)+parseInt(a.$table.css("margin-left"), 10)+parseInt(d.css("border-left-width"),10):f.offset().left-h.scrollLeft()-x,width:d.width()});v.filter(":visible").each(function(b){b=l.filter(":visible").eq(b);var c=z&&k(this).attr("data-column")===""+parseInt(a.columns/2,10)?1:0;k(this).css({width:b.width()-x}).find(m).width(b.find(m).width()-c)})};r.attr("id")&&(r[0].id+=e.stickyHeaders_cloneId);r.find("thead:gt(0), tr.sticky-false").hide();r.find("tbody, tfoot").remove();e.stickyHeaders_includeCaption?r.find("caption").css("margin-left","-1px"): r.find("caption").remove();v=t.children().children();r.css({height:0,width:0,padding:0,margin:0,border:0});v.find("."+c.css.resizer).remove();d.addClass("hasStickyHeaders").bind("pagerComplete.tsSticky",function(){y()});c.bindEvents(b,t.children().children(".tablesorter-header"));d.after(r);h.bind("scroll.tsSticky resize.tsSticky",function(a){if(d.is(":visible")){var b=d.offset(),c=e.stickyHeaders_includeCaption?0:d.find("caption").outerHeight(!0),c=(g.length?g.offset().top:h.scrollTop())+s-c,k=d.height()- (r.height()+(p.height()||0)),b=c>b.top&&c<b.top+k?"visible":"hidden",c={visibility:b};g.length?c.top=g.scrollTop():c.left=f.offset().left-h.scrollLeft()-x;r.removeClass("tablesorter-sticky-visible tablesorter-sticky-hidden").addClass("tablesorter-sticky-"+b).css(c);if(b!==w||"resize"===a.type)y(),w=b}});e.stickyHeaders_addResizeEvent&&c.addHeaderResizeEvent(b);d.hasClass("hasFilters")&&(d.bind("filterEnd",function(){var b=k(document.activeElement).closest("td"),b=b.parent().children().index(b);r.hasClass(c.css.stickyVis)&& e.stickyHeaders_filteredToTop&&(window.scrollTo(0,d.position().top),0<=b&&a.$filters&&a.$filters.eq(b).find("a, select, input").filter(":visible").focus())}),c.filter.bindSearch(d,v.find("."+c.css.filter)),e.filter_hideFilters&&c.filter.hideFilters(r,a));d.trigger("stickyHeadersInit")}},remove:function(b,a,e){a.$table.removeClass("hasStickyHeaders").unbind("pagerComplete.tsSticky").find("."+c.css.sticky).remove();e.$sticky&&e.$sticky.length&&e.$sticky.remove();k(".hasStickyHeaders").length||k(window).unbind("scroll.tsSticky resize.tsSticky"); c.addHeaderResizeEvent(b,!1)}});
+c.addWidget({id:"resizable",priority:40,options:{resizable:!0,resizable_addLastColumn:!1,resizable_widths:[],resizable_throttle:!1},format:function(b,a,e){if(!a.$table.hasClass("hasResizable")){a.$table.addClass("hasResizable");c.resizableReset(b,!0);var d,g,f,h,l,m={},p=a.$table,n=0,s=null,r=null,t=20>Math.abs(p.parent().width()-p.width()),v=function(a){if(0!==n&&s){var b=a.pageX-n,c=s.width();s.width(c+b);s.width()!==c&&t&&r.width(r.width()-b);n=a.pageX}},w=function(){c.storage&& s&&r&&(m={},m[s.index()]=s.width(),m[r.index()]=r.width(),s.width(m[s.index()]),r.width(m[r.index()]),!1!==e.resizable&&c.storage(b,"tablesorter-resizable",a.$headers.map(function(){return k(this).width()}).get()));n=0;s=r=null;k(window).trigger("resize")};if(m=c.storage&&!1!==e.resizable?c.storage(b,"tablesorter-resizable"):{})for(h in m)!isNaN(h)&&h<a.$headers.length&&a.$headers.eq(h).width(m[h]);d=p.children("thead:first").children("tr");d.children().each(function(){var e;e=k(this);h=e.attr("data-column"); e="false"===c.getData(e,c.getColumnData(b,a.headers,h),"resizable");d.children().filter('[data-column="'+h+'"]')[e?"addClass":"removeClass"]("resizable-false")});d.each(function(){f=k(this).children().not(".resizable-false");k(this).find("."+c.css.wrapper).length||f.wrapInner('<div class="'+c.css.wrapper+'" style="position:relative;height:100%;width:100%"></div>');e.resizable_addLastColumn||(f=f.slice(0,-1));g=g?g.add(f):f});g.each(function(){var a=k(this),b=parseInt(a.css("padding-right"),10)+10; a.find("."+c.css.wrapper).append('<div class="'+c.css.resizer+'" style="cursor:w-resize;position:absolute;z-index:1;right:-'+b+'px;top:0;height:100%;width:20px;"></div>')}).find("."+c.css.resizer).bind("mousedown",function(b){s=k(b.target).closest("th");var c=a.$headers.filter('[data-column="'+s.attr("data-column")+'"]');1<c.length&&(s=s.add(c));r=b.shiftKey?s.parent().find("th").not(".resizable-false").filter(":last"):s.nextAll(":not(.resizable-false)").eq(0);n=b.pageX});k(document).bind("mousemove.tsresize", function(a){0!==n&&s&&(e.resizable_throttle?(clearTimeout(l),l=setTimeout(function(){v(a)},isNaN(e.resizable_throttle)?5:e.resizable_throttle)):v(a))}).bind("mouseup.tsresize",function(){w()});p.find("thead:first").bind("contextmenu.tsresize",function(){c.resizableReset(b);var a=k.isEmptyObject?k.isEmptyObject(m):!0;m={};return a})}},remove:function(b,a){a.$table.removeClass("hasResizable").children("thead").unbind("mouseup.tsresize mouseleave.tsresize contextmenu.tsresize").children("tr").children().unbind("mousemove.tsresize mouseup.tsresize").find("."+ c.css.resizer).remove();c.resizableReset(b)}});
c.resizableReset=function(b,a){k(b).each(function(){var e,d=this.config,g=d&&d.widgetOptions;b&&d&&(d.$headers.each(function(a){e=k(this);g.resizable_widths[a]?e.css("width",g.resizable_widths[a]):e.hasClass("resizable-false")||e.css("width","")}),c.storage&&!a&&c.storage(this,"tablesorter-resizable",{}))})};
-c.addWidget({id:"saveSort",priority:20,options:{saveSort:!0},init:function(b,a,c,d){a.format(b,c,d,!0)},format:function(b,a,e,d){var g, f=a.$table;e=!1!==e.saveSort;var h={sortList:a.sortList};a.debug&&(g=new Date);f.hasClass("hasSaveSort")?e&&b.hasInitialized&&c.storage&&(c.storage(b,"tablesorter-savesort",h),a.debug&&c.benchmark("saveSort widget: Saving last sort: "+a.sortList,g)):(f.addClass("hasSaveSort"),h="",c.storage&&(h=(e=c.storage(b,"tablesorter-savesort"))&&e.hasOwnProperty("sortList")&&k.isArray(e.sortList)?e.sortList:"",a.debug&&c.benchmark('saveSort: Last sort loaded: "'+h+'"',g),f.bind("saveSortReset",function(a){a.stopPropagation(); c.storage(b,"tablesorter-savesort","")})),d&&h&&0<h.length?a.sortList=h:b.hasInitialized&&h&&0<h.length&&f.trigger("sorton",[h]))},remove:function(b){c.storage&&c.storage(b,"tablesorter-savesort","")}})
+c.addWidget({id:"saveSort",priority:20,options:{saveSort:!0},init:function(b,a,c,d){a.format(b,c,d,!0)},format:function(b,a,e,d){var g,f=a.$table; e=!1!==e.saveSort;var h={sortList:a.sortList};a.debug&&(g=new Date);f.hasClass("hasSaveSort")?e&&b.hasInitialized&&c.storage&&(c.storage(b,"tablesorter-savesort",h),a.debug&&c.benchmark("saveSort widget: Saving last sort: "+a.sortList,g)):(f.addClass("hasSaveSort"),h="",c.storage&&(h=(e=c.storage(b,"tablesorter-savesort"))&&e.hasOwnProperty("sortList")&&k.isArray(e.sortList)?e.sortList:"",a.debug&&c.benchmark('saveSort: Last sort loaded: "'+h+'"',g),f.bind("saveSortReset",function(a){a.stopPropagation(); c.storage(b,"tablesorter-savesort","")})),d&&h&&0<h.length?a.sortList=h:b.hasInitialized&&h&&0<h.length&&f.trigger("sorton",[h]))},remove:function(b){c.storage&&c.storage(b,"tablesorter-savesort","")}})
})(jQuery);
View
2 js/parsers/parser-image.js
@@ -1,5 +1,5 @@
/*! image alt attribute parser for jQuery 1.7+ & tablesorter 2.7.11+
- * New 7/8/2014 (v2.17.4)
+ * New 7/17/2014 (v2.17.5)
*/
/*jshint jquery:true, unused:false */
;(function($){
View
2 js/parsers/parser-input-select.js
@@ -1,5 +1,5 @@
/*! input & select parsers for jQuery 1.7+ & tablesorter 2.7.11+
- * Updated 5/28/2014 (v2.17.1)
+ * Updated 7/17/2014 (v2.17.5)
* Demo: http://mottie.github.com/tablesorter/docs/example-widget-grouping.html
*/
/*jshint browser: true, jquery:true, unused:false */
View
6 js/widgets/widget-output.js
@@ -1,4 +1,4 @@
-/* Output widget (beta) for TableSorter 5/22/2014 (v2.17.0)
+/* Output widget (beta) for TableSorter 7/17/2014 (v2.17.5)
* Requires tablesorter v2.8+ and jQuery 1.7+
* Modified from:
* HTML Table to CSV: http://www.kunalbabre.com/projects/table2CSV.php (License unknown?)
@@ -237,9 +237,9 @@ output = ts.output = {
// test for blob support
try {
gotBlob = !!new Blob();
- } catch (e) {
+ } catch (err) {
gotBlob = false;
- };
+ }
// Use HTML5 Blob if browser supports it
if ( gotBlob ) {
View
2 js/widgets/widget-pager.js
@@ -1,4 +1,4 @@
-/* Pager widget for TableSorter 7/4/2014 (v2.17.4) */
+/* Pager widget for TableSorter 7/17/2014 (v2.17.5) */
/*jshint browser:true, jquery:true, unused:false */
;(function($){
"use strict";

0 comments on commit e861f6c

Please sign in to comment.
Something went wrong with that request. Please try again.