
// Yahoo! Calendar functions
var cal1, cal2; 
var dtArrival, dtDeparture;
var bPopUp = true;
function calInit() { 
	var dtMin = new Date();
	var sMin = (dtMin.getMonth()+1) + "/" + (dtMin.getDate()+1) + "/" + dtMin.getFullYear() ;
	cal1 = new YAHOO.widget.CalendarGroup("cal1","cal1Container", 
		{ pages:1,
			title:"Arrival Date",
			mindate: sMin,
			MULTI_SELECT: false,	
			close:false } ); 
	cal1.selectEvent.subscribe(updateArrivalDate, cal1, true); 
	cal1.render(); 
	
	sMin = (dtMin.getMonth()+1) + "/" + (dtMin.getDate()+1) + "/" + dtMin.getFullYear() ;
	cal2 = new YAHOO.widget.CalendarGroup("cal2","cal2Container", 
		{ pages:1,
			title:"Departure Date",
			mindate: sMin,
			MULTI_SELECT: false,	
			close:false } ); 
	cal2.selectEvent.subscribe(updateDepartureDate, cal2, true); 
	cal2.render(); 	
} 

function goCal() {
	cal1.show();
	cal2.show();
	var o = document.getElementById("closeCalX"); 
	o.style.display = "block";
}
function hideCal() {
	cal1.hide();
	cal2.hide();
	var o = document.getElementById("closeCalX"); 
	o.style.display = "none";
}

function updateArrivalDate(type,args,obj) {
	var selectedDates = cal1.getSelectedDates();
	if (!selectedDates) return;
	if (selectedDates[0]) {
		var dt = selectedDates[0];
		var o = document.getElementById("arrivalDate"); 
		o.value = (dt.getMonth()+1) + "/" + dt.getDate() + "/" + dt.getFullYear() ;
		dtArrival = dt;
		if (dtArrival > dtDeparture) {
			if (dtDeparture) {
				o = document.getElementById("departureDate"); 
				o.value = "";
				cal2.deselect(dtDeparture);
			}
		}
		var sMin = (dtArrival.getMonth()+1) + "/" + (dtArrival.getDate()+1) + "/" + dtArrival.getFullYear() ;			
		cal2.cfg.setProperty("mindate", sMin); 			
		cal2.cfg.setProperty("pagedate", (dtArrival.getMonth()+1) + "/" + dtArrival.getFullYear()); 
		cal2.render(); 			
		
	}
	return;
}

function updateDepartureDate(type,args,obj) {
	var selectedDates = cal2.getSelectedDates();
	if (!selectedDates) return;
	var o = document.getElementById("departureDate"); 
	if (selectedDates[0]) {
		var dt = selectedDates[0];
		o.value = (dt.getMonth()+1) + "/" + dt.getDate() + "/" + dt.getFullYear() ;
		dtDeparture = dt;
		if (dtArrival) hideCal();
	}
	return;
}

function updateArrivalCal() {
	var o = document.getElementById("arrivalDate"); 
	if (o.value != "") {
		bPopUp = false;
		cal1.select(o.value);
		bPopUp = true;
		var selectedDates = cal1.getSelectedDates();
		if (selectedDates.length > 0) {
			var firstDate = selectedDates[0];
			cal1.cfg.setProperty("pagedate", (firstDate.getMonth()+1) + "/" + firstDate.getFullYear());
			cal1.render();
		} else {
			alert("Please select a future arrival date.");
			o.value = "";
			o.focus();
		}
	}
}
function updateDepartureCal() {
	var o = document.getElementById("departureDate"); 
	if (o.value != "") {
		cal2.select(o.value);
		var selectedDates = cal2.getSelectedDates();
		if (selectedDates.length > 0) {
			var firstDate = selectedDates[0];
			cal2.cfg.setProperty("pagedate", (firstDate.getMonth()+1) + "/" + firstDate.getFullYear());
			cal2.render();
		} else {
			alert("Please select a departure date after your arrival date.");
			o.value = "";
			o.focus();
		}
	}
}