/*! Filter widget formatter functions - updated 10/30/2013 * requires: tableSorter 2.7.7+ and jQuery 1.4.3+ * jQuery UI spinner, silder, range slider & datepicker (range) * HTML5 number (spinner), range slider & color selector */ !function(a){"use strict";a.tablesorter=a.tablesorter||{},a.tablesorter.filterFormatter={uiSpinner:function(b,c,d){var e=a.extend({min:0,max:100,step:1,value:1,delayed:!0,addToggle:!0,disabled:!1,exactMatch:!0,compare:""},d),f=a('').appendTo(b).bind("change.tsfilter",function(){i({value:this.value,delayed:!1})}),g=[],h=b.closest("table")[0].config,i=function(c){var f,d=!0,h=c&&c.value&&a.tablesorter.formatFloat((c.value+"").replace(/[><=]/g,""))||b.find(".spinner").val()||e.value;e.addToggle&&(d=b.find(".toggle").is(":checked")),f=e.disabled||!d?"disable":"enable",b.find(".filter").val(d?(e.compare?e.compare:e.exactMatch?"=":"")+h:"").trigger("search",c&&"boolean"==typeof c.delayed?c.delayed:e.delayed).end().find(".spinner").spinner(f).val(h),g.length&&(g.find(".spinner").spinner(f).val(h),e.addToggle&&(g.find(".toggle")[0].checked=d))};return e.oldcreate=e.create,e.oldspin=e.spin,e.create=function(a,b){i(),"function"==typeof e.oldcreate&&e.oldcreate(a,b)},e.spin=function(a,b){i(b),"function"==typeof e.oldspin&&e.oldspin(a,b)},e.addToggle&&a('
').appendTo(b).find(".toggle").bind("change",function(){i()}),b.closest("thead").find("th[data-column="+c+"]").addClass("filter-parsed"),a('').val(e.value).appendTo(b).spinner(e).bind("change keyup",function(){i()}),h.$table.bind("stickyHeadersInit",function(){g=h.widgetOptions.$sticky.find(".tablesorter-filter-row").children().eq(c).empty(),e.addToggle&&a('
').appendTo(g).find(".toggle").bind("change",function(){b.find(".toggle")[0].checked=this.checked,i()}),a('').val(e.value).appendTo(g).spinner(e).bind("change keyup",function(){b.find(".spinner").val(this.value),i()})}),h.$table.bind("filterReset",function(){e.addToggle&&(b.find(".toggle")[0].checked=!1),i()}),i(),f},uiSlider:function(b,c,d){var e=a.extend({value:0,min:0,max:100,step:1,range:"min",delayed:!0,valueToHeader:!1,exactMatch:!0,compare:"",allText:"all"},d),f=a('').appendTo(b).bind("change.tsfilter",function(){i({value:this.value})}),g=[],h=b.closest("table")[0].config,i=function(d){var f="undefined"!=typeof d?a.tablesorter.formatFloat((d.value+"").replace(/[><=]/g,""))||e.min:e.value,h=e.compare?f:f===e.min?e.allText:f,i=e.compare+h;e.valueToHeader?b.closest("thead").find("th[data-column="+c+"]").find(".curvalue").html(" ("+i+")"):b.find(".ui-slider-handle").addClass("value-popup").attr("data-value",i),b.find(".filter").val(e.compare?e.compare+f:f===e.min?"":(e.exactMatch?"=":"")+f).trigger("search",d&&"boolean"==typeof d.delayed?d.delayed:e.delayed).end().find(".slider").slider("value",f),g.length&&(g.find(".slider").slider("value",f),e.valueToHeader?g.closest("thead").find("th[data-column="+c+"]").find(".curvalue").html(" ("+i+")"):g.find(".ui-slider-handle").addClass("value-popup").attr("data-value",i))};return b.closest("thead").find("th[data-column="+c+"]").addClass("filter-parsed"),e.valueToHeader&&b.closest("thead").find("th[data-column="+c+"]").find(".tablesorter-header-inner").append(''),e.oldcreate=e.create,e.oldslide=e.slide,e.create=function(a,b){i(),"function"==typeof e.oldcreate&&e.oldcreate(a,b)},e.slide=function(a,b){i(b),"function"==typeof e.oldslide&&e.oldslide(a,b)},a('
').appendTo(b).slider(e),h.$table.bind("filterReset",function(){b.find(".slider").slider("value",e.value),i()}),h.$table.bind("stickyHeadersInit",function(){g=h.widgetOptions.$sticky.find(".tablesorter-filter-row").children().eq(c).empty(),a('
').val(e.value).appendTo(g).slider(e).bind("change keyup",function(){b.find(".slider").val(this.value),i()})}),f},uiRange:function(b,c,d){var e=a.extend({values:[0,100],min:0,max:100,range:!0,delayed:!0,valueToHeader:!1},d),f=a('').appendTo(b).bind("change.tsfilter",function(){var a=this.value.split(" - ");""===this.value&&(a=[e.min,e.max]),a&&a[1]&&i({values:a,delay:!1})}),g=[],h=b.closest("table")[0].config,i=function(a){var d=a&&a.values||e.values,f=d[0]+" - "+d[1],h=d[0]===e.min&&d[1]===e.max?"":f;e.valueToHeader?b.closest("thead").find("th[data-column="+c+"]").find(".currange").html(" ("+f+")"):b.find(".ui-slider-handle").addClass("value-popup").eq(0).attr("data-value",d[0]).end().eq(1).attr("data-value",d[1]),b.find(".filter").val(h).trigger("search",a&&"boolean"==typeof a.delayed?a.delayed:e.delayed).end().find(".range").slider("values",d),g.length&&(g.find(".range").slider("values",d),e.valueToHeader?g.closest("thead").find("th[data-column="+c+"]").find(".currange").html(" ("+f+")"):g.find(".ui-slider-handle").addClass("value-popup").eq(0).attr("data-value",d[0]).end().eq(1).attr("data-value",d[1]))};return b.closest("thead").find("th[data-column="+c+"]").addClass("filter-parsed"),e.valueToHeader&&b.closest("thead").find("th[data-column="+c+"]").find(".tablesorter-header-inner").append(''),e.oldcreate=e.create,e.oldslide=e.slide,e.create=function(a,b){i(),"function"==typeof e.oldcreate&&e.oldcreate(a,b)},e.slide=function(a,b){i(b),"function"==typeof e.oldslide&&e.oldslide(a,b)},a('
').appendTo(b).slider(e),h.$table.bind("filterReset",function(){b.find(".range").slider("values",e.values),i()}),h.$table.bind("stickyHeadersInit",function(){g=h.widgetOptions.$sticky.find(".tablesorter-filter-row").children().eq(c).empty(),a('
').val(e.value).appendTo(g).slider(e).bind("change keyup",function(){b.find(".range").val(this.value),i()})}),f},uiDateCompare:function(b,c,d){var h,i,e=a.extend({defaultDate:"",cellText:"",changeMonth:!0,changeYear:!0,numberOfMonths:1,compare:"",compareOptions:!1},d),f=b.closest("thead").find("th[data-column="+c+"]"),g=a('').appendTo(b).bind("change.tsfilter",function(){var a=this.value;a&&e.onClose(a)}),j=[],k=b.closest("table")[0].config,l=function(a){var c=new Date(b.find(".date").datepicker("getDate")).getTime();b.find(".compare").val(a),b.find(".dateCompare").val(a+c).trigger("search",e.delayed).end(),j.length&&j.find(".compare").val(a)};if(f.addClass("filter-parsed"),e.compareOptions){i='",b.append(i).find(".compare").bind("change",function(){l(a(this).val())})}else e.cellText&&(i="",b.append(i));return h='',a(h).appendTo(b),e.oldonClose=e.onClose,e.onClose=function(a,c){var d=new Date(b.find(".date").datepicker("getDate")).getTime()||"",f=b.find(".compare").val()||e.compare;b.find(".dateCompare").val(f+d).trigger("search").end().find(".date").datepicker("setDate",a),j.length&&j.find(".date").datepicker("setDate",a),"function"==typeof e.oldonClose&&e.oldonClose(a,c)},b.find(".date").datepicker(e),e.filterDate&&b.find(".date").datepicker("setDate",e.filterDate),k.$table.bind("filterReset",function(){b.find(".date").val("").datepicker("option","currentText",""),j.length&&j.find(".date").val("").datepicker("option","currentText","")}),k.$table.bind("stickyHeadersInit",function(){j=k.widgetOptions.$sticky.find(".tablesorter-filter-row").children().eq(c).empty(),e.compareOptions?j.append(i).find(".compare").bind("change",function(){l(a(this).val())}):e.cellText&&j.append(i),j.append(h).find(".date").datepicker(e)}),g.val(e.defaultDate?e.defaultDate:"")},uiDatepicker:function(b,c,d){var f,g,h,e=a.extend({from:"",to:"",textFrom:"from",textTo:"to",changeMonth:!0,changeYear:!0,numberOfMonths:1},d),i=[],j=a('').appendTo(b).bind("change.tsfilter",function(){var a=this.value;a.match(" - ")?(a=a.split(" - "),b.find(".dateTo").val(a[1]),h(a[0])):a.match(">=")?h(a.replace(">=","")):a.match("<=")&&g(a.replace("<=",""))}),k=b.closest("table")[0].config;b.closest("thead").find("th[data-column="+c+"]").addClass("filter-parsed"),f="',a(f).appendTo(b),e.oldonClose=e.onClose;var l=e.defaultDate=e.from||e.defaultDate;return h=e.onClose=function(a,c){var d=new Date(b.find(".dateFrom").datepicker("getDate")).getTime()||"",f=new Date(b.find(".dateTo").datepicker("getDate")).getTime()||"",g=d?f?d+" - "+f:">="+d:f?"<="+f:"";b.find(".dateRange").val(g).trigger("search").end().find(".dateTo").datepicker("option","minDate",a).end().find(".dateFrom").val(a),i.length&&i.find(".dateTo").datepicker("option","minDate",a).end().find(".dateFrom").val(a),"function"==typeof e.oldonClose&&e.oldonClose(a,c)},b.find(".dateFrom").datepicker(e),e.defaultDate=e.to||"+7d",g=e.onClose=function(a,c){var d=new Date(b.find(".dateFrom").datepicker("getDate")).getTime()||"",f=new Date(b.find(".dateTo").datepicker("getDate")).getTime()||"",g=d?f?d+" - "+f:">="+d:f?"<="+f:"";b.find(".dateRange").val(g).trigger("search").end().find(".dateFrom").datepicker("option","maxDate",a).end().find(".dateTo").val(a),i.length&&i.find(".dateFrom").datepicker("option","maxDate",a).end().find(".dateTo").val(a),"function"==typeof e.oldonClose&&e.oldonClose(a,c)},b.find(".dateTo").datepicker(e),k.$table.bind("stickyHeadersInit",function(){i=k.widgetOptions.$sticky.find(".tablesorter-filter-row").children().eq(c).empty(),i.append(f),e.onClose=g,i.find(".dateTo").datepicker(e),e.defaultDate=l,e.onClose=h,i.find(".dateFrom").datepicker(e)}),b.closest("table").bind("filterReset",function(){b.find(".dateFrom, .dateTo").val("").datepicker("option","currentText",""),i.length&&i.find(".dateFrom, .dateTo").val("").datepicker("option","currentText","")}),j.val(e.from?e.to?e.from+" - "+e.to:">="+e.from:e.to?"<="+e.to:"")},html5Number:function(b,c,d){var e,e,i,f=a.extend({value:0,min:0,max:100,step:1,delayed:!0,disabled:!1,addToggle:!0,exactMatch:!0,compare:"",compareOptions:!1,skipTest:!1},d),g=a('').appendTo(b),h=f.skipTest||"number"===g.attr("type")&&"test"!==g.val(),j=[],k=b.closest("table")[0].config,l=function(a){var c=b.find(".number").val();b.find(".compare").val(a),b.find("input[type=hidden]").val(a+c).trigger("search",f.delayed).end(),j.length&&j.find(".compare").val(a)},m=function(a,c){var d=f.addToggle?b.find(".toggle").is(":checked"):!0,e=b.find(".compare").val()||f.compare;b.find("input[type=hidden]").val(!f.addToggle||d?(f.compare?f.compare:f.exactMatch?"=":"")+a:"").val(!f.addToggle||d?e+a:"").trigger("search",c?c:f.delayed).end().find(".number").val(a),b.find(".number").length&&(b.find(".number")[0].disabled=f.disabled||!d),j.length&&(j.find(".number").val(a)[0].disabled=f.disabled||!d,f.addToggle&&(j.find(".toggle")[0].checked=d))};if(g.remove(),h&&(i=f.addToggle?'
':""),f.compareOptions){i='",b.append(i).find(".compare").bind("change",function(){l(a(this).val())})}else i&&b.append(i);return h&&(e='',b.append(e+'').find(".toggle, .number").bind("change",function(){m(b.find(".number").val())}).closest("thead").find("th[data-column="+c+"]").addClass("filter-parsed").closest("table").bind("filterReset",function(){f.addToggle&&(b.find(".toggle")[0].checked=!1,j.length&&(j.find(".toggle")[0].checked=!1)),m(b.find(".number").val())}),k.$table.bind("stickyHeadersInit",function(){j=k.widgetOptions.$sticky.find(".tablesorter-filter-row").children().eq(c).empty(),f.compareOptions?j.append(i).find(".compare").bind("change",function(){l(a(this).val())}):j.append(i),j.append(e).find(".toggle, .number").bind("change",function(){m(j.find(".number").val())}),m(b.find(".number").val())}),m(b.find(".number").val())),h?b.find('input[type="hidden"]'):a('')},html5Range:function(b,c,d){var f=a.extend({value:0,min:0,max:100,step:1,delayed:!0,valueToHeader:!0,exactMatch:!0,compare:"",allText:"all",skipTest:!1},d),g=a('').appendTo(b),h=f.skipTest||"range"===g.attr("type")&&"test"!==g.val(),i=[],j=b.closest("table")[0].config,k=function(a,d){a=(a+"").replace(/[<>=]/g,"")||f.min;var e=" ("+(f.compare?f.compare+a:a==f.min?f.allText:a)+")";b.find("input[type=hidden]").val(f.compare?f.compare+a:a==f.min?"":(f.exactMatch?"=":"")+a).trigger("search",d?d:f.delayed).end().find(".range").val(a),b.closest("thead").find("th[data-column="+c+"]").find(".curvalue").html(e),i.length&&(i.find(".range").val(a),i.closest("thead").find("th[data-column="+c+"]").find(".curvalue").html(e))};return g.remove(),h&&(b.html('').closest("thead").find("th[data-column="+c+"]").addClass("filter-parsed").find(".tablesorter-header-inner").append(''),b.find(".range").bind("change",function(){k(this.value)}),b.find("input[type=hidden]").bind("change.tsfilter",function(){var a=this.value;a!==this.lastValue&&(this.lastValue=f.compare?f.compare+a:a==f.min?"":(f.exactMatch?"=":"")+a,this.value=this.lastValue,k(a))}),j.$table.bind("stickyHeadersInit",function(){i=j.widgetOptions.$sticky.find(".tablesorter-filter-row").children().eq(c).empty(),i.html('').find(".range").bind("change",function(){k(i.find(".range").val())}),k(b.find(".range").val())}),b.closest("table").bind("filterReset",function(){k(f.value)}),k(b.find(".range").val())),h?b.find('input[type="hidden"]'):a('')},html5Color:function(b,c,d){var e,f=a.extend({value:"#000000",disabled:!1,addToggle:!0,exactMatch:!0,valueToHeader:!1,skipTest:!1},d),g=a('').appendTo(b),h=f.skipTest||"color"===g.attr("type")&&"test"!==g.val(),i=[],j=b.closest("table")[0].config,k=function(a){a=a||f.value;var d=!0,e=" ("+a+")";f.addToggle&&(d=b.find(".toggle").is(":checked")),b.find(".colorpicker").length&&(b.find(".colorpicker").val(a)[0].disabled=f.disabled||!d),b.find("input[type=hidden]").val(d?a+(f.exactMatch?"=":""):"").trigger("search"),f.valueToHeader?b.closest("thead").find("th[data-column="+c+"]").find(".curcolor").html(e):b.find(".currentColor").html(e),i.length&&(i.find(".colorpicker").val(a)[0].disabled=f.disabled||!d,f.addToggle&&(i.find(".toggle")[0].checked=d),f.valueToHeader?i.closest("thead").find("th[data-column="+c+"]").find(".curcolor").html(e):i.find(".currentColor").html(e))};return g.remove(),h&&(e='
',e+=f.addToggle?'
':"",e+='',e+=(f.valueToHeader?"":'(#000000)')+"
",b.html(e),f.valueToHeader&&b.closest("thead").find("th[data-column="+c+"]").find(".tablesorter-header-inner").append(''),b.find(".toggle, .colorpicker").bind("change",function(){k(b.find(".colorpicker").val())}),b.find("input[type=hidden]").bind("change.tsfilter",function(){k(this.value)}),b.closest("table").bind("filterReset",function(){b.find(".toggle")[0].checked=!1,k(b.find(".colorpicker").val())}),j.$table.bind("stickyHeadersInit",function(){i=j.widgetOptions.$sticky.find(".tablesorter-filter-row").children().eq(c),i.html(e).find(".toggle, .colorpicker").bind("change",function(){k(i.find(".colorpicker").val())}),k(i.find(".colorpicker").val())}),k(f.value)),h?b.find('input[type="hidden"]'):a('')}}}(jQuery);