/**
 * ScrollTableHeader table headers intelligently scroll along with the page
 * @author Rokas Šleinius - raveren@gmail.com
 * @version 1.03
 * http://code.google.com/p/js-scroll-table-header/
 */
function ScrollTableHeader(){function o(){window.clearTimeout(i._sthTimer);i._sthTimer=window.setTimeout(p,i.delayAfterScroll)}function p(){var a,b,d,e,f,c,g;a=typeof window.pageYOffset=="number"?window.pageYOffset:document.body&&document.body.scrollTop?document.body.scrollTop:document.documentElement&&document.documentElement.scrollTop?document.documentElement.scrollTop:0;b=l.length;for(g=0;g<b;g++){d=l[g];if(a>d.topY&&a<d.bottomY){f=d.trs;e=f.length;for(c=0;c<e;c++)if(f[c].sthTop>a){e=f[c+1];c= d.tbody;c.insertBefore(c.removeChild(f[0]),e);c.sthHeaderMoved=true;break}}else if(d.tbody.sthHeaderMoved===true){c=d.tbody;c.insertBefore(c.removeChild(d.trs[0]),d.trs[1]);c.sthHeaderMoved=false}}}function m(a){for(var b=a.offsetTop;a.offsetParent!==null;){a=a.offsetParent;b+=a.offsetTop;a=a}return b}function n(a,b,d){a.addEventListener?a.addEventListener(b,d,null):a.attachEvent("on"+b,d)}var l=[],h=[],i=this;this.minTableRows=4;this.delayAfterScroll=0;this.addTbody=function(a){h.push(a);return this}; this.addTbodies=function(){if(arguments.length===1)if(arguments[0].constructor===Array)h=h.concat(arguments[0]);else if(arguments[0].constructor===Object)for(var a=arguments[0].length,b=0;b<a;b++)h.push(arguments[0][b]);else h=h.concat(arguments[0].split(","));else{a=arguments.length;for(b=0;b<a;b++)h.push(arguments[b])}return this};arguments.length>0&&this.addTbodies(arguments);n(window,"load",function(){var a,b,d,e,f,c,g,j,k;d=h.length;for(j=0;j<d;j++){a={};b=[];k=document.getElementById(h[j]); k.sthHeaderMoved=false;e=k.getElementsByTagName("TR");f=e.length;if(!(f<i.minTableRows)){for(c=0;c<f;c++){g=e[c];g.sthTop=m(g);b.push(g)}a.trs=b;a.tbody=k;a.topY=m(e[0])+e[0].offsetHeight;a.bottomY=m(e[e.length-2]);l.push(a)}}this.delayAfterScroll===0?n(window,"scroll",p):n(window,"scroll",o);o()})};
