	function DayOrNight() {
		var dayOrNight = document.editForm.NIGHTS.options[0].text;
		var dayOrNightTable = dayOrNight.split(' ');
		//alert (dayOrNightTable[1].charAt(0));
		return dayOrNightTable[1].charAt(0);
	}

	function setArrivalCalendarValues(year, month, day) {
		var arrivalSelectedKey;
		document.getElementById("ARR_DAY").value=day;
		document.getElementById("ARR_MONTH").value=month-1;
		document.getElementById("ARR_YEAR").value=year;
		if((month - 1) < 10) {
			arrivalSelectedKey = '0';
		} else {
			arrivalSelectedKey = '';
		}
		arrivalSelectedKey = arrivalSelectedKey.concat(month-1);
		arrivalSelectedKey = arrivalSelectedKey.concat('_');
		arrivalSelectedKey = arrivalSelectedKey.concat(year);
		document.getElementById('arr_month_year').value=arrivalSelectedKey;

		if (DayOrNight() == 'T') {
			onChangedArrivalDataForDays();
		} else {
			onChangedArrivalData();
		}
  	}

	function setDepCalendarValues(year, month, day) {
		var departureSelectedKey;
		document.getElementById("dep_day").value=day;
		if((month - 1) < 10) {
			departureSelectedKey = '0';
		} else {
			departureSelectedKey = '';
		}
		departureSelectedKey = departureSelectedKey.concat(month-1);
		departureSelectedKey = departureSelectedKey.concat('_');
		departureSelectedKey = departureSelectedKey.concat(year);
		document.getElementById('dep_month_year').value=departureSelectedKey;
		
		if (DayOrNight() == 'T') {
			onChangedDepartureDataForDays();
		} else {
			onChangedDepartureData();
		}
    }

	function checkArrivalDate() {
		var fieldMonthYear = document.getElementById('arr_month_year');
		var day = document.getElementById('ARR_DAY').value;
		var arrivalSelectedKey = fieldMonthYear.value;
		var month = arrivalSelectedKey.substring(0,2);
		var year = arrivalSelectedKey.substring(3,7);

		document.getElementById('ARR_DAY').value 	= day;
		document.getElementById('ARR_MONTH').value 	= month;
		document.getElementById('ARR_YEAR').value	= year;

		var today = new Date();
		var dayToday = today.getDate();
		var monthToday = today.getMonth();
		var yearToday = today.getFullYear();

		var selectedDay = day;
		var selectedMonth = month;
		var selectedYear = year;
		
		if((parseInt(selectedYear) == parseInt(yearToday)) && (parseInt(selectedMonth) == parseInt(monthToday)) && (parseInt(selectedDay) < parseInt(dayToday))) {			
		   if (parseInt(selectedMonth) == 11) {  // Diese If-Abfrage muss noch getestet werden...
		    // Jahr hochzaehlen und Monat auf 0 sezten
		    var selectedYearAfter = parseInt(selectedYear) + 1;
		    var selectedMonthAfter = 00;
		    var monthYear = selectedMonthAfter.toString().concat('_').concat(selectedYear);
		   } else {
		    // Monat hochzaehlen
		    var selectedMonthAfter = parseInt(selectedMonth) + 1;
		    if (selectedMonthAfter < 10) {
		     selectedMonthAfter = '0'.concat(selectedMonthAfter);
		    }
		    var monthYear = selectedMonthAfter.toString().concat('_').concat(selectedYear);
		   }

		   for (var i=0; i < fieldMonthYear.length; i++) {
		    if (fieldMonthYear.options[i].value == monthYear) {
		     fieldMonthYear.options[i].selected = true;
		     break;
		    }
		   }
		  }

		if (DayOrNight() == 'T') {
			onChangedArrivalDataForDays();
		} else {
			onChangedArrivalData();
		}
	}

	function checkDepartureDate() {
		var fieldMonthYear = document.getElementById('dep_month_year');
		var fieldDay = document.getElementById('dep_day');

		var dep_day = fieldDay.value;
		var departureSelectedKey = fieldMonthYear.value;
		var dep_month = departureSelectedKey.substring(0,2);
		var dep_year = departureSelectedKey.substring(3,7);		
		
		var arr_day = document.getElementById('ARR_DAY').value;
		var arrivalSelectedKey = document.getElementById('arr_month_year').value;
		var arr_month = arrivalSelectedKey.substring(0,2);
		var arr_year = arrivalSelectedKey.substring(3,7);

		//alert('selectedArr : '+arr_day+'.'+arr_month+'.'+arr_year);
		//alert('selectedDep : '+dep_day+'.'+dep_month+'.'+dep_year); 
		
		if (dep_month == '09') dep_month = '9'; if (dep_month == '08') dep_month = '8';
		if (arr_month == '09') arr_month = '9'; if (arr_month == '08') arr_month = '8';
		
		if(parseInt(dep_year) == parseInt(arr_year) && parseInt(dep_month) == parseInt(arr_month) && parseInt(dep_day) < parseInt(arr_day)) {
			
			var departureMonthSelectedKey;
			var departureDate = addOneNight(arr_day, arr_month, arr_year, 1);
			dep_day = departureDate.getDate();
			dep_month = departureDate.getMonth();
			dep_year = departureDate.getFullYear();
			
			if(dep_month < 10) {
				departureMonthSelectedKey = '0';
			} else {
				departureMonthSelectedKey = '';
			}

			departureMonthSelectedKey = departureMonthSelectedKey.concat(dep_month).concat('_').concat(dep_year);
			document.getElementById('dep_month_year').value = departureMonthSelectedKey;
			document.getElementById('dep_day').value = dep_day;

		} /*else if ((parseInt(dep_year) == parseInt(arr_year) && parseInt(dep_month) < parseInt(arr_month))) { // || (parseInt(dep_year) < parseInt(arr_year))) {
			var monthYear = arr_month.concat('_').concat(arr_year);
			alert(monthYear);
			document.getElementById('dep_month_year').value = monthYear;			
			checkDepartureDate(); // rekursive aufruf, denn der ausgewählte Monat im departure könnte gleich mit dem aus Arrival, und der ArrTag aber kleiner als DepTag
		}*/

		if (DayOrNight() == 'T') {
			onChangedDepartureDataForDays();
		} else {
			onChangedDepartureData();
		}
	}

	function addOneNight(arr_day, arr_month, arr_year, night) {
		var arrivalDate = new Date();
		arrivalDate.setDate(1);
		arrivalDate.setMonth(arr_month);
		arrivalDate.setYear(arr_year);
		arrivalDate.setDate(arr_day);
		var arrivalMilliSeconds = arrivalDate.getTime();
		var departureMilliSeconds = arrivalMilliSeconds + 1000*60*60*24*night;

		var departureDate = new Date();
		departureDate.setTime(departureMilliSeconds);

		return departureDate;
	}

	function onChangedArrivalDataForDays() {
		var arrivalSelectedKey;
		var arrivalDate;
		var day;
		var month;
		var year;
		var arrivalMilliSeconds;
		var departureMilliSeconds;
		var nights;
		var departureDate;
		var departureSelectedKey;

		arrivalDate = new Date();

		day = document.getElementById('ARR_DAY').value;
		arrivalSelectedKey = document.getElementById('arr_month_year').value;
		month = arrivalSelectedKey.substring(0,2);
		year = arrivalSelectedKey.substring(3,7);
		document.getElementById('ARR_MONTH').value=month;
		document.getElementById('ARR_YEAR').value=year;

		arrivalDate.setDate(1);
		arrivalDate.setMonth(month);
		arrivalDate.setYear(year);
		arrivalDate.setDate(day);
		arrivalMilliSeconds = arrivalDate.getTime();

		nights = document.getElementById('NIGHTS').value;
		departureMilliSeconds = arrivalMilliSeconds + 1000*60*60*24*(nights-1);
		departureDate = new Date();
		departureDate.setTime(departureMilliSeconds);
		document.getElementById('dep_day').value=departureDate.getDate();

		if(departureDate.getMonth() < 10) {
			departureSelectedKey = '0';
		} else {
			departureSelectedKey = '';
		}

		departureSelectedKey = departureSelectedKey.concat(departureDate.getMonth());
		departureSelectedKey = departureSelectedKey.concat('_');
		departureSelectedKey = departureSelectedKey.concat(departureDate.getFullYear());
		document.getElementById('dep_month_year').value=departureSelectedKey;

		document.getElementById('arrivalDateFieldToHide').value = day + '.' + (parseInt(month) + 1) + '.' + year;
		document.getElementById('departureDateFieldToHide').value = departureDate.getDate() + '.' + (departureDate.getMonth() + 1) + '.' + departureDate.getFullYear();

    setArrivalWeekDay();
    setDepartureWeekDay();
	}

	function onChangedArrivalData() {
		var arrivalSelectedKey;
		var arrivalDate;
		var day;
		var month;
		var year;
		var arrivalMilliSeconds;
		var departureMilliSeconds;
		var nights;
		var departureDate;
		var departureSelectedKey;

		arrivalDate = new Date();

		day = document.getElementById('ARR_DAY').value;
		arrivalSelectedKey = document.getElementById('arr_month_year').value;
		month = arrivalSelectedKey.substring(0,2);
		year = arrivalSelectedKey.substring(3,7);
		document.getElementById('ARR_MONTH').value=month;
		document.getElementById('ARR_YEAR').value=year;

		arrivalDate.setDate(1);
		arrivalDate.setMonth(month);
		arrivalDate.setYear(year);
		arrivalDate.setDate(day);
		arrivalMilliSeconds = arrivalDate.getTime();

		nights = document.getElementById('NIGHTS').value;
		departureMilliSeconds = arrivalMilliSeconds + 1000*60*60*24*nights;
		departureDate = new Date();
		departureDate.setTime(departureMilliSeconds);	
		document.getElementById('dep_day').value=departureDate.getDate();

		if(departureDate.getMonth() < 10) {
			departureSelectedKey = '0';
		} else {
			departureSelectedKey = '';
		}

		departureSelectedKey = departureSelectedKey.concat(departureDate.getMonth());
		departureSelectedKey = departureSelectedKey.concat('_');
		departureSelectedKey = departureSelectedKey.concat(departureDate.getFullYear());
		document.getElementById('dep_month_year').value=departureSelectedKey;

		if (month == '08') month = '8'; if(month== '09')month='9';  // Die Methode parseInt von Javascript arbeitet nicht richtig mit 08 und 09
		document.getElementById('arrivalDateFieldToHide').value = day + '.' + (parseInt(month) + 1) + '.' + year;
		document.getElementById('departureDateFieldToHide').value = departureDate.getDate() + '.' + (departureDate.getMonth() + 1) + '.' + departureDate.getFullYear();

    setArrivalWeekDay();
    setDepartureWeekDay();
	}

	function onChangedDepartureDataForDays() {
		var arrivalSelectedKey;
		var arrivalDate;
		var arrivalDay;
		var arrivalMonth;
		var arrivalYear;
		var arrivalMilliSeconds;
		var departureMilliSeconds;
		var nights;
		var departureDate;
		var departureDay;
		var departureMonth;
		var departureYear;
		var departureSelectedKey;
		var timeSpanMilliSeconds;
		var nights;

		departureDay = document.getElementById('dep_day').value;
		departureSelectedKey = document.getElementById('dep_month_year').value;
		departureMonth = departureSelectedKey.substring(0,2);
		departureYear = departureSelectedKey.substring(3,7);

		departureDate = new Date();
		departureDate.setDate(1);
		departureDate.setMonth(departureMonth);
		departureDate.setYear(departureYear);
		departureDate.setDate(departureDay);
		departureMilliSeconds = departureDate.getTime();

		arrivalDay = document.getElementById('ARR_DAY').value;
		arrivalSelectedKey = document.getElementById('arr_month_year').value;
		arrivalMonth = arrivalSelectedKey.substring(0,2);
		arrivalYear = arrivalSelectedKey.substring(3,7);

		arrivalDate = new Date();
		arrivalDate.setDate(1);
		arrivalDate.setMonth(arrivalMonth);
		arrivalDate.setYear(arrivalYear);
		arrivalDate.setDate(arrivalDay);

		arrivalMilliSeconds = arrivalDate.getTime();
		timeSpanMilliSeconds = departureMilliSeconds - arrivalMilliSeconds;

		nights = Math.round(timeSpanMilliSeconds / 1000 / 60 / 60 / 24) + 1;
		document.getElementById('NIGHTS').value=nights;

		document.getElementById('departureDateFieldToHide').value = departureDay + '.' + (parseInt(departureMonth) + 1) + '.' + departureYear;

    setArrivalWeekDay();
    setDepartureWeekDay();
	}

	function onChangedDepartureData() {
		var arrivalSelectedKey;
		var arrivalDate;
		var arrivalDay;
		var arrivalMonth;
		var arrivalYear;
		var arrivalMilliSeconds;
		var departureMilliSeconds;
		var nights;
		var departureDate;
		var departureDay;
		var departureMonth;
		var departureYear;
		var departureSelectedKey;
		var timeSpanMilliSeconds;
		var nights;

		departureDay = document.getElementById('dep_day').value;
		departureSelectedKey = document.getElementById('dep_month_year').value;
		departureMonth = departureSelectedKey.substring(0,2);
		departureYear = departureSelectedKey.substring(3,7);
		departureDate = new Date();
		departureDate.setDate(1);
		departureDate.setMonth(departureMonth);
		departureDate.setYear(departureYear);
		departureDate.setDate(departureDay);
		departureMilliSeconds = departureDate.getTime();

		arrivalDay = document.getElementById('ARR_DAY').value;
		arrivalSelectedKey = document.getElementById('arr_month_year').value;
		arrivalMonth = arrivalSelectedKey.substring(0,2);
		arrivalYear = arrivalSelectedKey.substring(3,7);

		arrivalDate = new Date();
		arrivalDate.setDate(1);
		arrivalDate.setMonth(arrivalMonth);
		arrivalDate.setYear(arrivalYear);
		arrivalDate.setDate(arrivalDay);

		arrivalMilliSeconds = arrivalDate.getTime();
		timeSpanMilliSeconds = departureMilliSeconds - arrivalMilliSeconds;

		nights = Math.round(timeSpanMilliSeconds / 1000 / 60 / 60 / 24);
		document.getElementById('NIGHTS').value=nights;

		if (departureMonth == '09') departureMonth='9'; if (departureMonth == '08') departureMonth='8'; // Die Methode parseInt von Javascript arbeitet nicht richtig mit 08 und 09
		document.getElementById('departureDateFieldToHide').value = departureDay + '.' + (parseInt(departureMonth) + 1) + '.' + departureYear;

    setArrivalWeekDay();
    setDepartureWeekDay();
	}

	function hideMyInputFields() {
		var arrFieldToHide = document.getElementById('arrivalDateFieldToHide');
		var depFieldToHide = document.getElementById('departureDateFieldToHide');
		arrFieldToHide.style.display = 'none';
		depFieldToHide.style.display = 'none';

		if (DayOrNight() == 'T') {
			onChangedArrivalDataForDays();
		} else {
			onChangedArrivalData();
		}
//		onChangedArrivalDataForDays();
//		onChangedArrivalData();

	}


  function setArrivalWeekDay()
  {
    if(document.getElementById('ARR_WEEKDAY') == null)
    {
      return;
    }
    fieldDay = document.getElementById('ARR_DAY');
		fieldMonth = document.getElementById('ARR_MONTH');
		fieldYear = document.getElementById('ARR_YEAR');
    var selectedDay = fieldDay.value;
    var selectedMonth = fieldMonth.value;
    var selectedYear = fieldYear.value;
		var selectedDate = new Date();
    selectedDate.setDate(1);
    selectedDate.setMonth(fieldMonth.value);
    selectedDate.setFullYear(fieldYear.value);
    selectedDate.setDate(fieldDay.value);
    document.getElementById('ARR_WEEKDAY').value=WeekDayArray[selectedDate.getDay()];
  }

  function setDepartureWeekDay()
  {
    if(document.getElementById('DEP_WEEKDAY') == null)
    {
      return;
    }
		departureDay = document.getElementById('dep_day').value;
		departureSelectedKey = document.getElementById('dep_month_year').value;
		departureMonth = departureSelectedKey.substring(0,2);
		departureYear = departureSelectedKey.substring(3,7);
		var selectedDate = new Date();
    selectedDate.setDate(1);
    selectedDate.setMonth(departureMonth);
    selectedDate.setFullYear(departureYear);
    selectedDate.setDate(departureDay);
    document.getElementById('DEP_WEEKDAY').value=WeekDayArray[selectedDate.getDay()];
  }

