summaryrefslogtreecommitdiff
path: root/sitestatic/jquery.tablesorter-2.7.min.js
blob: 1a4474e71a9427c93d91de74d75d8091661c31e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/*!
* TableSorter 2.7 - Client-side table sorting with ease!
* @requires jQuery v1.2.6+
*
* Copyright (c) 2007 Christian Bach
* Examples and docs at: http://tablesorter.com
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* @type jQuery
* @name tablesorter
* @cat Plugins/Tablesorter
* @author Christian Bach/christian.bach@polyester.se
* @contributor Rob Garrison/https://github.com/Mottie/tablesorter
*/
!function(C){"use strict";C.extend({tablesorter:new function(){var b=this;function g(e){"undefined"!=typeof console&&void 0!==console.log?console.log(e):alert(e)}function w(e,t){g(e+" ("+((new Date).getTime()-t.getTime())+"ms)")}function m(e,t,r){if(!t)return"";var s=e.config,o=s.textExtraction,i="";return i="simple"===o?s.supportsTextContent?t.textContent:C(t).text():"function"==typeof o?o(t,e,r):"object"==typeof o&&o.hasOwnProperty(r)?o[r](t,e,r):s.supportsTextContent?t.textContent:C(t).text(),C.trim(i)}function f(e,t,r,s){for(var o,i=b.parsers.length,n=!1,a="",d=!0;""===a&&d;)t[++r]?(a=m(e,n=t[r].cells[s],s),e.config.debug&&g("Checking if value was empty on row "+r+", column: "+s+": "+a)):d=!1;for(o=1;o<i;o++)if(b.parsers[o].is(a,e,n))return b.parsers[o];return b.parsers[0]}function l(e){var t,r,s,o,i,n,a,d=e.config,c=C(e.tBodies).filter(":not(."+d.cssInfoBlock+")"),l="";if(0===c.length)return d.debug?g("*Empty table!* Not building a parser cache"):"";if((t=c[0].rows)[0])for(r=[],s=t[0].cells.length,o=0;o<s;o++)i=(i=d.$headers.filter(":not([colspan])")).add(d.$headers.filter('[colspan="1"]')).filter('[data-column="'+o+'"]:last'),n=d.headers[o],a=b.getParserById(b.getData(i,n,"sorter")),d.empties[o]=b.getData(i,n,"empty")||d.emptyTo||(d.emptyToBottom?"bottom":"top"),d.strings[o]=b.getData(i,n,"string")||d.stringTo||"max",a||(a=f(e,t,-1,o)),d.debug&&(l+="column:"+o+"; parser:"+a.id+"; string:"+d.strings[o]+"; empty: "+d.empties[o]+"\n"),r.push(a);return d.debug&&g(l),r}function h(e){var t,r,s,o,i,n,a,d,c,l,f=e.tBodies,u=e.config,h=u.parsers,p=[];if(u.cache={},!h)return u.debug?g("*Empty table!* Not building a cache"):"";for(u.debug&&(l=new Date),u.showProcessing&&b.isProcessing(e,!0),a=0;a<f.length;a++)if(u.cache[a]={row:[],normalized:[]},!C(f[a]).hasClass(u.cssInfoBlock)){for(t=f[a]&&f[a].rows.length||0,r=f[a].rows[0]&&f[a].rows[0].cells.length||0,i=0;i<t;++i)if(c=[],(d=C(f[a].rows[i])).hasClass(u.cssChildRow))u.cache[a].row[u.cache[a].row.length-1]=u.cache[a].row[u.cache[a].row.length-1].add(d);else{for(u.cache[a].row.push(d),n=0;n<r;++n)s=m(e,d[0].cells[n],n),o=h[n].format(s,e,d[0].cells[n],n),c.push(o),"numeric"===(h[n].type||"").toLowerCase()&&(p[n]=Math.max(Math.abs(o),p[n]||0));c.push(u.cache[a].normalized.length),u.cache[a].normalized.push(c)}u.cache[a].colMax=p}u.showProcessing&&b.isProcessing(e),u.debug&&w("Building cache for "+t+" rows",l)}function p(e,t){var r,s,o,i,n,a,d,c,l,f,u,h,p=e.config,g=e.tBodies,m=[],y=p.cache;if(y[0]){for(p.debug&&(h=new Date),l=0;l<g.length;l++)if(!(n=C(g[l])).hasClass(p.cssInfoBlock)){for(a=b.processTbody(e,n,!0),r=y[l].row,i=(o=(s=y[l].normalized).length)?s[0].length-1:0,d=0;d<o;d++)if(u=s[d][i],m.push(r[u]),!p.appender||!p.removeRows)for(f=r[u].length,c=0;c<f;c++)a.append(r[u][c]);b.processTbody(e,a,!1)}p.appender&&p.appender(e,m),p.debug&&w("Rebuilt table",h),t||b.applyWidget(e),C(e).trigger("sortEnd",e)}}function u(e){return/^d/i.test(e)||1===e}function r(e){var t,r,s,o,i,n,a,d,c=function(e){var t,r,s,o,i,n,a,d,c,l,f,u,h=[],p={},g=C(e).find("thead:eq(0), tfoot").children("tr");for(t=0;t<g.length;t++)for(n=g[t].cells,r=0;r<n.length;r++){for(d=(a=(i=n[r]).parentNode.rowIndex)+"-"+i.cellIndex,c=i.rowSpan||1,l=i.colSpan||1,void 0===h[a]&&(h[a]=[]),s=0;s<h[a].length+1;s++)if(void 0===h[a][s]){f=s;break}for(p[d]=f,C(i).attr({"data-column":f}),s=a;s<a+c;s++)for(void 0===h[s]&&(h[s]=[]),u=h[s],o=f;o<f+l;o++)u[o]="x"}return p}(e),l=e.config;return l.headerList=[],l.headerContent=[],l.debug&&(a=new Date),o=l.cssIcon?'<i class="'+l.cssIcon+'"></i>':"",d=C(e).find(l.selectorHeaders).each(function(e){r=C(this),t=l.headers[e],l.headerContent[e]=this.innerHTML,i=l.headerTemplate.replace(/\{content\}/g,this.innerHTML).replace(/\{icon\}/g,o),l.onRenderTemplate&&(s=l.onRenderTemplate.apply(r,[e,i]))&&"string"==typeof s&&(i=s),this.innerHTML='<div class="tablesorter-header-inner">'+i+"</div>",l.onRenderHeader&&l.onRenderHeader.apply(r,[e]),this.column=c[this.parentNode.rowIndex+"-"+this.cellIndex],this.order=u(b.getData(r,t,"sortInitialOrder")||l.sortInitialOrder)?[1,0,2]:[0,1,2],this.count=-1,"false"===b.getData(r,t,"sorter")?(this.sortDisabled=!0,r.addClass("sorter-false")):r.removeClass("sorter-false"),this.lockedOrder=!1,void 0!==(n=b.getData(r,t,"lockedOrder")||!1)&&!1!==n&&(this.order=this.lockedOrder=u(n)?[1,1,1]:[0,0,0]),r.addClass((this.sortDisabled?"sorter-false ":" ")+l.cssHeader),l.headerList[e]=this,r.parent().addClass(l.cssHeaderRow)}),e.config.debug&&(w("Built headers:",a),g(d)),d}function y(e){var t,r,s,o,i=e.config,n=i.sortList,a=[i.cssAsc,i.cssDesc],d=C(e).find("tfoot tr").children().removeClass(a.join(" "));for(i.$headers.removeClass(a.join(" ")),o=n.length,r=0;r<o;r++)if(2!==n[r][1]&&(t=i.$headers.not(".sorter-false").filter('[data-column="'+n[r][0]+'"]'+(1===o?":last":""))).length)for(s=0;s<t.length;s++)t[s].sortDisabled||(t.eq(s).addClass(a[n[r][1]]),d.length&&d.filter('[data-column="'+n[r][0]+'"]').eq(s).addClass(a[n[r][1]]))}function v(i){var e,n,t,a,d,r,c,l,f,u=0,h=i.config,p=h.sortList,g=p.length,s=i.tBodies.length;if(!h.serverSideSorting&&h.cache[0]){for(h.debug&&(e=new Date),t=0;t<s;t++)d=h.cache[t].colMax,(r=h.cache[t].normalized).length,f=r&&r[0]?r[0].length-1:0,r.sort(function(e,t){for(n=0;n<g;n++){a=p[n][0],l=p[n][1],c=/n/i.test((s=h.parsers,o=a,s&&s[o]&&s[o].type||""))?"Numeric":"Text",/Numeric/.test(c+=0===l?"":"Desc")&&h.strings[a]&&(u="boolean"==typeof h.string[h.strings[a]]?(0===l?1:-1)*(h.string[h.strings[a]]?-1:1):h.strings[a]&&h.string[h.strings[a]]||0);var r=C.tablesorter["sort"+c](i,e[a],t[a],a,d[a],u);if(r)return r}var s,o;return e[f]-t[f]});h.debug&&w("Sorting on "+p.toString()+" and dir "+l+" time",e)}}function s(e,t){e.trigger("updateComplete"),"function"==typeof t&&t(e[0])}function x(e,t,r){!1!==t?e.trigger("sorton",[e[0].config.sortList,function(){s(e,r)}]):s(e,r)}b.version="2.7",b.parsers=[],b.widgets=[],b.defaults={theme:"default",widthFixed:!1,showProcessing:!1,headerTemplate:"{content}",onRenderTemplate:null,onRenderHeader:null,cancelSelection:!0,dateFormat:"mmddyyyy",sortMultiSortKey:"shiftKey",sortResetKey:"ctrlKey",usNumberFormat:!0,delayInit:!1,serverSideSorting:!1,headers:{},ignoreCase:!0,sortForce:null,sortList:[],sortAppend:null,sortInitialOrder:"asc",sortLocaleCompare:!1,sortReset:!1,sortRestart:!1,emptyTo:"bottom",stringTo:"max",textExtraction:"simple",textSorter:null,widgets:[],widgetOptions:{zebra:["even","odd"]},initWidgets:!0,initialized:null,tableClass:"tablesorter",cssAsc:"tablesorter-headerAsc",cssChildRow:"tablesorter-childRow",cssDesc:"tablesorter-headerDesc",cssHeader:"tablesorter-header",cssHeaderRow:"tablesorter-headerRow",cssIcon:"tablesorter-icon",cssInfoBlock:"tablesorter-infoOnly",cssProcessing:"tablesorter-processing",selectorHeaders:"> thead th, > thead td",selectorSort:"th, td",selectorRemove:".remove-me",debug:!1,headerList:[],empties:{},strings:{},parsers:[]},b.benchmark=w,b.construct=function(t){return this.each(function(){if(!this.tHead||0===this.tBodies.length||!0===this.hasInitialized)return this.config.debug?g("stopping initialization! No thead, tbody or tablesorter has already been initialized"):"";var f,s,c,o,i,n,a,u=C(this),d="",e=C.metadata;this.hasInitialized=!1,this.config={},f=C.extend(!0,this.config,b.defaults,t),C.data(this,"tablesorter",f),f.debug&&C.data(this,"startoveralltimer",new Date),f.supportsTextContent="x"===C("<span>x</span>")[0].textContent,f.supportsDataObject=1.4<=parseFloat(C.fn.jquery),f.string={max:1,min:-1,"max+":1,"max-":-1,zero:0,none:0,null:0,top:!0,bottom:!1},/tablesorter\-/.test(u.attr("class"))||(d=""!==f.theme?" tablesorter-"+f.theme:""),u.addClass(f.tableClass+d),f.$headers=r(this),f.parsers=l(this),f.delayInit||h(this),f.$headers.find("*").andSelf().filter(f.selectorSort).unbind("mousedown.tablesorter mouseup.tablesorter").bind("mousedown.tablesorter mouseup.tablesorter",function(e,t){var r=(this.tagName.match("TH|TD")?C(this):C(this).parents("th, td").filter(":last"))[0];if(1!==(e.which||e.button))return!1;if("mousedown"===e.type)return a=(new Date).getTime(),"INPUT"===e.target.tagName?"":!f.cancelSelection;if(!0!==t&&250<(new Date).getTime()-a)return!1;if(f.delayInit&&!f.cache&&h(u[0]),!r.sortDisabled){if(u.trigger("sortStart",u[0]),d=!e[f.sortMultiSortKey],r.count=e[f.sortResetKey]?2:(r.count+1)%(f.sortReset?3:2),f.sortRestart&&(s=r,f.$headers.each(function(){this===s||!d&&C(this).is("."+f.cssDesc+",."+f.cssAsc)||(this.count=-1)})),s=r.column,d){if(f.sortList=[],null!==f.sortForce)for(o=f.sortForce,c=0;c<o.length;c++)o[c][0]!==s&&f.sortList.push(o[c]);if((n=r.order[r.count])<2&&(f.sortList.push([s,n]),1<r.colSpan))for(c=1;c<r.colSpan;c++)f.sortList.push([s+c,n])}else if(f.sortAppend&&1<f.sortList.length&&b.isValueInArray(f.sortAppend[0][0],f.sortList)&&f.sortList.pop(),b.isValueInArray(s,f.sortList))for(c=0;c<f.sortList.length;c++)i=f.sortList[c],n=f.headerList[i[0]],i[0]===s&&(i[1]=n.order[n.count],2===i[1]&&(f.sortList.splice(c,1),n.count=-1));else if((n=r.order[r.count])<2&&(f.sortList.push([s,n]),1<r.colSpan))for(c=1;c<r.colSpan;c++)f.sortList.push([s+c,n]);if(null!==f.sortAppend)for(o=f.sortAppend,c=0;c<o.length;c++)o[c][0]!==s&&f.sortList.push(o[c]);u.trigger("sortBegin",u[0]),setTimeout(function(){y(u[0]),v(u[0]),p(u[0])},1)}}),f.cancelSelection&&f.$headers.each(function(){this.onselectstart=function(){return!1}}),u.unbind("sortReset update updateCell addRows sorton appendCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave").bind("sortReset",function(){f.sortList=[],y(this),v(this),p(this)}).bind("update",function(e,t,r){C(f.selectorRemove,this).remove(),f.parsers=l(this),h(this),x(u,t,r)}).bind("updateCell",function(e,t,r,s){var o,i,n,a=this,d=C(this).find("tbody"),c=d.index(C(t).parents("tbody").filter(":last")),l=C(t).parents("tr").filter(":last");t=C(t)[0],d.length&&0<=c&&(i=d.eq(c).find("tr").index(l),n=t.cellIndex,o=a.config.cache[c].normalized[i].length-1,a.config.cache[c].row[a.config.cache[c].normalized[i][o]]=l,a.config.cache[c].normalized[i][n]=f.parsers[n].format(m(a,t,n),a,t,n),x(u,r,s))}).bind("addRows",function(e,t,r,s){var o,i=t.filter("tr").length,n=[],a=t[0].cells.length,d=C(this).find("tbody").index(t.closest("tbody"));for(f.parsers||(f.parsers=l(this)),o=0;o<i;o++){for(c=0;c<a;c++)n[c]=f.parsers[c].format(m(this,t[o].cells[c],c),this,t[o].cells[c],c);n.push(f.cache[d].row.length),f.cache[d].row.push([t[o]]),f.cache[d].normalized.push(n),n=[]}x(u,r,s)}).bind("sorton",function(e,t,r,s){var o,i,n,a,d,c;C(this).trigger("sortStart",this),o=t,d=this.config,c=o||d.sortList,d.sortList=[],C.each(c,function(e,t){i=[parseInt(t[0],10),parseInt(t[1],10)],(a=d.headerList[i[0]])&&(d.sortList.push(i),n=C.inArray(i[1],a.order),a.count=0<=n?n:i[1]%(d.sortReset?3:2))}),y(this),v(this),p(this,s),"function"==typeof r&&r(this)}).bind("appendCache",function(e,t,r){p(this,r),"function"==typeof t&&t(this)}).bind("applyWidgetId",function(e,t){b.getWidgetById(t).format(this,f,f.widgetOptions)}).bind("applyWidgets",function(e,t){b.applyWidget(this,t)}).bind("refreshWidgets",function(e,t,r){b.refreshWidgets(this,t,r)}).bind("destroy",function(e,t,r){b.destroy(this,t,r)}),f.supportsDataObject&&void 0!==u.data().sortlist?f.sortList=u.data().sortlist:e&&u.metadata()&&u.metadata().sortlist&&(f.sortList=u.metadata().sortlist),b.applyWidget(this,!0),0<f.sortList.length?u.trigger("sorton",[f.sortList,{},!f.initWidgets]):f.initWidgets&&b.applyWidget(this),function(e){if(e.config.widthFixed&&0===C(e).find("colgroup").length){var t=C("<colgroup>"),r=C(e).width();C("tr:first td",e.tBodies[0]).each(function(){t.append(C("<col>").css("width",parseInt(C(this).width()/r*1e3,10)/10+"%"))}),C(e).prepend(t)}}(this),f.showProcessing&&u.unbind("sortBegin sortEnd").bind("sortBegin sortEnd",function(e){b.isProcessing(u[0],"sortBegin"===e.type)}),this.hasInitialized=!0,f.debug&&b.benchmark("Overall initialization time",C.data(this,"startoveralltimer")),u.trigger("tablesorter-initialized",this),"function"==typeof f.initialized&&f.initialized(this)})},b.isProcessing=function(e,t,r){var s=e.config,o=r||C(e).find("."+s.cssHeader);t?(0<s.sortList.length&&(o=o.filter(function(){return!this.sortDisabled&&b.isValueInArray(parseFloat(C(this).attr("data-column")),s.sortList)})),o.addClass(s.cssProcessing)):o.removeClass(s.cssProcessing)},b.processTbody=function(e,t,r){var s;if(r)return t.before('<span class="tablesorter-savemyplace"/>'),s=C.fn.detach?t.detach():t.remove();s=C(e).find("span.tablesorter-savemyplace"),t.insertAfter(s),s.remove()},b.clearTableBody=function(e){C(e.tBodies).filter(":not(."+e.config.cssInfoBlock+")").empty()},b.destroy=function(e,t,r){var s=C(e),o=e.config,i=s.find("thead:first");e.hasInitialized=!1,i.find("tr:not(."+o.cssHeaderRow+")").remove(),i.find(".tablesorter-resizer").remove(),b.refreshWidgets(e,!0,!0),s.removeData("tablesorter").unbind("sortReset update updateCell addRows sorton appendCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave").find("."+o.cssHeader).unbind("click mousedown mousemove mouseup").removeClass(o.cssHeader+" "+o.cssAsc+" "+o.cssDesc).find(".tablesorter-header-inner").each(function(){""!==o.cssIcon&&C(this).find("."+o.cssIcon).remove(),C(this).replaceWith(C(this).contents())}),!1!==t&&s.removeClass(o.tableClass),"function"==typeof r&&r(e)},b.regex=[/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi,/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,/^0x[0-9a-f]+$/i],b.sortText=function(e,t,r,s){if(t===r)return 0;var o,i,n,a,d,c,l,f,u=e.config,h=u.string[u.empties[s]||u.emptyTo],p=b.regex;if(""===t&&0!==h)return"boolean"==typeof h?h?-1:1:-h||-1;if(""===r&&0!==h)return"boolean"==typeof h?h?1:-1:h||1;if("function"==typeof u.textSorter)return u.textSorter(t,r,e,s);if(o=t.replace(p[0],"\\0$1\\0").replace(/\\0$/,"").replace(/^\\0/,"").split("\\0"),n=r.replace(p[0],"\\0$1\\0").replace(/\\0$/,"").replace(/^\\0/,"").split("\\0"),i=parseInt(t.match(p[2]),16)||1!==o.length&&t.match(p[1])&&Date.parse(t),a=parseInt(r.match(p[2]),16)||i&&r.match(p[1])&&Date.parse(r)||null){if(i<a)return-1;if(a<i)return 1}for(f=Math.max(o.length,n.length),l=0;l<f;l++){if(d=isNaN(o[l])?o[l]||0:parseFloat(o[l])||0,c=isNaN(n[l])?n[l]||0:parseFloat(n[l])||0,isNaN(d)!==isNaN(c))return isNaN(d)?1:-1;if(typeof d!=typeof c&&(d+="",c+=""),d<c)return-1;if(c<d)return 1}return 0},b.sortTextDesc=function(e,t,r,s){if(t===r)return 0;var o=e.config,i=o.string[o.empties[s]||o.emptyTo];return""===t&&0!==i?"boolean"==typeof i?i?-1:1:i||1:""===r&&0!==i?"boolean"==typeof i?i?1:-1:-i||-1:"function"==typeof o.textSorter?o.textSorter(r,t,e,s):b.sortText(e,r,t)},b.getTextValue=function(e,t,r){if(t){var s,o=e.length,i=t+r;for(s=0;s<o;s++)i+=e.charCodeAt(s);return r*i}return 0},b.sortNumeric=function(e,t,r,s,o,i){if(t===r)return 0;var n=e.config,a=n.string[n.empties[s]||n.emptyTo];return""===t&&0!==a?"boolean"==typeof a?a?-1:1:-a||-1:""===r&&0!==a?"boolean"==typeof a?a?1:-1:a||1:(isNaN(t)&&(t=b.getTextValue(t,o,i)),isNaN(r)&&(r=b.getTextValue(r,o,i)),t-r)},b.sortNumericDesc=function(e,t,r,s,o,i){if(t===r)return 0;var n=e.config,a=n.string[n.empties[s]||n.emptyTo];return""===t&&0!==a?"boolean"==typeof a?a?-1:1:a||1:""===r&&0!==a?"boolean"==typeof a?a?1:-1:-a||-1:(isNaN(t)&&(t=b.getTextValue(t,o,i)),isNaN(r)&&(r=b.getTextValue(r,o,i)),r-t)},b.characterEquivalents={a:"áàâãäąå",A:"ÁÀÂÃÄĄÅ",c:"çćč",C:"ÇĆČ",e:"éèêëěę",E:"ÉÈÊËĚĘ",i:"íìİîïı",I:"ÍÌİÎÏ",o:"óòôõö",O:"ÓÒÔÕÖ",ss:"ß",SS:"ẞ",u:"úùûüů",U:"ÚÙÛÜŮ"},b.replaceAccents=function(e){var t,r="[",s=b.characterEquivalents;if(!b.characterRegex){for(t in b.characterRegexArray={},s)"string"==typeof t&&(r+=s[t],b.characterRegexArray[t]=new RegExp("["+s[t]+"]","g"));b.characterRegex=new RegExp(r+"]")}if(b.characterRegex.test(e))for(t in s)"string"==typeof t&&(e=e.replace(b.characterRegexArray[t],t));return e},b.isValueInArray=function(e,t){var r,s=t.length;for(r=0;r<s;r++)if(t[r][0]===e)return!0;return!1},b.addParser=function(e){var t,r=b.parsers.length,s=!0;for(t=0;t<r;t++)b.parsers[t].id.toLowerCase()===e.id.toLowerCase()&&(s=!1);s&&b.parsers.push(e)},b.getParserById=function(e){var t,r=b.parsers.length;for(t=0;t<r;t++)if(b.parsers[t].id.toLowerCase()===e.toString().toLowerCase())return b.parsers[t];return!1},b.addWidget=function(e){b.widgets.push(e)},b.getWidgetById=function(e){var t,r,s=b.widgets.length;for(t=0;t<s;t++)if((r=b.widgets[t])&&r.hasOwnProperty("id")&&r.id.toLowerCase()===e.toLowerCase())return r},b.applyWidget=function(e,t){var r,s,o,i=e.config,n=i.widgetOptions,a=i.widgets.sort().reverse(),d=a.length;for(0<=(s=C.inArray("zebra",i.widgets))&&(i.widgets.splice(s,1),i.widgets.push("zebra")),i.debug&&(r=new Date),s=0;s<d;s++)(o=b.getWidgetById(a[s]))&&(!0===t&&o.hasOwnProperty("init")?o.init(e,o,i,n):!t&&o.hasOwnProperty("format")&&o.format(e,i,n));i.debug&&w("Completed "+(!0===t?"initializing":"applying")+" widgets",r)},b.refreshWidgets=function(e,t,r){var s,o=e.config,i=o.widgets,n=b.widgets,a=n.length;for(s=0;s<a;s++)n[s]&&n[s].id&&(t||C.inArray(n[s].id,i)<0)&&(o.debug&&g("Refeshing widgets: Removing "+n[s].id),n[s].hasOwnProperty("remove")&&n[s].remove(e,o,o.widgetOptions));!0!==r&&b.applyWidget(e,t)},b.getData=function(e,t,r){var s,o,i="",n=C(e);return n.length?(s=!!C.metadata&&n.metadata(),o=" "+(n.attr("class")||""),void 0!==n.data(r)||void 0!==n.data(r.toLowerCase())?i+=n.data(r)||n.data(r.toLowerCase()):s&&void 0!==s[r]?i+=s[r]:t&&void 0!==t[r]?i+=t[r]:" "!==o&&o.match(" "+r+"-")&&(i=o.match(new RegExp(" "+r+"-(\\w+)"))[1]||""),C.trim(i)):""},b.formatFloat=function(e,t){return"string"!=typeof e||""===e?e:(e=(t&&t.config?!1!==t.config.usNumberFormat:void 0===t||t)?e.replace(/,/g,""):e.replace(/[\s|\.]/g,"").replace(/,/g,"."),/^\s*\([.\d]+\)/.test(e)&&(e=e.replace(/^\s*\(/,"-").replace(/\)/,"")),r=parseFloat(e),isNaN(r)?C.trim(e):r);var r},b.isDigit=function(e){return!isNaN(e)||/^[\-+(]?\d+[)]?$/.test(e.toString().replace(/[,.'"\s]/g,""))}}});var f=C.tablesorter;C.fn.extend({tablesorter:f.construct}),f.addParser({id:"text",is:function(e,t,r){return!0},format:function(e,t,r,s){var o=t.config;return e=C.trim(o.ignoreCase?e.toLocaleLowerCase():e),o.sortLocaleCompare?f.replaceAccents(e):e},type:"text"}),f.addParser({id:"currency",is:function(e){return/^\(?\d+[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]|[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]\d+\)?$/.test(e)},format:function(e,t){return f.formatFloat(e.replace(/[^\w,. \-()]/g,""),t)},type:"numeric"}),f.addParser({id:"ipAddress",is:function(e){return/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test(e)},format:function(e,t){var r,s=e.split("."),o="",i=s.length;for(r=0;r<i;r++)o+=("00"+s[r]).slice(-3);return f.formatFloat(o,t)},type:"numeric"}),f.addParser({id:"url",is:function(e){return/^(https?|ftp|file):\/\//.test(e)},format:function(e){return C.trim(e.replace(/(https?|ftp|file):\/\//,""))},type:"text"}),f.addParser({id:"isoDate",is:function(e){return/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(e)},format:function(e,t){return f.formatFloat(""!==e&&new Date(e.replace(/-/g,"/")).getTime()||"",t)},type:"numeric"}),f.addParser({id:"percent",is:function(e){return/(\d\s?%|%\s?\d)/.test(e)},format:function(e,t){return f.formatFloat(e.replace(/%/g,""),t)},type:"numeric"}),f.addParser({id:"usLongDate",is:function(e){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(e)},format:function(e,t){return f.formatFloat(new Date(e.replace(/(\S)([AP]M)$/i,"$1 $2")).getTime()||"",t)},type:"numeric"}),f.addParser({id:"shortDate",is:function(e){return/^(\d{1,2}|\d{4})[\/\-\,\.\s+]\d{1,2}[\/\-\.\,\s+](\d{1,2}|\d{4})$/.test(e)},format:function(e,t,r,s){var o=t.config,i=o.headerList[s],n=i.shortDateFormat;return void 0===n&&(n=i.shortDateFormat=f.getData(i,o.headers[s],"dateFormat")||o.dateFormat),e=e.replace(/\s+/g," ").replace(/[\-|\.|\,]/g,"/"),"mmddyyyy"===n?e=e.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/,"$3/$1/$2"):"ddmmyyyy"===n?e=e.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/,"$3/$2/$1"):"yyyymmdd"===n&&(e=e.replace(/(\d{4})[\/\s](\d{1,2})[\/\s](\d{1,2})/,"$1/$2/$3")),f.formatFloat(new Date(e).getTime()||"",t)},type:"numeric"}),f.addParser({id:"time",is:function(e){return/^(([0-2]?\d:[0-5]\d)|([0-1]?\d:[0-5]\d\s?([AP]M)))$/i.test(e)},format:function(e,t){return f.formatFloat(new Date("2000/01/01 "+e.replace(/(\S)([AP]M)$/i,"$1 $2")).getTime()||"",t)},type:"numeric"}),f.addParser({id:"digit",is:function(e){return f.isDigit(e)},format:function(e,t){return f.formatFloat(e.replace(/[^\w,. \-()]/g,""),t)},type:"numeric"}),f.addParser({id:"metadata",is:function(e){return!1},format:function(e,t,r){var s=t.config,o=s.parserMetadataName?s.parserMetadataName:"sortValue";return C(r).metadata()[o]},type:"numeric"}),f.addWidget({id:"zebra",format:function(e,t,r){var s,o,i,n,a,d,c=new RegExp(t.cssChildRow,"i"),l=C(e).children("tbody:not(."+t.cssInfoBlock+")");for(t.debug&&(a=new Date),d=0;d<l.length;d++)1<(s=C(l[d])).children("tr").length&&(i=0,s.children("tr:visible").each(function(){o=C(this),c.test(this.className)||i++,n=i%2==0,o.removeClass(r.zebra[n?1:0]).addClass(r.zebra[n?0:1])}));t.debug&&f.benchmark("Applying Zebra widget",a)},remove:function(e,t,r){var s,o,i=C(e).children("tbody:not(."+t.cssInfoBlock+")"),n=(t.widgetOptions.zebra||["even","odd"]).join(" ");for(s=0;s<i.length;s++)(o=C.tablesorter.processTbody(e,C(i[s]),!0)).children().removeClass(n),C.tablesorter.processTbody(e,o,!1)}})}(jQuery);