﻿(function(a){Function.prototype.later=function(){var a=this,b=Array.prototype.slice.call(arguments),c=b.shift(),d=b.shift();if(a._timeout_id)clearTimeout(a._timeout_id);if(c>0)a._timeout_id=setTimeout(function(){a.apply(d,b)},c)};Function.prototype.clear=function(){if(this._timeout_id){clearTimeout(this._timeout_id);this._timeout_id=0}};if(!String.prototype.trim)String.prototype.trim=function(){return this.replace(/^\s\s*/,"").replace(/\s\s*$/,"")};a.fn.extend({table:function(c,b){var l,q,y,t,o,k,n,r,i,m=c[0].slice(0,c[0].length),d=m.length,u=c.length-1,E=function(){return a(this).val()},B=b&&b.noscroll||0,x=b&&b.matches||[],g=b&&b.display||[],D=b&&b.maxshow||100,H=b&&b.frequency||0,h=[],z=[],w=[],I=0,G=1e3;for(var e=0;e<d;e++){z[e]={};h[e]=false}function j(p){var f=l.map(E).get(),j=p==-1||!o||o.join("")!=f.join(""),m=p==1;if(j){o=f;y=t=0;k=[];n=[];for(var a=0;a<d;a++)if(f[a].charAt(0)=="!"){n[a]=1;k[a]=new RegExp(f[a].substr(1).trim(),"i")}else{n[a]=0;k[a]=new RegExp(f[a].trim(),"i")}}if(j||m){var b=["<table><tbody>"];a:for(var h=t,i=0,e;e=c[h];h++){for(var a=0;a<d;a++){var r=x[a]?x[a](""+e[a]||"",k[a],f[a]):(""+e[a]||"").match(k[a]);if(n[a]?r:!r)continue a}b.push("<tr>");for(var a=0;a<1;a++)b.push("<td class='datecell'>",g[a]?g[a](e[a]||""):e[a]||"","</td>");for(var a=1;a<2;a++)b.push("<td class='subjectcell'>",g[a]?g[a](e[a]||""):e[a]||"","</td>");b.push("</tr>");b.push("<tr>");for(var a=d-1;a<d;a++)b.push("<td colspan=2 class='descriptioncell'>",g[a]?g[a](e[a]||""):e[a]||"","</td>");b.push("</tr>");y++;i++;if(i>=D)break}t=h;b.push("</tbody></table>");if(m)q.append(b.join(""));else q.html(b.join(""))}}function F(d){var f=a(d).attr("class"),b=a(d).parent().attr("class").match(/col(\d\d*)/)[1],e=h[b];c.sort(f.match(/desc/)?e?function(a,c){a=+a[b];c=+c[b];return a<c?1:a>c?-1:0}:function(a,c){a=a[b];c=c[b];return a<c?1:a>c?-1:0}:e?function(a,c){a=+a[b];c=+c[b];return a>c?1:a<c?-1:0}:function(a,c){a=a[b];c=c[b];return a>c?1:a<c?-1:0})}function s(d){i=a(d);var e=i.parent().attr("class"),b=+e.match(/col(\d\d*)/)[1],c=l.eq(b).offset(),f=l.eq(b).height();r.css({left:c.left+"px",top:c.top+f+2+"px"}).html(w[b]).show()}function p(){i=undefined;r.hide()}function A(g){for(var b=0;b<d;b++)m[b]=m[b].trim().replace(/\s/g,"_");var e=["<table><thead>"];for(var f=c[0],b=0,h=f.length;b<h;b++)e.push("<th class='",m[b]," col",b,"'>",f[b]," ",'<br/><input type="hidden"></input></th>');e.push("</thead></table>");l=a(e.join("")).appendTo(g).find("span.sort").click(function(){F(this);j(-1)}).css({cursor:"pointer"}).end().find("input").css("width","95%").keyup(function(a){s.clear();if(a.keyCode==40)s(this);else{p();j.later(200)}}).focus(function(){s.later(2e3,window,this)}).blur(function(){p.later(200)});c.shift();q=a("<div></div>").appendTo(g)}function C(d,e){var k=20,l=e?Infinity:200,i=e?u:u<5e3?u:5e3;f=z[d],vals=[];for(var a=0,j=0;j<l&&a<i;a++){var b=c[a][d];if(b){if(!isFinite(b))h[d]=-1;if(!f[b]){f[b]=1;vals.push(b);j++}else f[b]++}}vals.sort(function(a,b){a=f[a];b=f[b];return a<b?1:a>b?-1:0});for(var g=[],a=0,i=vals.length,m=f[vals[0]]||1;a<k&&a<i;a++){var n=Math.round(f[vals[a]]/m*100);g.push("<div>",vals[a],"</div>")}w[d]=g.join("");h[d]=h[d]==-1?false:true}var v=this.eq(0).html("").css("table-layout","fixed");A(v);for(var e=0;e<d;e++)C(e,true);j(-1);r=a("<div></div>").css({position:"absolute",border:"1px solid #ccc","background-color":"#fff",padding:"0 5px"}).appendTo(document.body).click(function(b){if(i){i.val(a(b.target).text());j()}p()}).hide();if(!B)a(window).scroll(function(){var a=window.pageYOffset||document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop||0,b=window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body.clientHeight||0;if(a+b+100>=v.offset().top+v.height())j(1)});return this}})})(jQuery)
