// Map initialization stuff
	var map = null;
	var pinID = 1;
	var vAlt ='Data temporarily unavailable';
	var vHeading ='Data temporarily unavailable';
	var vTime ='Data temporarily unavailable';
	var vDate ='Data temporarily unavailable';
	var vType ='Data temporarily unavailable';
	var vSpeed ='Data temporarily unavailable';
	var vLat =25.907;
	var vLong =-80.2784;
	var numStops = 28;
	setTimeout("GetMap('False')", 3000);
	setTimeout("DrawProjectedRoute()", 3300);
	setTimeout("AddPin('False')", 3600);
	setTimeout("AddStopovers()", 3300);

// Firefox hack for VE
	// If the browser is Firefox get the version number
    var ffv = 0;
    var ffn = "Firefox/"
    var ffp = navigator.userAgent.indexOf(ffn);
    if (ffp != -1) ffv = parseFloat(navigator.userAgent.substring(ffp + ffn.length));
	// If we're using Firefox 1.5 or above override the Virtual Earth drawing functions to use SVG
    if (ffv >= 1.5) {
        Msn.Drawing.Graphic.CreateGraphic=function(f,b) { return new Msn.Drawing.SVGGraphic(f,b) }
    }
	// Create the point array for Barrington's projected route
	var routePoints = [
		new VELatLong(56, -180), //imaginary point west of anchorage
		new VELatLong(61.1743611, -149.9963611), //Anchorage, Alaska (PANC)
		new VELatLong(58.301, -134.419), //Juneau, Alaska (KJNU)
		new VELatLong(47.5300000, -122.3019722), //Seattle, Washington (KBFI)        
		new VELatLong(39.7852500, -104.5431389), //Denver, Colorado (KFTG)
		new VELatLong(29.6454186, -95.2788889), //Houston, Texas (KHOU)
		new VELatLong(30.694, -88.043), //Mobile, Alabama (MOB)
		new VELatLong(28.538, -81.379), //Orlando, Florida end of trip
		new VELatLong(25.907000,-80.278389), //Miami, Florida (KOPF) start of trip
		new VELatLong(41.5175000,-81.6833333), //Clevelnad, Ohio (KBKL)
		new VELatLong(40.7287811,-73.4134072), //New York, New York (KFRG)
		new VELatLong(47.6200, -52.7300), //St. John's, Canada (CYYT)
		new VELatLong(36.9700, -25.1700), //Santa Maria, Azores (LPAZ)
		new VELatLong(40.3705555, -3.785), //Madrid, Spain (LECU)
		new VELatLong(41.7994, 12.5949), //Rome, Italy (LIRA)
		new VELatLong(37.9300, 23.9300), //Athens, Greece (LGAV)
		new VELatLong(29.9000, 31.3000), //Cairo, Egypt (CAI)
		new VELatLong(25.671028, 32.706583), //Luxor, Egypt (HELX)
		new VELatLong(25.25278, 55.36444), //Dubai, UAE (OMDB)
		new VELatLong(19.1200, 72.8500), //Mumbai, India (VABB)
		new VELatLong(22.58, 88.38), //Calcutta, India (896NM)
		new VELatLong(13.92, 100.60 ), //Bangkok, Thailand (VTBD) (872NM)
		new VELatLong(22.33, 114.18), // Hong Kong (VHHH)
		new VELatLong(25.08, 121.22), //Taipei, Taiwan (RCTP)
		new VELatLong(35.25000, 136.924444), //Nagoya, Japan (RJNA)
		new VELatLong(43.6708, 142.4475), //Asahikawa, Japan (RJEC)
		new VELatLong(52.7122750, 174.1136194), //Shemya, Alaska (PASY)
		new VELatLong(56, 180) //imaginary east of shemya        
	];   
	var routeNames = [
		"Shemya, Alaska (PASY)",
		"Anchorage, Alaska (PANC)",
		"Juneau, Alaska (KJNU)",
		"Seattle, Washington (KBFI)",
		"Denver, Colorado (KFTG)",
		"Houston, Texas (KHOU)",
		"Mobile, Alabama (MOB)",
		"Orlando, Florida",
		"Miami, Florida (KOPF)",
		"Cleveland, Ohio (KBKL)",
		"New York, New York (KFRG)",
		"St. John's, Canada (CYYT)",
		"Santa Maria, Azores (LPAZ)",
		"Madrid, Spain (LECU)",
		"Rome, Italy (LIRA)",
		"Athens, Greece (LGAV)",
		"Cairo, Egypt (CAI)",
		"Luxor, Egypt (HELX)",
		"Dubai, UAE (OMDB)",
		"Mumbai, India (VABB)",
		"Calcutta, India",
		"Bangkok, Thailand (VTBD)",
		"Hong Kong (VHHH)",
		"Taipei, Taiwan (RCTP)",
		"Nagoya, Japan (RJNA)",
		"Asahikawa, Japan (RJEC)",
		"Shemya, Alaska (PASY)",
		"Anchorage, Alaska (PANC)"
	];   
	var routeDates = [
		"June 17, 2007",	//Shemya, Alaska (PASY)
		"June 19, 2007",	//Anchorage, Alaska (PANC)
		"June 20, 2007",	//Juneau, Alaska (KJNU)
		"June 21, 2007",	//Seattle, Washington (KBFI)
		"June 23, 2007",	//Denver, Colorado (KFTG)
		"June 26, 2007",	//Houston, Texas (KHOU)
		"June 27, 2007",	//Mobile, Alabama (MOB)
		"June 27, 2007",	//Orlando, Florida
		"March 23, 2007",	//Miami, Florida (KOPF)
		"March 25, 2007",	//Cleveland, Ohio (KBKL)
		"March 30, 2007",	//New York, New York (KFRG)
		"April 7, 2007",	//St. John's, Canada (CYYT)
		"April 9, 2007",	//Santa Maria, Azores (LPAZ)
		"April 11, 2007",	//Madrid, Spain (LECU)
		"April 14, 2007",	//Rome, Italy (LIRA)
		"April 19, 2007",	//Athens, Greece (LGAV)
		"April 21, 2007",	//Cairo, Egypt (CAI)
		"April 22, 2007",	//Luxor, Egypt (HELX)
		"May 9, 2007",		//Dubai, UAE (OMDB)
		"May 10, 2007",		//Mumbai, India (VABB)
		"May 16, 2007",		//Calcutta, India
		"May 18, 2007",		//Bangkok, Thailand (VTBD)
		"May 24, 2007",		//Hong Kong (VHHH)
		"May 24, 2007",		//Taipei, Taiwan (RCTP)
		"May 31, 2007",		//Nagoya, Japan (RJNA)
		"June 9, 2007",		//Asahikawa, Japan (RJEC)
		"June 17, 2007",	//Shemya, Alaska (PASY)
		"June 19, 2007"		//Anchorage, Alaska (PANC)
	];
	var routeDistances = [
		"1277 (NM)",	//Shemya, Alaska (PASY)
		"532 (NM)",		//Anchorage, Alaska (PANC)
		"790 (NM)",		//Juneau, Alaska (KJNU)
		"896 (NM)",		//Seattle, Washington (KBFI)
		"759 (NM)",		//Denver, Colorado (KFTG)
		"385 (NM)",		//Houston, Texas (KHOU)
		"390 (NM)",		//Mobile, Alabama (MOB)
		"168 (NM)",		//Orlando, Florida
		"960 (NM)",		//Miami, Florida (KOPF)
		"365 (NM)",		//Cleveland, Ohio (KBKL)
		"1019 (NM)",	//New York, New York (KFRG)
		"1380 (NM)",	//St. John's, Canada (CYYT)
		"1036 (NM)",	//Santa Maria, Azores (LPAZ)
		"783 (NM)",		//Madrid, Spain (LECU)
		"653 (NM)",		//Rome, Italy (LIRA)
		"621 (NM)",		//Athens, Greece (LGAV)
		"280 (NM)",		//Cairo, Egypt (CAI)
		"1248 (NM)",	//Luxor, Egypt (HELX)
		"1314 (NM)",	//Dubai, UAE (OMDB)
		"915 (NM)",	//Mumbai, India (VABB)
		"920 (NM)",		//Calcutta, India
		"1045 (NM)",	//Bangkok, Thailand (VTBD)
		"485 (NM)",		//Hong Kong (VHHH)
		"1041 (NM)",	//Taipei, Taiwan (RCTP)
		"566 (NM)",		//Nagoya, Japan (RJNA)
		"1530 (NM)",	//Asahikawa, Japan (RJEC)
		"1277 (NM)",	//Shemya, Alaska (PASY)
		"532 (NM)"		//Anchorage, Alaska (PANC)
	];
	var routeFlags = [
		"flagUS.gif",		//Shemya, Alaska (PASY)
		"flagUS.gif",		//Anchorage, Alaska (PANC)
		"flagUS.gif",		//Juneau, Alaska (KJNU)
		"flagUS.gif",		//Seattle, Washington (KBFI)
		"flagUS.gif",		//Denver, Colorado (KFTG)
		"flagUS.gif",		//Houston, Texas (KHOU)
		"flagUS.gif",		//Mobile, Alabama (MOB)
		"flagUS.gif",		//Orlando, Florida
		"flagUS.gif",		//Miami, Florida (KOPF)
		"flagUS.gif",		//Cleveland, Ohio (KBKL)
		"flagUS.gif",		//New York, New York (KFRG)
		"flagCanada.gif",	//St. John's, Canada (CYYT)
		"flagAzores.gif",	//Santa Maria, Azores (LPAZ)
		"flagSpain.gif",	//Madrid, Spain (LECU)
		"flagItaly.gif",	//Rome, Italy (LIRA)
		"flagGreece.gif",	//Athens, Greece (LGAV)
		"flagEgypt.gif",	//Cairo, Egypt (CAI)
		"flagEgypt.gif",	//Luxor, Egypt (HELX)
		"flagUAE.gif",		//Dubai, UAE (OMDB)
		"flagIndia.gif",	//Mumbai, India (VABB)
		"flagIndia.gif",	//Calcutta, India
		"flagThailand.gif",	//Bangkok, Thailand (VTBD)
		"flagChina.gif",	//Hong Kong (VHHH)
		"flagTaiwan.gif",	//Taipei, Taiwan (RCTP)
		"flagJapan.gif",	//Nagoya, Japan (RJNA)
		"flagJapan.gif",	//Asahikawa, Japan (RJEC)
		"flagUS.gif",		//Shemya, Alaska (PASY)
		"flagUS.gif"		//Anchorage, Alaska (PANC)
	];
	// Draw projected route on map
    function DrawProjectedRoute() {
        
        map.DeleteAllPolylines();                
        var color = new VEColor(255,0,0,1);
        var width = 1;
        var id = 'I70';
        var poly = new VEPolyline(id, routePoints, color, width);
        map.AddPolyline(poly);
    }
    
    function GetMap(valid) {
        
        map = new VEMap('myMap');
        map.LoadMap(new VELatLong(vLat,vLong),2,'h',false);
		map.ClearInfoBoxStyles();
        
        if(valid == 'True') map.AttachEvent('oninitmode', doModeChange);
    }
        
    function AddStopovers() {
        var pinDivString;
		var i, j;
		var pin;
        
		for(i=0; i<numStops; i++) {
			j = (i < numStops - 1) ? i + 1 : 0;
			
			pinDivString = '<div id="ppContainer">' +
			'<img style="margin-right: 7px;" src="barringtonPushPin.png" width="105" height="105" alt="Barrington Irving" />' +
			'<p class="myLabel1">THIS STOP</p><br />' +
			'<img class="imgFlag" src="flags/' + routeFlags[i] + '" width="48" height="30" alt="' + routeNames[i] + '" />' +
			'<p class="data">' + routeNames[i] + '</p>' +
			'<p class="myLabel1">NEXT STOP</p><br />' +
			'<img class="imgFlag" src="flags/' + routeFlags[j] + '" width="48" height="30" alt="' + routeNames[j] + '" />' +
			'<p class="data">' + routeNames[j] + '<br></p>' +
			'<p class="myLabel2">DEPARTURE DATE</p>' +
			'<p class="data2">' + routeDates[i] + '</p>' +
			'<p class="myLabel2">DISTANCE TO NEXT STOP</p>' +
			'<p class="data2">' + routeDistances[i] + '</p></div>';
			pin = new VEPushpin(pinID, routePoints[i],
			'pushpin.png',
			//routeNames[i], pinDivString);
			null, pinDivString);
			map.AddPushpin(pin);
			pinID++;
		}
    }
    function doModeChange() {
        var mode = map.GetMapMode();
        if (mode==VEMapMode.Mode2D) { 
            mode='2D Mode'; 
            }
        else if (mode==VEMapMode.Mode3D) { 
            mode='3D Mode';
            alert('You are now in ' + mode 
                + '\nThe view will be set to Barrington\'s most recently reported latitude, longtitude, heading, altitude and a pitch of -45 degrees' 
                + '\nDepending on Barrington\'s altitude, you may have to zoom out to see his plane.');            
            map.SetMapStyle(VEMapStyle.Hybrid);
            var viewSpec = new VEMapViewSpecification(new VELatLong(vLat, vLong), null, vAlt / 3.2, -45, vHeading);                       
            map.SetMapView(viewSpec);             
            }       
    } // JavaScript Document