if(!Array.indexOf){Array.prototype.indexOf=function(B){for(var A=0;A<this.length;
A++){if(this[A]==B){return A}}return -1}}if(!String.trim){String.prototype.trim=function(){return $.trim(this)
}}if(!String.removeWhiteSpace){String.prototype.removeWhiteSpace=function(){var C=" \t\n\r\f"+String.fromCharCode(160);
var A=new String();for(i=0;i<this.length&&A;i++){var B=this.charAt(i);if(C.indexOf(B)<0){A=A+B
}}return A}}if(!String.isEmptyOrWhiteSpace){String.prototype.isEmptyOrWhiteSpace=function(){var C=" \t\n\r\f"+String.fromCharCode(160);
var A=new String();for(i=0;i<this.length&&A;i++){var B=this.charAt(i);A=A&&C.indexOf(B)>=0
}return A}}(function(B){var C=function(K,Q,M){var N=K;var P=Q;var O=this;var H=[];
var L=0;var J=B('<div class="filterdropdown" />');var G=B('<div class="selection">&nbsp;</div>');
var F=B('<div class="values"></div>');var I=B("<ul>");J.append(G);J.append(F);F.append(I);
N.append(J);var E=N.parent().children().index(N)+1;this.name="XSColFilter:"+E;G.click(function(){I.toggle()
});var D=P.find("> tbody > tr td:nth-child("+E+")");D.each(function(){var R=B.trim(B(this).text());
if(H.indexOf(R)<0&&R.length>0){H.push(R)}});this.getColIndex=function(){return E};
this.hasSelection=function(){var R=this.getSelectedValue();return !R.isEmptyOrWhiteSpace()
};this.reset=function(){G.html("&nbsp;");G.removeClass("active");D.removeClass("active")
};this.hide=function(){I.hide()};this.getSelectedValue=function(){return B.trim(G.text())
};this.setSelectedValue=function(R){G.html(R);if(O.hasSelection()){G.addClass("active")
}else{G.removeClass("active")}};this.validate=function(R){var S=this.getSelectedValue();
if(S.length==0){return }var T=[];B(R).find("> td:nth-child("+E+")").each(function(){var U=B.trim(B(this).text());
if(T.indexOf(U)<0&&U.length>0){T.push(U)}});if(T.indexOf(S)<0){this.reset()}};this.refresh=function(){I.find("li").remove();
var R=[];P.find("> tbody > tr td:nth-child("+E+")").each(function(){var S=B.trim(B(this).text());
if(B(this).is(":visible")&&R.indexOf(S)<0&&S.length>0){R.push(S)}});I.append("<li>&nbsp;</li>");
for(L=0;L<H.length;L++){$li=B("<li>"+H[L]+"</li>");if(R.indexOf(H[L])>=0){$li.addClass("possible")
}I.append($li)}I.find("li").click(function(){var S=B(this).html();O.setSelectedValue(S);
I.hide();var T=Q.data("xstablefilter");T.searchWithKeywords(O)});if(O.hasSelection()){D.addClass("active")
}else{D.removeClass("active")}};if(M!=null&&H.indexOf(M)>=0){this.setSelectedValue(M)
}};var A=function(L,Q){var J=this;var O=B(L);var K=this;var F=B.extend({resetLabel:"Reset",alternatedRows:false,alternatedClassNameOdd:"",alternatedClassNameEven:"",queryStringFilter:false},Q);
O.data("xstablefilter",this);var N={};if(F.queryStringFilter){var D=document.URL;
var P=D.indexOf("?");this.Values=new Object();if(P>=0){D=D.substring(P+1);var E=D.split("&");
for(var I=0;I<E.length;I++){var G=E[I].split("=");G[0]=G[0].replace(/\+/g," ");G[1]=G[1].replace(/\+/g," ");
G[0]=decodeURIComponent(G[0]).removeWhiteSpace();G[1]=decodeURIComponent(G[1]);N[G[0]]=G[1]
}}}var M=new Array();var H=false;$trFilterRow=B("<tr class='filterrow'></tr>");O.find(">tbody>tr:first>th").each(function(){$th=B("<th></th>");
$trFilterRow.append($th);$th.addClass(B(this).attr("class"));if($th.hasClass("filterdropdown")){var S=B(this).text().removeWhiteSpace();
var R=N[S];var T=new C($th,O,R);T.refresh();H=H||T.hasSelection();$th.data("xstablecolumnfilter",T);
M.push(T)}else{if($th.hasClass("filterreset")){$th.append("<div>"+F.resetLabel+"</div>");
$th.bind("click",function(U){J.reset()})}}});O.find(">tbody").prepend($trFilterRow);
B(document).bind("click",function(U){var S=B(U.target);if(!S.parents().hasClass("filterdropdown")){for(var T=0,R=M.length;
T<R;T++){M[T].hide()}}});this.reset=function(){for(var S=0,R=M.length;S<R;S++){M[S].reset()
}this.searchWithKeywords()};this.searchWithKeywords=function(a){var U=[];var V=[];
for(var T=0,X=M.length;T<X;T++){M[T].hide();U.push(M[T].getColIndex());V.push(M[T].getSelectedValue())
}var W=0;O.find(">tbody>tr").each(function(d){if(d>1){var b=true;var c=String.fromCharCode(160);
for(T=0;T<U.length;T++){text=B.trim(B(this).find(">td:nth-child("+U[T]+")").text());
if(V[T]!=null&&!V[T].isEmptyOrWhiteSpace()&&text!=V[T]){b=false}}if(b===true){B(this).show();
W++}else{B(this).hide()}}});var S=O.find(">tbody > tr >td:visible");if(S.length==0){var R=new Array();
var Y=a.getColIndex();var Z=a.getSelectedValue();O.find("> tbody > tr").each(function(b){if(b>1){text=B.trim(B(this).find(">td:nth-child("+Y+")").text());
if(text==Z){R.push(this)}}});for(var T=0,X=M.length;T<X;T++){M[T].validate(R)}do{for(var T=M.length-1;
T>=0;T--){if(M[T]==a){continue}else{if(M[T].hasSelection()){M[T].reset();break}}}}while(this.searchWithKeywords(a)==0)
}if(F.alternatedRows){O.find(">tbody>tr:visible").each(function(b){if(b>1){if(b%2==0){B(this).removeClass().addClass(F.alternatedClassNameOdd)
}else{B(this).removeClass().addClass(F.alternatedClassNameEven)}}})}this.refreshFilters();
return W};this.refreshFilters=function(){for(var S=0,R=M.length;S<R;S++){M[S].refresh()
}};if(H){this.searchWithKeywords()}};B.fn.xstablefilter=function(D){return this.each(function(){var E=B(this);
if(E.data("xstablefilter")){return }var F=new A(this,D)})}})(jQuery);
