/******************************************************************************* ** Author: Peter McCutcheon ** Date Created: 7/22/2016 ** Last Modified: 7/22/2016 ** **------------------------------------------------------------------------------ **Description of Code: ** ** This script implements displaying the code examples. The program adds and ** event listener to a text box. On any change to the textbox an Ajax request ** is sent to the server to retrieve a code/description file that maps three ** character airport codes into a descriptive name. The file is scanned for ** the code that the user entered and then the airport descriptive name ** is displayed. ** ********************************************************************************/ var tBox = document.getElementById("displaycode"); tBox.addEventListener("change", function() { var request = new XMLHttpRequest(); //alert("Ok we triggered the change event."); if (!request) { alert("Error - Ajax object not created, browser may not support Ajax.") } request.onreadystatechange = function() { if (request.readyState == 4) { if (request.status == 200) { if (this.responseText != null) { //alert(request.responseText); var AirPort = ""; var tmpStr = ""; var apcodeUpper = ""; var apInput = document.getElementById("apcode"); tmpStr = apInput.value; apcodeUpper = tmpStr.toUpperCase(); var apDesc = document.getElementById("apdesc"); var results = request.responseText.split("\n"); //alert("Results: " + results); for (i = 0; i <= request.responseText.length; i++) { AirPort = results[i].split(","); //alert("AirPort: " + results[i]); if (AirPort[0] == apcodeUpper) { //alert("We found it."); tmpStr = AirPort[1].replace('"',''); apDesc.value = tmpStr.concat(AirPort[2].replace('"','')); break; } } } else alert("Ajax error: No data received") } else alert("Ajax error: " + this.statusText) } } request.open("GET", "../data/apinfofile.txt", true); request.send(); }, false);