﻿var Status = null;
var selectedAdults = 0;
var selectedChild = 0;
var selectedInfant = 0;
var flightID = 0;
var selectedFlightCounter = 0;
var flightPassangerArray = new Array();
var distinctFlights;
var isIncludeFlight = false;
var isAgeGroupChanged = false;
var DepartureAirport;
var intFlightSelected = 0;
var SelectedBestFlightIternityId;
var RowToBeFocused = 0;
var noFlightFound = false;
var noFlightFoundMsg = "";

function js_controller_amendFlight(sender, event) {

  try {
    var a = document.getElementById("ctl00_ContentPlaceHolder1_ddDestinationAirport");

    switch (sender.toLowerCase()) {
      case "body":
        if (event.toLowerCase() == "onload") {
          BuildDestinationAirportCombo('ctl00_ContentPlaceHolder1_ddDestinationAirport');
          BuildAirportCombo('ctl00_ContentPlaceHolder1_cmbAirports');
          BuildSortByCombo('ctl00_ContentPlaceHolder1_cmbSortBy');

          var forms = document.forms[0];

          if (forms.Event.value == "updateallflight") {
            forms.Event.value = '';
            ShowNextScreenDirectly();
          }
          else if (forms.Event.value == "updateflightfromfab") {
            forms.Event.value = '';
            ShowNextScreenDirectly();
          }
          else if (parseInt(fabRequestInt) == 1) {
            ShowNextScreenDirectly();
            ShowFlightResultsDiv();
            forms.fabRequest.value = 0;
          }
          else {
            if (isError == "True") {
              ShowHidePreloader(false);
            }
            BuildAllocationView();
            ShowPassangerAllocationScreen();
          }

          if (forms.Event.value == "updatelivecost") {
            ShowHidePreloader(false);

            if (isError == "False") {
              CloseWindow();
            }
            parent.bestFlightItineraryId = bestFlightItineraryId;
          }

          //Setting the variable to hide the preloader
          var hdnPageLoaded = document.getElementById('hdnPageLoaded');
          hdnPageLoaded.value = "1";
          if (parent.FlightClickedOnce == true && isError == "False") {
            var tdAmendFlightHeading = document.getElementById('tdAmendFlightHeading');
            tdAmendFlightHeading.innerHTML = "Your selected Flight Details";
          }
        }
        break;

      case "rbquestion":
        if (event.toLowerCase() == "click") {
          PaxGoingFromSameFlight(true);
        }
        break;

      case "go":
        if (event.toLowerCase() == "mouseover") {
          SwapImageShowHide(document.getElementById('go_on'), document.getElementById('go_off'));
        }
        else if (event.toLowerCase() == "mouseout") {
          SwapImageShowHide(document.getElementById('go_off'), document.getElementById('go_on'));
        }
        else if (event.toLowerCase() == "click") {
          ShowHidePreloader(true);
          CreateFabRequestXML();
        }
        break;

      case "ctl00_contentplaceholder1_cmbsortby":
        if (event.toLowerCase() == "onchange") {
          if (isFabSuccess == 1) {
            CreateFabFlightsResult();
          }
          else {
            ShowFabFailMessage();
          }
        }
        break;

      case "ctl00_ContentPlaceHolder1_cmbairports":
        if (event.toLowerCase() == "onchange") {
        }
        break;

      case "addextraflight":
        if (event.toLowerCase() == "click") {
          AddNewFlight();
        }
        if (event.toLowerCase() == "mouseover") {
          SwapImageShowHide(document.getElementById('addExtraFlight_on'), document.getElementById('addExtraFlight_off'));
        }
        else if (event.toLowerCase() == "mouseout") {
          SwapImageShowHide(document.getElementById('addExtraFlight_off'), document.getElementById('addExtraFlight_on'));
        }
        break;
      case "close":
        if (event.toLowerCase() == "click") {
          UpdateParent();
          parent.amendFlights();
        }
        break;
      case "saveflight":
        if (event.toLowerCase() == "mouseover") {
          SwapImageShowHide(document.getElementById('saveflight_on'), document.getElementById('saveflight_off'));
        }
        else if (event.toLowerCase() == "mouseout") {
          SwapImageShowHide(document.getElementById('saveflight_off'), document.getElementById('saveflight_on'));
        }
        else if (event.toLowerCase() == "click") {
          CheckTheSelectedFlight();
        }
        break;

      case "next":
        if (event.toLowerCase() == "mouseover") {
          SwapImageShowHide(document.getElementById('btnnext_on'), document.getElementById('btnnext_off'));
        }
        else if (event.toLowerCase() == "mouseout") {
          SwapImageShowHide(document.getElementById('btnnext_off'), document.getElementById('btnnext_on'));
        }
        else if (event.toLowerCase() == "click") {
          showNextScreen();
        }
        break;

      case "imgclosefabresult":
        if (event.toLowerCase() == "click") {
          var divFabFlightResultContainer = document.getElementById("divFabFlightResultContainer");
          divFabFlightResultContainer.style.display = 'none';
          divFabFlightResultContainer.style.visibility = 'hidden';
        }
        break;

      case "confirm":
        if (event.toLowerCase() == "mouseover") {
          SwapImageShowHide(document.getElementById('confirm_on'), document.getElementById('confirm_off'));
        }
        else if (event.toLowerCase() == "mouseout") {
          SwapImageShowHide(document.getElementById('confirm_off'), document.getElementById('confirm_on'));
        }
        else if (event.toLowerCase() == "click") {
          parent.FlightClickedOnce = true;
          var stp = arrSelectedFlights.length;
          for (var ctr = 0; ctr < stp; ctr++) {
            if (arrSelectedFlights[ctr][2] == '-') {
              objAnchor = getAnchorPosition('confirm');
              var divFabFlightResultContainer = document.getElementById("divFabFlightResultContainer");
              if (divFabFlightResultContainer.style.visibility == 'visible') {
                showAlert("Flight Selection", "Please save the selected flight and then confirm your selection.", "OK", 250, 125, objAnchor, null, "right");
              }
              else {
                showAlert("Flight Selection", "Please click on amend and assign a flight for the flight" + (parseInt(ctr) + 1) + ".", "OK", 250, 125, objAnchor, null, "right");
              }
              return;
            }
          }

          ShowHidePreloader(true);

          var Event = document.getElementById('Event');
          Event.value = 'updatelivecost';
          SubmitPage();
        }
        break;

      case "back":
        if (event.toLowerCase() == "mouseover") {
          SwapImageShowHide(document.getElementById('back_on'), document.getElementById('back_off'));
        }
        else if (event.toLowerCase() == "mouseout") {
          SwapImageShowHide(document.getElementById('back_off'), document.getElementById('back_on'));
        }
        else if (event.toLowerCase() == "click") {
          ShowPassangerAllocationScreen();
        }
        break;

      case "closeamendflight":
        if (event.toLowerCase() == "click") {
          var divPassangerDetails = document.getElementById("divPassangerDetails");
          divPassangerDetails.style.display = 'none';
          divPassangerDetails.style.visibility = 'hidden';
        }
        break;

    }

  }
  catch (e) {
    ShowHidePreloader(false);

    if ((sender.toLowerCase() == "body") && (event.toLowerCase() == "onload")) {
      //Setting the variable to hide the preloader
      var hdnPageLoaded = document.getElementById('hdnPageLoaded');
      hdnPageLoaded.value = "1";
    }
    if (isDebugMode == true) {
      alert("Error Occured in js_controller_amendFlight() : " + e);
    }
  }
}

function CloseWindow() {
  UpdateParent();
  parent.amendFlights();
}

function ShowHidePreloader(showPreloader) {
  var objIfrmAmendFlight = parent.document.getElementById("amendFlightsSelection");
  var objIfrmPreloader = parent.document.getElementById("preloader");

  if (objIfrmAmendFlight != null && objIfrmPreloader != null) {
    if (showPreloader == true) {
      if (objIfrmAmendFlight.style.visibility == "visible" && objIfrmPreloader.style.visibility == "hidden") {
        objIfrmAmendFlight.style.visibility = "hidden";
        objIfrmAmendFlight.style.display = "none";
        var objPreloaderContentDiv = objIfrmPreloader.contentWindow.document.getElementById("iFrameContentTd");
        var objPreloaderPageHeader = objIfrmPreloader.contentWindow.document.getElementById("ctl00_lblPageHeader");
        var objAmendFlightPageHeader = objIfrmAmendFlight.contentWindow.document.getElementById("ctl00_lblPageHeader");
        if (objPreloaderPageHeader != null && objAmendFlightPageHeader != null) {
          objPreloaderPageHeader.innerText = objAmendFlightPageHeader.innerText;
        }

        objIfrmPreloader.style.width = objIfrmAmendFlight.style.width;
        objIfrmPreloader.style.height = objIfrmAmendFlight.style.height;
        objPreloaderContentDiv.style.height = parseInt(objIfrmAmendFlight.style.height) - 65 + "px";
        objIfrmPreloader.style.top = objIfrmAmendFlight.style.top;
        objIfrmPreloader.style.left = objIfrmAmendFlight.style.left;
        objIfrmPreloader.style.visibility = "visible";
        objIfrmPreloader.style.display = "";
      }
    }
    else {
      if (objIfrmAmendFlight.style.visibility == "hidden") {
        objIfrmAmendFlight.style.visibility = "visible";
        objIfrmAmendFlight.style.display = "";
        var objPreloaderContentDiv = objIfrmPreloader.contentWindow.document.getElementById("iFrameContentTd");
        var objPreloaderPageHeader = objIfrmPreloader.contentWindow.document.getElementById("ctl00_lblPageHeader");
        if (objPreloaderPageHeader != null) {
          objPreloaderPageHeader.innerText = "";
        }
        objIfrmPreloader.style.width = parent.objBooking.PreloaderDefaultWidth;
        objIfrmPreloader.style.height = parent.objBooking.PreloaderDefaultHeight;
        objPreloaderContentDiv.style.height = parseInt(parent.objBooking.PreloaderDefaultHeight) - 65 + "px";
        objIfrmPreloader.style.top = parent.objBooking.PreloaderDefaultTop;
        objIfrmPreloader.style.left = parent.objBooking.PreloaderDefaultLeft;

        objIfrmPreloader.style.visibility = "hidden";
        objIfrmPreloader.style.display = "none";
      }
    }
  }
}
function ValidateIfAllFlightAreSelected() {
  var stp = arrSelectedFlights.length;
  for (var ctr = 0; ctr < stp; ctr++) {
    if (arrSelectedFlights[ctr][2] == '-') {
      objAnchor = getAnchorPosition('confirm');
      showAlert("Flight Selection", "Please amend the flight" + (parseInt(ctr) + 1) + "", "OK", 250, 125, objAnchor, null, "right");
      return false;
    }
  }
  return true;
}

function UpdateParent() {
  try {
    if (parseInt(parent.objBooking.PkgType) == 0) {

      parent.objBooking.PkgType = 1;
      parent.js_controller_booking('body', 'load');
    }
    var AgeGroupChanged = document.getElementById('AgeGroupChanged');
    if (AgeGroupChanged.value != 'False') {
      window.parent.FlightAgeGroupChange = "1";
      var arrInsurance1 = new Array();
      arrInsurance1[0] = new Array();
      arrInsurance1[0][0] = "ERROR";
      arrInsurance1[0][1] = InsuranceErr;
      arrInsurance1[0][2] = "";
      arrInsurance1[0][3] = "";
      arrInsurance1[0][4] = "";
      arrInsurance1[0][5] = "";
      window.parent.objInsurance.UpdateParent(arrInsurance1);
      parent.document.getElementById("InsAgeGroupChange").innerHTML = "<b><font color=red>" + InsuranceErr + " </font><b>";
      var objIRow = parent.document.getElementById("InsuranceErrRow");
      objIRow.style.display = "";
      objIRow.style.visibility = "visible";
    }
    var objFlights = parent.ReturnFlight();
    objFlights.UpdateParent(arrSelectedFlights);

    //If the car transfers has changed, display appropriate message on HS page
    parent.objBooking.isCarChanged = isCarChanged;
    parent.objBooking.CarChangedMsg = carChangedMsg;
    parent.objBooking.isTransferChanged = isTransferChanged;
    parent.objBooking.TransferChangedMsg = transferChangedMsg;

    window.parent.objCars.UpdateParent(arrCars);

    var objtransfer = parent.ReturnTransfers();
    objtransfer.UpdateParent(arrTransfers);

    parent.objBooking.isCarChanged = "0";
    parent.objBooking.CarChangedMsg = "";
    parent.objBooking.isTransferChanged = "0";
    parent.objBooking.TransferChangedMsg = "";

    var objFlightExtra = parent.ReturnFlightExtras();
    objFlightExtra.UpdateParent(FlightsExtras);

    parent.document.getElementById('airportChangeRowTd').innerHTML = '&nbsp;';
    parent.document.getElementById('airportRateChange').innerHTML = '&nbsp;';
       var FlightPriceChangeRow = parent.document.getElementById("FlightPriceChangeRow");
       FlightPriceChangeRow.style.display = "none";
       FlightPriceChangeRow.style.visibility = "hidden";

    if (AgeGroupChanged.value != 'False') {
      parent.document.getElementById("InsAgeGroupChange").innerHTML = "<b><font color=red>" + InsuranceErr + " </font><b>";
      var objIRow = parent.document.getElementById("InsuranceErrRow");
      objIRow.style.display = "";
      objIRow.style.visibility = "visible";
    }

    var rowCarChanged = parent.document.getElementById('CarHireChangeRow');
    var colCarChanged = parent.document.getElementById('CarHireChangeCol');
        //Bug 5853
        if (parent.objBooking.isCarHireLateBooking == "True") 
        {
            rowCarChanged.style.visibility = 'visible';
            rowCarChanged.style.display = '';
            colCarChanged.innerHTML = "<b><font color=red>" + parent.objBooking.carHireLateBookingMessage + " </font></b>";
        }
        else if (isCarChanged == "1")
        {
      rowCarChanged.style.visibility = 'visible';
      rowCarChanged.style.display = '';
      colCarChanged.innerHTML = "<b><font color=red>" + carChangedMsg + " </font></b>";
    }
    else {
      rowCarChanged.style.visibility = 'hidden';
      rowCarChanged.style.display = 'none';
      colCarChanged.innerHTML = "&nbsp;";
    }

    var rowTransferChanged = parent.document.getElementById('TransferChangeRow');
    var colTransferChanged = parent.document.getElementById('TransferChangeCol');
    if (isTransferChanged == "1") {
      rowTransferChanged.style.visibility = 'visible';
      rowTransferChanged.style.display = '';
      colTransferChanged.innerHTML = "<b><font color=red>" + transferChangedMsg + " </font></b>";
    }
    else {
      rowTransferChanged.style.visibility = 'hidden';
      rowTransferChanged.style.display = 'none';
      colTransferChanged.innerHTML = "&nbsp;";
    }

  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in UpdateParent() : " + e);
    }
  }

}

function ShowPassangerAllocationScreen() {

  try {

    var divSelectFlight = document.getElementById("divSelectFlight");
    divSelectFlight.style.display = 'none';
    divSelectFlight.style.visibility = 'hidden';

    var divAllocateFlightInner = document.getElementById("divAllocateFlightInner");
    divAllocateFlightInner.style.visibility = "hidden";
    divAllocateFlightInner.style.display = "none";

    var divAllocateFlightMain = document.getElementById("divAllocateFlightMain");
    divAllocateFlightMain.style.display = 'block';
    divAllocateFlightMain.style.visibility = 'visible';

    var divNextButton = document.getElementById("divNextButton");
    divNextButton.style.visibility = "hidden";
    divNextButton.style.display = "none";
    var totalPassangers = parseInt(totalAdults) + parseInt(totalChild) + parseInt(totalInfants);
    var spaceForBackButton = document.getElementById("spaceForBackButton");
    if (totalPassangers <= 8) {
      var height = (totalPassangers * 31);
      spaceForBackButton.style.height = height + "px";
    }
    else if (totalPassangers > 8 && totalPassangers <= 17) {
      var height = (totalPassangers * 28);
      spaceForBackButton.style.height = height + "px";
    }
    else {
      spaceForBackButton.style.height = "480px";
    }

    PaxGoingFromSameFlight(false);

    try {
      parent.ResetSize(700, 860);
    }
    catch (e) {
    }

  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in ShowPassangerAllocationScreen() : " + e);
    }
  }

}

function PaxGoingFromSameFlight(isShowNextScreen) {
  try {
    var forms = document.forms[0];
    if (forms.rbQuestionYes.checked == true) {
      var stp = arrPaxDetails.length;

      var j = 0;
      for (var j = 0; j < 4; j++) {
        if (eval("forms.flightOfPax1.options[" + j + "].value") == "flight1") {
          break;
        }
      }

      for (var i = 0; i < stp; i++) {
        eval("forms.flightOfPax" + i + ".selectedIndex=" + j);
      }
      var divAllocateFlightInner = document.getElementById("divAllocateFlightInner");
      divAllocateFlightInner.style.visibility = "hidden";
      divAllocateFlightInner.style.display = "none";

      if (isShowNextScreen == true) {
        showNextScreen();
      }

    }
    else if (forms.rbQuestionNo.checked == true) {
      var divAllocateFlightInner = document.getElementById("divAllocateFlightInner");
      divAllocateFlightInner.style.visibility = "visible";
      divAllocateFlightInner.style.display = "block";

      var divNextButton = document.getElementById("divNextButton");
      divNextButton.style.visibility = 'visible';
      divNextButton.style.display = 'block';

    }

  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in PaxGoingFromSameFlight() : " + e);
    }
    return false;
  }
}

function ValidateFlights() {

  try {
    var forms = document.forms[0];
    var totalPassangers = parseInt(totalAdults) + parseInt(totalChild) + parseInt(totalInfants);

    if (forms.rbQuestionYes.checked == true) {
      return true;
    }
    if ((forms.rbQuestionYes.checked == false) && (forms.rbQuestionNo.checked == false)) {
      objAnchor = getAnchorPosition('btnNext');
      showAlert("Flight Selection", "Please select Is your party travelling in the same flight?", "OK", 250, 92, objAnchor, null, "righttop");
      return false;
    }
    if (ValidateInfant() == false) {
      return false;
    }

    var forms = document.forms[0];
    var SelectedFlightsFromAdults = '';

    var flight1Selected = false;
    var flight2Selected = false;
    var flight3Selected = false;

    var stp = arrPaxDetails.length;
    for (var i = 0; i < stp; i++) {
      if (i < totalAdults) {
        SelectedFlightsFromAdults = SelectedFlightsFromAdults + "," + eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value");
      }

      switch (eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value")) {
        case "flight1":
          flight1Selected = true;
          break;
        case "flight2":
          flight2Selected = true;
          break;
        case "flight3":
          flight3Selected = true;
          break;
      }
    }
    for (var i = 0; i < totalPassangers; i++) {
      if (eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value") == "noflight") {

        objAnchor = getAnchorPosition('btnNext');
        showAlert("Flight Selection", "Please allocate the flight for all passengers.", "OK", 200, 92, objAnchor, null, "righttop");
        eval("forms.flightOfPax" + i + ".focus()");
        return false;
      }

    }

    for (var i = parseInt(totalAdults); i < totalPassangers; i++) {
      if (SelectedFlightsFromAdults.indexOf(eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value")) < 0) {
        flightId = eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value");
        objAnchor = getAnchorPosition('btnNext');

        showAlert("Flight Selection", "As " + flightId + " is not assigned to any adult, please change flight allocation of passenger " + (i + 1) + ". <br />Note: Child/Infant cannot travel alone ", "OK", 300, 105, objAnchor, null, "righttop");
        eval("forms.flightOfPax" + i + ".focus()");
        return false;
      }
    }

    for (var i = parseInt(totalAdults); i < totalPassangers; i++) {
      switch (eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value")) {
        case "flight1":
          flight1Selected = true;
          break;
        case "flight2":
          flight2Selected = true;
          break;
        case "flight3":
          flight3Selected = true;
          break;
      }
    }

    if (flight1Selected == false) {
      objAnchor = getAnchorPosition('btnNext');
      showAlert("Flight Selection", "Please select flight1.", "OK", 250, 125, objAnchor, null, 'right');
      return false;
    }

    if ((flight3Selected == true) && (flight2Selected == false)) {
      objAnchor = getAnchorPosition('btnNext');
      showAlert("Flight Selection", "Please assign flight2 before selecting flight3.", "OK", 250, 125, objAnchor, null, 'right');
      return false;
    }
    parent.isFlightAllocated = parent.isFlightAllocated + 1;

    return true;
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in ValidateFlights() : " + e);
    }
    return false;
  }

}
//Creates an array which tells how many adults / childs / infants are allocated to which flight. 
function CreateFlightPassangerArray() {

  try {
    var forms = document.forms[0];
    distinctFlights = '';
    for (var i = 0; i < parseInt(totalAdults) + parseInt(totalChild) + parseInt(totalInfants); i++) {
      if (distinctFlights.indexOf(eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value")) < 0) {
        if (distinctFlights == '') {
          distinctFlights = eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value");
        }
        else {
          distinctFlights = distinctFlights + "," + eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value");
        }
      }
    }

    var arrDistinctFlights = distinctFlights.split(",");
    flightPassangerArray.length = 0;
    for (j = 0; j < arrDistinctFlights.length; j++) {
      flightPassangerArray[j] = new Array(4);
      flightPassangerArray[j][0] = arrDistinctFlights[j];
      var adultsForThisFlight = 0;
      var childForThisFlight = 0;
      var infantForThisFlight = 0;

      for (var i = 0; i < parseInt(totalAdults) + parseInt(totalChild) + parseInt(totalInfants); i++) {
        if (eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value") == arrDistinctFlights[j]) {
          if (i < parseInt(totalAdults)) {
            adultsForThisFlight = adultsForThisFlight + 1;
          }
          else if (i < parseInt(totalAdults) + parseInt(totalChild)) {
            childForThisFlight = childForThisFlight + 1;
          }
          else if (i < parseInt(totalAdults) + parseInt(totalChild) + parseInt(totalInfants)) {
            infantForThisFlight = infantForThisFlight + 1;
          }
        }
      }

      flightPassangerArray[j][1] = adultsForThisFlight;
      flightPassangerArray[j][2] = childForThisFlight;
      flightPassangerArray[j][3] = infantForThisFlight;

    }
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in CreateFlightPassangerArray() : " + e);
    }
  }

}

//Decides if a flight needs to be inserted / deleted or updated depending on how user allocates PAX to flight
function UpdateAllSelectedFlights() {

  try {
    for (var j = 0; j < arrSelectedFlights.length; j++) {
      var deleteFlight = true;
      for (var i = 0; i < flightPassangerArray.length; i++) {
        if (flightPassangerArray[i][0] == 'flight' + (j + 1)) {
          InsertUpdateFlightPax("UPDATE", i, j);
          deleteFlight = false;
          break;
        }
      }
      if (deleteFlight == true) {
        DeleteSelectedFlight(j);
      }
    }

    for (var i = 0; i < flightPassangerArray.length; i++) {
      var InsertFlight = true;
      for (var j = 0; j < arrSelectedFlights.length; j++) {
        if (flightPassangerArray[i][0] == 'flight' + (j + 1)) {
          InsertFlight = false;
        }
      }
      if (InsertFlight == true) {
        InsertUpdateFlightPax("INSERT", i, 0);
      }
    }

    var forms = document.forms[0];
    if (forms.xmlForInsertFlight.value != '') 
{
      forms.xmlForInsertFlight.value = '<FlightDetails>' + forms.xmlForInsertFlight.value + '</FlightDetails>';
    }
    if (forms.xmlForDeleteFlight.value != '') 
{
      forms.xmlForDeleteFlight.value = '<FlightDetails>' + forms.xmlForDeleteFlight.value + '</FlightDetails>';
    }
    if (forms.xmlForUpdateFlight.value != '') 
{
      forms.xmlForUpdateFlight.value = '<FlightDetails>' + forms.xmlForUpdateFlight.value + '</FlightDetails>';
    }
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in UpdateAllSelectedFlights() : " + e);
    }
  }

}

function ShowNextScreenDirectly() {
  try {
    var forms = document.forms[0];
    if (strSelectedOption == "yes") {
      forms.rbQuestionYes.checked = true;
    }
    if (strSelectedOption == "no") {
      forms.rbQuestionNo.checked = true;
    }

    ShowHidePreloader(false);

    BuildAllocationView();
    CreateFlightPassangerArray();
    ShowSelectedFlight();
    var divSelectFlight = document.getElementById('divSelectFlight');
    divSelectFlight.style.visibility = 'visible';
    divSelectFlight.style.display = 'block';
    var divAllocateFlightMain = document.getElementById('divAllocateFlightMain');
    divAllocateFlightMain.style.visibility = 'hidden';
    divAllocateFlightMain.style.display = 'none';
    try {
      parent.ResetSize(700, 860);
    }
    catch (e) {
    }
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in ShowNextScreenDirectly() : " + e);
    }
  }
}

function showNextScreen() {

  try {
    if (ValidateFlights() == false) {
      return;
    }
    parent.isFlightAllocated = parent.isFlightAllocated + 1;
    ShowHidePreloader(true);

    CreateFlightPassangerArray();
    CreateXMLToUpdatePax();
    UpdateAllSelectedFlights();

    var Event = document.getElementById('Event');
    Event.value = 'updateallflight';
    var AgeGroupChanged = document.getElementById('AgeGroupChanged');
    AgeGroupChanged.value = isAgeGroupChanged;
    SubmitPage();
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in CreateXMLToUpdatePax() : " + e);
    }
  }

}

function CreateXMLToUpdatePax() {

  try {
    var stp = arrPaxDetails.length;
    var XMLUpdatePax = '<UpdatePax>';
    for (var i = 0; i < stp; i++) {
      var flightOfPax = document.getElementById("flightOfPax" + i);
      var ageGroupOfPax = document.getElementById("ageGroupOfPax" + i);
      XMLUpdatePax = XMLUpdatePax + '<Pax><PaxID>' + arrPaxDetails[i][0] + '</PaxID><AgeGroup>' + ageGroupOfPax.value + '</AgeGroup><Flight>' + flightOfPax.value + '</Flight><BookID>' + bookingID + '</BookID></Pax>';
    }

    XMLUpdatePax = XMLUpdatePax + '</UpdatePax>';
    var forms = document.forms[0];
    forms.xmlForUpdatePax.value = XMLUpdatePax;
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in CreateXMLToUpdatePax() : " + e);
    }
  }

}

function BuildAllocationView() {

  try {
    var strAllocationView;
    strAllocationView = '<table cellpadding="0" cellspacing="8" border="0">';
    var lable = 'Lead Passanger';

    var stp = arrPaxDetails.length;
    for (var i = 0; i < stp; i++) {
      strAllocationView = strAllocationView + '<tr>';
      strAllocationView = strAllocationView + '<td style="width:200px">' + arrPaxDetails[i][2] + '<input type="hidden" id="Pax' + i + '" name="Pax' + i + '" value="' + arrPaxDetails[i][1] + '"></td>';

      strAllocationView = strAllocationView + '<td style="width:100px"><select style="width:70px;" id="ageGroupOfPax' + i + '" name="ageGroupOfPax' + i + '" onchange="javascript:CheckIfAgeGroupChanged(' + i + ');" >';
      if (arrPaxDetails[i][3] == 'A')
      {
        if (arrPaxDetails[i][4] == "12-17") {
          strAllocationView = strAllocationView + '<option value="12-17" selected>12-17</option>';
          strAllocationView = strAllocationView + '<option value="18-25">18-25</option>';
          strAllocationView = strAllocationView + '<option value="26-64">26-64</option>';
          strAllocationView = strAllocationView + '<option value="65+">65+</option>';
        }
        else if (arrPaxDetails[i][4] == "18-25") {
          if (i != 0) {
            strAllocationView = strAllocationView + '<option value="12-17">12-17</option>';
          }
          strAllocationView = strAllocationView + '<option value="18-25" selected >18-25</option>';
          strAllocationView = strAllocationView + '<option value="26-64">26-64</option>';
          strAllocationView = strAllocationView + '<option value="65+">65+</option>';
        }
        else if (arrPaxDetails[i][4] == "26-64") {
          if (i != 0) {
            strAllocationView = strAllocationView + '<option value="12-17">12-17</option>';
          }
          strAllocationView = strAllocationView + '<option value="18-25">18-25</option>';
          strAllocationView = strAllocationView + '<option value="26-64" selected>26-64</option>';
          strAllocationView = strAllocationView + '<option value="65+">65+</option>';
        }
        else if (arrPaxDetails[i][4] == "65+") {
          if (i != 0) {
            strAllocationView = strAllocationView + '<option value="12-17">12-17</option>';
          }
          strAllocationView = strAllocationView + '<option value="18-25" >18-25</option>';
          strAllocationView = strAllocationView + '<option value="26-64">26-64</option>';
          strAllocationView = strAllocationView + '<option value="65+" selected>65+</option>';
        }
        else {
          if (i != 0) {
            strAllocationView = strAllocationView + '<option value="12-17">12-17</option>';
          }
          strAllocationView = strAllocationView + '<option value="18-25" selected >18-25</option>';
          strAllocationView = strAllocationView + '<option value="26-64">26-64</option>';
          strAllocationView = strAllocationView + '<option value="65+">65+</option>';
        }
      }
      else if (arrPaxDetails[i][3] == 'C')
      {
        strAllocationView = strAllocationView + '<option value="3-11" selected>3-11</option><option value="2-3">2-3</option>';
      }
      else if (arrPaxDetails[i][3] == 'I')
      {
        strAllocationView = strAllocationView + '<option value="0-2" selected>0-2</option>';
      }

      strAllocationView = strAllocationView + '</select></td>';

      if (i == 0) {
        strAllocationView = strAllocationView + '<td style="width:105px"><select  style="width:95px;" disabled="disabled" id="flightOfPax' + i + '"  name="flightOfPax' + i + '" >';
      }
      else {
        strAllocationView = strAllocationView + '<td style="width:105px"><select style="width:95px;"  id="flightOfPax' + i + '"  name="flightOfPax' + i + '" >';
      }

      if (arrPaxDetails[i][5].toLowerCase() == "flight1") {
        if (parent.isFlightAllocated == 0) {
          if (i != 0) {
            strAllocationView = strAllocationView + '<option value="noflight" selected>Allocate flight</option>';
            strAllocationView = strAllocationView + '<option value="flight1" >Flight 1</option>';
          }
          else {
            strAllocationView = strAllocationView + '<option value="noflight">Allocate flight</option>';
            strAllocationView = strAllocationView + '<option value="flight1" selected>Flight 1</option>';
          }

          strAllocationView = strAllocationView + '<option value="flight2">Flight 2</option>';
          strAllocationView = strAllocationView + '<option value="flight3">Flight 3</option>';

        }
        else {
          strAllocationView = strAllocationView + '<option value="flight1" selected>Flight 1</option>';
          strAllocationView = strAllocationView + '<option value="flight2">Flight 2</option>';
          strAllocationView = strAllocationView + '<option value="flight3">Flight 3</option>';

        }
      }
      else if (arrPaxDetails[i][5].toLowerCase() == "flight2") {
        strAllocationView = strAllocationView + '<option value="flight1">Flight 1</option>';
        strAllocationView = strAllocationView + '<option value="flight2" selected>Flight 2</option>';
        strAllocationView = strAllocationView + '<option value="flight3">Flight 3</option>';
      }
      else if (arrPaxDetails[i][5].toLowerCase() == "flight3") {
        strAllocationView = strAllocationView + '<option value="flight1">Flight 1</option>';
        strAllocationView = strAllocationView + '<option value="flight2">Flight 2</option>';
        strAllocationView = strAllocationView + '<option value="flight3" selected>Flight 3</option>';
      }
      else {
        strAllocationView = strAllocationView + '<option value="noflight" selected>Allocate flight</option>';
        strAllocationView = strAllocationView + '<option value="flight1">Flight 1</option>';
        strAllocationView = strAllocationView + '<option value="flight2">Flight 2</option>';
        strAllocationView = strAllocationView + '<option value="flight3">Flight 3</option>';
      }

      strAllocationView = strAllocationView + '</select></td>';

      strAllocationView = strAllocationView + '</tr>';
      lable = 'Passanger ' + (i + 2);
    }

    strAllocationView = strAllocationView + '</table>';

    var divAllocateFlightInner_Allocation = document.getElementById("divAllocateFlightInner_Allocation");
    divAllocateFlightInner_Allocation.innerHTML = strAllocationView;

    var divAllocateFlightInner = document.getElementById("divAllocateFlightInner");
    divAllocateFlightInner.style.visibility = 'visible';
    divAllocateFlightInner.style.display = 'block';
    var divNextButton = document.getElementById("divNextButton");
    divNextButton.style.visibility = 'visible';
    divNextButton.style.display = 'block';

  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in BuildAllocationView() : " + e);
    }
  }
}

function BuildSortByCombo(formControlName) {

  try {

    var optionIsSelected = true;
    AddOptionsToDrowDown(formControlName, "Best Flight", "bestflight", optionIsSelected);
    optionIsSelected = false;
    AddOptionsToDrowDown(formControlName, "Price", "price", optionIsSelected);
    AddOptionsToDrowDown(formControlName, "Flight type", "flighttype", optionIsSelected);
    AddOptionsToDrowDown(formControlName, "Departure Airport", "departureairport", optionIsSelected);
    AddOptionsToDrowDown(formControlName, "Departure Time - UK", "departuretimeuk", optionIsSelected);
    AddOptionsToDrowDown(formControlName, "Destination Airport", "destinationairport", optionIsSelected);
    AddOptionsToDrowDown(formControlName, "Departure Time - Destination", "departuretimedestination", optionIsSelected);
    AddOptionsToDrowDown(formControlName, "Drive Time to Resort", "drivetimetoresort", optionIsSelected);
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in BuildSortByCombo() : " + e);
    }
  }

}

function AddNewFlight() {
  try {
    Status = 'ADD';

    var forms = document.forms[0];
    forms.Event.value = "addflight";

    ShowPassangerInputDiv();
    HideFlightResultsDiv();
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in AddNewFlight() : " + e);
    }
  }
}

function js_controller_Button(sender, event, ctr) {

  try {
    switch (sender.toLowerCase()) {
      case "amendflight":
        if (event.toLowerCase() == "mouseover") {

          SwapImageShowHide(document.getElementById('amendflighton_' + ctr), document.getElementById('amendflightoff_' + ctr));
        }
        else if (event.toLowerCase() == "mouseout") {
          SwapImageShowHide(document.getElementById('amendflightoff_' + ctr), document.getElementById('amendflighton_' + ctr));
        }
        else if (event.toLowerCase() == "click") {
          Status = 'UPDATE';
          if (ctr > arrSelectedFlights.length) {
            Status = 'ADD';
          }
          else {
            flightID = arrSelectedFlights[ctr][0];
            selectedFlightCounter = ctr;
          }

          var forms = document.forms[0];
          forms.Event.value = "addflight";
          forms.flightID.value = flightID;
          if (ctr < arrSelectedFlights.length) {
            forms.selectedItineraryId.value = arrSelectedFlights[ctr][2];
            SetDropDownDefault(arrSelectedFlights[ctr][4], "ctl00_ContentPlaceHolder1_cmbAirports");
          }

          ShowPassangerInputDiv();
          HideFlightResultsDiv();

        }
        break;

      case "deleteflight":

        if (event.toLowerCase() == "click") {
          DeleteSelectedFlight(ctr);
        }
        if (event.toLowerCase() == "mouseover") {
          swapImage(gSTR_IMG_PATH + "/buttons/DeleteOn.gif", document.getElementById('deleteflight' + ctr));
        }
        if (event.toLowerCase() == "mouseout") {
          swapImage(gSTR_IMG_PATH + "/buttons/DeleteOFF.gif", document.getElementById('deleteflight' + ctr));
        }
        break;

      case "frilltypehelp":
        {
          if (event.toLowerCase() == "mouseover") {
            showLayer('dvNoFrillsHelp', 'frillTypeHelp' + ctr);
            swapImage(gSTR_IMG_PATH + "/buttons/helpOFF.gif", document.getElementById('frillTypeHelp' + ctr));
          }
          if (event.toLowerCase() == "mouseout") {
            hideLayer('dvNoFrillsHelp');
            swapImage(gSTR_IMG_PATH + "/buttons/helpON.gif", document.getElementById('frillTypeHelp' + ctr));
          }
        }

      case "charteredtypehelp":
        {
          if (event.toLowerCase() == "mouseover") {
            showLayer('dvCharteredHelp', 'CharteredTypeHelp' + ctr);
            swapImage(gSTR_IMG_PATH + "/buttons/helpOFF.gif", document.getElementById('CharteredTypeHelp' + ctr));
          }
          if (event.toLowerCase() == "mouseout") {
            hideLayer('dvCharteredHelp');
            swapImage(gSTR_IMG_PATH + "/buttons/helpON.gif", document.getElementById('CharteredTypeHelp' + ctr));
          }
        }

    }

  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in js_controller_Button() : " + e);
    }
  }
}

//Saves the flight details of Pax when user clicks on NExt button
function InsertUpdateFlightPax(statusAddEdit, i, j) {

  try {

    var XMLUpdateFlight = '<Flight>';
    if (statusAddEdit == "UPDATE") {
      XMLUpdateFlight = XMLUpdateFlight + '<FlightID>' + arrSelectedFlights[j][0] + '</FlightID>';
    }
    else {
      XMLUpdateFlight = XMLUpdateFlight + '<FlightID>' + flightID + '</FlightID>';
    }

    var forms = document.forms[0];
    XMLUpdateFlight = XMLUpdateFlight + '<BookingID>' + bookingID + '</BookingID>';
    XMLUpdateFlight = XMLUpdateFlight + '<ItineraryId>-</ItineraryId>';
    XMLUpdateFlight = XMLUpdateFlight + '<SessionId>-</SessionId>';
    XMLUpdateFlight = XMLUpdateFlight + '<SourceAirport>' + arrSelectedFlights[0][4] + '</SourceAirport >';
    XMLUpdateFlight = XMLUpdateFlight + '<DestinationAirport>' + arrSelectedFlights[0][5] + '</DestinationAirport>';
    XMLUpdateFlight = XMLUpdateFlight + '<NoOfAdults>' + flightPassangerArray[i][1] + '</NoOfAdults>';
    XMLUpdateFlight = XMLUpdateFlight + '<NoOfChilds>' + flightPassangerArray[i][2] + '</NoOfChilds>';
    XMLUpdateFlight = XMLUpdateFlight + '<NoOfInfants>' + flightPassangerArray[i][3] + '</NoOfInfants >';
            XMLUpdateFlight= XMLUpdateFlight +'<VPPricePerPax>-</VPPricePerPax>';
            XMLUpdateFlight= XMLUpdateFlight +'<FABPricePerPax>-</FABPricePerPax>';
    XMLUpdateFlight = XMLUpdateFlight + '<PriceDiffAdult>-</PriceDiffAdult>';
    XMLUpdateFlight = XMLUpdateFlight + '<PriceDiffChild>-</PriceDiffChild>';
    XMLUpdateFlight = XMLUpdateFlight + '<FareType>-</FareType>';

    XMLUpdateFlight = XMLUpdateFlight + '<OutBound>';
    XMLUpdateFlight = XMLUpdateFlight + '<DepartureDate>12/22/2008</DepartureDate>';
    XMLUpdateFlight = XMLUpdateFlight + '<DepartureTime>-</DepartureTime>';
    XMLUpdateFlight = XMLUpdateFlight + '<ArrivalDate>12/22/2008</ArrivalDate >';
    XMLUpdateFlight = XMLUpdateFlight + '<ArrivalTime>-</ArrivalTime >';
    XMLUpdateFlight = XMLUpdateFlight + '<FlightClass>-</FlightClass >';
    XMLUpdateFlight = XMLUpdateFlight + '<FlightNumber>-</FlightNumber>';
    XMLUpdateFlight = XMLUpdateFlight + '</OutBound>';

    XMLUpdateFlight = XMLUpdateFlight + '<HomeBound>';
    XMLUpdateFlight = XMLUpdateFlight + '<DepartureDate>12/22/2008</DepartureDate>';
    XMLUpdateFlight = XMLUpdateFlight + '<DepartureTime>-</DepartureTime>';
    XMLUpdateFlight = XMLUpdateFlight + '<ArrivalDate>12/22/2008</ArrivalDate >';
    XMLUpdateFlight = XMLUpdateFlight + '<ArrivalTime>-</ArrivalTime >';
    XMLUpdateFlight = XMLUpdateFlight + '<FlightClass>-</FlightClass >';
    XMLUpdateFlight = XMLUpdateFlight + '<FlightNumber>-</FlightNumber>';
    XMLUpdateFlight = XMLUpdateFlight + '</HomeBound>';

    XMLUpdateFlight = XMLUpdateFlight + '<OtherInfo>';
    XMLUpdateFlight = XMLUpdateFlight + '<ResortDriveTime>-</ResortDriveTime >';
    XMLUpdateFlight = XMLUpdateFlight + '<CarHireDuration>-</CarHireDuration >';
    XMLUpdateFlight = XMLUpdateFlight + '</OtherInfo>';
    XMLUpdateFlight = XMLUpdateFlight + '</Flight>';

    var XMLInput;
    if (statusAddEdit == "UPDATE") {
      XMLInput = document.getElementById('xmlForUpdateFlight');
    }
    if (statusAddEdit == "INSERT") {
      XMLInput = document.getElementById('xmlForInsertFlight');
    }

    XMLInput.value = XMLInput.value + XMLUpdateFlight;

  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in InsertUpdateFlightPax() : " + e);
    }
  }

}

var intInterval;
function WaitOkToBeClicked() {
  if (isOkClicked == true) {
    if (intInterval != null) clearInterval(intInterval);
    isOkClicked = false;
    SaveFlight();
  }
}

function CheckTheSelectedFlight() {

  parent.FlightClickedOnce = true;
  var ctr = null;
  ctr = GetSelectedFlightCounterFromFABFlights();

  var objAnchor = getAnchorPosition('saveflight_on');
  if (ctr == null) {
    if (noFlightFound == true) {
      showAlert("Please select flight", noFlightFoundMsg, "OK", 300, 175, objAnchor, null, 'right');
      return;
    }
    else {
      showAlert("Please select flight", "Please select a flight.", "OK", 250, 125, objAnchor, null, 'right');
      return;

    }

  }

  if (arrFabFlight[ctr][9] == 'NoFrills') {
    showAlert("No Frill Flight", "You have chosen a no-frills airline. You are required to pay in full for the flights. Any amendments or cancellations made later will be subject to the airline’s amendments or cancellation fees of 100% of the cost.", "OK", 250, 125, objAnchor, "SaveFlight", "righttop");
    intInterval = setInterval('WaitOkToBeClicked()', 100);
  }
  else if (arrFabFlight[ctr][9] == 'Chartered') {
    showAlert("Chartered Flight", "You have chosen a Charter Airline. Deposit only is required when booking outside of " + DepositPayableAfterWeeks + " weeks of departure. Any amendments made after the time of booking will be subject to the airline’s amendments fees.", "OK", 250, 125, objAnchor, "SaveFlight", "righttop");
    intInterval = setInterval('WaitOkToBeClicked()', 100);
  }
  else {
    SaveFlight();
  }
}

//Saves the flight selected by user out of FAB results
function SaveFlight() {
  try {
    ShowHidePreloader(true);

    var ctr = null;
    ctr = GetSelectedFlightCounterFromFABFlights();
    var hiddenFlightID = document.getElementById('flightID');
    flightID = hiddenFlightID.value;
    selectedFlightCounter = GetSelectedFlightCounterFromDBFlights();

    var forms = document.forms[0];
    var selectedInfantForThisFlight = forms.selectedInfants.value;
    var selectedAdultsForThisFlight = forms.selectedAdults.value;
    var selectedChildsForThisFlight = forms.selectedChild.value;

            var XMLUpdateFlight = '<FlightDetails><Flight ';
            XMLUpdateFlight= XMLUpdateFlight +'ItineraryId="' + arrFabFlight[ctr][0] + '" ';
            XMLUpdateFlight= XMLUpdateFlight +'Supplier="' + arrFabFlight[ctr][24] + '" >';
    if (Status == "UPDATE") {
      XMLUpdateFlight = XMLUpdateFlight + '<FlightID>' + flightID + '</FlightID>';
    }
    else {
      XMLUpdateFlight = XMLUpdateFlight + '<FlightID>' + flightID + '</FlightID>';
    }
    var forms = document.forms[0];
    XMLUpdateFlight = XMLUpdateFlight + '<BookingID>' + bookingID + '</BookingID>';
    XMLUpdateFlight = XMLUpdateFlight + '<Supplier>' + arrFabFlight[ctr][24] + '</Supplier>';
            XMLUpdateFlight= XMLUpdateFlight +'<SessionId>' + arrFabFlight[ctr][22] + '</SessionId>';
    XMLUpdateFlight = XMLUpdateFlight + '<SourceAirportCode>' + arrFabFlight[ctr][1] + '</SourceAirportCode>';
    XMLUpdateFlight = XMLUpdateFlight + '<DestinationAirportCode>' + arrFabFlight[ctr][2] + '</DestinationAirportCode>';
    XMLUpdateFlight = XMLUpdateFlight + '<NoOfAdults>' + flightPassangerArray[selectedFlightCounter][1] + '</NoOfAdults>';
    XMLUpdateFlight = XMLUpdateFlight + '<NoOfChilds>' + flightPassangerArray[selectedFlightCounter][2] + '</NoOfChilds>';
    XMLUpdateFlight = XMLUpdateFlight + '<NoOfInfants>' + flightPassangerArray[selectedFlightCounter][3] + '</NoOfInfants >';

    XMLUpdateFlight = XMLUpdateFlight + '<Pax>';
    XMLUpdateFlight = XMLUpdateFlight + '<Adults>' + flightPassangerArray[selectedFlightCounter][1] + '</Adults>';
    XMLUpdateFlight = XMLUpdateFlight + '<Childs>' + flightPassangerArray[selectedFlightCounter][2] + '</Childs>';
    XMLUpdateFlight = XMLUpdateFlight + '<Infants>' + flightPassangerArray[selectedFlightCounter][3] + '</Infants >';
    XMLUpdateFlight = XMLUpdateFlight + '</Pax>';

            XMLUpdateFlight= XMLUpdateFlight +'<VPPricePerPax>' + arrFabFlight[ctr][23] + '</VPPricePerPax>';
            XMLUpdateFlight= XMLUpdateFlight +'<FABPricePerPax>' + arrFabFlight[ctr][34] + '</FABPricePerPax>';
    XMLUpdateFlight = XMLUpdateFlight + '<PriceDiffAdult>' + arrFabFlight[ctr][7] + '</PriceDiffAdult>';
    XMLUpdateFlight = XMLUpdateFlight + '<PriceDiffChild>' + arrFabFlight[ctr][8] + '</PriceDiffChild>';
    XMLUpdateFlight = XMLUpdateFlight + '<FareType>' + arrFabFlight[ctr][9] + '</FareType>';

    XMLUpdateFlight = XMLUpdateFlight + '<OutBound>';
    XMLUpdateFlight = XMLUpdateFlight + '<DepartureDate>' + arrFabFlight[ctr][10] + '</DepartureDate>';
    XMLUpdateFlight = XMLUpdateFlight + '<DepartureTime>' + arrFabFlight[ctr][11] + '</DepartureTime>';
    XMLUpdateFlight = XMLUpdateFlight + '<ArrivalDate>' + arrFabFlight[ctr][12] + '</ArrivalDate >';
    XMLUpdateFlight = XMLUpdateFlight + '<ArrivalTime>' + arrFabFlight[ctr][13] + '</ArrivalTime >';
    XMLUpdateFlight = XMLUpdateFlight + '<FlightClass>' + arrFabFlight[ctr][14] + '</FlightClass >';
    XMLUpdateFlight = XMLUpdateFlight + '<FlightNumber>' + arrFabFlight[ctr][32] + '</FlightNumber>';
    XMLUpdateFlight = XMLUpdateFlight + '</OutBound>';

    XMLUpdateFlight = XMLUpdateFlight + '<HomeBound>';
    XMLUpdateFlight = XMLUpdateFlight + '<DepartureDate>' + arrFabFlight[ctr][15] + '</DepartureDate>';
    XMLUpdateFlight = XMLUpdateFlight + '<DepartureTime>' + arrFabFlight[ctr][16] + '</DepartureTime>';
    XMLUpdateFlight = XMLUpdateFlight + '<ArrivalDate>' + arrFabFlight[ctr][17] + '</ArrivalDate >';
    XMLUpdateFlight = XMLUpdateFlight + '<ArrivalTime>' + arrFabFlight[ctr][18] + '</ArrivalTime >';
    XMLUpdateFlight = XMLUpdateFlight + '<FlightClass>' + arrFabFlight[ctr][19] + '</FlightClass >';
    XMLUpdateFlight = XMLUpdateFlight + '<FlightNumber>' + arrFabFlight[ctr][33] + '</FlightNumber>';
    XMLUpdateFlight = XMLUpdateFlight + '</HomeBound>';

    XMLUpdateFlight = XMLUpdateFlight + '<Cost>';
    XMLUpdateFlight = XMLUpdateFlight + '<Total>' + arrFabFlight[ctr][25] + '</Total>';
    XMLUpdateFlight = XMLUpdateFlight + '<BasicCost>' + arrFabFlight[ctr][26] + '</BasicCost>';
    XMLUpdateFlight = XMLUpdateFlight + '<FlightDeposit>' + arrFabFlight[ctr][27] + '</FlightDeposit>';
    XMLUpdateFlight = XMLUpdateFlight + '</Cost>';

    XMLUpdateFlight = XMLUpdateFlight + '<OtherInfo>';
    XMLUpdateFlight = XMLUpdateFlight + '<ResortDriveTime>' + arrFabFlight[ctr][20] + '</ResortDriveTime >';
    var IsCarHireDurationChanged = false;
    if (parseInt(duration) != parseInt(arrFabFlight[ctr][21])) {
      var IsCarHireDurationChanged = true;
    }
    XMLUpdateFlight = XMLUpdateFlight + '<CarHireDuration>' + arrFabFlight[ctr][21] + '</CarHireDuration >';
    XMLUpdateFlight = XMLUpdateFlight + '</OtherInfo>';

    if (arrSelectedFlights[selectedFlightCounter][2] == '-') {
      XMLUpdateFlight = XMLUpdateFlight + '<IsNewFlight>1</IsNewFlight>';
    }
    else {
      XMLUpdateFlight = XMLUpdateFlight + '<IsNewFlight>0</IsNewFlight>';
    }

    XMLUpdateFlight = XMLUpdateFlight + '</Flight></FlightDetails>';

    var forms = document.forms[0];
    forms.XMLInput.value = XMLUpdateFlight;
    forms.Event.value = "updateflightfromfab";
    SubmitPage();

  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in SaveFlight() : " + e);
    }
  }

}

function SubmitPage() {
  try {
    
    var strUrl = BookingProtocol + "://" + serverName + "/" + ReturnVirDirectory(gSTR_CENTRE_CODE);
    strUrl += "/code_net/booking/amendflight.aspx";

    document.forms[0].action = "";
    document.forms[0].method = "post";
    document.forms[0].submit();

  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in SubmitPage() : " + e);
    }
  }
}

function GetSelectedFlightCounterFromDBFlights() {
  try {
    var stp = arrSelectedFlights.length;
    var forms = document.forms[0];
    for (var ctr = 0; ctr < stp; ctr++) {
      try {
        if (parseInt(arrSelectedFlights[ctr][0]) == flightID) {
          return ctr;
          break;
        }
      }
      catch (e) {
      }
    }
    return null;
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in GetSelectedFlightCounterFromFABFlights() : " + e);
    }
    return null;
  }
}

//Gets the flights counter which is selected by user from the FAB results.
function GetSelectedFlightCounterFromFABFlights() {

  try {
    var stp = arrFabFlight.length;
    var forms = document.forms[0];
    for (var ctr = 0; ctr < stp; ctr++) {
      try {
        if (eval('forms.flight' + ctr + '.checked') == true) {
          return ctr;
          break;
        }
      }
      catch (e) {
      }
    }
    return null;
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in GetSelectedFlightCounterFromFABFlights() : " + e);
    }
    return null;
  }

}

function DeleteSelectedFlight(ctr) {

  try {
    var XMLDeleteFlight = '<Flight>';
    XMLDeleteFlight = XMLDeleteFlight + '<FlightID>' + arrSelectedFlights[ctr][0] + '</FlightID>';
    XMLDeleteFlight = XMLDeleteFlight + '<BookingID>' + arrSelectedFlights[ctr][1] + '</BookingID>';
    XMLDeleteFlight = XMLDeleteFlight + '</Flight>';
    var xmlForDeleteFlight = document.getElementById('xmlForDeleteFlight');
    xmlForDeleteFlight.value = xmlForDeleteFlight.value + XMLDeleteFlight;
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in DeleteSelectedFlight() : " + e);
    }
  }
}

//Builds the pax List
function buildPaxList(formControlName, totPax) {

  try {
    if (formControlName != 'forms.ctl00_ContentPlaceHolder1_ddAdults') {
      for (var ctr = 0; ctr <= totPax; ctr++) {
        var optionIsSelected = false;
        AddOptionsToDrowDown(formControlName, ctr, ctr, optionIsSelected);
      }
    }
    else {
      for (var ctr = 1; ctr <= totPax; ctr++) {
        var optionIsSelected = false;
        AddOptionsToDrowDown(formControlName, ctr, ctr, optionIsSelected);
      }
    }
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in buildPaxList() : " + e);
    }
  }

}
//Build departure airports combo box which is showed in FAB result
function BuildAirportCombo(formControlName) {
  try {
    var stp = arrAirport.length;
    var optionIsSelected;

    for (var ctr = 0; ctr < stp; ctr++) {
      optionIsSelected = false;
      if (arrAirport[ctr][0] == selectedAirport) {
        optionIsSelected = true;
      }
      AddOptionsToDrowDown(formControlName, arrAirport[ctr][1], arrAirport[ctr][0], optionIsSelected);
    }
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in BuildAirportCombo() : " + e);
    }
  }

}

//Builds the combo box for destination airport
function BuildDestinationAirportCombo(formControlName) {
  try {
    var stp = arrDestinationAirport.length;
    var optionIsSelected;

    optionIsSelected = 1;
    AddOptionsToDrowDown(formControlName, "All", "all", optionIsSelected);
    for (var ctr = 0; ctr < stp; ctr++) {
      optionIsSelected = false;
      AddOptionsToDrowDown(formControlName, arrDestinationAirport[ctr][1], arrDestinationAirport[ctr][0], optionIsSelected);
    }
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in BuildDestinationAirportCombo() : " + e);
    }
  }

}

//Build the departre airports combo box
function BuildDepartureComboForFilter(formControlName) {

  try {
    ClearDropDown(formControlName);
    var forms = document.forms[0];
    var SelectedAirport = forms.ctl00_ContentPlaceHolder1_cmbAirports.options[forms.ctl00_ContentPlaceHolder1_cmbAirports.selectedIndex].value;

    var optionIsSelected;
    optionIsSelected = false;
    var isAnyAdded = false;
    AddOptionsToDrowDown(formControlName, "All", "all", optionIsSelected);

    var stp = arrAirport.length;
    for (var ctr = 0; ctr < stp; ctr++) {
      if (arrAirport[ctr][2] == SelectedAirport) {
        AddOptionsToDrowDown(formControlName, arrAirport[ctr][1], arrAirport[ctr][0], optionIsSelected);
        isAnyAdded = true;
      }
    }

  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in BuildDepartureComboForFilter() : " + e);
    }
  }
}

function HideFlightResultsDiv() {

  try {
    var divFabFlightResultContainer = document.getElementById("divFabFlightResultContainer");

    divFabFlightResultContainer.style.visibility = 'hidden';
    divFabFlightResultContainer.style.display = 'none';

  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in HideFlightResultsDiv() : " + e);
    }
  }
}
//Creates the XML needs to pass to the flight service to get flights from the FAB 
function CreateFabRequestXML() {
  try {

    var forms = document.forms[0];
    var DepartureDate = parent.objBooking.From;
    var Duration = parent.objBooking.Duration;

            var strFabRequest = '<GetAllFlightRequest>';
    strFabRequest = strFabRequest + '<SessionId>' + arrSelectedFlights[0][3] + '</SessionId>';
    strFabRequest = strFabRequest + '<DepartureDate>' + DepartureDate + '</DepartureDate>';
    strFabRequest = strFabRequest + '<Duration>' + duration + '</Duration>';
    strFabRequest = strFabRequest + '<Pax>';
    strFabRequest = strFabRequest + '<Adults>' + arrSelectedFlights[selectedFlightCounter][6] + '</Adults>';
    if (arrSelectedFlights[selectedFlightCounter][7] == "") {
      arrSelectedFlights[selectedFlightCounter][7] = 0;
    }
    strFabRequest = strFabRequest + '<Childs>' + arrSelectedFlights[selectedFlightCounter][7] + '</Childs>';
    strFabRequest = strFabRequest + '<Infants>' + arrSelectedFlights[selectedFlightCounter][8] + '</Infants>';
    strFabRequest = strFabRequest + '</Pax>';
    strFabRequest = strFabRequest + '<CentreCode>' + parent.objVilla.Centre + '</CentreCode>';
    strFabRequest = strFabRequest + '<SourceAirport>' + forms.ctl00_ContentPlaceHolder1_cmbAirports.options[forms.ctl00_ContentPlaceHolder1_cmbAirports.selectedIndex].value + '</SourceAirport>';
    strFabRequest = strFabRequest + '<OtherInfo>';
    strFabRequest = strFabRequest + '<Resort>ValeDaLobo</Resort>';
    strFabRequest = strFabRequest + '<HasCarHire>1</HasCarHire>';
    strFabRequest = strFabRequest + '</OtherInfo>';
		        strFabRequest = strFabRequest + '</GetAllFlightRequest>';

    var XMLInput = document.getElementById('XMLInput');
    XMLInput.value = strFabRequest;

    var fabRequest = document.getElementById('fabRequest');
    fabRequest.value = "1";

    var Event = document.getElementById('Event');
    if (Status == 'ADD') {
      Event.value = "addflight";
    }
    if (Status == 'UPDATE') {
      Event.value = "updateflight";
    }

    SubmitPage();
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in CreateFabRequestXML() : " + e);
    }
  }

}

function ShowFlightResultsDiv() {
  BuildDepartureComboForFilter('ctl00_ContentPlaceHolder1_cmbDepartureAirport');

  if (isFabSuccess == 1) {
    CreateFabFlightsResult();
  }
  else {
    ShowFabFailMessage();
  }
  BuildDepartureComboWithSelectedData('ctl00_ContentPlaceHolder1_cmbDepartureAirport');
}

function BuildDepartureComboWithSelectedData(formControlName) {

  try {
    ClearDropDown(formControlName);
    var forms = document.forms[0];
    var SelectedAirport = forms.ctl00_ContentPlaceHolder1_cmbAirports.options[forms.ctl00_ContentPlaceHolder1_cmbAirports.selectedIndex].value;

    var optionIsSelected;
    optionIsSelected = false;
    var isAnyAdded = false;
    var strAll = "All";
    AddOptionsToDrowDown(formControlName, "All", "all", optionIsSelected);

    var stp = arrAirport.length;
    for (var ctr = 0; ctr < stp; ctr++) {
      if (DepartureAirport.match(arrAirport[ctr][0])) {
        optionIsSelected = false;
        AddOptionsToDrowDown(formControlName, arrAirport[ctr][1], arrAirport[ctr][0], optionIsSelected);
        isAnyAdded = true;
      }
    }

  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in BuildDepartureComboWithSelectedData() : " + e);
    }
  }
}

function ShowFabFailMessage() {
  var divToShowFabDownMsg = document.getElementById("divToShowFabDownMsg");
  divToShowFabDownMsg.style.visibility = 'visible';
  divToShowFabDownMsg.style.display = 'block';
}
//Shows the FAB result, prepares the order ans filter required to show the result 
function CreateFabFlightsResult() {
  try {

    DepartureAirport = "";
    var trDifferentAirportDetails = document.getElementById("trDifferentAirportDetails");
    trDifferentAirportDetails.style.visibility = 'hidden';
    trDifferentAirportDetails.style.display = 'none';

    var forms = document.forms[0];

    var SelectedAirport = forms.ctl00_ContentPlaceHolder1_cmbAirports.options[forms.ctl00_ContentPlaceHolder1_cmbAirports.selectedIndex].value;
    var SelectedFilterAirport = forms.ctl00_ContentPlaceHolder1_cmbDepartureAirport.options[forms.ctl00_ContentPlaceHolder1_cmbDepartureAirport.selectedIndex].value;
    var DestinationFilterAirport = forms.ctl00_ContentPlaceHolder1_ddDestinationAirport.options[forms.ctl00_ContentPlaceHolder1_ddDestinationAirport.selectedIndex].value;
    var departureAirportFilterRequired = true;
    var destinationAirportFilterRequired = true;
    if (SelectedFilterAirport.toLowerCase() == "all") {
      departureAirportFilterRequired = false;
    }

    if (DestinationFilterAirport.toLowerCase() == "all") {
      destinationAirportFilterRequired = false;
    }

    var sortBy = forms.ctl00_ContentPlaceHolder1_cmbSortBy.options[forms.ctl00_ContentPlaceHolder1_cmbSortBy.selectedIndex].value;
    var selectedItineraryId = forms.selectedItineraryId.value;

    switch (sortBy) {

      case 'bestflight':
        arrFabFlight.sort(SortByBestFlight);
        break;
      case 'price':
        arrFabFlight.sort(SortByPrice);
        break;
      case 'flighttype':
        arrFabFlight.sort(SortByFlightType);
        break;
      case 'departureairport':
        arrFabFlight.sort(SortByDepartureAirport);
        break;
      case 'departuretimeuk':
        arrFabFlight.sort(SortByDepartureTimeUK);
        break;
      case 'destinationairport':
        arrFabFlight.sort(SortByDestinationAirport);
        break;
      case 'departuretimedestination':
        arrFabFlight.sort(SortByDepartureTimeDestination);
        break;
      case 'drivetimetoresort':
        arrFabFlight.sort(SortByDriveTimeToResort);
        break;
    }

    var hiddenFlightID = document.getElementById('flightID');
    flightID = hiddenFlightID.value;
    var ctrFlight = GetSelectedFlightCounterFromDBFlights();
    var flightResultHead = document.getElementById('FlightResult');
    var FlightCount = distinctFlights.split(",");
    if (FlightCount.length > 1) {
      flightResultHead.innerHTML = "Other Flight Options For Flight " + (ctrFlight + 1);
    }
    else {
      flightResultHead.innerHTML = "Other Flight Options";
    }

    var isAtleastOneRowShown = false;
    var isSelectedAirportAvailable = false;

    //Check if the selected Airport is a group. If it is a group no need to show the msg. of different Airport
    var stp = arrAirport.length;
    for (var ctr = 0; ctr < stp; ctr++) {
      if (arrAirport[ctr][0] == SelectedAirport) {
        if (arrAirport[ctr][2] == "XXX") {
          isSelectedAirportAvailable = true;
        }
      }
    }

    stp = arrFabFlight.length;
    var strFlightResult = '';
    strFlightResult = strFlightResult + '<table cellpadding="0" cellspacing="0" border="0">';
    strFlightResult = strFlightResult + '<tr>';
    strFlightResult = strFlightResult + '<td ><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="40px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="75px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="4px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="86px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="66px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="45px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="4px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="80px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="66px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="45px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="4px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="94px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="68px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="4px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="70px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '<td><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="21px" height="1" border="0" style="border-top-width:1px;border-top-color:White;" alt="" /></td>';
    strFlightResult = strFlightResult + '</tr>';
    for (var ctr = 0; ctr < stp; ctr++) {

      if (ctr == 0) {
        DepartureAirport = arrFabFlight[ctr][1];
      }
      else {
        if (DepartureAirport.match(arrFabFlight[ctr][1])) {
          DepartureAirport = DepartureAirport;
        }
        else {
          DepartureAirport = DepartureAirport + " , " + arrFabFlight[ctr][1];
        }

      }
      if (isSelectedAirportAvailable == false) {
        if (arrFabFlight[ctr][1] == selectedAirport) {
          isSelectedAirportAvailable = true;
        }
      }
      if ((departureAirportFilterRequired == false) && (destinationAirportFilterRequired == false)) {
        strFlightResult = strFlightResult + ShowFabFlightsResultRow(ctr, selectedItineraryId);
        isAtleastOneRowShown = true;
      }
      else {
        if (destinationAirportFilterRequired == false) {
          if (arrFabFlight[ctr][1].toLowerCase() == SelectedFilterAirport.toLowerCase()) {
            strFlightResult = strFlightResult + ShowFabFlightsResultRow(ctr, selectedItineraryId);
            isAtleastOneRowShown = true;
          }
        }
        else if (departureAirportFilterRequired == false) {
          if (arrFabFlight[ctr][2].toLowerCase() == DestinationFilterAirport.toLowerCase()) {
            strFlightResult = strFlightResult + ShowFabFlightsResultRow(ctr, selectedItineraryId);
            isAtleastOneRowShown = true;
          }
        }
        else {
          if ((arrFabFlight[ctr][2].toLowerCase() == DestinationFilterAirport.toLowerCase()) && (arrFabFlight[ctr][1].toLowerCase() == SelectedFilterAirport.toLowerCase())) {
            strFlightResult = strFlightResult + ShowFabFlightsResultRow(ctr, selectedItineraryId);
            isAtleastOneRowShown = true;
          }
        }
      }
    }

    if (isAtleastOneRowShown == false) {
      if (SelectedFilterAirport.toLowerCase() != 'all') {
        strFlightResult = strFlightResult + '<tr><td class="ButtonLables" align="center" valign="middle" width="100%" colspan="14"><br /><br /><br />There are no flights found from the ' + GetAirportNameFromCode(SelectedFilterAirport) + ' airport to ' + GetAirportNameFromCode(DestinationFilterAirport) + ' airport. Please select an alternative airport.</td></tr>';
      }
      else {
        noFlightFoundMsg = 'There are no flights found from the ' + GetAirportNameFromCode(selectedAirport) + ' airport. Please click on "Amend" button against flight ' + (ctrFlight + 1) + ' and select an alternative airport.';
        strFlightResult = strFlightResult + '<tr><td class="ButtonLables" align="center" valign="middle" width="100%" colspan="14"><br /><br /><br />' + noFlightFoundMsg + '</td></tr>';
        noFlightFound = true;
      }
    }
    strFlightResult = strFlightResult + '</table>';

    var divFabFlightResultContainer = document.getElementById("divFabFlightResultContainer");
    var divFabFlightResult = document.getElementById("divFabFlightResult");

    divFabFlightResult.innerHTML = strFlightResult;
    divFabFlightResult.onmousemove = getMouseXY;

    divFabFlightResultContainer.style.visibility = 'visible';
    divFabFlightResultContainer.style.display = 'block';

    if (isSelectedAirportAvailable == false) {
      if (stp > 0) {
        trDifferentAirportDetails = document.getElementById("trDifferentAirportDetails");
        trDifferentAirportDetails.style.visibility = 'visible';
        trDifferentAirportDetails.style.display = '';
        trDifferentAirportDetails.innerHTML = trDifferentAirportDetails.innerHTML.replace("depairport", GetAirportNameFromCode(selectedAirport));
        trDifferentAirportDetails.innerHTML = trDifferentAirportDetails.innerHTML.replace("destairport", GetAirportNameFromCode(arrFabFlight[0][2]));
        trDifferentAirportDetails.innerHTML = trDifferentAirportDetails.innerHTML.replace("altAirport", GetAirportNameFromCode(arrFabFlight[0][1]));
      }
    }

    var strSortType = forms.ctl00_ContentPlaceHolder1_cmbSortBy.options[forms.ctl00_ContentPlaceHolder1_cmbSortBy.selectedIndex].value;
    if (intFlightSelected == 0 && strSortType == "bestflight") {
      document.getElementById("resultTr0").className = 'FlightGridRowsSelected';
      document.getElementById("resultTr0").style.color = gSTR_VB_BLUE;
      document.getElementById("flight0").checked = "checked";
      SelectedBestFlightIternityId = arrFabFlight[0][0];

    }
    document.getElementById('flight' + RowToBeFocused).focus();
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in CreateFabFlightsResult() : " + e);
    }
  }
}
function SortByDriveTimeToResort(a, b) {
  if (parseInt(a[20]) > parseInt(b[20])) {
    return 1;
  }
  else {
    return -1;
  }
  return 0;
}

function SortByDepartureTimeDestination(a, b) {
  var TimeOfA = a[16].replace(":", "");
  var TimeOfB = b[16].replace(":", "");
  if (parseFloat(TimeOfA) > parseFloat(TimeOfB)) {
    return 1;
  }
  else {
    return -1;
  }
  return 0;
}

function SortByDestinationAirport(a, b) {
  if (a[2] > b[2]) {
    return 1;
  }
  else {
    return -1;
  }
  return 0;
}

function SortByDepartureTimeUK(a, b) {
  var TimeOfA = a[11].replace(":", "");
  var TimeOfB = b[11].replace(":", "");
  if (parseFloat(TimeOfA) > parseFloat(TimeOfB)) {
    return 1;
  }
  else {
    return -1;
  }
  return 0;
}

function SortByDepartureAirport(a, b) {
  if (a[1] > b[1]) {
    return 1;
  }
  else {
    return -1;
  }
  return 0;
}

function SortByBestFlight(a, b) {
  if (parseInt(a[31]) > parseInt(b[31])) {
    return 1;
  }
  else {
    return -1;
  }
  return 0;
}
function SortByPrice(a, b) {
  if (parseInt(a[6].replace('£', '')) > parseInt(b[6].replace('£', ''))) {
    return 1;
  }
  else {
    return -1;
  }
  return 0;
}

function SortByFlightType(a, b) {
  if (a[9].toLowerCase() > b[9].toLowerCase()) {
    return 1;
  }
  else {
    return -1;
  }
  return 0;
}
//Shows single flight returned by FAB when user clicks on Amend Flight 
function ShowFabFlightsResultRow(ctr, selectedItineraryId) {

  try {
    var strFlightResult = '';
    var showHorizontolLine = false;
    if (selectedItineraryId == '-' || selectedItineraryId == '') {
      if (ctr == 0) {
        strFlightResult = strFlightResult + '<tr id="resultTr' + ctr + '" class="FlightGridRowsSelected" style="color:' + gSTR_VB_BLUE + '">';
        strFlightResult = strFlightResult + '<td style="height:30px; vertical-align:top;" align="left">';
        strFlightResult = strFlightResult + '<input id="flight' + ctr + '" checked=checked onclick="javascript:SelectFlight(' + ctr + ',this,true);" type="checkbox" /></td>';
        showHorizontolLine = true;
        RowToBeFocused = ctr;
      }
      else {

        strFlightResult = strFlightResult + '<tr id="resultTr' + ctr + '" class="FlightGridRows">';
        strFlightResult = strFlightResult + '<td align="left" style="height:30px; vertical-align:top;">';
        strFlightResult = strFlightResult + '<input id="flight' + ctr + '" onclick="javascript:SelectFlight(' + ctr + ',this,true);" type="checkbox"  /></td>';
      }
    }
    else {
      if (SelectedBestFlightIternityId == arrFabFlight[ctr][0]) {
        intFlightSelected = 1;
        strFlightResult = strFlightResult + '<tr id="resultTr' + ctr + '" class="FlightGridRowsSelected" style="color:' + gSTR_VB_BLUE + '">';
        strFlightResult = strFlightResult + '<td align="left" style="height:30px;">';
        strFlightResult = strFlightResult + '<input id="flight' + ctr + '" checked=checked onclick="javascript:SelectFlight(' + ctr + ',this,true);" type="checkbox" /></td>';
        RowToBeFocused = ctr;

      }
      else {
        strFlightResult = strFlightResult + '<tr id="resultTr' + ctr + '" class="FlightGridRows">';
        strFlightResult = strFlightResult + '<td align="left" style="height:30px; vertical-align:top;">';
        strFlightResult = strFlightResult + '<input id="flight' + ctr + '" onclick="javascript:SelectFlight(' + ctr + ',this,true);" type="checkbox"  /></td>';
      }
      if (ctr == 0) {
        showHorizontolLine = true;
      }
    }

        strFlightResult = strFlightResult + '<td ><table cellpadding="0" cellspacing="0" border="0"><tr><td>' + arrFabFlight[ctr][35] + '</td></tr><tr><td>';
        if (arrFabFlight[ctr][9] == "NoFrills")
        {
            strFlightResult =  strFlightResult + arrFabFlight[ctr][9] + '&nbsp;<img src="'+ gSTR_IMG_PATH +'buttons/helpON.gif" id="frillTypeHelp'+ctr+'" alt="Information" title="Information" onmouseover=js_controller_Button("frillTypeHelp","mouseover",'+ctr+'); onmouseout=js_controller_Button("frillTypeHelp","mouseout",'+ctr+'); style="cursor:pointer;" />';

    }
        else if(arrFabFlight[ctr][9] == "Chartered")
        {
            strFlightResult =  strFlightResult + arrFabFlight[ctr][9] +'&nbsp;<img src="'+ gSTR_IMG_PATH +'buttons/helpON.gif" id="CharteredTypeHelp'+ctr+'" alt="Information" title="Information" onmouseover=js_controller_Button("CharteredTypeHelp","mouseover",'+ctr+'); onmouseout=js_controller_Button("CharteredTypeHelp","mouseout",'+ctr+'); style="cursor:pointer;" />';
        }
        else
        {
            strFlightResult =  strFlightResult + '&nbsp;&nbsp;&nbsp;-';
        }
        strFlightResult = strFlightResult + '</td></tr></table></td>';

    strFlightResult = strFlightResult + '<td class="verticalBorder"></td>';
    strFlightResult = strFlightResult + '<td width="86px">' + GetAirportNameFromCode(arrFabFlight[ctr][1]) + '</td>';
    strFlightResult = strFlightResult + '<td>' + arrFabFlight[ctr][11] + '</td>';
    strFlightResult = strFlightResult + '<td>' + arrFabFlight[ctr][13] + '</td>';
    strFlightResult = strFlightResult + '<td class="verticalBorder"></td>';
    strFlightResult = strFlightResult + '<td>' + GetAirportNameFromCode(arrFabFlight[ctr][2]) + '</td>';
    strFlightResult = strFlightResult + '<td>' + arrFabFlight[ctr][16] + '</td>';
    strFlightResult = strFlightResult + '<td>' + arrFabFlight[ctr][18] + '</td>';
    strFlightResult = strFlightResult + '<td class="verticalBorder"></td>';

    strFlightResult = strFlightResult + '<td>';
    strFlightResult = strFlightResult + '<table width="100%" cellpadding="0" cellspacing="0" border="0">';
    strFlightResult = strFlightResult + '<tr><td width="25px">Adult-</td>';
    strFlightResult = strFlightResult + '<td align="right" width="8px">' + arrFabFlight[ctr][3] + '</td>';
    strFlightResult = strFlightResult + '<td align="right" width="47px">' + arrFabFlight[ctr][7] + '</td>';
    strFlightResult = strFlightResult + '</tr>';
    if (arrFabFlight[ctr][8] != '- ') {
      strFlightResult = strFlightResult + '<tr><td width="25px">Child-</td>';
      strFlightResult = strFlightResult + '<td align="right" width="8px">' + arrFabFlight[ctr][4] + '</td>';
      strFlightResult = strFlightResult + '<td align="right" width="47px">' + arrFabFlight[ctr][8] + '</td></tr>';
    }
    strFlightResult = strFlightResult + '</table></td>';
    strFlightResult = strFlightResult + '<td align="right">';
    strFlightResult = strFlightResult + '<table width="100%" cellpadding="0" cellspacing="0" border="0">';
    strFlightResult = strFlightResult + '<tr><td width="14px"></td>';
    strFlightResult = strFlightResult + '<td width="48px" align="right">' + arrFabFlight[ctr][6] + '</td>';
    strFlightResult = strFlightResult + '<td width="6px"></td></tr></table>';
    strFlightResult = strFlightResult + '</td>';

    strFlightResult = strFlightResult + '<td align="right"></td>';

    var resortDriveTime = arrFabFlight[ctr][20];
    var resortDriveHrTime;
    var resortDriveTimeTextToShow = "";
    try {
      if (resortDriveTime != "") {
        resortDriveHrTime = resortDriveTime.split(":");
        if (resortDriveHrTime.length > 1) {
          if (resortDriveHrTime[0] != "00") {
            resortDriveTimeTextToShow = parseInt(resortDriveHrTime[0]) + " hr";
          }
        }

        if (resortDriveHrTime[1] != "00") {
          resortDriveTimeTextToShow = resortDriveTimeTextToShow + " " + parseInt(resortDriveHrTime[1]) + " Min";
        }
      }
    }
    catch (e) {
    }

    strFlightResult = strFlightResult + '<td align="right">' + resortDriveTimeTextToShow + '</td>';
    strFlightResult = strFlightResult + '<td align="right"></td>';

    strFlightResult = strFlightResult + '</tr>';
    var forms = document.forms[0];
    if (forms.ctl00_ContentPlaceHolder1_cmbSortBy.options[forms.ctl00_ContentPlaceHolder1_cmbSortBy.selectedIndex].value == "bestflight") {
      if (showHorizontolLine == true) {
        strFlightResult = strFlightResult + '<tr><td colspan="17"  class="horizontalBorder"><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="1" height="1" border="0" alt="" /></td></tr>';
      }
    }

    return strFlightResult;

  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in ShowFabFlightsResultRow() : " + e);
    }
  }
}

//To Get the Airport name from airport code to display at various places
function GetAirportNameFromCode(airportCode) {
  try {
    var stp = arrAirport.length;
    var ctr = 0;
    //Check in UK aiports
    for (ctr = 0; ctr < stp; ctr++) {
      if (arrAirport[ctr][0] == airportCode) {
        return arrAirport[ctr][1];
      }
    }

    //Check in Destination aiports
    stp = arrDestinationAirport.length;
    for (ctr = 0; ctr < stp; ctr++) {
      if (arrDestinationAirport[ctr][0] == airportCode) {
        return arrDestinationAirport[ctr][1];
      }
    }

    return "-";
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in GetAirportNameFromCode() : " + e);
    }
    return "-";
  }
}
//Shows all the already selected flight from database on amendpax.aspx 
function ShowSelectedFlight() {
  try {
    var stp = arrSelectedFlights.length;
    var strFlightResult = '';

    var shownFlight = '';

    strFlightResult = strFlightResult + '<table cellpadding="0" cellspacing="0" border="0">';
    for (var ctr = 0; ctr < stp; ctr++) {

      if (changedFlights.indexOf(arrSelectedFlights[ctr][2]) > 0) {
        strFlightResult = strFlightResult + '<tr><td style="height:2px;" colspan="14"></td></tr>';
        strFlightResult = strFlightResult + '<tr><td class="FlightGridRows" colspan="14"><font color="red">Please note that flight ' + (ctr + 1) + ', earlier selected by you is no longer available for the current party size, However we have choosen alternate best flight for you.</font></td></tr>';
      }

      strFlightResult = strFlightResult + '<tr>';
      strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:60px;height:40px;">Flight ' + (ctr + 1) + '</td>';
      shownFlight = shownFlight + 'flight' + (ctr + 1);

                    //Display Supplier name and flightType
                    if (arrSelectedFlights[ctr][34] != '') {
                        strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:70px;">' + arrSelectedFlights[ctr][34] + '<br />' + arrSelectedFlights[ctr][12] + '</td>';
                    }
                    else {
      strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:70px;">' + arrSelectedFlights[ctr][12] + '</td>';
                    }    
                    
      strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:70px;"><table cellpadding="0" cellspacing="0" border="0">';

      if (parseInt(arrSelectedFlights[ctr][6]) == 1) {
        strFlightResult = strFlightResult + '<tr><td class="FlightGridRows" style="width:50px;">Adult &nbsp;&nbsp;&nbsp;&nbsp; </td><td class="FlightGridRows">' + arrSelectedFlights[ctr][6] + '</td></tr>';
      }
      else {
        strFlightResult = strFlightResult + '<tr><td class="FlightGridRows" style="width:50px;">Adults &nbsp;&nbsp;&nbsp;&nbsp; </td><td class="FlightGridRows">' + arrSelectedFlights[ctr][6] + '</td></tr>';
      }
      if (arrSelectedFlights[ctr][7] != '0') {
        if (parseInt(arrSelectedFlights[ctr][7]) == 1) {
          strFlightResult = strFlightResult + '<tr><td class="FlightGridRows" style="width:50px;">Child &nbsp;</td><td class="FlightGridRows">' + arrSelectedFlights[ctr][7] + '</td></tr>';
        }
        else {
          strFlightResult = strFlightResult + '<tr><td class="FlightGridRows" style="width:50px;">Children &nbsp;</td><td class="FlightGridRows">' + arrSelectedFlights[ctr][7] + '</td></tr>';
        }
      }
      if (arrSelectedFlights[ctr][8] != '0') {
        if (parseInt(arrSelectedFlights[ctr][8]) == 1) {
          strFlightResult = strFlightResult + '<tr><td class="FlightGridRows" style="width:50px;">Infant &nbsp;</td><td class="FlightGridRows">' + arrSelectedFlights[ctr][8] + '</td></tr>';
        }
        else {
          strFlightResult = strFlightResult + '<tr><td class="FlightGridRows" style="width:50px;">Infants &nbsp;</td><td class="FlightGridRows">' + arrSelectedFlights[ctr][8] + '</td></tr>';
        }
      }
      strFlightResult = strFlightResult + '</table></td>';
      strFlightResult = strFlightResult + '<td class="verticalBorder" style="width:5px;"></td>';
      strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:110px;">' + GetAirportNameFromCode(arrSelectedFlights[ctr][4]) + '</td>';
      if (arrSelectedFlights[ctr][14] != "00:00") {
        strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:68px;">' + arrSelectedFlights[ctr][14] + '</td>';
      }
      else {
        strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:68px;">-</td>';
      }

      if (arrSelectedFlights[ctr][16] != "00:00") {
        strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:56px;">' + arrSelectedFlights[ctr][16] + '</td>';
      }
      else {
        strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:56px;">-</td>';
      }
      strFlightResult = strFlightResult + '<td class="verticalBorder" style="width:5px;"></td>';
      strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:100px;">' + GetAirportNameFromCode(arrSelectedFlights[ctr][5]) + '</td>';
      if (arrSelectedFlights[ctr][19] != "00:00") {
        strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:68px;">' + arrSelectedFlights[ctr][19] + '</td>';
      }
      else {
        strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:68px;">-</td>';
      }

      if (arrSelectedFlights[ctr][21] != "00:00") {
        strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:56px;">' + arrSelectedFlights[ctr][21] + '</td>';
      }
      else {
        strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:56px;">-</td>';
      }
      strFlightResult = strFlightResult + '<td class="verticalBorder" style="width:5px;"></td>';
      strFlightResult = strFlightResult + '<td class="FlightGridRows" style="width:25px;" align="right"></td>';
      strFlightResult = strFlightResult + '<td style="width:107px;" align="left"><img src="' + gSTR_IMG_PATH + 'buttons/amendOvalOFF.gif" id="amendflightoff_' + ctr + '" name="amendflightoff_' + ctr + '" alt="Amend this flight" title="Amend this flight" onmouseover=js_controller_Button("amendflight","mouseover",' + ctr + ');  onclick=js_controller_Button("amendflight","click",' + ctr + ') style="cursor:pointer;display: block; visibility: visible;" />';
      strFlightResult = strFlightResult + '<img src="' + gSTR_IMG_PATH + 'buttons/amendOvalOn.gif" id="amendflighton_' + ctr + '"  name="amendflighton_' + ctr + '" alt="Amend this flight" title="Amend this flight" onmouseout=js_controller_Button("amendflight","mouseout",' + ctr + ');  onclick=js_controller_Button("amendflight","click",' + ctr + ') style="cursor:pointer;display: none; visibility: hidden;" /></td>';

      strFlightResult = strFlightResult + '</tr>';
      strFlightResult = strFlightResult + '<tr><td colspan="14"  class="horizontalBorder"><img src="' + gSTR_COMMON_IMG_PATH + 'spacer.gif" width="1" height="1" border="0" alt="" /></td></tr>';

      selectedAdults = selectedAdults + parseInt(arrSelectedFlights[ctr][6]);
      selectedChild = selectedChild + parseInt(arrSelectedFlights[ctr][7]);
      selectedInfant = selectedInfant + parseInt(arrSelectedFlights[ctr][8]);

    }

    strFlightResult = strFlightResult + '</table>';
    var divSelectedFlight = document.getElementById("divSelectedFlight");
    divSelectedFlight.innerHTML = strFlightResult;

  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in ShowSelectedFlight() : " + e);
    }
  }
}
//When user clicks on a perticular flight from the flights returned by FAB, 
//This function does i.e. change the font of the row which is selected. Show message if any
function SelectFlight(ctr, element) {
  try {
    var selectedTr = document.getElementById("resultTr" + ctr);
    if (element.checked == true) {
      var stp = arrFabFlight.length;
      for (var ctrTemp = 0; ctrTemp < stp; ctrTemp++) {
        var objInput = document.getElementById('flight' + ctrTemp);
        if (objInput != null) {
          if (objInput.id != element.id) {
            if (objInput.checked == true) {
              objInput.checked = false;
              var unSelectedTr = document.getElementById("resultTr" + ctrTemp);
              document.getElementById("resultTr" + ctrTemp).className = 'FlightGridRows';
              document.getElementById("resultTr" + ctrTemp).style.color = '#6B6B6B';
            }
          }
        }
      }

      document.getElementById("resultTr" + ctr).className = 'FlightGridRowsSelected';
      document.getElementById("resultTr" + ctr).style.color = gSTR_VB_BLUE;

      var objAnchor = getAnchorPosition("anchorToshowCarDurationMsg");
      objAnchor.y = 350 + 125;

      if (element.checked == true) {
        if (parseInt(duration) != parseInt(arrFabFlight[ctr][21])) {
          showAlert("Car hire", "By choosing this flight option, your car hire duration will increase by one day to reflect the arrival and departure times", "OK", 250, 125, objAnchor, null, 'left');
        }
      }
    }
    else {
      document.getElementById("resultTr" + ctr).className = 'FlightGridRows';
      document.getElementById("resultTr" + ctr).style.color = '#6B6B6B';
    }
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in SelectFlight() : " + e);
    }
  }
}

//shows the passanger details div tag where user can asign passanger to a flight
function ShowPassangerInputDiv() {
  try {
    var divPassangerInput = document.getElementById("divPassangerDetails");
    divPassangerInput.style.display = 'block';
    divPassangerInput.style.visibility = 'visible';
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in ShowPassangerInputDiv() : " + e);
    }
  }
}

//Hide the passanger details div tag
function HidePassangerInputDiv() {
  try {
    var divPassangerInput = document.getElementById("divPassangerDetails");
    divPassangerInput.style.display = 'none';
    divPassangerInput.style.visibility = 'hidden';
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in HidePassangerInputDiv() : " + e);
    }
  }
}

//Function to check if age group changed w.r.t. insurance validations 
function CheckIfAgeGroupChanged(SelPaxPos) {
  try {
    var forms = document.forms[0];
    var PrevselectedAgeGrp = arrPaxDetails[SelPaxPos][4];
    var selectedAgeGrp = eval("forms.ageGroupOfPax" + SelPaxPos + ".options[forms.ageGroupOfPax" + SelPaxPos + ".selectedIndex].value");

    if (arrPaxDetails[SelPaxPos][6] != "N") {
      if (selectedAgeGrp != PrevselectedAgeGrp) {
        isAgeGroupChanged = true;
      }
      if (selectedAgeGrp == "18-25" || selectedAgeGrp == "26-64") {
        if (PrevselectedAgeGrp == "18-25" || PrevselectedAgeGrp == "26-64") {
          isAgeGroupChanged = false;
        }
      }

    }
  }
  catch (e) {
    if (isDebugMode == true) {
      alert("Error Occured in CheckIfAgeGroupChanged() : " + e);
    }
  }
}

//Objective of this method is to do not allow users to select flight(s) when infants are greater than adults.
function ValidateInfant() {
  try {
    var forms = document.forms[0];
    var fligh1TotalAdults = 0;
    var fligh2TotalAdults = 0;
    var fligh3TotalAdults = 0;
    var fligh1TotalInfants = 0;
    var fligh2TotalInfants = 0;
    var fligh3TotalInfants = 0;
    var objAnchor = null;
    var validInfants = true;
    var totalPassangers = parseInt(totalAdults) + parseInt(totalChild) + parseInt(totalInfants);

    for (var i = 0; i < totalPassangers; i++) {
      var ageGrp = eval("forms.ageGroupOfPax" + i + ".options[forms.ageGroupOfPax" + i + ".selectedIndex].value");
      if ((ageGrp == "12-17" || ageGrp == "18-25" || ageGrp == "26-64" || ageGrp == "65+") && eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value") == "flight1") {
        fligh1TotalAdults = fligh1TotalAdults + 1;
      }
      if ((ageGrp == "12-17" || ageGrp == "18-25" || ageGrp == "26-64" || ageGrp == "65+") && eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value") == "flight2") {
        fligh2TotalAdults = fligh2TotalAdults + 1;
      }
      if ((ageGrp == "12-17" || ageGrp == "18-25" || ageGrp == "26-64" || ageGrp == "65+") && eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value") == "flight3") {
        fligh3TotalAdults = fligh3TotalAdults + 1;
      }

      if (ageGrp == "0-2" && eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value") == "flight1") {
        fligh1TotalInfants = fligh1TotalInfants + 1;
      }
      if (ageGrp == "0-2" && eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value") == "flight2") {
        fligh2TotalInfants = fligh2TotalInfants + 1;
      }
      if (ageGrp == "0-2" && eval("forms.flightOfPax" + i + ".options[forms.flightOfPax" + i + ".selectedIndex].value") == "flight3") {
        fligh3TotalInfants = fligh3TotalInfants + 1;
      }
    }
    if (fligh1TotalInfants > fligh1TotalAdults) {
      objAnchor = getAnchorPosition('btnNext');
      showAlert("Flight Selection", "Flight1 : Number of infants can not be more than the number of adults travelling.", "OK", 300, 92, objAnchor, null, "righttop");
      validInfants = false;
    }
    if (fligh2TotalInfants > fligh2TotalAdults) {
      objAnchor = getAnchorPosition('btnNext');
      showAlert("Flight Selection", "Flight2 : Number of infants can not be more than the number of adults travelling.", "OK", 300, 92, objAnchor, null, "righttop");
      validInfants = false;
    }

    if (fligh3TotalInfants > fligh3TotalAdults) {
      objAnchor = getAnchorPosition('btnNext');
      showAlert("Flight Selection", "Flight3 : Number of infants can not be more than the number of adults travelling.", "OK", 300, 92, objAnchor, null, "righttop");
      validInfants = false;
    }
    return validInfants;
  }
  catch (ex) {
  }
}

