
		function Calendar_OnInit()
			{
				TraceEvent("OnInit");
			};
			
			function Calendar_OnLoad()
			{
				TraceEvent("OnLoad");
			};
			
			function Calendar_OnCallbackBegin()
			{
				return TraceEvent("OnCallbackBegin", "Proceed event?");
			};
			
			function Calendar_OnCallbackEnd()
			{
				TraceEvent("OnCallbackEnd");
			};
				
			function Calendar_OnDateSelecting(renderDay, toSelect)
			{    
				// return false to cancel the selection 
				return TraceEvent("OnDateSelecting: " + renderDay.Date, (toSelect ? "Select" : "Unselect") + " " + renderDay.Date + "?");
			};
		    
			function Calendar_OnDateSelected(renderDay)
			{
				TraceEvent("OnDateSelected: " + renderDay.Date + " " + (renderDay.IsSelected ? "selected" : "unselected"));
			};
		    
			function Calendar_OnDateClick(renderDay)
			{
				//alert(renderDay);
				// return false to cancel AutoPostBackOnDayClick - if any;
				return TraceEvent("OnDateClick: " + renderDay.Date, "Postback?");
				
				//window.location.href="calender.aspx?date="+renderDay.Date;
				//alert("sadasd");
			};
		    
			function Calendar_OnCalendarViewChanging(step)
			{
				// return false to cancel
				return TraceEvent("OnCalendarViewChanging: " + step, "Proceed?");
			};
		    
			function Calendar_OnCalendarViewChanged(step)
			{
				TraceEvent("OnCalendarViewChanged: " + step);
			};
			
			var output;
			function TraceEvent(eventName
				, confirmMessage)
			{
				if (!output)
				{
					output = document.getElementById("output");
				}
				
				if (output)
				{
					var now = new Date();
					var str = "[" + now.toLocaleTimeString() + "]&nbsp;" 
								+ eventName;
								
					var retValue;
					if (confirmMessage)
					{
						retValue = "";
						str += (retValue ? "" : "&nbsp;-&nbsp;canceled");
					}
					
					//output.innerHTML = output.innerHTML + (output.innerHTML ? "<br />" : "") + str;
					//output.scrollTop = 10000000;
					
					if (retValue != null)
						return retValue;
				}
			}	
		
