function Picker_OnSelectionChanged(picker)
{
  picker.AssociatedCalendar.SetSelectedDate(picker.GetSelectedDate()); 
}
function Calendar_OnSelectionChanged(calendar)
{
  calendar.AssociatedPicker.SetSelectedDate(calendar.GetSelectedDate());
}
function Button_OnClick(alignElement, calendar)
{
  if (calendar.PopUpObjectShowing)
  {
    calendar.Hide();
  }
  else
  {
	//if the picker is showing 1/1/1900, set the calendar to today
	if(calendar.AssociatedPicker.GetSelectedDate().valueOf()==new Date(1900,0,1).valueOf())
	{
		calendar.SetSelectedDate(new Date());
	}
	else
		calendar.SetSelectedDate(calendar.AssociatedPicker.GetSelectedDate());
    
    calendar.Show(alignElement);
  }
}
function Button_OnMouseUp(calendar)
{
  if (calendar.PopUpObjectShowing)
  {
    event.cancelBubble=true;
    event.returnValue=false;
    return false;
  }
  else
  {
    return true;
  }
}

function TodayClick(calendar)
{
	calendar.SetSelectedDate(new Date());
	calendar.AssociatedPicker.SetSelectedDate(new Date());

}

function clearDate(calendar,picker,timeid)
{
//picker.SelectedDates.Clear();
//calendar.SelectedDates.Clear();
//return; 
calendar.SetSelectedDate(new Date(1900,0,1));
picker.SetSelectedDate(new Date(1900,0,1));
var h=getobject(timeid + "_hour");
if(h)
	h.selectedIndex=0;

var m=getobject(timeid + "_minute");
if(m)
	m.selectedIndex=0;;
} 



function cv_client_validate(source, arguments)
{

//alert(getobject(source.CalendarObjectID) + ".GetSelectedDate()");
	//alert(eval(source.CalendarObjectID + ".GetSelectedDate()"));
	//alert();
	arguments.IsValid=true;
	return;
	//alert(source.MinDate);
	
	var dSel,dMin,dMax,bResult
	dSel=eval(source.CalendarObjectID + ".GetSelectedDate()");
	alert(dSel);
	dMin=new Date(source.MinDate);
	dMax=new Date(source.MaxDate);
	//alert(dMin)
	//alert(dMin < dSel);
	bResult=(dMax > dSel) && (dMin < dSel);
	//alert(bResult);
	
	arguments.IsValid=bResult


}

