var calendar;

function showCalendar(form, field, field_month, field_day, field_year, dateFormat, fn) {
	var inputElemYear = document.forms[form][field_year];
	var inputXY = YAHOO.util.Dom.getXY(inputElemYear);
	inputXY[0] += inputElemYear.clientWidth + 10;
	calendar.field = document.forms[form][field];
	calendar.field_year = document.forms[form][field_year];
	calendar.field_month = document.forms[form][field_month];
	calendar.field_day = document.forms[form][field_day];
	calendar.dateFormat = dateFormat; 

	calendar.endFunc = fn;
	
	var date = new Date();

	if ( calendar.field_month.value == "" ) calendar.field_month.value = date.getMonth();
	

	date.setMonth(parseInt(calendar.field_month.value));
	date.setFullYear(parseInt(calendar.field_year.value));
	date.setDate(parseInt(calendar.field_day.value));
	calendar.setMonth(date.getMonth());
	calendar.setYear(date.getFullYear());
	calendar.origDate = date;
	calendar.select(date);
	calendar.render();
	calendar.show();
	YAHOO.util.Dom.setXY(calendar.oDomContainer, inputXY);
}

YAHOO.util.Event.addListener(window, "load", function() {
	var calendarContainerDiv = document.createElement("DIV");
	YAHOO.util.Dom.setStyle(calendarContainerDiv, "display", "none");
	YAHOO.util.Dom.setStyle(calendarContainerDiv, "position", "absolute");
	YAHOO.util.Dom.setStyle(calendarContainerDiv, "z-index", "100");
	document.body.appendChild(calendarContainerDiv);
	
	var calendarContainerId = YAHOO.util.Dom.generateId(calendarContainerDiv, "calendar");
	calendarContainerDiv.setAttribute("id", calendarContainerId);
	
	calendar = new YAHOO.widget.Calendar("cal", calendarContainerId, { title: "Choose a date:", close: true });
	calendar.render();
	
	calendar.selectEvent.subscribe( function() {
			var me = calendar;
			var selectedDate = me.getSelectedDates()[0];
			if (selectedDate.getFullYear() != me.origDate.getFullYear() 
					|| selectedDate.getMonth() != me.origDate.getMonth()
					|| selectedDate.getDate() != me.origDate.getDate()) {
				var selectedMonth = "";
				var selectedDay = "";
				var selectedYear = "";
				var formattedDate = "";
				if (me.dateFormat == "SHORT_US") {
					var selectedMonth = "" + (selectedDate.getMonth() + 1);
					var selectedDay = "" + selectedDate.getDate();
					var selectedYear = ("" + selectedDate.getFullYear()).substring(2);
					var formattedDate = selectedMonth + "/" + selectedDay + "/" + selectedYear;  
				} else {
					var selectedMonth = ((selectedDate.getMonth() < 9) ? "0":"") + (selectedDate.getMonth() + 1);
					var selectedDay = ((selectedDate.getDate() < 10) ? "0" : "") + selectedDate.getDate();
					var selectedYear = selectedDate.getFullYear();
					var formattedDate = selectedMonth + "/" + selectedDay + "/" + selectedYear;  
				}
				me.field.value = formattedDate;
				me.field_year.value = "" + selectedDate.getFullYear();
				me.field_month.value = "" + selectedDate.getMonth();
				me.field_day.value = "" + selectedDate.getDate(); 
	
				if (me.endFunc && me.endFunc != "") {			
					me.hide();
					me.endFunc.call(me);
					return;
				}
			}			
			me.hide();
		}, calendar, true);
	
});


