﻿
	var urlEarthAlertsWeb = "http://earthalerts.manyjourneys.com/web/";
	
	var currentDate = new Date();
	var currentDate_First = new Date(currentDate.getFullYear(), 0, 1);
	var currentDate_DayOfYear = Math.round(((currentDate - currentDate_First) / 1000 / 60 / 60 / 24) + .5, 0);

	var month_name = new Array(12);
		month_name[0] = "January";
		month_name[1] = "February";
		month_name[2] = "March";
		month_name[3] = "April";
		month_name[4] = "May";
		month_name[5] = "June";
		month_name[6] = "July";
		month_name[7] = "August";
		month_name[8] = "September";
		month_name[9] = "October";
		month_name[10] = "November";
		month_name[11] = "December";
		
	var currentMonth = month_name[new Date().getMonth()];


	var currentYearUTC = currentDate.getUTCFullYear();
	
	var currentMonthUTC = currentDate.getUTCMonth() + 1;
	if (currentMonthUTC < 10) { currentMonthUTC = "0" + currentMonthUTC}
	
	var currentDayUTC = currentDate.getUTCDate();
	if (currentDayUTC < 10) { currentDayUTC = "0" + currentDayUTC}
	
	var currentHourUTC = currentDate.getUTCHours();
	if (currentHourUTC < 10) { currentHourUTC = "0" + currentHourUTC}


    var stateCodes = "AL|AK|AS|AZ|AR|CA|CO|CT|DE|DC|FL|GA|GU|HI|ID|IL|IN|IA|KS|KY|LA|ME|MD|MA|MI|UM|MN|MS|MT|NV|NE|NH|NJ|NM|NY|NC|ND|OH|OK|OR|PA|PR|RI|SC|SD|TN|TX|UT|VT|VI|VA|WA|WV|WI|WY".split("|");
    

	// Source:  U.S. Geological Survey - Earthquake Hazards Program
	//          http://www.earthquake.usgs.gov/eqcenter/catalogs/
	var urlUSGS_EHP_Earthquake_Past7Days_Mag5 = "data/usgs_earthquake_7day-M5.xml";
	var urlUSGS_EHP_Earthquake_Past7Days_Mag25 = "data/usgs_earthquake_7day-M2.5.xml";

	// Source:  U.S. Geological Survey - Earthquake Hazards Program
	var urlUSGS_EHP_PlateBoundaries = urlEarthAlertsWeb + "data/usgs_earthquake_tectonic-plates.kmz";

	
	//
	// Source: NOAA - West Coast & Alaska Tsunami Warning Center
	//
	var urlNOAA_WCATWC_Tsunami_Events_HTML = "data/wcatwc_tsunami_events.html";
	
	var urlNOAA_WCATWC_Tsunami_Base = "http://wcatwc.arh.noaa.gov/";
													   
	var urlNOAA_WCATWC_Tsunami_EventOrigin_WideView_Image = urlNOAA_WCATWC_Tsunami_Base + "<TSUNAMI_EVENT_DATE_EVENT_ID>earthvu<TSUNAMI_EVENT_ID>.gif";
	var urlNOAA_WCATWC_Tsunami_EventOrigin_CloseView_Image = urlNOAA_WCATWC_Tsunami_Base + "<TSUNAMI_EVENT_DATE_EVENT_ID>closevu<TSUNAMI_EVENT_ID>.gif";
	var urlNOAA_WCATWC_Tsunami_AffectedRegion_Image = urlNOAA_WCATWC_Tsunami_Base + "<TSUNAMI_EVENT_DATE_EVENT_ID>wwareas<TSUNAMI_EVENT_ID>.gif";
	var urlNOAA_WCATWC_Tsunami_TsunamiTravelTime_Image = urlNOAA_WCATWC_Tsunami_Base + "<TSUNAMI_EVENT_DATE_EVENT_ID>ttvu<TSUNAMI_EVENT_ID>.jpg";


	//
	// Source: NOAA - Pacific Tsunami Warning Center
	//
	var urlNOAA_PTWC_Tsunami_PacificOcean_RSS = "data/ptwc_tsunami_pacific.xml";
	var urlNOAA_PTWC_Tsunami_Hawaii_RSS = "data/ptwc_tsunami_hawaii.xml";
	var urlNOAA_PTWC_Tsunami_IndianOcean_RSS = "data/ptwc_tsunami_indian.xml";
	var urlNOAA_PTWC_Tsunami_Caribbean_RSS = "data/ptwc_tsunami_caribbean.xml";

	var urlNOAA_PTWC_Tsunami_Base = "http://ptwc.weather.gov/";

	var urlNOAA_PTWC_Tsunami_EventOrigin_WideView_Image = urlNOAA_PTWC_Tsunami_Base + "ptwc/images/n<REGION_ID>_map.jpg";
	var urlNOAA_PTWC_Tsunami_EventOrigin_CloseView_Image = urlNOAA_PTWC_Tsunami_Base + "ptwc/eventmaps/<TSUNAMI_EVENT_ID>.jpg";



	// Source:  U.S. Geological Survey - Volcano Hazards Program
	var urlUSGS_VHP_Active = "data/usgs_volcano_active.xml";
	var urlUSGS_VHP_Monitored = "data/usgs_volcano_monitored.xml";


	//
	// VAAC
	//
	// Source: Australian BoM - Darwin Volcanic Ash Advisory Centre
	//         http://www.bom.gov.au/info/vaac/
	var urlVAAC_Volcano_AshAdvisories_Reports = "data/vaac_volcano_ash-advisories_reports.html";

	// Source: Anchorage - Volcanic Ash Advisory Center, Alaska Aviation Weather Unit (AAWU)
	//         http://vaac.arh.noaa.gov/
	//
	var urlVAAC_Volcano_AshAdvisories_Areas = urlEarthAlertsWeb + "data/vaac_volcano_ash-advisories_areas_hours_<AGE>.kml"
	
	

	// Source:  Smithsonian Global Volcanism Program
	//          http://www.volcano.si.edu/news/WeeklyVolcanoRSS.xml
	//          File stored locally; file updated by 'georssfetch.php' ONCE A WEEK; converts source RSS feed into GeoRSS format...
	
	var urlSmithsonian_GVP_WeeklyReports = "data/smithsonian_volcano_weekly.xml";


	
	// Source: Weather Underground
	//		   http://www.wunderground.com/
	
	var urlWeatherUnderground_TropicalCyclone_RSS = "data/wunderground_tropical_<REGION_ID>.xml";
	var urlWeatherUnderground_TropicalCyclone_Tracking = "data/wunderground_tropical_<STORM_ID>.track.html";

	var urlWeatherUnderground_TropicalCyclone_Info = "http://www.wunderground.com/tropical/tracking/<STORM_ID>.html";
	var urlWeatherUnderground_TropicalCyclone_Tracking_Image = "http://icons-pe.wunderground.com/data/images/<STORM_ID>.gif";
	var urlWeatherUnderground_TropicalCyclone_Satellite_Image = "http://icons-pe.wunderground.com/data/images/<STORM_ID>_sat.jpg";
	var urlWeatherUnderground_TropicalCyclone_Models_Image = "http://icons-ecast.wunderground.com/data/images/<STORM_ID>_model.gif";
	


	// Source:  National Weather Service
	//          http://www.weather.gov/
	
	var urlWeather_NWS_Alerts_NamesColors = "data/nws_weather_alerts_names_colors.html";



	// Source: USDA Forest Service - Remote Sensing Applications Center
	// http://activefiremaps.fs.fed.us/
	var urlFire_USFS_RSAC_Incidents = "data/usfs_rsac_fire_incidents.xml";
	var urlFire_USFS_RSAC_HotSpots = "data/usfs_rsac_fire_hotspots.html";


    //
	// Source:  GeoMAC
	//          http://www.geomac.gov/
	var urlFire_GEOMAC_ActivePerimeters = urlEarthAlertsWeb + "data/geomac_fire_active-perimeters.kml";
	

	
	// Source:  Volcano Live - John Seach
	//          http://johnseach.com/?feed=rss2
	//          File stored locally; file updated by 'georssfetch.php' EVERY 3 HOURS; converts source RSS feed into GeoRSS format...
	var urlVolcanoLive = "data/volcanolive_volcano_news.xml";
		
	

	var urlWebcams_Volcano = "data/webcams_volcanoes.xml";

	//
	// Source: FIRMS - near real time thermal imaging of global hot-spots (volcanic and fire)
	//		   Hawai'i Institute of Geophysics and Planetology,
	//		   School of Ocean and Earth Science and Technology,
	//		   University of Hawai'i at Manoa
	//
	//		   http://modis.higp.hawaii.edu/
	//
	// Using infrared satellite data provided by the Moderate Resolution Imaging Spectroradiometer (MODIS), scientists at the Hawai'i Institute of Geophysics and 
	// Planetology, //University of Hawai'i, have developed an automated system which maps the global distribution of thermal hot-spots in near-real-time
	//


	// Source:  National Geophysical Data Center - Natural Hazards
	// 			http://www.ngdc.noaa.gov/hazard/data/kml/
	//          Local copy used, MANUALLY downloaded periodically (data does not get updated very frequently)
	var urlNGDC_SignificantEvents_Earthquake = "data/ngdc_significantevents_earthquakes.xml";
	var urlNGDC_SignificantEvents_Tsunami = "data/ngdc_significantevents_tsunamis.xml";
	var urlNGDC_SignificantEvents_Volcano = "data/ngdc_significantevents_volcanoes.xml";
	
	
	var markersEarthquake = [];
	var polylinesEarthquake_PlateBoundaries;				
	var markersTsunami = [];
	var markersVolcano_USGS_VHP_Red = [];		    // WARNING status
	var markersVolcano_USGS_VHP_Orange = [];		// WATCH status
	var markersVolcano_USGS_VHP_Yellow = [];		// ADVISORY status
	var markersVolcano_USGS_VHP_GreenUnassigned_SpecialMonitored = [];	// NORMAL and UNASSIGNED status currently being monitored
	var markersVolcano_USGS_VHP_Green = [];			// NORMAL status
	var markersVolcano_USGS_VHP_Unassigned = [];	// UNASSIGNED status
	var markersVolcano_VAAC_Reports = [];
	var polygonsVolcano_VAAC_Areas;
	var markersVolcano_Smithsonian_GVP_New = [];
	var markersVolcano_Smithsonian_GVP_Ongoing = [];
	var markersTropicalCyclone = [];
	var markersTropicalDisturbance = [];
	var markersTropicalCyclone_StormTrackHistory = [];
	var markersTropicalDisturbance_StormTrackHistory = [];
	var polylinesTropicalCyclone_StormTrackHistory = [];
	var polylinesTropicalDisturbance_StormTrackHistory = [];
	var polygonsWeather_NWS_Alerts;
	var markersFire_USFS_RSAC_Incidents = [];
	var markersFire_USFS_RSAC_HotSpots_12Hours = [];
	var markersFire_USFS_RSAC_HotSpots_12to24Hours = [];
	var polygonsFire_GEOMAC_Incidents;
	var markersFire_FIRMS_HotSpots = [];
	var markersOtherLayers_Webcams_Volcano = [];
	var markersOtherLayers_News_VolcanoLive = [];
	var markersHistory_Earthquake_1950ADtoPresent = [];
	var markersHistory_Earthquake_1900to1949AD = [];
	var markersHistory_Earthquake_1800to1899AD = [];
	var markersHistory_Earthquake_1500to1799AD = [];
	var markersHistory_Earthquake_5000BCto1499AD = [];
	var markersHistory_Tsunami_1950ADtoPresent = [];
	var markersHistory_Tsunami_1900to1949AD = [];
	var markersHistory_Tsunami_1800to1899AD = [];
	var markersHistory_Tsunami_1500to1799AD = [];
	var markersHistory_Tsunami_5000BCto1499AD = [];
	var markersHistory_Volcano_1950ADtoPresent = [];
	var markersHistory_Volcano_1900to1949AD = [];
	var markersHistory_Volcano_1800to1899AD = [];
	var markersHistory_Volcano_1500to1799AD = [];
	var markersHistory_Volcano_5000BCto1499AD = [];
	var markersVolcano_Catalog = [];
	
	var markerclusterHistory;
	var markerclusterVolcanoCatalog;

	var isEnabled_Earthquake = false;
	var isLoaded_Earthquake_PlateBoundaries = false;
	var isEnabled_Tsunami = false;
	var isEnabled_Volcano_USGS_VHP_Red = false;
	var isEnabled_Volcano_USGS_VHP_Orange = false;
	var isEnabled_Volcano_USGS_VHP_Yellow = false;
	var isEnabled_Volcano_USGS_VHP_GreenUnassigned_SpecialMonitored = false;
	var isEnabled_Volcano_USGS_VHP_Green = false;
	var isEnabled_Volcano_USGS_VHP_Unassigned = false;
	var isEnabled_Volcano_VAAC_Reports = false;
	var isEnabled_Volcano_VAAC_Areas = false;
	var isEnabled_Volcano_Smithsonian_GVP_New = false;
	var isEnabled_Volcano_Smithsonian_GVP_Ongoing = false;
	var isEnabled_TropicalCyclone = false;
	var isEnabled_TropicalDisturbance = false;
	var isEnabled_Weather_NWS_Alerts = false;
	var isEnabled_Fire_USFS_RSAC_Incidents = false;
	var isEnabled_Fire_USFS_RSAC_HotSpots = false;
	var isEnabled_Fire_GEOMAC_ActivePerimeters = false;
	var isEnabled_Fire_FIRMS_HotSpots = false;
	var isEnabled_OtherLayers_Webcams_Volcano = false;
	var isEnabled_OtherLayers_News_VolcanoLive = false;
	var isEnabled_History_Earthquake_1950ADtoPresent = false;
	var isEnabled_History_Earthquake_1900to1949AD = false;
	var isEnabled_History_Earthquake_1800to1899AD = false;
	var isEnabled_History_Earthquake_1500to1799AD = false;
	var isEnabled_History_Earthquake_5000BCto1499AD = false;
	var isEnabled_History_Tsunami_1950ADtoPresent = false;
	var isEnabled_History_Tsunami_1900to1949AD = false;
	var isEnabled_History_Tsunami_1800to1899AD = false;
	var isEnabled_History_Tsunami_1500to1799AD = false;
	var isEnabled_History_Tsunami_5000BCto1499AD = false;
	var isEnabled_History_Volcano_1950ADtoPresent = false;
	var isEnabled_History_Volcano_1900to1949AD = false;
	var isEnabled_History_Volcano_1800to1899AD = false;
	var isEnabled_History_Volcano_1500to1799AD = false;
	var isEnabled_History_Volcano_5000BCto1499AD = false;
	var isEnabled_VolcanoCatalog = false;
	
	
	var markersXml_Volcano_USGS_VHP_ActivelyMonitored = null;
	var markersXml_Volcano_USGS_VHP_All = null;



	//
	// Icons used as markers for Google Maps...
	//
	var iconMostRecent_Star = new google.maps.MarkerImage("images/misc/most_recent.png", new google.maps.Size(24, 24), new google.maps.Point(0, 0), new google.maps.Point(24, 36));


	var iconEarthquake_Magnitude1_Url = "images/earthquake/magnitude1.png";
 	var iconEarthquake_Magnitude1 = new google.maps.MarkerImage(iconEarthquake_Magnitude1_Url, new google.maps.Size(26, 26));

	var iconEarthquake_Magnitude2_Url = "images/earthquake/magnitude2.png";
 	var iconEarthquake_Magnitude2 = new google.maps.MarkerImage(iconEarthquake_Magnitude2_Url, new google.maps.Size(26, 26));

	var iconEarthquake_Magnitude3_Url = "images/earthquake/magnitude3.png";
 	var iconEarthquake_Magnitude3 = new google.maps.MarkerImage(iconEarthquake_Magnitude3_Url, new google.maps.Size(26, 26));

	var iconEarthquake_Magnitude4_Url = "images/earthquake/magnitude4.png";
 	var iconEarthquake_Magnitude4 = new google.maps.MarkerImage(iconEarthquake_Magnitude4_Url, new google.maps.Size(26, 26));

	var iconEarthquake_Magnitude5_Url = "images/earthquake/magnitude5.png";
 	var iconEarthquake_Magnitude5 = new google.maps.MarkerImage(iconEarthquake_Magnitude5_Url, new google.maps.Size(26, 26));

	var iconEarthquake_Magnitude6_Url = "images/earthquake/magnitude6.png";
 	var iconEarthquake_Magnitude6 = new google.maps.MarkerImage(iconEarthquake_Magnitude6_Url, new google.maps.Size(26, 26));

	var iconEarthquake_Magnitude7_Url = "images/earthquake/magnitude7.png";
 	var iconEarthquake_Magnitude7 = new google.maps.MarkerImage(iconEarthquake_Magnitude7_Url, new google.maps.Size(26, 26));

	var iconEarthquake_Magnitude8_Url = "images/earthquake/magnitude8.png";
 	var iconEarthquake_Magnitude8 = new google.maps.MarkerImage(iconEarthquake_Magnitude8_Url, new google.maps.Size(26, 26));

 	var iconEarthquake_MagnitudeX_Shadow = new google.maps.MarkerImage("images/earthquake/shadow.png", new google.maps.Size(39, 26), new google.maps.Point(0, 0), new google.maps.Point(13, 26));

	
	var iconEarthquake_NGDC_SignificantEvents_Green_Url = "images/earthquake/ngdc/circle-green.png";
 	var iconEarthquake_NGDC_SignificantEvents_Green = 
		new google.maps.MarkerImage(iconEarthquake_NGDC_SignificantEvents_Green_Url, new google.maps.Size(10, 10));

	var iconEarthquake_NGDC_SignificantEvents_Blue_Url = "images/earthquake/ngdc/circle-blue.png";
 	var iconEarthquake_NGDC_SignificantEvents_Blue = 
		new google.maps.MarkerImage(iconEarthquake_NGDC_SignificantEvents_Blue_Url, new google.maps.Size(12, 12));

	var iconEarthquake_NGDC_SignificantEvents_Yellow_Url = "images/earthquake/ngdc/circle-yellow.png";
 	var iconEarthquake_NGDC_SignificantEvents_Yellow = 
		new google.maps.MarkerImage(iconEarthquake_NGDC_SignificantEvents_Yellow_Url, new google.maps.Size(16, 16));

	var iconEarthquake_NGDC_SignificantEvents_Orange_Url = "images/earthquake/ngdc/circle-orange.png";
 	var iconEarthquake_NGDC_SignificantEvents_Orange = 
		new google.maps.MarkerImage(iconEarthquake_NGDC_SignificantEvents_Orange_Url, new google.maps.Size(20, 20));

	var iconEarthquake_NGDC_SignificantEvents_Red_Url = "images/earthquake/ngdc/circle-red.png";
 	var iconEarthquake_NGDC_SignificantEvents_Red = 
		new google.maps.MarkerImage(iconEarthquake_NGDC_SignificantEvents_Red_Url, new google.maps.Size(24, 24));



	var iconTropicalCyclone_Invest_Url = "images/tropical_cyclone/invest.png";
 	var iconTropicalCyclone_Invest = 
		new google.maps.MarkerImage(iconTropicalCyclone_Invest_Url, new google.maps.Size(30, 29), new google.maps.Point(0, 0));

    var iconTropicalCyclone_Invest_Shadow = 
		new google.maps.MarkerImage("images/tropical_cyclone/invest_shadow.png", new google.maps.Size(45, 29), new google.maps.Point(0, 0), new google.maps.Point(15, 29));


	var iconTropicalCyclone_Depression_Url = "images/tropical_cyclone/tropical_depression.png";
 	var iconTropicalCyclone_Depression = 
		new google.maps.MarkerImage(iconTropicalCyclone_Depression_Url, new google.maps.Size(30, 29));

	var iconTropicalCyclone_Storm_Url = "images/tropical_cyclone/tropical_storm.png";
 	var iconTropicalCyclone_Storm = 
		new google.maps.MarkerImage(iconTropicalCyclone_Storm_Url, new google.maps.Size(30, 29));

	var iconTropicalCyclone_Category1_Url = "images/tropical_cyclone/category1.png";
 	var iconTropicalCyclone_Category1 = 
		new google.maps.MarkerImage(iconTropicalCyclone_Category1_Url, new google.maps.Size(30, 29));

	var iconTropicalCyclone_Category2_Url = "images/tropical_cyclone/category2.png";
 	var iconTropicalCyclone_Category2 = 
		new google.maps.MarkerImage(iconTropicalCyclone_Category2_Url, new google.maps.Size(30, 29));

	var iconTropicalCyclone_Category3_Url = "images/tropical_cyclone/category3.png";
 	var iconTropicalCyclone_Category3 = 
		new google.maps.MarkerImage(iconTropicalCyclone_Category3_Url, new google.maps.Size(30, 29));

	var iconTropicalCyclone_Category4_Url = "images/tropical_cyclone/category4.png";
 	var iconTropicalCyclone_Category4 = 
		new google.maps.MarkerImage(iconTropicalCyclone_Category4_Url, new google.maps.Size(30, 29));

	var iconTropicalCyclone_Category5_Url = "images/tropical_cyclone/category5.png";
 	var iconTropicalCyclone_Category5 = 
		new google.maps.MarkerImage(iconTropicalCyclone_Category5_Url, new google.maps.Size(30, 29));

    var iconTropicalCyclone_Shadow = 
		new google.maps.MarkerImage("images/tropical_cyclone/shadow.png", new google.maps.Size(45, 29), new google.maps.Point(0, 0), new google.maps.Point(15, 29));



 	var iconTropicalCyclone_Invest_Small = 
		new google.maps.MarkerImage("images/tropical_cyclone/invest_small.png", new google.maps.Size(22, 21), new google.maps.Point(0, 0));

    var iconTropicalCyclone_Invest_Shadow_Small = 
		new google.maps.MarkerImage("images/tropical_cyclone/invest_shadow_small.png", new google.maps.Size(33, 21), new google.maps.Point(0, 0), new google.maps.Point(11, 21));


 	var iconTropicalCyclone_Depression_Small = 
		new google.maps.MarkerImage("images/tropical_cyclone/tropical_depression_small.png", new google.maps.Size(22, 21));

 	var iconTropicalCyclone_Storm_Small = 
		new google.maps.MarkerImage("images/tropical_cyclone/tropical_storm_small.png", new google.maps.Size(22, 21));

 	var iconTropicalCyclone_Category1_Small = 
		new google.maps.MarkerImage("images/tropical_cyclone/category1_small.png", new google.maps.Size(22, 21));

 	var iconTropicalCyclone_Category2_Small = 
		new google.maps.MarkerImage("images/tropical_cyclone/category2_small.png", new google.maps.Size(22, 21));

 	var iconTropicalCyclone_Category3_Small = 
		new google.maps.MarkerImage("images/tropical_cyclone/category3_small.png", new google.maps.Size(22, 21));

 	var iconTropicalCyclone_Category4_Small = 
		new google.maps.MarkerImage("images/tropical_cyclone/category4_small.png", new google.maps.Size(22, 21));

 	var iconTropicalCyclone_Category5_Small = 
		new google.maps.MarkerImage("images/tropical_cyclone/category5_small.png", new google.maps.Size(22, 21));

    var iconTropicalCyclone_Shadow_Small = 
		new google.maps.MarkerImage("images/tropical_cyclone/shadow_small.png", new google.maps.Size(33, 21), new google.maps.Point(0, 0), new google.maps.Point(11, 21));



	var iconTsunami_InfoStatement_Url = "images/tsunami/information_statement.png";
 	var iconTsunami_InfoStatement = 
		new google.maps.MarkerImage(iconTsunami_InfoStatement_Url, new google.maps.Size(24, 24));

    var iconTsunami_InfoStatement_Shadow = 
		new google.maps.MarkerImage("images/tsunami/information_statement_shadow.png", new google.maps.Size(35, 24), new google.maps.Point(0, 0), new google.maps.Point(12, 24));


	var iconTsunami_Advisory_Url = "images/tsunami/advisory.png";
 	var iconTsunami_Advisory = 
		new google.maps.MarkerImage(iconTsunami_Advisory_Url, new google.maps.Size(28, 28));

    var iconTsunami_Advisory_Shadow = 
		new google.maps.MarkerImage("images/tsunami/advisory_shadow.png", new google.maps.Size(41, 28), new google.maps.Point(0, 0), new google.maps.Point(14, 28));


	var iconTsunami_Watch_Url = "images/tsunami/watch.png";
 	var iconTsunami_Watch = 
		new google.maps.MarkerImage(iconTsunami_Watch_Url, new google.maps.Size(32, 32));

	var iconTsunami_Warning_Url = "images/tsunami/warning.png";
 	var iconTsunami_Warning = 
		new google.maps.MarkerImage(iconTsunami_Warning_Url, new google.maps.Size(32, 32));

    var iconTsunami_WarningWatch_Shadow = 
		new google.maps.MarkerImage("images/tsunami/warning_watch_shadow.png", new google.maps.Size(48, 32), new google.maps.Point(0, 0), new google.maps.Point(16, 32));


	var iconTsunami_NGDC_SignificantEvents_Green_Url = "images/tsunami/ngdc/square-green.png";
 	var iconTsunami_NGDC_SignificantEvents_Green = 
		new google.maps.MarkerImage(iconTsunami_NGDC_SignificantEvents_Green_Url, new google.maps.Size(10, 10));

	var iconTsunami_NGDC_SignificantEvents_Blue_Url = "images/tsunami/ngdc/square-blue.png";
 	var iconTsunami_NGDC_SignificantEvents_Blue = 
		new google.maps.MarkerImage(iconTsunami_NGDC_SignificantEvents_Blue_Url, new google.maps.Size(12, 12));

	var iconTsunami_NGDC_SignificantEvents_Yellow_Url = "images/tsunami/ngdc/square-yellow.png";
 	var iconTsunami_NGDC_SignificantEvents_Yellow = 
		new google.maps.MarkerImage(iconTsunami_NGDC_SignificantEvents_Yellow_Url, new google.maps.Size(16, 16));

	var iconTsunami_NGDC_SignificantEvents_Orange_Url = "images/tsunami/ngdc/square-orange.png";
 	var iconTsunami_NGDC_SignificantEvents_Orange = 
		new google.maps.MarkerImage(iconTsunami_NGDC_SignificantEvents_Orange_Url, new google.maps.Size(20, 20));

	var iconTsunami_NGDC_SignificantEvents_Red_Url = "images/tsunami/ngdc/square-red.png";
 	var iconTsunami_NGDC_SignificantEvents_Red = 
		new google.maps.MarkerImage(iconTsunami_NGDC_SignificantEvents_Red_Url, new google.maps.Size(24, 24));



	var iconVolcano_General_White = new google.maps.MarkerImage("images/volcano/volcano_white.png", new google.maps.Size(23, 20));
    var iconVolcano_General_Shadow = new google.maps.MarkerImage("images/volcano/volcano_shadow.png", new google.maps.Size(40, 23), new google.maps.Point(0, 0), new google.maps.Point(12, 20));


	var iconFire_USFS_RSAC_Incident_Url = "images/fire/usfs_rsac/incident.png";
 	var iconFire_USFS_RSAC_Incident = 
		new google.maps.MarkerImage(iconFire_USFS_RSAC_Incident_Url, new google.maps.Size(20, 28));
		
 	var iconFire_USFS_RSAC_Incident_Shadow = 
		new google.maps.MarkerImage("images/fire/usfs_rsac/incident_shadow.png", new google.maps.Size(34, 28), new google.maps.Point(0, 0), new google.maps.Point(10, 28));
		
		
 	var iconFire_USFS_RSAC_HotSpot_Red_Url = "images/fire/usfs_rsac/hotspot_red.png";
 	var iconFire_USFS_RSAC_HotSpot_Red = 
		new google.maps.MarkerImage(iconFire_USFS_RSAC_HotSpot_Red_Url, new google.maps.Size(14, 14));
		
 	var iconFire_USFS_RSAC_HotSpot_Orange_Url = "images/fire/usfs_rsac/hotspot_orange.png";
 	var iconFire_USFS_RSAC_HotSpot_Orange = 
		new google.maps.MarkerImage(iconFire_USFS_RSAC_HotSpot_Orange_Url, new google.maps.Size(14, 14));
		
 	var iconFire_USFS_RSAC_HotSpot_Shadow = 
		new google.maps.MarkerImage("images/fire/usfs_rsac/hotspot_shadow.png", new google.maps.Size(21, 14), new google.maps.Point(0, 0), new google.maps.Point(7, 14));


	var iconFire_FIRMS = 
		new google.maps.MarkerImage("images/fire/modvolc/hotspot_red.png", new google.maps.Size(10, 10));
 	var iconFire_FIRMS_Shadow = 
		new google.maps.MarkerImage("images/fire/modvolc/hotspot_shadow.png", new google.maps.Size(16, 10), new google.maps.Point(0, 0), new google.maps.Point(5, 10));



	var iconVolcano_SmithsonianGVP_New_Url = "images/volcano/smithsonian_gvp/new.png";
 	var iconVolcano_SmithsonianGVP_New = 
		new google.maps.MarkerImage(iconVolcano_SmithsonianGVP_New_Url, new google.maps.Size(24, 24));

	var iconVolcano_SmithsonianGVP_Ongoing_Url = "images/volcano/smithsonian_gvp/ongoing.png";
 	var iconVolcano_SmithsonianGVP_Ongoing = 
		new google.maps.MarkerImage(iconVolcano_SmithsonianGVP_Ongoing_Url, new google.maps.Size(24, 24));

 	var iconVolcano_SmithsonianGVP_Shadow = 
		new google.maps.MarkerImage("images/volcano/smithsonian_gvp/shadow.png", new google.maps.Size(36, 24), new google.maps.Point(0, 0), new google.maps.Point(12, 24));



	var iconVolcano_USGSVHP_Unassigned_Url = "images/volcano/usgs_vhp/unassigned.png";
 	var iconVolcano_USGSVHP_Unassigned = 
		new google.maps.MarkerImage(iconVolcano_USGSVHP_Unassigned_Url, new google.maps.Size(18, 14));
 	var iconVolcano_USGSVHP_Unassigned_Shadow = 
		new google.maps.MarkerImage("images/volcano/usgs_vhp/unassigned_shadow.png", new google.maps.Size(25, 14), new google.maps.Point(0, 0), new google.maps.Point(9, 14));


	var iconVolcano_USGSVHP_GreenNormal_Url = "images/volcano/usgs_vhp/green_normal.png";
 	var iconVolcano_USGSVHP_GreenNormal = 
		new google.maps.MarkerImage(iconVolcano_USGSVHP_GreenNormal_Url, new google.maps.Size(21, 16));
 	var iconVolcano_USGSVHP_GreenNormal_Shadow = 
		new google.maps.MarkerImage("images/volcano/usgs_vhp/green_normal_shadow.png", new google.maps.Size(29, 16), new google.maps.Point(0, 0), new google.maps.Point(11, 16));


	var iconVolcano_USGSVHP_Unassigned_Enlarged_Url = "images/volcano/usgs_vhp/unassigned_enlarged.png";
	var iconVolcano_USGSVHP_Unassigned_Enlarged = 
		new google.maps.MarkerImage(iconVolcano_USGSVHP_Unassigned_Enlarged_Url, new google.maps.Size(26, 20));

	var iconVolcano_USGSVHP_GreenNormal_Enlarged_Url = "images/volcano/usgs_vhp/green_normal_enlarged.png";
	var iconVolcano_USGSVHP_GreenNormal_Enlarged = 
		new google.maps.MarkerImage(iconVolcano_USGSVHP_GreenNormal_Enlarged_Url, new google.maps.Size(26, 20));

 	var iconVolcano_USGSVHP_GreenNormal_Unassigned_Enlarged_Shadow = 
		new google.maps.MarkerImage("images/volcano/usgs_vhp/green_normal_unassigned_enlarged_shadow.png", new google.maps.Size(42, 20), new google.maps.Point(0, 0), new google.maps.Point(13, 20));


	var iconVolcano_USGSVHP_YellowAdvisory_Url = "images/volcano/usgs_vhp/yellow_advisory.png";
 	var iconVolcano_USGSVHP_YellowAdvisory = 
		new google.maps.MarkerImage(iconVolcano_USGSVHP_YellowAdvisory_Url, new google.maps.Size(27, 20));

	var iconVolcano_USGSVHP_YellowWatch_Url = "images/volcano/usgs_vhp/yellow_watch.png";
 	var iconVolcano_USGSVHP_YellowWatch = 
		new google.maps.MarkerImage(iconVolcano_USGSVHP_YellowWatch_Url, new google.maps.Size(27, 20));

 	var iconVolcano_USGSVHP_Yellow_Shadow = 
		new google.maps.MarkerImage("images/volcano/usgs_vhp/yellow_shadow.png", new google.maps.Size(37, 20), new google.maps.Point(0, 0), new google.maps.Point(14, 20));


	var iconVolcano_USGSVHP_OrangeWatch_Url = "images/volcano/usgs_vhp/orange_watch.png";
 	var iconVolcano_USGSVHP_OrangeWatch = 
		new google.maps.MarkerImage(iconVolcano_USGSVHP_OrangeWatch_Url, new google.maps.Size(33, 24));

	var iconVolcano_USGSVHP_OrangeWarning_Url = "images/volcano/usgs_vhp/orange_warning.png";
 	var iconVolcano_USGSVHP_OrangeWarning = 
		new google.maps.MarkerImage(iconVolcano_USGSVHP_OrangeWarning_Url, new google.maps.Size(33, 24));

 	var iconVolcano_USGSVHP_Orange_Shadow = 
		new google.maps.MarkerImage("images/volcano/usgs_vhp/orange_shadow.png", new google.maps.Size(45, 24), new google.maps.Point(0, 0), new google.maps.Point(17, 24));


	var iconVolcano_USGSVHP_RedWatch_Url = "images/volcano/usgs_vhp/red_watch.png";
 	var iconVolcano_USGSVHP_RedWatch = 
		new google.maps.MarkerImage(iconVolcano_USGSVHP_RedWatch_Url, new google.maps.Size(38, 30));

	var iconVolcano_USGSVHP_RedWarning_Url = "images/volcano/usgs_vhp/red_warning.png";
 	var iconVolcano_USGSVHP_RedWarning = 
		new google.maps.MarkerImage(iconVolcano_USGSVHP_RedWarning_Url, new google.maps.Size(38, 30));
	
 	var iconVolcano_USGSVHP_Red_Shadow = 
		new google.maps.MarkerImage("images/volcano/usgs_vhp/red_shadow.png", new google.maps.Size(53, 30), new google.maps.Point(0, 0), new google.maps.Point(19, 30));



	var iconVolcano_VAAC_Grey_Url = "images/volcano/vaac/grey.png";
 	var iconVolcano_VAAC_Grey = 
		new google.maps.MarkerImage(iconVolcano_VAAC_Grey_Url, new google.maps.Size(23, 23));

	var iconVolcano_VAAC_Yellow_Url = "images/volcano/vaac/yellow.png";
 	var iconVolcano_VAAC_Yellow = 
		new google.maps.MarkerImage(iconVolcano_VAAC_Yellow_Url, new google.maps.Size(23, 23));

	var iconVolcano_VAAC_Orange_Url = "images/volcano/vaac/orange.png";
 	var iconVolcano_VAAC_Orange = 
		new google.maps.MarkerImage(iconVolcano_VAAC_Orange_Url, new google.maps.Size(23, 23));

	var iconVolcano_VAAC_Red_Url = "images/volcano/vaac/red.png";
 	var iconVolcano_VAAC_Red = 
		new google.maps.MarkerImage(iconVolcano_VAAC_Red_Url, new google.maps.Size(23, 23));

    var iconVolcano_VAAC_Shadow = 
		new google.maps.MarkerImage("images/volcano/vaac/shadow.png", new google.maps.Size(39, 23), new google.maps.Point(0, 0), new google.maps.Point(11, 23));


	var iconVolcano_NGDC_SignificantEvents_Green_Url = "images/volcano/ngdc/triangle-green.png";
 	var iconVolcano_NGDC_SignificantEvents_Green = 
		new google.maps.MarkerImage(iconVolcano_NGDC_SignificantEvents_Green_Url, new google.maps.Size(10, 10));

	var iconVolcano_NGDC_SignificantEvents_Blue_Url = "images/volcano/ngdc/triangle-blue.png";
 	var iconVolcano_NGDC_SignificantEvents_Blue = 
		new google.maps.MarkerImage(iconVolcano_NGDC_SignificantEvents_Blue_Url, new google.maps.Size(12, 12));

	var iconVolcano_NGDC_SignificantEvents_Yellow_Url = "images/volcano/ngdc/triangle-yellow.png";
 	var iconVolcano_NGDC_SignificantEvents_Yellow = 
		new google.maps.MarkerImage(iconVolcano_NGDC_SignificantEvents_Yellow_Url, new google.maps.Size(16, 16));

	var iconVolcano_NGDC_SignificantEvents_Orange_Url = "images/volcano/ngdc/triangle-orange.png";
 	var iconVolcano_NGDC_SignificantEvents_Orange = 
		new google.maps.MarkerImage(iconVolcano_NGDC_SignificantEvents_Orange_Url, new google.maps.Size(20, 20));

	var iconVolcano_NGDC_SignificantEvents_Red_Url = "images/volcano/ngdc/triangle-red.png";
 	var iconVolcano_NGDC_SignificantEvents_Red = 
		new google.maps.MarkerImage(iconVolcano_NGDC_SignificantEvents_Red_Url, new google.maps.Size(24, 24));



 	var iconWebcam = new google.maps.MarkerImage("images/misc/webcam.png", new google.maps.Size(24, 24));
 	var iconWebcam_Shadow = 
 	    new google.maps.MarkerImage("images/misc/webcam_shadow.png", new google.maps.Size(37, 24), new google.maps.Point(0, 0), new google.maps.Point(12, 24));


	var iconNews_Url = "images/misc/news.png";
	var iconNews = new google.maps.MarkerImage(iconNews_Url, new google.maps.Size(26, 26));
	
 	var iconNews_Shadow = new google.maps.MarkerImage("images/misc/news_shadow.png", new google.maps.Size(40, 26), new google.maps.Point(0, 0), new google.maps.Point(13, 26));



    var mapLegendElements = "";
    
	var mapCanvas = null;
	
	var isWorldView = true;
	var isUpdatingMapAllHazards = true;
	
	var mapType_DEFAULT = google.maps.MapTypeId.HYBRID;
	
	var mapLatitude_DEFAULT = 25.000;
	var mapLongitude_DEFAULT = -150.000;

	var minZoomLevel_DEFAULT = 3;


    var circleCenterPosition = new google.maps.LatLng(mapLatitude_DEFAULT, mapLongitude_DEFAULT);
    var circleSelectedMarker = new google.maps.Circle({ radius: 500, center: circleCenterPosition }); 
    
	
	// Map overlays from Google Fusion Tables...
	var urlGFS_NWS_ForecastZones = "http://www.google.com/fusiontables/DataSource?snapid=S213834AtV_";
	
	

	//
	// Map overlays from WMS...
	//
	var overlaysSpecial = new Array(6);

	var overlayDayNightTerminator = new DayNightMapType();
							

	// Source: Fire Information for Resource Management System (FIRMS)
	//
	var urlWMS_Fire_FIRMS_Hotspots =
		"http://firefly.geog.umd.edu/wms/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&LAYERS=fires24";
                                                


	// Source: National Weather Service (NWS)
	//
	var url_Weather_NWS_SRH_Base = "http://gis.srh.noaa.gov/ArcGIS/services/";

	// var urlWMS_Weather_NWS_Alerts =
		// url_Weather_NWS_SRH_Base + "watchWarn/MapServer/WMSServer?" +
		// "REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&CRS=EPSG:4326&WIDTH=256&HEIGHT=256&FORMAT=image/png&TRANSPARENT=true&LAYERS=0&STYLES=default"; 
		
		// url_Weather_NWS_SRH_Base + "Radar_warnings/MapServer/WMSServer?" +
		// "REQUEST=GetMap&SERVICE=WMS&VERSION=1.0.0&SRS=EPSG:4326&WIDTH=256&HEIGHT=256&FORMAT=image/png&TRANSPARENT=true&LAYERS=1&STYLES=default"; 


	var url_Weather_NWS_nowCOAST_Base = "http://nowcoast.noaa.gov/wms/com.esri.wms.Esrimap/<SERVICE_NAME>?" +
		"SERVICE=wms&REQUEST=GetMap&VERSION=1.1.1&SRS=EPSG:4326&WIDTH=256&HEIGHT=256&FORMAT=image/png&TRANSPARENT=true&LAYERS=";


	var urlWMS_Weather_NWS_Warnings_ShortDuration = 
		url_Weather_NWS_nowCOAST_Base.replace("<SERVICE_NAME>", "wwa") + "WARN_SHORT_TOR,WARN_SHORT_EWW,WARN_SHORT_SVR,WARN_SHORT_FLW,WARN_SHORT_FFW,WARN_SHORT_SMW"; 

		
	var urlWMS_Weather_NWS_Radar = url_Weather_NWS_nowCOAST_Base.replace("<SERVICE_NAME>", "obs") + "RAS_RIDGE_NEXRAD"; 

	
	var urlWMS_NOAA_GOES_CloudCover = url_Weather_NWS_nowCOAST_Base.replace("<SERVICE_NAME>", "obs") + "<TYPE>,us_states_gen,provinces"; 



	var urlWMS_NASA_CPC_Infrared_CloudCover =
		"http://wms.gsfc.nasa.gov/cgi-bin/cpc-wms.cgi?" +
		"SERVICE=WMS&REQUEST=GetMap&VERSION=1.1.1&SRS=EPSG:4326&FORMAT=image/png&TRANSPARENT=true&BGCOLOR=0xFFFFFF&STYLES=&LAYERS=cpc";
		

		
	// Source:  NASA - LANCE (Land Atmosphere Near real-time Capability for EOS)
	//			http://lance.nasa.gov/
	var urlWMS_NASA_LANCE_MODIS = "http://lance2.modaps.eosdis.nasa.gov/wms/wms?";	

	var urlWMS_NASA_GSFC_MODIS_Terra = 
		"http://hyperquad.telascience.org/cgi-bin/lance_modis?service=WMS&request=GetMap&version=1.0.0&layers=Terra_<YESTERDAY_DATE>,Terra_<TODAY_DATE>&SRS=EPSG:4326&format=image/png";
//	var urlWMS_NASA_GSFC_MODIS_Terra = 
//		"http://wms.gsfc.nasa.gov/cgi-bin/terra-wms.cgi?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&LAYERS=terra&STYLES=&FORMAT=image/png&TRANSPARENT=FALSE&BGCOLOR=0xFFFFFF&SRS=EPSG:4326";		
		
		
	var urlWMS_NASA_LANCE_GESDISC = "http://disc1.sci.gsfc.nasa.gov/daac-bin/wms_airsnrt?";
	
	var urlWMS_NASA_LANCE_GESDISC_AIRS_RGB = 
		urlWMS_NASA_LANCE_GESDISC + "SERVICE=WMS&VERSION=1.0.0&REQUEST=GETMAP&SRS=EPSG:4326&FORMAT=image/png&TRANSPARENT=true&LAYERS=AIRVBRAD";

	var urlWMS_NASA_LANCE_GESDISC_AIRS_S02 = 
		urlWMS_NASA_LANCE_GESDISC + "SERVICE=WMS&VERSION=1.0.0&REQUEST=GETMAP&SRS=EPSG:4326&FORMAT=image/png&TRANSPARENT=true&LAYERS=AIRS_SO2_A";

	var legendImage_NASA_GESDISC_AIRS_S02 = "<img src=\"images/misc/wms_airs_so2_legend.jpg\" /><br /><br />";	



	var urlWMS_NASA_OMI_AURA_S02 = 
		"http://geoservices.knmi.nl/cgi-bin/OMI___OPER_R___TDCSO2__L3.cgi?&SERVICE=WMS&VERSION=1.1.1&REQUEST=GETMAP&SRS=EPSG:4326&FORMAT=image/png&TRANSPARENT=true&LAYERS=OMI_L3_TDCSO2";

	var legendImage_NASA_OMI_AURA_S02 = "<img src=\"images/misc/wms_omi_so2_legend.png\" /><br /><br />";	



	// BMNG_20040701
	// BMNG_TOPO_BATHY_20040701
	var urlWMS_NASA_BlueMarble = 
		"http://hyperquad.ucsd.edu/cgi-bin/bmng?service=WMS&request=GetMap&version=1.0.0&layers=BMNG_TOPO_BATHY_<DATE>&SRS=EPSG:4326&format=image/png";


	
	// Source:  Columbia University - Socioeconomic Data and Applications Center

	var urlWMS_CIESIN_SEDAC = "http://sedac.ciesin.columbia.edu/";

	var urlWMS_CIESIN_SEDAC_PopulationDensity = 
        urlWMS_CIESIN_SEDAC + "geoserver/gpw-v3/wms?SERVICE=WMS&VERSION=1.1.0&REQUEST=GetMap&SRS=EPSG:4326&FORMAT=image/png&TRANSPARENT=true&LAYERS=gpw-v3:gpw-v3-population-density-future-estimates_2015";

	var urlWMS_CIESIN_SEDAC_Hazard_Frequency_Distribution =
        urlWMS_CIESIN_SEDAC + "geoserver/ndh/wms?SERVICE=WMS&VERSION=1.1.0&REQUEST=GetMap&SRS=EPSG:4326&FORMAT=image/png&TRANSPARENT=true&LAYERS=ndh:ndh-<HAZARD_TYPE>-frequency-distribution";		 

    var legendImage_CIESIN_SEDAC_PopulationDensity = 
        "<img src=\"" +	urlWMS_CIESIN_SEDAC + "GPWv3/REQUEST/getdir/DIR/legend/DATA/LPR/GPWv3/GPWv3_2005_Pop_Density_tif_default.png\" /><br /><br />";

    var legendImage_CIESIN_SEDAC_NaturalDisasterHotspots = 
        "<img src=\"" +	urlWMS_CIESIN_SEDAC + "HOTSPOTSv1/REQUEST/getdir/DIR/legend/DATA/LPR/HOTSPOTSv1/GSHAP_PGA_tif_default.png\" /><br /><br />";	




	// Extra global variables for EARTHQUAKE processing...
	var listEarthquake_MostRecent = "";
	

	// Extra global variables for TSUNAMI processing...
	var tsu_MarkerCount = 0;
	var tsu_Count_TsunamiReports = 0;
	
	var listTsunami_MostRecent_Minutes = new Array();
	var listTsunami_MostRecent_Working = "";
	var listTsunami_MostRecent = "";
	
	
	// Extra global variables for TROPICAL CYCLONE processing...
	var tc_MarkerCount = 0;
	var tc_MarkerCount_StormTrackHistory = 0;
	var tc_PolylineCount_StormTrackHistory = 0;

	var listTropicalCyclone_Active = "";

	// Extra global variables for TROPICAL INVESTS processing...
	var ti_MarkerCount = 0;
	var ti_MarkerCount_StormTrackHistory = 0;
	var ti_PolylineCount_StormTrackHistory = 0;



	//
	// Overlay legend variables...
	//
    var overlayLegend_Weather_NWS_Top = 
		"<span id=\"Legend_Weather_NWS_Top\" >" +
		"<div id=\"Legend_Weather_NWS\"" +
		" style=\"text-align:center; font-size:smaller; font-weight:normal; background-color:white; color:black; border-style:solid; border-width:thin; opacity: 0.75;\" >" +
		"<br />" +
		"<img src=\"images/logo/NWS.jpg\" />" +
		"<br /><br />" +
		"</span>";
	
    var overlayLegend_Weather_NWS_Warnings_ShortDuration = 
		"<span id=\"Legend_Weather_NWS_Warnings_ShortDuration\" >" +
		"<center>" +
		"<strong>NWS Short Duration Warnings</strong>" +
		"<br />" +
		"&nbsp;&nbsp;<img src=\"images/weather/legend_nws_short_duration_warnings.gif\" />&nbsp;&nbsp;" +
		"</center>" +
		"<br />" +
		"</span>";

    var overlayLegend_Weather_NWS_Alerts = "";

    var overlayLegend_Weather_NWS_Radar = 
		"<span id=\"Legend_Weather_NWS_Radar\" >" +
		"<center>" +
		"<strong>NWS RIDGE Radar</strong>" +
		"<br />" +
		"&nbsp;&nbsp;<img src=\"images/weather/legend_nws_radar.gif\" />&nbsp;&nbsp;" +
		"</center>" +
		"<br />" +
		"</span>";

    var overlayLegend_Weather_NWS_Bottom = 
		"<span id=\"Legend_Weather_NWS_Bottom\" >" +
		"</div>" +
		"<p></p>" +
		"</span>";


    var overlayLegend_Satellite = "";	
    var overlayLegend_Thematic = "";	
    
	
	
	//
	// Miscellaneous global variables...
	//
	var dtNow;
	var localOffset_Hours; 
	var milliseconds_dtNow;

	var browserSupportFlag =  new Boolean();


