var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)

YAHOO.namespace("actionTable.calendar");

calendarListeners = new Array();
var calListenersCount = 0;
var currentDateField = "";

function resetDateField(field)
{
	if(YAHOO.util.Dom.get("text_"+ field )) {
		YAHOO.util.Dom.get("text_"+ field ).innerHTML = "";
	}
	YAHOO.util.Dom.get( field ).value = "";
	
	YAHOO.util.Dom.get("resetButton_" + field).style.display = "none";
}

var selectDate = function(type,args,obj) {
	var dates = args[0]; 
	var date = dates[0];
	var year = date[0], month = date[1], day = date[2];
	
	if(_DATE_FORMAT["0"]=="m")
		theDate = (month<10?"0":"") + month + "." + (day<10?"0":"") + day + "." + year;
	else 
		theDate = (day<10?"0":"") + day + "." + (month<10?"0":"") + month + "." + year;

	if(YAHOO.util.Dom.get("text_"+ currentDateField )) {
		YAHOO.util.Dom.get("text_"+ currentDateField ).innerHTML = theDate;
	}
	var d = YAHOO.util.Dom.get(currentDateField);
	d.value = theDate;
	if(d.onchange) d.onchange();

	
	if (YAHOO.util.Dom.get("resetButton_" + currentDateField )) {
		YAHOO.util.Dom.get("resetButton_" + currentDateField ).style.display = "inline";
	}
	YAHOO.actionTable.calendar.cal.hide();
};

var showCalendar = function(e,obj) {
	selectedDateButton = YAHOO.util.Event.getTarget(e, 1);
	currentDateField = selectedDateButton.id.substr(8, selectedDateButton.id.length);

	xy = YAHOO.util.Dom.getXY(selectedDateButton);
	xy[1] = xy[1] + 15;
	YAHOO.actionTable.calendar.cal.show();
	YAHOO.util.Dom.setXY(YAHOO.util.Dom.get("calContainer"), xy);
};

function initCal() {	
	YAHOO.actionTable.calendar.cal = new YAHOO.widget.Calendar("cal","calContainer", {
													title:"Select date:", close:true,
													LOCALE_MONTHS: "long",
													LOCALE_WEEKDAYS: "1char",
													START_WEEKDAY: 1,
													MULTI_SELECT: false} );

	YAHOO.actionTable.calendar.cal.cfg.setProperty("DATE_FIELD_DELIMITER", ".");

	YAHOO.actionTable.calendar.cal.cfg.setProperty("MDY_DAY_POSITION", 1);
	YAHOO.actionTable.calendar.cal.cfg.setProperty("MDY_MONTH_POSITION", 2);
	YAHOO.actionTable.calendar.cal.cfg.setProperty("MDY_YEAR_POSITION", 3);

	YAHOO.actionTable.calendar.cal.cfg.setProperty("MONTHS_SHORT",   _DATE_MONTHS_SHORT);
	YAHOO.actionTable.calendar.cal.cfg.setProperty("MONTHS_LONG",    _DATE_MONTHS_LONG);
	YAHOO.actionTable.calendar.cal.cfg.setProperty("WEEKDAYS_1CHAR", _DATE_WEEKDAYS_1CHAR);
	YAHOO.actionTable.calendar.cal.cfg.setProperty("WEEKDAYS_SHORT", _DATE_WEEKDAYS_SHORT);
	
	YAHOO.actionTable.calendar.cal.render();
	
	YAHOO.actionTable.calendar.cal.selectEvent.subscribe(selectDate, YAHOO.actionTable.calendar.cal, true);
	
	for(i=0;i<calendarListeners.length;i++)
		//YAHOO.util.Event.addListener(calendarListeners[i], "click", YAHOO.actionTable.calendar.cal.show, YAHOO.actionTable.calendar.cal, true);
		YAHOO.util.Event.addListener(calendarListeners[i], "click", showCalendar, YAHOO.util.Dom.get(calendarListeners[i]), true);
}


YAHOO.util.Event.addListener(window, "load", initCal);
