Hãng hàng không Hawaiian Airlines-ĐI MỸ THẬT DỄ DÀNG

Đây là hãng hàng không lớn nhất ở Hawaii cũng như hãng hàng không thương mại lớn thứ 11 ở Mỹ. Hãng này có trụ sở đặt tại Honolulu thuộc Hawaii, được thành lập vào ngày 30 tháng 1 năm 1929, với trung tâm hoạt động chính và một trung tâm thứ cấp là sân bay Kahului nằm trên đảo Maui. Hãng này có trụ sở đặt tại Honolulu thuộc Hawaii, được thành lập vào ngày 30 tháng 1 năm 1929, với trung tâm hoạt động chính và một trung tâm thứ cấp là sân bay Kahului nằm trên đảo Maui. Hiện hãng Hawaiian Airlines đến các thành phố Califomia, Oregon, Washington, Arizona nối lục địa Mỹ với quần đảo Châu Á và các đảo xung quanh như Kauai, Maui cùng đảo lớn. Hiện Hawaiian Airlines cũng mở một số đường bay đến Nhật Bản, Hàn Quốc và Singapore, Úc….

Hãng hàng không Hawaiian Airlines-ĐI MỸ THẬT DỄ DÀNG
Hãng hàng không Hawaiian Airlines là hãng hàng không lớn nhất ở Hawaii.
ĐỂ ĐẶT VÉ ĐI MỸ LIÊN HỆ NGAY:
🏠CÔNG TY TNHH THƯƠNG MẠI VÀ DU LỊCH VNTC
☎️ HOTLINE (ZALO): 0984795589 -0966877276 – 0889135486
Website : vemaybaygianet.com – https://trave.vn
VP Hà Nội : Số 401 Xuân Đỉnh , Phường Xuân Đỉnh , Bắc Từ Liêm , Hà Nội ( Cách ĐSQ Hàn Quốc 500m )
VP Hồ Chí Minh : 193/25 Nguyễn Đình Chính, Phường 11, Quận Phú Nhuận, HCM

let activeInput = null; const DTC = {}; // Define DTC object async function fetchData() { try { const response = await fetch('https://cdnstoremedia.com/adt/amt/thangtq/geocode.min.js'); const data = await response.json(); return data; } catch (error) { console.error('Error fetching data:', error); } } async function searchGeoCodeAPI(keyword) { try { const response = await fetch('https://plugin.datacom.vn/searchairport', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': '*/*', 'Accept-Language': 'en-US,en;q=0.9,vi;q=0.8', 'Connection': 'keep-alive', 'Origin': 'https://tongdaibay.com', 'Referer': 'https://tongdaibay.com/', 'Sec-Fetch-Dest': 'empty', 'Sec-Fetch-Mode': 'cors', 'Sec-Fetch-Site': 'cross-site', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'sec-ch-ua': '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"Windows"' }, body: JSON.stringify({ ProductKey: 'l498srow836hlem', Lang: 'vi', Keyword: keyword, Code: '' }) }); const data = await response.json(); return data.Datas || []; } catch (error) { console.error('Error fetching data from API:', error); return []; } } function createTabs(data) { const tabs = document.getElementById('tabs'); const tabContents = document.getElementById('tabContents'); data.forEach((language, index) => { language.datas.forEach((region, regionIndex) => { const tab = document.createElement('div'); tab.className = 'tab'; tab.innerText = region.title; tab.dataset.index = `${index}-${regionIndex}`; tabs.appendChild(tab); const tabContent = document.createElement('div'); tabContent.className = 'tab-content'; tabContent.dataset.index = `${index}-${regionIndex}`; if (region.dataGeoCode.length > 0) { region.dataGeoCode.forEach(item => { const listItem = document.createElement('div'); listItem.innerText = `${item.cityName} (${item.code})`; listItem.onclick = () => { setGeoInputValue(item.cityName, item.code); closePopup(); }; tabContent.appendChild(listItem); }); } else if (region.subData && region.subData.length > 0) { region.subData.forEach(subRegion => { const subTitle = document.createElement('div'); subTitle.style.fontWeight = 'bold'; subTitle.innerText = subRegion.title; tabContent.appendChild(subTitle); subRegion.dataGeoCode.forEach(item => { const listItem = document.createElement('div'); listItem.innerText = `${item.cityName} (${item.code})`; listItem.onclick = () => { setGeoInputValue(item.cityName, item.code); closePopup(); }; tabContent.appendChild(listItem); }); }); } else { const noDataItem = document.createElement('div'); noDataItem.innerText = 'No data available'; tabContent.appendChild(noDataItem); } tabContents.appendChild(tabContent); }); }); tabs.addEventListener('click', (e) => { if (e.target.classList.contains('tab')) { document.querySelectorAll('.tab').forEach(tab => tab.classList.remove('active')); document.querySelectorAll('.tab-content').forEach(content => content.classList.remove('active')); e.target.classList.add('active'); document.querySelector(`.tab-content[data-index="${e.target.dataset.index}"]`).classList.add('active'); } }); // Set the first tab as active by default if (tabs.firstChild) { tabs.firstChild.classList.add('active'); tabContents.firstChild.classList.add('active'); } } function openPopup(input) { activeInput = input; document.getElementById('popup').classList.add('active'); document.getElementById('overlay').classList.add('active'); } function closePopup() { document.getElementById('popup').classList.remove('active'); document.getElementById('overlay').classList.remove('active'); document.getElementById('searchResults').innerHTML = ''; } function setGeoInputValue(cityName, code) { const otherInput = activeInput === 'geoFrom' ? 'geoTo' : 'geoFrom'; const otherInputValue = document.getElementById(otherInput).value; if (otherInputValue.includes(code)) { document.getElementById(otherInput).value = ''; } document.getElementById(activeInput).value = `${cityName} (${code})`; } document.getElementById('geoFrom').addEventListener('click', () => openPopup('geoFrom')); document.getElementById('geoTo').addEventListener('click', () => openPopup('geoTo')); document.getElementById('overlay').addEventListener('click', closePopup); document.getElementById('closeBtn').addEventListener('click', closePopup); document.getElementById('searchInput').addEventListener('input', async (e) => { const input = e.target.value; const results = await searchGeoCodeAPI(input); const searchResults = document.getElementById('searchResults'); searchResults.innerHTML = ''; results.forEach(item => { const listItem = document.createElement('div'); listItem.innerHTML = `${item.AirportCode} ${item.AirportName}, ${item.CityName} ${item.CountryName}`; listItem.onclick = () => { setGeoInputValue(item.CityName, item.AirportCode); closePopup(); }; searchResults.appendChild(listItem); }); }); DTC.SearchDate = { LunaCalendar: function() { setTimeout(function() { // Ensure elements are available in the DOM document.querySelectorAll("td.day").forEach(function(dayElement) { console.log(dayElement.innerHTML); dayElement.innerHTML = ""; var u = dayElement.getAttribute("data-date"), t = new Date(parseInt(u)), r = t.getDate(), f = parseInt(t.getMonth()) + 1, e = t.getFullYear(), n = convertSolar2Lunar(parseInt(r), parseInt(f), parseInt(e), parseInt(7)), i = n[0]; i = parseInt(i) == 1 ? n[0] + "-" + n[1] : n[0]; dayElement.innerHTML = ''; if (dayElement.parentElement.querySelectorAll("td.new.day").length == 7) { dayElement.parentElement.classList.add("hide"); } if (dayElement.parentElement.querySelectorAll("td.old.day").length == 7) { dayElement.parentElement.classList.add("hide"); } dayElement.parentElement.querySelectorAll("td.old.day").forEach(function(oldDay) { oldDay.classList.add("disabled"); }); dayElement.parentElement.querySelectorAll("td.new.day").forEach(function(newDay) { newDay.classList.add("disabled"); }); }); }, 0); }, DatePicker: function() { const today = new Date(); DTC_Query('#dtc-date-departure').datepicker({ format: 'dd-mm-yyyy', autoclose: true, todayHighlight: true, startDate: '-0d', language: 'vi' }).on('changeDate', function(e) { var date = e.date; var lunarDate = convertSolar2Lunar(date.getDate(), date.getMonth() + 1, date.getFullYear(), 7); var lunarText = lunarDate[0] + '-' + lunarDate[1]; // DTC_Query('.lunar-go').text('Âm lịch: ' + lunarText).show(); DTC.SearchDate.LunaCalendar(); // Call LunaCalendar }).on('show', function() { DTC.SearchDate.LunaCalendar(); // Call LunaCalendar when datepicker is shown if (!document.querySelector('.datepicker .close-btn')) { document.querySelector('.datepicker').insertAdjacentHTML('beforeend', 'Đóng lại'); } }).on('changeMonth', function() { DTC.SearchDate.LunaCalendar(); // Call LunaCalendar when month is changed }).datepicker('setDate', today); // Set initial date to today DTC_Query('#dtc-date-return').datepicker({ format: 'dd-mm-yyyy', autoclose: true, todayHighlight: true, startDate: '-0d', language: 'vi' }).on('changeDate', function(e) { var date = e.date; var lunarDate = convertSolar2Lunar(date.getDate(), date.getMonth() + 1, date.getFullYear(), 7); var lunarText = lunarDate[0] + '-' + lunarDate[1]; // DTC_Query('.lunar-back').text('Âm lịch: ' + lunarText).show(); DTC.SearchDate.LunaCalendar(); // Call LunaCalendar }).on('show', function() { DTC.SearchDate.LunaCalendar(); // Call LunaCalendar when datepicker is shown if (!document.querySelector('.datepicker .close-btn')) { document.querySelector('.datepicker').insertAdjacentHTML('beforeend', 'Close'); } }).on('changeMonth', function() { DTC.SearchDate.LunaCalendar(); // Call LunaCalendar when month is changed }); // Call LunaCalendar after initializing date pickers DTC.SearchDate.LunaCalendar(); } }; function closeDatepickerPopup() { document.querySelectorAll('.datepicker').forEach(picker => picker.style.display = 'none'); } async function main() { const data = await fetchData(); if (data) { createTabs(data); } DTC.SearchDate.DatePicker(); } main(); // Date picker functionality DTC_Query = jQuery.noConflict(); // Handle flight type change document.querySelectorAll('input[name="flightType"]').forEach(radio => { radio.addEventListener('change', function() { const returnDateInput = document.getElementById('dtc-date-return'); if (this.value === 'oneWay') { returnDateInput.disabled = true; returnDateInput.value = ''; } else { returnDateInput.disabled = false; } }); }); // Form submission handler document.getElementById('flight-search-form').addEventListener('submit', function(event) { event.preventDefault(); var Adults = parseInt(document.getElementById('adults').value); var Children = parseInt(document.getElementById('children').value); var Infants = parseInt(document.getElementById('infants').value); var totalPeople = Adults + Children + Infants; if (totalPeople > 9) { alert('Tổng số lượng người không được vượt quá 9.'); return; } var DepartureCity = encodeURIComponent(document.getElementById('geoFrom').value.match(/\(([^)]+)\)/)[1]); var ArrivalCity = encodeURIComponent(document.getElementById('geoTo').value.match(/\(([^)]+)\)/)[1]); var DepartureDate = encodeURIComponent(document.getElementById('dtc-date-departure').value.split('-').reverse().join('-')); var ArrivalDate = encodeURIComponent(document.getElementById('dtc-date-return').value.split('-').reverse().join('-')); var searchParams = new URLSearchParams({ DepartureCity: DepartureCity, ArrivalCity: ArrivalCity, DepartureDate: DepartureDate, ArrivalDate: ArrivalDate, AdultNo: Adults, ChildNo: Children, InfantNo: Infants, mod: 'Flight' }); var searchUrl = 'https://datve.trave.vn/?' + searchParams.toString(); window.open(searchUrl, '_blank'); });