
    //<![CDATA[
	
	var scheduleMap;
	var geocoder;
	var unlimited = 100000000;
	var zip = "";
	var maxDistance = ;

    function load() {
      if (GBrowserIsCompatible()) {
	  	// global variable scheduleMap
	  	scheduleMap = new GMap2(document.getElementById("gmap"));
	  	scheduleMap.setCenter(new GLatLng(38.498058, -98.320213), 3);
	  	scheduleMap.addControl(new GSmallMapControl());
	  	scheduleMap.addControl(new GMapTypeControl());
	  	scheduleMap.addControl(new GScaleControl());
	  	scheduleMap.addControl(new GOverviewMapControl());
		
	  // Create new geocoding object
      geocoder = new GClientGeocoder();

      // Retrieve location information, pass it to addToMap()
      geocoder.getLocations(zip, distance);
	  	
	  					function addMessage0001() {
				// var markerHtml = "Mayo Clinic Division of Pulmonary and Critical Care";
				var message0001 = "Mayo Clinic Division of Pulmonary and Critical Care";
				var msgNode0001 = document.createTextNode( message0001 );
 				scheduleMap.openInfoWindow( marker0001, msgNode0001 );
			} 
			
	  		var site0001 = new GLatLng(44.019385, -92.459771);
	  		var marker0001 = new GMarker(site0001);
	  		
			GEvent.addListener(marker0001, 'mouseover', addMessage0001);
			

scheduleMap.addOverlay(marker0001);
	  	
	  					function addMessage0002() {
				// var markerHtml = "Emory University Whitehead Biomedical Research Bldg";
				var message0002 = "Emory University Whitehead Biomedical Research Bldg";
				var msgNode0002 = document.createTextNode( message0002 );
 				scheduleMap.openInfoWindow( marker0002, msgNode0002 );
			} 
			
	  		var site0002 = new GLatLng(33.793014, -84.323249);
	  		var marker0002 = new GMarker(site0002);
	  		
			GEvent.addListener(marker0002, 'mouseover', addMessage0002);
			

scheduleMap.addOverlay(marker0002);
	  	
	  					function addMessage0003() {
				// var markerHtml = "National Jewish Medical and Research Center Interstitial Lung Disease Program";
				var message0003 = "National Jewish Medical and Research Center Interstitial Lung Disease Program";
				var msgNode0003 = document.createTextNode( message0003 );
 				scheduleMap.openInfoWindow( marker0003, msgNode0003 );
			} 
			
	  		var site0003 = new GLatLng(39.730335, -104.952299);
	  		var marker0003 = new GMarker(site0003);
	  		
			GEvent.addListener(marker0003, 'mouseover', addMessage0003);
			

scheduleMap.addOverlay(marker0003);
	  	
	  					function addMessage0004() {
				// var markerHtml = "Duke University Medical Center 145 Bell Building";
				var message0004 = "Duke University Medical Center 145 Bell Building";
				var msgNode0004 = document.createTextNode( message0004 );
 				scheduleMap.openInfoWindow( marker0004, msgNode0004 );
			} 
			
	  		var site0004 = new GLatLng(36.005234, -78.94094);
	  		var marker0004 = new GMarker(site0004);
	  		
			GEvent.addListener(marker0004, 'mouseover', addMessage0004);
			

scheduleMap.addOverlay(marker0004);
	  	
	  					function addMessage0005() {
				// var markerHtml = "Tulane University Health Science Center Division of Pulmonary Medicine";
				var message0005 = "Tulane University Health Science Center Division of Pulmonary Medicine";
				var msgNode0005 = document.createTextNode( message0005 );
 				scheduleMap.openInfoWindow( marker0005, msgNode0005 );
			} 
			
	  		var site0005 = new GLatLng(29.956849, -90.076427);
	  		var marker0005 = new GMarker(site0005);
	  		
			GEvent.addListener(marker0005, 'mouseover', addMessage0005);
			

scheduleMap.addOverlay(marker0005);
	  	
	  					function addMessage0006() {
				// var markerHtml = "University of Pittsburgh Pulmonary Allergy and Critical Care Medicine";
				var message0006 = "University of Pittsburgh Pulmonary Allergy and Critical Care Medicine";
				var msgNode0006 = document.createTextNode( message0006 );
 				scheduleMap.openInfoWindow( marker0006, msgNode0006 );
			} 
			
	  		var site0006 = new GLatLng(40.442629, -79.955508);
	  		var marker0006 = new GMarker(site0006);
	  		
			GEvent.addListener(marker0006, 'mouseover', addMessage0006);
			

scheduleMap.addOverlay(marker0006);
	  	
	  	}
			 
	 			
  			
	 			
  			
	 			
  			
	 			
  			
	 			
  			
	 			
  			
	 } 	

	 
	 
	 
	 
	function distance(response)
	{
      	// Retrieve the object
    	
		  var place = response.Placemark[0];
		  var lat = place.Point.coordinates[1];
		  var long = place.Point.coordinates[0]
		  // Retrieve the latitude and longitude
		  var point = new GLatLng(lat, long );
		
		  
		  
    	  orderSites(lat, long);		
	 }	
	 
	 
	 
function orderSites( lat, long ) {
	var sitesArray = new Array();
	
	sitesArray.push( {
			name: "Mayo Clinic",
			address: "Division of Pulmonary and Critical Care", 
			address2: "Gonda 18 S 144",
			address3: "200 First Street SW",
			city: "Rochester", 
			state: "MN",
			zip: "55905-0001",
			webAddress: "",
			externalId: "0001", 
			id: "6", 	
			longitude: "-92.459771", 	
			latitude: "44.019385", 	
			distance: GeoCodeCalc.CalcDistance(44.019385, -92.459771, lat, long,GeoCodeCalc.EarthRadiusInMiles ) } 
			);	
	
	sitesArray.push( {
			name: "Emory University",
			address: "Whitehead Biomedical Research Bldg", 
			address2: "615 Michael St, Suite 205-M",
			address3: "",
			city: "Atlanta", 
			state: "GA",
			zip: "30322",
			webAddress: "",
			externalId: "0002", 
			id: "7", 	
			longitude: "-84.323249", 	
			latitude: "33.793014", 	
			distance: GeoCodeCalc.CalcDistance(33.793014, -84.323249, lat, long,GeoCodeCalc.EarthRadiusInMiles ) } 
			);	
	
	sitesArray.push( {
			name: "National Jewish Medical and Research Center",
			address: "Interstitial Lung Disease Program", 
			address2: "1400 Jackson St, F-107",
			address3: "",
			city: "Denver", 
			state: "CO",
			zip: "80206-2761",
			webAddress: "",
			externalId: "0003", 
			id: "8", 	
			longitude: "-104.952299", 	
			latitude: "39.730335", 	
			distance: GeoCodeCalc.CalcDistance(39.730335, -104.952299, lat, long,GeoCodeCalc.EarthRadiusInMiles ) } 
			);	
	
	sitesArray.push( {
			name: "Duke University Medical Center",
			address: "145 Bell Building", 
			address2: "DUMC Box 102043",
			address3: "",
			city: "Durham", 
			state: "NC",
			zip: "27710",
			webAddress: "",
			externalId: "0004", 
			id: "9", 	
			longitude: "-78.94094", 	
			latitude: "36.005234", 	
			distance: GeoCodeCalc.CalcDistance(36.005234, -78.94094, lat, long,GeoCodeCalc.EarthRadiusInMiles ) } 
			);	
	
	sitesArray.push( {
			name: "Tulane University Health Science Center",
			address: "Division of Pulmonary Medicine", 
			address2: "1430 Tulane Ave, SL-9",
			address3: "",
			city: "New Orleans", 
			state: "LA",
			zip: "70112",
			webAddress: "",
			externalId: "0005", 
			id: "10", 	
			longitude: "-90.076427", 	
			latitude: "29.956849", 	
			distance: GeoCodeCalc.CalcDistance(29.956849, -90.076427, lat, long,GeoCodeCalc.EarthRadiusInMiles ) } 
			);	
	
	sitesArray.push( {
			name: "University of Pittsburgh",
			address: "Pulmonary Allergy and Critical Care Medicine", 
			address2: "UPMC Montefiore, Room NW 628",
			address3: "3459 Fifth Avenue",
			city: "Pittsburgh", 
			state: "PA",
			zip: "15213",
			webAddress: "",
			externalId: "0006", 
			id: "11", 	
			longitude: "-79.955508", 	
			latitude: "40.442629", 	
			distance: GeoCodeCalc.CalcDistance(40.442629, -79.955508, lat, long,GeoCodeCalc.EarthRadiusInMiles ) } 
			);	
	
	sitesArray.sort( distanceSort );
	
	
	scheduleMap.setCenter(new GLatLng(sitesArray[0].latitude, sitesArray[0].longitude), 12);

	var recommendedSites = document.getElementById("recommendedSiteUl");
	var selectFirst = recommendedSites.getAttribute("selectFirst");
	recommendedSites.innerHTML = "<li>\n"+
			"<p id='sitePreferred' class='siteOthersP'><span class='bold'>Recommended Site</span></p>\n"+
			"<span id='firstSiteDistance' class='siteDistance'>" + parseInt(sitesArray[0].distance) + " miles</span>\n"+
			"<input id='site" + sitesArray[0].externalId +"' value='"+sitesArray[0].externalId+"' class='siteList'  type='radio' name='siteLocation' lng='" + sitesArray[0].longitude + "' lat='" + sitesArray[0].latitude + "'/>\n"+
			"<label for='site" + sitesArray[0].externalId +"' class='siteName'>" + sitesArray[0].name + "</label>\n"+
			((sitesArray[0].address)?"<label for='site" + sitesArray[0].externalId +"' class='siteAddress'>" + sitesArray[0].address + "</label>\n":"")  +
			((sitesArray[0].address2)?"<label for='site" + sitesArray[0].externalId +"' class='siteAddress'>" + sitesArray[0].address2 + "</label>\n":"")  +
			((sitesArray[0].address3)?"<label for='site" + sitesArray[0].externalId +"' class='siteAddress'>" + sitesArray[0].address3 + "</label>\n":"")  +
			"<label for='site" + sitesArray[0].externalId +"' class='siteCity'>" + sitesArray[0].city + ", " + sitesArray[0].state +"</label>\n"+
			
			"<label class='siteOptions'><span href='#' class='getDirectionsLink' gmaps='"+sitesArray[0].latitude + ", " + sitesArray[0].longitude + "'>Get Directions</span><span onclick='printPage(event);return false;'>Print</span><span onclick='emailPage(event);return false;'>Email</span></label>\n"+
		"</li>\n"+
		"<p id='otherLocationP' class='siteOthersP'><span class='bold'>Other Locations</span></p>";
	// add the sites to the list
	for ( var i=1;i<sitesArray.length; i++ ) {
		recommendedSites.innerHTML += "<li>\n"+
			"<span class='siteDistance'>" + parseInt(sitesArray[i].distance) + " miles</span>\n"+
			"<input id='site" + sitesArray[i].externalId +"' value='"+sitesArray[i].externalId+"' class='siteList' type='radio'  name='siteLocation' lng='" + sitesArray[i].longitude + "' lat='" + sitesArray[i].latitude + "'/>\n"+
			"<label for='site" + sitesArray[i].externalId +"' class='siteName'>" + sitesArray[i].name + "</label>\n"+
			((sitesArray[i].address)?"<label for='site" + sitesArray[i].externalId +"' class='siteAddress'>" + sitesArray[i].address + "</label>\n":"")  +
			((sitesArray[i].address2)?"<label for='site" + sitesArray[i].externalId +"' class='siteAddress'>" + sitesArray[i].address2 + "</label>\n":"")  +
			((sitesArray[i].address3)?"<label for='site" + sitesArray[i].externalId +"' class='siteAddress'>" + sitesArray[i].address3 + "</label>\n":"")  +
			"<label for='site" + sitesArray[i].externalId +"' class='siteCity'>" + sitesArray[i].city + ", " + sitesArray[i].state +"</label>\n"+
			
			"<label class='siteOptions'><span href='#' class='getDirectionsLink' gmaps='"+sitesArray[i].latitude + ", " + sitesArray[i].longitude + "'>Get Directions</span><span onclick='printPage(event);return false;'>Print</span><span onclick='emailPage(event);return false;'>Email</span></label>\n"+
		"</li>";
	}
	if (selectFirst == "true") {
		document.getElementById("site" + sitesArray[0].externalId).setAttribute("checked","checked");
	}
	siteListSelection();
	showDirections();
	
}



function distanceSort( a, b ) {
    var x = a.distance;
    var y = b.distance;
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}
	 	 			

var GeoCodeCalc = {};
GeoCodeCalc.EarthRadiusInMiles = 3956.0;
GeoCodeCalc.EarthRadiusInKilometers = 6367.0;
GeoCodeCalc.ToRadian = function(v) { return v * (Math.PI / 180);};
GeoCodeCalc.DiffRadian = function(v1, v2) {
	return GeoCodeCalc.ToRadian(v2) - GeoCodeCalc.ToRadian(v1);
};
GeoCodeCalc.CalcDistance = function(lat1, lng1, lat2, lng2, radius) {
	return radius * 2 * Math.asin( Math.min(1, Math.sqrt( ( Math.pow(Math.sin((GeoCodeCalc.DiffRadian(lat1, lat2)) / 2.0), 2.0) + Math.cos(GeoCodeCalc.ToRadian(lat1)) * Math.cos(GeoCodeCalc.ToRadian(lat2)) * Math.pow(Math.sin((GeoCodeCalc.DiffRadian(lng1, lng2)) / 2.0), 2.0) ) ) ) );
};
