var UNDEFINED;
var originalDestinations = new Array();

function repopulateDestinations() {
    if(eval('routeMap') == UNDEFINED) return;

    var ISOcode = null;

    var dest = eval("document.form._destination");
    if(UNDEFINED == originalDestinations[0]) {
        originalDestinations[0] = new Array();
        for (j = 0; j < dest.options.length; j++) {
            originalDestinations[0][j] = dest.options[j];
        }
        ISOcode = dest[dest.selectedIndex].value;
        if(ISOcode.length > 3) ISOcode = ISOcode.substring(ISOcode.length - 3);
        populateDestinations("_origin");
    }
}

function populateDestinations(origin) {
    origName = origin;
    origIndex = origin.substr(10, 1);
    destName = "_destination";
    var destLocationArray = new Array();
    var origLocationArray = new Array();

    index = eval("document.form." + origin).selectedIndex;
    origin = eval("document.form." + origin).options[index].value.substring(0, 18);
    destList = eval("document.form." + destName).options;
    destList.length = 1;
    if(destList.length < 1) {
        destList.length = 1;
        return;
    }
    var n = 0;
    for (var loop = 0; loop < routeMap.length; loop++) {
        var index = routeMap[loop].indexOf(origin);
        if(index == 0) {
            var destination = routeMap[loop].substring(origin.length);
            if(destNames[destination] != UNDEFINED) {
                destLocationArray[destNames[destination]] = destination;
            }
        }
        else if(index == 8 || index == 11) {
            destination = routeMap[loop].substring(0, index);
            if(destNames[destination] != UNDEFINED) {
                destLocationArray[destNames[destination]] = destination;
            }
        }
    }
    count = 0;
    for(var locationID in destLocationArray) {
        origLocationArray[count] = locationID;
        count++;
    }
    origLocationArray.sort();
    count = 0;
    for(n in origLocationArray) {
        destList[count+1] = new Option(origLocationArray[count]);
        destList[count+1].value = destLocationArray[origLocationArray[count]];
        count++;
    }
    destList.selectedIndex = 0;
}

var origNames = new Array();
origNames["City.BZV"] = "BZV, Brazzaville, Republic of Congo";
origNames["City.BJM"] = "BJM, Bujumbura, Burundi";
origNames["City.DAR"] = "DAR, Dar es Salaam, Tanzania";
origNames["City.DXB"] = "DXB, Dubai, United Arab Emirates";
origNames["City.EBB"] = "EBB, Entebbe, Uganda";
origNames["City.GYI"] = "GYI, Gisenyi, Rwanda";
origNames["City.JNB"] = "JNB, Johannesburg, South Africa";
origNames["City.JRO"] = "JRO, Kilimanjaro, Tanzania";
origNames["City.KGL"] = "KGL, Kigali, Rwanda";
origNames["City.KME"] = "KME, Kamembe, Rwanda";
origNames["City.LOS"] = "LOS, Lagos, Nigeria";
origNames["City.MBA"] = "MBA, Mombasa, Kenya";
origNames["City.NBO"] = "NBO, Nairobi, Kenya";
// The following are codeshare flights
origNames["City.BRU"] = "BRU, Brussels, Belgium";

var destNames = new Array();
destNames["City.BZV"] = "BZV, Brazzaville, Republic of Congo";
destNames["City.BJM"] = "BJM, Bujumbura, Burundi";
destNames["City.DAR"] = "DAR, Dar es Salaam, Tanzania";
destNames["City.DXB"] = "DXB, Dubai, United Arab Emirates";
destNames["City.EBB"] = "EBB, Entebbe, Uganda";
origNames["City.GYI"] = "GYI, Gisenyi, Rwanda";
destNames["City.JNB"] = "JNB, Johannesburg, South Africa";
destNames["City.JRO"] = "JRO, Kilimanjaro, Tanzania";
destNames["City.KGL"] = "KGL, Kigali, Rwanda";
destNames["City.KME"] = "KME, Kamembe, Rwanda";
origNames["City.LOS"] = "LOS, Lagos, Nigeria";
destNames["City.MBA"] = "MBA, Mombasa, Kenya";
destNames["City.NBO"] = "NBO, Nairobi, Kenya";
// The following are codeshare flights
destNames["City.BRU"] = "BRU, Brussels, Belgium";

var routeMap = new Array(
'City.KGLCity.BZV','City.KGLCity.BJM','City.KGLCity.DAR','City.KGLCity.DXB','City.KGLCity.EBB',
'City.KGLCity.JNB','City.KGLCity.JRO','City.KGLCity.KME','City.KGLCity.MBA','City.KGLCity.NBO',
'City.KGLCity.BRU','City.BZVCity.DAR','City.BZVCity.DXB','City.BZVCity.EBB','City.BZVCity.JNB',
'City.BJMCity.DAR','City.BJMCity.DXB','City.BJMCity.JNB','City.BJMCity.JRO','City.BJMCity.KGL',
'City.BJMCity.MBA','City.DARCity.BJM','City.DARCity.EBB','City.DARCity.KGL','City.DXBCity.BZV',
'City.DXBCity.BJM','City.DXBCity.EBB','City.DXBCity.JNB','City.DXBCity.KGL','City.DXBCity.KME',
'City.DXBCity.MBA','City.DXBCity.NBO','City.EBBCity.DAR','City.EBBCity.DXB','City.EBBCity.JNB',
'City.EBBCity.JRO','City.EBBCity.KGL','City.EBBCity.MBA','City.JNBCity.DXB','City.JNBCity.EBB',
'City.JNBCity.KGL','City.JROCity.BJM','City.JROCity.EBB','City.JROCity.KGL','City.KMECity.DXB',
'City.KMECity.KGL','City.KMECity.MBA','City.KMECity.NBO','City.MBACity.BJM','City.MBACity.DXB',
'City.MBACity.EBB','City.MBACity.KGL','City.MBACity.KME','City.NBOCity.DXB','City.NBOCity.JNB',
'City.NBOCity.KGL','City.BRUCity.KGL','City.LOSCity.DXB','City.LOSCity.EBB','City.LOSCity.BJM',
'City.LOSCity.NBO',"City.GYICity.DXB",'City.GYICity.KME','City.GYICity.NBO','City.GYICity.JRO',
'City.GYICity.JNB','City.NBOCity.GYI','City.NBOCity.LOS','City.BJMCity.LOS','City.DXBCity.GYI',
'City.DXBCity.LOS','City.EBBCity.LOS','City.JNBCity.GYI','City.KMECity.GYI','City.JROCity.GYI',
'City.GYICity.DXB','City.GYICity.JRO','City.LOSCity.DXB','City.LOSCity.EBB','City.LOSCity.BJM',
'City.LOSCity.NBO'
);
