var calendar;
var calId = "cal1Container";

function open_cal(element) {
    var pos = YAHOO.util.Dom.getXY(element);
    calendar.show();

    var region = YAHOO.util.Dom.getRegion(element);
    var elmHeight = region.bottom - region.top;

    YAHOO.util.Dom.setXY(calId, [pos[0], pos[1] + elmHeight + 1]);
}

function close_cal()
{
	calendar.hide();
}

function formatDate(dateObj) {
	var year = dateObj.getFullYear();
	var month = dateObj.getMonth() + 1;
	var day = dateObj.getDate();
	var returnDate =  year + "-" + (month < 10 ? "0" : "") + month + "-" + (day < 10 ? "0" : "") + day;

	return returnDate;
}

YAHOO.util.Event.onDOMReady(function() {
 
	var inTxt = YAHOO.util.Dom.get("static_in"),
		outTxt = YAHOO.util.Dom.get("static_out"),
		inDate, outDate, interval;
 
	// if there are already value don't clean them
	//inTxt.value = "";
	//outTxt.value = "";

	calendar = new IntervalCalendar(calId, {pages:2, close:true, minDate:new Date(), hide_blank_weeks:true});

	calendar.selectEvent.subscribe(function() {
		interval = this.getInterval();
 
		if (interval.length == 2) {

			if (interval[0].getTime() != interval[1].getTime()) {

				//alert(interval[0] + ":" + interval[1] + ":" + inDate + "<>" + outDate);

				inDate = interval[0];
				inTxt.value = formatDate(inDate);
				outDate = interval[1];
				outTxt.value = formatDate(outDate);
				calendar.hide();
			} else {
				//if (inDate && outDate)
				//{
				//	alert(interval[0] + ":" + inDate + "<>" + outDate);
				//}

				if (inDate && inDate.getTime() >= interval[0].getTime()) {
					inDate = interval[0];
					inTxt.value = formatDate(inDate);
				} else if (inDate && inDate.getTime() < interval[0].getTime()) {
					outDate = interval[0];
					outTxt.value = formatDate(outDate);
				} else {
					inDate = interval[0];
					inTxt.value = formatDate(inDate);
					outTxt.value = "";
				}
				calendar.hide();
			}
		}
	}, calendar, true);
	
	calendar.render();
});
