YAHOO.namespace("calendar");

function handleSelect1(type,args,obj) {
	var dates = args[0]; 
	var date = dates[0];
	var year = date[0], month = date[1], day = date[2];

	var selDay = document.getElementById("dayfrom");
	var selMonth = document.getElementById("monthfrom");
	var selYear = document.getElementById("yearfrom");
	
	selMonth.selectedIndex = month-1;
	selDay.selectedIndex = day-1;

	for (var y=0;y<selYear.options.length;y++) {
		if (selYear.options[y].text == year) {
			selYear.selectedIndex = y;
			break;
		}
	}
}

function handleSelect2(type,args,obj) {
	var dates = args[0]; 
	var date = dates[0];
	var year = date[0], month = date[1], day = date[2];

	var selDay = document.getElementById("dayto");
	var selMonth = document.getElementById("monthto");
	var selYear = document.getElementById("yearto");
	
	selMonth.selectedIndex = month-1;
	selDay.selectedIndex = day-1;

	for (var y=0;y<selYear.options.length;y++) {
		if (selYear.options[y].text == year) {
			selYear.selectedIndex = y;
			break;
		}
	}
}

function updateCal1() {
	var dayfrom = document.getElementById("dayfrom");
	var monthfrom = document.getElementById("monthfrom");
	var yearfrom = document.getElementById("yearfrom");

	var day = parseInt(dayfrom.options[dayfrom.selectedIndex].value);
	var month = parseInt(monthfrom.options[monthfrom.selectedIndex].value);	
	var year = parseInt(yearfrom.options[yearfrom.selectedIndex].value);
	
	if (! isNaN(month) && ! isNaN(day) && ! isNaN(year)) {
		var date = month + "/" + day + "/" + year;

		YAHOO.calendar.cal1.select(date);
		YAHOO.calendar.cal1.cfg.setProperty("pagedate", month + "/" + year);
		YAHOO.calendar.cal1.render();
	}
}


function updateCal2() {
	var dayto = document.getElementById("dayto");
	var monthto = document.getElementById("monthto");
	var yearto = document.getElementById("yearto");
	
	var day = parseInt(dayto.options[dayto.selectedIndex].value);	
	var month = parseInt(monthto.options[monthto.selectedIndex].value);
	var year = parseInt(yearto.options[yearto.selectedIndex].value);
	
	if (! isNaN(month) && ! isNaN(day) && ! isNaN(year)) {
		var date = month + "/" + day + "/" + year;

		YAHOO.calendar.cal2.select(date);
		YAHOO.calendar.cal2.cfg.setProperty("pagedate", month + "/" + year);
		YAHOO.calendar.cal2.render();
	}
}


 function init() {
 
 this.link1 = document.getElementById("dateLink1");
 this.link2 = document.getElementById("dateLink2"); 
 
 YAHOO.calendar.cal1 = new YAHOO.widget.Calendar("cal1","cal1Container", { title:"Choose pick up:", close:true });
 YAHOO.calendar.cal1.selectEvent.subscribe(handleSelect1, YAHOO.calendar.cal1, true);
 YAHOO.calendar.cal1.render();
 
 YAHOO.calendar.cal2 = new YAHOO.widget.Calendar("cal2","cal2Container", { title:"Choose return:", close:true });
 YAHOO.calendar.cal2.selectEvent.subscribe(handleSelect2, YAHOO.calendar.cal2, true);
 YAHOO.calendar.cal2.render();

 YAHOO.util.Event.addListener(["dayfrom","monthfrom","yearfrom"], "change", updateCal1);
 YAHOO.util.Event.addListener(["dayto","monthto","yearto"], "change", updateCal2);

 document.getElementById("dateLink1").onclick = showCalendar1; 
 document.getElementById("dateLink2").onclick = showCalendar2;  
 
 }

 YAHOO.util.Event.addListener(window, "load", init);


function showCalendar1() {
YAHOO.calendar.cal2.hide();

var pos = YAHOO.util.Dom.getXY(link1);
document.getElementById("cal1Container").style.display="block";
YAHOO.util.Dom.setXY(document.getElementById("cal1Container"), [pos[0]+link1.offsetWidth+20,pos[1]]);
}

function showCalendar2() {
YAHOO.calendar.cal1.hide();

var pos = YAHOO.util.Dom.getXY(link2);
document.getElementById("cal2Container").style.display="block";
YAHOO.util.Dom.setXY(document.getElementById("cal2Container"), [pos[0]+link2.offsetWidth+20,pos[1]]);
}

