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";
	//alert(field);
	$('showCal_' + field).style.display='';	
}

var hideCal = function(type,args,obj) {	
	var f = currentDateField.substr(6, currentDateField.length);
	if($('sft_' + f)) {
		$('sft_' + f).className= 'searchFilter';
	}
	
}

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;
	}
	YAHOO.util.Dom.get(currentDateField ).value = theDate;
	
	if (YAHOO.util.Dom.get("resetButton_" + currentDateField )) {
		YAHOO.util.Dom.get("resetButton_" + currentDateField ).style.display = "inline";
	}
	
	if(typeof(selectedDateButton.attributes["hideonsel"]) != "undefined") {
		$('showCal_' + currentDateField).style.display='none';	
	}
	
	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);
	var f = currentDateField.substr(6, currentDateField.length);
	//alert(f);
	if(typeof(selectedDateButton.attributes["grid_f"]) != "undefined") {
		$('sft_' + f).className= 'searchFilter_selected';
	}
	
	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);
	YAHOO.actionTable.calendar.cal.hideEvent.subscribe(hideCal, 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);
