// Base de datos de aeropuertos de Colombia
const colombianAirports = {"BOG":"Bogotá - El Dorado (BOG)","MDE":"Medellín - José María Córdova (MDE)","CLO":"Cali - Alfonso Bonilla Aragón (CLO)","CTG":"Cartagena - Rafael Núñez (CTG)","BAQ":"Barranquilla - Ernesto Cortissoz (BAQ)","BGA":"Bucaramanga - Palonegro (BGA)","SMR":"Santa Marta - Simón Bolívar (SMR)","ADZ":"San Andrés - Gustavo Rojas Pinilla (ADZ)","PEI":"Pereira - Matecaña (PEI)","CUC":"Cúcuta - Camilo Daza (CUC)","LET":"Leticia - Alfredo Vásquez Cobo (LET)","MTR":"Montería - Los Garzones (MTR)","RCH":"Riohacha - Almirante Padilla (RCH)","AXM":"Armenia - El Edén (AXM)","EOH":"Medellín - Enrique Olaya Herrera (EOH)","VVC":"Villavicencio - Vanguardia (VVC)","VUP":"Valledupar - Alfonso López Pumarejo (VUP)","IBE":"Ibagué - Perales (IBE)","NVA":"Neiva - Benito Salas (NVA)","PSO":"Pasto - Antonio Nariño (PSO)","PPN":"Popayán - Guillermo León Valencia (PPN)","FLA":"Florencia - Gustavo Artunduaga (FLA)","MZL":"Manizales - La Nubia (MZL)","EYP":"Yopal - El Alcaraván (EYP)","UIB":"Quibdó - El Caraño (UIB)","AUC":"Arauca - Santiago Pérez Quiroz (AUC)","SJE":"San José del Guaviare - Jorge Enrique González (SJE)","PDA":"Puerto Inírida - César Gaviria Trujillo (PDA)","MVP":"Mitú - Fabio Alberto León Bentley (MVP)","PCR":"Puerto Carreño - Germán Olano (PCR)","APO":"Apartadó\/Carepa - Antonio Roldán Betancourt (APO)","BSC":"Bahía Solano - José Celestino Mutis (BSC)","EJA":"Barrancabermeja - Yariguíes (EJA)","CZU":"Corozal - Las Brujas (CZU)","TCD":"Tarapacá - Capitán Concha Villamil (TCD)","GPI":"Guapí - San Rafael (GPI)","NQU":"Nuquí - Reyes Murillo (NQU)","TRB":"Turbo - Gonzalo Mejía (TRB)","URR":"Urabá\/Necoclí - Golfo de Morrosquillo (URR)","ACR":"Aguachica - Hacaritama (ACR)","TLU":"Tolu - Golfo de Morrosquillo (TLU)","TME":"Tame - La Macarena (TME)","GIR":"Rionegro - José María Córdova (GIR)","LPD":"La Pedrera - Vuelta del Río (LPD)","TIB":"Tibú - Campo Hermoso (TIB)"};
// Función para cargar aeropuertos en los selects
function loadAirportOptions() {
const origenSelect = document.getElementById('origen');
const destinoSelect = document.getElementById('destino');
// Selects del formulario hero
const heroOrigenSelect = document.getElementById('heroOrigen');
const heroDestinoSelect = document.getElementById('heroDestino');
// Cargar en formulario principal
if (origenSelect && destinoSelect) {
// Limpiar opciones existentes (excepto la primera)
origenSelect.innerHTML = '';
destinoSelect.innerHTML = '';
// Agregar todas las opciones
for (const [code, name] of Object.entries(colombianAirports)) {
const origenOption = new Option(name, code);
const destinoOption = new Option(name, code);
origenSelect.appendChild(origenOption);
destinoSelect.appendChild(destinoOption);
}
}
// Cargar en formulario hero
if (heroOrigenSelect && heroDestinoSelect) {
// Limpiar opciones existentes (excepto la primera)
heroOrigenSelect.innerHTML = '';
heroDestinoSelect.innerHTML = '';
// Agregar todas las opciones
for (const [code, name] of Object.entries(colombianAirports)) {
const heroOrigenOption = new Option(name, code);
const heroDestinoOption = new Option(name, code);
heroOrigenSelect.appendChild(heroOrigenOption);
heroDestinoSelect.appendChild(heroDestinoOption);
}
}
console.log('✅ Aeropuertos cargados en formularios:', Object.keys(colombianAirports).length);
}
// Cargar aeropuertos cuando el DOM esté listo
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', loadAirportOptions);
} else {
loadAirportOptions();
}
// Función para actualizar opciones de destino
function updateDestinationOptions() {
const origenSelect = document.getElementById('origen');
const destinoSelect = document.getElementById('destino');
const heroOrigenSelect = document.getElementById('heroOrigen');
const heroDestinoSelect = document.getElementById('heroDestino');
// Actualizar formulario principal
if (origenSelect && destinoSelect) {
const selectedOrigin = origenSelect.value;
// Limpiar destino
destinoSelect.innerHTML = '';
// Agregar todas las opciones excepto el origen seleccionado
for (const [code, name] of Object.entries(colombianAirports)) {
if (code !== selectedOrigin) {
const option = new Option(name, code);
destinoSelect.appendChild(option);
}
}
}
// Actualizar formulario hero
if (heroOrigenSelect && heroDestinoSelect) {
const selectedHeroOrigin = heroOrigenSelect.value;
// Limpiar destino hero
heroDestinoSelect.innerHTML = '';
// Agregar todas las opciones excepto el origen seleccionado
for (const [code, name] of Object.entries(colombianAirports)) {
if (code !== selectedHeroOrigin) {
const option = new Option(name, code);
heroDestinoSelect.appendChild(option);
}
}
}
}
// Función para actualizar opciones de origen
function updateOriginOptions() {
const origenSelect = document.getElementById('origen');
const destinoSelect = document.getElementById('destino');
const heroOrigenSelect = document.getElementById('heroOrigen');
const heroDestinoSelect = document.getElementById('heroDestino');
// Actualizar formulario principal
if (origenSelect && destinoSelect) {
const selectedDestination = destinoSelect.value;
// Guardar origen actual
const currentOrigin = origenSelect.value;
// Limpiar origen
origenSelect.innerHTML = '';
// Agregar todas las opciones excepto el destino seleccionado
for (const [code, name] of Object.entries(colombianAirports)) {
if (code !== selectedDestination) {
const option = new Option(name, code);
origenSelect.appendChild(option);
}
}
// Restaurar origen si sigue siendo válido
if (currentOrigin && currentOrigin !== selectedDestination) {
origenSelect.value = currentOrigin;
}
}
// Actualizar formulario hero
if (heroOrigenSelect && heroDestinoSelect) {
const selectedHeroDestination = heroDestinoSelect.value;
// Guardar origen actual
const currentHeroOrigin = heroOrigenSelect.value;
// Limpiar origen hero
heroOrigenSelect.innerHTML = '';
// Agregar todas las opciones excepto el destino seleccionado
for (const [code, name] of Object.entries(colombianAirports)) {
if (code !== selectedHeroDestination) {
const option = new Option(name, code);
heroOrigenSelect.appendChild(option);
}
}
// Restaurar origen si sigue siendo válido
if (currentHeroOrigin && currentHeroOrigin !== selectedHeroDestination) {
heroOrigenSelect.value = currentHeroOrigin;
}
}
}