//Copyright timeanddate.com 2005-2009, do not use without permission

hol_c=[];obstabStarty="";function tab_sortf(a,b){var s=s_col,c=a[s],d=b[s];while(c==d&&s>0){s--;c=a[s];d=b[s];}
if(c>d){return-s_dir;}
if(c<d){return s_dir;}
return 0;}
function Tab(n,cs,scs,is,rf){this.n=n;this.cs=cs;this.scs=scs;this.is=is;this.rf=rf;this.isa=1;this.td=[];this.loaded=0;this.th=gtp(n,"THEAD");var trow=this.th.getElementsByTagName("TR");this.thr=trow[0];this.tb=gtp(n,"TBODY");this.resetIcons();}
Tab.prototype.resetIcons=function(){var c,a,scs=this.scs;for(c in scs){a=(c==this.is)?this.isa:0;this.setColIc(c,a);}}
Tab.prototype.setColIc=function(c,a){var na=(a%2)+1,cc=this.thr.cells[c],txt=cc.innerHTML;txt=txt.replace(/<a.*/i,"");txt+=" <a href=\"#\" onclick=\""+this.n+"Obj.selCol("+c+","+na+");return false\" title='Sort on this column'><img src='/gfx/sort-"+a+".png' width='9' height='11' border='0'></a>";cc.innerHTML=txt;}
Tab.prototype.selCol=function(c,a){this.is=c;this.isa=a;this.resetIcons();if(this.loaded){this.sort();this.update();}
else{this.rf();}}
Tab.prototype.set=function(d){this.loaded=1
this.td=d;this.sort();this.update();}
Tab.prototype.sort=function(){var r,s,d=this.td,l=d.length;if(l>1){r=d[0];s=this.is+this.cs;if(s>=r.length){s=this.is;}
s_col=s;s_dir=(this.isa==1)?-1:1;d.sort(tab_sortf);}}
Tab.prototype.update=function(){var tbod=this.tb;if(!tbod){return;}
var trow,nd,nt,o,tab=this.td;trow=tbod.getElementsByTagName("TR");var d=document,i,c,r,rs=trow.length,ts=tab.length,cols=this.cs;for(i=0;i<ts;i++){r=tab[i];o=trow[i];if(o){for(c=0;c<cols;c++){o.cells[c].innerHTML=r[c];}}else{nt=d.createElement("TR");cl=(i%2)?"c1":"c0";nt.setAttribute("class",cl);nt.setAttribute("className",cl);for(c=0;c<cols;c++){nd=d.createElement("TD");nd.innerHTML=r[c];nt.appendChild(nd);}
tbod.appendChild(nt);}}
for(i=rs-1;i>=ts;i--){tbod.deleteRow(i);}}
function gtp(divid,e){var te,t=gf(divid);if(t&&(te=t.getElementsByTagName(e))){return te[0];}}
function hol_orsc(){var o=holobj;if(o&&o.readyState==4){if(o.status==200){var tb=null;var r=o.responseText;if(r){try{eval(r);}catch(e){hol_sub();return;}
hol_c[obstabStarty]=tb;if(tb){obstabObj.set(tb);return 1;}}}
holobj=null;}}
function hol_sub(){document.f.submit();}
function obstabNewY(){obstabStarty=document.f.starty.value;return obstabRet();}
function obstabRet(){if(holobj=gx()){var co=hol_c[obstabStarty];if(co){obstabObj.set(co);return false;}else if(gp(holobj,"/holidays/retrieve-holidays.php?holiday="+obstabName+"&starty="+obstabStarty,hol_orsc)){return false;}}}
function obstab_init(){try{if(obstabCols&&obstabRet){obstabObj=new Tab("obstab",obstabCols,[0,1,2],2,obstabRet);}}catch(e){}}