﻿var totAdults;                                      //NUMBER OF ADULTS TRAVELLING AS SELECTED ON SEARCH TILE
var totChildren;                                    //NUMBER OF CHILDREN TRAVELLING AS SELECTED ON SEARCH TILE
var totInfants;                                     //NUMBER OF INFANTS TRAVELLING AS SELECTED ON SEARCH TILE
var selectedDestinationCode;                        //THE CURRENT CETRES CODE
var depDate;                                        //THE DATE AS SELECTED ON SEARCH TILE
var duration;                                       //THE DURATION OF THE HOLIDAY IN WEEKS
var depDateObj;                                     //DATE OBJECT CREATED FROM THE DEPARTURE DATE
var depAirport;                                     //THE AIPORT AS SELECTED ON THE SEARCH TILE
var isPageLoaded;
var isLoadEvent = false;
var prevSelAdult;   //Holds previous selected adult quantity
var prevSelChild;   //Holds previous selected child quantity
var prevSelInfant;  //Holds previous selected infant quantity
var prevSelDuration; //Holds previous selected duration quantity
var prevSelFlight;  //Holds previous selected airport name quantity
var curSelectedDate = "";        //THIS IS USED TO HOLD CURRENT SELETED DATE ACROSS ALL FUNCTION
var jsAllCentreDates = "";
var arrVillLoaded = false;
var clickSearch = false;

function js_controller_searchTile(sender, event) {
  try {
    switch (sender.toLowerCase()) {
      case "body":
        if (event.toLowerCase() == "onload") {
          DeCompressDates();
          ClearDropDown(ddDestinationsId);
          fillDestinations(ddDestinationsId, arrDestinations);

          GetPostedSearchTileDetails();
          SetDropDownDefault(selectedDestinationCode, ddDestinationsId);

          isLoadEvent = true;
          isPageLoaded = false;
          js_controller_searchTile(ddDestinationsId, 'onChange');
          isLoadEvent = false;

          ds_shChanged(hiddenDateId, datePickerId);

          var adultCtrl = document.getElementById(ddAdultsId);
          var childCtrl = document.getElementById(ddChildrenId);
          var infantCtrl = document.getElementById(ddInfantsId);
          var durationCtrl = document.getElementById(ddDurationId);
          var airportCtrl = document.getElementById(ddAirportsId);

          prevSelAdult = adultCtrl.options[adultCtrl.options.selectedIndex].value;
          prevSelChild = childCtrl.options[childCtrl.options.selectedIndex].value;
          prevSelInfant = infantCtrl.options[infantCtrl.options.selectedIndex].value;
          prevSelDuration = durationCtrl.options[durationCtrl.options.selectedIndex].value;
          prevSelFlight = airportCtrl.options[airportCtrl.options.selectedIndex].value;

          isPageLoaded = true;
          if (showIncompleteBooking == 1) {
            DisableParent();
          }
          else {
            EnableParent();
          }

          EnableDisableSearchButton("imgsearchid", "enable");

          ChangeThePassengerLable();
          // Initialize the tray events.
          initializeTrayEvents();
        }
        break;
      case ddDestinationsId.toLowerCase():
        if (event.toLowerCase() == "onchange") {
          var adultCtrl = document.getElementById(ddAdultsId);
          var childCtrl = document.getElementById(ddChildrenId);
          var infantCtrl = document.getElementById(ddInfantsId);
          var durationCtrl = document.getElementById(ddDurationId);
          var airportCtrl = document.getElementById(ddAirportsId);
          var destCtrl = document.getElementById(ddDestinationsId);

          if (isLoadEvent == false) {
            prevSelAdult = adultCtrl.options[adultCtrl.options.selectedIndex].value;
            prevSelAdult = parseInt(prevSelAdult);
            prevSelChild = childCtrl.options[childCtrl.options.selectedIndex].value;
            prevSelInfant = infantCtrl.options[infantCtrl.options.selectedIndex].value;
            prevSelDuration = durationCtrl.options[durationCtrl.options.selectedIndex].value;
            prevSelFlight = airportCtrl.options[airportCtrl.options.selectedIndex].value;
            duration = prevSelDuration;
          }

          ClearDropDown(ddDurationId);
          ClearDropDown(ddAdultsId);
          ClearDropDown(ddChildrenId);
          ClearDropDown(ddInfantsId);
          ClearDropDown(ddAirportsId);

          ds_shChanged(hiddenDateId, datePickerId);
          fillDuration(ddDurationId);
          fillAdultPax(ddAdultsId, arrMaxPax, destCtrl.options[destCtrl.options.selectedIndex].value);
          fillChildPax(ddChildrenId, arrMaxPax, destCtrl.options[destCtrl.options.selectedIndex].value);
          fillInfantPax(ddInfantsId, arrMaxPax, destCtrl.options[destCtrl.options.selectedIndex].value);
          fillAirports(ddAirportsId, arrAirports, destCtrl.options[destCtrl.options.selectedIndex].value);

          if (isLoadEvent == false) {
            storeSearchTilePreviousValues();
          }
          else {
            SetDropDownDefault(totAdults, ddAdultsId);
            SetDropDownDefault(totChildren, ddChildrenId);
            SetDropDownDefault(totInfants, ddInfantsId);
            SetDropDownDefault(duration, ddDurationId);
            SetDropDownDefault(depAirport, ddAirportsId);
          }
        }
        break;
      case "ddavailability":
        if (event.toLowerCase() == "onchange") {
          ClearDropDown(ddDurationId);
        }
        break;

      case imgsearchId.toLowerCase():

        if (event.toLowerCase() == "click") {
          if (ValidateOccupancy() == false) {
            clickSearch = false;
            EnableDisableSearchButton("imgsearchid", "enable");
            return;
          }
          if (ValidateDate() == false) {
            clickSearch = false;
            EnableDisableSearchButton("imgsearchid", "enable");
            return;
          }
          if (ValidateInfant() == false) {
            clickSearch = false;
            EnableDisableSearchButton("imgsearchid", "enable");
            return;
          }
          if (ValidateAirport() == false) {
            clickSearch = false;
            EnableDisableSearchButton("imgsearchid", "enable");
            return;
          }
          if (!isCentre) {
            var strUrl = "http://" + serverName;
            clickSearch = true;
            EnableDisableSearchButton("imgsearchid", "disable");
          }
          else {
            var VD = ReturnVirDirectory(gSTR_CENTRE_CODE);
            var strUrl = "";
            if (VD == "") {
              strUrl = "http://" + serverName;
            }
            else {
              strUrl = "http://" + serverName + "/" + ReturnVirDirectory(gSTR_CENTRE_CODE);
            }
            clickSearch = true;
            EnableDisableSearchButton("imgsearchid", "disable");
          }
          //3891- Searchresults page URL Change
          strUrl += "/searchresults.aspx";

          setHiddenFieldValues();
          CreateXML();
          document.forms[0].action = strUrl;
          document.forms[0].method = "post";
          document.forms[0].submit();
        }

        if (event.toLowerCase() == "mouseover" && !clickSearch) {
          var chkObject = null;
          chkObject = document.getElementById("search_imgsearchOver");
          if (chkObject != null) {
            swapImage(document.getElementById("search_imgsearchOver"), document.getElementById("search_imgsearch"));
          }
          else {
            swapImage(document.getElementById("ctl00_leftMenu_search_imgsearchOver"), document.getElementById("ctl00_leftMenu_search_imgsearch"));
          }
        }
        break;

      case "imgsearch":
        if (event.toLowerCase() == "mouseout" && !clickSearch) {
          var chkObject = null;
          chkObject = document.getElementById("search_imgsearchOver");
          if (chkObject != null) {
            swapImage(document.getElementById("search_imgsearch"), document.getElementById("search_imgsearchOver"));
          }
          else {
            swapImage(document.getElementById("ctl00_leftMenu_search_imgsearch"), document.getElementById("ctl00_leftMenu_search_imgsearchOver"));
          }
        }
        break;
      case ddAirportsId.toLowerCase():
        ChangeThePassengerLable();

        break;
      case imgSearchVillaId.toLowerCase():

        if (event.toLowerCase() == "click") {
          var strUrl = "";
          clickSearch = true;
          if (Trim(document.forms[0].txtVilla.value) == "") {
            clickSearch = false;
            var objAnchor = getAnchorPosition('txtVilla');
            try {
              if (isASP == "1") {
                showAlert("Incorrect Input", "Please enter a valid villa name.", "OK", 250, 90, objAnchor, '', 'undefined');
                EnableDisableSearchButton("imgsearchvillaid", "enable");
              }
              else {
                showAlertIFrame("Incorrect Input", "Please enter a valid villa name.", "OK", 250, 90, objAnchor, '', 'undefined');
                EnableDisableSearchButton("imgsearchvillaid", "enable");
              }
            }
            catch (e) {
              showAlertIFrame("Incorrect Input", "Please enter a valid villa name.", "OK", 250, 90, objAnchor, '', 'undefined');
            }
          }
          else {
            try {
              if (document.forms[0].selVillas.selectedIndex != -1) {
                EnableDisableSearchButton("imgsearchvillaid", "disable");
                strUrl = getUrl(document.forms[0].selVillas.options[document.forms[0].selVillas.options.selectedIndex].value, arrV);
                strUrl = strUrl + "code/villas/villaindividual.asp?id=" + document.forms[0].selVillas.options[document.forms[0].selVillas.options.selectedIndex].value;
                window.open(strUrl, "_parent");
              }
              else {
                strUrl = getUrl(document.forms[0].txtVilla.value, arrV);
                if (strUrl.indexOf("http://") >= 0) {
                  EnableDisableSearchButton("imgsearchvillaid", "disable");
                  //3871
                  strUrl = strUrl + "code/villas/villaindividual.asp?id=" + document.forms[0].txtVilla.value;
                  window.open(strUrl, "_parent");
                }
                else {
                  var objAnchor = getAnchorPosition('txtVilla');
                  clickSearch = false;
                  try {
                    if (isASP == "1") {
                      showAlert("Incorrect Input", "Please enter a valid villa name.", "OK", 250, 90, objAnchor, '', 'undefined');
                      EnableDisableSearchButton("imgsearchvillaid", "enable");
                    }
                    else {
                      showAlertIFrame("Incorrect Input", "Please enter a valid villa name.", "OK", 250, 90, objAnchor, '', 'undefined');
                      EnableDisableSearchButton("imgsearchvillaid", "enable");
                    }
                  }
                  catch (e) {
                    showAlertIFrame("Incorrect Input", "Please enter a valid villa name.", "OK", 250, 90, objAnchor, '', 'undefined');
                  }
                }
              }
            }
            catch (e) {
              var objAnchor = getAnchorPosition('txtVilla');
              clickSearch = false;
              try {
                if (isASP == "1") {
                  showAlert("Incorrect Input", "Please enter a valid villa name.", "OK", 250, 90, objAnchor, '', 'undefined');
                  EnableDisableSearchButton("imgsearchvillaid", "enable");
                }
                else {
                  showAlertIFrame("Incorrect Input", "Please enter a valid villa name.", "OK", 250, 90, objAnchor, '', 'undefined');
                  EnableDisableSearchButton("imgsearchvillaid", "enable");
                }
              }
              catch (e) {
                showAlertIFrame("Incorrect Input", "Please enter a valid villa name.", "OK", 250, 90, objAnchor, '', 'undefined');
              }
            }
          }
        }
        if (event.toLowerCase() == "mouseover" && clickSearch == false) {
          swapImage(document.getElementById(imgSearchVillaOverId), document.getElementById(imgSearchVillaId));
        }
        if (event.toLowerCase() == "mouseout" && clickSearch == false) {
          swapImage(document.getElementById(imgSearchVillaId), document.getElementById(imgSearchVillaOverId));
        }
        break;
      case "dvdestination":                       //CLICK OF THE DESTINATION TAB
        if (event.toLowerCase() == "click") {
          var obj = document.getElementById(imgDestinationId);
          if (obj == null) {
            show('search1_imgDestination');
            hide('search1_imgVilla');
          }
          else {
            show(imgDestinationId);
            hide(imgVillaId);
          }
          hide('villas');
          hide('brochureRequest');
          show('destinations');
        }
        if (event.toLowerCase() == "mouseover") {
          SwapImageShowHide(document.getElementById(imgDestinationId), document.getElementById(imgVillaId));
        }
        if (event.toLowerCase() == "mouseout") {
          if (document.getElementById('destinations').style.display == "none") swapImage(document.getElementById(imgVillaId), document.getElementById(imgDestinationId));
        }
        break;
      case "dvvillas":                            //CLICK OF THE VILLAS TAB
        if ((event.toLowerCase() == "click") && (arrVillLoaded == true)) {
          var obj = document.getElementById(imgDestinationId);
          document.forms[0].txtVilla.value = "";
          ClearDropDown('selVillas');
          if (obj == null) {
            show(imgVillaId);
            hide(imgDestinationId);
          }
          else {
            show(imgVillaId);
            hide(imgDestinationId);
          }
          hide('destinations');
          show('villas');
          show('brochureRequest');
          if (arrVillLoaded == true) {
            document.forms[0].txtVilla.focus();
          }
        }
        if ((event.toLowerCase() == "mouseover") && (arrVillLoaded == true)) {
          SwapImageShowHide(document.getElementById(imgVillaId), document.getElementById(imgDestinationId));
        }
        if ((event.toLowerCase() == "mouseout") && (arrVillLoaded == true)) {
          if (document.getElementById('villas').style.display == "none") SwapImageShowHide(document.getElementById(imgDestinationId), document.getElementById(imgVillaId));
        }
        break;
      case helpImgId.toLowerCase():
        if (event.toLowerCase() == "onmouseover") {
          showLayer('dvHelp', 'search_closeHelp');            //FUNCTION DEFINED IN SUPPORT JS
          swapImage(document.getElementById(helpImgOverId), document.getElementById(helpImgId));
        }
        if (event.toLowerCase() == "onmouseout") {
          hideLayer('dvHelp');                                //FUNCTION DEFINED IN SUPPORT JS
          swapImage(document.getElementById(helpImgId), document.getElementById(helpImgOverId));
        }
        break;
      case calIconId.toLowerCase():
        if (event.toLowerCase() == "mouseover") {
          swapImage(document.getElementById(calIconOverId), document.getElementById(calIconId));
        }
        if (event.toLowerCase() == "mouseout") {
          swapImage(document.getElementById(calIconId), document.getElementById(calIconOverId));
        }
        break;
      case "enews1":
        if (event.toLowerCase() == "mouseover") {
          swapImage(document.getElementById('eNews1On'), document.getElementById('eNews1'));
        }
        if (event.toLowerCase() == "mouseout") {
          swapImage(document.getElementById('eNews1'), document.getElementById('eNews1On'));
        }
        break;

      case "enews":
        if (event.toLowerCase() == "mouseover") {
          swapImage(document.getElementById('eNews2On'), document.getElementById('eNews2'));
        }
        if (event.toLowerCase() == "mouseout") {
          swapImage(document.getElementById('eNews2'), document.getElementById('enews2On'));
        }

        break;
      case "eco":
        if (event.toLowerCase() == "mouseover") {
          swapImage(document.getElementById('ecoOn'), document.getElementById('eco'));
        }
        if (event.toLowerCase() == "mouseout") {
          swapImage(document.getElementById('eco'), document.getElementById('ecoOn'));
        }
        break;
      case "atol":
        if (event.toLowerCase() == "mouseover") {
          swapImage(document.getElementById('atolOn'), document.getElementById('atol'));
        }
        if (event.toLowerCase() == "mouseout") {
          swapImage(document.getElementById('atol'), document.getElementById('atolOn'));
        }
        break;
      case "imgyearsestablish":
        if (event.toLowerCase() == "mouseover") {
          SwapImageShowHide(document.getElementById("imgYearsEstablishOn"), document.getElementById("imgYearsEstablish"));
        }
        if (event.toLowerCase() == "mouseout") {
          SwapImageShowHide(document.getElementById("imgYearsEstablish"), document.getElementById("imgYearsEstablishOn"));
        }
        break;
      case "slidea":
        var objDiv = document.getElementById('comfort');
        var divHeight = objDiv.style.height.replace("px", "");

        //Big DIV
        if (parseInt(divHeight) > 120) {
          if (event.toLowerCase() == "mouseover") {
            document.getElementById('SlideA').src = gSTR_COMMON_IMG_PATH + "common/Slider_BlueBigON.gif";
          }
          if (event.toLowerCase() == "mouseout") {
            document.getElementById('SlideA').src = gSTR_COMMON_IMG_PATH + "common/Slider_BlueBigOFF.gif";
          }
        }
        else    //Small Div
        {
          if (event.toLowerCase() == "mouseover") {
            swapImage(document.getElementById('SlideAOn'), document.getElementById('SlideA'));
          }
          if (event.toLowerCase() == "mouseout") {
            swapImage(document.getElementById('SlideA'), document.getElementById('SlideAOn'));
          }
        }
        break;
      case "slideb":
        var objDiv = document.getElementById('Relax');
        var divHeight = objDiv.style.height.replace("px", "");
        //Big DIV
        if (parseInt(divHeight) > 120) {
          if (event.toLowerCase() == "mouseover") {
            document.getElementById('SlideB').src = gSTR_COMMON_IMG_PATH + "/common/Slider_YellowBigON.gif";
          }
          if (event.toLowerCase() == "mouseout") {
            document.getElementById('SlideB').src = gSTR_COMMON_IMG_PATH + "/common/Slider_YellowBigOFF.gif";
          }
        }
        else    //Small Div
        {
          if (event.toLowerCase() == "mouseover") {
            swapImage(document.getElementById('SlideBOn'), document.getElementById('SlideB'));
          }
          if (event.toLowerCase() == "mouseout") {
            swapImage(document.getElementById('SlideB'), document.getElementById('SlideBOn'));
          }
        }
        break;
      case "slidec":
        var objDiv = document.getElementById('peace');
        var divHeight = objDiv.style.height.replace("px", "");
        //Big DIV
        if (parseInt(divHeight) > 120) {
          if (event.toLowerCase() == "mouseover") {
            document.getElementById('SlideC').src = gSTR_COMMON_IMG_PATH + "/common/Slider_YellowBigON.gif";
          }
          if (event.toLowerCase() == "mouseout") {
            document.getElementById('SlideC').src = gSTR_COMMON_IMG_PATH + "/common/Slider_YellowBigOFF.gif";
          }
        }
        else    //Small Div
        {
          if (event.toLowerCase() == "mouseover") {
            swapImage(document.getElementById('SlideCOn'), document.getElementById('SlideC'));
          }
          if (event.toLowerCase() == "mouseout") {
            swapImage(document.getElementById('SlideC'), document.getElementById('SlideCOn'));
          }
        }
        break;
      case "slided":
        var objDiv = document.getElementById('villa');
        var divHeight = objDiv.style.height.replace("px", "");
        //Big DIV
        if (parseInt(divHeight) > 120) {
          if (event.toLowerCase() == "mouseover") {
            document.getElementById('SlideD').src = gSTR_COMMON_IMG_PATH + "/common/Slider_BlueBigON.gif";
          }
          if (event.toLowerCase() == "mouseout") {
            document.getElementById('SlideD').src = gSTR_COMMON_IMG_PATH + "/common/Slider_BlueBigOFF.gif";
          }
        }
        else    //Small Div
        {
          if (event.toLowerCase() == "mouseover") {
            swapImage(document.getElementById('SlideDOn'), document.getElementById('SlideD'));
          }
          if (event.toLowerCase() == "mouseout") {
            swapImage(document.getElementById('SlideD'), document.getElementById('SlideDOn'));
          }
        }
        break;
      case "whychoose":
        if (event.toLowerCase() == "mouseover") {
          swapImage(document.getElementById('whychooseOn'), document.getElementById('whychoose'));
        }
        if (event.toLowerCase() == "mouseout") {
          swapImage(document.getElementById('whychoose'), document.getElementById('whychooseOn'));
        }
        break;
      case "cmdbrochure":

        if (event.toLowerCase() == "mouseover") {
          swapImage(gSTR_COMMON_IMG_PATH + "/common/brochureBullet_on.gif", document.getElementById('cmdBrochure'));
        }
        if (event.toLowerCase() == "mouseout") {
          swapImage(gSTR_COMMON_IMG_PATH + "/common/brochureBullet.gif", document.getElementById('cmdBrochure'));
        }
        break;
      case "brochure":

        if (event.toLowerCase() == "mouseover") {

          SwapImageShowHide(document.getElementById('brochure_On'), document.getElementById('brochure_Off'));
        }
        if (event.toLowerCase() == "mouseout") {

          SwapImageShowHide(document.getElementById('brochure_Off'), document.getElementById('brochure_On'));
        }
        break;
    }
  }
  catch (e)
    { }
}

//Objective of this method is to not allow the user to continue when infants are greater than adults .
function ValidateInfant() {
  try {
    var objAnchor = getAnchorPosition(ddAdultsId);
    var objDrpAdults = document.getElementById(ddAdultsId);
    var objDrpInfants = document.getElementById(ddInfantsId);
    var totAdults = parseInt(objDrpAdults.options[objDrpAdults.selectedIndex].value);
    var totInfant = parseInt(objDrpInfants.options[objDrpInfants.selectedIndex].value);
    if (parseInt(totInfant) > parseInt(totAdults)) {
      showAlert("Incorrect Input", "Number of infants can not be more than the number of adults travelling.", "OK", 280, 90, objAnchor, '', 'undefined');
      return false;
    }
  }
  catch (e)
    { }
}

function ChangeThePassengerLable() {
  var airportCtrl = document.getElementById(ddAirportsId);
  SelectedFlight = airportCtrl.options[airportCtrl.options.selectedIndex].value;
  var paxheading = document.getElementById('paxheading');
  if (SelectedFlight == -1) {
    paxheading.innerHTML = '<b>Party Members</b>';
  }
  else {
    paxheading.innerHTML = '<b>Passengers</b>';
  }
}

function DeCompressDates() {
  try {
    var jsCenterWiseDates = jsAllCentreDatesCompressed.split("|");
    for (j = 0; j < jsCenterWiseDates.length; j++) {
      if (jsAllCentreDates == "") {
        jsAllCentreDates = jsAllCentreDates + jsCenterWiseDates[j].split("=")[0] + "=";
      }
      else {
        jsAllCentreDates = jsAllCentreDates + "|" + jsCenterWiseDates[j].split("=")[0] + "=";
      }
      var arrAvailYearsOfVilla = jsCenterWiseDates[j].split("Y");
      var arrAvailMonthsOfVilla;
      var arrAvailDatesOfVilla;
      var displayDate, displayYear, displayMonth, displayDay, valueDate;
      var thisCentreDates = "";
      for (var intIndex = 0, intOptions = 0; intIndex < arrAvailYearsOfVilla.length; intIndex++) {
        arrAvailMonthsOfVilla = arrAvailYearsOfVilla[intIndex].split("M");
        if (arrAvailMonthsOfVilla.length > 1) {
          displayYear = arrAvailMonthsOfVilla[0];
          for (var intMonthIndex = 1; intMonthIndex < arrAvailMonthsOfVilla.length; intMonthIndex++) {
            arrAvailDatesOfVilla = arrAvailMonthsOfVilla[intMonthIndex].split("D");
            if (arrAvailDatesOfVilla.length > 1) {
              displayMonth = arrAvailDatesOfVilla[0];
              arrAllAvailDatesOfVilla = arrAvailDatesOfVilla[1].split(",");
              for (var intDayIndex = 0; intDayIndex < arrAllAvailDatesOfVilla.length; intDayIndex++) {
                displayDay = arrAllAvailDatesOfVilla[intDayIndex];
                valueDate = displayYear + '-' + displayMonth + '-' + displayDay;
                if (thisCentreDates == "") {
                  thisCentreDates = valueDate;
                }
                else {
                  thisCentreDates = thisCentreDates + "," + valueDate;
                }
              }
            }
          }
        }
      }
      jsAllCentreDates = jsAllCentreDates + thisCentreDates;
    }
  }
  catch (e) { }
}

function GetPostedSearchTileDetails() {
  var form = document.forms[0];
  totAdults = form.hdn_Adults.value;
  totChildren = form.hdn_Children.value;
  totInfants = form.hdn_Infants.value;
  selectedDestinationCode = Trim(form.hdn_Destinations.value.toLowerCase());

  var sType = GetSearchType(selectedDestinationCode);
  if (sType.toLowerCase() == "group") {
    searchType = 1;
  }
  else {
    searchType = 0;
  }
  //searchType = (selectedDestinationCode=="any") ? 1:0;

  //DETERMINES THE SEARCH TYPE 1:AD, 0: SD
  var hdateCtrl = document.getElementById(hiddenDateId);
  try {
    curSelectedDate = arrSearchResults[0][22].split(' ');
    curSelectedDate = curSelectedDate[2] + "-" + curSelectedDate[1] + "-" + curSelectedDate[0];
    form.hdn_Date.value = curSelectedDate;
    hdateCtrl.value = curSelectedDate;
    //3696 (modified to show in browser back, also date tab was missing so added the condition for groups
    if (sType.toLowerCase() != "group") {
      form.hdn_Destinations.value = arrSearchResults[0][0];
      selectedDestinationCode = Trim(form.hdn_Destinations.value.toLowerCase());
    }
  }
  catch (e) {
    hdateCtrl.value = form.hdn_Date.value;
  }
  depDate = form.hdn_Date.value;
  duration = form.hdn_Weeks.value;

  depAirport = form.hdn_DepAirport.value;

  if (depAirport.toLowerCase() == "-1") {
    packageType = 0;
  }
  else {
    packageType = 1;
  }

  try {
    if (arrSearchResults[0][19] == "--") {
      packageType = 0;
    }
  }
  catch (e) {
    packageType = 1;
  }

  if (duration == '') { duration = 1; }
  if (totAdults == '') { totAdults = 2; }
  if (totChildren == '') { totChildren = 1; }
  //if (selectedDestinationCode =='' ){selectedDestinationCode = 'AL';}    
  if (isCentre == false && selectedDestinationCode == '') {
    selectedDestinationCode = 'ANY';
  }
  CreateXML();

}

//SUPPORT FUNCTIONS CALLED BY THE CONTROLLER FOR THE SEARCH TILE

//FILLS THE DESTINATION DROP DOWN ON THE TILE
//PARAMS: THE DROP DOWN CONTROL NAME, AND THE ARRAY TO BE USED
function fillDestinations(formControlName, arrayObject) {
  var arr = arrayObject.split("|");
  for (var ctr = 0; ctr <= arr.length - 1; ctr++) {
    var destination = arr[ctr].split('=');
    var optionIsSelected = Trim(gSTR_CENTRE_CODE.toLowerCase()) == Trim(destination[0].toLowerCase()) ? true : false;
    AddOptionsToDrowDown(formControlName, destination[1], destination[0], optionIsSelected);
  }
}
function fillAvailability(formControlName, arrayObject, selectedDestination) {
  //SAVIO REMEBER THAT SELECTED DESTINATIONS COULD ALSO BE A COLLECTION OF CENTER CODES LIKE BALERIC ISLANDS
  var arr = arrayObject;
  for (var ctr = 0; ctr <= arr.length - 1; ctr++) {
    if (selectedDestination.toLowerCase() != "any")//FILLING AVAILABILITY FOR A SPECIFIC CENTRE
    {
      if (arr[ctr][2].toLowerCase() == selectedDestination.toLowerCase()) {
        var optionIsSelected = false;
        AddOptionsToDrowDown(formControlName, arr[ctr][0], arr[ctr][0], optionIsSelected);
      }
    }
    else {
      var optionIsSelected = false;
      AddOptionsToDrowDown(formControlName, arr[ctr][0], arr[ctr][0], optionIsSelected);
    }
  }
}

function fillDuration(formControlName) {
  //IMPLEMENTED IN CALENDAR.JS
}
var stp = 0;
var extraChildren = 0;
function fillAdultPax(formControlName, arrayObject, selectedDestination) {
  var arr = arrayObject.split('|');

  //Getting All Groups and centers
  var arrGroups = js_Groups.split('|');
  var arrGroupCenters;
  arrGroupCenters = '';
  for (i = 0; i < arrGroups.length; i++) {
    var arrGroup = arrGroups[i].split('=');
    if (arrGroup[0].split("-")[0].toUpperCase() == selectedDestination.toUpperCase()) {
      arrGroupCenters = arrGroup[1].split(',');
      break;
    }
  }

  //For Group

  if (arrGroupCenters != '') {
    var count = 0;
    var initialCheck;

    for (j = 0; j < arrGroupCenters.length; j++) {
      for (var ctr = 0; ctr <= arr.length - 1; ctr++) {
        if (arr[ctr].split('=')[0].toUpperCase() == arrGroupCenters[j].toUpperCase()) {
          var tmpstp = arr[ctr].split('=')[1].split('-')[1];

          if ((parseInt(tmpstp) < parseInt(stp)) && (count == 0)) {
            count = count + 1;
            stp = tmpstp;
            extraChildren = arr[ctr].split('=')[1].split('-')[2];
          }

          if (parseInt(tmpstp) > parseInt(stp)) {
            count = count + 1;
            stp = tmpstp;
            extraChildren = arr[ctr].split('=')[1].split('-')[2];
          }
          break;
        }
      }
    }
  }
  else {
    for (var ctr = 0; ctr <= arr.length - 1; ctr++) {
      if (arr[ctr].split('=')[0].toLowerCase() == selectedDestination.toLowerCase()) {
        stp = arr[ctr].split('=')[1].split('-')[1];
        extraChildren = arr[ctr].split('=')[1].split('-')[2];
        break;
      }
    }
  }
  buildPaxList(formControlName, stp);
}

function fillChildPax(formControlName, arrayObject, selectedDestination) {
  buildPaxList(formControlName, stp - 2);

}

function fillInfantPax(formControlName, arrayObject, selectedDestination) {
  buildPaxList(formControlName, stp);
}

function buildPaxList(formControlName, totPax) {
  if (formControlName != ddAdultsId) {
    for (var ctr = 0; ctr <= totPax; ctr++) {
      var optionIsSelected = false;
      AddOptionsToDrowDown(formControlName, ctr, ctr, optionIsSelected);
    }
  }
  else {
    for (var ctr = 1; ctr <= totPax; ctr++) {
      var optionIsSelected = false;
      AddOptionsToDrowDown(formControlName, ctr, ctr, optionIsSelected);
    }
  }
}
function fillAirports(formControlName, arrayObject, selectedDestination) {
  try {
    var arrAllAirports = arrayObject.split(',');
    for (var count = 0; count <= arrAllAirports.length - 1; count++) {
      var Airport = arrAllAirports[count].split("-");
      var optionIsSelected = false;
      AddOptionsToDrowDown(formControlName, Airport[1], Airport[0], optionIsSelected);
    }
  }
  catch (e) {
    alert("Error Filling Airports");
  }

  var optionIsSelected = false;
  AddOptionsToDrowDown(formControlName, "No Flight", "-1", optionIsSelected);
}

function hide(objToHide) {
  var obj = document.getElementById(objToHide);
  obj.style.display = "none";
  obj.style.visibility = "hidden";
}

function show(objToShow) {
  var obj = document.getElementById(objToShow);
  obj.style.display = "";
  obj.style.visibility = "visible";
}

function fillVillas(formControlName, arrayObject) {
  try {
    var arr = arrayObject;
    for (var ctr = 0; ctr <= arr.length - 1; ctr++) {
      var optionIsSelected = false;
      AddOptionsToDrowDown(formControlName, arr[ctr][0] + " (" + getCentreName(arr[ctr][2], arrV) + ")", arr[ctr][1], optionIsSelected);
    }
  }
  catch (e) {
    alert(e);
  }
}

function ValidateAirport() {
  var airportCtrl = document.getElementById(ddAirportsId);
  if (airportCtrl.options[airportCtrl.selectedIndex].value == 'XXX') {
    var objAnchor = getAnchorPosition(ddAirportsId);
    try {
      if (isASP == "1") {
        showAlert("Incorrect Input", "Please select a valid departure airport.", "OK", 250, 90, objAnchor, '', 'undefined');
      }
      else {
        showAlertIFrame("Incorrect Input", "Please select a valid departure airport.", "OK", 250, 90, objAnchor, '', 'undefined');
      }
    }
    catch (e) {
      showAlertIFrame("Incorrect Input", "Please select a valid departure airport.", "OK", 250, 90, objAnchor, '', 'undefined');
    }

    airportCtrl.focus();
    return false;
  }
}

function ValidateOccupancy() {
  var adultCtrl = document.getElementById(ddAdultsId);
  var childCtrl = document.getElementById(ddChildrenId);
  var infantCtrl = document.getElementById(ddInfantsId);

  var totAdults = parseInt(adultCtrl.options[adultCtrl.selectedIndex].value);
  var totChildren = parseInt(childCtrl.options[childCtrl.selectedIndex].value);
  var totInfants = parseInt(infantCtrl.options[infantCtrl.selectedIndex].value);

  if ((totAdults + totChildren) > (parseInt(stp) + parseInt(extraChildren))) {
    var objAnchor = getAnchorPosition(ddAdultsId);
    try {
      if (isASP == "1") {
        showAlert("Incorrect Input", "You can not select more than " + (parseInt(stp) + parseInt(extraChildren)) + " <br /> members including adults and children.", "OK", 250, 90, objAnchor, '', 'undefined');
      }
      else {
        showAlertIFrame("Incorrect Input", "You can not select more than " + (parseInt(stp) + parseInt(extraChildren)) + " <br /> members including adults and children.", "OK", 250, 90, objAnchor, '', 'undefined');
      }
    }
    catch (e) {
      showAlertIFrame("Incorrect Input", "You can not select more than " + (parseInt(stp) + parseInt(extraChildren)) + " <br /> members including adults and children.", "OK", 250, 90, objAnchor, '', 'undefined');
    }
    adultCtrl.focus();
    return false;
  }

  if (totAdults + totChildren <= 1) {
    // Made Chages for Bug 3737 on select 1 Adult & 1 Infant no alert msg to be shown directly increase pax to 2 adult 1 infant                           
    var selectedIndex = getSelectedIndex(adultCtrl.id, '2');
    adultCtrl.selectedIndex = selectedIndex;
  }

  return true;
}

function GetAllAvailableDatesForCentre(centreCode) {
  var arrGroups = js_Groups.split('|');
  var arrGroupCenters;
  arrGroupCenters = '';
  for (i = 0; i < arrGroups.length; i++) {
    var arrGroup = arrGroups[i].split('=');
    if (arrGroup[0].split("-")[0].toUpperCase() == centreCode.toUpperCase()) {
      arrGroupCenters = arrGroup[1].split(',');
      break;
    }
  }

  var jsAllCentreDatesArr = jsAllCentreDates.split("|");
  var strAllCentreDates = '';

  if (arrGroupCenters != '') //Getting available dates for centres in a destination group e.g. Balleric Island
  {
    for (j = 0; j < arrGroupCenters.length; j++) {
      for (i = 0; i < jsAllCentreDatesArr.length; i++) {
        if (arrGroupCenters[j].toUpperCase() == jsAllCentreDatesArr[i].split('=')[0].toUpperCase()) {
          if (strAllCentreDates == '') {
            strAllCentreDates = jsAllCentreDatesArr[i].split('=')[1];
          }
          else {
            strAllCentreDates = strAllCentreDates + "," + jsAllCentreDatesArr[i].split('=')[1];
          }
          break;
        }
      }
    }
  }
  else {

    if (centreCode == "any") //Getting available dates for all centres
    {
      for (i = 0; i < jsAllCentreDatesArr.length; i++) {
        if (strAllCentreDates == '') {
          strAllCentreDates = jsAllCentreDatesArr[i].split('=')[1];
        }
        else {
          strAllCentreDates = strAllCentreDates + "," + jsAllCentreDatesArr[i].split('=')[1];
        }
      }
    }
    else //Getting available dates for a specific centre
    {
      for (i = 0; i < jsAllCentreDatesArr.length; i++) {
        if (centreCode.toUpperCase() == jsAllCentreDatesArr[i].split('=')[0].toUpperCase()) {
          strAllCentreDates = jsAllCentreDatesArr[i].split('=')[1];
          break;
        }
      }
      //SetStartDateEndDate(jsAllDates);
    }
  }

  var arrAllCentreDates;
  arrAllCentreDates = strAllCentreDates.split(",");
  arrAllCentreDates.sort();
  return arrAllCentreDates;
}

function GetPrevNextDates(centreCode, departureDate) {
  //Get All available dates for the given centre code
  var arrAllCentreDates;
  arrAllCentreDates = GetAllAvailableDatesForCentre(centreCode);

  //Define day and month names
  var ds_daynames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
  var ds_monthnames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];

  //Get the no. of tabs to be displayed
  var numDays = nDAYS_DATE_TABS;
  var numDateTabs = (numDays * 2) + 1;

  //Get first and last date in the availability array
  var tempDateParts;
  tempDateParts = arrAllCentreDates[0].split('-');
  var firstDate = new Date(tempDateParts[0], tempDateParts[1] - 1, tempDateParts[2]);

  tempDateParts = arrAllCentreDates[arrAllCentreDates.length - 1].split('-');
  var lastDate = new Date(tempDateParts[0], tempDateParts[1] - 1, tempDateParts[2]);

  //Get milliseconds in a day. This will be used to calculate date difference
  var one_day = 1000 * 60 * 60 * 24;

  var strTabDates = '';
  
  var arrDepartureDate= departureDate.split(' ');
  
  switch(arrDepartureDate[1])
  {
      case 'Jan':
           arrDepartureDate[1]='0';
           break;
      case 'Feb':
           arrDepartureDate[1]='1';
           break;
      case 'Mar':
           arrDepartureDate[1]='2';
           break;
      case 'Apr':
           arrDepartureDate[1]='3';
           break;
      case 'May':
           arrDepartureDate[1]='4';
           break;
      case 'Jun':
           arrDepartureDate[1]='5';
           break;
      case 'Jul':
           arrDepartureDate[1]='6';
           break;
      case 'Aug':
           arrDepartureDate[1]='7';
           break;
      case 'Sep':
           arrDepartureDate[1]='8';
           break;
      case 'Oct':
           arrDepartureDate[1]='9';
           break;
      case 'Nov':
           arrDepartureDate[1]='10';
           break;
      case 'Dec':
           arrDepartureDate[1]='11';
           break;     
  }

  var mydate = new Date(arrDepartureDate[2],arrDepartureDate[1],arrDepartureDate[0]);
  //Getting index of departure date from the availability date array
  var selIndex = -1;
  var tempDepDate = mydate.getFullYear();
  var tempDateHolder = mydate.getMonth() + 1;
  if (tempDateHolder < 10) {
    tempDateHolder = "0" + tempDateHolder;
  }
  tempDepDate = tempDepDate + "-" + tempDateHolder;

  tempDateHolder = mydate.getDate();

  if (tempDateHolder < 10) {
    tempDateHolder = "0" + tempDateHolder;
  }
  tempDepDate = tempDepDate + "-" + tempDateHolder;

  var tempDepDateParts = tempDepDate.split("-");

  for (var ctr = 0; ctr < arrAllCentreDates.length; ctr++) {
    if (tempDepDate == arrAllCentreDates[ctr]) {
      strTabDates = tempDepDate;
      selIndex = ctr;
      break;
    }
  }

  //Getting available dates befor the selected departure date
  var beforeCtr = 0;
  var tempDate;
  var diff;
  var iCtr = -1;
  var strTempDate;
  var index = selIndex - 1;
  var strMonth = '';
  var strDate = '';
  var beforeDate;

  while (beforeCtr < numDays) {
    tempDate = new Date(tempDepDateParts[0], tempDepDateParts[1] - 1, tempDepDateParts[2]);
    tempDate.setDate(tempDate.getDate() + iCtr);
    diff = Math.ceil((tempDate.getTime() - firstDate.getTime()) / (one_day));
    if (diff >= 0) {
      strTempDate = tempDate.getFullYear() + "-";

      strMonth = (tempDate.getMonth() + 1) + '';
      strDate = (tempDate.getDate()) + '';

      if (strMonth.length == 1) {
        strTempDate = strTempDate + "0" + (tempDate.getMonth() + 1) + "-";
      }
      else {
        strTempDate = strTempDate + (tempDate.getMonth() + 1) + "-";
      }
      if (strDate.length == 1) {
        strTempDate = strTempDate + "0" + (tempDate.getDate());
      }
      else {
        strTempDate = strTempDate + (tempDate.getDate());
      }

      for (var ctr = index; ctr >= 0; ctr--) {
        if (strTempDate == arrAllCentreDates[ctr]) {
          if (strTabDates == '') {
            strTabDates = arrAllCentreDates[ctr];
          }
          else {
            strTabDates = arrAllCentreDates[ctr] + "|" + strTabDates;
          }

          if (beforeCtr == 0) {
            beforeDate = tempDate;
          }

          beforeCtr++;
          index = ctr - 1;
          break;
        }
      }
    }
    else {
      break;
    }

    if (index < 0) {
      break;
    }

    iCtr--;
  }

  //Getting available dates after the selected departure date
  var afterCtr = 0;
  iCtr = 1;
  index = selIndex + 1;
  var afterDate;
  while (afterCtr < numDays) {
    tempDate = new Date(tempDepDateParts[0], tempDepDateParts[1] - 1, tempDepDateParts[2]);
    tempDate.setDate(tempDate.getDate() + iCtr);

    if (afterCtr == 0) {
      afterDate = tempDate;
    }

    diff = Math.ceil((lastDate.getTime() - tempDate.getTime()) / (one_day));
    if (diff >= 0) {
      strTempDate = tempDate.getFullYear() + "-";
      strMonth = (tempDate.getMonth() + 1) + '';
      strDate = (tempDate.getDate()) + '';

      if (strMonth.length == 1) {
        strTempDate = strTempDate + "0" + (tempDate.getMonth() + 1) + "-";
      }
      else {
        strTempDate = strTempDate + (tempDate.getMonth() + 1) + "-";
      }
      if (strDate.length == 1) {
        strTempDate = strTempDate + "0" + (tempDate.getDate());
      }
      else {
        strTempDate = strTempDate + (tempDate.getDate());
      }

      for (var ctr = index; ctr < arrAllCentreDates.length; ctr++) {
        if (strTempDate == arrAllCentreDates[ctr]) {
          if (strTabDates == '') {
            strTabDates = arrAllCentreDates[ctr];
          }
          else {
            strTabDates = strTabDates + "|" + arrAllCentreDates[ctr];
          }
          afterCtr++;
          index = ctr + 1;
          break;
        }
      }
      if (index >= arrAllCentreDates.length) {
        break;
      }
    }
    else {
      break;
    }
    iCtr++;
  }

  //Display the date tabs
  var arrTabDates;
  arrTabDates = strTabDates.split('|');
  return arrTabDates;
}
function CreateXML() {

  var forms = document.forms[0];
  var pkType = forms.hdn_DepAirport.value == -1 ? "VO" : "PKG";
  var strXMLOutPut;
  strXMLOutPut = '<SearchRequest SearchType="' + pkType + '">';

  var arrMonthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
  var arrDayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
  var dateParts = forms.hdn_Date.value.split('-');
  var dtDepDate = new Date(dateParts[0], (dateParts[1] - 1), dateParts[2]);

  var strDepDate = dateParts[2] + ' ' + arrMonthNames[dtDepDate.getMonth()] + ' ' + dateParts[0] + ' ' + arrDayNames[dtDepDate.getDay()];
  if (dateParts[0].length == 1) {
    strDepDate = "0" + strDepDate;
  }

  strXMLOutPut += '<DepartureDate>' + strDepDate + '</DepartureDate>';
  strXMLOutPut += '<Duration>' + parseInt(forms.hdn_Weeks.value) * 7 + '</Duration>';

  var arrGroups = js_Groups.split('|');
  var arrGroupCenters;
  arrGroupCenters = '';
  for (i = 0; i < arrGroups.length; i++) {
    var arrGroup = arrGroups[i].split('=');
    if (Trim(arrGroup[0].split("-")[0].toUpperCase()) == Trim(forms.hdn_Destinations.value.toUpperCase())) {
      arrGroupCenters = arrGroup[1].split(',');
      break;
    }
  }
  var alternateDates;
  if (arrGroupCenters != '') {
    alternateDates = GetPrevNextDates(Trim(forms.hdn_Destinations.value.toUpperCase()), strDepDate);
    for (j = 0; j < arrGroupCenters.length; j++) {
      strXMLOutPut += '<CentreCode>' + arrGroupCenters[j] + '</CentreCode>';
    }
    strXMLOutPut += '<GroupCode>' + forms.hdn_Destinations.value + '</GroupCode>';
  }
  else {
    alternateDates = new Array;
    strXMLOutPut += '<CentreCode>' + forms.hdn_Destinations.value + '</CentreCode>';
    strXMLOutPut += '<GroupCode>-</GroupCode>';
  }

  strXMLOutPut += '<SourceAirport>' + forms.hdn_DepAirport.value + '</SourceAirport>';
  strXMLOutPut += '<SelectedDestinationCode>' + forms.hdn_Destinations.value.toUpperCase() + '</SelectedDestinationCode>';
  strXMLOutPut += '<Pax>';
  strXMLOutPut += '<Adults>' + forms.hdn_Adults.value + '</Adults>';
  strXMLOutPut += '<Childs>' + forms.hdn_Children.value + '</Childs>';
  strXMLOutPut += '<Infants>' + forms.hdn_Infants.value + '</Infants>';
  strXMLOutPut += '</Pax>';
  if (alternateDates.length > 0) {
    strXMLOutPut += '<AlternateDates>';
    for (datecount = 0; datecount < alternateDates.length; datecount++) {
      strXMLOutPut += '<AltDate>' + alternateDates[datecount] + '</AltDate>';
    }
    strXMLOutPut += '</AlternateDates>';
  }
  strXMLOutPut += '</SearchRequest>';
  document.getElementById(hiddenOutputId).value = strXMLOutPut;
  return false;
}

function storeSearchTilePreviousValues() {
  var objSelect;
  var strMessage = "";
  var alertAdultFlag = false;
  var alertChildFlag = false;
  var onChangeDestination;
  var onChangeCenterAdultMaxOccupancy = document.getElementById(ddAdultsId).options.length;
  var totalPrevOccupancy = parseInt(prevSelAdult) + parseInt(prevSelChild);
  var totalSelCentreMaxOccupancy = parseInt(document.getElementById(ddAdultsId).options.length) + 1;
  var onChangeSelAdult = document.getElementById(ddAdultsId).options[document.getElementById(ddAdultsId).options.selectedIndex].value;

  if (prevSelInfant > 0) {
    totInfants = getSelectedIndex(ddInfantsId, prevSelInfant);
    objSelect = document.getElementById(ddInfantsId);

    if (totInfants == 0) {
      SetDropDownDefault(objSelect.options.length - 1, ddInfantsId);
      strMessage = strMessage + " " + (objSelect.options.length - 1) + " Infants";
    }
    else {
      SetDropDownDefault(prevSelInfant, ddInfantsId);
    }
  }
  else {
    SetDropDownDefault(0, ddInfantsId);
  }

  SetDropDownDefault(prevSelFlight, ddAirportsId);
  onChangeDestination = document.getElementById(ddDestinationsId).options[document.getElementById(ddDestinationsId).options.selectedIndex].text;
  var objAnchor = getAnchorPosition(ddAdultsId);
  if (totalPrevOccupancy > totalSelCentreMaxOccupancy) {
    SetDropDownDefault(onChangeCenterAdultMaxOccupancy, ddAdultsId);
    SetDropDownDefault(1, ddChildrenId);
    var text = "Our largest villa in " + onChangeDestination + " has a maximum occupancy of " + onChangeCenterAdultMaxOccupancy + " adults plus 1 child and it looks as if your party size is greater than this. So, please try searching for villas large enough to accommodate all of your party across ALL of our destinations or, if you prefer, continue with your search for a " + onChangeDestination + " villa that will accommodate " + onChangeCenterAdultMaxOccupancy + " adults plus 1 child and our reservations staff will be happy to help you find a suitable additional villa to accommodate the remaining party members.";

    try {
      if (isASP == "1") {
        showAlert("Incorrect Input", text, "OK", 400, 200, objAnchor, '', 'undefined');
      }
      else {
        showAlertIFrame("Incorrect Input", text, "OK", 400, 200, objAnchor, '', 'undefined');
      }
    }
    catch (e) {
      showAlertIFrame("Incorrect Input", text, "OK", 400, 200, objAnchor, '', 'undefined');
    }
  }
  else {
    SetDropDownDefault(prevSelAdult, ddAdultsId);
    SetDropDownDefault(prevSelChild, ddChildrenId);
  }
}

function setHiddenFieldValues() {
  var form = document.forms[0];
  var adultCtrl = document.getElementById(ddAdultsId);
  var childCtrl = document.getElementById(ddChildrenId);
  var infantCtrl = document.getElementById(ddInfantsId);
  var durationCtrl = document.getElementById(ddDurationId);
  var airportCtrl = document.getElementById(ddAirportsId);
  var destCtrl = document.getElementById(ddDestinationsId);
  var dateCtrl = document.getElementById(datePickerId);
  var hiddenDateCtrl = document.getElementById(hiddenDateId);

  form.hdn_Adults.value = adultCtrl.options[adultCtrl.selectedIndex].value;
  form.hdn_Children.value = childCtrl.options[childCtrl.selectedIndex].value;
  form.hdn_Infants.value = infantCtrl.options[infantCtrl.selectedIndex].value;
  form.hdn_Destinations.value = destCtrl.options[destCtrl.selectedIndex].value;

  var dateParts = dateCtrl.value.split(' ');

  if (dateParts[0] < 10) {
    dateParts[0] = "0" + dateParts[0];
  }

  // Get the numeric value of the month from the selected date.
  var selectedDate = new Date(dateParts[0] + ' ' + dateParts[1] + ' ' + dateParts[2]);
  dateParts[1] = selectedDate.getMonth() + 1;
  if (dateParts[1] < 10) {
    dateParts[1] = "0" + dateParts[1];
  }

  form.hdn_Date.value = dateParts[2] + '-' + dateParts[1] + '-' + dateParts[0];
  form.hdn_Weeks.value = durationCtrl.options[durationCtrl.selectedIndex].value;
  form.hdn_DepAirport.value = airportCtrl.options[airportCtrl.selectedIndex].value;
  hiddenDateCtrl.value = form.hdn_Date.value;
}

//ENABLE/DISABLE SEARCH TILE "SEARCH" BUTTON.
function EnableDisableSearchButton(event, action) {
  try {
    var chkObj = null;
    if (action == "enable" && event == "imgsearchid") {
      chkObj = document.getElementById("search_imgsearch");
      if (chkObj != null) {
        document.getElementById("search_imgsearch").style.visibility = "visible";
        document.getElementById("search_imgsearch").style.display = "";
        document.getElementById("search_imgDisableSearch").style.visibility = "hidden";
        document.getElementById("search_imgDisableSearch").style.display = "none";
      }
      else {
        document.getElementById("ctl00_leftMenu_search_imgsearch").style.visibility = "visible";
        document.getElementById("ctl00_leftMenu_search_imgsearch").style.display = "";
        document.getElementById("ctl00_leftMenu_search_imgDisableSearch").style.visibility = "hidden";
        document.getElementById("ctl00_leftMenu_search_imgDisableSearch").style.display = "none";
      }
    }
    else if (action == "disable" && event == "imgsearchid") {
      chkObj = document.getElementById("search_imgsearch");
      if (chkObj != null) {
        document.getElementById("search_imgsearch").style.visibility = "hidden";
        document.getElementById("search_imgsearch").style.display = "none";
        document.getElementById("search_imgsearchOver").style.visibility = "hidden";
        document.getElementById("search_imgsearchOver").style.display = "none";
        document.getElementById("search_imgDisableSearch").style.visibility = "visible";
        document.getElementById("search_imgDisableSearch").style.display = "block";
      }
      else {
        document.getElementById("ctl00_leftMenu_search_imgsearch").style.visibility = "hidden";
        document.getElementById("ctl00_leftMenu_search_imgsearch").style.display = "none";
        document.getElementById("ctl00_leftMenu_search_imgsearchOver").style.visibility = "hidden";
        document.getElementById("ctl00_leftMenu_search_imgsearchOver").style.display = "none";
        document.getElementById("ctl00_leftMenu_search_imgDisableSearch").style.visibility = "visible";
        document.getElementById("ctl00_leftMenu_search_imgDisableSearch").style.display = "block";
      }
    }

    else if (action == "disable" && event == "imgsearchvillaid") {
      chkObj = document.getElementById("search_imgsearch");
      if (chkObj != null) {
        document.getElementById("search_imgSearchVilla").style.visibility = "hidden";
        document.getElementById("search_imgSearchVilla").style.display = "none";
        document.getElementById("search_imgSearchVillaOver").style.visibility = "hidden";
        document.getElementById("search_imgSearchVillaOver").style.display = "none";
        document.getElementById("search_imgDisableSearchVillaId").style.visibility = "visible";
        document.getElementById("search_imgDisableSearchVillaId").style.display = "block";
      }
      else {
        document.getElementById("ctl00_leftMenu_search_imgSearchVilla").style.visibility = "hidden";
        document.getElementById("ctl00_leftMenu_search_imgSearchVilla").style.display = "none";
        document.getElementById("ctl00_leftMenu_search_imgSearchVillaOver").style.visibility = "hidden";
        document.getElementById("ctl00_leftMenu_search_imgSearchVillaOver").style.display = "none";
        document.getElementById("ctl00_leftMenu_search_imgDisableSearchVillaId").style.visibility = "visible";
        document.getElementById("ctl00_leftMenu_search_imgDisableSearchVillaId").style.display = "block";
      }
    }
    else if (action == "enable" && event == "imgsearchvillaid") {
      chkObj = document.getElementById("search_imgsearch");
      if (chkObj != null) {
        document.getElementById("search_imgSearchVilla").style.visibility = "visible";
        document.getElementById("search_imgSearchVilla").style.display = "";
        document.getElementById("search_imgSearchVillaOver").style.visibility = "hidden";
        document.getElementById("search_imgSearchVillaOver").style.display = "none";
        document.getElementById("search_imgDisableSearchVillaId").style.visibility = "hidden";
        document.getElementById("search_imgDisableSearchVillaId").style.display = "none";
      }
      else {
        document.getElementById("ctl00_leftMenu_search_imgSearchVilla").style.visibility = "visible";
        document.getElementById("ctl00_leftMenu_search_imgSearchVilla").style.display = "";
        document.getElementById("ctl00_leftMenu_search_imgSearchVillaOver").style.visibility = "hidden";
        document.getElementById("ctl00_leftMenu_search_imgSearchVillaOver").style.display = "none";
        document.getElementById("ctl00_leftMenu_search_imgDisableSearchVillaId").style.visibility = "hidden";
        document.getElementById("ctl00_leftMenu_search_imgDisableSearchVillaId").style.display = "none";
      }
    }
  }
  catch (ex) { }
}
