var cal1 = null;
var cal2 = null;
var input1;
var input2;
var data1;
var data2;
function showCalendar1() {
    if (input1 == null)
		input1 = this;
	input = input1;
	
    var pos = YAHOO.util.Dom.getXY(input1);
	pos[1] += 20;
	
	if (cal1 == null) {
        YAHOO.util.Dom.setStyle("calendarContainer", "position", "absolute");
		
		if (input1.value != null) {
			var data = input1.value.split("/");
			data = data[1] + "/" + data[2];
		}
		else
			var data = "11/2010";

		cal1 = new YAHOO.widget.CalendarGroup(
													"cal1", "calendarContainer",
													{
														pagedate: data,
														mindate: "11/04/2010",
														maxdate: "1/16/2011"
													}
		);

		cal1.renderEvent.subscribe(setupListeners, cal1, true);

        //Setando as propriedades
        cal1.cfg.setProperty("MONTHS_LONG",    ["Janeiro", "Fevereiro", "Mar&ccedil;o", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]);
        cal1.cfg.setProperty("WEEKDAYS_SHORT", ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"]);
    }

	cal1.render();

	cal1.show();
    YAHOO.util.Dom.setXY("calendarContainer", pos);
	cal1.selectEvent.subscribe(handleSelect, cal1, true);
}

function showCalendar2() {
    if (input2 == null)
		input2 = this;
	input = input2;

    var pos = YAHOO.util.Dom.getXY(input2);
	pos[1] += 20;

	if (cal2 == null) {
        YAHOO.util.Dom.setStyle("calendarContainer", "position", "absolute");

		if (input2.value != null) {
			var data = input2.value.split("/");
			data = data[1] + "/" + data[2];
		}
		else
			var data = "12/2010";

		cal2 = new YAHOO.widget.CalendarGroup(
													"cal2", "calendarContainer",
													{
														pagedate: data,
														mindate: "11/04/2010",
														maxdate: "1/16/2011"
													}
		);

		cal2.renderEvent.subscribe(setupListeners, cal1, true);

        //Setando as propriedades
        cal2.cfg.setProperty("MONTHS_LONG",    ["Janeiro", "Fevereiro", "Mar&ccedil;o", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]);
        cal2.cfg.setProperty("WEEKDAYS_SHORT", ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"]);
    }

	cal2.render();

    cal2.show();
    YAHOO.util.Dom.setXY("calendarContainer", pos);
	cal2.selectEvent.subscribe(handleSelect, cal2, true);
}

function handleSelect(type,args,obj) {
	var dates = args[0];
    var date = dates[0];
    var year = date[0], month = date[1], day = date[2];
    if (day < 10) {
        day = "0"+day;
    }
    if (month < 10) {
        month = "0"+month;
    }
    input.value = day + "/" + month + "/" + year;

	if (input1 == null)
		input1 = document.getElementById("de");
	if (input2 == null)
		input2 = document.getElementById("ate");

	d1 = input1.value.split("/");
	d2 = input2.value.split("/");
	var d1 = new Date(d1[2],d1[1]-1,d1[0]);
	var d2 = new Date(d2[2],d2[1]-1,d2[0]);
	//alert(d1.getTime() + " " + d2.getTime() + " " + (d1.getTime() - d2.getTime()));

	if (input.value == input2.value) {
		if (d1.getTime() > d2.getTime()) {
			cal1.hide();
			input2.value = input1.value;
			cal2.deselectAll();
			cal2.select(input2.value);
			cal2.setProperty("pagedate", d1[1]-1 + "/" + d1[2]);
		}
	}
	else {
		if ((d1.getTime() > d2.getTime()) || (d2.getTime() > (d1.getTime() + (7 * 86400000))) || (input1.value != null && input2.value == null)) {
			cal1.hide();
			input2.value = input1.value;
			cal2.deselectAll();
			cal2.select(input2.value);
			cal2.setProperty("pagedate", d1[1]-1 + "/" + d1[2]);
		}
	}
	cal1.hide();
	/*else {
		d1 = input1.value.split("/");
		d2 = input2.value.split("/");
		//alert(d2);
		var d1 = new Date(d1[2],d1[1]-1,d1[0]);
		var d2 = new Date(d2[2],d2[1]-1,d2[0]);
		//alert(d2);
		if (d1.getTime() > d2.getTime()){
			input2.value = input1.value;
			cal2.select(input2.value);
			cal2.deselectAll();
			cal2.setProperty("pagedate", d1[1]-1 + "/" + d1[2]);
			//cal2.render();
		}
	}*/

	YAHOO.util.Dom.setStyle("calendarContainer", "display", "none");
}

function setupListeners() {
    YAHOO.util.Event.addListener('calendarContainer', 'mouseover', overCal);
    YAHOO.util.Event.addListener('calendarContainer', 'mouseout', outCal);
}

function hideCalendar() {
    if (!over_cal) {
        YAHOO.util.Dom.setStyle('calendarContainer', 'display', 'none');
    }
}

function overCal() {
    over_cal = true;
}

function outCal() {
    over_cal = false;
}