// ------ Arrival Setup
 arrival_start_date = null;
	arrival_start_date_offset = "0";
 if (arrival_start_date_offset.length > 0) {
 arrival_start_date = new Date(calendar_today.getTime() + (arrival_start_date_offset * Date.DAY));
 }

 arrival_end_date = null;
 arrival_end_date_offset = "365";
 if (arrival_end_date_offset.length > 0) {
 arrival_end_date = new Date(calendar_today.getTime() + (arrival_end_date_offset * Date.DAY));
 }

 arrival_year_range = [];
 if (arrival_start_date && arrival_end_date) {
 arrival_year_range[0] = arrival_start_date.getFullYear();
 arrival_year_range[1] = arrival_end_date.getFullYear();
 }

// console.log("arrival setup: start_date=[" + arrival_start_date + "] end_date=[" + arrival_end_date + "] year_range=[" + arrival_year_range + "]");

 arrival_cif = new CalendarInputField("start", arrival_start_date, arrival_end_date, "%a, %e. %B %Y",
 "start-hidden", "%Y-%m-%d", "2");
 calendar_input_fields.add(arrival_cif);

 // add onchange handler to text field
 text_field = document.getElementById("start");
 if (text_field) {
 text_field.onchange = function() {
// console.log("event onchange: value=[" + this.value + "]");
 var cif = calendar_input_fields.get(this.id);
 if (cif) {
 cif.validate();
 }
 };
 }


 // ------ Departure Setup

 departure_start_date = null;
 departure_start_date_offset = "1";
 if (departure_start_date_offset.length > 0) {
 departure_start_date = new Date(calendar_today.getTime() + (departure_start_date_offset * Date.DAY));
 }

 departure_end_date = null;
 departure_end_date_offset = "366";
 if (departure_end_date_offset.length > 0) {
 departure_end_date = new Date(calendar_today.getTime() + (departure_end_date_offset * Date.DAY));
 }

 departure_year_range = [];
 if (departure_start_date && departure_end_date) {
 departure_year_range[0] = departure_start_date.getFullYear();
 departure_year_range[1] = departure_end_date.getFullYear();
 }

// console.log("departure setup: start_date=[" + departure_start_date + "] end_date=[" + departure_end_date + "] year_range=[" + departure_year_range + "]");

 departure_cif = new CalendarInputField("end", departure_start_date, departure_end_date, "%a, %e. %B %Y",
 "end-hidden", "%Y-%m-%d", "-2");
 calendar_input_fields.add(departure_cif);
 // add onchange handler to text field
 text_field = document.getElementById("end");
 if (text_field) {
 text_field.onchange = function() {
// console.log("event onchange: value=[" + this.value + "]");
 var cif = calendar_input_fields.get(this.id);
 if (cif) {
 cif.validate();
 }
 };
 }

 arrival_cif.setLinkedCif(departure_cif);
 departure_cif.setLinkedCif(arrival_cif);


 // ----- Setup calendars

 Calendar.setup({
 inputField : "start",
 ifFormat : "%a, %e. %B %Y",
 button : "startIcon",
 range : arrival_year_range,
onUpdate : function(cal) {
 var date = cal.date;
 var cif = calendar_input_fields.get("start");
 if (typeof cif != "undefined") {
 cif.update(date, true);
 }
 },
 dateStatusFunc : function(date, y, m , d) {
 var cif = calendar_input_fields.get("start");
 if (typeof cif != "undefined") {
 return cif.isDisallowedDate(date, y, m, d);
 }
 return false;
 }
 });

 Calendar.setup({
 inputField : "end",
 ifFormat : "%a, %e. %B %Y",
 button : "endIcon",
 range : departure_year_range,
 onUpdate : function(cal) {
 var date = cal.date;
 var cif = calendar_input_fields.get("end");
 if (typeof cif != "undefined") {
 cif.update(date, true);
 }
},
 dateStatusFunc : function(date, y, m , d) {
 var cif = calendar_input_fields.get("end");
 if (typeof cif != "undefined") {
 return cif.isDisallowedDate(date, y, m, d);
 }
 return false;
 }
 });

