var monthHeaderArray = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

function getMonthName(_1) {
  return monthHeaderArray[_1];
}

function nextMonth(_2) {
  var _3 = getDateMonth(_2);
  var _4 = getDateYear(_2);
  if (_3 == "11") {
    nextMnth = 0;
    nextYr = _4;
    nextYr++;
  }
  else {
    nextMnth = _3;
    nextMnth++;
    nextYr = _4;
  }
  str = (nextMnth + 1) + "/1/" + nextYr;
  dt = new Date(str);
  return dt;
}

function getNoOfDaysInMnth(_5, yr) {
  return 32 - new Date(yr, _5 - 1, 32).getDate();
}

function Left(_7, n) {
  if (n <= 0) {
    return "";
  }
  else {
    if (n > String(_7).length) {
      return _7;
    }
    else {
      return String(_7).substring(0, n);
    }
  }
}

function Right(_9, n) {
  if (n <= 0) {
    return "";
  }
  else {
    if (n > String(_9).length) {
      return _9;
    }
    else {
      var _b = String(_9).length;
      return String(_9).substring(_b, _b - n);
    }
  }
}

function ToInt(_c) {
  if (Left(_c, 1) == "0") {
    return parseInt(Right(_c, 1));
  }
  else {
    return parseInt(_c);
  }
}

function ToString(_d) {
  if (_d < 10) {
    return "0" + _d;
  }
  else {
    return _d.toString();
  }
}

function Trim(_e) {
  return _e.replace(/^\s*|\s*$/g, "");
}

function getDateYear(_f) {
  return _f.getFullYear();
}

function getDateMonth(_10) {
  return _10.getMonth();
}

function getDateDay(_11) {
  return _11.getDate();
}

function GetDateDiff(_12, _13) {
  return (Math.round((_12.getTime() - _13.getTime()) / (24 * 60 * 60 * 1000)));
}

function genArriveMonthArray() {
  var _14 = new Array();
  var _15 = new Date();
  for (var i = 0; i < 18; i++) {
    var _17 = _15;
    var _18 = Left(getMonthName(getDateMonth(_17)), 3) + " " + Right(getDateYear(_17), 4);
    var _19 = getDateYear(_17) + ToString(getDateMonth(_17) + 1);
    _14[i] = new Array(_18, _19);
    _15 = nextMonth(_17);
  }
  return _14;
}

function genDepartMonthArray() {
  var _1a = new Array();
  var _1b = GetDateFromString(document.getElementById("selectedarrivemonth").value + document.getElementById("selectedarrivedate").value, 0);
  for (var i = 0; i < 2; i++) {
    var _1d = _1b;
    var _1e = Left(getMonthName(getDateMonth(_1d)), 3) + " " + Right(getDateYear(_1d), 4);
    var _1f = getDateYear(_1d) + ToString(getDateMonth(_1d) + 1);
    _1a[i] = new Array(_1e, _1f);
    _1b = nextMonth(_1d);
  }
  return _1a;
}

function getDateArray(_20, _21) {
  var _22 = new Array();
  for (var i = 0; i <= _21 - _20; i++) {
    _22[i] = i + _20;
  }
  return _22;
}

function loadArriveMonth() {
  var _24 = document.getElementById("arriveMonth");
  var _25 = genArriveMonthArray();
  for (var i = 0; i < _25.length; i++) {
    var _27 = document.createElement("option");
    _27.text = _25[i][0];
    _27.value = _25[i][1];
    try {
      _24.add(_27, null);
    }
    catch (ex) {
      _24.add(_27);
    }
  }
}

function loadDepartMonth() {
  var _28 = document.getElementById("departMonth");
  var _29 = _28.getElementsByTagName("option");
  var _2a = genDepartMonthArray();
  for (var i = _29.length - 1; i >= 0; i--) {
    _28.remove(i);
  }
  for (var i = 0; i < _2a.length; i++) {
    var _2c = document.createElement("option");
    _2c.text = _2a[i][0];
    _2c.value = _2a[i][1];
    try {
      _28.add(_2c, null);
    }
    catch (ex) {
      _28.add(_2c);
    }
  }
}

function loadDate(_2d, _2e) {
  var _2f = document.getElementById(_2e);
  var _30 = _2f.selectedIndex;
  var _31 = _2f.getElementsByTagName("option");
  var y = Left(_31[_30].value, 4);
  var m = parseInt(_31[_30].value.replace(y, "")) + 1;
  var _34 = getNoOfDaysInMnth(m - 1, y);
  var _35 = 1;
  var _36 = document.getElementById(_2d);
  var _31 = _36.getElementsByTagName("option");
  var _37 = getDateArray(_35, _34);
  for (var i = _31.length - 1; i >= 0; i--) {
    _36.remove(i);
  }
  for (var i = 0; i < _37.length; i++) {
    var _31 = document.createElement("option");
    _31.text = _37[i];
    _31.value = _37[i];
    if (_2d == "arriveDate" && _37[i] == document.getElementById("selectedarrivedate").value) {
      _31.selected = true;
    }
    if (_2d == "departDate" && _37[i] == document.getElementById("selecteddepartdate").value) {
      _31.selected = true;
    }
    try {
      _36.add(_31, null);
    }
    catch (ex) {
      _36.add(_31);
    }
  }
}

function getSelectedDate(_39) {
  var _3a = document.getElementById(_39);
  var _3b = _3a.selectedIndex;
  var _3c = _3a.getElementsByTagName("option");
  var y = Left(_3c[_3b].value, 4);
  var m = parseInt(_3c[_3b].value.replace(y, ""));
  return getNoOfDaysInMnth(m, y);
}

function dayOfWeek() {
  var dt = new Date();
  return getDateDay(dt);
}

function CheckinOnSelect(_40, dd) {
  var _42 = new Date();
  var _43 = GetDPCheckDate(_40, dd);
  if (GetDateDiff(_42, _43) > 0) {
    _43 = _42;
  }
  InitialArriveDateMonth(_43);
  loadDepartMonth();
  if (_43 != null) {
    var _44 = GetDateFromString(GetStringFromDate(_43), 24);
    InitialDepartDateMonth(_44);
    SetDPValue(GetStringFromDate(_43), GetStringFromDate(_44));
  }
  loadDateNights();
}

function CheckoutOnSelect(_45, dd) {
  var _47 = GetDPCheckDate(_45, dd);
  var _48 = GetDPCheckDate("arriveMonth", "arriveDate");
  if (GetDateDiff(_48, _47) > 0) {
    _47 = GetDateFromString(GetStringFromDate(_48), 24);
    SetDPValue(GetStringFromDate(_48), GetStringFromDate(_47));
  }
  if (GetDateDiff(_47, _48) > 30) {
    _47 = GetDateFromString(GetStringFromDate(_48), 30 * 24);
    SetDPValue(GetStringFromDate(_48), GetStringFromDate(_47));
  }
  InitialDepartDateMonth(_47);
  loadDateNights();
}

function GetDPCheckDate(_49, dd) {
  var _4b;
  var _4c = GetDPControlValue(_49) + ToString(GetDPControlValue(dd));
  if (_4c != "") {
    _4b = GetDateFromString(_4c, 0);
  }
  else {
    _4b = null;
  }
  return _4b;
}

function GetDPControlValue(_4d) {
  var _4e = document.getElementById(_4d);
  var _4f = _4e.getElementsByTagName("option");
  return _4f[_4e.selectedIndex].value;
}

function GetDateFromString(_50, _51) {
  var yr = Left(_50, 4);
  var mth = Left(_50.replace(yr, ""), 2);
  var dt = Right(_50, 2);
  var _55 = new Date(ToInt(yr), ToInt(mth) - 1, ToInt(dt), _51);
  return _55;
}

function GetStringFromDate(_56) {
  var yr = ToString(_56.getFullYear());
  var mth = ToString(_56.getMonth() + 1);
  var dt = ToString(_56.getDate());
  return yr + mth + dt;
}

function GetDPSelectedIndex(_5a, _5b) {
  var dp = document.getElementById(_5a);
  var op = dp.getElementsByTagName("option");
  var _5e;
  for (var i = 0; i < op.length; i++) {
    if (op[i].value == _5b) {
      _5e = i;
    }
  }
  return _5e;
}

function SetDPValue(_60, _61) {
  var _62 = document.getElementById("arriveMonth");
  var _63 = document.getElementById("arriveDate");
  _62.selectedIndex = GetDPSelectedIndex("arriveMonth", Left(_60, 6));
  _63.selectedIndex = GetDPSelectedIndex("arriveDate", ToInt(Right(_60, 2)));
  var _64 = document.getElementById("departMonth");
  var _65 = document.getElementById("departDate");
  _64.selectedIndex = GetDPSelectedIndex("departMonth", Left(_61, 6));
  _65.selectedIndex = GetDPSelectedIndex("departDate", ToInt(Right(_61, 2)));
}

function loadDpSelectEvent(_66) {
  var _67 = document.getElementById(_66);
  _67.onchange = function () {
    controlOnSelect(_66);
  };
}

function controlOnSelect(_68) {
  switch (_68) {
  case "arriveDate":
    CheckinOnSelect("arriveMonth", "arriveDate");
  case "arriveMonth":
    CheckinOnSelect("arriveMonth", "arriveDate");
    loadDate("arriveDate", "arriveMonth");
  case "departMonth":
    CheckoutOnSelect("departMonth", "departDate");
    loadDate("departDate", "departMonth");
  case "departDate":
    CheckoutOnSelect("departMonth", "departDate");
  }
}

function InitialDateMonth() {
  var _69 = new Date();
  var _6a = GetDateFromString(GetStringFromDate(_69), 24);
  var _6b = GetDateFromString(GetStringFromDate(_69), 48);
  InitialArriveDateMonth(_6a);
  InitialDepartDateMonth(_6b);
}

function InitialArriveDateMonth(_6c) {
  var sad = document.getElementById("selectedarrivedate");
  var sam = document.getElementById("selectedarrivemonth");
  sad.value = ToString(getDateDay(_6c));
  sam.value = ToString(getDateYear(_6c)) + ToString(getDateMonth(_6c) + 1);
}

function InitialDepartDateMonth(_6f) {
  var spd = document.getElementById("selecteddepartdate");
  var spm = document.getElementById("selecteddepartmonth");
  spd.value = ToString(getDateDay(_6f));
  spm.value = ToString(getDateYear(_6f)) + ToString(getDateMonth(_6f) + 1);
}

function loadDateNights() {
  var aD = GetDateFromString(document.getElementById("selectedarrivemonth").value + document.getElementById("selectedarrivedate").value, 0);
  var dD = GetDateFromString(document.getElementById("selecteddepartmonth").value + document.getElementById("selecteddepartdate").value, 0);
  var _74 = document.getElementById("arriveDay");
  while (_74.lastChild) {
    _74.removeChild(_74.lastChild);
  }
  _74.appendChild(document.createTextNode(toWordDay(aD.getDay())));
  var _75 = document.getElementById("departDay");
  while (_75.lastChild) {
    _75.removeChild(_75.lastChild);
  }
  _75.appendChild(document.createTextNode(toWordDay(dD.getDay())));
  var num = document.getElementById("numberOfNights");
  while (num.lastChild) {
    num.removeChild(num.lastChild);
  }
  num.appendChild(document.createTextNode(GetDateDiff(dD, aD)));
  if (GetDateDiff(dD, aD) == 1) {
    document.getElementById("labelForNumberOfNights").innerHTML = "Night";
  }
  else {
    document.getElementById("labelForNumberOfNights").innerHTML = "Nights";
  }
}

function loadPage() {
  document.getElementById("arriveMonth").innerHTML = "";
  InitialDateMonth();
  loadArriveMonth();
  loadDepartMonth();
  loadDate("arriveDate", "arriveMonth");
  loadDate("departDate", "departMonth");
  loadDpSelectEvent("arriveDate");
  loadDpSelectEvent("arriveMonth");
  loadDpSelectEvent("departDate");
  loadDpSelectEvent("departMonth");
  loadDateNights();
}

function toWordDay(n) {
  switch (n) {
  case 0:
    return ("Sunday");
  case 1:
    return ("Monday");
  case 2:
    return ("Tuesday");
  case 3:
    return ("Wednesday");
  case 4:
    return ("Thursday");
  case 5:
    return ("Friday");
  case 6:
    return ("Saturday");
  }
}

function addLoadEvent(_78) {
  var _79 = window.onload;
  if (typeof window.onload != "function") {
    window.onload = _78;
  }
  else {
    window.onload = function () {
      if (_79) {
        _79();
      }
      _78();
    };
  }
}
addLoadEvent(loadPage);
$(document).ready(function () {
  $("#begin_date").datePicker({
    createButton: false,
    displayClose: true,
    startDate: "01/01/2008",
    endDate: "31/12/2014"
  }).bind("click", function () {
    $("#teaserform input, #teaserform select").attr("disabled", "disabled");
    $(this).dpDisplay();
    return false;
  }).bind("dateSelected", function (e, _7b, $td, _7d) {
    _7e(_7b);
  }).bind("dpClosed", function (e, _80) {
    var d = _80[0];
    if (d) {
      d = new Date(d);
      $("#end_date").dpSetStartDate(d.addDays(1).asString());
    }
    $("#teaserform input, #teaserform select").attr("disabled", "");
  }).dpSetPosition($.dpConst.POS_TOP, $.dpConst.POS_RIGHT);
  var _7e = function (_82) {
      _82 = new Date(_82);
      var d = _82.getDate();
      var m = _82.getMonth() + 1;
      var y = _82.getFullYear();
      var _86 = "";
      var _87 = "";
      if (m < 10) {
        _87 = "0";
      }
      if (d < 10) {
        _86 = "0";
      }
      var _88 = y.toString() + _87 + m.toString();
      var _89 = _86 + d.toString();
      $("#selectedarrivedate").attr({
        "value": _89
      });
      $("#selectedarrivemonth").attr({
        "value": _88
      });
      var _8a = 0;
      var _8b = document.getElementById("arriveMonth");
      for (var _8c = 0; _8c < $("#arriveMonth option").size(); _8c++) {
        if (_8b[_8c].value == _88) {
          var _8a = _8c;
        }
      }
      document.getElementById("arriveMonth").selectedIndex = _8a;
      loadDate("arriveDate", "arriveMonth");
      loadDepartMonth("departDate", "departMonth");
      CheckoutOnSelect("departMonth", "departDate");
      loadDate("departDate", "departMonth");
    };
  $("#end_date").datePicker({
    createButton: false,
    displayClose: true,
    startDate: "01/01/2008",
    endDate: "31/12/2011"
  }).bind("click", function () {
    $(this).queue(function () {
      $("#teaserform input, #teaserform select").attr("disabled", "disabled");
      $(this).dequeue();
    });
    $(this).dpDisplay();
    return false;
  }).bind("dateSelected", function (e, _8e, $td, _90) {
    _91(_8e);
  }).bind("dpClosed", function (e, _93) {
    $("#teaserform input, #teaserform select").attr("disabled", "");
  }).dpSetPosition($.dpConst.POS_TOP, $.dpConst.POS_RIGHT);
  var _91 = function (_94) {
      _94 = new Date(_94);
      var d = _94.getDate();
      var m = _94.getMonth() + 1;
      var y = _94.getFullYear();
      var _98 = "";
      var _99 = "";
      if (m < 10) {
        _99 = "0";
      }
      if (d < 10) {
        _98 = "0";
      }
      var _9a = y.toString() + _99 + m.toString();
      var _9b = _98 + d.toString();
      $("#selecteddepartdate").attr({
        "value": _9b
      });
      $("#selecteddepartmonth").attr({
        "value": _9a
      });
      var _9c = 0;
      var _9d = document.getElementById("departMonth");
      for (var _9e = 0; _9e < $("#departMonth option").size(); _9e++) {
        if (_9d[_9e].value == _9a) {
          var _9c = _9e;
        }
      }
      document.getElementById("departMonth").selectedIndex = _9c;
      loadDate("departDate", "departMonth");
    };
});
