var $=function(A){return"string"==typeof A?document.getElementById(A):A};var Class={create:function(){return function(){this.initialize.apply(this,arguments)}}};Object.extend=function(A,C){for(var B in C){A[B]=C[B]}return A};var Calendar=Class.create();Calendar.prototype={initialize:function(A,B){this.Container=$(A);this.Days=[];this.SetOptions(B);this.Year=this.options.Year;this.Month=this.options.Month;this.SelectDay=this.options.SelectDay?new Date(this.options.SelectDay):null;this.onSelectDay=this.options.onSelectDay;this.onToday=this.options.onToday;this.onFinish=this.options.onFinish;this.Draw()},SetOptions:function(A){this.options={Year:new Date().getFullYear(),Month:new Date().getMonth()+1,SelectDay:null,onSelectDay:function(){},onToday:function(){},onFinish:function(){}};Object.extend(this.options,A||{})},PreMonth:function(){var A=new Date(this.Year,this.Month-2,1);this.Year=A.getFullYear();this.Month=A.getMonth()+1;this.Draw()},NextMonth:function(){var A=new Date(this.Year,this.Month,1);this.Year=A.getFullYear();this.Month=A.getMonth()+1;this.Draw()},Draw:function(){var F=[];for(var A=1,B=new Date(this.Year,this.Month-1,1).getDay();A<=B;A++){F.push(" ")}for(var A=1,H=new Date(this.Year,this.Month,0).getDate();A<=H;A++){F.push(A)}var E=document.createDocumentFragment();this.Days=[];while(F.length>0){var I=document.createElement("tr");for(var A=1;A<=7;A++){var G=document.createElement("td");G.innerHTML=" ";if(F.length>0){var D=F.shift();var C=this.Year+"-"+this.Month+"-"+D;G.innerHTML='<a href="/search/index.aspx?sdate='+C+"&edate="+C+'" target="_blank">'+D+"</a>";if(D>0){this.Days[D]=G;if(this.IsSame(new Date(this.Year,this.Month-1,D),new Date())){this.onToday(G)}if(this.SelectDay&&this.IsSame(new Date(this.Year,this.Month-1,D),this.SelectDay)){this.onSelectDay(G)}}}I.appendChild(G)}E.appendChild(I)}while(this.Container.hasChildNodes()){this.Container.removeChild(this.Container.firstChild)}this.Container.appendChild(E);this.onFinish()},IsSame:function(B,A){return(B.getFullYear()==A.getFullYear()&&B.getMonth()==A.getMonth()&&B.getDate()==A.getDate())}};
