﻿//VARIABLE DECLARATION
var depDateObj;                                     //DATE OBJECT CREATED FROM THE DEPARTURE DATE
var packageType;                                    //PACKAGE TYPE AS SELECTED ON THE SEARCH TILE, 1= PACKAGE; 0=VILLA ONLY
var selectedResortId;                               //THE RESORT ID BASED ON WHICH THE VILLAS ARE TO BE SHOWN AS SELECTED IN THE RESORTS DROP DOWN
var totalResultsPerPage = 5;                       //THE NUMBER OF RESULTS TO BE SHOWN PER PAGE
var currentPageNumber = 1;                          //THE CURRENT PAGE NUMBER
var totAC = 0;                                      //THE TOTAL NUMBER OF VILLAS WITH AC
var totFinestVilla = 0;                             //THE TOTAL NUMBER OF FINNER VILLAS
var totBeachClose = 0;                              //THE TOTAL NUMBER OF VILLAS CLOSE TO THE BEACH
var totSeclusion = 0;                               //THE TOTAL NUMBER OF VILLAS WITH GREATER SECLUSION
var totPoolHeat = 0;                                //THE TOTAL NUMBER OF VILLAS WITH POOL HEATING
var totRestaurant = 0;                               //THE TOTAL NUMBER OF VILLAS CLOSE TO RESTAURANTS
var totCarUse = 0;                                  //THE TOTAL NUMBER OF VILLAS WITH CAR USEFUL
var totCarNotReq = 0;                               //THE TOTAL NUMBER OF VILLAS WITH CAR NOT REQUIRED
var totCarEss = 0;                                  //THE TOTAL NUMBER OF VILLAS WITH CAR ESSENTIAL
var totALresults = 0;                               //THE NUMBER OF ALGARVE VILLAS
var totSPresults = 0;                               //THE NUMBER OF COSTA DEL SOL VILLAS
var totMAresults = 0;                               //THE NUMBER OF MALLORCA VILLAS
var totMEresults = 0;                               //THE NUMBER OF MENORCA VILLAS
var totCOresults = 0;                               //THE NUMBER OF CORFU VILLAS
var totCYresults = 0;                               //THE NUMBER OF CYPRUS VILLAS
var totBLresults = 0;                               //THE NUMBER OF COSTA BLANCA VILLAS
var totLAresults = 0;                               //THE NUMBER OF LANZAROTE VILLAS
var totKEresults = 0;                               //THE NUMBER OF KEFALONIA VILLAS
var totTEresults = 0;                               //THE NUMBER OF TENERIFE VILLAS
var totFUresults = 0;                               //THE NUMBER OF FUERTEVENTURA VILLAS
var totCRresults = 0;                               //THE NUMBER OF CRETE VILLAS
var totRHresults = 0;                               //THE NUMBER OF RHODES VILLAS
var totANYresults = 0;                              //THE NUMBER OF VILLAS IN TOTAL, USED MAINLY IN AD SEARCH
var totBILresults = 0;
var totresults = 0;
var totResults = 0;
var pricesArray = null;                             //AN ARRAY CONTAINING UNIQUE PRICES FOR AN ADULT WITH A CENTERS RESULT SET
var resortIdsArray = null;                          //AN ARRAY CONTAINING UNIQUE RESORT IDS FOR A CENTERS RESULT SET
var currentPageNumber = 1;                          //THE CURRENT PAGE NUMBER DISPLAYED TO THE USER, USED IN THE THE SETNEXTPREVIOUS FUNCTION

var villaId = null;
var villaShortName = null;
var villaCentreName = null;
var villaBedRooms = null;
var villaImg = null;
var villaAltTagNormal = null;
var villaBeachImg = null;
var villaBeachAlt = null;
var villaResortName = null;
var centresCodesUniqueArray = new Array();          //THIS ARRAY WILL CONTAIN ALL UNIQUE CENTRE CODES WITH A RESULTS SET
var showIds;                                        //THIS WILL BE AN ARRAY OF ALL IDS THAT MATCH THE SELECTION CRITERIA
var showIdsCount;                                   //THIS WILL BE COUNT OF ALL IDS THAT MATCH THE SELECTION CRITERIA
var showIdsCounterPos;                              //THIS IS THE COUNTER POSITION FOR EACH ID THAT MATCHES THE FILTERING CRITERIA
var maxPrice = null;                                //THE MAX PRICE AS IN THE DROPDOWN
var minPrice = null;                                //THE MIN PRICE AS IN THE DROPDOWN
var txtColor = "#818286";                           //THE TEXT COLOR FOR STATIC TEXT
var txtColor2;                                      //THE COLOR WHEN THE SELECTED DATE AND SEARCH RESULTS DATE DONT MATCH
var allVillaIds;                                    //THIS BE AN ARRAY WITH ALL VILLA IDS FOR A CENTRE
var filteringArray;                                 //THIS WILL CONTAIN THE FILTERING CRITERIA
var totalCheckBoxesChecked = 0;              //THE NUMBER OF FILTERING CHECK BOXES CHECKED
var uniqueResortDetails = new String();             //THIS WILL CONTAIN ALL UNIQUE RESORT NAMES AND IDS FOR A CENTER
var searchResultsDate;                              //THE DATE IN THE SEARCHRESULTS: POS 22
var searchType;                                     //DETERMINES THE SEARCH TYPE 1:AD, 0: SD

var centreNamesArray = new Array();                 //ARRAY CONTAINING THE THE CENTRE NAMES TO DO SORTING
var sortedCentreCodes = new Array();                //ARRAY CONTAINING THE CENTRE CODES SORTED AS PER THE CENTRE NAMES

var iCMFinalString = "";
var cmOrdering="";
var cmSorting = "";
var cmSetStatus = 1;

var isPageLoaded = false;
var arryDate = "";
var year = "";
var month = "";
var day = "";
var centerSpcific_gSTR_VB_BLUE = "";                //HOLDS SELECTED CENTER COLOR CODE. IN FOLLOWING CODE WE R CHANGING "gSTR_VB_BLUE" VALUE ACCORDING TO DIFFERENT CENTER 
var intMapPics;                                     //INTERVAL TO CHECK IF THE MAPSPICS PAGE IS LOADED AND THEN SHOW IT
var currentVillaId;                                    //USED TO POSITION THE MAPSPICS IFRAME TO THE NORMAL IMAGE AT RUN TIME  
//3905
var txtColorRed = "red";                     //used to give red color to the font if resulted airport is different then then departure airport
function Booking() {
  this.VillaId;
  this.DepartureDate;
  this.Duration;
  this.CentreCode;
  this.SourceAirport;
  this.DestinationAirport;
  this.AdultCost;
  this.ChildCost;
  this.Adults;
  this.Children;
  this.Infants;
  this.Type;
  this.InfantCost;
  this.VillaCost;
  this.TotalCost;
  this.AdultsTotal;
  this.ChildsTotal;
  this.InfantsTotal;
  this.hasFlightFound;
  this.DisplayDate;
  this.SendBooking = CreateBookingXML;

     this.toString = function() { return "Booking Object Created"; }
}

function js_controller_searchResults(sender, evt) {
  showIds = "";
  showIdsCount = 0;
  switch (sender.toLowerCase()) {
    case "body":
      if (evt.toLowerCase() == "onload") {
        centerSpcific_gSTR_VB_BLUE = gSTR_VB_BLUE;
        GetPostedFormsDetails();
        js_controller_searchTile('body', 'onload');
        arryDate = depDate.split("-");
        year = arryDate[0];
        month = arryDate[1];
        day = arryDate[2];
        depDateObj = new Date(year, (month - 1), day);

        //CHECK IF THE SEARCH IS GROUP SEARCH OR SPECIFIC CENTRE SEARCH
        var searchDestinationType = '';
        searchDestinationType = GetSearchType(selectedDestinationCode);

        if (arrSearchResults.length > 0) {
          //DISABLE RIGHT CLICK
          DisableEnableRightClick("1");

          curSelectedDate = arrSearchResults[0][22].split(' ');
          curSelectedDate = curSelectedDate[2] + "-" + curSelectedDate[1] + "-" + curSelectedDate[0];
          arryDate = curSelectedDate.split('-');
          year = arryDate[0];
          month = arryDate[1];
          day = arryDate[2];
          depDateObj = new Date(year, (month - 1), day);
          GetItemsCount(selectedDestinationCode, null, arrSearchResults);
          //SETTING THE LINE: YOUR SEARCH RETURNED XXX HOLIDAYS
          if (Trim(searchDestinationType.toLowerCase()) == 'group' && Trim(searchDestinationType.toLowerCase()) != "any") {
            strHolidays = eval("totANYresults") == 1 ? eval("totANYresults") + " holiday" : eval("totANYresults") + " holidays";
            SetText("<b><font size=\"2\">Your search has returned " + strHolidays + " based on your " + searchCriteriaString() + "</font></b>", "resultsTot");
            document.title = "Your search found " + eval("totANYresults") + " Villa holidays";

            //Display message only if there are more than one date tab available
            if (arrSearchResultsAlternateDates.length > 1) {
              SetMessage("For a selection of villas available on alternative dates, click the tabs. ", "G");
            }
          }
          else {
            var strHolidays = "tot" + selectedDestinationCode.toUpperCase() + "results";
            strHolidays = eval(strHolidays) == 1 ? eval(strHolidays) + " holiday" : eval(strHolidays) + " holidays";
            SetText("<b><font size=\"2\">Your search returned " + strHolidays + " based on your " + searchCriteriaString() + "</font></b>", "resultsTot");
            document.title = "Your search found " + eval("tot" + selectedDestinationCode.toUpperCase() + "results") + " Villa holidays";
            SetMessage("", "I");
          }

          //STORING ALL THE VILLA IDS & UNIQUE CENTRE CODES & UNIQUE RESORT NAMES AND IDS
          GetAllVillaIdsAndUniqueCenters(arrSearchResults);
          //SETTING THE FILTERING CHECKBOXES
          SetFilteringCheckBoxes();
          //GETTING UNIQUE PRICES & BUILDING THE PRICING DROPDOWNS

          if (packageType == 1) {
            if (Trim(searchDestinationType.toLowerCase()) == 'group' && Trim(searchDestinationType.toLowerCase()) != "any") {
              pricesArray = GetUniqueArray(arrSearchResults, "any", 19, 0);
            }
            else {
              pricesArray = GetUniqueArray(arrSearchResults, selectedDestinationCode.toLowerCase(), 19, 0);
            }
          }
          else {
            if (Trim(searchDestinationType.toLowerCase()) == 'group' && Trim(searchDestinationType.toLowerCase()) != "any") {
              pricesArray = GetUniqueArray(arrSearchResults, "any", 18, 0);
            }
            else {
              pricesArray = GetUniqueArray(arrSearchResults, selectedDestinationCode.toLowerCase(), 18, 0);
            }
          }

          BuildPriceDropDown("asc", "selMinPrice", pricesArray);
          BuildPriceDropDown("dsc", "selMaxPrice", pricesArray);

          //BUILDING DATES TAB IN CASE OF ANY DESTINATION SEARCH
          if (Trim(searchDestinationType.toLowerCase()) == 'group') {
            BuildDatesTab(selectedDestinationCode, depDate);
          }

          //SETTING THE PAGE X OF Y
          if (Trim(searchDestinationType.toLowerCase()) == 'group' && Trim(searchDestinationType.toLowerCase()) != "any") {
            SetPageXofY(1, 5, eval("totANYresults"));
          }
          else {
            SetPageXofY(1, 5, eval("tot" + selectedDestinationCode.toUpperCase() + "results"));
          }
          //SETTING THE PAGING
          if (Trim(searchDestinationType.toLowerCase()) == 'group' && Trim(searchDestinationType.toLowerCase()) != "any") {
            SetNextPrevious(5, eval("totANYresults"), currentPageNumber);
          }
          else {
            SetNextPrevious(5, eval("tot" + selectedDestinationCode.toUpperCase() + "results"), currentPageNumber);
          }
          //BUILDING THE RESULTS VIEW
          BuildResultsView(selectedDestinationCode, currentPageNumber, 5, null, arrSearchResults);

          //BUILDING DESTINATION TABS IN CASE OF SPECIFIC DESTINATION SEARCH
          if (Trim(searchDestinationType.toLowerCase()) == 'centre') {
            BuildDestinationTabs();
          }

          //FILLING IN THE SEARCH TILE
          //SETTING THE DATE ON THE TAB AT THE TOP OF THE PAGE
          if (searchType == 1) {
            SetText("&nbsp;&nbsp;" + daysArray1[depDateObj.getDay()] + " " + depDateObj.getDate() + " " + monthsArray1[depDateObj.getMonth()], "al_tab");
          }
          else {
            //var centreTab=(gSTR_CENTRE_CODE.toLowerCase()=="vp")?"al_tab":gSTR_CENTRE_CODE.toLowerCase()+"_tab";
            var centreTab = (centreCode.toLowerCase() == "vp") ? "al_tab" : centreCode.toLowerCase() + "_tab";
            var b = document.getElementById(centreTab);
            b.style.display = "";
            b.style.visibility = "visible";
          }
          //SHOWING THE CURRENT CENTRE TAB AT THE TOP OF THE PAGE

          //ShowSelectedCentreHeader(centresCodesUniqueArray);
          //BUILDING THE TABS AT THE BOTTOM AND SETTING THEIR TEXT
          if (searchType == 1) {
            AddOptionsToDrowDown("ddSortByPrice", "Destination", "dest", false);
            AddOptionsToDrowDown("ddSortByPrice_2", "Destination", "dest", false);
          }
          isPageLoaded = true;
          //FUNCTION CALLS FOR DRAGGING THE IFRAME DEFINED IN DRAGIFRAME JS
          //SETTING THE LABEL FOR DESTINATION AND RESORT HERE
          if (searchType == 1) {
            SetText("Destination", "destResortTd");
            BuildDestinationDropDown("ddResorts", centreNamesArray);
          }
          else {
            SetText("Resort", "destResortTd");
            //BUILDING THE RESORTS DROP DOWN
            BuildResortsDropDown("ddResorts", arrSearchResults, selectedDestinationCode, null);
          }
          var obj = document.getElementById("checkBoxFilteringTable");
          obj.style.display = "";
          obj.style.visibility = "visible";
          var obj = document.getElementById("pricesPerPersonTable");
          obj.style.display = "";
          obj.style.visibility = "visible";
          var obj = document.getElementById("mainResultsTable");
          obj.style.display = "";
          obj.style.visibility = "visible";
          var obj = document.getElementById("noRecordsTable");
          obj.style.display = "none";
          obj.style.visibility = "hidden";
        }
        else {
          var objView = document.getElementById("resultsView");
          objView.innerHTML = "";
          objView.innerHTML = "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"50\" align=\"center\"><img src=\"../../imgs/common/zeroHolidays.jpg\" alt=\"No Result found\"  title=\"No Result found\" border=\"0\" /></td></tr><tr><td>&nbsp;</td></tr></table>";
          SetText("<b><font size=\"2\">Your search has returned " + eval("totANYresults") > 1 ? eval("totANYresults") + " holidays" : eval("totANYresults") + " holiday" + " based on your " + searchCriteriaString() + "</font></b>", "resultsTot");
          document.title = "Your search found " + eval("totANYresults") + " Villa holidays";
          var obj = document.getElementById("checkBoxFilteringTable");
          obj.style.display = "none";
          obj.style.visibility = "hidden";
          var obj = document.getElementById("pricesPerPersonTable");
          obj.style.display = "none";
          obj.style.visibility = "hidden";
          var obj = document.getElementById("mainResultsTable");
          obj.style.display = "none";
          obj.style.visibility = "hidden";
          var obj = document.getElementById("noRecordsTable");
          obj.style.display = "";
          obj.style.visibility = "visible";
        }
      }
      if (showIncompleteBooking == 1) {
        DisableParent();
      }

      //2719 
      var divInfoMessage = document.getElementById("divInfoMessage");
      divInfoMessage.style.visibility = 'hidden';
      divInfoMessage.style.display = 'none';
      divInfoMessage.innerHTML = "";
      if (typeof ReasonMessage != "undefined" && ReasonMessage != "") {
        divInfoMessage.innerHTML = ReasonMessage + "<br /><br />";
        divInfoMessage.style.visibility = 'visible';
        divInfoMessage.style.display = '';
      }

      if (changedDateMessage == "") {
      }
      else {
        divInfoMessage.innerHTML = divInfoMessage.innerHTML + changedDateMessage + "<br /><br />";
        divInfoMessage.style.visibility = 'visible';
        divInfoMessage.style.display = '';
      }
      break;
    case "ddresorts":
      CommonCall();
      break;
    case "selminprice":
      CommonCall();
      break;
    case "selmaxprice":
      CommonCall();
      break;
    case "chkac":
      CommonCall();
      break;
    case "chkfiner":
      CommonCall();
      break;
    case "chkbeach":
      CommonCall();
      break;
    case "chkseclusion":
      CommonCall();
      break;
    case "chkpoolheat":
      CommonCall();
      break;
    case "chkshops":
      CommonCall();
      break;
    case "chkcarnotreq":
      CommonCall();
      break;
    case "chkcar":
      CommonCall();
      break;
    case "chkcaress":
      CommonCall();
      break;
  case "selitems":
      SetDropDownDefault(document.forms[0].selItems.options[document.forms[0].selItems.options.selectedIndex].value, "selItems_2");
      cmSorting = document.forms[0].selItems.options[document.forms[0].selItems.options.selectedIndex].value;
      CommonCall();
      break;
    case "selitems_2":
      SetDropDownDefault(document.forms[0].selItems_2.options[document.forms[0].selItems_2.options.selectedIndex].value, "selItems");
      cmSorting = document.forms[0].selItems_2.options[document.forms[0].selItems_2.options.selectedIndex].value;
      CommonCall();
      break;
    case "imgclearselection":
      if (evt.toLowerCase() == "onclick") {
        var form = document.forms[0];
        var dataChanged = false;
        if (form.chkAc.checked || form.chkFiner.checked || form.chkBeach.checked ||
                    form.chkSeclusion.checked || form.chkPoolHeat.checked || form.chkShops.checked ||
                     form.chkCarNotReq.checked || form.chkCar.checked || form.chkCarEss.checked)
          dataChanged = true;

        if (form.selMinPrice.options.selectedIndex > 0 || form.selMaxPrice.options.selectedIndex > 0 || form.ddResorts.options.selectedIndex > 0)
          dataChanged = true;

        form.chkAc.checked = false;
        form.chkFiner.checked = false;
        form.chkBeach.checked = false;
        form.chkSeclusion.checked = false;
        form.chkPoolHeat.checked = false;
        form.chkShops.checked = false;
        form.chkCarNotReq.checked = false;
        form.chkCar.checked = false;
        form.chkCarEss.checked = false;
        form.selMinPrice.options.selectedIndex = 0;
        form.selMaxPrice.options.selectedIndex = 0;
        form.ddResorts.options.selectedIndex = 0;

        if (dataChanged) CommonCall();
      }
      if (evt.toLowerCase() == "mouseover") {
        SwapImageShowHide(document.getElementById('imgClearSelectionOn'), document.getElementById('imgClearSelection'));
      }
      if (evt.toLowerCase() == "mouseout") {
        SwapImageShowHide(document.getElementById('imgClearSelection'), document.getElementById('imgClearSelectionOn'));
      }
      break;
    case "ddsortbyprice":
      SetDropDownDefault(document.forms[0].ddSortByPrice.options[document.forms[0].ddSortByPrice.options.selectedIndex].value, "ddSortByPrice_2");
      CommonCall();
      break;
    case "ddsortbyprice_2":
      SetDropDownDefault(document.forms[0].ddSortByPrice_2.options[document.forms[0].ddSortByPrice_2.options.selectedIndex].value, "ddSortByPrice");
      CommonCall();
      break;
    case "cmdammendflights":
      if (document.forms[0].selAmmendFlights.options[document.forms[0].selAmmendFlights.options.selectedIndex].value == "--") {
        alert("Please select a valid airport");
      }
      else {
        SetDropDownDefault(document.forms[0].selAmmendFlights.options[document.forms[0].selAmmendFlights.options.selectedIndex].value, "ddAirports");
        js_controller_searchTile(imgsearchId, 'click');
      }
      break;
    case "helpdestresort":
      if (evt.toLowerCase() == "mouseover") {
        var infoText = "";
        var objDrpDest = document.getElementById(ddDestinationsId);
        var destCode = objDrpDest.options[objDrpDest.selectedIndex].value;
        infoText = "<font color='#666666'>You can either choose to look at the villas that are available for your selected dates in ALL our destinations or select one of our destinations from the drop down box below.</font>";
        if (destCode == "AL" || destCode == "CO" || destCode == "BL" || destCode == "SP" || destCode == "CY" || destCode == "MA" || destCode == "ME" || destCode == "KE" || destCode == "LA" || destCode == "RH" || destCode == "CR") {
          infoText = infoText.replace(/destinations/g, "resorts");
        }
        SwapImageShowHide(document.getElementById('destResortOn'), document.getElementById('destResortOff'));
        var anchorPos = getAnchorPosition('destResortOn');
        var objShowLayer = document.getElementById('dvDestResortSortHoverBox');
        var objIfrmShowLayer = document.getElementById('ifrmDestResortSortHoverBox');
        objIfrmShowLayer.style.top = (parseInt(anchorPos.y) - parseInt((objShowLayer.style.height)) - 5) + "px";
        objIfrmShowLayer.style.left = parseInt(anchorPos.x) - 200 + "px";
        objIfrmShowLayer.style.display = "";
        objIfrmShowLayer.style.visibility = "visible";

        document.getElementById('msgSortHoverBox').innerHTML = infoText;
        objShowLayer.style.top = (parseInt(anchorPos.y) - parseInt((objShowLayer.style.height)) - 5) + "px";
        objShowLayer.style.left = parseInt(anchorPos.x) - 200 + "px";
        objShowLayer.style.display = "";
        objShowLayer.style.visibility = "visible";
      }
      if (evt.toLowerCase() == "mouseout") {
        var objIfrmShowLayer = null;
        objIfrmShowLayer = document.getElementById('ifrmDestResortSortHoverBox');
        SwapImageShowHide(document.getElementById('destResortOff'), document.getElementById('destResortOn'));
        objIfrmShowLayer.style.display = "none";
        objIfrmShowLayer.style.visibility = "hidden";
        hideLayer('dvDestResortSortHoverBox');
      }
      break;
    case "helpsortby1":
      if (evt.toLowerCase() == "mouseover") {
        var objDrpDest = document.getElementById(ddDestinationsId);
        var destCode = objDrpDest.options[objDrpDest.selectedIndex].value;
        var infoText = ""; ;
        if (destCode == "AL" || destCode == "CO" || destCode == "BL" || destCode == "SP" || destCode == "CY" || destCode == "MA" || destCode == "ME" || destCode == "KE" || destCode == "LA") {
          infoText = "<font color='#666666'>You can choose to sort the search by lowest price first or by highest price.</font>";
        }
        else {
            infoText = "<font color='#666666'>You can choose to sort the search by lowest price first or by highest price or by destination (in alphabetical order).</font>";
        }
        SwapImageShowHide(document.getElementById('sortBy1On'), document.getElementById('sortBy1Off'));
        var anchorPos = getAnchorPosition('sortBy1On');
        var objShowLayer = document.getElementById('dvDestResortSortHoverBox');
        var objIfrmShowLayer = document.getElementById('ifrmDestResortSortHoverBox');
        //ddResorts
        var objddResorts = document.getElementById('ddResorts');
        if (objddResorts != null) {
          objddResorts.blur();
        }
        //selMinPrice
        var objselMinPrice = document.getElementById('selMinPrice');
        if (objselMinPrice != null) {
          objselMinPrice.blur();
        }
        //selMaxPrice
        var objselMaxPrice = document.getElementById('selMaxPrice');
        if (objselMaxPrice != null) {
          objselMaxPrice.blur();
        }
        objIfrmShowLayer.style.top = (parseInt(anchorPos.y) - parseInt((objShowLayer.style.height)) - 5) + "px";
        objIfrmShowLayer.style.left = parseInt(anchorPos.x) - 199 + "px";
        objIfrmShowLayer.style.display = "";
        objIfrmShowLayer.style.visibility = "visible";

        objShowLayer.style.top = (parseInt(anchorPos.y) - parseInt((objShowLayer.style.height)) - 5) + "px";
        objShowLayer.style.left = parseInt(anchorPos.x) - 200 + "px";
        objShowLayer.style.display = "";
        objShowLayer.style.visibility = "visible";
        document.getElementById('msgSortHoverBox').innerHTML = infoText;
      }
      if (evt.toLowerCase() == "mouseout") {
        var objIfrmShowLayer = null;
        objIfrmShowLayer = document.getElementById('ifrmDestResortSortHoverBox');
        SwapImageShowHide(document.getElementById('sortBy1Off'), document.getElementById('sortBy1On'));
        objIfrmShowLayer.style.display = "none";
        objIfrmShowLayer.style.visibility = "hidden";
        hideLayer('dvDestResortSortHoverBox');

      }
      break;
    case "helpsortby2":
      if (evt.toLowerCase() == "mouseover") {
        var objDrpDest = document.getElementById(ddDestinationsId);
        var destCode = objDrpDest.options[objDrpDest.selectedIndex].value;
        var infoText = ""; ;
        if (destCode == "AL" || destCode == "CO" || destCode == "BL" || destCode == "SP" || destCode == "CY" || destCode == "MA" || destCode == "ME" || destCode == "KE" || destCode == "LA") {
            infoText = "<font color='#666666'>You can choose to sort the search by lowest price first or by highest price.</font>";
        }
        else {
            infoText = "<font color='#666666'>You can choose to sort the search by lowest price first or by highest price or by destination (in alphabetical order).</font>";
        }
        SwapImageShowHide(document.getElementById('sortBy2On'), document.getElementById('sortBy2Off'));
        var anchorPos = getAnchorPosition('sortBy2On');
        var objShowLayer = document.getElementById('dvDestResortSortHoverBox');
        var msgText = "";
        objShowLayer.style.top = (parseInt(anchorPos.y) - parseInt((objShowLayer.style.height)) - 5) + "px";
        objShowLayer.style.left = parseInt(anchorPos.x) - 200 + "px";
        objShowLayer.style.display = "";
        objShowLayer.style.visibility = "visible";
        document.getElementById('msgSortHoverBox').innerHTML = infoText;
      }
      if (evt.toLowerCase() == "mouseout") {
        SwapImageShowHide(document.getElementById('sortBy2Off'), document.getElementById('sortBy2On'));
        hideLayer('dvDestResortSortHoverBox');
      }
      break;
    case "helpgreaterseclusion":
      if (evt.toLowerCase() == "mouseover") {
        var anchorPos = getAnchorPosition('GreaterSeclusion');
        var objShowLayer = document.getElementById('divGreaterSeclusion');
        objShowLayer.style.top = (parseInt(anchorPos.y) - parseInt((objShowLayer.style.height)) - 5) + "px";
        objShowLayer.style.left = parseInt(anchorPos.x) - 25 + "px";
        objShowLayer.style.display = "";
        objShowLayer.style.visibility = "visible";
      }
      if (evt.toLowerCase() == "mouseout") {
        hideLayer('divGreaterSeclusion');
      }
      break;
  }
}
//CONTROLLER FOR IMAGES
function js_controllerImg(sender, evt, vId, cCode, counterPosition) {
    var objBrowser = new Browser();
  switch (sender.toLowerCase()) {
    case "beachimg":
      if (evt.toLowerCase() == "mouseover") {
        var obj = document.getElementById(sender + "_" + vId);
        obj.className = "transImgOff";
      }
      if (evt.toLowerCase() == "mouseout") {
        var obj = document.getElementById(sender + "_" + vId);
        obj.className = "transImgOff";
      }
      break;

    case "cmdmorepics":
      if (evt.toLowerCase() == "mouseover") {
        SwapImageShowHide(document.getElementById('cmdMorePics_' + vId + "On"), document.getElementById('cmdMorePics_' + vId));
      }
      else if (evt.toLowerCase() == "mouseout") {
        SwapImageShowHide(document.getElementById('cmdMorePics_' + vId), document.getElementById('cmdMorePics_' + vId + "On"));
      }
      else {
        clearInterval(intMapPics);
        document.getElementById("frmMapPics").style.display = "none";
        document.getElementById("frmMapPics").style.visibility = "hidden";
        currentVillaId = vId;
        InitialliseVariablesForBookingPage(vId, cCode, counterPosition);
        LoadFrmMapsPics(vId, 'morePics', cCode, counterPosition);
        ShowPreloader("Loading Images", "Please wait while we load villa images.", getAnchorPosition('cmdMicrosoftMaps_' + vId));
        intMapPics = setInterval("CheckLoadedMapsPics()", 1000);
      }
      break;

    case "cmdmorepics2":
      if (evt.toLowerCase() == "mouseover") {
        SwapImageShowHide(document.getElementById('cmdMorePics2_' + vId + "On"), document.getElementById('cmdMorePics2_' + vId));
      }
      else if (evt.toLowerCase() == "mouseout") {
        SwapImageShowHide(document.getElementById('cmdMorePics2_' + vId), document.getElementById('cmdMorePics2_' + vId + "On"));
      }
      else {

      }
      break;

    case "cmdgooglemaps":
      if (evt.toLowerCase() == "mouseover") {
        SwapImageShowHide(document.getElementById('cmdGoogleMaps_' + vId + "On"), document.getElementById('cmdGoogleMaps_' + vId));
      }
      else if (evt.toLowerCase() == "mouseout") {
        SwapImageShowHide(document.getElementById('cmdGoogleMaps_' + vId), document.getElementById('cmdGoogleMaps_' + vId + "On"));
      }
      else {
        clearInterval(intMapPics);
        document.getElementById("frmMapPics").style.display = "none";
        document.getElementById("frmMapPics").style.visibility = "hidden";
        currentVillaId = vId;
        InitialliseVariablesForBookingPage(vId, cCode, counterPosition);
        LoadFrmMapsPics(vId, 'GGL', cCode, counterPosition);
        ShowPreloader("Loading Google Map", "Please wait while we load the google map for this villa", getAnchorPosition('cmdMicrosoftMaps_' + vId));
        intMapPics = setInterval("CheckLoadedMapsPics('cmdgooglemaps')", 1000);
      }
      break;

    case "cmdmicrosoftmaps":
      if (evt.toLowerCase() == "mouseover") {
        SwapImageShowHide(document.getElementById('cmdMicrosoftMaps_' + vId + "On"), document.getElementById('cmdMicrosoftMaps_' + vId));
      }
      else if (evt.toLowerCase() == "mouseout") {
        SwapImageShowHide(document.getElementById('cmdMicrosoftMaps_' + vId), document.getElementById('cmdMicrosoftMaps_' + vId + "On"));
      }
      else {
        clearInterval(intMapPics);
        document.getElementById("frmMapPics").style.display = "none";
        document.getElementById("frmMapPics").style.visibility = "hidden";
        currentVillaId = vId;
        InitialliseVariablesForBookingPage(vId, cCode, counterPosition);
        LoadFrmMapsPics(vId, 'MSN', cCode, counterPosition);
        ShowPreloader("Loading Microsoft Map", "Please wait while we load the microsoft map for this villa", getAnchorPosition('cmdMicrosoftMaps_' + vId + "On"));
        intMapPics = setInterval("CheckLoadedMapsPics('cmdmicrosoftmaps')", 1000);
      }
      break;

    case "cmdaddtofav":
      alert("This feature is not yet available");
      break;

  case "cmdbookvo":
      if (evt.toLowerCase() == "mouseover") {
          SwapImageShowHide(document.getElementById('cmdBookVO_' + vId + "On"), document.getElementById('cmdBookVO_' + vId));
      }
      else if (evt.toLowerCase() == "mouseout") {
          SwapImageShowHide(document.getElementById('cmdBookVO_' + vId), document.getElementById('cmdBookVO_' + vId + "On"));
      }
      else {
          BookVilla(0, vId, depDate, duration, cCode,
                            parseFloat(arrSearchResults[counterPosition][19]).toFixed(roundUpToDigits),
                            parseFloat(arrSearchResults[counterPosition][20]).toFixed(roundUpToDigits));

          document.getElementById("divFancyLoadingIcon").style.display = "";
          document.getElementById("divFancyLoadingIcon").style.visibility = "visible";
          if (objBrowser.ie) {
              document.getElementById("divFadedBg").style.height = document.body.scrollHeight;
          }
          else {
              document.getElementById("divFadedBg").style.height = document.body.scrollHeight + 1000 + "px";
          }
          document.getElementById("divFadedBg").style.display = "";
          document.getElementById("divFadedBg").style.visibility = "visible";
      }
      break;

    case "cmdbookpkg":
      if (evt.toLowerCase() == "mouseover") {
        SwapImageShowHide(document.getElementById('cmdBookPKG_' + vId + "On"), document.getElementById('cmdBookPKG_' + vId));
      }
      else if (evt.toLowerCase() == "mouseout") {
        SwapImageShowHide(document.getElementById('cmdBookPKG_' + vId), document.getElementById('cmdBookPKG_' + vId + "On"));
      }
      else {
        BookVilla(1, vId, depDate, duration, cCode,
                            parseFloat(arrSearchResults[counterPosition][19]).toFixed(roundUpToDigits),
                            parseFloat(arrSearchResults[counterPosition][20]).toFixed(roundUpToDigits));

        document.getElementById("divFancyLoadingIcon").style.display = "";
        document.getElementById("divFancyLoadingIcon").style.visibility = "visible";
        if (objBrowser.ie) {
            document.getElementById("divFadedBg").style.height = document.body.scrollHeight;
        }
        else {
            document.getElementById("divFadedBg").style.height = document.body.scrollHeight + 1000 + "px";
        }
        document.getElementById("divFadedBg").style.display = "";
        document.getElementById("divFadedBg").style.visibility = "visible";
      }
      break;
    case "cmdflights":
      if (evt.toLowerCase() == "mouseover") {
        SwapImageShowHide(document.getElementById('cmdFlights_' + vId + "On"), document.getElementById('cmdFlights_' + vId));
      }
      else if (evt.toLowerCase() == "mouseout") {
        SwapImageShowHide(document.getElementById('cmdFlights_' + vId), document.getElementById('cmdFlights_' + vId + "On"));
      }
      else {
        ShowFlightDiv(cCode, vId);
      }
      break;

    case "cmdbookhover":
      if (evt.toLowerCase() == "onmouseover") {
        showHoverLayer('dvVOHoverBox', vId, cCode, 125, 165);
      }
      if (evt.toLowerCase() == "onmouseout") {
        hideLayer('dvVOHoverBox');
      }
      break;
    case "cmdvillainformation":
      if (evt.toLowerCase() == "mouseover") {
        SwapImageShowHide(document.getElementById('cmdVillaInformation_' + vId + "On"), document.getElementById('cmdVillaInformation_' + vId));
      }
      else if (evt.toLowerCase() == "mouseout") {
        SwapImageShowHide(document.getElementById('cmdVillaInformation_' + vId), document.getElementById('cmdVillaInformation_' + vId + "On"));
      }
      else {
        InitialliseVariablesForBookingPage(vId, cCode, counterPosition);
        GetVillaIndividual(vId, cCode, counterPosition);
      }
      break;
  }
}

// 6171 - Function for VO or PKG Booking
function BookVilla(pkgType, villaId, departureDate, totalDuration, centreCode, aCost, cCost) {
  
  var bkg = new Booking();
  var forms = document.forms[0];
  bkg.Type = pkgType;
  bkg.VillaId = villaId;
  bkg.DepartureDate = departureDate;
  bkg.Duration = totalDuration;
  bkg.CentreCode = centreCode;
  bkg.SourceAirport = forms.hdn_DepAirport.value;
  bkg.DestinationAirport = "DestAirport";

  bkg.AdultCost = aCost;
  bkg.ChildCost = cCost;
  bkg.Adults = forms.hdn_Adults.value;
  bkg.Infants = forms.hdn_Infants.value;
  bkg.Children = forms.hdn_Children.value;
  bkg.SendBooking('booking');
}

function InitialliseVariablesForBookingPage(vId, cCode, counterPosition) {
  //Create booking object to call CreateXML method
  var objBkg = new Booking();
  var forms = document.forms[0];
  objBkg.Type = packageType;
  objBkg.VillaId = vId;
  objBkg.DepartureDate = depDate;
  objBkg.Duration = duration;
  objBkg.CentreCode = cCode;
  objBkg.SourceAirport = forms.hdn_DepAirport.value;
  objBkg.DestinationAirport = "DestAirport";

  //4056
  if (arrSearchResults[counterPosition][19] == "--") {
    objBkg.AdultCost = 0;
  }
  else {
    objBkg.AdultCost = parseFloat(arrSearchResults[counterPosition][19]).toFixed(roundUpToDigits);
  }

  //4056
  if (arrSearchResults[counterPosition][20] == "--") {
    objBkg.ChildCost = 0;
  }
  else {
    objBkg.ChildCost = parseFloat(arrSearchResults[counterPosition][20]).toFixed(roundUpToDigits);
  }
  objBkg.Adults = forms.hdn_Adults.value;
  objBkg.Infants = forms.hdn_Infants.value;
  objBkg.Children = forms.hdn_Children.value;
  // Bug 3910 BugBash_Viper_HS_PK_Pax are getting reset if you come back to VI from HS page
  //4056
  if (arrSearchResults[counterPosition][21] == "--") {
    objBkg.InfantCost = 0;
  }
  else {
    objBkg.InfantCost = parseFloat(arrSearchResults[0][21]).toFixed(roundUpToDigits);
  }
  objBkg.VillaCost = parseFloat(arrSearchResults[0][18]).toFixed(roundUpToDigits);
  objBkg.TotalCost = (objBkg.AdultCost * objBkg.Adults) + (objBkg.ChildCost * objBkg.Children) + (objBkg.InfantCost * objBkg.Infants);
  objBkg.AdultsTotal = objBkg.AdultCost * objBkg.Adults;
  objBkg.ChildsTotal = objBkg.ChildCost * objBkg.Children;
  objBkg.InfantsTotal = objBkg.InfantCost * objBkg.Infants;
  objBkg.hasFlightFound = hasFlightFound;

  //To initialize Display Date 
  var strDepartureDate;
  var objdepDate = document.getElementById('search_DTPicker');
  strDepartureDate = Trim(objdepDate.value);
  strDepartureDate = strDepartureDate.substring(0, strDepartureDate.lastIndexOf(' '));
  objBkg.DisplayDate = Trim(objdepDate.value);

  objBkg.SendBooking('other');
  //End 
}

function GetVillaIndividual(villaId, cCode, counterPos) {

  var obj = document.getElementById("txtVillaOnly");
  obj.value = parseFloat(arrSearchResults[counterPos][18]);
  var strAirport = "";

  if (packageType == 1) {
    obj = document.getElementById("txtAQ");
    obj.value = totAdults;
    obj = document.getElementById("txtAP");
    obj.value = parseFloat(arrSearchResults[counterPos][19]).toFixed(roundUpToDigits);
    obj = document.getElementById("txtAT");
    var intAdultPackagePrice = parseFloat(totAdults * arrSearchResults[counterPos][19]).toFixed(roundUpToDigits);
    obj.value = intAdultPackagePrice;

    obj = document.getElementById("txtCQ");
    obj.value = totChildren;
    obj = document.getElementById("txtCP");
    obj.value = parseFloat(arrSearchResults[counterPos][20]).toFixed(roundUpToDigits);
    obj = document.getElementById("txtCT");
    var intChildPackagePrice = parseFloat(totChildren * arrSearchResults[counterPos][20]).toFixed(roundUpToDigits);
    obj.value = intChildPackagePrice;

    obj = document.getElementById("txtIQ");
    obj.value = totInfants;
    obj = document.getElementById("txtIP");
    obj.value = parseFloat(arrSearchResults[counterPos][21]).toFixed(roundUpToDigits);
    obj = document.getElementById("txtIT");
    var intTotalPackagePrice = parseFloat(totInfants * arrSearchResults[counterPos][21]).toFixed(roundUpToDigits);
    obj.value = intTotalPackagePrice;

    obj = document.getElementById("txtPKTotal");
    obj.value = (parseFloat(intAdultPackagePrice) + parseFloat(intChildPackagePrice) + parseFloat(intTotalPackagePrice)).toFixed(roundUpToDigits);

    strAirport = BuildAirportString(cCode);
  }
  else {
    obj = document.getElementById("txtAQ");
    obj.value = "0";
    obj = document.getElementById("txtAP");
    obj.value = "-";
    obj = document.getElementById("txtAT");
    obj.value = "-";

    obj = document.getElementById("txtCQ");
    obj.value = "0";
    obj = document.getElementById("txtCP");
    obj.value = "-";
    obj = document.getElementById("txtCT");
    obj.value = "-";

    obj = document.getElementById("txtIQ");
    obj.value = "0";
    obj = document.getElementById("txtIP");
    obj.value = "-";
    obj = document.getElementById("txtIT");
    obj.value = "-";

    obj = document.getElementById("txtPKTotal");
    obj.value = "-";
  }

  var tmpShortInfo = "";
  //Adults   
  if (totAdults > 0) {
    if (parseInt(totAdults) == 1) {
      tmpShortInfo = totAdults + " Adult,";
    }
    else {
      tmpShortInfo = totAdults + " Adults,";
    }
  }
  //Children
  if (totChildren > 0) {
    if (parseInt(totChildren) == 1) {
      tmpShortInfo = tmpShortInfo + "  " + totChildren + " Child,";
    }
    else {
      tmpShortInfo = tmpShortInfo + "  " + totChildren + " Children,";
    }
  }
  //Infants
  if (totInfants > 0) {
    if (parseInt(totInfants) == 1) {
      tmpShortInfo = tmpShortInfo + "  " + totInfants + " Infant";
    }
    else {
      tmpShortInfo = tmpShortInfo + "  " + totInfants + " Infants";
    }
  }

  var objdepDate = document.getElementById('search_DTPicker');
  var strDepartureDate;
  strDepartureDate = Trim(objdepDate.value);
  strDepartureDate = strDepartureDate.substring(0, strDepartureDate.lastIndexOf(' '));
  tmpShortInfo = tmpShortInfo + " departing  on " + strDepartureDate;

  if (parseInt(duration) > 0) {
    tmpShortInfo = tmpShortInfo + " for " + parseInt(duration) * 7 + " nights";
  }

  if (Trim(strAirport).length > 0) {
    tmpShortInfo = tmpShortInfo + " from " + strAirport;
  }
  obj = document.getElementById("txtShortInfo");
  obj.value = tmpShortInfo;

  obj = document.getElementById("txtHasFlightFound");
  obj.value = hasFlightFound;

  var url = "http://" + serverName + "/" + ReturnVirDirectory(cCode.toLowerCase()) + "/code/villas/villaIndividual.asp?ID=" + villaId + "&ShowPrices=1";
  var formObj = document.getElementById("frmSearchResults2");
  formObj.method = "POST";
  formObj.action = url;
  formObj.target = "_parent";
  formObj.submit();
}
//GETS ALL THE POSTED FORMS DETAILS SO AS TO BUILD THE VIEW ACCORDINGLY
function GetPostedFormsDetails() {
  var form = document.forms[0];
  if (form.ddResorts.options.length == 0) {
    selectedResortId = "all";
  }
  else {
    selectedResortId = form.ddResorts.options[form.ddResorts.options.selectedIndex].value;
  }
  if (form.selItems.options.length == 0) {
    totalResultsPerPage = 5;
  }
  else {
    totalResultsPerPage = form.selItems.options[form.selItems.options.selectedIndex].value;
  }

  if (form.selMaxPrice.options.length == 0) {
    maxPrice = 0;
  }
  else {
    maxPrice = form.selMaxPrice.options[form.selMaxPrice.options.selectedIndex].value;
  }
  if (form.selMinPrice.options.length == 0) {
    minPrice = 0;
  }
  else {
    minPrice = form.selMinPrice.options[form.selMinPrice.options.selectedIndex].value;
  }
}

//GETS THE TOTAL COUNT FOR FEATURES FOR VILLAS, ALSO GET THE RESULTS COUNT FOR EACH CENTRE OR A GIVEN SET OF VILLA IDS
//PARAMS: CENTRE CODE, ARRAY OF SPECIFIC IDS, REQUIRED SEARCH RESULTS OBJECT
function GetItemsCount(centreCode, idsArray, arrayObject) {
  totAC = 0;
  totFinestVilla = 0;
  totBeachClose = 0;
  totSeclusion = 0;
  totPoolHeat = 0;
  totRestaurant = 0;
  totCarUse = 0;
  totCarNotReq = 0;
  totCarEss = 0;

  totALresults = 0;
  totSPresults = 0;
  totMAresults = 0;
  totMEresults = 0;
  totCOresults = 0;
  totCYresults = 0;
  totBLresults = 0;
  totLAresults = 0;
  totKEresults = 0;
  totTEresults = 0;
  totFUresults = 0;
  totCRresults = 0;
  totRHresults = 0;
  
  maxPrice = 0;
  minPrice = 0;
  var arrayToUse = arrayObject;
  var stp = arrayToUse.length;
  if (idsArray == null)//GET COUNT FOR AN ENTIRE CENTRE
  {
    for (var ctr = 0; ctr < stp; ctr++) {
      if (searchType != 1)//ANY DESTINATION SEARCH SO IGNORE THE CENTRE CODE CHECK
      {
        if (arrayToUse[ctr][0].toLowerCase() == centreCode.toLowerCase()) {
          if (parseInt(arrayToUse[ctr][3]) == 1) totAC++;
          if (parseInt(arrayToUse[ctr][4]) == 1 || parseInt(arrayToUse[ctr][24]) == 1) totFinestVilla++;
          if (parseInt(arrayToUse[ctr][5]) == 1) totBeachClose++;
          if (parseInt(arrayToUse[ctr][6]) == 1) totSeclusion++;
          if (parseInt(arrayToUse[ctr][7]) == 1) totPoolHeat++;
          if (parseInt(arrayToUse[ctr][8]) == 1) totRestaurant++;
          if (Trim(arrayToUse[ctr][9]).toLowerCase() == "use") totCarUse++;
          if (Trim(arrayToUse[ctr][9]).toLowerCase() == "notreq") totCarNotReq++;
          if (Trim(arrayToUse[ctr][9]).toLowerCase() == "ess") totCarEss++;
        }
      }
      else {
        if (parseInt(arrayToUse[ctr][3]) == 1) totAC++;
        if (parseInt(arrayToUse[ctr][4]) == 1 || parseInt(arrayToUse[ctr][24]) == 1) totFinestVilla++;
        if (parseInt(arrayToUse[ctr][5]) == 1) totBeachClose++;
        if (parseInt(arrayToUse[ctr][6]) == 1) totSeclusion++;
        if (parseInt(arrayToUse[ctr][7]) == 1) totPoolHeat++;
        if (parseInt(arrayToUse[ctr][8]) == 1) totRestaurant++;
        if (Trim(arrayToUse[ctr][9]).toLowerCase() == "use") totCarUse++;
        if (Trim(arrayToUse[ctr][9]).toLowerCase() == "notreq") totCarNotReq++;
        if (Trim(arrayToUse[ctr][9]).toLowerCase() == "ess") totCarEss++;
      }
      var cCode = arrayToUse[ctr][0].toLowerCase();
      if (cCode == "al") totALresults++;
      if (cCode == "sp") totSPresults++;
      if (cCode == "ma") totMAresults++;
      if (cCode == "me") totMEresults++;
      if (cCode == "co") totCOresults++;
      if (cCode == "cy") totCYresults++;
      if (cCode == "bl") totBLresults++;
      if (cCode == "la") totLAresults++;
      if (cCode == "ke") totKEresults++;
      if (cCode == "te") totTEresults++;
      if (cCode == "fu") totFUresults++;
      if (cCode == "cr") totCRresults++;
      if (cCode == "rh") totRHresults++;
    }
    totANYresults = arrSearchResults.length;
  }
  else {
    var stp = idsArray.length;
    var stp2 = arrayToUse.length;

    for (var ctr = 0; ctr < stp2; ctr++) {
      ctr2 = 0;
      var myfound = 0;

      while ((myfound == 0) && (ctr2 < stp)) {
        if (parseInt(idsArray[ctr2]) == parseInt(arrayToUse[ctr][1])) {
          myfound = 1;
        }
        ctr2++;
      }
      if (myfound == 1) {
        if (parseInt(arrayToUse[ctr][3]) == 1) totAC++;
        if (parseInt(arrayToUse[ctr][4]) == 1 || parseInt(arrayToUse[ctr][24]) == 1) totFinestVilla++;
        if (parseInt(arrayToUse[ctr][5]) == 1) totBeachClose++;
        if (parseInt(arrayToUse[ctr][6]) == 1) totSeclusion++;
        if (parseInt(arrayToUse[ctr][7]) == 1) totPoolHeat = totPoolHeat + 1;
        if (parseInt(arrayToUse[ctr][8]) == 1) totRestaurant++;
        if (Trim(arrayToUse[ctr][9]).toLowerCase() == "use") totCarUse++;
        if (Trim(arrayToUse[ctr][9]).toLowerCase() == "notreq") totCarNotReq++;
        if (Trim(arrayToUse[ctr][9]).toLowerCase() == "ess") totCarEss++;
      }
      // For car check boxes 
      else {
        var form = document.forms[0];
        var valFound = "";
        if (form.chkAc.checked == true) {
          if (parseInt(arrayToUse[ctr][3]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (form.chkFiner.checked == true) {
          if (parseInt(arrayToUse[ctr][4]) == 1 || parseInt(arrayToUse[ctr][24]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (form.chkBeach.checked == true) {
          if (parseInt(arrayToUse[ctr][5]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (form.chkSeclusion.checked == true) {
          if (parseInt(arrayToUse[ctr][6]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (form.chkPoolHeat.checked == true) {
          if (parseInt(arrayToUse[ctr][7]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (form.chkShops.checked == true) {
          if (parseInt(arrayToUse[ctr][8]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (form.selMaxPrice.options.length == 0) {
          maxPrice = 0;
        }
        else {
          maxPrice = form.selMaxPrice.options[form.selMaxPrice.options.selectedIndex].value;
        }
        if (form.selMinPrice.options.length == 0) {
          minPrice = 0;
        }
        else {
          minPrice = form.selMinPrice.options[form.selMinPrice.options.selectedIndex].value;
        }
        if (packageType == 1)//PRICES
        {
          if (parseFloat(arrayToUse[ctr][19]) >= parseFloat(minPrice) && parseFloat(arrayToUse[ctr][19]) <= parseFloat(maxPrice)) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        else {
          if (parseFloat(arrayToUse[ctr][18]) >= parseFloat(minPrice) && parseFloat(arrayToUse[ctr][18]) <= parseFloat(maxPrice)) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }

        if (selectedResortId != "all") {
          if (Trim(selectedResortId.toLowerCase()) == Trim(arrayToUse[ctr][0]).toLowerCase()) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (valFound == "") {
          valFound = valFound + ",1";
        }
        if (valFound.indexOf(",0") == -1) {

          if (form.chkCar.checked != true) {
            if (Trim(arrayToUse[ctr][9]).toLowerCase() == "use") totCarUse++;
          }
          if (form.chkCarNotReq.checked != true) {
            if (Trim(arrayToUse[ctr][9]).toLowerCase() == "notreq") totCarNotReq++;
          }
          if (form.chkCarEss.checked != true) {
            if (Trim(arrayToUse[ctr][9]).toLowerCase() == "ess") totCarEss++;
          }
        }
      } // inner else not found   
    } //for loop
  }
  // AAA               
}

//THIS FUNCTION SETS THE TEXT AGAINST THE FILTERING CHECKBOXES AND ALSO ENABLES OR DISABLES THE BOXES
function SetFilteringCheckBoxes() {
  //ENABLING/DISABLING FILTERING CHECKBOXES STARTS HERE
  var sts = totAC > 0 ? 1 : 0;
  EnableControl(document.getElementById("chkAc"), sts);
  var sts = totFinestVilla > 0 ? 1 : 0;
  EnableControl(document.getElementById("chkFiner"), sts);
  var sts = totBeachClose > 0 ? 1 : 0;
  EnableControl(document.getElementById("chkBeach"), sts);
  var sts = totSeclusion > 0 ? 1 : 0;
  EnableControl(document.getElementById("chkSeclusion"), sts);
  var sts = totPoolHeat > 0 ? 1 : 0;
  EnableControl(document.getElementById("chkPoolHeat"), sts);
  var sts = totRestaurant > 0 ? 1 : 0;
  EnableControl(document.getElementById("chkShops"), sts);
  var sts = totCarUse > 0 ? 1 : 0;
  EnableControl(document.getElementById("chkCar"), sts);
  var sts = totCarEss > 0 ? 1 : 0;
  EnableControl(document.getElementById("chkCarEss"), sts);
  var sts = totCarNotReq > 0 ? 1 : 0;
  EnableControl(document.getElementById("chkCarNotReq"), sts);
  //ENABLING/DISABLING FILTERING CHECKBOXES ENDS HERE

  //SETTING  THE TEXT FOR EACH CHECKBOX FILTER, FUNCTION SETTEXT DEFINED IN SUPPORT JS
  SetText("(" + totAC + ")", "acCount");
  SetText("(" + totFinestVilla + ")", "totFiner");
  SetText("(" + totBeachClose + ")", "beachCount");
  SetText("(" + totSeclusion + ")", "totSeclusion");
  SetText("(" + totPoolHeat + ")", "totPoolheat");
  SetText("(" + totRestaurant + ")", "totShops");
  SetText("(" + totCarUse + ")", "totCar");
  SetText("(" + totCarNotReq + ")", "totCarNotReq");
  SetText("(" + totCarEss + ")", "totCarEss");
  //SETTING THE TEXT FOR EACH CHECKBOX FILTER ENDS HERE
}

//THIS FUNCTION BUILDS THE PRICING DROP DOWN
//PARAMS: THE SORT ORDER, EITHER ASC OR DESC, THE DROP DOWN CONTROL NAME, THE ARRAY OBJECT TO BE USED
function BuildPriceDropDown(sortOrder, formControlName, arrayObject) {
  ClearDropDown(formControlName);
  ClearDropDown(formControlName);
  var highestPrice;
  var lowestPrice;
  var arryaLowerPrice;
  var arrayHigherPrice;
  var tempStr;
  var arrayToUse = arrayObject;
  arrayToUse = arrayObject.sort(function(a, b) { return a - b });
  arryaLowerPrice = arrayToUse[0];
  arrayHigherPrice = arrayToUse[arrayToUse.length - 1];

  var multipleFactor;
  multipleFactor = arryaLowerPrice / 50;
  lowestPrice = parseInt(multipleFactor, 10) * 50;

  multipleFactor = arrayHigherPrice / 50 + 1;
  highestPrice = parseInt(multipleFactor, 10) * 50;

  var priceDiff;
  priceDiff = highestPrice - lowestPrice;

  var tempPriceDiff;
  for (var ind = 50; ind <= 500; ind = ind + 50) {
    multipleFactor = priceDiff / ind + 1;
    tempPriceDiff = parseInt(multipleFactor, 10) * ind;

    var remainder = parseInt(tempPriceDiff / ind, 10) + 1;
    if (remainder < 5) break;

    if (remainder >= 5 && remainder <= 8) {
      break;
    }

  }

  highestPrice = tempPriceDiff + lowestPrice;

  if (sortOrder.toLowerCase() == "asc") {
    for (var ctr = lowestPrice; ctr <= highestPrice; ctr += ind) {
      AddOptionsToDrowDown(formControlName, "£" + ctr, ctr, false);
    }
  }

  if (sortOrder.toLowerCase() == "dsc") {
    for (var ctr = highestPrice; ctr >= lowestPrice; ctr -= ind) {
      AddOptionsToDrowDown(formControlName, "£" + ctr, ctr, false);
    }
  }
}
//THIS FUNCTION FILLS THE RESORTS DROP DOWN
//PARAMS: THE RESORT DROP DOWN CONTROL NAME, THE ARRAY TO BE USED, THE CENTRE CODE
function BuildResortsDropDown(formControlName, arrayObject, selectedDestination, villaIdsString) {
  //RESORT ID POS IS AT 12
  //RESORT NAME IS AT 13
  var filteredArray = new Array();
  var arrToUse = arrayObject;
  var form = document.forms[0];
  if (form.ddResorts.options.length <= 0) {
    //SORTING THE RESORT NAMES IN THE uniqueResortDetails VARIABLE
    filteredArray = uniqueResortDetails.split("¬");
    filteredArray.sort();
    //ADDING THE ALL OPTION
    AddOptionsToDrowDown(formControlName, "All", "all", false);
    var stp = filteredArray.length;
    for (var ctr4 = 0; ctr4 < stp; ctr4++) {
      resortCount = 0;
      resName = filteredArray[ctr4].substr(0, filteredArray[ctr4].indexOf("__"));
      resId = parseInt(filteredArray[ctr4].substr((filteredArray[ctr4].indexOf("__") + 2), filteredArray[ctr4].length));
      var stp2 = arrToUse.length;
      for (var ctr5 = 0; ctr5 < stp2; ctr5++) {
        if (searchType == "0") {
          //SD SEARCH
          if (resId == parseInt(arrToUse[ctr5][12]) && arrToUse[ctr5][0].toLowerCase() == selectedDestinationCode.toLowerCase()) resortCount++;
        }
        else {
          if (resId == parseInt(arrToUse[ctr5][12])) resortCount++;
        }
      }
      AddOptionsToDrowDown(formControlName, resName + " (" + resortCount + ")", resId, false);
    }
  }
  else {
    var allResortIds = GetResortIdsForFilteringCriteria(filteringArray, arrSearchResults);
    if (allResortIds.indexOf(",") == -1) {
      var arrResortIds = new Array();
      arrResortIds[0] = allResortIds;
    }
    else {
      var arrResortIds = allResortIds.split(",");
    }
    var stp = arrResortIds.length;
    var resortItemsCount = form.ddResorts.options.length;
    for (var ctr = 1; ctr < resortItemsCount; ctr++) {
      var foundIdsCount = 0;
      var resName = form.ddResorts.options[ctr].text.substr(0, form.ddResorts.options[ctr].text.indexOf("("));
      for (var ctr2 = 0; ctr2 < stp; ctr2++) {
        if (parseInt(form.ddResorts.options[ctr].value) == parseInt(arrResortIds[ctr2])) foundIdsCount++;
      }
      form.ddResorts.options[ctr].text = resName + "(" + foundIdsCount + ")";
    }
  }
}

//SETTING THE SHOWING X OF X VILLAS LINE
//PARAMS: THE FROM COUNT, THE TO COUNT, THE TOTAL COUNT OF VILLAS FOR THAT CENTRE
function SetPageXofY(fromRecords, toRecords, totalRecords) {
  if (toRecords > totalRecords) toRecords = totalRecords;
  if (totalRecords == 0) fromRecords = 0;
  SetText("<b>Results</b> " + fromRecords + " - " + toRecords + " of " + totalRecords + " Villas", "resultsPerPage");
  SetText("<b>Results</b> " + fromRecords + " - " + toRecords + " of " + totalRecords + " Villas", "resultsPerPage_2");
}

function NavigateToPage(pgToGoTo) {
  cmSetStatus = 0;
  GetPostedFormsDetails();
  GetFilteringCriteria();
  GetVillaIdsForFilteringCriteria(filteringArray, arrSearchResults);
  GetItemsCount(selectedDestinationCode, showIds, arrSearchResults);

  if (pgToGoTo == "fp") pgToGoTo = 1;
  if (pgToGoTo == "lp") {
    var totItems = document.forms[0].selItems.options[document.forms[0].selItems.options.selectedIndex].value;
    var totRecs = (showIds.length <= 0) ? allVillaIds.length : showIds.length;
    pgToGoTo = (totRecs % totItems == 0) ? totRecs / totItems : parseInt(totRecs / totItems) + 1;
  }
  var from = (pgToGoTo * totalResultsPerPage) + 1 - totalResultsPerPage;
  var to = (parseInt(from) + parseInt(totalResultsPerPage)) - 1;

  showIdsCount = showIds.length;
  SetPageXofY(from, to, showIdsCount);
  SetNextPrevious(totalResultsPerPage, showIdsCount, pgToGoTo);
  GetOrdering(showIdsCounterPos, packageType, arrSearchResults);
  BuildResultsView(selectedDestinationCode, pgToGoTo, totalResultsPerPage, showIds, arrSearchResults);
}
//THIS FUNCTION SET THE PAGING
//PARAMS: ITEMS TO BE DISPLAYED PER PAGE, TOTAL SEARCH RESULTS FOR A CENTRE OR A GROUP OF FILTERED VILLA IDS
function SetNextPrevious(itemsPerPage, totalRecordCount, currentPg) {
  currentPageNumber = currentPg;
  var txt = new String();
  var start;
  var stop;
  var noOfPages = (totalRecordCount % itemsPerPage == 0) ? totalRecordCount / itemsPerPage : parseInt(totalRecordCount / itemsPerPage) + 1;
  start = currentPg - 1;
  if (start <= 0) start = 1;
  stop = start + 2;
  if (stop > noOfPages) {
    stop = noOfPages;
    start = stop > 2 ? stop - 2 : 1;
  }

  for (var ctr = start; ctr <= stop; ctr++) {
    if (txt.length <= 0) {
      if (currentPg == ctr) {
        txt = "<b>" + ctr + "</b>";
      }
      else {
          txt = "<a href=\"javascript:NavigateToPage(" + ctr + ");\"><font id=cmNavPreF1 color=\"" + centerSpcific_gSTR_VB_BLUE + "\">" + ctr + "</font></a>";
      }
    }
    else {
      if (currentPg == ctr) {
        txt += " | " + "<b>" + ctr + "</b>";
      }
      else {
          txt += " | " + "<a href=\"javascript:NavigateToPage(" + ctr + ");\"><font id=cmNavNextF1 color=\"" + centerSpcific_gSTR_VB_BLUE + "\">" + ctr + "</font></a>";
      }
    }
  }
  if (currentPg == 1) {
    txt = "Prev | " + txt;
    var objImg = document.getElementById("firstPageInactive");
    objImg.style.display = "";
    objImg.style.visibility = "visible";
    var objImg = document.getElementById("firstPageActive");
    objImg.style.display = "none";
    objImg.style.visibility = "hidden";
    var objImg = document.getElementById("firstPageInactive_2");
    objImg.style.display = "";
    objImg.style.visibility = "visible";
    var objImg = document.getElementById("firstPageActive_2");
    objImg.style.display = "none";
    objImg.style.visibility = "hidden";
  }
  else {
      txt = "<a href=\"javascript:NavigateToPage(" + (currentPageNumber - 1) + ");\"><font id=cmPreviousF1 color=\"" + centerSpcific_gSTR_VB_BLUE + "\">Prev</font></a> | " + txt;
    var objImg = document.getElementById("firstPageActive");
    objImg.style.display = "";
    objImg.style.visibility = "visible";
    var objImg = document.getElementById("firstPageInactive");
    objImg.style.display = "none";
    objImg.style.visibility = "hidden";
    var objImg = document.getElementById("firstPageActive_2");
    objImg.style.display = "";
    objImg.style.visibility = "visible";
    var objImg = document.getElementById("firstPageInactive_2");
    objImg.style.display = "none";
    objImg.style.visibility = "hidden";
  }
  if (currentPageNumber == noOfPages || noOfPages <= 1) {
    txt = txt + " | Next";
    var objImg = document.getElementById("lastPageInactive");
    objImg.style.display = "";
    objImg.style.visibility = "visible";
    var objImg = document.getElementById("lastPageActive");
    objImg.style.display = "none";
    objImg.style.visibility = "hidden";
    var objImg = document.getElementById("lastPageInactive_2");
    objImg.style.display = "";
    objImg.style.visibility = "visible";
    var objImg = document.getElementById("lastPageActive_2");
    objImg.style.display = "none";
    objImg.style.visibility = "hidden";
  }
  else {
      txt = txt + " | <a href=\"javascript:NavigateToPage(" + (currentPageNumber + 1) + ");\"><font id=cmNextF1 color=\"" + centerSpcific_gSTR_VB_BLUE + "\">Next</a></a>";
    var objImg = document.getElementById("lastPageActive");
    objImg.style.display = "";
    objImg.style.visibility = "visible";
    var objImg = document.getElementById("lastPageInactive");
    objImg.style.display = "none";
    objImg.style.visibility = "hidden";
    var objImg = document.getElementById("lastPageActive_2");
    objImg.style.display = "";
    objImg.style.visibility = "visible";
    var objImg = document.getElementById("lastPageInactive_2");
    objImg.style.display = "none";
    objImg.style.visibility = "hidden";
  }

  SetText(txt, "nextPrev_1");
  SetText(txt, "nextPrev_2");
}

//SHOWS ONLY THE REQUIRED ONE CENTRE TAB AT THE TOP OF THE RESULTS
function ShowSelectedCentreHeader(arrayObject) {
  //AD=1;SD=0
  if (searchType == 0) {
    //SHOWING THE REQUIRED ONE
    var obj = document.getElementById(selectedDestinationCode.toLowerCase() + "_tab");
    obj.style.display = "";
    obj.style.visibility = "visible";
  }
  else {
    var obj = document.getElementById("al_tab");    //USING AL AS THE SELECTED DATE MUST BE IN BLUE COLOR
    obj.style.display = "";
    obj.style.visibility = "visible";
  }
}

//THIS FUNCTION SHOWS THE SELECTED CENTRE TAB AT THE BOTTOM OF THE VILLA RESULTS 
//PARAM: ARRAYOBJECT CONTAINING ALL UNIQUE CENTRE CODES WITHIN A SEARCH RESULTS SET
function ShowCentreTabs(arrayObject) {
  var arrToUse = arrayObject;
  var objPosition = null;
  var startZIndex = 100;
  var stp = arrToUse.length - 1;
  var currentCentre = Trim(selectedDestinationCode).toLowerCase();
  for (var ctr = 0; ctr <= stp; ctr++) {
    if (currentCentre != arrToUse[ctr].toLowerCase()) {
      var obj = document.getElementById(arrToUse[ctr] + "_btn");
      obj.style.display = "";
      obj.style.visibility = "visible";
      if (objPosition == null) {
        //objPosition = getAnchorPosition(arrToUse[ctr] + "_btn");
        objPosition = getAnchorPosition("bottomTabPos");
        obj.style.top = objPosition.y + 1 + "px";
        obj.style.zIndex = startZIndex;
        SetText("&nbsp;&nbsp;&nbsp;<a href=\"javascript:js_controller_searchResults('" + arrToUse[ctr] + "Tabs','onclick');\"><font color=\"#FFFFFF\">" + GetCentreName_2(arrToUse[ctr]) + " (" + eval("tot" + arrToUse[ctr].toUpperCase() + "results") + ")</font></a>", arrToUse[ctr] + "_results");
      }
      else {
        var objPreObjPosition = getAnchorPosition(arrToUse[ctr - 1] + "_btn");
        obj.style.left = objPreObjPosition.x + 105 + "px";
        obj.style.zIndex = startZIndex - ctr;
        SetText("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:js_controller_searchResults('" + arrToUse[ctr] + "Tabs','onclick');\"><font color=\"#FFFFFF\">" + GetCentreName_2(arrToUse[ctr]) + " (" + eval("tot" + arrToUse[ctr].toUpperCase() + "results") + ")</font></a>", arrToUse[ctr] + "_results");
      }
    }
    else {
      var obj = document.getElementById(arrToUse[ctr] + "_btn");
      obj.style.display = "none";
      obj.style.visibility = "hidden";
    }
  }
}

//SIMPLY GETS ALL THE VILLA IDS AND KEEPS IN A STRING
function GetAllVillaIdsAndUniqueCenters(arrayObject) {
  var arrayToUse = arrayObject;
  var oldCentre = "";
  var returnArrayCentreCodes = new Array();
  var intCtr = 0;
  var stp = arrayToUse.length;
  var currentCentre = Trim(selectedDestinationCode).toLowerCase();
  var addedCtr = 0;
  var addedCtr2 = 0;
  allVillaIds = new Array();
  for (var ctr = 0; ctr < stp; ctr++) {
    if (searchType == 1)//AD
    {
      allVillaIds[addedCtr] = arrayToUse[ctr][1];
      //UNIQURE RESORT NAMES
      if (uniqueResortDetails.length <= 0) {
        uniqueResortDetails = Trim(arrayToUse[ctr][13]) + "__" + parseInt(arrayToUse[ctr][12]);
      }
      else {
        if (uniqueResortDetails.indexOf(Trim(arrayToUse[ctr][13]) + "__" + parseInt(arrayToUse[ctr][12])) == -1) uniqueResortDetails = uniqueResortDetails + "¬" + Trim(arrayToUse[ctr][13]) + "__" + parseInt(arrayToUse[ctr][12]);
      }
      addedCtr++;
    }
    else {
      if (Trim(arrayToUse[ctr][0]).toLowerCase() == selectedDestinationCode.toLowerCase()) {
        allVillaIds[addedCtr] = arrayToUse[ctr][1];
        //UNIQURE RESORT NAMES
        if (uniqueResortDetails.length <= 0) {
          uniqueResortDetails = Trim(arrayToUse[ctr][13]) + "__" + parseInt(arrayToUse[ctr][12]);
        }
        else {
          if (uniqueResortDetails.indexOf(Trim(arrayToUse[ctr][13]) + "__" + parseInt(arrayToUse[ctr][12])) == -1) uniqueResortDetails = uniqueResortDetails + "¬" + Trim(arrayToUse[ctr][13]) + "__" + parseInt(arrayToUse[ctr][12]);
        }
        addedCtr++;
      }
    }
    //UNIQUE CENTRE CODES
    //oldCentre = currentCentre;
    currentCentre = Trim(arrayToUse[ctr][0]).toLowerCase();
    var valFound = false;
    var stp2 = centresCodesUniqueArray.length;
    for (var ctr2 = 0; ctr2 < stp2; ctr2++) {
      if (centresCodesUniqueArray[ctr2].toLowerCase() == currentCentre) {
        valFound = true;
        break;
      }
    }
    if (valFound == false) {
      centresCodesUniqueArray[addedCtr2] = currentCentre;
      centreNamesArray[addedCtr2] = Trim(GetCentreName_2(currentCentre.toLowerCase()).replace("The", ""));
      addedCtr2++;
    }
  }
  if (searchType == 1) {
    //SORTING THE CENTRE CODES
    var stp = centreNamesArray.length;
    var tmpArray = new Array();
    var arrayToUse = arrayObject;
    for (var ctr = 0; ctr < stp; ctr++) {
      tmpArray[ctr] = centreNamesArray[ctr];
    }
    tmpArray.sort();
    var stp = tmpArray.length;
    for (var ctr = 0; ctr < stp; ctr++) {
      sortedCentreCodes[ctr] = GetCentreCode(tmpArray[ctr]);
    }
  }
}
//THIS FUNCTION GETS ALL VILLA IDS THAT MATCH A SELECTED RESORT ID
//SELECTED RESORT ID IS GOT IN THE GETPOSTEDFORMDETAILS
function GetVillaIdsForResort(arrayObject) {
  var form = document.forms[0];
  var currentCentre = Trim(selectedDestinationCode.toLowerCase());
  if (form.ddResorts.options[form.ddResorts.options.selectedIndex].text.indexOf("(0)") == -1) {
    //ONLY PROCESS IF THERE ARE MORE THAN ON RECORD COUNT FOR A RESORT
    var arrayToUse = arrayObject;
    if (selectedResortId == "all") {
      showIds = allVillaIds;
    }
    else {
      var stp = arrayToUse.length - 1;
      for (var ctr = 0; ctr <= stp; ctr++) {
        if (Trim(arrayToUse[ctr][0].toLowerCase()) == currentCentre) {
          if (parseInt(arrayToUse[ctr][12]) == parseInt(selectedResortId)) {
            if (showIds.length <= 0) {
              showIds = arrayToUse[ctr][1].toString();
            }
            else {
              showIds = showIds + "," + arrayToUse[ctr][1].toString();
            }
          }
        }
      }
    }
  }
  else {
    alert("Hide the results view");
  }
}

//BUILDS AN ARRAY THAT CONTAINS ALL THE FILTERING CRITERIAS
//IF A CHECK BOX IS NOT CHECKED THEN ITS VALUE IS -1
//OBJECT POSITIONS ARE: AC, FINER VILLA, BEACH, SECLUSION, POOL HEAT, WALK top SHOPS, CAR NOT REQ, CAR USE, CAR ESSENTIAL, MIN PRICE, MAX PRICE, RESORT ID
function GetFilteringCriteria() {
  var form = document.forms[0];
  filteringArray = new Array();
  totalCheckBoxesChecked = 0;
  var filteringCriteria = new String();
  var arrCtr = -1;
  if (form.chkAc.checked == true) {
    totalCheckBoxesChecked++;
    arrCtr++;
    filteringArray[arrCtr] = "ac";
  }
  else {
    arrCtr++;
    filteringArray[arrCtr] = -1;
  }
  if (form.chkFiner.checked == true) {
    totalCheckBoxesChecked++;
    arrCtr++;
    filteringArray[arrCtr] = "FINER";
  }
  else {
    arrCtr++;
    filteringArray[arrCtr] = -1;
  }
  if (form.chkBeach.checked == true) {
    totalCheckBoxesChecked++;
    arrCtr++;
    filteringArray[arrCtr] = "beach_close";
  }
  else {
    arrCtr++;
    filteringArray[arrCtr] = -1;
  }
  if (form.chkSeclusion.checked == true) {
    totalCheckBoxesChecked++;
    arrCtr++;
    filteringArray[arrCtr] = "seclusion";
  }
  else {
    arrCtr++;
    filteringArray[arrCtr] = -1;
  }
  if (form.chkPoolHeat.checked == true) {
    totalCheckBoxesChecked++;
    arrCtr++;
    filteringArray[arrCtr] = "poolheat";
  }
  else {
    arrCtr++;
    filteringArray[arrCtr] = -1;
  }
  if (form.chkShops.checked == true) {
    totalCheckBoxesChecked++;
    arrCtr++;
    filteringArray[arrCtr] = "restaurant";
  }
  else {
    arrCtr++;
    filteringArray[arrCtr] = -1;
  }
  if (form.chkCarNotReq.checked == true) {
    totalCheckBoxesChecked++;
    arrCtr++;
    filteringArray[arrCtr] = "NOTREQ";
  }
  else {
    arrCtr++;
    filteringArray[arrCtr] = -1;
  }
  if (form.chkCar.checked == true) {
    totalCheckBoxesChecked++;
    arrCtr++;
    filteringArray[arrCtr] = "USE";
  }
  else {
    arrCtr++;
    filteringArray[arrCtr] = -1;
  }
  if (form.chkCarEss.checked == true) {
    totalCheckBoxesChecked++;
    arrCtr++;
    filteringArray[arrCtr] = "ESS";
  }
  else {
    arrCtr++;
    filteringArray[arrCtr] = -1;
  }
  arrCtr++;
  filteringArray[arrCtr] = parseInt(minPrice);
  arrCtr++;
  filteringArray[arrCtr] = parseInt(maxPrice);
  arrCtr++;
  if (selectedResortId == "all") {
    filteringArray[arrCtr] = "all";
  }
  else {
    if (searchType == 1) {
      filteringArray[arrCtr] = selectedResortId;      //THIS WILL NOW BE THE CENTRE CODE AND NOT AND ID
    }
    else {
      filteringArray[arrCtr] = parseInt(selectedResortId);
    }
  }
}

function GetVillaIdsForFilteringCriteria(arrayObjectFilters, arrayObject) {
  //OBJECT POSITIONS ARE: AC, FINER VILLA, BEACH, SECLUSION, POOL HEAT, 
  //WALK top SHOPS, CAR NOT REQ, CAR USE, CAR ESSENTIAL, MIN PRICE, MAX PRICE, RESORT ID
  var arrToUse = arrayObject;
  var arrFilters = arrayObjectFilters;
  var stp = arrToUse.length;
  var arrCounter = 0;
  showIds = new Array();
  showIdsCounterPos = new Array();
  var currentCentre = Trim(selectedDestinationCode).toLowerCase();
  if (searchType == 1)//AD
  {
    for (var ctr = 0; ctr < stp; ctr++) {
      var valFound = ""; var myfound = 0;
      if (arrFilters[0] != -1)//AC
      {
        if (parseInt(arrToUse[ctr][3]) == 1) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      if (arrFilters[1] != -1)//FINER VILLA
      {
                if (parseInt(arrToUse[ctr][4]) == 1 || parseInt(arrToUse[ctr][24]) == 1) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      if (arrFilters[2] != -1)//CLOSE TO BEACH
      {
        if (parseInt(arrToUse[ctr][5]) == 1) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      if (arrFilters[3] != -1)//SECLUSION
      {
        if (parseInt(arrToUse[ctr][6]) == 1) {
          valFound = valFound + ",1";

        }
        else {
          valFound = valFound + ",0";
        }
      }
      if (arrFilters[4] != -1)//POOL HEAT
      {
        if (parseInt(arrToUse[ctr][7]) == 1) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      if (arrFilters[5] != -1)//WALK TO SHOPS
      {
        if (parseInt(arrToUse[ctr][8]) == 1) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      // For Car check boxes

      var ctr2 = 6;
      var carchk = 0;
      var myfound = 0;
      while ((myfound == 0) && (ctr2 < 9)) {
        if (arrFilters[ctr2] != -1) {
          carchk = 1;
          if (Trim(arrToUse[ctr][9]).toLowerCase() == Trim(arrFilters[ctr2]).toLowerCase()) {
            myfound = 1;
          }
        }
        ctr2++;
      }
      if (carchk == 1) {
        if (myfound == 1) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }

      if (packageType == 1)//PRICES
      {
        if (parseFloat(arrToUse[ctr][19]) >= parseFloat(minPrice) && parseFloat(arrToUse[ctr][19]) <= parseFloat(maxPrice)) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      else {
        if (parseFloat(arrToUse[ctr][18]) >= parseFloat(minPrice) && parseFloat(arrToUse[ctr][18]) <= parseFloat(maxPrice)) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      if (selectedResortId != "all") {
        if (Trim(arrFilters[11]).toLowerCase() == Trim(arrToUse[ctr][0]).toLowerCase()) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }

      if (valFound.indexOf(",0") == -1) {
        showIds[arrCounter] = arrToUse[ctr][1];
        showIdsCounterPos[arrCounter] = ctr;
        arrCounter++;
      }
    }
  }
  else {
    for (var ctr = 0; ctr < stp; ctr++) {
      var valFound = "";
      if (Trim(arrToUse[ctr][0]).toLowerCase() == currentCentre) {
        if (arrFilters[0] != -1)//AC
        {
          if (parseInt(arrToUse[ctr][3]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (arrFilters[1] != -1)//FINER VILLA
        {
                    if (parseInt(arrToUse[ctr][4]) == 1 || parseInt(arrToUse[ctr][24]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (arrFilters[2] != -1)//CLOSE TO BEACH
        {
          if (parseInt(arrToUse[ctr][5]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (arrFilters[3] != -1)//SECLUSION
        {
          if (parseInt(arrToUse[ctr][6]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (arrFilters[4] != -1)//POOL HEAT
        {
          if (parseInt(arrToUse[ctr][7]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (arrFilters[5] != -1)//WALK TO SHOPS
        {
          if (parseInt(arrToUse[ctr][8]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }

        // For Car check boxes

        var ctr2 = 6;
        var carchk = 0;
        var myfound = 0;
        while ((myfound == 0) && (ctr2 < 9)) {
          if (arrFilters[ctr2] != -1) {
            carchk = 1;
            if (Trim(arrToUse[ctr][9]).toLowerCase() == Trim(arrFilters[ctr2]).toLowerCase()) {
              myfound = 1;
            }
          }
          ctr2++;
        }
        if (carchk == 1) {
          if (myfound == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }

        if (packageType == 1)//PRICES
        {
          if (parseFloat(arrToUse[ctr][19]) >= parseFloat(minPrice) && parseFloat(arrToUse[ctr][19]) <= parseFloat(maxPrice)) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        else {
          if (parseFloat(arrToUse[ctr][18]) >= parseFloat(minPrice) && parseFloat(arrToUse[ctr][18]) <= parseFloat(maxPrice)) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (!isNaN(arrFilters[11]))//RESORTS
        {
          if (parseInt(arrFilters[11]) == parseInt(arrToUse[ctr][12])) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (valFound.indexOf(",0") == -1) {
          showIds[arrCounter] = arrToUse[ctr][1];
          showIdsCounterPos[arrCounter] = ctr;
          arrCounter++;
        }
      }
    }
  }
}

//THIS FUNCTION BUILDS THE VILLA RESULTS VIEW
//PARAMS: CENTRE CODE, PAGE NUMBER, ITEMS PER PAGE
function BuildResultsView(centreCode, pageNumberToGo, itemsPerPage, listOfIds, arrayObject) {

  var arrayToUse = arrayObject;
  var startCtr = (pageNumberToGo * itemsPerPage) - itemsPerPage;
  var stopCtr = (pageNumberToGo * itemsPerPage) - 1;
  var htmlResults = new String();
  var ids = new Array();
  if (listOfIds == null) {
    ids = allVillaIds;
  }
  else {
    ids = showIds;
  }

  if (ids.length <= 0) {
    var objView = document.getElementById("resultsView");
    objView.innerHTML = "";
    objView.innerHTML = "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td height=\"50\" align=\"center\"><img src=\"../../imgs/common/zeroHolidays.jpg\" alt=\"No Result found\"  title=\"No Result found\" border=\"0\" /></td></tr><tr><td>&nbsp;</td></tr></table>";
  }
  else {
    var stp = arrayToUse.length;
    if (stopCtr > ids.length - 1) {
      stopCtr = ids.length - 1;
    }
    for (startCtr; startCtr <= stopCtr; startCtr++) {
      for (var ctr = 0; ctr < stp; ctr++) {
        if (parseInt(ids[startCtr]) == parseInt(arrayToUse[ctr][1])) {
          SetVillaDetails(ctr, arrayToUse);
          if (htmlResults.length <= 0) {
            htmlResults = FillIndividualVillas('resultsView', villaCentreName, villaShortName, villaImg, villaId, centreCode, villaAltTagNormal, villaBeachImg, villaBeachAlt, villaResortName, ctr);
          }
          else {
            htmlResults = htmlResults + FillIndividualVillas('resultsView', villaCentreName, villaShortName, villaImg, villaId, centreCode, villaAltTagNormal, villaBeachImg, villaBeachAlt, villaResortName, ctr);
          }
          break;
        }
      }
    }
    var objView = document.getElementById("resultsView");
    objView.innerHTML = "" + "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">" + htmlResults + "</table>";
}
//Core Metrics
var str;
var str1;
if (filteringArray != undefined) {
    str = cmStringForFiltering();
    str1 = cmUpdateattributepattern(cmAttributePatt1);
    if (cmSetStatus == 1) {
        cmCreatePageviewTag(cmPageID1, cmCatID1, "", "", str1);
    }
      cmSetStatus = 1;
  
}
  //Core Metrics Implementation- This function is defined in cmtracking.ascx. 
   getAllElements("0");
  //Core Metrics Implementation
  showIds = [];
  showIdsCounterPos = [];
}
//THIS FUNCTION SET ALL THE REQUIRED VILLA PROPERTIES
//PARAMS: SPECIFIC COUNTER POSTITION & THE REQUIRED ARRAY OBJECT
function SetVillaDetails(arrPos, arrayObject) {
  var imageExisits = false;
  var arrToUse = arrayObject;
  villaId = arrToUse[arrPos][1];
  villaShortName = arrToUse[arrPos][2];
  villaCentreName = (searchType == 1) ? GetCentreName_2(arrToUse[arrPos][0]) : GetCentreName_2(selectedDestinationCode);
  //GetCentreName_2 DEFINED IN SUPPORT JS
  villaBedRooms = arrToUse[arrPos][11];
  villaImg = "../../images/" + arrSearchResults[arrPos][0] + "/villas/photos/" + arrToUse[arrPos][10];
  villaAltTagNormal = arrToUse[arrPos][14];
  //CHECKING IF AN IMAGE EXISTS DEFINED IN SUPPORT JS
  imageExisits = CheckImageExisits(villaImg);
  if (imageExisits == false) {
    villaImg = "../../imgs/common/noPhoto_n.gif";
    villaAltTagNormal = "No photo available";
  }
  villaBeachImg = "../../images/" + arrSearchResults[arrPos][0] + "/villas/photos/" + arrToUse[arrPos][16];
  villaBeachAlt = arrToUse[arrPos][17];
  imageExisits = false;
  imageExisits = CheckImageExisits(villaBeachImg);
  if (imageExisits == false) {
    villaBeachImg = "../../imgs/common/noPhoto_s.gif";
    villaBeachAlt = "No photo available";
  }
  villaResortName = arrToUse[arrPos][13];
  searchResultsDate = new Date(arrToUse[arrPos][22]);
}

function FillIndividualVillas(viewObj, centreName, villa, img, id, centre, altNormalImg, beachImg, altBeach, resortName, counterPosition) {
  var strRow = new String();
  var txtWeek = "";
  var centreColor_Code = "";
  if (parseInt(duration) == 1) {
    txtWeek = "week";
  }
  else {
    txtWeek = "weeks";
  }
  txtColor2 = (searchResultsDate.getDate() == depDateObj.getDate()) ? "#818286" : "#FF0000";
  centreColor_Code = eval(arrSearchResults[counterPosition][0].toLowerCase() + "DarkColor");

  //ADDING THE FIRST ROW FOR VILLA, CENTRE & RESORT NAME
  strRow = "<tr id=\"" + id + "\">";
  strRow += "<td height=\"25\" colspan=\"4\" class=\"resultsHeaderBlack\">";
  strRow += "<b><font color=\"" + centreColor_Code + "\">" + villa + ", </font><font color=\"" + txtColor + "\">" + resortName + ", " + centreName + "</font></b>";
  strRow += "</td>";
  strRow += "</tr>";

  //ADDING THE ROW FOR DISPLAYING THE DATE: ROW ID IS VILLAID_DT
  //3905 Checking for departure airport and result airport are same or not
  var IsAirportSame = CheckForSameAirport();
  if (IsAirportSame == true) {
    strRow += "<tr id=\"" + id + "_dt\">";
    strRow += "<td height=\"25\" colspan=\"4\" class=\"resultsHeaderBlack\">";
    strRow += "<font color=\"" + txtColor + "\">" + daysArray[depDateObj.getDay()] + " " + depDateObj.getDate() + " " + monthsArray[depDateObj.getMonth()] + " " + depDateObj.getFullYear() + ", for " + duration * 7 + " " + "nights";
    if (packageType == 1) strRow += " from " + BuildAirportString(arrSearchResults[counterPosition][0]);
    strRow += "</font></td>";
    strRow += "</tr>";

  }
  else {
    strRow += "<tr id=\"" + id + "_dt\">";
    strRow += "<td height=\"25\" colspan=\"4\" class=\"resultsHeaderBlack\">";
    strRow += "<font color=\"" + txtColorRed + "\">" + daysArray[depDateObj.getDay()] + " " + depDateObj.getDate() + " " + monthsArray[depDateObj.getMonth()] + " " + depDateObj.getFullYear() + ", for " + duration * 7 + " " + "nights";
    if (packageType == 1) strRow += " from " + BuildAirportString(arrSearchResults[counterPosition][0]);
    strRow += "</font></td>";
    strRow += "</tr>";

  }
  //ADDING THE ROW FOR NORMAL AND BEACH IMAGE FEATURES AND RATES: ROW ID IS VILLAID_IMG
  strRow += "<tr id=\"" + id + "_img\">";
  strRow += "<td width=\"260\" valign=\"top\" align=\"left\"><a href=\"javascript:js_controllerImg('cmdMorePics', 'onClick', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\"><img id=\"normalImg_" + id + "\" src=\"" + img + "\" alt=\"" + altNormalImg + "\" title=\"" + altNormalImg + "\" width=\"250\" height=\"166\" onmouseover=\"javascript:js_controllerImg('normalImg' , 'mouseover', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseout=\"javascript:js_controllerImg('normalImg' , 'mouseout', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" border=\"0\" /></a><br />";
  
  //Bug 6448 starts
  if (parseInt(arrSearchResults[counterPosition][3]) == 1 && parseInt(arrSearchResults[counterPosition][7]) == 1 && parseInt(arrSearchResults[counterPosition][23]) == 1) 
  {
     strRow += "<img src=\"../../imgs/spacer.gif\" border=\"0\" width=\"200\" height=\"5\" /><br />";
     strRow += "<a href=\"javascript:js_controllerImg('cmdMorePics', 'onClick', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseover=\"javascript:js_controllerImg('cmdMorePics2', 'mouseover', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseout=\"javascript:js_controllerImg('cmdMorePics2', 'mouseout', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\"><img src=\"../../imgs/commonButtons/morePicsOff.gif\" alt=\"More Photos\" title=\"More Photos\" id=\"cmdMorePics2_" + id + "\" border=\"0\" /><img src=\"../../imgs/commonButtons/morePicsOn.gif\" alt=\"More Photos\" title=\"More Photos\" id=\"cmdMorePics2_" + id + "On\" border=\"0\" style=\"display: none; visibility: hidden\" /></a><a href=\"javascript:js_controllerImg('cmdGoogleMaps', 'onClick', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseover=\"javascript:js_controllerImg('cmdGoogleMaps', 'mouseover', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseout=\"javascript:js_controllerImg('cmdGoogleMaps', 'mouseout', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\"><img src=\"../../imgs/commonButtons/googleMapsOff.gif\" alt=\"Google Map\" title=\"Google Map\" id=\"cmdGoogleMaps_" + id + "\" border=\"0\" \><img src=\"../../imgs/commonButtons/googleMapsOn.gif\" alt=\"Google Map\" title=\"Google Map\" id=\"cmdGoogleMaps_" + id + "On\" border=\"0\" style=\"display: none; visibility: hidden\" \></a><a href=\"javascript:js_controllerImg('cmdMicrosoftMaps', 'onClick', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseover=\"javascript:js_controllerImg('cmdMicrosoftMaps', 'mouseover', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseout=\"javascript:js_controllerImg('cmdMicrosoftMaps', 'mouseout', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\"><img src=\"../../imgs/commonButtons/microsoftMapsOff.gif\" alt=\"Microsoft Map\" title=\"Microsoft Map\" id=\"cmdMicrosoftMaps_" + id + "\" border=\"0\" \><img src=\"../../imgs/commonButtons/microsoftMapsOn.gif\" alt=\"Microsoft Map\" title=\"Microsoft Map\" id=\"cmdMicrosoftMaps_" + id + "On\" border=\"0\" style=\"display: none; visibility: hidden\" \></a>";
  }  
  //Bug 6448 ends
  strRow += "</td><td width=\"160\" valign=\"top\" align=\"left\"><img id=\"beachImg_" + id + "\" name=\"beachImg_" + id + "\" src=\"" + beachImg + "\" alt=\"" + altBeach + "\" title=\"" + altBeach + "\" width=\"150\" height=\"100\" class=\"transImgOff\" onmouseover=\"javascript:js_controllerImg('beachImg' , 'mouseover', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseout=\"javascript:js_controllerImg('beachImg' , 'mouseout', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" /></td>";
  strRow += "<td id=\"feat_" + id + "\" valign=\"top\">" + BuildVillaFeaturesView(counterPosition) + "</td>";
  if (packageType == 1) {
    strRow += "<td id=\"prices_" + id + "\" valign=\"top\" rowspan=\"2\">" + BuildPricesView(counterPosition, id) + "</td>";
  }
  else {
    strRow += "<td id=\"prices_" + id + "\" valign=\"top\">" + BuildPricesView(counterPosition, id) + "</td>";
  }
  strRow += "</tr>";

  //Bug 6448 starts
  if (!(parseInt(arrSearchResults[counterPosition][3]) == 1 && parseInt(arrSearchResults[counterPosition][7]) == 1 && parseInt(arrSearchResults[counterPosition][23]) == 1))
  {
        //ADDING A ROW TO SHOW THE MORE PICS GOOGLE MAPS MICROSOFT MAPS AND ADD TO FAV BUTTON: ROW ID IS VILLAID_MOREPICS
        strRow += "<tr id=\"" + id + "_morePics\">";
        strRow += "<td colspan=\"2\"><img src=\"../../imgs/spacer.gif\" border=\"0\" width=\"200\" height=\"5\" /><br />";
        strRow += "<a href=\"javascript:js_controllerImg('cmdMorePics', 'onClick', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseover=\"javascript:js_controllerImg('cmdMorePics2', 'mouseover', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseout=\"javascript:js_controllerImg('cmdMorePics2', 'mouseout', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\"><img src=\"../../imgs/commonButtons/morePicsOff.gif\" alt=\"More Photos\" title=\"More Photos\" id=\"cmdMorePics2_" + id + "\" border=\"0\" /><img src=\"../../imgs/commonButtons/morePicsOn.gif\" alt=\"More Photos\" title=\"More Photos\" id=\"cmdMorePics2_" + id + "On\" border=\"0\" style=\"display: none; visibility: hidden\" /></a><a href=\"javascript:js_controllerImg('cmdGoogleMaps', 'onClick', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseover=\"javascript:js_controllerImg('cmdGoogleMaps', 'mouseover', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseout=\"javascript:js_controllerImg('cmdGoogleMaps', 'mouseout', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\"><img src=\"../../imgs/commonButtons/googleMapsOff.gif\" alt=\"Google Map\" title=\"Google Map\" id=\"cmdGoogleMaps_" + id + "\" border=\"0\" \><img src=\"../../imgs/commonButtons/googleMapsOn.gif\" alt=\"Google Map\" title=\"Google Map\" id=\"cmdGoogleMaps_" + id + "On\" border=\"0\" style=\"display: none; visibility: hidden\" \></a><a href=\"javascript:js_controllerImg('cmdMicrosoftMaps', 'onClick', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseover=\"javascript:js_controllerImg('cmdMicrosoftMaps', 'mouseover', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseout=\"javascript:js_controllerImg('cmdMicrosoftMaps', 'mouseout', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\"><img src=\"../../imgs/commonButtons/microsoftMapsOff.gif\" alt=\"Microsoft Map\" title=\"Microsoft Map\" id=\"cmdMicrosoftMaps_" + id + "\" border=\"0\" \><img src=\"../../imgs/commonButtons/microsoftMapsOn.gif\" alt=\"Microsoft Map\" title=\"Microsoft Map\" id=\"cmdMicrosoftMaps_" + id + "On\" border=\"0\" style=\"display: none; visibility: hidden\" \></a>";
        strRow += "</td>";
  }
  else
  {
      strRow +="<tr id=\"" + id + "_morePics\">";
      strRow +="<td colspan=\"2\">&nbsp</td>";
  }
  //Bug 6448 starts
  //6171 - Changed the location of the Villa Information button.
  strRow += "<td class=\"td_small\" align=\"center\" height=\"25\" valign=\"center\">";
  if (packageType == 1) {
    strRow += "<a href=\"javascript:js_controllerImg('cmdVillaInformation', 'onClick', " + arrSearchResults[counterPosition][1] + ", '" + arrSearchResults[counterPosition][0] + "', " + counterPosition + ");\" onmouseover=\"javascript:js_controllerImg('cmdVillaInformation', 'mouseover', " + arrSearchResults[counterPosition][1] + ", '" + arrSearchResults[counterPosition][0] + "', " + counterPosition + ");\" onmouseout=\"javascript:js_controllerImg('cmdVillaInformation', 'mouseout', " + arrSearchResults[counterPosition][1] + ", '" + arrSearchResults[counterPosition][0] + "', " + counterPosition + ");\"><img src=\"../../imgs/" + arrSearchResults[counterPosition][0] + "/buttons/MoreInfoSmallOFF.gif\" alt=\"Villa Information\" title=\"Villa Information\" border=\"0\" id=\"cmdVillaInformation_" + arrSearchResults[counterPosition][1] + "\" /><img src=\"../../imgs/" + arrSearchResults[counterPosition][0] + "/buttons/MoreInfoSmallON.gif\" alt=\"Villa Information\" title=\"Villa Information\" border=\"0\" id=\"cmdVillaInformation_" + arrSearchResults[counterPosition][1] + "On\" style=\"display: none; visibility: hidden\" /></a>";
  }
  else {
    strRow += "</td><td class=\"td_small\" align=\"center\" height=\"25\" valign=\"center\">";
    strRow += "<a href=\"javascript:js_controllerImg('cmdVillaInformation', 'onClick', " + arrSearchResults[counterPosition][1] + ", '" + arrSearchResults[counterPosition][0] + "', " + counterPosition + ");\" onmouseover=\"javascript:js_controllerImg('cmdVillaInformation', 'mouseover', " + arrSearchResults[counterPosition][1] + ", '" + arrSearchResults[counterPosition][0] + "', " + counterPosition + ");\" onmouseout=\"javascript:js_controllerImg('cmdVillaInformation', 'mouseout', " + arrSearchResults[counterPosition][1] + ", '" + arrSearchResults[counterPosition][0] + "', " + counterPosition + ");\"><img src=\"../../imgs/" + arrSearchResults[counterPosition][0] + "/buttons/MoreInfoSmallOFF.gif\" alt=\"Villa Information\" title=\"Villa Information\" border=\"0\" id=\"cmdVillaInformation_" + arrSearchResults[counterPosition][1] + "\" /><img src=\"../../imgs/" + arrSearchResults[counterPosition][0] + "/buttons/MoreInfoSmallON.gif\" alt=\"Villa Information\" title=\"Villa Information\" border=\"0\" id=\"cmdVillaInformation_" + arrSearchResults[counterPosition][1] + "On\" style=\"display: none; visibility: hidden\" /></a>";
  }
  strRow += "</td></tr>";

  //6171 - Add the Book VO button
  strRow += "<tr><td colspan=\"3\">&nbsp;</td>";
  strRow += "<td class=\"td_small\" align=\"center\" height=\"25\" valign=\"centre\"><img src=\"../../imgs/common/spacer.gif\" width=\"5\" height=\"2\" alt=\"\" /><a href=\"javascript:js_controllerImg('cmdBookVO', 'onClick', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseover=\"javascript:js_controllerImg('cmdBookVO', 'mouseover', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\" onmouseout=\"javascript:js_controllerImg('cmdBookVO', 'mouseout', " + id + ", '" + arrSearchResults[counterPosition][0] + "'," + counterPosition + ");\"><img src=\"../../imgs/" + arrSearchResults[counterPosition][0] + "/buttons/bookVillaOnlyOFF.gif\" alt=\"Book Villa only\" title=\"Book Villa only\" border=\"0\" id=\"cmdBookVO_" + arrSearchResults[counterPosition][1] + "\" /><img src=\"../../imgs/" + arrSearchResults[counterPosition][0] + "/buttons/bookVillaOnlyON.gif\" alt=\"Book Villa only\" title=\"Book Villa only\" border=\"0\" id=\"cmdBookVO_" + arrSearchResults[counterPosition][1] + "On\" style=\"display: none; visibility: hidden\" /></a></td>";
  strRow += "</tr>";

  //ADDING A BLANK ROW: ROW ID IS VILLAID_BLANKROW, THIS ROW HAS A TABLE IN IT FOR THE GREY RULES AND SPACING ABOVE AND BELOW IT
  strRow += "<tr id=\"" + id + "_blankRow\">";
  strRow += "<td colspan=\"4\"><table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
  strRow += "<tr><td><img src=\"../../imgs/spacer.gif\" width=\"1\" height=\"10\" alt=\"\" /></td></tr>";
  strRow += "<tr><td class=\"whiteDots\"><img src=\"../../imgs/spacer.gif\" width=\"1\" height=\"1\" alt=\"\" /></td></tr>";
  strRow += "<tr><td><img src=\"../../imgs/spacer.gif\" width=\"1\" height=\"10\" alt=\"\" /></td></tr></table>";
  strRow += "</td>";
  strRow += "</tr>";
  return strRow;
}

//3905
function CheckForSameAirport() {

  var selAirport = null;
  var CheckairportStr = false;
  var AirportType = null;


  try {
  
   selAirport = document.forms[0].search_ddAirports.options[document.forms[0].search_ddAirports.options.selectedIndex].text;
   AirportType = GetSearchTypeForAirport(selAirport);

  if (selAirport == "No Flight") {
    return true;
  }
  if (AirportType != "GROUP") {
    if (arrSearchResultsCentreAirport.length > 0) {
      for (var ctr = 0; ctr < arrSearchResultsCentreAirport.length; ctr++) {

        if (arrSearchResultsCentreAirport[ctr][1].toLowerCase() == selAirport.toLowerCase()) {
          CheckairportStr = true;
          break;

        }
        else {
          var selectedairport = selAirport.split(' ');
          for (var i = 0; i < selectedairport.length; i++) {
            if (arrSearchResultsCentreAirport[ctr][1].toLowerCase() == selectedairport[i].toLowerCase()) {
              CheckairportStr = true;
              break;
            }
          }

          var selsearchairport = arrSearchResultsCentreAirport[ctr][1].split(' ');
          for (var i = 0; i < selsearchairport.length; i++) {
            if (selAirport.toLowerCase() == selsearchairport[i].toLowerCase()) {
              CheckairportStr = true;
              break;
            }
          }
        }

      }
    }
  }
  else {
    CheckairportStr = true;
  }
  }
  catch (ex)
  { }
  return CheckairportStr;
}
//3905
function GetSearchTypeForAirport(DepartureAirport) {
  var arrAirport = arrAirports.split(',');
  for (i = 0; i < arrAirport.length; i++) {
    var arrDetails = arrAirport[i].split("-");
    if (arrDetails[1].toUpperCase() == DepartureAirport.toUpperCase()) {
      if (arrDetails[2].toUpperCase() == 'XXX') {
        return "GROUP";
      }
    }
  }
  return "CENTRE";
}

function BuildAirportString(centreCode) {
  var airportStr = "";

  if (arrSearchResultsCentreAirport.length > 0) {
    for (var ctr = 0; ctr < arrSearchResultsCentreAirport.length; ctr++) {
      if (arrSearchResultsCentreAirport[ctr] != null) {
        if (arrSearchResultsCentreAirport[ctr][0].toLowerCase() == centreCode.toLowerCase()) {
          airportStr = arrSearchResultsCentreAirport[ctr][1] + " - " + arrSearchResultsCentreAirport[ctr][2];
          break;
        }
      }
    }
  }

  return airportStr;
}
//THIS CALLED FROM WITHIN THE FILLINDIVIDUALVILLAS FUNCTION AS THIS WAY WE SAVE PROCESSING TIME.
var ftrCount = 0;
function BuildVillaFeaturesView(arrayPos) {
  var featuresRow = new String();
  var hasAirCon = false;
  var hasHeatedPool = false;
  var arrFeatures = arrSearchResults[arrayPos][15];
  //4627 -- Start
  var arrDetailedFeatures;
  //4627 -- End
  featuresRow = "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
  //AIR CON OR POOL HEAT ICON
  if (parseInt(arrSearchResults[arrayPos][3]) == 1 || parseInt(arrSearchResults[arrayPos][7]) == 1 || parseInt(arrSearchResults[arrayPos][23]) == 1) {
    featuresRow += "<tr>";
    featuresRow += "<td colspan=\"2\">";
     //Bug 6448 starts
    if (parseInt(arrSearchResults[arrayPos][3]) == 1) featuresRow += "<img src=\"../../imgs/" + arrSearchResults[arrayPos][0] + "/common/freeAirCon.gif\" alt=\"Free Air Conditioning\" title=\"Free Air Conditioning\" />&nbsp;&nbsp;";
    else if (parseInt(arrSearchResults[arrayPos][23]) == 1) featuresRow += "<img src=\"../../imgs/" + arrSearchResults[arrayPos][0] + "/common/wifi.gif\" alt=\"Free WiFi\" title=\"Free WiFi\" />&nbsp;&nbsp;";
                            
    if (parseInt(arrSearchResults[arrayPos][7]) == 1) featuresRow += "<img src=\"../../imgs/" + arrSearchResults[arrayPos][0] + "/common/freeHeatedPool.gif\" alt=\"Free Heated Pool\" title=\"Free Heated Pool\" />";
    else if ((parseInt(arrSearchResults[arrayPos][23]) == 1) && (parseInt(arrSearchResults[arrayPos][3]) == 1)) featuresRow += "<img src=\"../../imgs/" + arrSearchResults[arrayPos][0] + "/common/wifi.gif\" alt=\"Free WiFi\" title=\"Free WiFi\" />";
    //Bug 6448 ends
    featuresRow += "</td>";
    featuresRow += "</tr>";
    
    //BLANK ROW
    featuresRow += "<tr>";
    featuresRow += "<td colspan=\"2\"><img src=\"../../imgs/spacer.gif\" width=\"1\" height=\"5\" alt=\"\" /></td>";
    featuresRow += "</tr>";
    
     //Bug 6448 starts
    if (parseInt(arrSearchResults[arrayPos][3]) == 1 && parseInt(arrSearchResults[arrayPos][7]) == 1 && parseInt(arrSearchResults[arrayPos][23]) == 1) 
    {
       featuresRow += "<tr>";
       featuresRow += "<td colspan=\"2\">";
       featuresRow += "<img src=\"../../imgs/" + arrSearchResults[arrayPos][0] + "/common/wifi.gif\" alt=\"Free WiFi\" title=\"Free WiFi\" />";
       featuresRow += "</td>";
       featuresRow += "</tr>";
       featuresRow += "<tr>";
       featuresRow += "<td colspan=\"2\"><img src=\"../../imgs/spacer.gif\" width=\"1\" height=\"5\" alt=\"\" /></td>";
       featuresRow += "</tr>";      
    }
    //Bug 6448 ends   
  }
  var arrFeatureLength = arrFeatures.length - 1;
  for (var arrFeatureCtr = 0, hoverDetailCtr = 0; arrFeatureCtr <= arrFeatureLength; arrFeatureCtr++) {
    var arryRet = "";
    //4627 -- Start
    arrDetailedFeatures = arrFeatures[arrFeatureCtr];
    var featureCount = arrDetailedFeatures.length;
    var hoverId, featureText;

    featuresRow += "<tr>";
    featuresRow += "<td><img src=\"../../imgs/" + arrSearchResults[arrayPos][0] + "/common/dot.gif\" width=\"8\" height=\"8\" alt=\"\" /></td>";

    //Retrieving the HoverBox details from SearchResult Array.
    featureText = Trim(arrDetailedFeatures[hoverDetailCtr].toUpperCase());
    hoverId = parseInt(arrDetailedFeatures[hoverDetailCtr + 1]);

    if (hoverId > 0) {
      ftrCount = ftrCount + 1;
      featuresRow += "<td>&nbsp;<span id=\"feature" + ftrCount + "\" hoverid=\"" + hoverId + "\" class=\"cHoverText\" style=\"cursor:pointer;\">" + featureText + "</span></td>";
    }
    else {
      featuresRow += "<td>&nbsp;" + featureText + "</td>";
    }
    featuresRow += "</tr>";

    //BLANK ROW
    featuresRow += "<tr>";
    featuresRow += "<td colspan=\"2\"><img src=\"../../imgs/spacer.gif\" width=\"1\" height=\"5\" alt=\"\" /></td>";
    featuresRow += "</tr>";
  }
  featuresRow += "</table>";
  return featuresRow;
}

//THIS CALLED FROM WITHIN THE FILLINDIVIDUALVILLAS FUNCTION AS THIS WAY WE SAVE PROCESSING TIME.
function BuildPricesView(counterPos, id) {

  var centreColor_Code = eval(arrSearchResults[counterPos][0].toLowerCase() + "DarkColor");
  var centreLightColor_Code = eval(arrSearchResults[counterPos][0].toLowerCase() + "LightColor");

  var strPricesRow = new String();
  strPricesRow = "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\">";
  var cssStyle = "background-color:" + centreLightColor_Code + ";color:" + centreColor_Code + ";";
  if (packageType == 1) {
    //FIRST ROW
    strPricesRow += "<tr>";
    strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" style=\"" + cssStyle + "\" class=\"headerCellSmall\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"1\" alt=\"\" /></td>";
    strPricesRow += "<td style=\"" + cssStyle + "\" class=\"headerCellSmall\">&nbsp;</td>";
    strPricesRow += "<td style=\"" + cssStyle + "\" class=\"headerCellSmall\" colspan=\"7\">Villa &amp; Flights</td>";
    strPricesRow += "<tr>";

    //2ND ROW BLANK ROW
    strPricesRow += "<tr>";
    strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" class=\"td_small\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"3\" alt=\"\" /></td>";
    strPricesRow += "<td class=\"td_small\" colspan=\"8\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"3\" alt=\"\" /></td>";
    strPricesRow += "</tr>";

    //ROW FOR ADULT RATE
    var tempAdultPrice = parseFloat(totAdults * arrSearchResults[counterPos][19]).toFixed(roundUpToDigits);
    //4048
    strPricesRow += "<tr>";
    strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" class=\"td_small\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"1\" alt=\"\" /></td>";
    strPricesRow += "<td class=\"td_small\">&nbsp;</td>";
    strPricesRow += "<td class=\"td_small\" nowrap=\"nowrap\">Adult</td>";
    strPricesRow += "<td class=\"td_small\">&nbsp;</td>";
    strPricesRow += "<td class=\"td_small\" align=\"right\">&nbsp;" + totAdults + "&nbsp;</td>";
    strPricesRow += "<td class=\"td_small\" align=\"center\">&nbsp;x&nbsp;</td>";
    strPricesRow += "<td id=\"td_Adlt" + counterPos + "\" class=\"td_small\" align=\"right\">&pound;" + parseFloat(arrSearchResults[counterPos][19]).toFixed(roundUpToDigits) + "</td>";
    strPricesRow += "<td class=\"td_small\">&nbsp;</td>";
    strPricesRow += "<td id=\"td_AdltTot" + counterPos + "\" class=\"td_small\" align=\"right\" nowrap=\"nowrap\">&pound;" + tempAdultPrice + "</td>";
    strPricesRow += "</tr>";

    //ROW FOR CHILD RATE
    var tempChildPrice = 0;
    if (totChildren > 0) {
      //4048
      tempChildPrice = parseFloat(totChildren * arrSearchResults[counterPos][20]).toFixed(roundUpToDigits);
      strPricesRow += "<tr>";
      strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" class=\"td_small\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"1\" alt=\"\" /></td>";
      strPricesRow += "<td class=\"td_small\">&nbsp;</td>";
      strPricesRow += "<td class=\"td_small\" nowrap=\"nowrap\">Child</td>";
      strPricesRow += "<td class=\"td_small\">&nbsp;</td>";
      strPricesRow += "<td class=\"td_small\" align=\"right\">&nbsp;" + totChildren + "&nbsp;</td>";
      strPricesRow += "<td class=\"td_small\" align=\"center\">&nbsp;x&nbsp;</td>";
      strPricesRow += "<td id=\"td_chld" + counterPos + "\" class=\"td_small\" align=\"right\">&pound;" + parseFloat(arrSearchResults[counterPos][20]).toFixed(roundUpToDigits) + "</td>";
      strPricesRow += "<td class=\"td_small\">&nbsp;</td>";
      strPricesRow += "<td id=\"td_chldTot" + counterPos + "\" class=\"td_small\" align=\"right\" nowrap=\"nowrap\">&pound;" + tempChildPrice + "</td>";
      strPricesRow += "</tr>";
    }

    //ROW FOR INFANT RATE
    var tempInfantPrice = 0;
    if (totInfants > 0) {
      //4048
      tempInfantPrice = parseFloat(totInfants * arrSearchResults[counterPos][21]).toFixed(roundUpToDigits);
      strPricesRow += "<tr>";
      strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" class=\"td_small\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"1\" alt=\"\" /></td>";
      strPricesRow += "<td class=\"td_small\">&nbsp;</td>";
      strPricesRow += "<td class=\"td_small\" nowrap=\"nowrap\">Infant</td>";
      strPricesRow += "<td class=\"td_small\">&nbsp;</td>";
      strPricesRow += "<td class=\"td_small\" align=\"right\">&nbsp;" + totInfants + "&nbsp;</td>";
      strPricesRow += "<td class=\"td_small\" align=\"center\">&nbsp;x&nbsp;</td>";
      strPricesRow += "<td id=\"td_Inft" + counterPos + "\" class=\"td_small\" align=\"right\"> &pound;" + parseFloat(arrSearchResults[counterPos][21]).toFixed(roundUpToDigits) + "</td>";
      strPricesRow += "<td class=\"td_small\">&nbsp;</td>";
      strPricesRow += "<td id=\"td_InftTot" + counterPos + "\" class=\"td_small\" align=\"right\" nowrap=\"nowrap\">&pound;" + tempInfantPrice + "</td>";
      strPricesRow += "</tr>";
    }

    //BLANK ROW
    strPricesRow += "<tr>";
    strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" class=\"td_small\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"5\" alt=\"\" /></td>";
    strPricesRow += "<td class=\"td_small\" colspan=\"8\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"5\" alt=\"\" /></td>";
    strPricesRow += "</tr>";

    //ROW FOR LINE ABOVE THE TOTAL
    strPricesRow += "<tr>";
    strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" class=\"td_small\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"1\" alt=\"\" /></td>";
    strPricesRow += "<td class=\"td_small\" colspan=\"6\"><img src=\"../../imgs/spacer.gif\" height=\"1\" width=\"1\" alt=\"\" /></td>";
    //4048
    strPricesRow += "<td width=\"35px\" class=\"td_small\"></td>";
    strPricesRow += "<td class=\"td_small\" style=\"background-color: #818286;\"><img src=\"../../imgs/spacer.gif\" height=\"1\" width=\"1\" alt=\"\" /></td>";
    strPricesRow += "</tr>";

    //ROW FOR TOTAL
    var tempTotPkgPrice = parseFloat(tempAdultPrice) + parseFloat(tempChildPrice) + parseFloat(tempInfantPrice);
    strPricesRow += "<tr>";
    strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" class=\"td_small\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"1\" alt=\"\" /></td>";
    strPricesRow += "<td class=\"td_small\">&nbsp;</td>";
    strPricesRow += "<td class=\"td_small\" colspan=\"6\"><b>Total</b></td>";
    strPricesRow += "<td id=\"td_PkgTotal" + counterPos + "\" class=\"td_small\" align=\"right\">" + "<b>&pound;" + parseFloat(tempTotPkgPrice).toFixed(roundUpToDigits) + "</b>" + "</td>";
    strPricesRow += "</tr>";

    //BLANK ROW
    strPricesRow += "<tr>";
    strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" class=\"td_small\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"5\" alt=\"\" /></td>";
    strPricesRow += "<td class=\"td_small\" colspan=\"8\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"5\" alt=\"\" /></td>";
    strPricesRow += "</tr>";

    //6171 - BOOK FLIGHT BUTTON
    strPricesRow += "<tr>";
    strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" class=\"td_small\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"5\" alt=\"\" /></td>";
    strPricesRow += "<td class=\"td_small\" colspan=\"8\" align=\"center\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"5\" alt=\"\" /><br />";
    strPricesRow += "<a href=\"javascript:js_controllerImg('cmdBookPKG', 'onClick', " + id + ", '" + arrSearchResults[counterPos][0] + "'," + counterPos + ");\" onmouseover=\"javascript:js_controllerImg('cmdBookPKG', 'mouseover', " + id + ", '" + arrSearchResults[counterPos][0] + "'," + counterPos + ");\" onmouseout=\"javascript:js_controllerImg('cmdBookPKG', 'mouseout', " + id + ", '" + arrSearchResults[counterPos][0] + "'," + counterPos + ");\"><img src=\"../../imgs/" + arrSearchResults[counterPos][0] + "/buttons/bookVillaWithFlightsOFF.gif\" alt=\"Book Villa & Flight\" title=\"Book Villa & Flight\" border=\"0\" id=\"cmdBookPKG_" + arrSearchResults[counterPos][1] + "\" /><img src=\"../../imgs/" + arrSearchResults[counterPos][0] + "/buttons/bookVillaWithFlightsON.gif\" alt=\"Book Villa & Flight\" title=\"Book Villa & Flight\" border=\"0\" id=\"cmdBookPKG_" + arrSearchResults[counterPos][1] + "On\" style=\"display: none; visibility: hidden\" /></a><br /><img src=\"../../imgs/common/spacer.gif\" width=\"100%\" height=\"2\" alt=\"\" />";
    strPricesRow += "</td>";
    strPricesRow += "</tr>";

    //6171 - BLANK ROW
    strPricesRow += "<tr>";
    strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" class=\"td_small\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"5\" alt=\"\" /></td>";
    strPricesRow += "<td class=\"td_small\" colspan=\"8\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"5\" alt=\"\" /></td>";
    strPricesRow += "</tr>";

  } //BUILDING FOR PACKAGE TYPE ENDS HERE

  //VILLA ONLY HEADER ROW
  strPricesRow += "<tr>";
  strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" style=\"" + cssStyle + "\" class=\"headerCellSmall\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"1\" alt=\"\" /></td>";
  strPricesRow += "<td style=\"" + cssStyle + "\" class=\"headerCellSmall\">&nbsp;</td>";
  strPricesRow += "<td style=\"" + cssStyle + "\" class=\"headerCellSmall\" colspan=\"7\">Villa Only</td>";
  strPricesRow += "<tr>";

  //BLANK ROW
  strPricesRow += "<tr>";
  strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" class=\"td_small\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"5\" alt=\"\" /></td>";
  strPricesRow += "<td class=\"td_small\" colspan=\"8\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"5\" alt=\"\" /></td>";
  strPricesRow += "</tr>";

  //ROW FOR VILLA ONLY RATE
  strPricesRow += "<tr>";
  strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" class=\"td_small\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"1\" alt=\"\" /></td>";
  strPricesRow += "<td class=\"td_small\">&nbsp;</td>";
  if (packageType == 1) {
    strPricesRow += "<td class=\"td_small\" colspan=\"6\">";
    strPricesRow += "<b>Total</b>";
    strPricesRow += "</td>";
    strPricesRow += "<td id=\"tdVillaOnlyPriceAmt" + counterPos + "\" class=\"td_small\" align=\"right\">" + "<b>&pound;" + parseFloat(arrSearchResults[counterPos][18]).toFixed(roundUpToDigits) + "</b>" + "</td>";
  }
  else {
    strPricesRow += "<td id=\"tdVillaOnlyPriceText" + counterPos + "\" class=\"td_small\" colspan=\"6\"\">";
    strPricesRow += "<b>Villa only price&nbsp;&nbsp;</b>";
    strPricesRow += "</td>";
    strPricesRow += "<td id=\"tdVillaOnlyPriceAmt" + counterPos + "\" class=\"td_small\" align=\"right\" <b>&pound;" + parseFloat(arrSearchResults[counterPos][18]).toFixed(roundUpToDigits) + "</b>" + "</td>";
  }

  strPricesRow += "</tr>";

  if (packageType == 1) {
    var spcHt = 0;
    if (totInfants == 0 && totChildren == 0) {
      spcHt = 31;
    }
    else if ((totInfants == 0 && totChildren > 0) || (totChildren == 0 && totInfants > 0)) {
      spcHt = 18;
    }
    else {
      spcHt = 5;
    }
  }
  else {
    var spcHt = 95;
  }

  //BLANK ROW
  strPricesRow += "<tr>";
  strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" class=\"td_small\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"5\" alt=\"\" /></td>";
  strPricesRow += "<td class=\"td_small\" colspan=\"8\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"" + spcHt + "\" alt=\"\" /></td>";
  strPricesRow += "</tr>";

  if (packageType == 0) {
    //ADD FLIGHTS BUTTON
    strPricesRow += "<tr>";
    strPricesRow += "<td style=\"background-image: url(../../imgs/common/verticalSpacer.gif);background-repeat:repeat-y\" class=\"td_small\"><img src=\"../../imgs/common/spacer.gif\" width=\"2\" height=\"5\" alt=\"\" /></td>";
    strPricesRow += "<td class=\"td_small\" colspan=\"8\" align=\"center\"><a href=\"javascript:js_controllerImg('cmdFlights', 'onClick', " + arrSearchResults[counterPos][1] + ", '" + arrSearchResults[counterPos][0] + "', " + counterPos + ");\" onmouseover=\"javascript:js_controllerImg('cmdFlights','mouseover', " + arrSearchResults[counterPos][1] + ", '" + arrSearchResults[counterPos][0] + "', " + counterPos + ");\" onmouseout=\"javascript:js_controllerImg('cmdFlights','mouseout', " + arrSearchResults[counterPos][1] + ", '" + arrSearchResults[counterPos][0] + "', " + counterPos + ");\"><img src=\"../../imgs/" + arrSearchResults[counterPos][0] + "/buttons/includeFlightsSROFF.gif\" alt=\"Include Flights\" title=\"Include Flights\" border=\"0\" id=\"cmdFlights_" + arrSearchResults[counterPos][1] + "\" /><img src=\"../../imgs/" + arrSearchResults[counterPos][0] + "/buttons/includeFlightsSRON.gif\" alt=\"Include Flights\" title=\"Include Flights\" border=\"0\" id=\"cmdFlights_" + arrSearchResults[counterPos][1] + "On\" style=\"display: none; visibility: hidden\" /></a></td>";
    strPricesRow += "</tr>";
  }
  //MORE INFO BUTTONS
  strPricesRow += "</table>";
  return strPricesRow;
}

function addCommas(nStr) {
  nStr += '';
  x = nStr.split('.');
  x1 = x[0];
  x2 = x.length > 1 ? '.' + x[1] : '';
  var rgx = /(\d+)(\d{3})/;
  while (rgx.test(x1)) {
    x1 = x1.replace(rgx, '$1' + ',' + '$2');
  }
  return x1 + x2;
}

function CommonCall() {
  showIds = "";
  GetPostedFormsDetails();
  GetFilteringCriteria();
  GetVillaIdsForFilteringCriteria(filteringArray, arrSearchResults);
  GetItemsCount(selectedDestinationCode, showIds, arrSearchResults);
  showIdsCount = showIds.length;
  strShowIdsCount = eval(showIdsCount) == 1 ? eval(showIdsCount) + " holiday" : eval(showIdsCount) + " holidays";
  SetText("<b><font size=\"2\">Your search returned " + strShowIdsCount + " based on your " + searchCriteriaString() + "</font></b>", "resultsTot");
  document.title = "Your search found " + showIdsCount + " Villa holidays";

  SetFilteringCheckBoxes();
  SetPageXofY(1, totalResultsPerPage, showIdsCount);
  SetNextPrevious(totalResultsPerPage, showIdsCount, 1);
  GetOrdering(showIdsCounterPos, packageType, arrSearchResults);
  BuildResultsView(selectedDestinationCode, 1, totalResultsPerPage, showIds, arrSearchResults);
  BuildResortsDropDown("ddResorts", arrSearchResults, selectedDestinationCode, showIds);
  if (searchType == 1) {
    BuildDestinationDropDown("ddResorts", centreNamesArray);
  }
  else {
    BuildResortsDropDown("ddResorts", arrSearchResults, selectedDestinationCode, showIds);
  }
}

function GetOrdering(filteredIdsPos, pkgType, arrayObject) {
  var ordering = Trim(document.forms[0].ddSortByPrice.options[document.forms[0].ddSortByPrice.options.selectedIndex].value).toLowerCase();
  var ordering2 = Trim(document.forms[0].ddSortByPrice_2.options[document.forms[0].ddSortByPrice_2.options.selectedIndex].value).toLowerCase();
  
  //Core Metrics Code
  if (ordering == "dsc" || ordering2 == "dsc") {
      cmOrdering = "Highest Price";
  }
  else if (ordering == "asc" || ordering2 == "asc") {
      cmOrdering = "Lowest Price";
  }
  else {
      cmOrdering = "Destination";
  }
  //Core Metrics Code
  
  var addedCtr = 0;
  switch (ordering) {
    case "dsc":
      var arr = filteredIdsPos;
      var arrayToUse = arrayObject;
      //arr IS NOW AN ARRAY OF INDEX POSITIONS FOR VILLAS THAT MATCH THE CURRENT SELECTION
      var stp = arr.length;
      var pos = (pkgType == 0) ? 18 : 19;
      var pricesArrayTmp = new Array();
      var villaIdArray = new Array();
      //PUTTING THE VILLA ID AND THE CORRESPONDING COST AT SAME POSITIONS IN ARRAYS
      for (var ctr = 0; ctr < stp; ctr++) {
        pricesArrayTmp[ctr] = arrayToUse[arr[ctr]][pos];
        villaIdArray[ctr] = arrayToUse[arr[ctr]][1];
      }

      var originalPricesArray = new Array();
      for (var ctr = 0; ctr < stp; ctr++) {
        originalPricesArray[ctr] = pricesArrayTmp[ctr];
      }

      var pricesArraySorted = pricesArrayTmp.sort(function(a, b) { return b - a });
      //Remove duplicate entries from the price array
      pricesArraySorted = RemoveDuplicatesAndGetUniqueArray(pricesArraySorted);

      showIds = new Array();
      for (var ctr = 0; ctr < stp; ctr++) {
        for (var ctr2 = 0; ctr2 < stp; ctr2++) {
          if (parseFloat(pricesArraySorted[ctr]) == parseFloat(originalPricesArray[ctr2])) {
            showIds[addedCtr] = villaIdArray[ctr2];
            addedCtr++;
          }
        }
      }
      break;
    case "asc":
      var arr = filteredIdsPos;
      var arrayToUse = arrayObject;
      //arr IS NOW AN ARRAY OF INDEX POSITIONS FOR VILLAS THAT MATCH THE CURRENT SELECTION
      var stp = arr.length;
      var pos = (pkgType == 0) ? 18 : 19;
      var pricesArrayTmp = new Array();
      var villaIdArray = new Array();
      for (var ctr = 0; ctr < stp; ctr++) {
        pricesArrayTmp[ctr] = arrayToUse[arr[ctr]][pos];
        villaIdArray[ctr] = arrayToUse[arr[ctr]][1];
      }

      var originalPricesArray = new Array();
      for (var ctr = 0; ctr < stp; ctr++) {
        originalPricesArray[ctr] = pricesArrayTmp[ctr];
      }

      var pricesArraySorted = pricesArrayTmp.sort(function(a, b) { return a - b });
      //Remove duplicate entries from the price array
      pricesArraySorted = RemoveDuplicatesAndGetUniqueArray(pricesArraySorted);

      showIds = new Array();
      for (var ctr = 0; ctr < stp; ctr++) {
        for (var ctr2 = 0; ctr2 < stp; ctr2++) {
          if (parseFloat(pricesArraySorted[ctr]) == parseFloat(originalPricesArray[ctr2])) {
            showIds[addedCtr] = villaIdArray[ctr2];
            addedCtr++;
          }
        }
      }
      break;
    case "dest":
      var arrayToUse = arrayObject;
      var tmpShowIds = new Array();
      var stp = sortedCentreCodes.length;
      var stp2 = arrayToUse.length;
      var stp3 = showIds.length;
      var addedCtr = 0;
      for (var ctr = 0; ctr < stp; ctr++) {
        for (var ctr2 = 0; ctr2 < stp2; ctr2++) {
          if (sortedCentreCodes[ctr].toLowerCase() == arrayToUse[ctr2][0].toLowerCase()) {
            for (var ctr3 = 0; ctr3 < stp3; ctr3++) {
              if (parseInt(arrayToUse[ctr2][1]) == parseInt(showIds[ctr3])) {
                tmpShowIds[addedCtr] = showIds[ctr3];
                addedCtr++;
                break;
              }
            }
          }
        }
      }
      showIds = null;
      showIds = tmpShowIds;
      break;
  }
}
 //OPENS THE IFRAME
 //PARAMS: VILLA ID AND THE TAB NAME WHICH IS TO BE SHOWN ON PAGE LOAD

function LoadFrmMapsPics(villaId, tabName, cCode, counterPos) {

  //var td_PkgTotal = document.getElementById("td_PkgTotal" + counterPos);
  var txtAQ = "0";
  var txtAP = "-";
  var txtAT = "-";
  var txtCP = "-";
  var txtCQ = "0";
  var txtCT = "-";
  var txtIP = "-";
  var txtIQ = "0";
  var txtIT = "-";
  var txtPKTotal = "-";
  var strAirport = "";
  var shortInfo = "";

  //VillaOnly Package Price
  var VillaOnlyPriceAmt = parseFloat(arrSearchResults[counterPos][18]);

  if (packageType == 1) {
    //Adult Quantity,Price,AdaultPackagePrice                                             
    txtAQ = totAdults;
    txtAP = parseFloat(arrSearchResults[counterPos][19]).toFixed(roundUpToDigits);
    var intAdultPackagePrice = parseFloat(totAdults * arrSearchResults[counterPos][19]).toFixed(roundUpToDigits);
    txtAT = intAdultPackagePrice;

    //Child Quantity,Price,ChildPackagePrice    
    txtCQ = totChildren;
    txtCP = parseFloat(arrSearchResults[counterPos][20]).toFixed(roundUpToDigits);
    var intChildPackagePrice = parseFloat(totChildren * arrSearchResults[counterPos][20]).toFixed(roundUpToDigits);
    txtCT = intChildPackagePrice;

    //Infant Quantity,Price,ChildPackagePrice    
    txtIQ = totInfants;
    txtIP = parseFloat(arrSearchResults[counterPos][21]).toFixed(roundUpToDigits);
    var intTotalPackagePrice = parseFloat(totInfants * arrSearchResults[counterPos][21]).toFixed(roundUpToDigits);
    txtIT = intTotalPackagePrice;

    //Total Package Price For Adault + Child + Infant                                                                                                                                        
    txtPKTotal = (parseFloat(intAdultPackagePrice) + parseFloat(intChildPackagePrice) + parseFloat(intTotalPackagePrice)).toFixed(roundUpToDigits);

    //Source - Destination AirPort.
    strAirport = BuildAirportString(cCode);
  }
  else {
    txtAQ = totAdults;
    txtAP = 0;
    var intAdultPackagePrice = 0;
    txtAT = 0;

    //Child Quantity,Price,ChildPackagePrice    
    txtCQ = totChildren;
    txtCP = 0;
    var intChildPackagePrice = 0;
    txtCT = 0;

    //Infant Quantity,Price,ChildPackagePrice    
    txtIQ = totInfants;
    txtIP = 0;
  }
  //Deaprture Date                                               
  var objdepDate = document.getElementById('search_DTPicker');
  var strDepartureDate;
  strDepartureDate = Trim(objdepDate.value);
  strDepartureDate = strDepartureDate.substring(0, strDepartureDate.lastIndexOf(' '));

  var objFrm = document.getElementById("frmMapPics");
  objFrm.src = "http://" + serverName + "/" + ReturnVirDirectory(cCode.toLowerCase()) + "/code_net/villas/";
  objFrm.src += "mapsPics.aspx?id=" + villaId + "&tabName=" + tabName + "&cCode=" + cCode + "&txtAP=" + txtAP + "&txtAQ=" + txtAQ + "&txtAT=" + txtAT + "&txtCP=" + txtCP + "&txtCQ=" + txtCQ + "&txtCT=" + txtCT + "&txtIP=" + txtIP + "&txtIQ=" + txtIQ + "&txtIT=" + txtIT + "&txtPKTotal=" + txtPKTotal + "&VillaOnlyPriceAmt=" + VillaOnlyPriceAmt + "&Airport=" + strAirport + "&DepartureDate=" + strDepartureDate + "&Duration=" + duration + "&isBookingPage=0";
}
function startTime(msg) {
  var today = new Date();
  var h = today.getHours();
  var m = today.getMinutes();
  var s = today.getSeconds();
  // add a zero in front of numbers<10
  m = checkTime(m);
  s = checkTime(s);
  if (msg != "------") {
    document.getElementById('debugDetails').innerHTML = document.getElementById('debugDetails').innerHTML + "<br />" + msg + " " + h + ":" + m + ":" + s;
  }
  else {
    document.getElementById('debugDetails').innerHTML = document.getElementById('debugDetails').innerHTML + "<br /><br/>";
  }
}
function checkTime(i) {
  if (i < 10) {
    i = "0" + i;
  }
  return i;
}
function GetResortIdsForFilteringCriteria(arrayObjectFilters, arrayObject) {
  //OBJECT POSITIONS ARE: AC, FINER VILLA, BEACH, SECLUSION, POOL HEAT, 
  //WALK top SHOPS, CAR NOT REQ, CAR USE, CAR ESSENTIAL, MIN PRICE, MAX PRICE, RESORT ID
  var arrToUse = arrayObject;
  var arrFilters = arrayObjectFilters;
  var stp = arrToUse.length - 1;
  var allResIds = new String();
  var currentCentre = Trim(selectedDestinationCode).toLowerCase();
  if (searchType == 0)//SD
  {
    for (var ctr = 0; ctr <= stp; ctr++) {
      var valFound = "";

      if (Trim(arrToUse[ctr][0]).toLowerCase() == currentCentre) {
        if (arrFilters[0] != -1)//AC
        {
          if (parseInt(arrToUse[ctr][3]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (arrFilters[1] != -1)//FINER VILLA
        {
                    if (parseInt(arrToUse[ctr][4]) == 1 || parseInt(arrToUse[ctr][24]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (arrFilters[2] != -1)//CLOSE TO BEACH
        {
          if (parseInt(arrToUse[ctr][5]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (arrFilters[3] != -1)//SECLUSION
        {
          if (parseInt(arrToUse[ctr][6]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (arrFilters[4] != -1)//POOL HEAT
        {
          if (parseInt(arrToUse[ctr][7]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        if (arrFilters[5] != -1)//WALK TO SHOPS
        {
          if (parseInt(arrToUse[ctr][8]) == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        var ctr2 = 6;
        var carchk = 0;
        var myfound = 0;
        while ((myfound == 0) && (ctr2 < 9)) {
          if (arrFilters[ctr2] != -1) {
            carchk = 1;
            if (Trim(arrToUse[ctr][9]).toLowerCase() == Trim(arrFilters[ctr2]).toLowerCase()) {
              myfound = 1;
            }
          }
          ctr2++;
        }
        if (carchk == 1) {
          if (myfound == 1) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        var form = document.forms[0];
        if (form.selMaxPrice.options.length == 0) {
          maxPrice = 0;
        }
        else {
          maxPrice = form.selMaxPrice.options[form.selMaxPrice.options.selectedIndex].value;
        }
        if (form.selMinPrice.options.length == 0) {
          minPrice = 0;
        }
        else {
          minPrice = form.selMinPrice.options[form.selMinPrice.options.selectedIndex].value;
        }

        if (packageType == 1)//PRICES
        {
          if (parseFloat(arrToUse[ctr][19]) >= parseFloat(minPrice) && parseFloat(arrToUse[ctr][19]) <= parseFloat(maxPrice)) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }
        else {
          if (parseFloat(arrToUse[ctr][18]) >= parseFloat(minPrice) && parseFloat(arrToUse[ctr][18]) <= parseFloat(maxPrice)) {
            valFound = valFound + ",1";
          }
          else {
            valFound = valFound + ",0";
          }
        }

        if (valFound == "") {
          valFound = valFound + ",1";
        }

        if (valFound.indexOf(",0") == -1) {
          if (allResIds.length <= 0) {
            allResIds = arrToUse[ctr][12].toString();
          }
          else {
            allResIds += "," + arrToUse[ctr][12].toString();
          }
        }
      }
    }
  }
  else {
    for (var ctr = 0; ctr <= stp; ctr++) {
      var valFound = "";
      if (arrFilters[0] != -1)//AC
      {
        if (parseInt(arrToUse[ctr][3]) == 1) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      if (arrFilters[1] != -1)//FINER VILLA
      {
                if (parseInt(arrToUse[ctr][4]) == 1 || parseInt(arrToUse[ctr][24]) == 1) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      if (arrFilters[2] != -1)//CLOSE TO BEACH
      {
        if (parseInt(arrToUse[ctr][5]) == 1) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      if (arrFilters[3] != -1)//SECLUSION
      {
        if (parseInt(arrToUse[ctr][6]) == 1) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      if (arrFilters[4] != -1)//POOL HEAT
      {
        if (parseInt(arrToUse[ctr][7]) == 1) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      if (arrFilters[5] != -1)//WALK TO SHOPS
      {
        if (parseInt(arrToUse[ctr][8]) == 1) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }

      var ctr2 = 6;
      var carchk = 0;
      var myfound = 0;
      while ((myfound == 0) && (ctr2 < 9)) {
        if (arrFilters[ctr2] != -1) {
          carchk = 1;
          if (Trim(arrToUse[ctr][9]).toLowerCase() == Trim(arrFilters[ctr2]).toLowerCase()) {
            myfound = 1;
          }
        }
        ctr2++;
      }
      if (carchk == 1) {
        if (myfound == 1) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }

      if (packageType == 1)//PRICES
      {
        if (parseFloat(arrToUse[ctr][19]) >= parseFloat(minPrice) && parseFloat(arrToUse[ctr][19]) <= parseFloat(maxPrice)) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      else {
        if (parseFloat(arrToUse[ctr][18]) >= parseFloat(minPrice) && parseFloat(arrToUse[ctr][18]) <= parseFloat(maxPrice)) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      if (valFound == "") {
        valFound = valFound + ",1";
      }

      if (valFound.indexOf(",0") == -1) {
        if (allResIds.length <= 0) {
          allResIds = arrToUse[ctr][12].toString();
        }
        else {
          allResIds += "," + arrToUse[ctr][12].toString();
        }
      }
    }
  }
  return allResIds;
  //alert("villa ids that match the filtering criteria: " + showIds);
}
function ShowFlightDiv(centreCode, vId) {
  var objPos = getAnchorPosition("cmdFlights_" + vId + "On");
  var obj = document.getElementById("hdn_Adults");
  var adults = obj.value;
  obj = document.getElementById("hdn_Children");
  var childs = obj.value;
  obj = document.getElementById("hdn_Infants");
  var infants = obj.value;
  obj = document.getElementById("hdn_Date");
  var depDate = obj.value;
  obj = document.getElementById("hdn_Weeks");
  var duration = obj.value;

  var url = "";
  if (centreCode.toLowerCase() == "al") url = "http://" + serverName + "/algarve/";
  if (centreCode.toLowerCase() == "sp") url = "http://" + serverName + "/costadelsol/";
  if (centreCode.toLowerCase() == "ma") url = "http://" + serverName + "/mallorca/";
  if (centreCode.toLowerCase() == "la") url = "http://" + serverName + "/lanzarote/";
  if (centreCode.toLowerCase() == "ke") url = "http://" + serverName + "/kefalonia/";
  if (centreCode.toLowerCase() == "cy") url = "http://" + serverName + "/cyprus/";
  if (centreCode.toLowerCase() == "bl") url = "http://" + serverName + "/costablanca/";
  if (centreCode.toLowerCase() == "me") url = "http://" + serverName + "/menorca/";
  if (centreCode.toLowerCase() == "co") url = "http://" + serverName + "/corfu/";

  url = url + "code_net/villas/includeFlights.aspx?centreCode=" + centreCode + "&villaID=" + vId + "&depDate=" + depDate + "&duration=" + duration + "&adults=" + adults + "&childs=" + childs + "&infants=" + infants;
  var iFrm = document.getElementById('frmIncludeFlights');
  with (iFrm) {
    src = url;
    style.top = (objPos.y - 110) + "px";
    style.left = (objPos.x - 70) + "px";
    style.display = '';
    style.visibility = "visible";
  }
}

function HideFlightDiv() {
  var objFlightDiv = parent.document.getElementById("frmIncludeFlights");
  objFlightDiv.style.display = 'none';
  objFlightDiv.style.visibility = "hidden";
}

function BuildAmmendAirportsDropDown(formControlName) {
  fillAirports(formControlName, arrAirports, selectedDestinationCode);
}

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];
        }
        //SetStartDateEndDate();
      }
    }
    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;
        }
      }
    }
  }

  var arrAllCentreDates;
  arrAllCentreDates = strAllCentreDates.split(",");
  arrAllCentreDates.sort();
  return arrAllCentreDates;
}

var selDateTab = 0;
function BuildDatesTab(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;

  //Get milliseconds in a day. This will be used to calculate date difference
  var one_day = 1000 * 60 * 60 * 24;

  //Getting index of departure date from the availability date array

  try {
    tempDepDateParts = curSelectedDate.split('-');
  }
  catch (e) {
    tempDepDateParts = departureDate.split('-');
  }

  //Display the date tabs
  var arrTabDates = new Array;
  var villaCounts = new Array;
  for (datearray = 0; datearray < arrSearchResultsAlternateDates.length; datearray++) {
    arrTabDates[datearray] = arrSearchResultsAlternateDates[datearray][0];
    villaCounts[datearray] = arrSearchResultsAlternateDates[datearray][1];
  }

  var strDateTabHtml;
  var parameterDate = "";
  var dateDeparture;
  dateDeparture = new Date(tempDepDateParts[0], tempDepDateParts[1] - 1, tempDepDateParts[2]);
  var imgName = '';
  var lastTabSelected = "0";
  var diff_afterDate;
  var afterDate;

  for (var ctr = 0; ctr < arrTabDates.length; ctr++) {
    tempDateParts = arrTabDates[ctr].split('-');
    tempDate = new Date(tempDateParts[0], tempDateParts[1] - 1, tempDateParts[2]);
    diff = Math.ceil((tempDate.getTime() - dateDeparture.getTime()) / (one_day));
    if (diff == 0) {
      if (arrTabDates.length > ctr + 1) {
        var tempNextDateParts = arrTabDates[ctr].split('-');
        afterDate = new Date(tempNextDateParts[0], tempNextDateParts[1] - 1, tempNextDateParts[2]);
      }
      else {
        afterDate = undefined;
      }
    }
  }

  if (arrTabDates.length > 0) {
    strDateTabHtml = "<table  border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>";
    for (ctr = 0; ctr < arrTabDates.length; ctr++) {
      tempDateParts = arrTabDates[ctr].split('-');
      tempDate = new Date(tempDateParts[0], tempDateParts[1] - 1, tempDateParts[2]);
      parameterDate = "";
      parameterDate = arrTabDates[ctr];

      diff = Math.ceil((tempDate.getTime() - dateDeparture.getTime()) / (one_day));

      if (diff == 0 && (ctr == (arrTabDates.length - 1))) {
        imgName = gSTR_IMG_PATH + "/buttons/DateBW_BW.gif";
        lastTabSelected = "1";
        selDateTab = ctr;
      }
      if (diff == 0) {
        imgName = gSTR_IMG_PATH + "/buttons/DateBW_BW.gif";
        selDateTab = ctr;
      }
      else if (ctr == (arrTabDates.length - 1)) {
        imgName = "../../imgs/commonButtons/DateGW_GW.gif";
        lastTabSelected = "0";
      }
      else {
        if (afterDate != undefined) {
          diff_afterDate = Math.ceil((tempDate.getTime() - afterDate.getTime()) / (one_day));
          if (diff_afterDate == 0) {
            imgName = gSTR_IMG_PATH + "/buttons/DateBG_BG.gif";
          }
          else {
            imgName = "../../imgs/commonButtons/DateGW_GW.gif";
          }
        }
        else {
          imgName = "../../imgs/commonButtons/DateGW_GW.gif";
        }
      }

      if (diff == 0) {
        strDateTabHtml = strDateTabHtml + "<td nowrap=\"nowrap\" align=\"center\" style=\"width:120px; height:19px;\">";
        strDateTabHtml = strDateTabHtml + "<table id=\"tblDateTab" + ctr + "\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"width:100%; height:18px; background-image:url(" + imgName + ");\">";
        strDateTabHtml = strDateTabHtml + "<td id=\"tdTab" + ctr + "\" style=\"width:117px;\" align=\"center\" class=\"td_large\">" + ds_daynames[tempDate.getDay()] + " " + tempDate.getDate() + " " + ds_monthnames[tempDate.getMonth()] + " (" + villaCounts[ctr] + ")" + "&nbsp;</td>";
        strDateTabHtml = strDateTabHtml + "<td style=\"width:3px;\">&nbsp;&nbsp;</td>";
        strDateTabHtml = strDateTabHtml + "</table></td>";
      }
      else {
        strDateTabHtml = strDateTabHtml + "<td nowrap=\"nowrap\" align=\"center\" style=\"width:120px; height:19px;\">";
        strDateTabHtml = strDateTabHtml + "<table id=\"tblDateTab" + ctr + "\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"width:100%; height:18px; background-image:url(" + imgName + ");\">";
        strDateTabHtml = strDateTabHtml + "<td id=\"tdTab" + ctr + "\"style=\"width:117px; cursor:pointer;\" align=\"center\" class=\"td_large\" onmouseout=\"javascript:RestoreSelectedDateTab(" + arrTabDates.length + ");\" onmouseover=\"javascript:ChangeSelectedDateTab(" + ctr + ", " + arrTabDates.length + ");\" onclick=\"javascript:OnDateTabClick('" + parameterDate + "');\">" + ds_daynames[tempDate.getDay()] + " " + tempDate.getDate() + " " + ds_monthnames[tempDate.getMonth()] + " (" + villaCounts[ctr] + ")" + "&nbsp;</td>";
        strDateTabHtml = strDateTabHtml + "<td style=\"width:3px;\">&nbsp;&nbsp;</td>";
        strDateTabHtml = strDateTabHtml + "</table></td>";
      }

      if (ctr == (arrTabDates.length - 1)) {
        if (lastTabSelected == "1") {
          strDateTabHtml = strDateTabHtml + "<td nowrap=\"nowrap\" align=\"center\" style=\"width:90px; height:19px;\">";
          strDateTabHtml = strDateTabHtml + "<table id=\"tblDateTabLast\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"width:100%; height:18px; background-image:url(" + gSTR_IMG_PATH + "/buttons/DateBW_BW_L.gif);\">";
          strDateTabHtml = strDateTabHtml + "<td style=\"width:87px;\" align=\"center\" class=\"td_large\" >&nbsp;</td>";
          strDateTabHtml = strDateTabHtml + "<td style=\"width:3px;\"></td>";
          strDateTabHtml = strDateTabHtml + "</table></td>";
        }
        else {
          strDateTabHtml = strDateTabHtml + "<td nowrap=\"nowrap\" align=\"center\" style=\"width:90px; height:19px;\">";
          strDateTabHtml = strDateTabHtml + "<table id=\"tblDateTabLast\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"width:100%; height:18px; background-image:url(../../imgs/commonButtons/DateGW_GW_L.gif);\">";
          strDateTabHtml = strDateTabHtml + "<td style=\"width:87px;\" align=\"center\" class=\"td_large\" >&nbsp;</td>";
          strDateTabHtml = strDateTabHtml + "<td style=\"width:3px;\"></td>";
          strDateTabHtml = strDateTabHtml + "</table></td>";
        }
      }
    }

  }

  strDateTabHtml = strDateTabHtml + "</tr></table>";
  var objtdDateTabs = document.getElementById("tdDateTabs");
  objtdDateTabs.innerHTML = strDateTabHtml;
}

function ChangeSelectedDateTab(selTab, totalTabs) {
  var tblTab;
  var tblTabLast;
  var tdTab;
  var cCode = gSTR_CENTRE_CODE.toLowerCase();

  tblTabLast = document.getElementById("tblDateTabLast");

  for (var ctr = 0; ctr < totalTabs; ctr++) {
    tblTab = document.getElementById("tblDateTab" + ctr);
    tdTab = document.getElementById("tdTab" + ctr);
    if (ctr == selTab && ctr == (totalTabs - 1)) {
      tblTab.style.backgroundImage = 'url("../../imgs/' + cCode + '/buttons/DateBW_BW.gif")';
      tblTabLast.style.backgroundImage = 'url("../../imgs/' + cCode + '/buttons/DateBW_BW_L.gif")';

    }
    else if (ctr == selTab) {
      tblTab.style.backgroundImage = 'url("../../imgs/' + cCode + '/buttons/DateBW_BW.gif")';
      tblTabLast.style.backgroundImage = 'url("../../imgs/commonButtons/DateGW_GW_L.gif")';
    }
    else if ((ctr == (selTab + 1)) && (ctr != selDateTab)) {
      tblTab.style.backgroundImage = 'url("../../imgs/' + cCode + '/buttons/DateBG_BG.gif")';
    }
    else if ((ctr == (totalTabs - 1)) && (ctr != selDateTab)) {
      tblTab.style.backgroundImage = 'url("../../imgs/commonButtons/DateGW_GW.gif")';
    }
    else if (ctr == selDateTab) {
      if (selTab == (selDateTab - 1)) {
        tblTab.style.backgroundImage = 'url("../../imgs/' + cCode + '/buttons/DateBL_BL_Light.gif")';
      }
      else {
        tblTab.style.backgroundImage = 'url("../../imgs/' + cCode + '/buttons/DateBW_BW_Light.gif")';
      }
      if (ctr == (totalTabs - 1)) {
        tblTabLast.style.backgroundImage = 'url("../../imgs/' + cCode + '/buttons/DateBW_BW_L_Light.gif")';
      }
      tdTab.className = "td_large_Centre";

    }
    else if (ctr != selDateTab) {
      tblTab.style.backgroundImage = 'url("../../imgs/commonButtons/DateGW_GW.gif")';
    }

  }
}

function RestoreSelectedDateTab(totalTabs) {
  var tblTab;
  var tblTabLast;
  var tdDateTab;
  var cCode = gSTR_CENTRE_CODE.toLowerCase();

  tblTabLast = document.getElementById("tblDateTabLast");
  for (var ctr = 0; ctr < totalTabs; ctr++) {
    tblTab = document.getElementById("tblDateTab" + ctr);
    tdTab = document.getElementById("tdTab" + ctr); ;
    if (ctr == selDateTab && ctr == (totalTabs - 1)) {
      tblTab.style.backgroundImage = 'url("../../imgs/' + cCode + '/buttons/DateBW_BW.gif")';
      tblTabLast.style.backgroundImage = 'url("../../imgs/' + cCode + '/buttons/DateBW_BW_L.gif")';
      tdTab.className = "td_large";
    }
    else if (ctr == selDateTab) {
      tblTab.style.backgroundImage = 'url("../../imgs/' + cCode + '/buttons/DateBW_BW.gif")';
      tblTabLast.style.backgroundImage = 'url("../../imgs/commonButtons/DateGW_GW_L.gif")';
      tdTab.className = "td_large";
    }
    else if (ctr == (selDateTab + 1)) {
      tblTab.style.backgroundImage = 'url("../../imgs/' + cCode + '/buttons/DateBG_BG.gif")';
    }
    else if (ctr == (totalTabs - 1)) {
      tblTab.style.backgroundImage = 'url("../../imgs/commonButtons/DateGW_GW.gif")';
    }
    else {
      tblTab.style.backgroundImage = 'url("../../imgs/commonButtons/DateGW_GW.gif")';
    }
  }
}

function OnDateTabClick(paraDepDate) {
  var hdnDate = document.getElementById("search_HiddenDate");
  hdnDate.value = paraDepDate;
  hdnDate = document.getElementById("hdn_Date");
  hdnDate.value = paraDepDate;

  var dateParts = paraDepDate.split('-');
  var tempDate = new Date(dateParts[0], dateParts[1] - 1, dateParts[2]);
  var dayint = tempDate.getDay();
  if (dayint != 0) {
    dayint = dayint - 1;
  }
  else {
    dayint = 6;
  }

  var dtp = document.getElementById("search_DTPicker");
  dtp.value = tempDate.getDate() + ' ' + ds_monthnames1[tempDate.getMonth()] + ' ' + tempDate.getFullYear() + ' ' + ds_daynames[dayint];

  js_controller_searchTile(imgsearchId, 'click');
}
function BuildDestinationTabs() {
  var strDestTabHtml = "";
  var strTr1Html = "";
  var strTr2Html = "";
  var imgPrefix = "AvailableResort_";

  if (arrSearchResultsOtherDestination.length > 0) {
    strDestTabHtml = "<table width=\"100%\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
    strDestTabHtml = strDestTabHtml + "<tr><td  class=\"greyHeader\">Alternative villas in other resorts available</td></tr>";
    strDestTabHtml = strDestTabHtml + "<tr><td ><img src=\"../../imgs/spacer.gif\" width=\"1px\" height=\"5px\" border=\"0\" alt=\"\" /></td></tr>";
    strDestTabHtml = strDestTabHtml + "<tr><td class=\"whiteDots\"><img src=\"../../imgs/spacer.gif\" width=\"1px\" height=\"1px\" border=\"0\" alt=\"\" id=\"bottomTabPos\"/></td></tr>";
    strDestTabHtml = strDestTabHtml + "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";

    strTr1Html = "<tr>";
    strTr2Html = "<tr>";
    for (var ctr = 0; ctr < arrSearchResultsOtherDestination.length; ctr++) {
      strTr1Html = strTr1Html + "<td><img src=\"../../imgs/spacer.gif\" width=\"128px\" height=\"1px\" border=\"0\" alt=\"\"/></td>";
      strTr2Html = strTr2Html + "<td nowrap=\"nowrap\"  align=\"center\" class=\"td_large\" " +
                                              "style=\"height:20px; cursor:pointer; background-image:url(../../imgs/" + arrSearchResultsOtherDestination[ctr][0] + "/buttons/" + imgPrefix + arrSearchResultsOtherDestination[ctr][0] + ".gif);\" " +
                                              "onclick=\"javascript:OnDestinationTabClick('" + arrSearchResultsOtherDestination[ctr][0] + "');\">" +
                                              arrSearchResultsOtherDestination[ctr][1] + " (" + arrSearchResultsOtherDestination[ctr][2] + ")</td>";
    }
    strTr1Html = strTr1Html + "</tr>";
    strTr2Html = strTr2Html + "</tr>";
    strDestTabHtml = strDestTabHtml + strTr2Html + strTr1Html + "</table></table>";

    var objtdDestTabs = document.getElementById("tdDestinationTabs");
    objtdDestTabs.innerHTML = strDestTabHtml;
  }
}
function OnDestinationTabClick(centre) {
  var cmbDestinations = document.getElementById(ddDestinationsId);
  cmbDestinations.options[cmbDestinations.options.selectedIndex].value = centre;
  js_controller_searchTile(imgsearchId, 'click');
}

//To Poition the Iframe at Centre
function positionIframe() {
  var ifrm = document.getElementById('frmMapPics');
  with (ifrm) {

    var yPos = parseInt(screen.availHeight) - parseInt(style.height);
    yPos = (yPos / 2) + 20;

    var ifmWindow = ifrm.contentWindow;
    var top = ifmWindow.screenTop != undefined ? ifmWindow.screenTop : ifmWindow.screenY;
    yPos = (top <= 150) ? yPos + 20 : yPos;
    var xPos = 300;
    ifrm.style.left = xPos + "px";
    ifrm.style.top = yPos + "px";
    ifrm.focus();
  }
}

//
function BuildDestinationDropDown(formControlName, arrayToUse) {
  var arrDestNames = arrayToUse.sort();
  var stp = arrDestNames.length;
  var form = document.forms[0];
  if (form.ddResorts.options.length <= 0) {
    AddOptionsToDrowDown(formControlName, "All", "all", true);
    for (var ctr = 0; ctr < stp; ctr++) {
      AddOptionsToDrowDown(formControlName, arrDestNames[ctr] + " (" + eval("tot" + GetCentreCode(arrDestNames[ctr]).toUpperCase() + "results") + ")", GetCentreCode(arrDestNames[ctr]).toUpperCase(), false);
    }
  }
  else {
    var allCentreCodes = GetCentreCodesForFilteringCriteria(filteringArray, arrSearchResults);
    if (allCentreCodes.indexOf(",") == -1) {
      var arrAllCentreCodes = new Array();
      arrAllCentreCodes[0] = allCentreCodes;
    }
    else {
      var arrAllCentreCodes = allCentreCodes.split(",");
    }
    var stp = arrAllCentreCodes.length;
    var resortItemsCount = form.ddResorts.options.length;
    for (var ctr = 1; ctr < resortItemsCount; ctr++) {
      var foundIdsCount = 0;
      var resName = form.ddResorts.options[ctr].text.substr(0, form.ddResorts.options[ctr].text.indexOf("("));
      for (var ctr2 = 0; ctr2 < stp; ctr2++) {
        if (Trim(form.ddResorts.options[ctr].value).toLowerCase() == Trim(arrAllCentreCodes[ctr2]).toLowerCase()) foundIdsCount++;
      }
      form.ddResorts.options[ctr].text = resName + "(" + foundIdsCount + ")";
    }
  }
}

function GetCentreCodesForFilteringCriteria(arrayObjectFilters, arrayObject) {
  //OBJECT POSITIONS ARE: AC, FINER VILLA, BEACH, SECLUSION, POOL HEAT, 
  //WALK top SHOPS, CAR NOT REQ, CAR USE, CAR ESSENTIAL, MIN PRICE, MAX PRICE, RESORT ID
  var arrToUse = arrayObject;
  var arrFilters = arrayObjectFilters;
  var stp = arrToUse.length - 1;
  var allCentreCodes = new String();
  var currentCentre = Trim(selectedDestinationCode).toLowerCase();
  for (var ctr = 0; ctr <= stp; ctr++) {
    var valFound = "";
    if (arrFilters[0] != -1)//AC
    {
      if (parseInt(arrToUse[ctr][3]) == 1) {
        valFound = valFound + ",1";
      }
      else {
        valFound = valFound + ",0";
      }
    }
    if (arrFilters[1] != -1)//FINER VILLA
    {
            if (parseInt(arrToUse[ctr][4]) == 1 || parseInt(arrToUse[ctr][24]) == 1) {
        valFound = valFound + ",1";
      }
      else {
        valFound = valFound + ",0";
      }
    }
    if (arrFilters[2] != -1)//CLOSE TO BEACH
    {
      if (parseInt(arrToUse[ctr][5]) == 1) {
        valFound = valFound + ",1";
      }
      else {
        valFound = valFound + ",0";
      }
    }
    if (arrFilters[3] != -1)//SECLUSION
    {
      if (parseInt(arrToUse[ctr][6]) == 1) {
        valFound = valFound + ",1";
      }
      else {
        valFound = valFound + ",0";
      }
    }
    if (arrFilters[4] != -1)//POOL HEAT
    {
      if (parseInt(arrToUse[ctr][7]) == 1) {
        valFound = valFound + ",1";
      }
      else {
        valFound = valFound + ",0";
      }
    }
    if (arrFilters[5] != -1)//WALK TO SHOPS
    {
      if (parseInt(arrToUse[ctr][8]) == 1) {
        valFound = valFound + ",1";
      }
      else {
        valFound = valFound + ",0";
      }
    }

    // For Car check boxes

    if (!((arrFilters[6] != -1) && (arrFilters[7] != -1) && (arrFilters[8] != -1))) {
      var ctr2 = 6;
      var carchk = 0;
      var myfound = 0;
      while ((myfound == 0) && (ctr2 < 9)) {
        if (arrFilters[ctr2] != -1) {
          carchk = 1;
          if (Trim(arrToUse[ctr][9]).toLowerCase() == Trim(arrFilters[ctr2]).toLowerCase()) {
            myfound = 1;
          }
        }
        ctr2++;
      }
      if (carchk == 1) {
        if (myfound == 1) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
    }
    if (valFound != "") {
      if (packageType == 1)//PRICES
      {
        if (parseFloat(arrToUse[ctr][19]) >= parseFloat(minPrice) && parseFloat(arrToUse[ctr][19]) <= parseFloat(maxPrice)) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
      else {
        if (parseFloat(arrToUse[ctr][18]) >= parseFloat(minPrice) && parseFloat(arrToUse[ctr][18]) <= parseFloat(maxPrice)) {
          valFound = valFound + ",1";
        }
        else {
          valFound = valFound + ",0";
        }
      }
    }
    if (valFound.indexOf(",0") == -1) {
      if (allCentreCodes.length <= 0) {
        allCentreCodes = arrToUse[ctr][0].toString();
      }
      else {
        allCentreCodes += "," + arrToUse[ctr][0].toString();
      }
    }
  }
  return allCentreCodes;
}

function searchCriteriaString() {
  var selAdult = "";
  var selChild = "";
  var selInfant = "";
  var selAirport = document.forms[0].search_ddAirports.options[document.forms[0].search_ddAirports.options.selectedIndex].text;
  var strDepartureDate = "";
  var tmpArryDate = depDate.split("-");
  var year = arryDate[0];
  var month = arryDate[1];
  var day = arryDate[2];
  var objSelDate = new Date(year, (month - 1), day);
  strDepartureDate = objSelDate.value;
  strDepartureDate = daysArray[objSelDate.getDay()] + " " + objSelDate.getDate() + " " + monthsArray[objSelDate.getMonth()] + " " + objSelDate.getFullYear();

  if (parseInt(totAdults) != 0) {
    if (parseInt(totAdults) == 1) {
      selAdult = totAdults + " Adult";
    }
    else {
      selAdult = totAdults + " Adults";
    }
  }

  if (parseInt(totChildren) != 0) {
    if (parseInt(totChildren) == 1) {
      selChild = ", " + totChildren + " Child";
    }
    else {
      selChild = ", " + totChildren + " Children";
    }
  }
  if (parseInt(totInfants) != 0) {
    if (parseInt(totInfants) == 1) {
      selInfant = "and " + totInfants + " Infant";
    }
    else {
      selInfant = "and " + totInfants + " Infants";
    }
  }
  if (selAirport == "No Flight") {
    selAirport = " ";
  }
  else {
    selAirport = " from " + selAirport;
  }
  return "search criteria of " + selAdult + "" + selChild + " " + selInfant + "<br/>on " + strDepartureDate + " for " + (duration * 7) + " nights " + selAirport;
}

function CreateBookingXML(sender) {
  var tempFlightID = 0;
  if (packageType == 1) {
    tempFlightID = 1;
  }
  // Bug 3910 BugBash_Viper_HS_PK_Pax are getting reset if you come back to VI from HS page
  var bookingXML;
  bookingXML = '<SummaryRequest  SearchType="' + this.Type + '">';
  bookingXML += "<DepartureDate>" + this.DepartureDate + "</DepartureDate>";
  bookingXML += "<DisplayDate>" + this.DisplayDate + "</DisplayDate>";
  bookingXML += "<Duration>" + this.Duration + "</Duration>";
  bookingXML += "<CentreCode>" + this.CentreCode + "</CentreCode>";
  bookingXML += "<CentreName>" + GetCentreName_2(this.CentreCode) + "</CentreName>";
  bookingXML += '<Villa ID="' + this.VillaId + '" AltVillaID="0"></Villa>';
  bookingXML += "<FlightFound>" + this.hasFlightFound + "</FlightFound>";
  bookingXML += "<Flights>";
  bookingXML += "<SourceAirport>" + this.SourceAirport + "</SourceAirport>";
  bookingXML += "<DestinationAirport>" + this.SourceAirport + "</DestinationAirport>";
  bookingXML += "<AirportName>" + BuildAirportString(this.CentreCode) + "</AirportName>";
  bookingXML += "<AdultCost>" + this.AdultCost + "</AdultCost>";
  bookingXML += "<ChildCost>" + this.ChildCost + "</ChildCost>";
  bookingXML += "<InfantCost>" + this.InfantCost + "</InfantCost>";
  bookingXML += "<TotalCost>" + this.TotalCost + "</TotalCost>";
  bookingXML += "<VillaCost>" + this.VillaCost + "</VillaCost>";
  bookingXML += "</Flights>";
  bookingXML += "<Pax>";
  bookingXML += "<Adults>" + this.Adults + "</Adults>";
  bookingXML += "<Childs>" + this.Children + "</Childs>";
  bookingXML += "<Infants>" + this.Infants + "</Infants>";
  bookingXML += "</Pax>";
  bookingXML += "<Total>";
  bookingXML += "<AdultsTotal>" + this.AdultsTotal + "</AdultsTotal>";
  bookingXML += "<ChildsTotal>" + this.ChildsTotal + "</ChildsTotal>";
  bookingXML += "<InfantsTotal>" + this.InfantsTotal + "</InfantsTotal>";
  bookingXML += "</Total>";
  bookingXML += "<SearchResult>"+numSearch+"</SearchResult>";
  bookingXML += "</SummaryRequest>";
  document.forms[0].hdnBookingDetails.value = bookingXML;
  if (sender == "other") {
    return;
  }
  document.forms[0].method = "POST";
  var actionUrl = "";
  actionUrl = pageProtocol +"/"+ RemoveWhiteSpace(GetCentreName_2(this.CentreCode)).toLowerCase() + "/booking/default.aspx";
  actionUrl = actionUrl.toLowerCase();
  if (isSmokeTestMode == true) {
    actionUrl += "?STM";
  }
  document.forms[0].action = actionUrl;
  document.forms[0].submit();
}

function SetMessage(message, Condition) {
  try {
    var objTableCentrTab = document.getElementById("selectedCentresTabs");
    var objTabletblMessage = document.getElementById("tblMessage");
    var objtdMessage = document.getElementById("tdMessage");
    var objcolSelectedCentresTabs = document.getElementById("colSelectedCentresTabs");
    switch (Condition.toLowerCase()) {
      case "g":
        objTableCentrTab.style.visibility = "hidden";
        objTableCentrTab.style.display = "none";
        objtdMessage.innerHTML = message;
        objTabletblMessage.style.display = "block";
        objTabletblMessage.style.visibility = "visible";
        break;
      case "i":
        objtdMessage.innerHTML = message;
        objTabletblMessage.style.visibility = "hidden";
        objTabletblMessage.style.display = "none";
        objTableCentrTab.style.display = "block";
        objTableCentrTab.style.visibility = "visible";
        break;
    }
  }
  catch (e) {
  }
}

//Core Metrics - PageView Tag on Filtering Results
function cmStringForFiltering() {
iCMFinalString="";
for(var iCM=0;iCM<filteringArray.length;iCM++)
{
    if (filteringArray[iCM]!= -1) {
        switch (filteringArray[iCM]) {
            case "ac":
                iCMFinalString += "AC|";
                break;
            case "FINER":
                iCMFinalString += "GP|";
                break;
            case "beach_close":
                iCMFinalString += "WB|";
                break;
            case "seclusion":
                iCMFinalString += "GS|";
                break;
            case "poolheat":
                iCMFinalString += "PH|";
                break;
            case "restaurant":
                iCMFinalString += "SR|";
                break;
            case "NOTREQ":
                iCMFinalString += "NR|";
                break;
            case "USE":
                iCMFinalString += "CU|";
                break;
            case "ESS":
                iCMFinalString += "CE|";
                break;
        }
    }
}
var iCMFinalStringTemp = iCMFinalString;
if (iCMFinalStringTemp.charAt(iCMFinalStringTemp.length - 1) == "|") {
    iCMFinalString=iCMFinalStringTemp.substring(0, iCMFinalStringTemp.length - 1)
}
return iCMFinalString;
}

//Core Metrics - Returns the updated attribute pattern
function cmUpdateattributepattern(cmAttributePattOld) {
    var updateattr = "";
    var splitElementsAttrib = new Array(15);
    splitElementsAttrib = cmAttributePattOld.toString().split("-_-")
    for (var k = 0; k < 15; k++) {
        switch (k + 1) {
            case 9:
                splitElementsAttrib[k] = showIdsCount;
                break;
           case 10:
                if (cmSorting == "") {
                    splitElementsAttrib[k]=document.forms[0].selItems.options[document.forms[0].selItems.options.selectedIndex].value;
                }
                else {
                    splitElementsAttrib[k] = cmSorting;
                }
                break;
            case 11:
                splitElementsAttrib[k] = cmOrdering;
                break;
            case 12:
                splitElementsAttrib[k] = iCMFinalString;
                break;
           }
    }
    for (var k1 = 0; k1 < 14; k1++) {
        updateattr = updateattr + splitElementsAttrib[k1] + "-_-";
    }
    updateattr = updateattr + splitElementsAttrib[14];
    return updateattr;
}

