// JavaScript Document
<!--This script links browser-specific stylesheet to page to handle layout of city names on map --> 
 
  
var isSafari = "false";	
var isIE;
var isFirefoxOpera;  
var agent=navigator.userAgent.toLowerCase();
var appName=navigator.appName;
var fromCity;
var toCity;
var dir;
var From;
var fromLang;
var isFrom;
var To;
var isTo;
var toLang;
var geocoder;
var place1;
var place2;
var xmlhttp;

if (agent.indexOf("safari") != -1) 
{
	isSafari = "true";
}
if (appName == "Microsoft Internet Explorer")
{
	isIE = "true";
}	
if (agent.indexOf("firefox") != -1 || agent.indexOf("opera") != -1)
{
	isFirefoxOpera = "true";	
}


<!--Called by onload() event.  If query string present, passes param to displayMap function, otherwise passes default "cities" -->
function getParameter()
{
	var queryString = window.top.location.search.substring(1);
	
	if (queryString.length > 0)
	{
		displayMap(queryString);
	}	
	else
	{	
		displayMap("cities");
	}
}
<!--handles "Select Map" navigation. bolds selected map, unbolds others -->
function displayMapNav(map_selected)
{
	var links = document.getElementById("maplinks")
	var linksChildren = links.childNodes.length;
		
		for (var j = 0; j < linksChildren; j++)
		{ 
			if (links.childNodes[j].nodeName == "DIV")
			{
				if (links.childNodes[j].id == map_selected) 
				{
					links.childNodes[j].style.fontWeight = 'bold';
					links.childNodes[j].style.backgroundColor = '#cececc';
					links.childNodes[j].style.textDecoration = 'none';
					links.childNodes[j].style.borderRight = '1px solid #000000';
					links.childNodes[j].style.borderLeft = '1px solid #000000';
					links.childNodes[j].style.borderTop = '1px solid #000000';
				}
				else
				{
					links.childNodes[j].style.fontWeight = 'normal';
					links.childNodes[j].style.backgroundColor = '#ffffff';
					links.childNodes[j].style.borderRight = 'none';
					links.childNodes[j].style.borderLeft = 'none';
					links.childNodes[j].style.borderTop = 'none';
				}
			}		
		}
	
}
<!-- main function displays map html content based on user selection -->	
function displayMap(map_selected)
{
	displayMapNav(map_selected);
	
	if (map_selected == "highways")
	{
		var mapId = document.getElementById("map_section");
		mapId.innerHTML = '<h3>Routes</h3><p>Les Etats-Unis ont un vaste r&#233;seau de routes nationales (qui s\' appellent aussi Routes). G&#233;n&#233;ralement, les nationales passent du Nord au Sud lorsqu\' elles sont en nombres impairs et d\' Est en Ouest en nombres pairs. Typiquement les limites de vitesse varient entre 112 km et 88 km heure. La plus part des nationales sont gratuites mais certaines sections ont des p&#233;ages.</p><div id=\'map-highways\'></div>';
		document.getElementById("map-highways").style.visibility = 'visible';
	}
	if (map_selected == "timezones")
	{
		var mapId = document.getElementById("map_section");
		mapId.innerHTML = '<h3>Fuseau horaire</h3><p>Il y a six fuseaux horaires aux USA avec une diff&#233;rence totale de cinq heures. Ils enjambent collectivement  &#224; l\' Est &#224; partir des plages de la Floride et Maine jusqu\' &#224; l\' oc&#233;an Pacific sur les c&#244;tes d\' Alaska et Hawaii situ&#233;es &#224; 9,500 km &#224; l\' Ouest.  Quatre fuseaux horaires recouvrent les 48 &#233;tats contigus et la diff&#233;rence totale de ces trois fuseaux continentaux est de trois heures.  L\' &#233;tat d\' Arizona change de fuseau horaire pendant l\' ann&#233;e pour faire parti du \"Day Light Savings\" \"Changement d\' horaire pour l\' &#233;conomie de l\' &#233;nergie avec la lumi&#232;re du jour\".</p><div id=\'map-timezones\'><div id=\'pacific\' class=\'placename\'>Heure standard c&#244;te Pacific (1:00 PM)</div><div id=\'mountain\' class=\'placename\'>Heure standard Montagnarde (2:00 PM)</div><div id=\'arizona-timezone\' class=\'placename\'><img src=\'/graphics/USAMap-arrow-left.gif\' width=\'20px\' height=\'8px\' />&nbsp;&#201;t&#233;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hiver&nbsp;<img src=\'/graphics/USAMap-arrow.gif\' width=\'20px\' height=\'8px\' /></div><div id=\'central\' class=\'placename\'>Heure standard Centrale (3:00 PM)</div><div id=\'eastern\' class=\'placename\'>Heure standard c&#244;te Est (4:00 PM)</div><div id=\'alaska-timezones\'><div id=\'alaska-standard-time\' class=\'placename\'>Heure standard d\' Alaska (12:00 PM)</div><div id=\'aleutian-standard-time\'><div id=\'aleutian-arrow\'><img src=\'/graphics/USAMap-arrow-left.gif\' width=\'20px\' height=\'8px\' /></div><div id=\'aleutian-standard-time-text\' class=\'placename\'>Heure standard Al&#233;oute (11:00 AM)</div></div></div><div id=\'hawaii-timezones\'><div id=\'hawaii-standard-time\' class=\'placename\'>Heure standard Hawaii (11:00 AM)</div></div></div>';
		document.getElementById("map-timezones").style.visibility = 'visible';
	}
	if (map_selected == "states")
	{
		var mapId = document.getElementById("map_section");
		mapId.innerHTML = '<h3>Estats des US</h3><p>En recouvrant  plus de 9.83 millions de km carr&#233;, les Etats-Unis sont compos&#233;s de 50 &#233;tats et d\'un district f&#233;d&#233;ral (Washington DC). L\' Alaska qui est au Nord-Ouest des 48 &#233;tats contigus est s&#233;par&#233; des US par le Canada. Hawaii est une archipelle d\' &#238;les volcaniques situ&#233;es &#224; 3,220 km &#224; l\' Ouest de l\'Am&#233;rique du Nord des c&#244;tes de l\' oc&#233;an Pacific.</p><div id=\"map-states\"><div id=\"washingtonstate\" class=\"placename\"><a href=\"/francais/destinations/Washington/Washington-Main.html\">WA</a></div><div id=\"montana\" class=\"placename\">MT</div><div id=\"northdakota\" class=\"placename\">ND</div><div id=\"minnesota\" class=\"placename\">MN</div><div id=\"wisconsin\" class=\"placename\">WI</div><div id=\"michigan\" class=\"placename\">MI</div><div id=\"maine\" class=\"placename\">ME</div><div id=\"newhampshire\" class=\"placename\">NH</div><div id=\"vermont\" class=\"placename\">VT</div><div id=\"newyork\" class=\"placename\">NY</div><div id=\"massachusetts\" class=\"placename\">MA</div><div id=\"rhodeisland\" class=\"placename\">RI</div><div id=\"connecticut\" class=\"placename\">CT</div><div id=\"newjersey\" class=\"placename\">NJ</div><div id=\"pennsylvania\" class=\"placename\">PA</div><div id=\"ohio\" class=\"placename\">OH</div><div id=\"indiana\" class=\"placename\">IN</div><div id=\"illinois\" class=\"placename\">IL</div><div id=\"iowa\" class=\"placename\">IA</div><div id=\"southdakota\" class=\"placename\"><a href="/francais/places/southdakota/index.html">SD</a></div><div id=\"wyoming\" class=\"placename\">WY</div><div id=\"idaho\" class=\"placename\">ID</div><div id=\"oregon\" class=\"placename\">OR</div><div id=\"california\" class=\"placename\"><a href=\"/francais/places/california/index.html\">CA</a></div><div id=\"nevada\" class=\"placename\">NV</div><div id=\"utah\" class=\"placename\"><a href=\"/francais/places/utah/index.html\">UT</a></div><div id=\"colorado\" class=\"placename\"><a href=\"/francais/places/colorado/index.html\">CO</a></div><div id=\"nebraska\" class=\"placename\">NE</div><div id=\"kansas\" class=\"placename\">KS</div><div id=\"missouri\" class=\"placename\">MO</div><div id=\"kentucky\" class=\"placename\">KY</div><div id=\"westvirginia\" class=\"placename\">WV</div><div id=\"virginia\" class=\"placename\">VA</div><div id=\"delaware\" class=\"placename\">DE</div><div id=\"maryland\" class=\"placename\">MD</div><div id=\"northcarolina\" class=\"placename\">NC</div><div id=\"southcarolina\" class=\"placename\"><a href=\"/francais/places/southcaro\lina/index.html\">SC</a></div><div id=\"tennessee\" class=\"placename\">TN</div><div id=\"arkansas\" class=\"placename\">AR</div><div id=\"oklahoma\" class=\"placename\">OK</div><div id=\"newmexico\" class=\"placename\"><a href=\"/francais/places/newmexico/index.html\">NM</a></div><div id=\"arizona\" class=\"placename\"><a href=\"/francais/places/arizona/index.html\">AZ</a></div><div id=\"texas\" class=\"placename\"><a href=\"/francais/places/texas/index.html\">TX</a></div><div id=\"louisiana\" class=\"placename\">LA</div><div id=\"mississippi\" class=\"placename\">MS</div><div id=\"alabama\" class=\"placename\">AL</div><div id=\"georgia\" class=\"placename\">GA</div><div id=\"florida\" class=\"placename\"><a href=\"/francais/places/florida/index.html\">FL</a></div><div id=\"placepointer-massachusetts\" class=\"placepointer\"></div><div id=\"placepointer-rhodeisland\" class=\"placepointer\"></div><div id=\"placepointer-newjersey\" class=\"placepointer\"></div><div id=\"placepointer-connecticut\" class=\"placepointer\"></div><div id=\"placepointer-delaware\" class=\"placepointer\"></div><div id=\"placepointer-maryland\" class=\"placepointer\"></div><div id=\"alaska\"><div id=\"ak\" class=\"placename\"><a href=\"http://www.usatourist.com/francais/places/alaska/index.html\">AK</a></div></div> <div id=\"hawaii\"><div id=\"hi\" class=\"placename\"><a href=\"http://www.usatourist.com/francais/places/hawaii/index.html\">HI</a></div></div></div><div class=\"statelinks\"><table class=\"ContentTwoColumn\"><tr><td width=\"33%\">Alabama - AL<br /><a href=\"/francais/places/alaska/index.html\">Alaska</a> - AK<br /><a href=\"/francais/places/arizona/index.html\">Arizona</a> - AZ<br />Arkansas - AR<br /><a href=\"/francais/places/california/index.html\">Californie</a> - CA<br /><a href=\"/francais/places/colorado/index.html\">Colorado</a> - CO<br />Connecticut - CT<br />Delaware - DE<br /><a href=\"/francais/places/florida/index.html\">Floride</a> - FL<br />Georgia - GA<br /><a href=\"/francais/places/hawaii/index.html\">Hawaii</a> - HI<br />Idaho - ID <br />Illinois - IL<br />Indiana - IN<br />Iowa - IA<br />Kansas - KA<br />Kentucky - KY<br /></td><td width=\"33%\">Louisiana - LA<br />Maine - ME<br />Maryland - MD<br />Massachusetts - MA<br />Michigan - MI<br />Minnesota - MN<br />Mississippi - MS<br />Missouri - MO<br />Montana - MT<br />Nebraska - NE<br />Nevada - NV<br />New Hampshire - NH<br />New Jersey - NJ<br /><a href=\"/francais/places/newmexico/index.html\">Nouveau Mexique</a> - NM<br />New York - NY<br />Carolina du Nord - NC<br />Dakota du Nord - ND<br /></td><td width=\"33%\">Ohio - OH<br />Oklahoma - OK<br />Oregon - OR<br />Pennsylvania - PA<br />Rhode Island - RI<br /><a href=\"/francais/places/southcarolina/index.html\">Caroline du Sud</a> - SC<br /><a href=\"/francais/places/southdakota/index.html\">Dakota du Sud</a> - SD<br />Tennessee - TN<br /><a href=\"/francais/places/texas/index.html\">Texas</a> - TX<br /><a href=\"/francais/places/utah/index.html\">Utah</a> - UT<br />Vermont - VT<br />Virginia - VA<br /><a href=\"/francais/destinations/Washington/Washington-Main.html\">Washington</a> - WA<br />Virginie-Occidentale - WV<br />Wisconsin - WI<br />Wyoming - WY</td></tr></table></div>';
		
	}
	if (map_selected == "parks")
	{
		var mapId = document.getElementById("map_section");
		mapId.innerHTML = '<h3>Parcs de US</h3><p>Il y a pr&#232;s de 400 parcs nationaux aux Etats-Unis. Ces zones prot&#233;g&#233;es sont g&#233;r&#233;es par le service national des parcs, ils varient entre endroits historiques et monuments jusqu\' aux grandes &#233;tendues r&#233;gionales sauvages et merveilles naturelles. Des cartes d&#233;taill&#233;es des parcs sont fournies aux entr&#233;es de parc national.</p><div id=\'map-parks\'><div id=\"olympic\" class=\"placename\"><a href=\"/francais/places/washington/olympic.html\">Olympic</a></div><div id=\"northcascades\" class=\"placename\">Nord Cascades</div><div id=\"glacier\" class=\"placename\">Glacier</div><div id=\"voyageurs\" class=\"placename\">Voyageurs</div><div id=\"arcadia\" class=\"placename\">Arcadia</div><div id=\"mtrainier\" class=\"placename\"><a href=\"/francais/places/washington/rainier.html\">mont Rainier</a></div><div id=\"yellowstone\" class=\"placename\"><a href=\"/francais/places/yellowstone/index.html\">Yellowstone</a></div><div id=\"badlands\" class=\"placename\">Badlands</div><div id=\"craterlake\" class=\"placename\">Crater Lake</div><div id=\"grandteton\" class=\"placename\"><a href=\"/francais/places/wyoming/grandteton.html\">Grand Teton</a></div><div id=\"rockymtn\" class=\"placename\"><a href=\"/francais/places/colorado/rockymtn.html\">Rocky Mtn.</a></div><div id=\"shenandoah\" class=\"placename\"><a href=\"/francais/places/virginia/shenandoah.html\">Shenandoah</a></div><div id=\"redwood\" class=\"placename\">Redwood</div><div id=\"lassen\" class=\"placename\">Lassen</div><div id=\"yosemite\" class=\"placename\"><a href=\"/francais/places/california/yosemite.html\">Yosemite</a></div><div id=\"canyonlands\" class=\"placename\">Canyonlands</div><div id=\"smokeymtns\" class=\"placename\"><a href=\"/francais/places/tennessee/smokymountains.html\">Les Montagnes Great Smokey</a></div><div id=\"kingscanyon\" class=\"placename\"><a href=\"/francais/places/california/sequoia.html\">Kings Canyon/<br />Sequoia</a></div><div id=\"deathvalley\" class=\"placename\"><a href=\"/francais/places/california/deathvalley.html\">Death Valley</a></div><div id=\"grandcanyon\" class=\"placename\"><a href=\"/francais/places/grandcanyon/index.html\">Grand Canyon</a></div><div id=\"channelislands\" class=\"placename\">Channel Islands</div><div id=\"mojave\" class=\"placename\">Mojave</div><div id=\"joshuatree\" class=\"placename\"><a href=\"/francais/places/california/joshuatree.html\">Joshua Tree</a></div><div id=\"carlsbad\" class=\"placename\">Carlsbad Caverns</div><div id=\"bigbend\" class=\"placename\"><a href=\"/francais/places/texas/bigbend.html\">Big Bend</a></div><div id=\"everglades\" class=\"placename\"><a href=\"/francais/destinations/florida/everglades/everglades-main.html\">Everglades</a></div><div id=\"mesaverde\" class=\"placename\"><a href=\"/francais/places/colorado/mesaverde.html\">Mesa Verde</a></div><div id=\"arches\" class=\"placename\"><a href=\"/francais/places/utah/arches.html\">Arches</a></div><div id=\"zion\" class=\"placename\"><a href=\"/francais/places/zion/index.html\">Zion</a></div><div id=\"brycecanyon\" class=\"placename\"><a href=\"/francais/places/utah/brycecanyon.html\">Bryce<br />Canyon</a></div><div id=\"drytortugas\" class=\"placename\"><a href=\"/francais/destinations/florida/drytortugas/drytortugas-main.html\">sec de Tortugas</a></div><div id=\"mammothcave\" class=\"placename\"><a href=\"/francais/places/kentucky/mammoth.html\">Mammoth Cave</a></div><div id=\"alaska\"><div id=\"kobukvalley\" class=\"placename\">Kobuk Valley</div><div id=\"gatesofthearctic\" class=\"placename\">Gates of the Arctic</div><div id=\"denali\" class=\"placename\">Denali</div><div id=\"wrangell-stelias\" class=\"placename\">Wrangell-St. Elias</div><div id=\"glacierbay\" class=\"placename\">Glacier Bay</div><div id=\"katmai\" class=\"placename\">Katmai</div><div id=\"kenaifjords\" class=\"placename\">Kenai<br />Fjords</div><div id=\"placepointer-up-katmai\" class=\"placepointer-up\"></div></div><div id=\"hawaii\"><div id=\"haleakala\" class=\"placename\">Haleakala</a></div><div id=\"hawaiivolcanoes\" class=\"placename\">Hawaii Volcans</a></div></div></div>';
		document.getElementById("map-parks").style.visibility = 'visible';
	}
	if (map_selected == "cities")
	{
		var mapId = document.getElementById("map_section");
		mapId.innerHTML = '<h3>Calculatrice des distances de voyages entre villes principales</h3><p>Il y a pr&#232;s de 20,000 villes incorpor&#233;es aux USA, qui varient entre les larges m&#233;tropoles comme New York City jusqu\' aux petites communaut&#233;s rurales avec des populations de moins de 1,000 personnes. La carte de voyage ci-dessous montre une selection de villes principales dispers&#233;es &#224; travers les Etats Unis. Pour trouver les distances et temps de voyage entre deux villes, utiliser la calculatrice en-dessous de la carte. Des cartes d&#233;taill&#233;es locales et d\' &#233;tat entier peuvent &#234;tre achet&#233;es dans des bazars et offices du tourisme ou encore aux bureaux des conventions pour visiteurs.</p><div id=\"map\"><div id=\"seattle\" class=\"placename\"><a href=\"/francais/places/washington/seattle.html\">Seattle</a><span class=\"bulletright\">&#8226;</span></div><div id=\"sanfrancisco\" class=\"placename\"><a href=\"/francais/places/california/sanfrancisco.html\">San Francisco</a><span class=\"bulletright\">&#8226;</span></div><div id=\"monterey\" class=\"placename\"><a href=\"/english/destinations/california/monterey/monterey-main.html\">Monterey</a><span class=\"bulletright\">&#8226;</span></div><div id=\"santabarbara\" class=\"placename\"><a href=\"/francais/places/california/santabarbara.html\">Santa Barbara</a><span class=\"bulletright\">&#8226;</span></div><div id=\"losangeles\" class=\"placename\"><a href=\"/francais/places/california/losangeles.html\">Los Angeles</a><span class=\"bulletright\">&#8226;</span></div><div id=\"sandiego\" class=\"placename\"><a href=\"/francais/places/california/sandiego.html\">San Diego</a><span class=\"bulletright\">&#8226;</span></div><div id=\"boston\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/massachusetts/boston.html\">Boston</a></div><div id=\"newyork\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/newyork/index.html\">New York</a></div><div id=\"philadelphia\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/pennsylvania/philadelphia.html\">Philadelphia</a></div><div id=\"baltimore\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/maryland/baltimore.html\">Baltimore</a></div><div id=\"washington\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/dc/index.html\">Washington DC</a></div><div id=\"chicago\" class=\"placename\"><a href=\"/francais/places/illinois/chicago.html\">Chicago</a><span class=\"bulletright\">&#8226;</span></div><div id=\"pittsburgh\" class=\"placename\"><a href=\"/francais/places/pennsylvania/pittsburgh.html\">Pittsburgh</a><span class=\"bulletright\">&#8226;</span></div><div id=\"nashville\" class=\"placename\"><a href=\"/francais/places/tennessee/nashville.html\">Nashville</a><span class=\"bulletright\">&#8226;</span></div><div id=\"memphis\" class=\"placename\"><a href=\"/francais/places/tennessee/memphis.html\">Memphis</a><span class=\"bulletright\">&#8226;</span></div><div id=\"denver\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/colorado/denver.html\">Denver</a></div><div id=\"coloradosprings\" class=\"placename\">Colorado Springs<span class=\"bulletright\">&#8226;</span></div><div id=\"lasvegas\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/lasvegas/index.html\">Las Vegas</a></div><div id=\"sedona\" class=\"placename\"><a href=\"/francais/places/arizona/sedona.html\">Sedona</a><span class=\"bulletright\">&#8226;</span></div><div id=\"palmsprings\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/california/palmsprings.html\">Palm Springs</a></div><div id=\"phoenix\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/arizona/phoenix.html\">Phoenix</a></div><div id=\"tucson\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/arizona/tucson.html\">Tucson</a></div><div id=\"santafe\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/newmexico/santafe.html\">Santa Fe</a></div><div id=\"albuquerque\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/newmexico/albuquerque.html\">Albuquerque</a></div><div id=\"dallas\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/texas/dallas.html\">Dallas</a></div><div id=\"austin\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/texas/austin.html\">Austin</a></div><div id=\"houston\" class=\"placename\"><a href=\"/francais/places/texas/houston.html\">Houston</a><span class=\"bulletright\">&#8226;</span></div><div id=\"sanantonio\" class=\"placename\"><a href=\"/francais/places/texas/sanantonio.html\">San Antonio</a><span class=\"bulletright\">&#8226;</span></div><div id=\"neworleans-fr\" class=\"placename\"><span style=\"padding-left: 25px;\">&#8226;</span><br /><a href="/francais/destinations/louisiana/neworleans/neworleans-main.html">Nouvelle-<br />Orl&#233;ans</a></div><div id=\"atlanta\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/georgia/atlanta.html\">Atlanta</a></div><div id=\"panamacity\" class=\"placename\"><a href=\"/francais/places/florida/panamacity.html\">Panama City</a><span class=\"bulletright\">&#8226;</span></div><div id=\"tampa\" class=\"placename\"><a href=\"/francais/places/florida/tampa.html\">Tampa</a><span class=\"bulletright\">&#8226;</span></div><div id=\"sarasota\" class=\"placename\"><a href=\"/francais/places/florida/sarasota.html\">Sarasota</a><span class=\"bulletright\">&#8226;</span></div><div id=\"daytona\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/florida/daytona.html\">Daytona</a></div><div id=\"orlando\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/francais/places/florida/orlando.html\">Orlando</a></div><div id=\"cocoabeach\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"/english/places/florida/cocoabeach.html\">Cocoa Beach</a></div><div id=\"fortlauderdale\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"http://www.usatourist.com/francais/destinations/florida/fortlauderdale/fortlauderdale-main.html\">Fort Lauderdale</a></div><div id=\"miami\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"http://www.usatourist.com/francais/places/florida/miami.html\">Miami</a></div><div id=\"keywest\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"http://www.usatourist.com/francais/places/florida/keywest.html\">Key West</a></div><div id=\"alaska\"><div id=\"anchorage\" class=\"placename\">Anchorage<span class=\"bulletright\">&#8226;</span></div><div id=\"fairbanks\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>Fairbanks</div><div id=\"juneau\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>Juneau</div><div id=\"ketchikan\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>Ketchikan</div></div><div id=\"hawaii\"><div id=\"honolulu\" class=\"placename\">Honolulu<span class=\"bulletright\">&#8226;</span></div></div><div id=\"wichita\" class=\"placename\">Wichita<span class=\"bulletright\">&#8226;</span></div><div id=\"kennebunkport\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><a href=\"http://www.usatourist.com/francais/places/maine/kennebunkport.html\">Kennebunkport</a></div><div id=\"portlandor\" class=\"placename\">Portland<span class=\"bulletright\">&#8226;</span></div><div id=\"boise\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>Boise</div><div id=\"helena\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>Helena</div><div id=\"bismarck\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>Bismarck</div><div id=\"stpaul\" class=\"placename\">St. Paul<span class=\"bulletright\">&#8226;</span></div><div id=\"milwaukee\" class=\"placename\">Milwaukee<span class=\"bulletright\">&#8226;</span></div><div id=\"detroit\" class=\"placename\">Detroit<span class=\"bulletright\">&#8226;</span></div><div id=\"cleveland\" class=\"placename\">Cleveland<br /><span class=\"bulletleft\">&#8226;</span></div><div id=\"buffalo\" class=\"placename\">Buffalo<br /><span class=\"bulletleft\">&#8226;</span></div><div id=\"indianapolis\" class=\"placename\">Indianapolis<span class=\"bulletright\">&#8226;</span></div><div id=\"montpelier\" class=\"placename\">Montpelier<br /><span class=\"bulletright\">&#8226;</span></div><div id=\"concord\" class=\"placename\">Concord<span class=\"bulletright\">&#8226;</span></div>  <div id=\"spokane\" class=\"placename\">Spokane<br /><span class=\"bulletright\">&#8226;</span></div><div id=\"grantspass\" class=\"placename\">Grants Pass<span class=\"bulletright\">&#8226;</span></div><div id=\"redding\" class=\"placename\">Redding<span class=\"bulletright\">&#8226;</span></div><div id=\"reno\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>Reno</div><div id=\"saltlake\" class=\"placename\">Salt<span class=\"bulletright\">&#8226;</span><br />Lake City</div><div id=\"casper\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>Casper</div><div id=\"cheyenne\" class=\"placename\">Cheyenne<span class=\"bulletright\">&#8226;</span></div><div id=\"rapidcity\" class=\"placename\">Rapid City<span class=\"bulletright\">&#8226;</span></div><div id=\"omaha\" class=\"placename\">Omaha<span class=\"bulletright\">&#8226;</span></div><div id=\"desmoines\" class=\"placename\">Des Moines<span class=\"bulletright\">&#8226;</span></div><div id=\"stlouis\" class=\"placename\">St. Louis<span class=\"bulletright\">&#8226;</span></div><div id=\"oklahomacity\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><br />Ok. City</div><div id=\"littlerock\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>Little Rock</div><div id=\"jackson\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>Jackson</div><div id=\"birmingham\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>Birmingham</div><div id=\"louisville\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><br />Louisville</div><div id=\"charleston_wv\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span><br />Charleston</div><div id=\"richmond\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>Richmond</div><div id=\"charlotte\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>Charolette</div><div id=\"charleston_sc\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>Charleston</div><div id=\"elpaso\" class=\"placename\"><span class=\"bulletleft\">&#8226;</span>El Paso</div></div><div id=\'cityselector\'><form name=\'calculate\' action=\'javascript:setDirections()\' method=\'post\'><table width=\'100%\' cellspacing=\'0\' cellpadding=\'0\' border=\'0\' style=\'border-bottom: 1px solid #293151;\'><tr><td>&nbsp;</td></tr><tr><td valign=\'top\' width=\'30%\' style=\'padding-left: 3px; background-color: #293151; color: #ffffff;\'><b>S&#233;lectionnez une ville d\'origine:</b><br /><select name=\'city1\'><option id=\'Albuquerque\'>Albuquerque, NM</option><option id=\'Anchorage\'>Anchorage, AK</option><option id=\"Atlanta\">Atlanta, GA</option><option id=\'Austin\'>Austin, TX</option><option id=\'Baltimore\'>Baltimore, MD</option><option id=\'Birmingham\'>Birmingham, AL</option><option id=\'Bismarck\'>Bismarck, ND</option><option id=\'Boise\'>Boise, ID</option><option id=\'Boston\'>Boston, MA</option><option id=\'Buffalo\'>Buffalo, NY</option><option id=\'Casper\'>Casper, WY</option><option id=\'Charleston_sc\'>Charleston, SC</option><option id=\'Charleston_wv\'>Charleston, WV</option><option id=\'Charlotte\'>Charlotte, NC</option><option id=\'Cheyenne\'>Cheyenne, WY</option><option id=\'Chicago\'>Chicago, IL</option><option id=\'Cleveland\'>Cleveland, OH</option><option id=\'Cocoa_Beach\'>Cocoa Beach, FL</option><option id=\'Colorado_Springs\'>Colorado Springs, CO</option><option id=\'Concord\'>Concord, NH</option><option id=\'Dallas\'>Dallas, TX</option><option id=\'Daytona\'>Daytona, FL</option><option id=\'Denver\'>Denver, CO</option><option id=\'Des_Moines\'>Des Moines, IA</option><option id=\'Detroit\'>Detroit, MI</option><option id=\'El_Paso\'>El Paso, TX</option><option id=\'Fairbanks\'>Fairbanks, AK</option><option id=\'Philadelphia\'>Philadelphia, PA</option><option id=\'Fort_Lauderdale\'>Fort Lauderdale, FL</option><option id=\'Grants_Pass\'>Grants Pass, OR</option><option id=\'Helena\'>Helena, MT</option><option id=\'Honolulu\'>Honolulu, HI</option><option id=\'Houston\'>Houston, TX</option><option id=\'Indianapolis\'>Indianapolis, IN</option><option id=\'Jackson\'>Jackson, MS</option><option id=\'Juneau\'>Juneau, AK</option><option id=\'Kennebunkport\'>Kennebunkport, ME</option><option id=\'Ketchikan\'>Ketchikan, AK</option><option id=\'Key_West\'>Key West, FL</option><option id=\'Las_Vegas\'>Las Vegas, NV</option><option id=\'Little_Rock\'>Little Rock, AR</option><option id=\'Los_Angeles\'>Los Angeles, CA</option><option id=\'Louisville\'>Louisville, KY</option><option id=\'Memphis\'>Memphis, TN</option><option id=\'Miami\'>Miami, FL</option><option id=\'Milwaukee\'>Milwaukee, WI</option><option id=\'Monterey\'>Monterey, CA</option><option id=\'Montpelier\'>Montpelier, VT</option><option id=\'Nashville\'>Nashville, TN</option><option id=\'New_Orleans\'>Nouvelle-Orl&#233;ans, LA</option><option id=\'New_York\'>New York, NY</option><option id=\'Oklahoma_City\'>Oklahoma City, OK</option><option id=\'Omaha\'>Omaha, NE</option><option id=\'Orlando\'>Orlando, FL</option><option id=\'Palm_Springs\'>Palm Springs, CA</option><option id=\'Panama_City\'>Panama City, FL</option><option id=\'Phoenix\'>Phoenix, AZ</option><option id=\'Pittsburgh\'>Pittsburgh, PA</option><option id=\'Portland\'>Portland, OR</option><option id=\'Rapid_City\'>Rapid City, SD</option><option id=\'Redding\'>Redding, CA</option><option id=\'Reno\'>Reno, NV</option><option id=\'Richmond\'>Richmond, VA</option><option id=\'St._Louis\'>St. Louis, MO</option><option id=\"St._Paul\">St. Paul, MN</option><option id=\'Salt_Lake_City\'>Salt Lake City, UT</option><option id=\'San_Antonio\'>San Antonio, TX</option><option id=\'San_Diego\'>San Diego, CA</option><option id=\'San_Francisco\'>San Francisco, CA</option><option id=\'Santa_Barbara\'>Santa Barbara, CA</option><option id=\'Santa_Fe\'>Santa Fe, NM</option><option id=\'Sarasota\'>Sarasota, FL</option><option id=\'Seattle\'>Seattle, WA</option><option id=\'Sedona\'>Sedona, AZ</option><option id=\'Spokane\'>Spokane, WA</option><option id=\'Tampa\'>Tampa, FL</option><option id=\'Tucson\'>Tucson, AZ</option><option id=\'Washington\'>Washington, DC</option><option id=\'Wichita\'>Wichita, KS</option></select></td><td valign=\'top\' width=\'35%\' style=\'padding-left: 3px; padding-bottom: 3px; background-color: #293151; color: #ffffff;\'><b>S&#233;lectionnez une ville de destination:</b><br /><select name=\'city2\'><option id=\'Albuquerque\'>Albuquerque, NM</option><option id=\'Anchorage\'>Anchorage, AK</option><option id=\"Atlanta\">Atlanta, GA</option><option id=\'Austin\'>Austin, TX</option><option id=\'Baltimore\'>Baltimore, MD</option><option id=\'Birmingham\'>Birmingham, AL</option><option id=\'Bismarck\'>Bismarck, ND</option><option id=\'Boise\'>Boise, ID</option><option id=\'Boston\'>Boston, MA</option><option id=\'Buffalo\'>Buffalo, NY</option><option id=\'Casper\'>Casper, WY</option><option id=\'Charleston_sc\'>Charleston, SC</option><option id=\'Charleston_wv\'>Charleston, WV</option><option id=\'Charlotte\'>Charlotte, NC</option><option id=\'Cheyenne\'>Cheyenne, WY</option><option id=\'Chicago\'>Chicago, IL</option><option id=\'Cleveland\'>Cleveland, OH</option><option id=\'Cocoa_Beach\'>Cocoa Beach, FL</option><option id=\'Colorado_Springs\'>Colorado Springs, CO</option><option id=\'Concord\'>Concord, NH</option><option id=\'Dallas\'>Dallas, TX</option><option id=\'Daytona\'>Daytona, FL</option><option id=\'Denver\'>Denver, CO</option><option id=\'Des_Moines\'>Des Moines, IA</option><option id=\'Detroit\'>Detroit, MI</option><option id=\'El_Paso\'>El Paso, TX</option><option id=\'Fairbanks\'>Fairbanks, AK</option><option id=\'Philadelphia\'>Philadelphia, PA</option><option id=\'Fort_Lauderdale\'>Fort Lauderdale, FL</option><option id=\'Grants_Pass\'>Grants Pass, OR</option><option id=\'Helena\'>Helena, MT</option><option id=\'Honolulu\'>Honolulu, HI</option><option id=\'Houston\'>Houston, TX</option><option id=\'Indianapolis\'>Indianapolis, IN</option><option id=\'Jackson\'>Jackson, MS</option><option id=\'Juneau\'>Juneau, AK</option><option id=\'Kennebunkport\'>Kennebunkport, ME</option><option id=\'Ketchikan\'>Ketchikan, AK</option><option id=\'Key_West\'>Key West, FL</option><option id=\'Las_Vegas\'>Las Vegas, NV</option><option id=\'Little_Rock\'>Little Rock, AR</option><option id=\'Los_Angeles\'>Los Angeles, CA</option><option id=\'Louisville\'>Louisville, KY</option><option id=\'Memphis\'>Memphis, TN</option><option id=\'Miami\'>Miami, FL</option><option id=\'Milwaukee\'>Milwaukee, WI</option><option id=\'Monterey\'>Monterey, CA</option><option id=\'Montpelier\'>Montpelier, VT</option><option id=\'Nashville\'>Nashville, TN</option><option id=\'New_Orleans\'>Nouvelle-Orl&#233;ans, LA</option><option id=\'New_York\'>New York, NY</option><option id=\'Oklahoma_City\'>Oklahoma City, OK</option><option id=\'Omaha\'>Omaha, NE</option><option id=\'Orlando\'>Orlando, FL</option><option id=\'Palm_Springs\'>Palm Springs, CA</option><option id=\'Panama_City\'>Panama City, FL</option><option id=\'Phoenix\'>Phoenix, AZ</option><option id=\'Pittsburgh\'>Pittsburgh, PA</option><option id=\'Portland\'>Portland, OR</option><option id=\'Rapid_City\'>Rapid City, SD</option><option id=\'Redding\'>Redding, CA</option><option id=\'Reno\'>Reno, NV</option><option id=\'Richmond\'>Richmond, VA</option><option id=\'St._Louis\'>St. Louis, MO</option><option id=\"St._Paul\">St. Paul, MN</option><option id=\'Salt_Lake_City\'>Salt Lake City, UT</option><option id=\'San_Antonio\'>San Antonio, TX</option><option id=\'San_Diego\'>San Diego, CA</option><option id=\'San_Francisco\'>San Francisco, CA</option><option id=\'Santa_Barbara\'>Santa Barbara, CA</option><option id=\'Santa_Fe\'>Santa Fe, NM</option><option id=\'Sarasota\'>Sarasota, FL</option><option id=\'Seattle\'>Seattle, WA</option><option id=\'Sedona\'>Sedona, AZ</option><option id=\'Spokane\'>Spokane, WA</option><option id=\'Tampa\'>Tampa, FL</option><option id=\'Tucson\'>Tucson, AZ</option><option id=\'Washington\'>Washington, DC</option><option id=\'Wichita\'>Wichita, KS</option></select></td><td valign=\'bottom\' style=\'padding-left: 3px; background-color: #293151; color: #ffffff;\'><input type=\'submit\' value=\'Soumettez\' /></td></tr><tr><td width=\'100%\' colspan=\'3\' valign=\'top\'><table width=\'100%\'><tr><td colspan=\'2\' style=\'background-color: #e4e0aa;\'>&nbsp;</td></tr><tr><td width=\'50%\' valign=\'bottom\'><strong>De:</strong></td><td width=\'50%\' valign=\'bottom\'><strong>&#192;:</strong></td></tr><tr><td><div id=\'fromData\'>&nbsp;</div></td><td><div id=\'toData\'>&nbsp;</div></td></tr><tr><td width=\'50%\'><strong>Milles:</strong></td><td width=\'50%\'><strong>Kilom&#232;tres:</strong></td></tr><tr><td><div id=\'milesData\'>&nbsp;</div></td><td><div id=\'kiloData\'>&nbsp;</div></td></tr><tr><td width=\'50%\'><strong>Dur&#233;e du trajet en voiture:</strong></td><td width=\'50%\'><strong>Dur&#233;e de vol:</strong></td></tr><tr><td><div id=\'drivingTimeData\'>&nbsp;</div></td><td><div id=\'flightDurationData\'>&nbsp;</div></td></tr></table></td></tr></table></form></div>';
 	}
}	

    
    function LoadGoogleJS()
    {
	    dir = new GDirections();
	    geocoder = new GClientGeocoder();
	    GEvent.addListener(dir, "load", onGDirectionsLoad);
	    GEvent.addListener(dir, "error", handleErrors);
    }

    function setDirections() 
    {
        var FromObj = document.calculate.elements[0];
		var ToObj = document.calculate.elements[1];
		var FromN = FromObj.selectedIndex;
		var ToN = ToObj.selectedIndex;
		From = FromObj[FromN].id;
		To = ToObj[ToN].id;
		parseXMLfrom(From);
		parseXMLto(To);
		geocoder.getLocations(From, setPlace1);
		geocoder.getLocations(To, setPlace2);
		dir.load("from: " + From + " to: " + To);
    }
	function state_Change()
{
	if (xmlhttp.readyState==4)
	{// 4 = "loaded"
		
		if (xmlhttp.status==200)
		{// 200 = "OK"
			
			if (isFrom == "true")
			{
				//checks for underscore in option id.  underscore is used cities with more than one word or same name
				if (From.indexOf("_", [0]) != -1)
				{
					var fromCitySplit = From.split("_");
					
					//determines state for Charleston by checking split array 
					if(fromCitySplit[1] == "sc" || fromCitySplit[1] == "wv")
					{
						From = fromCitySplit[0];
					}
					else if(fromCitySplit[1] != "sc" || fromCitySplit[1] != "wv")
					{	
					
						if (fromCitySplit.length == 3)
						{
							From = fromCitySplit[0] + " " + fromCitySplit[1] + " " + fromCitySplit[2];
						}
						else
						{
							From = fromCitySplit[0] + " " + fromCitySplit[1];
						}
					}
				}
				var stAbrv;
				var lang;
				var x = xmlhttp.responseXML.documentElement.getElementsByTagName("english");
				var y = xmlhttp.responseXML.documentElement.getElementsByTagName("state_abrv");
				var z = xmlhttp.responseXML.documentElement.getElementsByTagName("francais")
				
				for (var i = 0; i < x.length; i++)
				{
					//alert(From);
					var citySearch = x[i].childNodes[0].nodeValue;
					if (citySearch == From)
					{
						//ended here
						if (citySearch == "Charleston")
						{
							if (fromCitySplit[1] == "sc")
							{
								stAbrv = "SC";
								lang = z[i].childNodes[0].nodeValue;
								break;
							}
							if (fromCitySplit[1] == "wv")
							{	
								stAbrv = "WV";
								lang = z[i].childNodes[0].nodeValue;
								break;
							}	
						}
						else
						{	
							stAbrv = y[i].childNodes[0].nodeValue;
							lang = z[i].childNodes[0].nodeValue;
						}	
					}	
				}
				
				fromLang = lang + ", " + stAbrv;
				From = From + ", " + stAbrv;
				isFrom = "false";
				return From;
				
			}
			if (isTo == "true")
			{
				if (To.indexOf("_", [0]) != -1)
				{
					var toCitySplit = To.split("_");
					
					if(toCitySplit[1] == "sc" || toCitySplit[1] == "wv")
					{
						To = toCitySplit[0];
					}
					else if(toCitySplit[1] != "sc" || toCitySplit[1] != "wv")
					{	
					
						if (toCitySplit.length == 3)
						{
							To = toCitySplit[0] + " " + toCitySplit[1] + " " + toCitySplit[2];
						}
						else
						{
							To = toCitySplit[0] + " " + toCitySplit[1];
						}
					}
				}
				
				var x = xmlhttp.responseXML.documentElement.getElementsByTagName("english");
				var y = xmlhttp.responseXML.documentElement.getElementsByTagName("state_abrv");
				var z = xmlhttp.responseXML.documentElement.getElementsByTagName("francais")

				for (var i = 0; i < x.length; i++)
				{
					var citySearch = x[i].childNodes[0].nodeValue;
					if (citySearch == To)
					{
						//if 
						if (citySearch == "Charleston")
						{
							if (toCitySplit[1] == "sc")
							{
								stAbrv = "SC";
								lang = z[i].childNodes[0].nodeValue;
								break;
							}
							if (toCitySplit[1] == "wv")
							{	
								stAbrv = "WV";
								lang = z[i].childNodes[0].nodeValue;
								break;
							}	
						}
						else
						{
							stAbrv = y[i].childNodes[0].nodeValue;
							lang = z[i].childNodes[0].nodeValue;
						}	
					}	
				}
				toLang = lang + ", " + stAbrv;
				To = To + ", " + stAbrv;
				isTo = "false";
				return To;
			}
		}	
		else
		{
			alert("Problem retrieving XML data:" + xmlhttp.statusText);
		}
	}
}
function parseXMLfrom(fromCity)
{
	if (isSafari == "true")
	{
			url = "/xml/maps.xml";
			xmlhttp=null;
		
			if (window.XMLHttpRequest)
			{// code for IE7, Firefox, Opera, etc.
				xmlhttp=new XMLHttpRequest();
				isFrom = "true";
			}
			if (xmlhttp!=null)
			{
				isFrom = "true";
				xmlhttp.onreadystatechange=state_Change;
				xmlhttp.open("GET",url,false);
				xmlhttp.send();
			}
	}
	if (isIE == "true")
	{	
	//Internet Explorer
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.load("/xml/maps.xml");
		
		if (fromCity.indexOf("_", [0]) != -1)
			{
				var fromCitySplit = From.split("_");
					
					//determines state for Charleston by checking split array 
					if(fromCitySplit[1] == "sc" || fromCitySplit[1] == "wv")
					{
						From = fromCitySplit[0];
					}
					else if(fromCitySplit[1] != "sc" || fromCitySplit[1] != "wv")
					{	
					
						if (fromCitySplit.length == 3)
						{
							From = fromCitySplit[0] + " " + fromCitySplit[1] + " " + fromCitySplit[2];
						}
						else

						{
							From = fromCitySplit[0] + " " + fromCitySplit[1];
						}
					}
				}
			
		var stAbrv;
		var lang;	
		var x = xmlDoc.getElementsByTagName("english");
		var y = xmlDoc.getElementsByTagName("state_abrv");
		var z = xmlDoc.getElementsByTagName("francais")

		for (var i = 0; i < x.length; i++)
				{
					//alert(From);
					var citySearch = x[i].childNodes[0].nodeValue;
					if (citySearch == From)
					{
						//ended here
						if (citySearch == "Charleston")
						{
							if (fromCitySplit[1] == "sc")
							{
								stAbrv = "SC";
								lang = z[i].childNodes[0].nodeValue;
								break;
							}
							if (fromCitySplit[1] == "wv")
							{	
								stAbrv = "WV";
								lang = z[i].childNodes[0].nodeValue;
								break;
							}	
						}
						else
						{	
							stAbrv = y[i].childNodes[0].nodeValue;
							lang = z[i].childNodes[0].nodeValue;
						}	
					}	
				}
				
				fromLang = lang + ", " + stAbrv;
				From = From + ", " + stAbrv;
				//alert(From);
				isFrom = "false";
				return From;
			}	
		if (isFirefoxOpera == "true")
		{
			//Firefox, Mozilla, Opera, etc.
			xmlDoc=document.implementation.createDocument("","",null);
			xmlDoc.async=false;
			xmlDoc.load("/xml/maps.xml");
			
			if (fromCity.indexOf("_", [0]) != -1)
			{
				var fromCitySplit = From.split("_");
					
					//determines state for Charleston by checking split array 
					if(fromCitySplit[1] == "sc" || fromCitySplit[1] == "wv")
					{
						From = fromCitySplit[0];
					}
					else if(fromCitySplit[1] != "sc" || fromCitySplit[1] != "wv")
					{	
					
						if (fromCitySplit.length == 3)
						{
							From = fromCitySplit[0] + " " + fromCitySplit[1] + " " + fromCitySplit[2];
						}
						else
						{
							From = fromCitySplit[0] + " " + fromCitySplit[1];
						}
					}
				}
			
			var stAbrv;
			var lang;	
			var x = xmlDoc.getElementsByTagName("english");
			var y = xmlDoc.getElementsByTagName("state_abrv");
			var z = xmlDoc.getElementsByTagName("francais")
			
			for (var i = 0; i < x.length; i++)
				{
					//alert(From);
					var citySearch = x[i].childNodes[0].nodeValue;
					if (citySearch == From)
					{
						//ended here
						if (citySearch == "Charleston")
						{
							if (fromCitySplit[1] == "sc")
							{
								stAbrv = "SC";
								lang = z[i].childNodes[0].nodeValue;
								break;
							}
							if (fromCitySplit[1] == "wv")
							{	
								stAbrv = "WV";
								lang = z[i].childNodes[0].nodeValue;
								break;
							}	
						}
						else
						{	
							stAbrv = y[i].childNodes[0].nodeValue;
							lang = z[i].childNodes[0].nodeValue;
						}	
					}	
				}
				
				fromLang = lang + ", " + stAbrv;
				From = From + ", " + stAbrv;
				//alert(From);
				isFrom = "false";
				return From;
		}
		
}
function parseXMLto(toCity)
{
	if (isSafari == "true")
	{
				isTo = "true";
				xmlhttp.onreadystatechange=state_Change;
				xmlhttp.open("GET",url,false);
				xmlhttp.send();
	}
	if (isIE == "true")
	{	
	//Internet Explorer
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.load("/xml/maps.xml");
		
		if (To.indexOf("_", [0]) != -1)
				{
					var toCitySplit = To.split("_");
					
					if(toCitySplit[1] == "sc" || toCitySplit[1] == "wv")
					{
						To = toCitySplit[0];
					}
					else if(toCitySplit[1] != "sc" || toCitySplit[1] != "wv")
					{	
					
						if (toCitySplit.length == 3)
						{
							To = toCitySplit[0] + " " + toCitySplit[1] + " " + toCitySplit[2];
						}
						else
						{
							To = toCitySplit[0] + " " + toCitySplit[1];
						}
					}
				}
		var x = xmlDoc.getElementsByTagName("english");
		var y = xmlDoc.getElementsByTagName("state_abrv");
		var z = xmlDoc.getElementsByTagName("francais")

		for (var i = 0; i < x.length; i++)
				{
					var citySearch = x[i].childNodes[0].nodeValue;
					if (citySearch == To)
					{
						//if 
						if (citySearch == "Charleston")
						{
							if (toCitySplit[1] == "sc")
							{
								stAbrv = "SC";
								lang = z[i].childNodes[0].nodeValue;
								break;
							}
							if (toCitySplit[1] == "wv")
							{	
								stAbrv = "WV";
								lang = z[i].childNodes[0].nodeValue;
								break;
							}	
						}
						else
						{
							stAbrv = y[i].childNodes[0].nodeValue;
							lang = z[i].childNodes[0].nodeValue;
						}	
					}	
				}
				toLang = lang + ", " + stAbrv;
				To = To + ", " + stAbrv;
				isTo = "false";
				return To;
		}
		
		if (isFirefoxOpera == "true")
		{
			//Firefox, Mozilla, Opera, etc.
			xmlDoc=document.implementation.createDocument("","",null);
			xmlDoc.async=false;
			xmlDoc.load("/xml/maps.xml");
			
			if (To.indexOf("_", [0]) != -1)
				{
					var toCitySplit = To.split("_");
					
					if(toCitySplit[1] == "sc" || toCitySplit[1] == "wv")
					{
						To = toCitySplit[0];
					}
					else if(toCitySplit[1] != "sc" || toCitySplit[1] != "wv")
					{	
					
						if (toCitySplit.length == 3)
						{
							To = toCitySplit[0] + " " + toCitySplit[1] + " " + toCitySplit[2];
						}
						else
						{
							To = toCitySplit[0] + " " + toCitySplit[1];
						}
					}
				}
			
			var x = xmlDoc.getElementsByTagName("english");
			var y = xmlDoc.getElementsByTagName("state_abrv");
			var z = xmlDoc.getElementsByTagName("francais")
			
			for (var i = 0; i < x.length; i++)
				{
					var citySearch = x[i].childNodes[0].nodeValue;
					if (citySearch == To)
					{
						//if 
						if (citySearch == "Charleston")
						{
							if (toCitySplit[1] == "sc")
							{
								stAbrv = "SC";
								lang = z[i].childNodes[0].nodeValue;
								break;
							}
							if (toCitySplit[1] == "wv")
							{	
								stAbrv = "WV";
								lang = z[i].childNodes[0].nodeValue;
								break;
							}	
						}
						else
						{
							stAbrv = y[i].childNodes[0].nodeValue;
							lang = z[i].childNodes[0].nodeValue;
						}	
					}	
				}
				toLang = lang + ", " + stAbrv;
				To = To + ", " + stAbrv;
				isTo = "false";
				return To;
		}
		
}
    function setPlace1(response)
    {
        place1 = response.Placemark[0];
    }
    
    function setPlace2(response)
    {
        place2 = response.Placemark[0];
    }

    function handleErrors()
    {
	   if (dir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	     alert("No corresponding geographic location could be found for one of the specified addresses. This may be due to the fact that the address is relatively new, or it may be incorrect.\nError code: " + dir.getStatus().code);
	   else if (dir.getStatus().code == G_GEO_SERVER_ERROR)
	     alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + dir.getStatus().code);
	   
	   else if (dir.getStatus().code == G_GEO_MISSING_QUERY)
	     alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + dir.getStatus().code);
	     
	   else if (dir.getStatus().code == G_GEO_BAD_KEY)
	     alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + dir.getStatus().code);

	   else if (dir.getStatus().code == G_GEO_BAD_REQUEST)
	     alert("A directions request could not be successfully parsed.\n Error code: " + dir.getStatus().code);
	     
	   else if (dir.getStatus().code == G_GEO_UNKNOWN_DIRECTIONS)
	     badDirections();
	    
	   else alert("An unknown error occurred.\n Error code: " + dir.getStatus().code);
    }
	// returns city-to-city results to divs
    function FromToResults(miles, kilometers, duration, straightDis, flightTime)
    {
		// clears highlighted cities by searching div id="map" for childNodes and changing background color
		var mapDivs = document.getElementById("map");
		var mapDivsChildren = mapDivs.childNodes.length;
		
		for (var x = 0; x < mapDivsChildren; x++)
		{
			if (mapDivs.childNodes[x].nodeName == "DIV")
			{
				if (mapDivs.childNodes[x].id == "alaska") //alaska is nested div
				{
					var akDivs = document.getElementById("alaska");
					var akDivsChildren = akDivs.childNodes.length;
						
						for (var i = 0; i < akDivsChildren; i++)
						{
							if (akDivs.childNodes[i].nodeName == "DIV")
							{
								akDivs.childNodes[i].style.backgroundColor = "";
								akDivs.childNodes[i].style.zIndex = "1";
							}	
						}	
				}
				if (mapDivs.childNodes[x].id == "hawaii") //hawaii is nested div
				{
					var hiDivs = document.getElementById("hawaii");
					var hiDivsChildren = hiDivs.childNodes.length;
						
						for (var i = 0; i < hiDivsChildren; i++)
						{
							if (hiDivs.childNodes[i].nodeName == "DIV")
							{
								hiDivs.childNodes[i].style.backgroundColor = "";
								hiDivs.childNodes[i].style.zIndex = "1";
							}	
						}	
				}		
				mapDivs.childNodes[x].style.backgroundColor = "";
				mapDivs.childNodes[x].style.zIndex = "1";
			}	
		}
		
		// parses city name from PLACE OF ORIGIN (city,state) and is used to highlight selected city on map
		var fromToLowerCase = From.toLowerCase();
		var fromSplitAtComma = fromToLowerCase.split(","); //split seperates city/state into array
				
		//alert(fromSplitAtComma[0] + fromSplitAtComma[1]);	
		
		//split to handle portland, oregon and portland, maine (cities with same name)
		if (fromSplitAtComma[0] == "portland" && fromSplitAtComma[1] == " or")
		{
			fromSplitAtComma[0] = "portlandor";
		}
		if (fromSplitAtComma[0] == "portland" && fromSplitAtComma[1] == " me")
		{
			fromSplitAtComma[0] = "portlandme";
		}
		//split to handle charleston, wv and charleston, sc (cities with same name)
		if (fromSplitAtComma[0] == "charleston" && fromSplitAtComma[1] == " wv")
		{
			fromSplitAtComma[0] = "charleston_wv";
		}
		if (fromSplitAtComma[0] == "charleston" && fromSplitAtComma[1] == " sc")
		{
			fromSplitAtComma[0] = "charleston_sc";
		}
		//split handles cities with period (eg St. Paul, MN)
		if (fromSplitAtComma[0].indexOf(".", [0]) != -1)
		{
			var fromSplitAtPeriod = fromSplitAtComma[0].split(".");
			var fromConcat = fromSplitAtPeriod[0].concat(fromSplitAtPeriod[1]);
			
			fromSplitAtComma[0] = fromConcat;
		}
		//split handles cities with two words (eg. las vegas, los angeles)
		if (fromSplitAtComma[0].indexOf(" ", [0]) != -1)
		{
			var fromSplitAtSpace = fromSplitAtComma[0].split(" ");
			var fromConcat = fromSplitAtSpace[0].concat(fromSplitAtSpace[1]);
		
			fromSplitAtComma[0] = fromConcat;
		}
		if (fromSplitAtComma[0] == "neworleans")
		{
			fromSplitAtComma[0] = "neworleans-fr";
		}				
			//alert(fromSplitAtComma[0]);	
		// parses city name from DESTINATION (city,state) and is used to highlight selected city on map
		var toToLowerCase = To.toLowerCase();
		var toSplitAtComma = toToLowerCase.split(",");
		
		if (toSplitAtComma[0] == "portland" && toSplitAtComma[1] == " or")
		{
			toSplitAtComma[0] = "portlandor";
		}
		if (toSplitAtComma[0] == "portland" && toSplitAtComma[1] == " me")
		{
			toSplitAtComma[0] = "portlandme";
		}
		//split to handle charleston, wv and charleston, sc (cities with same name)
		if (toSplitAtComma[0] == "charleston" && toSplitAtComma[1] == " wv")
		{
			toSplitAtComma[0] = "charleston_wv";
		}
		if (toSplitAtComma[0] == "charleston" && toSplitAtComma[1] == " sc")
		{
			toSplitAtComma[0] = "charleston_sc";
		}
		//split handles cities with period (eg St. Paul, MN)
		if (toSplitAtComma[0].indexOf(".", [0]) != -1)
		{
			var toSplitAtPeriod = toSplitAtComma[0].split(".");
			var toConcat = toSplitAtPeriod[0].concat(toSplitAtPeriod[1]);
			
			toSplitAtComma[0] = toConcat;
		}
		if (toSplitAtComma[0].indexOf(" ", [0]) != -1)
		{
		var toSplitAtSpace = toSplitAtComma[0].split(" ");
		
		var toConcat = toSplitAtSpace[0].concat(toSplitAtSpace[1]);
		
			toSplitAtComma[0] = toConcat;
		}
		if (toSplitAtComma[0] == "neworleans")
		{
			toSplitAtComma[0] = "neworleans-fr";
		}
		// updates distance calculator divs with data	
		document.getElementById("fromData").innerHTML = fromLang;
			document.getElementById(fromSplitAtComma[0]).style.zIndex = "3";
			document.getElementById(fromSplitAtComma[0]).style.backgroundColor = "#cad8e5";
		document.getElementById("toData").innerHTML = toLang;
			document.getElementById(toSplitAtComma[0]).style.backgroundColor = "#cad8e5";
			document.getElementById(toSplitAtComma[0]).style.zIndex = "3";
		document.getElementById("milesData").innerHTML = miles;
		document.getElementById("kiloData").innerHTML = Math.round((kilometers / 1000)) + " km";
		
		if (fromSplitAtComma[0] == "honolulu" || toSplitAtComma[0] == "honolulu")
		{
			document.getElementById("drivingTimeData").innerHTML = "Non applicable";
		}
		else
		{
			document.getElementById("drivingTimeData").innerHTML = duration + " heures";
		}	
		document.getElementById("flightDurationData").innerHTML = flightTime + " heures";
	    }

    function badDirections()
    {
        var km, straightDis, flightTime;
        
        straightDis = getStraightDis();
        flightTime = Math.round(straightDis / 520);
        km = Math.round(1609.344 * straightDis);

        FromToResults(0, km, "N/A", straightDis, flightTime);
    }

    function getStraightDis()
    {
        var point1, point2;
        var distance;
        
        point1 = new GLatLng(place1.Point.coordinates[1], place1.Point.coordinates[0]);
        point2 = new GLatLng(place2.Point.coordinates[1], place2.Point.coordinates[0]);
        
        distance = Math.round(point1.distanceFrom(point2) * 0.000621371192);
        return distance;
    }

    function onGDirectionsLoad()
    {
	    var dis = dir.getDistance().html;
	    var disKM = dir.getDistance().meters;
        var dur = dir.getDuration().seconds;
        var straightDis;
        var flightTime;
	    
	    straightDis = getStraightDis();	    
	    flightTime = Math.round(straightDis / 520);
	    dur = Math.round((dur * 0.000277777778))
       
        FromToResults(dis, disKM, dur, straightDis, flightTime);
    }
