function isDateToDisable(year, month, day) {
 	var jetzt = new Date();
		
	if (year < jetzt.getFullYear()) {
		return true;		
	}
	if (year == jetzt.getFullYear()) {
		if (month < jetzt.getMonth()) {
			return true;
		}
		if (month == jetzt.getMonth()) {
			if (day < jetzt.getDate()) {
				return true;
			}
		}
	}
	return false; 	
  };   
 
 function ourDateStatusFunc(date, y, m, d) {
    if (isDateToDisable(y, m, d))
      return true;
    else
      return false; // other dates are enabled
      // return true if you want to disable other dates
  };

  function updateArrHiddenField(calendar) { // Diese Methode muss die Methode zum Aktualisieren der Dropdown-Felder aufrufen und die Parameter übergeben
  	var date = calendar.date;
	var year = date.getFullYear();
	var month = date.getMonth();
	var day = date.getDate();
	setArrivalCalendarValues(year, (month + 1), day);
  }
  
  function updateDepHiddenField(calendar) { // Diese Methode muss die Methode zum Aktualisieren der Dropdown-Felder aufrufen und die Parameter übergeben
  	var date = calendar.date;
	var year = date.getFullYear();
	var month = date.getMonth();
	var day = date.getDate();	
	
	var arr_day = document.getElementById('ARR_DAY').value;
	var arr_month = document.getElementById('ARR_MONTH').value;
	var arr_year = document.getElementById('ARR_YEAR').value;
	
	var newDate;
	if (year < parseInt(arr_year)) {	
		newDate = addOneNight(arr_day, arr_month, arr_year, 1);		
		setDepCalendarValues(newDate.getFullYear(), (newDate.getMonth() + 1), newDate.getDate());
	} else if (year == parseInt(arr_year) && month < parseInt(arr_month)) {
		newDate = addOneNight(arr_day, arr_month, arr_year, 1);	
		setDepCalendarValues(newDate.getFullYear(), (newDate.getMonth() + 1), newDate.getDate());
	} else if ((year == parseInt(arr_year) && month == parseInt(arr_month) && day < parseInt(arr_day)) || (year == parseInt(arr_year) && month == parseInt(arr_month) && day == parseInt(arr_day))) {
			newDate = addOneNight(arr_day, arr_month, arr_year, 1);
			setDepCalendarValues(newDate.getFullYear(), (newDate.getMonth() + 1), newDate.getDate());
	} else {
		setDepCalendarValues(year, (month + 1), day);
	}
	//setDepCalendarValues(year, (month + 1), day);
  }
  
  Calendar.setup(
    {
      inputField  	 : "arrivalDateFieldToHide",         // ID of the input field
      ifFormat    	 : "%d. %m. %Y",    				 // the date format
      button      	 : "arr_trigger",       			 // ID of the button	
	  firstDay 	  	 : 1,
	  weekNumbers 	 : true,
	  align		  	 : "B1",
	  electric		 : false,
	  dateStatusFunc : ourDateStatusFunc,
	  onUpdate		 : updateArrHiddenField	  
    }
  );
  
  Calendar.setup(
    {
      inputField  	 : "departureDateFieldToHide",         // ID of the input field
      ifFormat    	 : "%d. %m. %Y",    				   // the date format
      button      	 : "dep_trigger",       			   // ID of the button	
	  firstDay 	  	 : 1,
	  weekNumbers 	 : true,
	  align		  	 : "B1",
	  electric		 : false,
	  dateStatusFunc : ourDateStatusFunc,
	  onUpdate		 : updateDepHiddenField	  
    }
  );