// JavaScript Document
function DateInputFieldHandler(aCalendar, anDateId, aNaviHandler)
{
  this.inputId=anDateId;  
  this.calendar = aCalendar;
  this.calendar.addListener(this);
  this.naviHandler=aNaviHandler;
  this.setInputDateTextFieldId(anDateId);
  this.oldDate;
  this.firstTime = true;
}


DateInputFieldHandler.prototype.setInputDateTextFieldId=function(id)
{
	var theHandler = this;
	if (this.getInputTextField())
	{
    this.getInputTextField().onkeyup=function() 
  	{
  		theHandler.updateByTextFieldInput();
    }	 
  }
}

DateInputFieldHandler.prototype.getInputTextField=function()
{
  if (this.inputTextField == null)
  {
	 this.inputTextField = document.getElementById(this.inputId);  
	}
	return this.inputTextField;
}

DateInputFieldHandler.prototype.updateByTextFieldInput=function() 
{
	if (this.getInputTextField() != null) 
	{		
		var tempDate = formatString2Date(this.getInputTextField().value);
		if (tempDate != null
			&& this.getInputTextField().value != this.oldDate) 
		{		
			this.oldDate = this.getInputTextField().value;	
			if (this.firstTime == false) {
				this.calendar.selectDate(tempDate);
			}
			this.firstTime = false;
		}		
	}
}

DateInputFieldHandler.prototype.dateSelected=function(aCalEvent)
{
  	var theDate = aCalEvent.date;
	this.getInputTextField().value = formatDate2String(theDate);	
}