 function populateCitySelect( country ) {
  newcountry = country.replace(/[^0-9a-zA-Z]/g,'');
    newcountry = newcountry.replace(/\'/g,'');
  if ( newcountry.length == 0 ) {
    document.theForm.Choice.length = 1;
    document.theForm.Choice.options[0] = new Option('Choose a Country');
    document.theForm.Choice.options[0].value = '';

    return;
  }

    if ( country == 'Holland' ) {
      newcountry = 'Netherlands';
    }
    if ( country == 'Britain' ) {
      newcountry = 'England';
    }
  newOptions = eval(newcountry+'Array');

  document.theForm.Choice.length = 1;
  document.theForm.Choice.options[0] = new Option('Choose a city');
  document.theForm.Choice.options[0].value = '';

  document.theForm.Choice.options[0].selected = true;

  for ( i=0; i<newOptions.length; i++ ) {
    document.theForm.Choice.length++;
    thisEntry = newOptions[i];
    newOption = new Option( thisEntry );
    newOption.value = 'C' + thisEntry + ';' + country;
    document.theForm.Choice.options[i+1] = newOption;
  }
  if(newOptions.length == 1) document.theForm.Choice.options[1].selected = true;
}

var AlbaniaArray = new Array(
  "Berat",
  "Durres",
  "Gjirokaster",
  "Kavaje",
  "Saranda",
  "Tirana",
  "Voskopoje"
);

var AndorraArray = new Array(
  "Andorra la Vella",
  "Arinsal",
  "Encamp",
  "Escaldes-Engordany",
  "Meritxell",
  "Ordino",
  "Sant Julia de Loria",
  "Soldeu"
);

var AntiguaAndBarbudaArray = new Array(
  "English Harbour",
  "St. John's"
);

var ArgentinaArray = new Array(
  "Bariloche",
  "Buenos Aires",
  "Buenos Aires-Adrogue",
  "Capilla del Monte",
  "Chacras de Coria-Lujan",
  "Colon",
  "Cordoba",
  "El Bolson",
  "El Calafate",
  "El Chalten",
  "Gaiman",
  "Goya",
  "Humahuaca",
  "La Cumbre",
  "Malargue",
  "Mar del Plata",
  "Mendoza",
  "Mercedes",
  "Miramar",
  "Parana",
  "Pinamar",
  "Puerto Iguazu",
  "Puerto Madryn",
  "Puerto Piramides - Peninsula Valdes",
  "Rosario",
  "Salta",
  "San Juan",
  "San Martin de los Andes",
  "San Rafael",
  "San Salvador de Jujuy",
  "Santa Elena, Entre Rios",
  "Sierras de Cordoba",
  "Tanti",
  "Tigre",
  "Tucuman",
  "Ushuaia",
  "Valle de la luna",
  "Villa Carlos Paz",
  "Villa La Angostura"
);

var ArmeniaArray = new Array(
  "Gyumri",
  "Yerevan"
);

var AustraliaArray = new Array(
  "Adelaide",
  "Airlie Beach",
  "Albany",
  "Alice Springs",
  "Apollo Bay",
  "Ayr",
  "Bellingen",
  "Bendigo",
  "Blue Mountains",
  "Bright",
  "Brisbane",
  "Broome",
  "Bunbury",
  "Byron Bay",
  "Cairns",
  "Canberra",
  "Cape Tribulation",
  "Childers",
  "Coffs Harbour",
  "Cooktown",
  "Coral Bay",
  "Corowa",
  "Daintree",
  "Darwin",
  "Denmark",
  "Faulconbridge",
  "Fremantle",
  "Glen Innes",
  "Gold Coast",
  "Gosford",
  "Grampians",
  "Grampians National Park",
  "Hervey Bay",
  "Hidden Valley",
  "Hobart",
  "Kalbarri",
  "Kangaroo Island",
  "Kununurra",
  "Kuranda",
  "Kyneton",
  "Launceston",
  "Maffra",
  "Magnetic Island",
  "Malanda",
  "Margaret River",
  "Maroochydore",
  "McLaren Vale",
  "Melbourne",
  "Mission Beach",
  "Monkey Mia",
  "Mooloolaba",
  "Mount Gambier",
  "Narooma",
  "Newcastle",
  "Nimbin",
  "Noosa",
  "Old Bar",
  "Pacific Palms",
  "Perth",
  "Peterborough",
  "Phillip Island",
  "Port Douglas",
  "Port Macquarie",
  "Port Stephens",
  "Princetown",
  "Rainbow Beach",
  "Richmond",
  "Robe",
  "Rockhampton",
  "Surfers Paradise",
  "Swansea",
  "Sydney",
  "Tennant Creek",
  "Thredbo",
  "Townsville",
  "Tully",
  "Tumut",
  "Wollongong",
  "Yanchep"
);

var AustriaArray = new Array(
  "Arlberg",
  "Axams",
  "Bad Aussee",
  "Bad Gastein",
  "Bregenz",
  "Gerlos",
  "Graz",
  "Grunau im Almtal",
  "Innsbruck",
  "Kaprun",
  "Kirchdorf",
  "Kitzbuhel",
  "Klagenfurt",
  "Koetschach Mauthen",
  "Leogang",
  "Linz",
  "Obertraun",
  "Ramsau",
  "Reutte",
  "Salzburg",
  "Schladming",
  "St Gilgen",
  "St Johann in Tirol",
  "Steinach am Brenner",
  "Vienna",
  "Zell am See"
);

var BahamasArray = new Array(
  "Grand Bahama Island",
  "Gregory Town",
  "Nassau"
);

var BangladeshArray = new Array(
  "Dhaka"
);

var BarbadosArray = new Array(
  "Kingsland Gardens",
  "Rendezvous",
  "Saint James",
  "St Lawrence Gap",
  "Worthing"
);

var BelarusArray = new Array(
  "Minsk"
);

var BelgiumArray = new Array(
  "Antwerp",
  "Bouillon",
  "Bruges",
  "Brussels",
  "Champlon",
  "Gent",
  "Knokke",
  "Leuven",
  "Namur",
  "Torhout",
  "Tournai",
  "Ypres"
);

var BelizeArray = new Array(
  "Dangriga",
  "Punta Gorda",
  "San Ignacio",
  "San Pedro"
);

var BoliviaArray = new Array(
  "Cochabamba",
  "Copacabana",
  "La Paz",
  "Potosi",
  "Santa Cruz",
  "Sucre",
  "Tupiza",
  "Uyuni"
);

var BosniaAndHerzegovinaArray = new Array(
  "Mostar",
  "Sarajevo"
);

var BrazilArray = new Array(
  "Arraial da Ajuda",
  "Arraial do Cabo",
  "Belo Horizonte",
  "Bombinhas",
  "Buzios",
  "Cabo Frio",
  "Canoa Quebrada",
  "Cristiano Otoni",
  "Cuiaba",
  "Curitiba",
  "Extrema",
  "Florianopolis",
  "Fortaleza",
  "Foz do Iguacu",
  "Ilha do Mel",
  "Ilha Grande",
  "Ilheus",
  "Imbassai",
  "Itacare",
  "Lencois",
  "Manaus",
  "Maragogi",
  "Morro de Sao Paulo",
  "Natal",
  "Nova Friburgo",
  "Olivenca",
  "Paraty",
  "Peruibe",
  "Petropolis",
  "Pipa",
  "Porto Seguro",
  "Rio de Janeiro",
  "Salvador",
  "Sana",
  "Sao Paulo",
  "Saquarema",
  "Trancoso"
);

var BritishVirginIslandsArray = new Array(
  "Tortola"
);

var BruneiArray = new Array(
  "Bandar Seri Begawan"
);

var BulgariaArray = new Array(
  "Arbanassi",
  "Balchik",
  "Bansko",
  "Blagoevgrad",
  "Burgas",
  "Dobrinishte",
  "Dryanovo",
  "Kresna",
  "Kyustendil",
  "Nesebar",
  "Plovdiv",
  "Russe",
  "Sinemoretz",
  "Sofia",
  "Sunny Beach",
  "Troyan",
  "Varna",
  "Veliko Tarnovo",
  "Vitosha"
);

var BurkinaFasoArray = new Array(
  "Burkina Faso"
);

var CambodiaArray = new Array(
  "Banlung",
  "Phnom Penh",
  "Siem Reap",
  "Sihanoukville"
);

var CameroonArray = new Array(
  "Bamenda"
);

var CanadaArray = new Array(
  "Abbotsford",
  "Algonquin",
  "Banff",
  "Barrie",
  "Bella Coola",
  "Brockville",
  "Calgary",
  "Campbell River",
  "Cape Breton",
  "Churchill",
  "Clearwater",
  "Crystal Falls",
  "Dawson City",
  "Edmonton",
  "Fernie",
  "Fredericton",
  "Galiano Island",
  "Golden",
  "Grand Falls",
  "Gros Morne National Park",
  "Halifax",
  "Hamilton",
  "Jasper",
  "Kelowna",
  "Kimberley",
  "London",
  "Madawaska",
  "Mahone Bay",
  "Mississauga",
  "Moncton",
  "Mont-Tremblant",
  "Montreal",
  "Nanaimo",
  "Nelson",
  "Niagara Falls",
  "Nordegg",
  "Ottawa",
  "Oxtongue Lake",
  "Pemberton",
  "Penticton",
  "Pictou",
  "Port Alberni",
  "Port Colborne",
  "Port Hardy",
  "Powell River",
  "Prince Edward Island",
  "Prince George",
  "Prince Rupert",
  "Qualicumbeach",
  "Quebec",
  "Regina",
  "Revelstoke",
  "Rimouski",
  "Riviere-du-Loup",
  "Rossland",
  "Saint John",
  "Sainte-Agathe-des-Monts",
  "Sainte-Anne-Des-Monts",
  "Saskatoon",
  "Smithers",
  "South River",
  "Squamish",
  "St. John's",
  "Sunshine Coast",
  "Surrey",
  "Thunder Bay",
  "Toronto",
  "Trois-Rivieres",
  "Ucluelet",
  "Val-David",
  "Valemount",
  "Vancouver",
  "Vancouver Island",
  "Vernon",
  "Victoria",
  "Wasaga Beach",
  "Whistler",
  "Whitehorse",
  "Whitney",
  "Windsor",
  "Winnipeg",
  "Yarmouth"
);

var CapeVerdeArray = new Array(
  "Mindelo"
);

var ChileArray = new Array(
  "Arica",
  "Chanco",
  "Coquimbo",
  "Curacautin",
  "Easter Island",
  "Huelmo",
  "Iquique",
  "La Serena",
  "Pucon",
  "Puerto Montt",
  "Puerto Natales",
  "Puerto Octay",
  "Puerto Varas",
  "Puerto Williams",
  "Punta Arenas",
  "San Pedro de Atacama",
  "Santiago",
  "Temuco",
  "Valdivia",
  "Valparaiso",
  "Villarrica",
  "Vina del Mar"
);

var ChinaArray = new Array(
  "Beihai",
  "Beijing",
  "Changchun",
  "Changsha",
  "Changshu",
  "Changzhou",
  "Chengdu",
  "Chongqing",
  "Dali",
  "Dalian",
  "Daocheng",
  "Dongguan",
  "Guangzhou",
  "Guilin",
  "Haikou",
  "Hangzhou",
  "Harbin",
  "Huangshan",
  "Jiangyou",
  "Jinan",
  "Jiu Zhai Gou",
  "Jiujiang",
  "Kunming",
  "Kunshan",
  "Lhasa",
  "Lijiang",
  "Luoyang",
  "Lushan",
  "Mt.Emei",
  "Nanchang",
  "Nanjing",
  "Nantong",
  "Ningbo",
  "Pingyao",
  "Qingdao",
  "Rizhao",
  "Sanya",
  "Shanghai",
  "Shangri-la",
  "Shaoxing",
  "Shenyang",
  "Shenzhen",
  "Shijiazhuang",
  "Suzhou",
  "Tianjin",
  "Weihai",
  "Wenzhou",
  "Wuhan",
  "Wuhu",
  "Wutai Mountain",
  "Wuxi",
  "Xi'an",
  "Xiahe",
  "Xiamen",
  "Xinchang",
  "Xining",
  "Xinjiang",
  "Xishuangbanna",
  "Yangshuo",
  "Yangzhou",
  "Yantai",
  "Zhangjiajie",
  "Zhengzhou",
  "Zhuji",
  "Zibo"
);

var ColombiaArray = new Array(
  "Bogota",
  "Cali",
  "Cartagena",
  "Medellin",
  "Nuqui",
  "San Andres Island",
  "San Gil",
  "Santa Marta",
  "Taganga",
  "Tolu"
);

var CookIslandsArray = new Array(
  "Mangaia Island",
  "Rarotonga",
  "Titikaveka"
);

var CostaRicaArray = new Array(
  "Alajuela",
  "Arenal Nuevo",
  "Arenal Volcano",
  "Cahuita",
  "Cano Negro",
  "Cartago",
  "Heredia",
  "Jaco",
  "La Fortuna",
  "La Trinidad",
  "Liberia",
  "Limon",
  "Londres",
  "Mal Pais",
  "Manuel Antonio",
  "Monteverde",
  "Playa Tamarindo",
  "Puriscal",
  "Quepos",
  "Quesada",
  "Rincon de la Vieja National Park",
  "Samara",
  "San Jose",
  "Santa Teresa",
  "Tamarindo",
  "Tortuguero",
  "Uvita"
);

var CroatiaArray = new Array(
  "Baska Voda",
  "Blato",
  "Brac",
  "Cavtat",
  "Ciovo",
  "Dubrovnik",
  "Grabovac",
  "Hvar",
  "Istria",
  "Jelsa",
  "Kastel Stafilic",
  "Kastela",
  "Korcula",
  "Makarska",
  "Makarska Riviera",
  "Mali Losinj",
  "Marina",
  "Medulin",
  "North Dalmatia",
  "Novalja",
  "Omis",
  "Opatija",
  "Orebic",
  "Peljesac Peninsula",
  "Pisak",
  "Podstrana",
  "Porec",
  "Pula",
  "Resnik",
  "Rogoznica",
  "Rovinj",
  "Sibenik",
  "Split",
  "Trogir",
  "Vinisce",
  "Vis",
  "Zagreb"
);

var CubaArray = new Array(
  "Camaguey",
  "Cienfuegos",
  "Havana",
  "Isla de la Juventud",
  "Matanzas",
  "Miramar",
  "Santa Clara",
  "Santiago de Cuba",
  "Trinidad",
  "Varadero",
  "Vinales"
);

var CyprusArray = new Array(
  "Arsos",
  "Ayia Marina",
  "Ayia Napa",
  "Girne",
  "Kyrenia",
  "Larnaca",
  "Lefke",
  "Limassol",
  "Lythrodontas",
  "Magusa",
  "Paphos",
  "Pedhoulas",
  "Platres"
);

var CzechRepublicArray = new Array(
  "Brno",
  "Cesky Krumlov",
  "Jablonec nad Nisou",
  "Jindrichuv Hradec",
  "Kaplice",
  "Karlovy Vary",
  "Loucovice",
  "Marianske Lazne",
  "Olomouc",
  "Pec pod Snizkou",
  "Plzen",
  "Prague",
  "Rokytnice nad Jizerou",
  "Telc",
  "Valtice"
);

var DenmarkArray = new Array(
  "Aabenraa",
  "Aarhus",
  "Bronshoj",
  "Copenhagen",
  "Esbjerg",
  "Stege"
);

var DominicaArray = new Array(
  "Portsmouth",
  "Rosalie"
);

var DominicanRepublicArray = new Array(
  "Bonao",
  "Cabarete",
  "La Barbacoa",
  "Las Terrenas",
  "Santo Domingo",
  "Sosua"
);

var EcuadorArray = new Array(
  "Baeza",
  "Banos",
  "Coca",
  "Coca - Yasuni National Park",
  "Cuenca",
  "Guayaquil",
  "Isinlivi",
  "Manglaralto",
  "Mindo",
  "Otavalo",
  "Puerto Lopez",
  "Quito",
  "Salinas",
  "San Pedro",
  "Tena"
);

var EgyptArray = new Array(
  "Alexandria",
  "Aswan",
  "Bahariya Oasis",
  "Cairo",
  "Dahab",
  "Hurghada",
  "Luxor",
  "Nuweiba",
  "Sharm el Sheikh"
);

var ElSalvadorArray = new Array(
  "Cuscatlan",
  "Juayua",
  "La Libertad",
  "San Salvador"
);

var EnglandArray = new Array(
  "Ashby de la Zouch",
  "Bath",
  "Berkshire",
  "Berwick on Tweed",
  "Birmingham",
  "Blackpool",
  "Bournemouth",
  "Bradford",
  "Brighton",
  "Bristol",
  "Bude",
  "Burnham Deepdale",
  "Cambridge",
  "Canterbury",
  "Charlton",
  "Chester",
  "Chorley",
  "Coalport",
  "Cornwall",
  "Coventry",
  "Derby",
  "Dover",
  "Durham",
  "East Sussex",
  "Epworth",
  "Essex",
  "Exeter",
  "Folkestone",
  "Gateshead",
  "Gatwick",
  "Gloucestershire",
  "Harlow",
  "Harrow",
  "Hastings",
  "Hawes",
  "Haworth",
  "Heathrow",
  "Hexham",
  "Hounslow",
  "Jersey",
  "Kent",
  "Keswick",
  "Lake District",
  "Ledbury",
  "Lee Valley - Stansted Airport",
  "Leeds",
  "Liverpool",
  "London",
  "Luton",
  "Manchester",
  "Middlesbrough",
  "Middlesex",
  "Newcastle upon Tyne",
  "Newquay",
  "North Yorkshire",
  "Nottingham",
  "Oxford",
  "Oxfordshire",
  "Penzance",
  "Plymouth",
  "Portsmouth",
  "Preston",
  "Reading",
  "Royston",
  "Salisbury",
  "Southampton",
  "St Ives",
  "Stansted",
  "Stratford-upon-Avon",
  "Surrey",
  "Torquay",
  "Warwick",
  "Winchester",
  "Windermere",
  "York"
);

var EstoniaArray = new Array(
  "Kuressaare",
  "Parnu",
  "South East Estonia",
  "Tallinn",
  "Tartu",
  "West Estonia"
);

var FijiArray = new Array(
  "Beachcomber Island",
  "Bekana Island",
  "Bounty Island",
  "Coral Coast",
  "Kadavu",
  "Lautoka",
  "Leleuvia Island",
  "Malolo Island",
  "Mana Beach",
  "Nadi",
  "Pacific Harbour",
  "Rakiraki",
  "Robinson Crusoe Island",
  "Savusavu",
  "Sigatoka",
  "Suva",
  "Taveuni",
  "Yanuca Island",
  "Yasawa Islands"
);

var FinlandArray = new Array(
  "Helsinki",
  "Inari",
  "Kotka",
  "Rovaniemi",
  "Tervola",
  "Vaasa"
);

var FranceArray = new Array(
  "Aix en Provence",
  "Albi",
  "Amboise",
  "Angers",
  "Annecy",
  "Antibes",
  "Arles",
  "Avignon",
  "Bandol",
  "Baux de Provence",
  "Beaucaire",
  "Beaufortain",
  "Beaune",
  "Bergerac",
  "Beziers",
  "Biarritz",
  "Bigluglia",
  "Blois",
  "Bordeaux",
  "Bourg St. Maurice",
  "Brest",
  "Cairanne",
  "Caissargues",
  "Cannes",
  "Carcassonne",
  "Carqueiranne",
  "Castres",
  "Chalon Sur Saone",
  "Chamonix",
  "Clermont-Ferrand",
  "Colmar",
  "Congenies",
  "Cordes",
  "Correze",
  "Courbevoie",
  "Crozon",
  "Deauville",
  "Dijon",
  "Draguignan",
  "Faverges",
  "Feucherolles",
  "Gourdon",
  "Grenoble",
  "Grigny",
  "Honfleur",
  "Hyeres",
  "Issy les Moulineaux",
  "Joue les Tours",
  "Juan les Pins",
  "La Rallerie",
  "La Reole",
  "La Rochelle",
  "Le Lavandou",
  "Le Mans",
  "Les Arcs",
  "Les Mureaux",
  "Lille",
  "Limay",
  "Limoges",
  "Limoges-Rochechouart",
  "Lourdes",
  "Lucciana",
  "Lyon",
  "Lyon-Massieux",
  "Marne-la-Vallee - Brie",
  "Marseille",
  "Marseille Airport",
  "Marvejols",
  "Mazamet",
  "Menton",
  "Montpellier",
  "Nanterre",
  "Nantes",
  "Narbonne",
  "Nice",
  "Nimes",
  "Orange",
  "Orly",
  "Ouistreham",
  "Paris",
  "Paris-Cergy Pontoise",
  "Paris-Disneyland",
  "Paris-La Defense",
  "Paris-Saint Denis",
  "Paris-Tremblay-en-France",
  "Pau",
  "Perigueux",
  "Perpignan",
  "Perros Guirec",
  "Poitiers",
  "Pontault Combault",
  "Pontlevot",
  "Pontrieux",
  "Prayssac",
  "Quillan",
  "Reims",
  "Rouen",
  "Rubelles",
  "Ruffec",
  "Sahorre",
  "Saint Cyr sur Mer",
  "Saint Gauburge",
  "Saint Julien en Genevois",
  "Saint Michel de Lanes",
  "Saint Raphael",
  "Saint Remy de Provence",
  "Saint-Malo",
  "Saint-Maximin",
  "Sainte Foy la Longue",
  "Saintes Maries de la Mer",
  "Salleles d'Aude",
  "Salon de Provence",
  "Sanary",
  "Saumur",
  "Savigny le Temple",
  "Semeac",
  "Six Fours les Plages",
  "Soupex",
  "St Emilion",
  "St. Palais de Phiolin",
  "Strasbourg",
  "Thones",
  "Toulon",
  "Toulouse",
  "Tours",
  "Tours-Chambray les Tours",
  "Varetz",
  "Vence",
  "Versailles",
  "Verteuil sur Charente",
  "Villedieu-les-Poeles",
  "Villefranche de Rouergue",
  "Villeneuve Loubet",
  "Vouvant",
  "Vouzon"
);

var FrenchPolynesiaArray = new Array(
  "Huahine",
  "Tahiti"
);

var GambiaArray = new Array(
  "Banjul",
  "Brufut",
  "Gunjur",
  "Kololi"
);

var GermanyArray = new Array(
  "Aachen",
  "Albbruck-Unteralpfen",
  "Augsburg",
  "Baden-Baden",
  "Bamberg",
  "Bautzen",
  "Berlin",
  "Bitburg",
  "Bochum",
  "Bonn",
  "Bottrop",
  "Bremen",
  "Cologne",
  "Dinkelsbuhl",
  "Dortmund",
  "Dreilinden",
  "Dresden",
  "Duisburg",
  "Dusseldorf",
  "Erfurt",
  "Essen",
  "Esslingen",
  "Flensburg",
  "Frankfurt",
  "Frankfurt Hahn",
  "Freiburg",
  "Friedrichshafen",
  "Fussen",
  "Garmisch-Partenkirchen",
  "Gersfeld",
  "Halle",
  "Hamburg",
  "Hannover",
  "Heide",
  "Heidelberg",
  "Heilbronn",
  "Hohenlinden",
  "Holsthum",
  "Kassel",
  "Kiel",
  "Kobern-Gondorf",
  "Koblenz",
  "Leipzig",
  "Lubeck",
  "Magdeburg",
  "Mannheim",
  "Muenster",
  "Munich",
  "Neustadt im Harz",
  "Nuremberg",
  "Offenbach",
  "Offenburg",
  "Osnabruck",
  "Regensburg",
  "Rostock",
  "Rothenburg",
  "Saarbrucken",
  "Schweinfurt",
  "Sinzig",
  "Steinfeld",
  "Stuttgart",
  "Traben-Trarbach",
  "Weimar",
  "Wiesbaden",
  "Wilhelmshaven",
  "Wurzburg"
);

var GhanaArray = new Array(
  "Accra",
  "Busua",
  "Busua via Dixcove",
  "Cape Coast",
  "Ho, Volta Region",
  "Tema"
);

var GreeceArray = new Array(
  "Aegina",
  "Agios Nikolaos",
  "Alexandroupolis",
  "Alonissos",
  "Andros",
  "Argalasti",
  "Athens",
  "Chalkidiki",
  "Chania",
  "Corfu",
  "Crete",
  "Delphi",
  "Epirus",
  "Evia",
  "Fira",
  "Gavdos",
  "Gouvia",
  "Hydra",
  "Ios",
  "Kalithies Rodou",
  "Karpathos",
  "Kefalonia",
  "Kerkyra",
  "Kissos",
  "Kos",
  "Lagonissi",
  "Loutraki",
  "Matala",
  "Mykonos",
  "Naoussa",
  "Naxos",
  "Olympia",
  "Parga",
  "Parikia",
  "Paros",
  "Pelion",
  "Perivolos",
  "Plomari",
  "Poros Island",
  "Porto Heli",
  "Rhodes",
  "Samos",
  "Santorini",
  "Sifnos",
  "Sithonia",
  "Skiathos",
  "Skyros",
  "Syros",
  "Thassos Island",
  "Thessaloniki",
  "Tinos",
  "Zakynthos",
  "Zakyntos",
  "Zante"
);

var GreenlandArray = new Array(
  "Qaqortoq"
);

var GuadeloupeArray = new Array(
  "Saint Francois"
);

var GuatemalaArray = new Array(
  "Antigua",
  "El Remate",
  "Guatemala City",
  "Jaibalito",
  "Lake Atitlan",
  "Nebaj"
);

var HaitiArray = new Array(
  "Port Salut"
);

var HondurasArray = new Array(
  "Copan Ruinas",
  "La Ceiba",
  "Roatan",
  "San Pedro Sula",
  "Tegucigalpa",
  "Tela"
);

var HongKongArray = new Array(
  "Causeway Bay",
  "Central District",
  "Kowloon"
);

var HungaryArray = new Array(
  "Balaton",
  "Balatonlelle",
  "Balatonszemes",
  "Budapest",
  "Gyenesdias",
  "Hegyko",
  "Heviz",
  "Kecskemet",
  "Mohacs",
  "Nagykanizsa",
  "Pecs",
  "Siofok",
  "Szeged",
  "Turkeve"
);

var IcelandArray = new Array(
  "Akureyri",
  "Grundarfjordur",
  "Hornafjoraur",
  "Keflavik",
  "Reykajvik",
  "Reykjavik"
);

var IndiaArray = new Array(
  "Agra",
  "Ahmedabad",
  "Ajmer",
  "Alappuzha",
  "Alleppey",
  "Bangalore",
  "Bardez",
  "Bikaner",
  "Chennai",
  "Cochin",
  "Colva",
  "Darjeeling",
  "Dehradun",
  "Dharamsala",
  "Ernakulam",
  "Goa",
  "Hardwar",
  "Havelock",
  "Jaipur",
  "Jaisalmer",
  "Jalandhar",
  "Jodhpur",
  "Kamshet",
  "Kanchipuram",
  "Kanha",
  "Kanha National Park",
  "Kanpur",
  "Kerala",
  "Kodaikanal",
  "Kolkata",
  "Kottayam",
  "Kovalam",
  "Kumarakom",
  "Lonavala",
  "Madurai",
  "Mahabalipuram",
  "Manali",
  "Mananthavady",
  "Mandrem",
  "Mathura",
  "Mumbai",
  "Munnar",
  "Mussoorie",
  "Mysore",
  "Nainital",
  "Nawalgarh",
  "New Delhi",
  "North Goa",
  "Panjim",
  "Port Blair",
  "Poshina",
  "Pune",
  "Pushkar",
  "Rajasthan",
  "Rishikesh",
  "Sakleshpur",
  "Shillong",
  "Shimla",
  "Shri Mahavir Ji",
  "Spiti Valley",
  "Srinagar",
  "Thanjavur",
  "Thekkady",
  "Tiruchirapalli",
  "Trivandrum",
  "Udaipur",
  "Varanasi",
  "Vellore"
);

var IndonesiaArray = new Array(
  "Bali",
  "Batam",
  "Biak",
  "Denpasar",
  "Jakarta",
  "Kuta",
  "Kuta Beach",
  "Lombok",
  "Lovina Beach",
  "Sanur",
  "Singaraja",
  "Surabaya",
  "Tabanan",
  "Ubud",
  "Yogyakarta"
);

var IrelandArray = new Array(
  "Achill Island",
  "Adare",
  "Annascaul",
  "Aran Islands",
  "Ashford",
  "Ballinasloe",
  "Ballinskelligs",
  "Ballycotton",
  "Ballyferriter",
  "Ballylongford",
  "Ballyvaughan",
  "Baltimore",
  "Bantry",
  "Bawnboy",
  "Beara",
  "Beaufort",
  "Belturbet",
  "Boyle",
  "Bray",
  "Buncrana",
  "Bundoran",
  "Cahersiveen",
  "Carlow",
  "Cashel",
  "Castlebar",
  "Clifden",
  "Cliffs of Moher",
  "Clonakilty",
  "Cobh",
  "Cong",
  "Connemara",
  "Cootehill",
  "Cork",
  "Corofin",
  "Dingle",
  "Donegal",
  "Doolin",
  "Drogheda",
  "Dublin",
  "Dundalk",
  "Dunfanaghy",
  "Dunmanway",
  "Ennis",
  "Galway",
  "Greystones",
  "Kells",
  "Kenmare",
  "Kerry",
  "Kilfenora",
  "Kilfinane",
  "Kilkee",
  "Kilkenny",
  "Killarney",
  "Killybegs",
  "Kilrush",
  "Kinsale",
  "Kinvara",
  "Knock",
  "Lahinch",
  "Limerick",
  "Lisdoonvarna",
  "Maynooth",
  "Midleton",
  "Mohill",
  "Mullingar",
  "Navan",
  "New Ross",
  "Newcastle West",
  "Newgrange",
  "Newmarket on Fergus",
  "Newport",
  "Offaly",
  "Oughterard",
  "Portmagee",
  "Rathgormack",
  "Rosslare Harbour",
  "Shannon",
  "Shannon Harbour",
  "Skibbereen",
  "Sligo",
  "Sneem",
  "Swanlinbar",
  "Tarbert",
  "The Burren",
  "Tipperary",
  "Tivoli",
  "Tralee",
  "Waterford",
  "Waterville",
  "Westport",
  "Wexford",
  "Wicklow",
  "Youghal"
);

var IsraelArray = new Array(
  "Binyamina",
  "Galilee",
  "Jerusalem",
  "Nazareth",
  "Tel Aviv"
);

var ItalyArray = new Array(
  "Abano Terme",
  "Abbadia San Salvatore-Siena",
  "Acicastello",
  "Acireale",
  "Acquapendente",
  "Agnone",
  "Agrigento",
  "Agropoli",
  "Alberobello",
  "Alessandria",
  "Alghero",
  "Amalfi",
  "Amalfi Coast",
  "Amelia",
  "Ancona",
  "Andria",
  "Arbus",
  "Arcugnano",
  "Arezzo",
  "Argegno",
  "Ascoli Piceno",
  "Asiago",
  "Assisi",
  "Asti",
  "Azzani - Loiri Porto san Paolo",
  "Barberino Val d'Elsa",
  "Bardolino",
  "Bari",
  "Barletta",
  "Bedizzole",
  "Bergamo",
  "Bergamo-Foresto Sparso",
  "Bologna",
  "Bolzano",
  "Borgia",
  "Bosa",
  "Brembate",
  "Brescia",
  "Brindisi",
  "Buonopane",
  "Cagliari",
  "Cala Gonone",
  "Calco",
  "Caldogno",
  "Caltagirone",
  "Camaiore-Lucca",
  "Camerana",
  "Campofelice di Roccella",
  "Cannobio",
  "Capri",
  "Caprie Val Susa",
  "Carlentini",
  "Casole D'elsa",
  "Cassine",
  "Cassino",
  "Castelgandolfo",
  "Castellammare del Golfo",
  "Castellana Grotte",
  "Castelsardo",
  "Castiglione D'orcia",
  "Catania",
  "Cattolica",
  "Cava de' Tirreni",
  "Cavriglia",
  "Cefalu",
  "Ceraso",
  "Certaldo",
  "Cervia",
  "Cesana Torinese",
  "Cesano di Roma",
  "Cesena",
  "Chianciano",
  "Chianti",
  "Chioggia",
  "Chiusi",
  "Ciampino",
  "Cinque Terre",
  "Civita Castellana",
  "Civitavecchia",
  "Collepietro",
  "Como",
  "Conflenti",
  "Controguerra",
  "Cortona",
  "Courmayeur",
  "Cropani Marina",
  "Deiva Marina",
  "Desenzano del Garda",
  "Dobbiaco",
  "Dolceacqua",
  "Dolo",
  "Erice",
  "Este",
  "Etna",
  "Falcade",
  "Feltre",
  "Ferentillo",
  "Ferrara",
  "Fiumicino",
  "Florence",
  "Foligno",
  "Forli",
  "Forte dei Marmi",
  "Frascati",
  "Furore",
  "Gaeta",
  "Galatina",
  "Gallipoli",
  "Gatteo Mare",
  "Genoa",
  "Giardini Naxos",
  "Giarre",
  "Gibellina",
  "Greve in Chianti",
  "Grosseto",
  "Grosseto Roccatederighi",
  "Guardavalle",
  "Gubbio",
  "Impruneta",
  "Ischia",
  "Iseo",
  "Isola Rossa",
  "Isole Eolie",
  "Jesi",
  "L' Aquila",
  "La Spezia",
  "Lake Maggiore",
  "Lake of Como",
  "Lake of Garda",
  "Lake of Iseo",
  "Lake Trasimeno",
  "Lamezia Terme",
  "Lanuvio",
  "Lecce",
  "Lecce Vernole",
  "Lerici",
  "Levico Terme",
  "Lido di Jesolo",
  "Lipari",
  "Livorno",
  "Lizzano in Belvedere",
  "Lovere",
  "Lucca",
  "Lunamatrona",
  "Macerata",
  "Magliano Sabina",
  "Maglie",
  "Maida",
  "Maiori",
  "Malpensa",
  "Mantignana",
  "Marina di Massa",
  "Marina di Pietrasanta",
  "Marina Romea",
  "Massa Lubrense",
  "Massarella",
  "Mazara del Vallo",
  "Merano",
  "Merate",
  "Mercato San Severino",
  "Messina",
  "Mestre",
  "Meta di Sorrento",
  "Miane",
  "Miglianico",
  "Milan",
  "Milazzo",
  "Modena",
  "Modica",
  "Monopoli",
  "Montecatini Terme",
  "Montecatini Val di Cecina",
  "Montechiaro",
  "Montelparo",
  "Montepulciano",
  "Monteriggioni",
  "Montichiari",
  "Monzuno",
  "Mozzo",
  "Murlo",
  "Naples",
  "Naples-Pozzuoli",
  "Naples-Sant'Antimo",
  "Nicolosi",
  "Norcia",
  "Notaresco",
  "Noto",
  "Nova Ponente",
  "Ognina",
  "Olbia",
  "Olmedo",
  "Oria",
  "Oristano",
  "Orvieto",
  "Ostuni",
  "Otranto",
  "Padua",
  "Paestum",
  "Palaia",
  "Palermo",
  "Palmadula",
  "Parma",
  "Pedara",
  "Perugia",
  "Pesaro",
  "Pescara",
  "Peschiera Borromeo",
  "Peschiera del Garda",
  "Pescosolido",
  "Piacenza",
  "Piano di Sorrento",
  "Pienza",
  "Pietralunga",
  "Pieve di Ledro",
  "Piombino",
  "Pisa",
  "Pistoia",
  "Ploaghe-Sassari",
  "Poggibonsi",
  "Poggiofiorito",
  "Poggiorsini",
  "Pompei",
  "Ponte San Pietro",
  "Pontedera",
  "Porretta Terme",
  "Porto Recanati",
  "Portofino-Leivi",
  "Positano",
  "Possagno",
  "Praia a Mare",
  "Praiano",
  "Prato",
  "Pula",
  "Quartu Sant'Elena",
  "Quiliano",
  "Racalmuto-Agrigento",
  "Radda in Chianti",
  "Ragusa",
  "Ranzanico",
  "Ravenna",
  "Rieti",
  "Rimini",
  "Ripa Teatina",
  "Riva del Garda",
  "Roccadaspide",
  "Rodi Garganico",
  "Rome",
  "Rome Ciampino",
  "Rosolina",
  "Rovereto",
  "Rubiana Susa Valley",
  "S.Agata Sui Due Golfi",
  "Salerno",
  "Salerno-Raito di Vietri Sul Mare",
  "Salsomaggiore Terme",
  "San Fedele D'Intelvi",
  "San Felice Circeo",
  "San Gimignano",
  "San Giorgio",
  "San Giovanni Rotondo",
  "San Giuliano Terme",
  "San Pietro di Feletto",
  "San Remo",
  "San Teodoro",
  "San Vito Lo Capo",
  "Sant Agnello",
  "Sant Alessio Siculo",
  "Sant' Agata sui due Golfi",
  "Santa Margherita Ligure",
  "Sapri",
  "Sassari",
  "Sassetta",
  "Saturnia",
  "Savigno",
  "Sciacca",
  "Segesta",
  "Seiano of Sorrento",
  "Selinunte",
  "Selvino",
  "Senigallia",
  "Sermoneta",
  "Sesto Fiorentino",
  "Siena",
  "Siena Sovicille",
  "Silvi Marina",
  "Sinalunga",
  "Siracusa",
  "Sorrento",
  "Sovicille",
  "Spello",
  "Spoleto",
  "St Antonio di Antadi",
  "Stazzema",
  "Stresa",
  "Stromboli",
  "Subbiano",
  "Susa",
  "Syracuse",
  "Taormina",
  "Tavarnelle Val di Pesa",
  "Termini Imerese",
  "Todi",
  "Tollo",
  "Torre dei Corsari",
  "Torre di Ruggiero",
  "Tottubella",
  "Tovena",
  "Trani",
  "Trapani",
  "Trento",
  "Treviso",
  "Trieste",
  "Trieste-Airport",
  "Tropea",
  "Turin",
  "Uta",
  "Vaglia",
  "Valdidentro",
  "Valledoria",
  "Vasto Marina",
  "Venice",
  "Venice Borgoricco",
  "Venice Chioggia",
  "Venice Dolo",
  "Venice Lido",
  "Venice Mestre",
  "Venice Mira",
  "Venice Tessera",
  "Venice-Malcontenta",
  "Venice-Mirano",
  "Ventimiglia",
  "Vergemoli",
  "Verona",
  "Viareggio",
  "Vieste",
  "Vignale Monferrato",
  "Viterbo",
  "Vittorio Veneto",
  "Volterra",
  "Zafferana Etnea"
);

var JamaicaArray = new Array(
  "Browns Town",
  "Kingston",
  "Montego Bay",
  "Negril",
  "Port Antonio",
  "Port Maria",
  "Priory",
  "St Ann's Bay",
  "St. Ann Runaway Bay",
  "St. Mary",
  "Treasure Beach",
  "Westmoreland"
);

var JapanArray = new Array(
  "Aomori",
  "Beppu city",
  "Beppu Spa Resort",
  "Fukuoka City",
  "Fukushima Prefecture",
  "Gifu city",
  "Gunma",
  "Hakodate",
  "Hakone National Park",
  "Hida Takayama",
  "Hiroshima",
  "Hokkaido",
  "Ise-shima National Park",
  "Iwate Prefecture",
  "Izu Peninsula",
  "Kamakura",
  "Kanagawa",
  "Kanazawa",
  "Kansai International Airport",
  "Kinugawa Spa (Nikko National Park)",
  "Kitakyushu city",
  "Kobe",
  "Kochi",
  "Kumamoto-shi",
  "Kurashiki city",
  "Kyoto",
  "Matsuyama Dogo Spa",
  "Minakami",
  "Mount Fuji",
  "Nagano",
  "Nagasaki",
  "Nagoya",
  "Nara",
  "Nara (Sakurai city)",
  "Narita City",
  "Narita Int'l AP",
  "Nasu",
  "Nikko",
  "Okinawa",
  "Osaka",
  "Sapporo",
  "Shizuoka",
  "Tanabe",
  "Tokyo",
  "Ureshino Spa",
  "Volcano Aso",
  "Yokohama",
  "Yokohama City"
);

var JordanArray = new Array(
  "Amman",
  "Aqaba",
  "Dana City",
  "Madaba",
  "Petra"
);

var KenyaArray = new Array(
  "Lamu",
  "Mombasa",
  "Nairobi",
  "Nyahururu"
);

var KyrgyzstanArray = new Array(
  "Bishkek"
);

var LaosArray = new Array(
  "Luang Prabang",
  "Phonsavan",
  "Vangvieng",
  "Vientiane"
);

var LatviaArray = new Array(
  " Limbazi",
  "Liepaja",
  "Riga",
  "Sigulda",
  "Tukums"
);

var LebanonArray = new Array(
  "Beirut",
  "Jounieh",
  "Sidon"
);

var LesothoArray = new Array(
  "Malealea"
);

var LiechtensteinArray = new Array(
  "Schaan"
);

var LithuaniaArray = new Array(
  "Druskininkai",
  "Kaunas",
  "Klaipeda",
  "Vilnius"
);

var LuxembourgArray = new Array(
  "Luxembourg"
);

var MacauArray = new Array(
  "Macau"
);

var MacedoniaArray = new Array(
  "Ohrid",
  "Skopje"
);

var MadagascarArray = new Array(
  "Antananarivo",
  "Majunga",
  "Sainte Marie"
);

var MalawiArray = new Array(
  "Blantyre",
  "Lilongwe"
);

var MalaysiaArray = new Array(
  "Alor Setar",
  "Ipoh",
  "Johor Bahru",
  "Kota Belud",
  "Kota Bharu",
  "Kota Kinabalu",
  "Kuala Lumpur",
  "Kuala Terengganu",
  "Kuching",
  "Kulai",
  "Langkawi",
  "Melaka",
  "Miri",
  "Penang",
  "Perak",
  "Petaling Jaya",
  "Sandakan",
  "Semporna",
  "Shah Alam",
  "Sibu Island"
);

var MaltaArray = new Array(
  "Bugibba",
  "Ghajnsielem",
  "Gozo",
  "Gzira",
  "Marsalforn",
  "Mellieha",
  "Sannat",
  "Sliema",
  "St Julians",
  "St. Julians",
  "Valletta",
  "Victoria",
  "Xlendi"
);

var MauritiusArray = new Array(
  "Black River",
  "Flic En Flac",
  "Grand Bay",
  "Mahe",
  "Mont Choisy",
  "Pereybere",
  "Port Louis",
  "Quatre Bornes",
  "Tombeau Bay",
  "Trou aux Biches"
);

var MexicoArray = new Array(
  "Acapulco",
  "Cabo San Lucas",
  "Campeche",
  "Cancun",
  "Celestun",
  "Chihuahua",
  "Cozumel",
  "Cuernavaca",
  "Ensenada",
  "Guadalajara",
  "Guanajuato",
  "Isla Mujeres",
  "Mahahual",
  "Merida",
  "Mexico City",
  "Monterrey",
  "Morelia",
  "Oaxaca",
  "Papantla",
  "Playa del Carmen",
  "Progreso",
  "Puebla",
  "Puerto Escondido",
  "Puerto Vallarta",
  "Queretaro",
  "San Cristobal de las Casas",
  "San Miguel de Allende",
  "Taxco",
  "Tijuana",
  "Tulum",
  "Valladolid",
  "Villa Victoria",
  "Xalapa",
  "Zacatecas",
  "Zihuatanejo"
);

var MicronesiaArray = new Array(
  "Lelu"
);

var MoldovaArray = new Array(
  "Chisinau",
  "Ivancea",
  "Krasnaya Besarabka",
  "Tiraspol"
);

var MonacoArray = new Array(
  "Monaco"
);

var MongoliaArray = new Array(
  "Ulaanbaatar",
  "Ulgy"
);

var MontenegroArray = new Array(
  "Budva",
  "Kotor"
);

var MontserratArray = new Array(
  "Montserrat",
  "Salem"
);

var MoroccoArray = new Array(
  "Agadir",
  "Casablanca",
  "Chaouen",
  "Essaouira",
  "Fes",
  "Imelghas",
  "Marrakech",
  "Merzouga",
  "Rabat",
  "Tanger",
  "Tangier",
  "Zagora"
);

var MozambiqueArray = new Array(
  "Maputo"
);

var MyanmarArray = new Array(
  "Yangon"
);

var NamibiaArray = new Array(
  "Swakopmund",
  "Walvis Bay",
  "Windhoek"
);

var NepalArray = new Array(
  "Bhaktapur",
  "Chitwan",
  "Kathmandu",
  "Pokhara",
  "Royal Chitwan National Park"
);

var NetherlandsArray = new Array(
  "Aarle-Rixtel",
  "Afalst",
  "Amsterdam",
  "Apeldoorn",
  "Arnhem",
  "Asten-Eindhoven",
  "Bakkum",
  "Bergen op Zoom",
  "De Koog",
  "Delft",
  "Den Burg",
  "Domburg",
  "Dordrecht",
  "Eext",
  "Egmond",
  "Etten-Leur",
  "Haarlem",
  "Heemskerk",
  "Helmond",
  "Hilversum",
  "Hollum-Ameland",
  "Loppersum",
  "Maastricht",
  "Noordwijk",
  "Rotterdam",
  "Sluis",
  "Soest",
  "The Hague",
  "Tilburg",
  "Utrecht",
  "Valkenswaard",
  "West -Terschelling",
  "Wijhe",
  "Workum"
);

var NetherlandsAntillesArray = new Array(
  "Banda Abou",
  "Bonaire",
  "Saba",
  "St. Maarten"
);

var NewZealandArray = new Array(
  "Akaroa",
  "Auckland",
  "Blenheim",
  "Charleston",
  "Christchurch",
  "Coromandel",
  "Dunedin",
  "Fairlie",
  "Franz Josef",
  "Golden Bay",
  "Greymouth",
  "Hamilton",
  "Invercargill",
  "Kaikoura",
  "Kaitaia",
  "Kapiti Coast",
  "KeriKeri",
  "Lake Tekapo",
  "Martinborough",
  "Methven",
  "Moeraki",
  "Mt Cook",
  "Napier",
  "Nelson",
  "New Plymouth",
  "Oamaru",
  "Opoutere",
  "Otago",
  "Paihia",
  "Picton",
  "Queenstown",
  "Rotorua",
  "Taihape",
  "Tairua",
  "Taupo",
  "Tauranga",
  "Te Anau",
  "Thames",
  "Waitomo",
  "Wanaka",
  "Wanganui",
  "Wellington",
  "Whangarei",
  "Whitianga"
);

var NicaraguaArray = new Array(
  "Corn Island",
  "Granada",
  "Jinotega",
  "Managua",
  "Pochomil",
  "San Juan del Sur"
);

var NigeriaArray = new Array(
  "Abuja"
);

var NorthernIrelandArray = new Array(
  "Armagh",
  "Ballycastle",
  "Ballymena",
  "Belfast",
  "Bushmills",
  "Castlerock",
  "Derry",
  "Enniskillen",
  "Fermanagh",
  "Mourne Mountains",
  "Newcastle",
  "Omagh"
);

var NorwayArray = new Array(
  "Bergen",
  "Hamar",
  "Hellesoy",
  "Honningsvag",
  "Karasjok",
  "Kristiansand",
  "Lillehammer",
  "Oslo",
  "Solvorn",
  "Trondheim",
  "Ulvik",
  "Voss"
);

var OmanArray = new Array(
  "Muscat"
);

var PanamaArray = new Array(
  "Bocas del Toro",
  "Boquete",
  "Colon",
  "David City",
  "Las Nubes",
  "Panama City",
  "Penonome",
  "Santa Rita Arriba",
  "Volcan"
);

var PapuaNewGuineaArray = new Array(
  "Port Moresby"
);

var ParaguayArray = new Array(
  "Altos",
  "Asuncion"
);

var PeruArray = new Array(
  "Arequipa",
  "Cusco",
  "Huaraz",
  "Ica",
  "Iquitos",
  "Juliaca",
  "Lima",
  "Machu Picchu",
  "Madre de Dios",
  "Nazca",
  "Piura",
  "Puerto Maldonado",
  "Puno",
  "Tarma",
  "Trujillo",
  "Valle Sagrado"
);

var PhilippinesArray = new Array(
  "Angeles",
  "Boracay Island",
  "Camiguin",
  "Cavite",
  "Dapitan City",
  "Dauin",
  "Davao City",
  "Dumaguete",
  "Larena  Sandugan Beach",
  "Makati",
  "Manila",
  "Puerto Galera",
  "Puerto Princesa City",
  "Siquijor",
  "Surigao City"
);

var PolandArray = new Array(
  "Baligrod",
  "Czorsztyn",
  "Gdansk",
  "Grzybowo",
  "Karpacz",
  "Kolobrzeg",
  "Krakow",
  "Leba",
  "Lodz",
  "Lupkow",
  "Nowe",
  "Polanica Zdroj",
  "Poznan",
  "Sobacz",
  "Sopot",
  "Torun",
  "Ustka",
  "Warsaw",
  "Wieliczka",
  "Wroclaw",
  "Zakopane"
);

var PortugalArray = new Array(
  "Agua de Moura",
  "Albufeira",
  "Apulia",
  "Bemposta",
  "Braga",
  "Bussaco",
  "Caldas da Rainha",
  "Cascais",
  "Castelo de Vide",
  "Coimbra",
  "Costa da Caparica",
  "Evora",
  "Faro",
  "Fatima",
  "Figueira da Foz",
  "Funchal",
  "Fundao",
  "Lagos",
  "Lisbon",
  "Lisbon-Alenquer",
  "Miranda do Douro",
  "Monchique",
  "Nazare",
  "Obidos",
  "Pinhao",
  "Ponta Delgada",
  "Porches-Algarbe",
  "Porto",
  "Porto-Villa do Conde",
  "Queluz-Lisbon",
  "Santa Clara a Velha",
  "Santa Clara-a-Velha",
  "Serra D'el Rei-Peniche",
  "Setubal",
  "Sintra",
  "St Antonio da Caparica",
  "Tavira",
  "Viana do Castelo",
  "Vila Nova de Gaia",
  "Vilamoura-Loule",
  "Viseu"
);

var PuertoRicoArray = new Array(
  "Lajas",
  "Rincon",
  "Rio Blanco",
  "San Juan"
);

var ReunionArray = new Array(
  "Entre Deux",
  "Saint Denis",
  "Salazie",
  "St Gilles les Hauts"
);

var RomaniaArray = new Array(
  "Bran",
  "Brasov",
  "Bucharest",
  "Campulung-Muscel",
  "Cluj-Napoca",
  "Danube Delta",
  "Galati",
  "Gura Humorului",
  "Gura Raului",
  "Maramures",
  "Moldovita",
  "Nasaud",
  "Rasinari",
  "Salciua",
  "Saliste",
  "Sibiel",
  "Sibiu",
  "Sighetu Marmatiei",
  "Sighisoara",
  "Suceava",
  "Targu Ocna",
  "Timisoara",
  "Vama"
);

var RussiaArray = new Array(
  "Irkutsk",
  "Listvyanka",
  "Moscow",
  "Olkhon Island",
  "St Petersburg"
);

var SaintLuciaArray = new Array(
  "Castries",
  "Gros Islet",
  "Mamiku",
  "Marigot Bay",
  "Micoud",
  "Rodney Bay",
  "Vieux Fort"
);

var SamoaArray = new Array(
  "Apia"
);

var ScotlandArray = new Array(
  "Aberdeen",
  "Aviemore",
  "Ayr",
  "Ayrshire",
  "Ballater",
  "Banff",
  "Ben Lomond",
  "Braemar",
  "Callander",
  "Canisbay",
  "Carbisdale",
  "Coldingham",
  "Crianlarich",
  "Crieff",
  "Dumfries",
  "Durness",
  "Edinburgh",
  "Falkland",
  "Fort William",
  "Gairloch",
  "Glasgow",
  "Glencoe",
  "Glendevon",
  "Glenmoriston",
  "Grantown-on-Spey",
  "Inveraray",
  "Inverey by Braemar",
  "Inverness",
  "Isle of Arran",
  "Isle of Skye",
  "Kelso",
  "Killin",
  "Kingussie",
  "Kirkwall",
  "Kyle of Lochalsh",
  "Lairg",
  "Loch Lomond",
  "Loch Ness",
  "Melrose",
  "New Lanark",
  "Newtonmore",
  "Oban",
  "Orkney Islands",
  "Perth",
  "Pitlochry",
  "Prestwick",
  "Ratagan",
  "St Andrews",
  "Stirling",
  "Stirlingshire",
  "Sutherland",
  "Thurso",
  "Tomintoul",
  "Tongue",
  "Torridon",
  "Troon",
  "Ullapool",
  "Wanlockhead",
  "Yarrowford"
);

var SenegalArray = new Array(
  "Dakar",
  "Ziguinchor"
);

var SerbiaArray = new Array(
  "Belgrade"
);

var SeychellesArray = new Array(
  "Mahe Island"
);

var SingaporeArray = new Array(
  "Singapore"
);

var SlovakiaArray = new Array(
  "Banska Stiavnica",
  "Bratislava",
  "Dobsina",
  "High Tatras",
  "Hrabusice",
  "Kosice",
  "Liptovsky Hradok",
  "Liptovsky Mikulas",
  "Low Tatras",
  "Prosiek",
  "Ruzemberok",
  "Zdiar"
);

var SloveniaArray = new Array(
  "Bled",
  "Bohinj",
  "Bovec",
  "Branik",
  "Brestanica",
  "Cerklje",
  "Idrija",
  "Kobarid",
  "Koper",
  "Kranjska Gora",
  "Ljubljana",
  "Ljubno ob Savinji",
  "Logatec",
  "Maribor",
  "Medvode",
  "Piran",
  "Portoroz",
  "Postojna",
  "Radomlje",
  "Tolmin",
  "Trenta",
  "Zalec"
);

var SouthAfricaArray = new Array(
  "Addo",
  "Barberton",
  "Cape Town",
  "Cederberg Concervancy",
  "Champagne Valley",
  "Cintsa",
  "Coffee Bay",
  "Colesberg",
  "Drakensberg",
  "Durban",
  "Durban North",
  "East London",
  "Eastern Cape",
  "Eshowe",
  "Franschhoek",
  "Gansbaai",
  "Gauteng",
  "Gingingdlovu",
  "Graaff-Reinet",
  "Grahamstown",
  "Graskop",
  "Greyton",
  "Harkerville",
  "Hartbeespoort",
  "Hazyview",
  "Hectorspruit",
  "Hermanus",
  "Hluhluwe",
  "Jeffreys Bay",
  "Johannesburg",
  "Katberg",
  "Kempton Park",
  "Knysna",
  "Komatipoort",
  "Kruger Park",
  "Kwa Zulu Natal",
  "Kwazulu Natal",
  "Lephalala",
  "Leydsdorp",
  "Marloth Park",
  "Middelburg",
  "Montagu",
  "Mossel Bay",
  "Mpande",
  "Mpumalanga",
  "Nelspruit",
  "Nieu Bethesda",
  "Oudtshoorn",
  "Phalaborwa",
  "Pietermaritzburg",
  "Plettenberg Bay",
  "Port Edward",
  "Port Elizabeth",
  "Port St Johns",
  "Potgietersrus Mokopane",
  "Pretoria",
  "Prince Albert",
  "Ramsgate",
  "Robertson",
  "Sabie",
  "Saldanha Bay",
  "Simonstown",
  "Somerset West",
  "Southbroom",
  "St Francis Bay",
  "St Lucia",
  "Stellenbosch",
  "Storms River",
  "Struisbaai",
  "Tsitsikamma",
  "Tzaneen",
  "Umkomaas",
  "Upington",
  "Western Cape",
  "Wilderness"
);

var SouthKoreaArray = new Array(
  "Busan",
  "Gyeong-ju",
  "Incheon",
  "Jeju Island",
  "Kangwon-do",
  "Seoul"
);

var SpainArray = new Array(
  "Abanto-Zierbena",
  "Alaro",
  "Alcala de Henares",
  "Alcorisa",
  "Alfaz del Pi",
  "Algorfa",
  "Alicante",
  "Almeria",
  "Alora",
  "Alpujarra de la Sierra",
  "Antequera",
  "Arcos de la Frontera",
  "Aviles",
  "Badajoz",
  "Baeza",
  "Barcelona",
  "Bastiagueiro",
  "Bayarcal",
  "Bedmar",
  "Benalmadena",
  "Benicarlo",
  "Berga",
  "Berzocana",
  "Betren - Viella",
  "Bilbao",
  "Blanes",
  "Bocairent",
  "Bolnuevo",
  "Bubion",
  "Burgos",
  "Caceres",
  "Cadiz",
  "Calatayud",
  "Calella",
  "Calpe",
  "Campos",
  "Cartagena",
  "Cazalla de la Sierra",
  "Chipiona",
  "Conil de la Frontera",
  "Cordoba",
  "Denia",
  "El Elegido",
  "El Puerto de Santa Maria",
  "Empuriabrava",
  "Estepona",
  "Frigiliana",
  "Fuengirola",
  "Fuente del Maestre",
  "Fuerteventura",
  "Gaucin",
  "Girona",
  "Girona-Palamos",
  "Gran Canaria Is. (Canary Is)",
  "Granada",
  "Granada- Almunecar",
  "Gurrea De Gallego(Huesca)",
  "Ibiza",
  "Islantilla",
  "Istan",
  "Jaen",
  "Jerez de la Frontera",
  "La Coruna",
  "La Lastrilla",
  "La Manga Del Mar Menor",
  "La Selva Del Camp",
  "La Seu d Urgell",
  "Lanjaron",
  "Lanjaron-Alpujarra",
  "Las Cabezas",
  "Las Negras(Nijar)",
  "Las Palmas de Gran Canaria",
  "Leon",
  "Llanes Asturias",
  "Lleida",
  "Lloret de Mar",
  "Logrono",
  "Los Belones",
  "Los Palacios y Villafranca",
  "Lucena",
  "Lugo",
  "Madrid",
  "Malaga",
  "Malgrat De Mar",
  "Mallorca",
  "Manilva",
  "Marbella",
  "Margarida-Planes",
  "Mazagon",
  "Mazaricos",
  "Medina del Campo",
  "Mentera. Santander",
  "Mijas",
  "Mino - A Coruna",
  "Monistrol de Montserrat",
  "Montseny",
  "Murcia",
  "Murguia",
  "Naron - Ferrol",
  "Navacerrada",
  "Navajas",
  "Nerja",
  "Noriega-Asturias",
  "Oviedo",
  "Palma de Mallorca",
  "Palma del Rio",
  "Pamplona",
  "Peniscola",
  "Periana",
  "Pineda de Mar",
  "Ponferrada",
  "Pontevedra",
  "Porreres",
  "Port de Soller",
  "Prats I Sansor",
  "Priego De Cordoba-Cordoba",
  "Puerto de Alcudia",
  "Puerto de Santa Maria",
  "Puerto del Carmen",
  "Ronda",
  "Roses Rosas",
  "Sabadell",
  "Sabiote",
  "Salamanca",
  "Salobrena",
  "Salou",
  "San Antonio",
  "San Jose",
  "San Sebastian",
  "San Vicente de la Barquera",
  "Sant Feliu de Guixols",
  "Santa Perpetua de Mogoda",
  "Santaballa-Villalba",
  "Santander",
  "Santander-Cabezon de la Sal",
  "Santiago de Compostela",
  "Segura de la Sierra",
  "Seville",
  "Sierra Nevada-Granada",
  "Sitges",
  "Sos del Rey Catolico",
  "Tarifa",
  "Tarragona",
  "Tenerife",
  "Toledo",
  "Torre del mar",
  "Torrelavega",
  "Torremolinos",
  "Torrevieja",
  "Tortosa",
  "Tossa de Mar",
  "Trevelez",
  "Trujillo",
  "Ubeda",
  "Ugijar",
  "Uncastillo",
  "Valencia",
  "Valencia de Alcantara",
  "Valladolid",
  "Valls",
  "Vielha",
  "Vigo",
  "Villanuava del Arzobispo",
  "Vitoria",
  "Zaragoza"
);

var SriLankaArray = new Array(
  "Anuradhapura",
  "Colombo",
  "Galle",
  "Hikkaduwa",
  "Kandy"
);

var SwazilandArray = new Array(
  "Mbabane"
);

var SwedenArray = new Array(
  "Arjang",
  "Degerhamn",
  "Falun",
  "Gnarp",
  "Gothenburg",
  "Helsingborg",
  "Horby",
  "Nykoping",
  "Solna",
  "Stockholm",
  "Stromsbruk",
  "Tarnaby",
  "Uppsala",
  "Vasteras",
  "Västervik"
);

var SwitzerlandArray = new Array(
  "Adelboden",
  "Aeschi",
  "Aeschlen ob Gunten",
  "Aigle",
  "Alpnachstad",
  "Andermatt",
  "Ardez",
  "Arienz",
  "Avenches",
  "Basel",
  "Bergun Bravuogn",
  "Bern",
  "Bevaix",
  "Biel",
  "Biel-Bienne",
  "Bivio",
  "Boltigen",
  "Boudevilliers",
  "Braunwald",
  "Brig",
  "Bulle",
  "Celerina",
  "Cortaillod",
  "Davos",
  "Faulensee",
  "Fiesch",
  "Fluelen",
  "Geneva",
  "Giswil",
  "Goldiwil",
  "Grenchen",
  "Grindelwald",
  "Gryon",
  "Gstaad",
  "Heiligenschwendi",
  "Hergiswil",
  "Interlaken",
  "Iseltwald",
  "Kandersteg",
  "Kemmeriboden",
  "Kiental",
  "Kloten",
  "L'Etivaz",
  "La Chaux-de-Fonds",
  "Lausanne",
  "Lauterbrunnen",
  "Le Chable",
  "Les Brenets",
  "Lindenweidli",
  "Locarno",
  "Locarno-Muralto",
  "Lucerne",
  "Meiringen",
  "Montreux",
  "Montreux-Vevey",
  "Muntelier",
  "Murren",
  "Murten",
  "Neuchatel",
  "Nods",
  "Pontresina",
  "Portalban",
  "Rougemont",
  "Saanen",
  "Saas-Fee",
  "Saas-Grund",
  "Samedan",
  "Sedrun",
  "Sent",
  "St. Moritz",
  "Vevey",
  "Weissbad",
  "Wengen",
  "Wilderswil",
  "Winterthur",
  "Wolfisberg",
  "Yverdon-les-Bains",
  "Zermatt",
  "Zug",
  "Zuoz",
  "Zurich"
);

var SyriaArray = new Array(
  "Damascus"
);

var TaiwanArray = new Array(
  "Changhua",
  "Hualien",
  "Ilan",
  "Kaohsiung",
  "Lienkiang",
  "Taipei",
  "Taitung"
);

var TanzaniaArray = new Array(
  "Arusha",
  "Dar es Salaam",
  "Jambiani",
  "Kilimanjaro",
  "Moshi",
  "Mwanza",
  "Zanzibar"
);

var ThailandArray = new Array(
  "Ao Nang",
  "Ayutthaya",
  "Bangkok",
  "Buriram",
  "Chiang Khong",
  "Chiang Mai",
  "Chiang Rai",
  "Chumphon",
  "Hua Hin",
  "Kaengkrachan",
  "Kanchanaburi",
  "Karon Beach",
  "Khao Lak",
  "Khon Kaen",
  "Koh Chang",
  "Koh Lanta",
  "Koh Pha Ngan",
  "Koh Phangan",
  "Koh Phi Phi",
  "Koh Samui",
  "Koh Tao",
  "Koh Yao",
  "Krabi",
  "Lampang",
  "Mae Sai",
  "Maehongson",
  "Muang",
  "Nang Rong",
  "Pakchong",
  "Patong",
  "Patong Beach",
  "Pattaya",
  "Petchburi",
  "Phuket",
  "Prachuap Khiri Khan",
  "Rayong",
  "Sattahip",
  "Songkhla",
  "Sukhothai",
  "Ubon Ratchathani"
);

var TongaArray = new Array(
  "Nuku'alofa",
  "Vava'u"
);

var TrinidadandTobagoArray = new Array(
  "Buccoo Point",
  "Crown Point",
  "Diego Martin",
  "Englishman's Bay",
  "Maracas Bay",
  "Maraval",
  "Santa Cruz",
  "Scarborough"
);

var TunisiaArray = new Array(
  "Hammamet",
  "Monastir",
  "Nabeul",
  "Tunis"
);

var TurkeyArray = new Array(
  "Antalya",
  "Assos",
  "Ayvalik",
  "Bodrum",
  "Canakkale",
  "Cappadocia",
  "Cirali",
  "Dalyan",
  "Datca",
  "Duzce",
  "Egirdir",
  "Fethiye",
  "Goreme",
  "Gulluk-Bodrum",
  "Göreme",
  "Hisaronu",
  "Istanbul",
  "Izmir",
  "Kas",
  "Kemer",
  "Koycegiz",
  "Kusadasi",
  "Marmaris",
  "Mugla",
  "Mustafapasa",
  "Nevsehir",
  "Nigde",
  "Olympos",
  "Pamukkale",
  "Selcuk",
  "Urgup"
);

var UKArray = new Array(
  "Aberdeen",
  "Abersoch",
  "Armagh",
  "Ashby de la Zouch",
  "Aviemore",
  "Ayr",
  "Ayrshire",
  "Ballater",
  "Ballycastle",
  "Ballymena",
  "Banff",
  "Bath",
  "Belfast",
  "Ben Lomond",
  "Berkshire",
  "Berwick on Tweed",
  "Betws-y-Coed",
  "Birmingham",
  "Blackpool",
  "Bournemouth",
  "Bradford",
  "Braemar",
  "Brecon",
  "Brighton",
  "Bristol",
  "Bude",
  "Burnham Deepdale",
  "Bushmills",
  "Caernarfon",
  "Callander",
  "Cambridge",
  "Canisbay",
  "Canterbury",
  "Carbisdale",
  "Cardiff",
  "Carmarthen",
  "Castlerock",
  "Ceredigion",
  "Charlton",
  "Chester",
  "Chorley",
  "Coalport",
  "Coldingham",
  "Conwy",
  "Cornwall",
  "Coventry",
  "Crianlarich",
  "Crieff",
  "Derby",
  "Derry",
  "Dover",
  "Dumfries",
  "Durham",
  "Durness",
  "East Sussex",
  "Edinburgh",
  "Enniskillen",
  "Epworth",
  "Essex",
  "Exeter",
  "Falkland",
  "Fermanagh",
  "Fishguard",
  "Folkestone",
  "Fort William",
  "Gairloch",
  "Gateshead",
  "Gatwick",
  "Glasgow",
  "Glencoe",
  "Glendevon",
  "Glenmoriston",
  "Gloucestershire",
  "Grantown-on-Spey",
  "Gwynedd",
  "Harlow",
  "Harrow",
  "Hastings",
  "Hawes",
  "Haworth",
  "Heathrow",
  "Hexham",
  "Hounslow",
  "Inveraray",
  "Inverey by Braemar",
  "Inverness",
  "Isle of Arran",
  "Isle of Skye",
  "Jersey",
  "Kelso",
  "Kent",
  "Keswick",
  "Killin",
  "Kingussie",
  "Kirkwall",
  "Kyle of Lochalsh",
  "Lairg",
  "Lake District",
  "Ledbury",
  "Lee Valley - Stansted Airport",
  "Leeds",
  "Liverpool",
  "Llandudno",
  "Loch Lomond",
  "Loch Ness",
  "London",
  "Luton",
  "Manchester",
  "Melrose",
  "Middlesbrough",
  "Middlesex",
  "Mourne Mountains",
  "New Lanark",
  "Newcastle",
  "Newcastle upon Tyne",
  "Newquay",
  "Newtonmore",
  "North Yorkshire",
  "Nottingham",
  "Oban",
  "Omagh",
  "Orkney Islands",
  "Oxford",
  "Oxfordshire",
  "Penzance",
  "Perth",
  "Pitlochry",
  "Plymouth",
  "Portsmouth",
  "Preston",
  "Prestwick",
  "Ratagan",
  "Reading",
  "Royston",
  "Salisbury",
  "Southampton",
  "St Andrews",
  "St Ives",
  "Stansted",
  "Stirling",
  "Stirlingshire",
  "Stratford-upon-Avon",
  "Surrey",
  "Sutherland",
  "Swansea",
  "Thurso",
  "Tomintoul",
  "Tongue",
  "Torquay",
  "Torridon",
  "Trawsfynydd",
  "Troon",
  "Ullapool",
  "Wanlockhead",
  "Warwick",
  "Winchester",
  "Windermere",
  "Yarrowford",
  "York"
);

var USVirginIslandsArray = new Array(
  "St. John"
);

var USAArray = new Array(
  "Aberdeen",
  "Anaheim",
  "Anchorage",
  "Arroyo Seco",
  "Asheville",
  "Ashland",
  "Aspen",
  "Atlanta",
  "Austin",
  "Bar Harbor",
  "Bingen",
  "Boston",
  "Breckenridge",
  "Buena Park",
  "Buffalo",
  "Cambridge",
  "Cameron Park",
  "Camp Springs",
  "Cape Cod",
  "Carlisle",
  "Carson City",
  "Charleston",
  "Charlottesville",
  "Chester",
  "Chicago",
  "Clearwater Beach",
  "Cleveland",
  "Conway",
  "Dallas",
  "Dearborn",
  "Detroit",
  "El Paso",
  "Estes Park",
  "Eugene",
  "Fairbanks",
  "Fayetteville",
  "Flagstaff",
  "Florida City",
  "Fort Lauderdale",
  "Fort Wayne",
  "Fort Worth",
  "Fountain Hills",
  "Fullerton",
  "Glenwood Springs",
  "Gonzales",
  "Hamilton",
  "Hartford",
  "Harvard",
  "Hawkinsville",
  "Hollywood",
  "Homer",
  "Hop Bottom",
  "Hyder",
  "Indianapolis",
  "Jersey City",
  "Jim Thorpe",
  "Kailua Kona",
  "Kauai",
  "Killington",
  "Klamath",
  "Knoxville",
  "Lafayette",
  "Lake Kabetogama",
  "Lake Tahoe",
  "Las Vegas",
  "Londonderry",
  "Los Angeles",
  "Ludlow",
  "Malden",
  "Manitou Springs",
  "Mariposa",
  "Martha's Vineyard",
  "Maui",
  "McCarthy",
  "Miami",
  "Middletown",
  "Milledgeville",
  "Minerva",
  "Minneapolis",
  "Mohawk",
  "Montara",
  "Monterey",
  "Nampa",
  "Nantucket",
  "Napa",
  "Naples",
  "Nashville",
  "Nashville IN",
  "New Orleans",
  "New York",
  "Newark",
  "Newport",
  "Niagara Falls",
  "Norwood",
  "Oahu",
  "Orlando",
  "Ottawa",
  "Pahoa",
  "Palm Springs",
  "Palo Alto",
  "Panguitch",
  "Pescadero",
  "Philadelphia",
  "Pittsford",
  "Plymouth",
  "Portland",
  "Railroad",
  "Round Rock",
  "Rumney",
  "Rutledge",
  "Sacramento",
  "Salt Lake City",
  "San Antonio",
  "San Diego",
  "San Francisco",
  "Santa Barbara",
  "Santa Cruz",
  "Santa Rosa",
  "Saratoga Springs",
  "Sausalito",
  "Seaside",
  "Seattle",
  "Seekonk",
  "Silver Bay",
  "Simsbury",
  "South Lake Tahoe",
  "Spokane",
  "St Augustine",
  "St. Louis",
  "Sumpter",
  "Talkeetna",
  "Tampa",
  "Tehuacana",
  "Tempe",
  "Torrey",
  "Truth or Consequences",
  "Tucumcari",
  "Washington DC",
  "West Yellowstone",
  "Whitehall",
  "Wildwood",
  "Williams",
  "Wilmington",
  "Winter Park-Fraser"
);

var UgandaArray = new Array(
  "Jinja",
  "Kabale",
  "Kampala",
  "Kichwamba"
);

var UkraineArray = new Array(
  "Feodosia",
  "Genichesk",
  "Huzul Land",
  "Kiev",
  "Kolomiya",
  "Lviv",
  "Nikolaev",
  "Novgorod-Siverskiy",
  "Odessa",
  "Sevastopol",
  "Yalta"
);

var UnitedArabEmiratesArray = new Array(
  "Dubai",
  "Fujairah"
);

var UruguayArray = new Array(
  "Colonia del Sacramento",
  "Montevideo",
  "Punta del Este",
  "Treinta y Tres"
);

var UzbekistanArray = new Array(
  "Bukhara",
  "Tashkent"
);

var VanuatuArray = new Array(
  "Port Vila"
);

var VenezuelaArray = new Array(
  "Caracas",
  "Coche Island",
  "Margarita Island",
  "Trujillo"
);

var VietnamArray = new Array(
  "Da Nang",
  "Haiphong",
  "Hanoi",
  "Ho Chi Minh",
  "Hoi An",
  "Hue",
  "Nha Trang",
  "Ninh Binh",
  "Phan Thiet",
  "Sapa"
);

var WalesArray = new Array(
  "Abersoch",
  "Betws-y-Coed",
  "Brecon",
  "Caernarfon",
  "Cardiff",
  "Carmarthen",
  "Ceredigion",
  "Conwy",
  "Fishguard",
  "Gwynedd",
  "Llandudno",
  "Swansea",
  "Trawsfynydd"
);

var ZambiaArray = new Array(
  "Lake Kariba",
  "Livingstone",
  "Lusaka"
);

var ZimbabweArray = new Array(
  "Bulawayo",
  "Harare",
  "Victoria Falls"
);function makeValidDate() {
  year = document.theForm.selYear.options[ document.theForm.selYear.selectedIndex ].value;
  month = document.theForm.selMonth.options[ document.theForm.selMonth.selectedIndex ].value;
  day = document.theForm.selDay.options[ document.theForm.selDay.selectedIndex ].value;
  maxDay = 31;
  if ( month == 4 || month == 6 || month == 9 || month == 11 ) {
    maxDay = 30;
  } else if ( month == 2 ) {
    if ( year%100 != 0 && year%4 == 0 ) {
      maxDay = 29;
    } else {
      maxDay = 28;
    }
  }
  document.theForm.selDay.selectedIndex = Math.min(day, maxDay)-1;
}
var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

function checkDate(){

  var day = parseInt(document.theForm.selDay.options[ document.theForm.selDay.selectedIndex ].value);
  var month = parseInt(document.theForm.selMonth.options[ document.theForm.selMonth.selectedIndex ].value);
  var year = parseInt(document.theForm.selYear.options[ document.theForm.selYear.selectedIndex ].value);

  if (!day || !month || !year)
    return false;

  if (year/4 == parseInt(year/4))
    monthLength[1] = 29;

  if (day > monthLength[month-1])
    return false;

  monthLength[1] = 28;

  var now = new Date();
  now = now.getTime(); //NN3

  var dateToCheck = new Date();
  dateToCheck.setYear(year);
  dateToCheck.setMonth(month-1);
  dateToCheck.setDate(day);
  var checkDate = dateToCheck.getTime();

  var futureDate = (now < checkDate);
  var pastDate = (now > checkDate);

  if(pastDate)
  {
    alert("Please Enter Dates Ahead Of Today\'S Date.  Thank You.");
  }
  else
  {
    document.theForm.Submit.value=1;
    document.theForm.submit();
  }
  
}

 function isBrowserSupp() {
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description: Checks if browser is Netscape 2.0 since the options 
// *                            array properties don't work with Netscape 2.0x
// ****************************************************************

    // Get the version of the browser
    version =  parseFloat( navigator.appVersion );

    if ( ( version >= 2.0 ) && ( version < 2.1 ) && ( navigator.appName.indexOf( "Netscape" ) != -1 ) ) {
        return false;
    }
    else {
        return true;
    }                  
}


function isLeapYear(yrStr)
{
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Checks if Year selected is a leap year
// ****************************************************************
var leapYear=false;
// every fourth year is a leap year
if ((parseInt(yrStr, 10)%4) == 0)
        {
        leapYear=true;
        }
return leapYear;
}

function getDaysInMonth(mthIdx, YrStr)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Retrieves the number of days in a given month
// ****************************************************************
{
//Default number of days in a month is 31
var maxDays=31
// expect Feb. 
if (mthIdx==2) 
        {
        if (isLeapYear(YrStr))
                {
                maxDays=29;
                }
        else 
                {
                maxDays=28;
                }
        }
// All the rest of the months have 30 days
if (mthIdx==4 || mthIdx==6 || mthIdx==9 || mthIdx==11)
        {
        maxDays=30;
        }
return maxDays;
}


function adjustDate(mthIdx, Dt, Yr) 
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Adjusts the format of the Date
// ****************************************************************
{
var value=0;            
var numDays=getDaysInMonth(mthIdx, Yr.options[Yr.options.selectedIndex].value);

if (mthIdx==2) 
        {
        if (Dt.options.selectedIndex < numDays)
                {
                return 0;
                }
        else 
                {
                //check for leap year
                Dt.options.selectedIndex=numDays;
                if (numDays==29)
                        {
                        return 99;
                        }
                else 
                        {
                        return 1;
                        }
                }
        }
if (Dt.options.selectedIndex < numDays)
        {
        value=0;
        }
else 
        {
        if (Dt.options.selectedIndex > numDays)
                {
                Dt.options.selectedIndex;
                value=3;
                }
        else 
                {
                //index is 31 or 30
                value=2;
                }
        }
return value;
}



function parseMonth(mth, inM)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Parses a string and returns a month value
// ****************************************************************
{
var i=1;
var retval =1;
for (i=1;i<=12;i++)
        {
        if (mth == inM.options[i].value)
                {
                retval=i;       
                break;
                }       
        }
        return retval;
}

function parseDay(day, inD)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Parses a string and returns a day value
// ****************************************************************
{
var i=1;
var retval =1;
for (i=1;i<=31;i++)
        {
        if (day == inD.options[i].value)
                {
                retval=i;       
                break;
                }       
        }
return retval;
}

function parseYear(year, inY)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    Parses a string and returns a year value
// ****************************************************************
{
var retval=0;
var i=0;
     for (i=0; i<=5; i++)
     {
   
        if (year == inY.options[i].value)
                {
                retval=i;       
                break;
                }       
     }
return retval;
}

//Calendar Section
//calculation functions
function nextMonth(month)
{
if (month==12)
        {
        return 1;
        }
else
        {
        return (month+1);
        }
}


function prevMonth(month) 
{
var prevMonth = (month-1)
if (month==1)
        {
        prevMonth = 12;
        }
return prevMonth
}

function changeYear(direction,month,year)
{
var theYear = year
if (direction=="next")
        {
        if (month == 12)
                {
                theYear = (year+1)
                }
        }
if (direction=="prev")
        {
        if (month == 1)
                {
                theYear = (year-1)
                }
        }
return theYear
}


function createCalendar(month,year,io) 
{
if (!isBrowserSupp())
        {
        alert("Your browser is outdated and does not support this feature")
        return;
        }
if (navigator.appVersion.indexOf("Mac",0) != -1) 
        {
        calendarWindow = window.open("","Calendar","width=165,height=200,resizable=yes,scrollbars=no");
        } 
else 
        {
        calendarWindow = window.open("","Calendar","width=165,height=200,resizable=yes,scrollbars=no");
        }
        var mthIdx = month.options.selectedIndex
        var mthVal = month.options[mthIdx].value
        var yearVal = year.options[year.options.selectedIndex].value
        //call the function to populate the window
        generateCalendar(calendarWindow,mthVal,yearVal,io)
}


//generates the meat of the calendar
function generateCalendar(target,month,year,io)
// ****************************************************************
// *    Author: Geraldine Healy         Date:   25/08/1998
// *    Description:    generates the contents of the calender window
// **************************************************************** 
{
if (!isBrowserSupp())
        {
        return;
        }       
var monthName = new Array ("January","February","March","April","May","June","July","August","September","October","November","December")

//begin table for calendar
target.document.open()
calendar = "<html><head><title>calendar</title></head>"
calendar +="<link rel=\"stylesheet\" href=\"http://www.reservations.bookhostels.com/flights.com/styles/style.css\" type=\"text/css\">"
calendar +="<body bgcolor=ffffff link='#000080'>"
calendar +="<table border=0 cellspacing=1 cellpadding=3 width=105 bgcolor=E6E8FA>"
calendar +="<tr valign=top>"

//The parseInt function parses the string argument as a signed decimal integer. 
var mthIdx = parseInt(month);
var endday = getDaysInMonth(mthIdx, year)

//month header
calendar +="<td colspan=7 align=center class='JSCalendarTitle'>"
var index = (mthIdx-1)
calendar +="<b><span class='BElarge'>" + monthName[index] + " " + year + "</span></b></td></tr>"
calendar +="</tr>"

//writes in the day of the week labels
calendar +="<tr align=center>"
calendar +="<td width=15 class='JSCalendarWeekend'><span class='BEsmall'>&nbsp;<b>S</b></font></td>"
calendar +="<td width=15 class='JSCalendarWeek'><span class='BEsmall'>&nbsp;<b>M</b></font></td>"
calendar +="<td width=15 class='JSCalendarWeek'><span class='BEsmall'>&nbsp;<b>T</b></font></td>"
calendar +="<td width=15 class='JSCalendarWeek'><span class='BEsmall'>&nbsp;<b>W</b></font></td>"
calendar +="<td width=15 class='JSCalendarWeek'><span class='BEsmall'>&nbsp;<b>T</b></font></td>"
calendar +="<td width=15 class='JSCalendarWeek'><span class='BEsmall'>&nbsp;<b>F</b></font></td>"
calendar +="<td width=15 class='JSCalendarWeekend'><span class='BEsmall'>&nbsp;<b>S</b></font></td>"
calendar +="</tr>"

wholeDate = month + "/01/" + year
thedate = new Date(wholeDate)
firstDay = thedate.getDay()

selectedmonth = mthIdx;
var today = new Date();
var thisyear = today.getYear() + 1900;
selectedyear = year

var lastDay = (endday + firstDay+1)
var lastCalspace = 42

var NoDays = (lastDay - (firstDay + 1))
var TotalDaysFilled = NoDays + firstDay;

calendar +="<tr>"
for (var i = 1; i <= lastCalspace; i++)
        {
		
        if (i <= firstDay)
                {
                // 'empty' boxes prior to first day
                calendar +="<td class='JSCalendarDays'><img src='http://www.reservations.bookhostels.com/flights.com/images/trans.gif' height=1 width=1></td>"
                }
        if (i > firstDay && i <= TotalDaysFilled)
                {
                // enter date number
                calendar +="<td align=center class='JSCalendarDays'><a href='JavaScript:self.close();opener.closeCalendar"+io+"("+(i-firstDay) + ");' class='calendar'> "+(i-firstDay)+"</a></td>"
				}
		if (i > TotalDaysFilled && i <= lastCalspace) 
				{
				// 'empty' boxes after TotalDaysFilled
				calendar +="<td class='JSCalendarDays'><img src='http://www.reservations.bookhostels.com/flights.com/images/trans.gif' height=12 width=1></td>"
				}
        //must start new row after each week
        if (i % 7 == 0 &&  i != lastCalspace)
                {
                calendar +="</tr>"
				calendar +="<tr>"
                }
        }
calendar +="</tr>"

//prev month - next month controls table
calendar +="<tr><td colspan=7 align=center class='JSCalendarTitle'>"

//next month and previous month buttons
var goPrevMonth = prevMonth(mthIdx)
var goNextMonth = nextMonth(mthIdx)
var nextYear = changeYear("next",parseInt(month),parseInt(year))
var prevYear = changeYear("prev",parseInt(month),parseInt(year))

if(navigator.userAgent.indexOf('MSIE',0) != -1)
        {
		calendar +="<table cellpadding=0 cellspacing=0 border=0 width=100%>"
        calendar +="<tr><td align=left class='JSCalendarTitle'><a href='javascript:opener.generateCalendar(self,"+goPrevMonth+","+prevYear+",\""+io+"\")' class='calcontrol'>Prev</a></td>"
        calendar +="<td align=right class='JSCalendarTitle'><a href='javascript:opener.generateCalendar(self,"+goNextMonth+","+nextYear+",\""+io+"\")' class='calcontrol'>Next</a></td></tr>"
		calendar +="</table>"
		calendar +="</td></tr>"
		calendar +="</table></body></html>"
        target.document.close()
        }
else
        {
		calendar +="<table cellpadding=0 cellspacing=0 border=0 width=100%>"
        calendar +="<fo"+"rm><tr><td align=left class='JSCalendarTitle'><input type='button' value=' < ' onClick='document.clear();opener.generateCalendar(opener.calendarWindow,\'"+goPrevMonth+"\',\'"+prevYear+"\',\'"+io+"\')'></td>"
        calendar +="<td align=right class='JSCalendarTitle'><input type='button' value=' > '"+"onClick='document.clear();opener.generateCalendar(opener.calendarWindow,"+goNextMonth+","+nextYear+",\""+io+"\")'></td></tr></form>"
		calendar +="</table>"
		calendar +="</td></tr>"
        calendar +="</table></body></html>"
        }
target.document.write(calendar);
target.document.close() 
}

function closeCalendar(day) {
        var yrIdx = parseYear(selectedyear,document.theForm.selYear );

        // Decrement index for day and month, because code assumes 
        // that we have an extra defaultvalue at the start.
        document.theForm.selMonth.options.selectedIndex=selectedmonth-1;
        document.theForm.selYear.options.selectedIndex= yrIdx;
        document.theForm.selDay.options.selectedIndex=parseInt(day)-1;
}
 

