{# ROOMS #}
<div style="display:none">
<div id="js-room-n1-" class="search-hotel__row-room">
<div class="js-slideContent" style="display: none">
<div class="wrapper-susy">
<div class="search-hotel__col-passenger">
<label class="hide-palm"></label>
<p class="search__option__label no-margin-bottom">Habitación -n1-</p>
</div>
<div class="search-hotel__col-passenger">
<div class="form-group">
<label class="hide-palm"></label>
<div class="input-group">
<select name="parameters[adults]" id="room-n1-Adults" class="text-input input--white select--arrow select--arrow--hide-palm js-searchErrorInput js-changeOption">
{% for i in 1..9 %}
<option value="{{i}}"{% if i == 2 %} selected{% endif %}>{{i}} Adulto{% if i >= 2 %}s{% endif %}</option>
{% endfor %}
</select>
{# Buttons mobile #}
<div class="search__btn-increment input-group-add hide-lap-and-up">
<button class="btn btn--secondary js-prevOption"><span>-</span></button>
<button class="btn btn--secondary js-nextOption"><span>+</span></button>
</div>
</div>
<label id="js-Travellers-n1-Error" class="label--error js-searchError" style="display: none;"></label>
</div>
</div>
{# Desktop #}
<div class="search-hotel__col-passenger">
<div class="form-group">
<label class="hide-palm"></label>
<div class="input-group">
<select name="parameters[children]" id="js-children-n1-" data-parent1="-n1-" class="text-input input--white select--arrow select--arrow--hide-palm js-searchErrorInput js-instanceOption js-changeOption">
<option value="0">Sin Niño</option>
<option value="1">1 Niño</option>
<option value="2">2 Niños</option>
<option value="3">3 Niños</option>
</select>
{# Buttons mobile #}
<div class="search__btn-increment input-group-add hide-lap-and-up">
<button class="btn btn--secondary js-prevOption"><span>-</span></button>
<button class="btn btn--secondary js-nextOption"><span>+</span></button>
</div>
</div>
<label id="js-Children-n1-Error" class="label--error js-searchError" style="display: none;"></label>
<label id="js-Infants-n1-Error" class="label--error js-searchError" style="display: none;"></label>
</div>
</div>
<span id="js-room-n1-child-anchor"></span>
<div style="display:none">
<div id="js-room-n1-child-n2-" class="search-hotel__col-child">
<div class="js-slideContent form-group" style="display: none">
<label for="js-room-n1-child-n2-select" class="label-top overflow-ellipsis">Edad Niño</label>
<select id="js-room-n1-child-n2-select" name="parameters[room-n1-Child-m-Age]" class="text-input input--white select--arrow js-searchErrorInput js-changeOption">
{% for i in 0..11 %}
<option value="{{i}}" {% if i == 6 %}selected="selected"{% endif %}>{{i}}</option>
{% endfor %}
</select>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{# END ROOMS #}
<div class="wrapper-susy">
<div class="search-hotel__col-room form-group">
<span id="js-rooms-anchor"></span>
<p class="search-hotel__instance-creator no-margin-bottom">
<span class="search__option link-span sp-inset--tiny js-createInstance js-createRoom">+ Agregar Habitación</span>
<span class="search__option link-span sp-inset--tiny js-deleteInstance js-deleteRoom is-disabled">- Quitar Habitación</span>
</p>
</div>
<div class="search-hotel__col-submit form-group">
<input type="button" value="Buscar{% if 'aviatur_search_hotels' in app.request.get('_route')%} Hoteles con Pago en Línea{% endif %}" data-type="online" class="search__footer__submit btn btn--full btn--submit {% block package_submit_btn %}js-searchButton{% endblock %}">
{% if 'aviatur_search_hotels' in app.request.get('_route') and booking == 'true' %}
{# <input type="button" value="Buscar Hoteles con Pago en Destino" data-type="destination" class="search__footer__submit btn btn--full btn--submit js-searchButton"> #}
{% endif %}
{% block package_flight_options %}{% endblock %}
</div>
</div>
<p id="maxPeopleMessage" class="hidden mt-4 text-red-600 text-sm bg-red-100 border border-red-400 rounded p-2">
Máximo permitido: 9 personas en total.
</p>
<script>
document.addEventListener("DOMContentLoaded", () => {
const MAX_PEOPLE = 11;
const peopleSelects = "select[id*='Adults'], select[id^='js-children']";
const msg = document.getElementById("maxPeopleMessage");
const searchBtn = document.querySelector("input.js-searchButton");
function checkPeople() {
const total = [...document.querySelectorAll(peopleSelects)]
.reduce((sum, select) => sum + (+select.value || 0), 0);
if (total > MAX_PEOPLE) {
msg.classList.remove("hidden");
msg.textContent = `Máximo permitido: 9 personas. Seleccionadas: ${total - 2}`;
searchBtn.disabled = true;
searchBtn.classList.add("opacity-50", "cursor-not-allowed");
} else {
msg.classList.add("hidden");
searchBtn.disabled = false;
searchBtn.classList.remove("opacity-50", "cursor-not-allowed");
}
}
function setupSelects() {
document.querySelectorAll(peopleSelects).forEach(select => {
select.onchange = checkPeople;
});
}
new MutationObserver(setupSelects).observe(
document.querySelector("#js-rooms-anchor").parentElement,
{ childList: true, subtree: true }
);
setupSelects();
checkPeople();
});
</script>