// update passenger numbers with pre-selected values

function updatePassengerForm() {
  var numAdults = document.getElementById("numAdults");
  var numChildren = document.getElementById("numChildren");
  var numInfants = document.getElementById("numInfants");
  if (numAdults) numAdults.value = numAdultsSelected;
  if (numChildren) numChildren.value = numChildrenSelected;
  if (numInfants) numInfants.value = numInfantsSelected;
}


// dynamic passenger dropdowns
function updatePassengerNumbers() {
  updateChildNumbers();

  if (calendarPromo == 'true') {
    if (journeyspan == 'OW') {
      getPromoSummaryInfo(selectedOutboundCalendarDay.timeInMillis,selectedInboundCalendarDay);
    }else {
      getPromoSummaryInfo(selectedOutboundCalendarDay.timeInMillis,selectedInboundCalendarDay.timeInMillis);
    }
  }
}

/**
 updateChildNumbers() - 
 ensure: 
  numInfants = numAdults 
  numChildren + numAdults < 8
  max 4 children per adult
 */
function updateChildNumbers() {
  var numAdults = document.getElementById("numAdults");
  var numChildren = document.getElementById("numChildren");
  var numInfants = document.getElementById("numInfants");
  var selectedChildren = numChildren.value;
  if (numAdults.value > 0) {
    // ensure max numInfants = numAdults
    
    if (numAdults.value != numInfants.length - 1) {
	    var maxInfants = (numAdults.value > maxInfantCount ? maxInfantCount : numAdults.value);
      if (numInfants.length > numAdults.value) {
        for (var i = numInfants.length; i > maxInfants; i--) {
          numInfants.options[i] = null;
        }
      } else {
        for (var i = numInfants.length; i <= maxInfants; i++) {
          createOption('numInfants', i, i, i);
        }
      }
    }
    // ensure 4 children per adult at most and max 8 passengers
    var maxChildren = maxPassengerCount - numAdults.value; 
    if (numChildren.length - 1 < maxChildren) {
      for (var i = numChildren.length; i <= maxChildren; i++) {
        createOption('numChildren', i, i, i);
      }
    } else {
      for (var i = numChildren.length; i > maxChildren; i--) {
        numChildren.options[i] = null;
      }
    }
  } else {
    removeOptions(numChildren);
    removeOptions(numInfants);
  }
  
  numAdultsSelected = document.getElementById("numAdults").value;
  numChildrenSelected = document.getElementById("numChildren").value;
  numInfantsSelected = document.getElementById("numInfants").value;
}

// remove all options but the first one
function removeOptions(el) {
  if (el) {
    var numOptions = el.options.length;
    for (var i = numOptions; i > 0; i--) {
      el.options[i] = null;
    }
  }
}

// disableAdults( true | false )  -- disables / enables adult/children/infant dropdown
function disableAdults(disable) {
  disableFormElement("numAdults",disable);
  disableFormElement("numChildren",disable);
  disableFormElement("numInfants",disable);
}

// disableSeniors( true | false ) -- disables / enables senior dropdown
function disableSeniors(disable) {
  disableFormElement("numSeniors",disable);
}

// disableYouths( true | false ) -- disables / enables youth dropdown
function disableYouths(disable) {
  disableFormElement("numYouths",disable);
}
