function selected(cal, date) {
  cal.sel.value = date;
    cal.callCloseHandler();
	 if(cal.sel.name == 'arrdate')
	 {
	 	id = 'depdate';

	 	var depdate = 	new Date(	document.getElementById(id).value.substr(6,4), 
	 					document.getElementById(id).value.substr(3,2)-1,
	 					document.getElementById(id).value.substr(0,2));
	 	if(depdate.getTime()<=cal.date.getTime())
	 	{
	 		newDate = new Date(cal.date.getTime()+WEEK);
        	document.getElementById(id).value = newDate.print("dd.mm.y");
	 	}
	 }
	 if(cal.sel.name == 'depdate')
	 {
	 	id = 'arrdate';

	 	var arrdate = 	new Date(	document.getElementById(id).value.substr(6,4), 
	 					document.getElementById(id).value.substr(3,2)-1,
	 					document.getElementById(id).value.substr(0,2));
	 	
	 	if(arrdate.getTime()>=cal.date.getTime())
	 	{
	 		newDate = new Date(cal.date.getTime()-WEEK);
	 		nowDate = new Date();
	 		
	 		if(newDate.getTime()>=nowDate.getTime())
        		document.getElementById(id).value = newDate.print("dd.mm.y");
        	else
				document.getElementById(id).value = nowDate.print("dd.mm.y");	
 		}
	 }
}
function closeHandler(cal) {
  cal.hide();
}

function showCalendar(id, format,customOffset,dayOffset) {
if (navigator.userAgent.indexOf("Mac") != -1) {
	//return false;	
}
  // Erst n Tage buchbar
  
  OFFSET = (dayOffset == undefined)?0:dayOffset;

	// Auslesen aus Namen, falls nicht erfolgreich aus ID
  var el = document.getElementsByName(id)[0];
  if(typeof(el) == "undefined")
  	var el = document.getElementById(id);
  
  if (calendar != null) {
    calendar.hide();
  } else {
    var cal = new Calendar(true, null, selected, closeHandler);
    calendar = cal;
    cal.setRange(1900, 2070);
    cal.setDisabledHandler(isDisabled);
    cal.create();
  	cal.setDisabledHandler(isDisabled);
  }
  calendar.setDateFormat(format);
  calendar.parseDate(el.value);
  calendar.sel = el;
  calendar.showAtElement(el,customOffset);
  return false;
}
var MINUTE = 60 * 1000;
var HOUR = 60 * MINUTE;
var DAY = 24 * HOUR;
var WEEK = 7 * DAY;

function isDisabled(date) 
{
  var today = new Date();
  if(date.getTime() > today.getTime()-DAY+(OFFSET*DAY))
   	{return false}
  else
  	{return true} 
}


function flatSelected(cal, date) {
  var el = document.getElementsByName("preview")[0];
  if(typeof(el) == "undefined")
  	var el = document.getElementById("preview");
  el.innerHTML = date;
}

function showFlatCalendar() {
  var parent = document.getElementsByName("display")[0];
  if(typeof(parent) == "undefined")
  	var parent = document.getElementById("display");
  var cal = new Calendar(false, null, flatSelected);
  cal.weekNumbers = false;
  cal.setDisabledHandler(isDisabled);
  cal.setDateFormat("DD, M d");
  cal.create(parent);
  cal.show();
}
