var originations   = new Object();
var destinations   = new Object();
var states         = new Object(); 
originations["3401"] = 'Akron/Canton';
originations["2381"] = 'Albany/Adirondacks';
originations["1781"] = 'Albuquerque/Santa Fe';
originations["4761"] = 'Allentown';
originations["2461"] = 'Anchorage';
originations["481"] = 'Atlanta/North Georgia';
originations["541"] = 'Austin';
originations["981"] = 'Baltimore/East Maryland';
originations["881"] = 'Baton Rouge';
originations["3410"] = 'Birmingham, AL';
originations["2741"] = 'Boise';
originations["367"] = 'Boston/Coastal Mass.';
originations["2621"] = 'Buffalo/Niagara Falls';
originations["3414"] = 'Burbank';
originations["721"] = 'Burlington/Stowe';
originations["3531"] = 'Calgary';
originations["3418"] = 'Cedar Rapids';
originations["401"] = 'Charleston/Carolina Coast';
originations["1061"] = 'Charlotte';
originations["501"] = 'Chicago';
originations["663"] = 'Cincinnati/South Ohio';
originations["372"] = 'Cleveland';
originations["1783"] = 'Colorado Springs';
originations["3423"] = 'Columbia, SC';
originations["2281"] = 'Columbus, OH';
originations["662"] = 'Dallas/Ft. Worth';
originations["4321"] = 'Dayton';
originations["370"] = 'Denver/Rocky Mountains';
originations["3427"] = 'Des Moines';
originations["1281"] = 'Detroit';
originations["1782"] = 'El Paso';
originations["4741"] = 'Flint';
originations["1162"] = 'Fort Lauderdale';
originations["2601"] = 'Fort Myers';
originations["3445"] = 'Fresno';
originations["3449"] = 'Grand Rapids';
originations["365"] = 'Greensboro, NC';
originations["3452"] = 'Greenville, SC';
originations["2961"] = 'Harrisburg/Hershey';
originations["2762"] = 'Hartford/West Mass.';
originations["2764"] = 'Honolulu';
originations["901"] = 'Houston';
originations["3463"] = 'Huntsville/North Alabama';
originations["1661"] = 'Indianapolis';
originations["1021"] = 'Jacksonville/Georgia Coast';
originations["2922"] = 'Kansas City';
originations["2581"] = 'Knoxville/Smoky Mountains';
originations["466"] = 'Las Vegas';
originations["2501"] = 'Lexington';
originations["3482"] = 'Little Rock';
originations["363"] = 'Los Angeles';
originations["2441"] = 'Louisville';
originations["2527"] = 'Madison';
originations["3487"] = 'Manchester, NH';
originations["361"] = 'Memphis';
originations["1041"] = 'Miami/Florida Keys';
originations["2041"] = 'Milwaukee';
originations["1282"] = 'Minneapolis/St. Paul';
originations["4465"] = 'Moline Quad City';
originations["761"] = 'Montreal';
originations["366"] = 'Nashville';
originations["841"] = 'New Orleans';
originations["371"] = 'New York City';
originations["5181"] = 'Newark';
originations["3496"] = 'Norfolk';
originations["3497"] = 'Oakland';
originations["3498"] = 'Oklahoma City';
originations["2941"] = 'Omaha';
originations["1785"] = 'Ontario, CA';
originations["2241"] = 'Orange County, CA';
originations["1166"] = 'Orlando/Daytona Beach';
originations["2841"] = 'Pensacola';
originations["621"] = 'Philadelphia';
originations["464"] = 'Phoenix';
originations["2421"] = 'Pittsburgh';
originations["1167"] = 'Portland/Kennebunkport';
originations["921"] = 'Portland/Oregon Coast';
originations["2721"] = 'Providence';
originations["861"] = 'Raleigh/Durham';
originations["1784"] = 'Reno/Tahoe';
originations["463"] = 'Richmond/Williamsburg';
originations["3502"] = 'Rochester/Lake Ontario';
originations["3503"] = 'Sacramento';
originations["462"] = 'Salt Lake City';
originations["465"] = 'San Antonio';
originations["661"] = 'San Diego/Del Mar Coast';
originations["362"] = 'San Francisco';
originations["821"] = 'San Jose/Silicon Valley';
originations["1170"] = 'Savannah/Hilton Head';
originations["461"] = 'Seattle/Western Washington';
originations["3509"] = 'South Bend';
originations["3511"] = 'Spokane/North Idaho';
originations["2141"] = 'St. Louis';
originations["4361"] = 'Syracuse';
originations["441"] = 'Tallahassee';
originations["842"] = 'Tampa/Southwest Florida';
originations["3516"] = 'Toledo';
originations["741"] = 'Toronto';
originations["1922"] = 'Tucson';
originations["3519"] = 'Tulsa';
originations["2681"] = 'Vancouver';
originations["364"] = 'Washington, DC';
originations["1172"] = 'West Palm Beach';
originations["3527"] = 'Wichita';
destinations["5446"] = 'Abilene';
destinations["3571"] = 'Acapulco, Mexico';
destinations["3401"] = 'Akron/Canton';
destinations["2381"] = 'Albany/Adirondacks';
destinations["1781"] = 'Albuquerque/Santa Fe';
destinations["5101"] = 'Alexandria, LA';
destinations["4761"] = 'Allentown';
destinations["5561"] = 'Amritsar';
destinations["381"] = 'Amsterdam, Holland';
destinations["2461"] = 'Anchorage';
destinations["4002"] = 'Anguilla, West Indies';
destinations["3221"] = 'Antigua, British West Indies';
destinations["3403"] = 'Appleton';
destinations["5261"] = 'Arcata/Eureka';
destinations["641"] = 'Aruba';
destinations["3404"] = 'Asheville/Smoky Mountains';
destinations["1141"] = 'Aspen';
destinations["3596"] = 'Asuncion, Paraguay';
destinations["4023"] = 'Athens, Greece';
destinations["481"] = 'Atlanta/North Georgia';
destinations["1221"] = 'Atlantic City';
destinations["5462"] = 'Atuona';
destinations["3405"] = 'Augusta, GA';
destinations["541"] = 'Austin';
destinations["5330"] = 'Avignon';
destinations["3406"] = 'Bakersfield';
destinations["981"] = 'Baltimore/East Maryland';
destinations["1961"] = 'Bangor/Bar Harbor';
destinations["3542"] = 'Barbados';
destinations["1143"] = 'Barcelona, Spain';
destinations["3591"] = 'Barranquilla, Colombia';
destinations["881"] = 'Baton Rouge';
destinations["3407"] = 'Beaumont';
destinations["5449"] = 'Beijing';
destinations["3565"] = 'Belize City/Belize';
destinations["4702"] = 'Bellingham';
destinations["3587"] = 'Belo Horizonte, Brazil';
destinations["1642"] = 'Berlin, Germany';
destinations["701"] = 'Bermuda';
destinations["3409"] = 'Billings/Bighorn';
destinations["4981"] = 'Binghamton, NY';
destinations["3410"] = 'Birmingham, AL';
destinations["3557"] = 'Birmingham, England';
destinations["5265"] = 'Bismarck';
destinations["4901"] = 'Bloomington';
destinations["3592"] = 'Bogota, Colombia';
destinations["2741"] = 'Boise';
destinations["5329"] = 'Bologna';
destinations["5463"] = 'Bora Bora';
destinations["367"] = 'Boston/Coastal Mass.';
destinations["3411"] = 'Bozeman/Big Sky';
destinations["1401"] = 'Brattleboro';
destinations["5450"] = 'Brisbane';
destinations["3413"] = 'Brunswick';
destinations["369"] = 'Brussels, Belgium';
destinations["1682"] = 'Budapest, Hungary';
destinations["3584"] = 'Buenos Aires, Argentina';
destinations["2621"] = 'Buffalo/Niagara Falls';
destinations["3414"] = 'Burbank';
destinations["721"] = 'Burlington/Stowe';
destinations["3415"] = 'Butte';
destinations["5465"] = 'Cairns';
destinations["3531"] = 'Calgary';
destinations["3593"] = 'Cali, Colombia';
destinations["2862"] = 'Cancun, Mexico';
destinations["3243"] = 'Caracas, Venezuela';
destinations["5269"] = 'Carlsbad';
destinations["3416"] = 'Casper';
destinations["3417"] = 'Cedar City';
destinations["3418"] = 'Cedar Rapids';
destinations["5521"] = 'Chandigarh';
destinations["2301"] = 'Charleston, WV';
destinations["401"] = 'Charleston/Carolina Coast';
destinations["1061"] = 'Charlotte';
destinations["3419"] = 'Charlottesville';
destinations["3420"] = 'Chattanooga';
destinations["501"] = 'Chicago';
destinations["5268"] = 'Chico';
destinations["5464"] = 'Christchurch';
destinations["663"] = 'Cincinnati/South Ohio';
destinations["372"] = 'Cleveland';
destinations["3421"] = 'Cody/Yellowstone';
destinations["3422"] = 'College Station';
destinations["5322"] = 'Cologne, Germany';
destinations["1783"] = 'Colorado Springs';
destinations["3423"] = 'Columbia, SC';
destinations["3425"] = 'Columbus, MS';
destinations["2281"] = 'Columbus, OH';
destinations["5448"] = 'Copenhagen';
destinations["2061"] = 'Corpus Christi';
destinations["3222"] = 'Costa Rica';
destinations["3123"] = 'Cozumel, Mexico';
destinations["5266"] = 'Cresent City';
destinations["3547"] = 'Curacao, Dutch Antilles';
destinations["3597"] = 'Cuzco, Peru';
destinations["662"] = 'Dallas/Ft. Worth';
destinations["4321"] = 'Dayton';
destinations["3426"] = 'Daytona Beach';
destinations["370"] = 'Denver/Rocky Mountains';
destinations["3427"] = 'Des Moines';
destinations["1281"] = 'Detroit';
destinations["3428"] = 'Dothan';
destinations["1001"] = 'Dublin, Ireland';
destinations["3429"] = 'Duluth';
destinations["3430"] = 'Durango';
destinations["5321"] = 'Dusseldorf, Germany';
destinations["3242"] = 'Edinburgh, Scotland';
destinations["3532"] = 'Edmonton';
destinations["1782"] = 'El Paso';
destinations["5381"] = 'Eleuthera';
destinations["3431"] = 'Elko';
destinations["4922"] = 'Escanaba';
destinations["4721"] = 'Eugene, OR';
destinations["3432"] = 'Evansville';
destinations["3433"] = 'Fairbanks';
destinations["5271"] = 'Fargo';
destinations["3442"] = 'Fayetteville, AR';
destinations["5467"] = 'Flagstaff';
destinations["4741"] = 'Flint';
destinations["1161"] = 'Florence, Italy';
destinations["5468"] = 'Fort Aleza';
destinations["1162"] = 'Fort Lauderdale';
destinations["2601"] = 'Fort Myers';
destinations["3444"] = 'Fort Wayne';
destinations["3558"] = 'Frankfurt, Germany';
destinations["1701"] = 'Fredericksburg';
destinations["3261"] = 'Freeport, Bahamas';
destinations["3445"] = 'Fresno';
destinations["3447"] = 'Gainesville';
destinations["2062"] = 'Galveston';
destinations["4183"] = 'Geneva, Switzerland';
destinations["4541"] = 'Glasgow, Scotland';
destinations["3548"] = 'Grand Cayman, Cayman Islands';
destinations["4882"] = 'Grand Forks';
destinations["3448"] = 'Grand Junction';
destinations["3449"] = 'Grand Rapids';
destinations["3450"] = 'Great Falls';
destinations["3451"] = 'Green Bay';
destinations["365"] = 'Greensboro, NC';
destinations["3452"] = 'Greenville, SC';
destinations["5469"] = 'Greenwood';
destinations["3549"] = 'Grenada, West Indies';
destinations["3061"] = 'Guadalajara, Mexico';
destinations["3742"] = 'Guadeloupe, FWI';
destinations["3568"] = 'Guatemala City, Guatemala';
destinations["3594"] = 'Guayaquil, Ecuador';
destinations["4301"] = 'Gulfport/Biloxi';
destinations["5001"] = 'Gunnison';
destinations["5326"] = 'Hamburg';
destinations["2961"] = 'Harrisburg/Hershey';
destinations["2762"] = 'Hartford/West Mass.';
destinations["3461"] = 'Helena';
destinations["5324"] = 'Helsinki';
destinations["4501"] = 'Hilo, HI';
destinations["4881"] = 'Hilton Head';
destinations["2764"] = 'Honolulu';
destinations["901"] = 'Houston';
destinations["5470"] = 'Huahine Island';
destinations["3462"] = 'Huntington/Ashland';
destinations["3463"] = 'Huntsville/North Alabama';
destinations["1421"] = 'Hyannis';
destinations["3464"] = 'Idaho Falls';
destinations["1661"] = 'Indianapolis';
destinations["1643"] = 'Istanbul, Turkey';
destinations["4681"] = 'Ithaca';
destinations["3124"] = 'Ixtapa, Mexico';
destinations["1801"] = 'Jackson Hole/Grand Tetons';
destinations["1081"] = 'Jackson, MS';
destinations["1021"] = 'Jacksonville/Georgia Coast';
destinations["3465"] = 'Juneau';
destinations["3466"] = 'Kalamazoo';
destinations["1741"] = 'Kalispell/Glacier Area';
destinations["2922"] = 'Kansas City';
destinations["5471"] = 'Kathmandu';
destinations["4481"] = 'Kauai';
destinations["5441"] = 'Kelowna';
destinations["3467"] = 'Key West';
destinations["3468"] = 'Kileen';
destinations["3544"] = 'Kingston, Jamaica';
destinations["2581"] = 'Knoxville/Smoky Mountains';
destinations["4041"] = 'Kona';
destinations["5472"] = 'Kuala Lumpur';
destinations["4921"] = 'La Crosse';
destinations["3081"] = 'La Paz, Mexico';
destinations["3470"] = 'Lafayette/New Iberia';
destinations["4941"] = 'Lanai City';
destinations["1101"] = 'Lancaster';
destinations["3471"] = 'Lansing';
destinations["466"] = 'Las Vegas';
destinations["3481"] = 'Lawton';
destinations["5141"] = 'Lewiston';
destinations["2501"] = 'Lexington';
destinations["3598"] = 'Lima, Peru';
destinations["5301"] = 'Lincoln';
destinations["4441"] = 'Lisbon, Portugal';
destinations["3482"] = 'Little Rock';
destinations["368"] = 'London, England';
destinations["4883"] = 'Long Beach';
destinations["2701"] = 'Long Island';
destinations["363"] = 'Los Angeles';
destinations["2901"] = 'Los Cabos, Mexico';
destinations["2441"] = 'Louisville';
destinations["3484"] = 'Lubbock';
destinations["961"] = 'Lyon, France';
destinations["3486"] = 'Macon';
destinations["2527"] = 'Madison';
destinations["1163"] = 'Madrid, Spain';
destinations["5461"] = 'Malaga';
destinations["3582"] = 'Managua, Nicaragua';
destinations["3561"] = 'Manchester, England';
destinations["3487"] = 'Manchester, NH';
destinations["5325"] = 'Marseille';
destinations["5382"] = 'Marsh Harbour';
destinations["2763"] = 'Maui';
destinations["4521"] = 'Mazatlan';
destinations["5421"] = 'McAllen';
destinations["4961"] = 'Medford';
destinations["5444"] = 'Melbourne';
destinations["3862"] = 'Melbourne/Cape Canaveral';
destinations["361"] = 'Memphis';
destinations["4161"] = 'Mendoza, Argentina';
destinations["3577"] = 'Merida, Mexico';
destinations["3489"] = 'Meridian';
destinations["601"] = 'Mexico City/Central Mexico';
destinations["1041"] = 'Miami/Florida Keys';
destinations["781"] = 'Milan, Italy';
destinations["2041"] = 'Milwaukee';
destinations["1282"] = 'Minneapolis/St. Paul';
destinations["3490"] = 'Missoula';
destinations["1721"] = 'Mobile';
destinations["5363"] = 'Modesto';
destinations["4465"] = 'Moline Quad City';
destinations["5041"] = 'Molokai';
destinations["3491"] = 'Monroe';
destinations["3201"] = 'Montego Bay, Jamaica';
destinations["3492"] = 'Monterey, CA';
destinations["3127"] = 'Monterrey, Mexico';
destinations["3599"] = 'Montevideo, Uruguay';
destinations["3493"] = 'Montgomery';
destinations["761"] = 'Montreal';
destinations["5002"] = 'Montrose/Telluride';
destinations["5473"] = 'Moorea';
destinations["3562"] = 'Moscow, Russia';
destinations["801"] = 'Munich, Germany';
destinations["1305"] = 'Myrtle Beach';
destinations["3494"] = 'Nantucket';
destinations["3495"] = 'Naples';
destinations["5323"] = 'Naples, Italy';
destinations["366"] = 'Nashville';
destinations["3301"] = 'Nassau, Bahamas';
destinations["5221"] = 'Netherlands Antilles';
destinations["5466"] = 'New Bern';
destinations["841"] = 'New Orleans';
destinations["371"] = 'New York City';
destinations["5181"] = 'Newark';
destinations["4401"] = 'Newport News';
destinations["1164"] = 'Nice, France';
destinations["3496"] = 'Norfolk';
destinations["2522"] = 'Nova Scotia';
destinations["5474"] = 'Nukuhiva';
destinations["3497"] = 'Oakland';
destinations["2181"] = 'Ogunquit';
destinations["3498"] = 'Oklahoma City';
destinations["2941"] = 'Omaha';
destinations["1785"] = 'Ontario, CA';
destinations["2241"] = 'Orange County, CA';
destinations["1166"] = 'Orlando/Daytona Beach';
destinations["5331"] = 'Oslo';
destinations["3181"] = 'Ottawa';
destinations["5366"] = 'Oxnard';
destinations["1821"] = 'Palm Springs';
destinations["5328"] = 'Palma De Mallorca';
destinations["3499"] = 'Panama City, FL';
destinations["3583"] = 'Panama City, Panama';
destinations["5501"] = 'Papeete';
destinations["482"] = 'Paris, France';
destinations["5475"] = 'Parkersburg';
destinations["5361"] = 'Pasco';
destinations["4821"] = 'Pendleton';
destinations["2841"] = 'Pensacola';
destinations["4462"] = 'Peoria';
destinations["621"] = 'Philadelphia';
destinations["464"] = 'Phoenix';
destinations["5061"] = 'Phuket';
destinations["2421"] = 'Pittsburgh';
destinations["3500"] = 'Pocatello';
destinations["4822"] = 'Port Angeles';
destinations["1167"] = 'Portland/Kennebunkport';
destinations["921"] = 'Portland/Oregon Coast';
destinations["3906"] = 'Poughkeepsie, NY';
destinations["1168"] = 'Prague, Czech Republic';
destinations["2721"] = 'Providence';
destinations["2881"] = 'Puerto Plata, Dominican Republic';
destinations["421"] = 'Puerto Rico';
destinations["4601"] = 'Puerto Rico-Aguadilla/West';
destinations["3126"] = 'Puerto Vallarta, Mexico';
destinations["3223"] = 'Punta Cana, Dominican Republic';
destinations["2642"] = 'Quebec City';
destinations["3595"] = 'Quito, Ecuador';
destinations["5476"] = 'Raiatea';
destinations["861"] = 'Raleigh/Durham';
destinations["3501"] = 'Rapid City';
destinations["5362"] = 'Redding';
destinations["4841"] = 'Redmond';
destinations["1784"] = 'Reno/Tahoe';
destinations["3964"] = 'Reykjavik, Iceland';
destinations["463"] = 'Richmond/Williamsburg';
destinations["3283"] = 'Rio de Janeiro, Brazil';
destinations["4221"] = 'Roanoke';
destinations["3502"] = 'Rochester/Lake Ontario';
destinations["2981"] = 'Rome, Italy';
destinations["5383"] = 'Saba';
destinations["3503"] = 'Sacramento';
destinations["4461"] = 'Saginaw / Bay City';
destinations["462"] = 'Salt Lake City';
destinations["5327"] = 'Salzburg';
destinations["465"] = 'San Antonio';
destinations["661"] = 'San Diego/Del Mar Coast';
destinations["362"] = 'San Francisco';
destinations["821"] = 'San Jose/Silicon Valley';
destinations["3505"] = 'San Luis Obispo/Central Coast';
destinations["3575"] = 'San Miguel/Leon, Mexico';
destinations["3569"] = 'San Pedro Sula, Honduras';
destinations["3567"] = 'San Salvador, El Salvador';
destinations["3506"] = 'Santa Barbara';
destinations["3586"] = 'Santa Cruz, Bolivia';
destinations["1169"] = 'Santa Fe';
destinations["5364"] = 'Santa Maria';
destinations["3590"] = 'Santiago, Chile';
destinations["3552"] = 'Santo Domingo, Dominican Republic';
destinations["3589"] = 'Sao Paulo, Brazil';
destinations["3507"] = 'Sarasota';
destinations["1170"] = 'Savannah/Hilton Head';
destinations["461"] = 'Seattle/Western Washington';
destinations["5522"] = 'Seoul';
destinations["5201"] = 'Seville';
destinations["3563"] = 'Shannon, Ireland';
destinations["5477"] = 'Shimla';
destinations["3508"] = 'Shreveport';
destinations["5443"] = 'Singapore';
destinations["5272"] = 'Sioux Falls';
destinations["3509"] = 'South Bend';
destinations["3510"] = 'South Padre Island/Harlingen';
destinations["3511"] = 'Spokane/North Idaho';
destinations["3512"] = 'Springfield, MO';
destinations["3553"] = 'St. Croix, U.S. Virgin Islands';
destinations["4112"] = 'St. George/Bryce Canyon';
destinations["3641"] = 'St. Kitts/Nevis, BWI';
destinations["2141"] = 'St. Louis';
destinations["3554"] = 'St. Lucia';
destinations["3555"] = 'St. Maarten/St. Martin, WI';
destinations["681"] = 'St. Thomas, Virgin Islands';
destinations["3513"] = 'Steamboat Springs';
destinations["3282"] = 'Stockholm, Sweden';
destinations["3564"] = 'Strasbourg, France';
destinations["4782"] = 'Stuttgart, Germany';
destinations["3514"] = 'Sun Valley/Hailey';
destinations["5445"] = 'Sydney';
destinations["4361"] = 'Syracuse';
destinations["441"] = 'Tallahassee';
destinations["842"] = 'Tampa/Southwest Florida';
destinations["3570"] = 'Tegucigalpa, Honduras';
destinations["5365"] = 'Telluride';
destinations["3515"] = 'Texarkana';
destinations["4141"] = 'The Exumas, Bahamas';
destinations["5481"] = 'Tikehau Atoll';
destinations["3516"] = 'Toledo';
destinations["741"] = 'Toronto';
destinations["4421"] = 'Tortola, Virgin Islands';
destinations["4641"] = 'Traverse City';
destinations["5401"] = 'Treasure Cay';
destinations["4463"] = 'Tri Cities';
destinations["3550"] = 'Trinidad and Tobago';
destinations["1922"] = 'Tucson';
destinations["3519"] = 'Tulsa';
destinations["3241"] = 'Turks and Caicos Islands';
destinations["3520"] = 'Twin Falls';
destinations["3521"] = 'Vail/Beaver Creek';
destinations["5202"] = 'Valencia';
destinations["1341"] = 'Valley Forge';
destinations["2681"] = 'Vancouver';
destinations["3281"] = 'Venice, Italy';
destinations["3581"] = 'Veracruz, Mexico';
destinations["3533"] = 'Victoria';
destinations["1171"] = 'Vienna, Austria';
destinations["1644"] = 'Warsaw';
destinations["364"] = 'Washington, DC';
destinations["4464"] = 'Wausau';
destinations["4703"] = 'Wenatchee';
destinations["1172"] = 'West Palm Beach';
destinations["3526"] = 'West Yellowstone';
destinations["4341"] = 'White Plains';
destinations["3527"] = 'Wichita';
destinations["3528"] = 'Wichita Falls';
destinations["5262"] = 'Wilkes Barre/Scranton';
destinations["1201"] = 'Wilmington, DE';
destinations["3529"] = 'Wilmington, NC';
destinations["5224"] = 'Windward Islands';
destinations["4241"] = 'Winnipeg';
destinations["3530"] = 'Worcester';
destinations["5483"] = 'Xian';
destinations["4704"] = 'Yakima';
destinations["5367"] = 'Yuma';
destinations["581"] = 'Zurich, Switzerland';
// END WCT LMD JS
function array_intersect(x, y) {
        var ret = new Array();
        for (var j = 0; j < x.length; j++) {
                for (var i = 0; i < y.length; i++) {
                        if (x[j] == y[i])
                                ret.push(x[j]);
                }
        }
        return ret;
}

function do_array_intersect(a, b) {
        if (a.length < b.length) {
                return array_intersect(a, b);
        } else {
                return array_intersect(b, a);
        }
}

function init_destinations(o_key) {
        var state       = document.dest.in_destform_state;
        var state_codes = states_by_orig[o_key];
        var i, j;

        state.options[0] = new Option('Choose a state or region', 'all');
        for (i = 1, j = 0; j < state_codes.length; i++, j++) {
                var s = state_codes[j]; 
                state.options[i] = new Option(states[s].name, s);
        }
}

function init_originations() {
        var orig = document.dest.in_origination_key;
        var i = 0;
        for (o in originations) {
                orig.options[i] = new Option(originations[o], o); 
                i++;
        }
        var idx = 0;
        i = 0;
        for (k in originations) {
            if (k == 371)
                break;
            i++;
        }
        orig.selectedIndex = i;
        init_destinations(371);
}

function do_array_intersect(a, b) {
        if ( ! (a && b) ) {
                return new Array();
        }

        if (a.length < b.length) {
                return array_intersect(a, b);
        } else {
                return array_intersect(b, a);
        }
}


function wct_lmd_Array_indexOf(a, x)
{
  for ( var i = 0; i < a.length; ++ i ) {
    if ( a[i] == x ) return i;
  }
  return -1;
}


var _wct_lmd_in_origination_key;
var _wct_lmd_preferred_dests;
var _wct_lmd_no_preferred_dests;



function wct_lmd_update_city(this_state)
{
  var city = document.dest.in_location_key;
  var cities;
  var i, j;

  if ( this_state ) {
    var orig = document.dest.in_origination_key;
    var this_orig  = orig.options[orig.selectedIndex].value;
    cities = do_array_intersect(cities_by_orig[this_orig],
                                        states[this_state].cities);
  } else {
    cities = new Array();
  }

  city.options.length = i = 0;
  if ( (! _wct_lmd_preferred_dests) || cities.length > 1 ) {
    city.options[i ++] = new Option('Choose a city', 'all');
  }
  if ( (! _wct_lmd_preferred_dests) || cities.length == 0 ) {
    city.options[i ++] = new Option('Show all cities', 'all');
  }

  for (j = 0; j < cities.length; j++) {
    var k = cities[j];
    city.options[i ++] = new Option(destinations[k], k);
  }

  // Default if only one city matches.
  if ( cities.length == 1 ) {
    city.selectedIndex = i - 1;
  }
}


function init_destinations(o_key) {
  var state_codes = states_by_orig[o_key];
  wct_lmd_update_state(state_codes);
}
