// 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; } } }