var KalenderAankomst = null;
var KalenderVertrek = null;
var KalenderForm_debug = false;
var KalenderFormName = 0;
var KalenderFormLanguage = "nl";


function DateCompare(l, h)
{
  if (l == 0)
    return 1;
  if (h == null)
    return -1;
  if (l.getFullYear() < h.getFullYear())
    return 1;
  if (l.getFullYear() > h.getFullYear())
    return -1;
  if (l.getMonth() < h.getMonth())
    return 1;
  if (l.getMonth() > h.getMonth())
    return -1;
  if (l.getDate() < h.getDate())
    return 1;
  if (l.getDate() > h.getDate())
    return -1;
  return 0; 
}

function DmyToDate(d,m,y)
{
  var now = new Date();
  day = Number(d);
  month = Number(m);
  year = (y == null || !y.length) ? NaN : Number(y);
  if (isNaN(day) || isNaN(month)) {
    return now;
  }
  if (month > 0 && month < now.getMonth() + 1 || (month == now.getMonth() + 1 && day > 0 && day < now.getDate())) {
    now.setFullYear(now.getFullYear() + 1);
  }
  if (day > 0 && day <= 31) {
    now.setDate(day);
  }
  if (month > 0 && month <= 12) {
    now.setMonth(--month);
  }
  if (!isNaN(year)) {
    if (year < 100) {
      year += 2000;
    }
    now.setFullYear(year);
  }
  return now;
}

function StringToDate(s)
{
  var dmy = "";
  if (s == null || s.length < 4) {
    return DmyToDate(0,0,0);
  }
  dmy = s.split("/");
  if (dmy.length > 1) {
    return DmyToDate(dmy[0], dmy[1], dmy.length > 2 ? dmy[2] : "");
  }
  dmy = s.split("-");
  if (dmy.length > 1) {
    return DmyToDate(dmy[0], dmy[1], dmy.length > 2 ? dmy[2] : "");
  }
  return DmyToDate(s.substring(0,2), s.substring(2,4), s.substring(4));
}
function DmyToString(d,m,y)
{
  var s = "";
  if (d < 10) {
    s += "0";
  }
  s += d;
  s += "-";
  if (m < 10) {
    s += "0";
  }
  s += m;
  s += "-";
  if (y < 100) {
    y += 2000;
  }
  s += y;
  return s;
}

function KlikAankomst(day,mon,year)
{
  document.forms[KalenderFormName].Datum_aankomst.value =  DmyToString(day,mon,year);
  KalenderAankomst.Clear();
  KalenderAankomst.SetWinopen(false);
}
function KlikVertrek(day,mon,year)
{
  document.forms[KalenderFormName].Datum_vertrek.value =  DmyToString(day, mon, year);
  KalenderVertrek.Clear();
  KalenderVertrek.SetWinopen(false);
}
function PopupKalenderAankomst() {
  var now=new Date();
  if (KalenderAankomst != null && KalenderAankomst.GetWinopen()) {
    KalenderAankomst.Clear();
    KalenderAankomst.SetWinopen(false);
  }
  else {
    var da = StringToDate(document.forms[KalenderFormName].Datum_aankomst.value);
    KalenderAankomst = new Kalender(da.getDate(), da.getMonth(), da.getFullYear(),"KlikAankomst");
    KalenderAankomst.SetName("KalenderAankomst");
    KalenderAankomst.SetLang(KalenderFormLanguage);
    KalenderAankomst.Reprint();
    KalenderAankomst.SetWinopen(true);
  }
}

function PopupKalenderVertrek() {
  var now=new Date();
  if (KalenderVertrek != null && KalenderVertrek.GetWinopen()) {
    KalenderVertrek.Clear();
    KalenderVertrek.SetWinopen(false);
  }
  else {
    var dv = StringToDate(document.forms[KalenderFormName].Datum_vertrek.value);
    var da = StringToDate(document.forms[KalenderFormName].Datum_aankomst.value);
         
    if (DateCompare(da, dv) < 0)
      dv = da;
    KalenderVertrek = new Kalender(dv.getDate(), dv.getMonth(), dv.getFullYear(),"KlikVertrek");
    KalenderVertrek.SetName("KalenderVertrek");
    KalenderVertrek.SetLang(KalenderFormLanguage);
    KalenderVertrek.Reprint();
    KalenderVertrek.SetWinopen(true);
  }
}
