function dateChanged(calendar) {
	if (calendar.dateClicked) {
		switch(calendar.params.button.id) {
			case "railOutDateTrigger":
				var dayId = "railOutDay";
				var monthId = "railOutMonth";
				var indexModifier = "-1";
				document.getElementById('railOutDate-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "railRetDateTrigger":
				var dayId = "railRetDay";
				var monthId = "railRetMonth";
				var indexModifier = "-1";
				document.getElementById('railRetDate-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "trArrivalDateTrigger":
				var dayId = "trArrivalDay";
				var monthId = "trArrivalMonth";
				var indexModifier = "-1";
				document.getElementById('trArrivalDate-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "trDepartureDateTrigger":
				var dayId = "trDepartureDay";
				var monthId = "trDepartureMonth";
				var indexModifier = "-1";
				document.getElementById('trDepartureDate-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;			
			case "chPickupDateTrigger":
				var dayId = "chPickupDay";
				var monthId = "chPickupMonth";
				var indexModifier = "-1";
				document.getElementById('chPickupDate-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "chDropoffDateTrigger":
				var dayId = "chDropoffDay";
				var monthId = "chDropoffMonth";
				var indexModifier = "0";
				document.getElementById('chDropoffDate-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "cpArrivalDateTrigger":
				var dayId = "cpArrivalDay";
				var monthId = "cpArrivalMonth";
				var indexModifier = "-1";
				document.getElementById('cpArrivalDate-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "cpReturnDateTrigger":
				var dayId = "cpReturnDay";
				var monthId = "cpReturnMonth";
				var indexModifier = "0";
				document.getElementById('cpReturnDate-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "insDepDateTrigger":
				var dayId = "insDepDay";
				var monthId = "insDepMonth";
				var indexModifier = "-1";
				document.getElementById('insDepDate-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "insRetDateTrigger":
				var dayId = "insRetDay";
				var monthId = "insRetMonth";
				var indexModifier = "0";
				document.getElementById('insRetDate-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
				
			case "foOutboundDateTrigger":
				var dayId = "outboundDay";
				var monthId = "outboundMonth";
				var indexModifier = "-1";
				document.getElementById('foOutboundDateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				if (document.getElementById('foReturnDateTrigger-input')) {
					document.getElementById('foReturnDateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				}
				break;
			case "foReturnDateTrigger":
				var dayId = "returnDay";
				var monthId = "returnMonth";
				var indexModifier = "0";
				document.getElementById('foReturnDateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "fdOutboundDateTrigger":
				var dayId = "fdoutboundDay";
				var monthId = "fdoutboundMonth";
				var indexModifier = "-1";
				document.getElementById('fdOutboundDateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				document.getElementById('fdReturnDateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "fdReturnDateTrigger":
				var dayId = "fdreturnDay";
				var monthId = "fdreturnMonth";
				var indexModifier = "0";
				document.getElementById('fdReturnDateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "fcOutboundDateTrigger":
				var dayId = "fcoutboundDay";
				var monthId = "fcoutboundMonth";
				var indexModifier = "-1";
				document.getElementById('fcOutboundDateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				document.getElementById('fcReturnDateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "fcReturnDateTrigger":
				var dayId = "fcreturnDay";
				var monthId = "fcreturnMonth";
				var indexModifier = "0";
				document.getElementById('fcReturnDateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "hotelTrigger":
				var dayId = "arrDay";
				var monthId = "arrMonth";
				var indexModifier = "-1";
				document.getElementById('hotelTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "fhOutboundDateTrigger":
				var dayId = "fhOutboundDay";
				var monthId = "fhOutboundMonth";
				var indexModifier = "-1";
				document.getElementById('fhOutboundDateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				document.getElementById('fhReturnDateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				document.getElementById('fhHotelOutboundTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				document.getElementById('fhHotelReturnTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "fhReturnDateTrigger":
				var dayId = "fhReturnDay";
				var monthId = "fhReturnMonth";
				var indexModifier = "-1";
				document.getElementById('fhReturnDateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "fhHotelOutboundTrigger":
				var dayId = "hotelinD";
				var monthId = "hotelinM";
				var indexModifier = "-1";
				document.getElementById('fhHotelOutboundTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "fhHotelReturnTrigger":
				var dayId = "hoteloutD";
				var monthId = "hoteloutM";
				var indexModifier = "-1";
				document.getElementById('fhHotelReturnTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			case "foOutboundDateTrigger":
				var dayId = "outboundDay";
				var monthId = "outboundMonth";
				var indexModifier = "-1";
				document.getElementById('foOutboundDateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				document.getElementById('foReturnDateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				break;
			default:
				var number = calendar.params.button.id.replace(/foOtherLegs(\d+)DateTrigger/, '$1');
				if (isInt(number)) {
					var dayId = "otherLegs"+number+"Day";
					var monthId = "otherLegs"+number+"Month";
					var indexModifier = "-1";
					document.getElementById('foOtherLegs'+number+'DateTrigger-input').value = calendar.date.getFullYear()+'-'+(calendar.date.getMonth()+1)+'-'+calendar.date.getDate();
				} else {
					var dayId = null;
					var monthId = null;
					var indexModifier = "-1";
				}
				break;
		}

		if (indexModifier == "-1") { document.getElementById(dayId).selectedIndex = (calendar.date.getDate()-1); }
		else { document.getElementById(dayId).selectedIndex = (calendar.date.getDate()); }

		var month = (datetounixtime(calendar.date.getFullYear(),calendar.date.getMonth(),1));
		for (i=0; i<document.getElementById(monthId).options.length; i++) {
			if (document.getElementById(monthId).options[i].value == month) {
				document.getElementById(monthId).selectedIndex = i;
			}
		}
		calendar.setDate(calendar.date);
		calendar.hide();
	}
}

function isInt(x) {
	var y=parseInt(x);
	if (isNaN(y)) return false;
	return x==y && x.toString()==y.toString();
} 

