//<!--
/****************   map functions  ********************/
var map;
var mapBounds = new OpenLayers.Bounds( -7828665.4081, -4017687.73664, 6429824.27883, 4991236.6869);
var maxExtent = mapBounds;
var mapMinZoom = 2;
var mapMaxZoom = 6;
var maxOpacity = 0.9;
var minOpacity = 0.1;

var suffix = 'PNG';
suffix = OpenLayers.Util.alphaHack() ? 'GIF' : 'PNG';
if ((agent.indexOf("msie") > -1) && (agent.indexOf("opera") < 1)){
	maxOpacity = 1;
	suffix = 'GIF';
}

var bathymetry_labels, politicalboundaries_labels, populatedplaces_labels, hydrography_labels;  // ************************************************************* SET Labels
	bathymetry_labels = new OpenLayers.Layer.TMS( "Bathymetry labels","",
		{  folder: "data/1_BaseMaps/Bathymetry_labels/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: 'png', getURL: overlay_getTileURL, opacity: maxOpacity
		});
	politicalboundaries_labels = new OpenLayers.Layer.TMS( "Political Boundaries labels","",
		{  folder: "data/1_BaseMaps/PoliticalBoundaries_labels/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: 'png', getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	populatedplaces_labels = new OpenLayers.Layer.TMS( "Populated Places labels","",
		{  folder: "data/1_BaseMaps/PopulatedPlaces_labels/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: 'png', getURL: overlay_getTileURL, opacity: maxOpacity
		});
	hydrography_labels = new OpenLayers.Layer.TMS( "Hydro labels","",
		{  folder: "data/1_BaseMaps/Hydrography_labels/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: 'png', getURL: overlay_getTileURL, opacity: maxOpacity
		});
		
var bg_overview, background, grid;  // ************************************************************* SET Background Base Layers
	bg_overview = new OpenLayers.Layer.TMS( "World Base","",
		{  folder: "data/0_Background/Background/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: true,	type: 'png', getURL: overlay_getTileURL
		});

	background = new OpenLayers.Layer.TMS( "Transparent Background","",
		{  folder: "data/0_Background/Background/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: true,	type: 'png', getURL: bg_getTileURL     
		});
		
	grid = new OpenLayers.Layer.TMS( "Grid","",
		{  folder: "data/0_Background/Grid/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: 'PNG', getURL: overlay_getTileURL
		});


var bathymetry, elevation, glaciers, hydrography, majorroads, politicalboundaries, popdensity, populatedplaces, railroads, precipitation, shadedrelief, landcover, nighttimelights;  // Group 1  ************************  Base Maps
	bathymetry = new OpenLayers.Layer.TMS( "Bathymetry","",
		{  folder: "data/1_BaseMaps/Bathymetry/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
	elevation = new OpenLayers.Layer.TMS( "Elevation","",
		{  folder: "data/1_BaseMaps/Elevation/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
	glaciers = new OpenLayers.Layer.TMS( "Glaciers Sea Ice","",
		{  folder: "data/1_BaseMaps/GlaciersSeaIce/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
	hydrography = new OpenLayers.Layer.TMS( "Hydrography","",
		{  folder: "data/1_BaseMaps/Hydrography/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, format: 'image/gif', getURL: overlay_getTileURL, opacity: maxOpacity
		});
	majorroads = new OpenLayers.Layer.TMS( "Major Roads","",
		{  folder: "data/1_BaseMaps/MajorRoads/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, format: 'image/gif', getURL: overlay_getTileURL, opacity: maxOpacity
		});
	politicalboundaries = new OpenLayers.Layer.TMS( "Political Boundaries","",
		{  folder: "data/1_BaseMaps/PoliticalBoundaries/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	popdensity = new OpenLayers.Layer.TMS( "Population Density","",
		{  folder: "data/1_BaseMaps/PopDensity/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	populatedplaces = new OpenLayers.Layer.TMS( "Populated Places","",
		{  folder: "data/1_BaseMaps/PopulatedPlaces/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
	railroads = new OpenLayers.Layer.TMS( "Railroads","",
		{  folder: "data/1_BaseMaps/Railroads/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
	precipitation = new OpenLayers.Layer.TMS( "Precipitation","",
		{  folder: "data/1_BaseMaps/Precipitation/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
	shadedrelief = new OpenLayers.Layer.TMS( "Shaded Relief","",
		{  folder: "data/1_BaseMaps/ShadedRelief/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
	landcover = new OpenLayers.Layer.TMS( "Shaded Relief","",
		{  folder: "data/1_BaseMaps/LandCover/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
		
	nighttimelights = new OpenLayers.Layer.TMS( "Nighttime Lights","",
		{  folder: "data/6_HumanInfluence/NighttimeLights/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
		
	mpa = new OpenLayers.Layer.TMS( "Marine Protected Areas","",
		{  folder: "data/3_Protection/NA_MPA/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
		
	watersheds = new OpenLayers.Layer.TMS( "Watersheds","",
		{  folder: "data/2_Ecosystems/NA_Watershed_Tiles/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
		
	watersheds_l1 = new OpenLayers.Layer.TMS( "Watersheds_L1","",
		{  folder: "data/2_Ecosystems/Watersheds_L1/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
		
	watersheds_l4 = new OpenLayers.Layer.TMS( "Watersheds_L4","",
		{  folder: "data/2_Ecosystems/Watersheds_L4/", serviceVersion: '.', layername: '.', alpha: true, 
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
		
var marineecoregions_l1, marineecoregions_l2, marineecoregions_l3, terrestrialecoregions_l1, terrestrialecoregions_l2, terrestrialecoregions_l3, wetlands, forests;  // Group 2  ************************  Ecosystems
	marineecoregions_l1 = new OpenLayers.Layer.TMS( "Marine EcoRegions 1","",
		{  folder: "data/2_Ecosystems/MarineEcoregions_L1/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	marineecoregions_l2 = new OpenLayers.Layer.TMS( "Marine EcoRegions 2","",
		{  folder: "data/2_Ecosystems/MarineEcoregions_L2/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	marineecoregions_l3 = new OpenLayers.Layer.TMS( "Marine EcoRegions 3","",
		{  folder: "data/2_Ecosystems/MarineEcoregions_L3/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	terrestrialecoregions_l1 = new OpenLayers.Layer.TMS( "Terrestrial EcoRegions 1","",
		{  folder: "data/2_Ecosystems/TerrestrialEcoregions_L1/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
	terrestrialecoregions_l2 = new OpenLayers.Layer.TMS( "Terrestrial EcoRegions 2","",
		{  folder: "data/2_Ecosystems/TerrestrialEcoregions_L2/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});		
	terrestrialecoregions_l3 = new OpenLayers.Layer.TMS( "Terrestrial EcoRegions 3","",
		{  folder: "data/2_Ecosystems/TerrestrialEcoregions_L3/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});							
	wetlands = new OpenLayers.Layer.TMS( "Marine EcoRegions","",
		{  folder: "data/2_Ecosystems/Wetlands/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	

	forests = new OpenLayers.Layer.TMS( "Forests","",
		{  folder: "data/2_Ecosystems/NA_Forests/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	


		
var pca_b2b, pca_grasslands, protectedareas, b2bregion, nampan, protectedareas2010, pca_grasslands_2010;  // Group 3  ************************  Protection	
	pca_b2b = new OpenLayers.Layer.TMS( "PCA B2B","",
		{  folder: "data/3_Protection/PCA_B2B/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	pca_grasslands = new OpenLayers.Layer.TMS( "PCA Grasslands, 2005","",
		{  folder: "data/3_Protection/PCA_Grasslands/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	protectedareas = new OpenLayers.Layer.TMS( "Terrestrial Protected Areas, 2008","",
		{  folder: "data/3_Protection/ProtectedAreas/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	b2bregion = new OpenLayers.Layer.TMS( "Protected Areas","",
		{  folder: "data/3_Protection/B2BRegion/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	nampan = new OpenLayers.Layer.TMS( "Protected Areas","",
		{  folder: "data/3_Protection/Nampan/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	protectedareas2010 = new OpenLayers.Layer.TMS( "Terrestrial Protected Areas 2010","",
		{  folder: "data/3_Protection/ProtectedAreas2010/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
		
	pca_grasslands_2010 = new OpenLayers.Layer.TMS( "PCA Grasslands, 2010","",
		{  folder: "data/3_Protection/PCA_Grasslands_2010/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});		

var AmericanBlackBear, BlacktailedPrairieDog, BlueWhale, BurrowingOwl, CaliforniaCondor, FerruginousHawk, FurSeal, GoldencheekedWarbler, GrayWhale, GrayWolf, GreenTurtle, HawksbillTurtle, HumpbackWhale, KempsRidleyTurtle, KillerWhale, LeatherbackTurtle, LoggerheadShrike, LoggerheadTurtle, MexicanLongnosedBat, MonarchButterfly, MountainPlover, NorthAtlanticRightWhale, NorthPacificRightWhale, PeregrineFalcon, PinkfootedShearwater, PipingPlover, SeaOtter, ShorttailedAlbatross, SonoranPronghorn, SouthernLongnosedBat, SpottedOwl, Vaquita, WhoopingCrane, XantusMurrelet; // Group 3  ************************  SCCC	
	AmericanBlackBear = new OpenLayers.Layer.TMS( "American Black Bear","",
		{  folder: "data/3_Protection/SCCC/AmericanBlackBear/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	BlacktailedPrairieDog = new OpenLayers.Layer.TMS( "Black-tailed Prairie Dog","",
		{  folder: "data/3_Protection/SCCC/BlacktailedPrairieDog/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	BlueWhale = new OpenLayers.Layer.TMS( "Blue Whale","",
		{  folder: "data/3_Protection/SCCC/BlueWhale/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	BurrowingOwl = new OpenLayers.Layer.TMS( "Burrowing Owl","",
		{  folder: "data/3_Protection/SCCC/BurrowingOwl/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	

	CaliforniaCondor = new OpenLayers.Layer.TMS( "California Condor","",
		{  folder: "data/3_Protection/SCCC/CaliforniaCondor/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	FerruginousHawk = new OpenLayers.Layer.TMS( "Ferruginous Hawk","",
		{  folder: "data/3_Protection/SCCC/FerruginousHawk/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	FurSeal = new OpenLayers.Layer.TMS( "Fur Seal","",
		{  folder: "data/3_Protection/SCCC/FurSeal/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	GoldencheekedWarbler = new OpenLayers.Layer.TMS( "Golden-cheeked Warbler","",
		{  folder: "data/3_Protection/SCCC/GoldencheekedWarbler/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	GrayWhale = new OpenLayers.Layer.TMS( "Gray Whale","",
		{  folder: "data/3_Protection/SCCC/GrayWhale/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	GrayWolf = new OpenLayers.Layer.TMS( "Gray Wolf","",
		{  folder: "data/3_Protection/SCCC/GrayWolf/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	

	GreenTurtle = new OpenLayers.Layer.TMS( "Green Turtle","",
		{  folder: "data/3_Protection/SCCC/GreenTurtle/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	HawksbillTurtle = new OpenLayers.Layer.TMS( "Hawksbill Turtle","",
		{  folder: "data/3_Protection/SCCC/HawksbillTurtle/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	HumpbackWhale = new OpenLayers.Layer.TMS( "Humpback Whale","",
		{  folder: "data/3_Protection/SCCC/HumpbackWhale/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	KempsRidleyTurtle = new OpenLayers.Layer.TMS( "Kemp's Ridley Turtle","",
		{  folder: "data/3_Protection/SCCC/KempsRidleyTurtle/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	KillerWhale = new OpenLayers.Layer.TMS( "Killer Whale","",
		{  folder: "data/3_Protection/SCCC/KillerWhale/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	LeatherbackTurtle = new OpenLayers.Layer.TMS( "Leatherback Turtle","",
		{  folder: "data/3_Protection/SCCC/LeatherbackTurtle/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	

	LoggerheadShrike = new OpenLayers.Layer.TMS( "Loggerhead Shrike","",
		{  folder: "data/3_Protection/SCCC/LoggerheadShrike/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	LoggerheadTurtle = new OpenLayers.Layer.TMS( "Loggerhead Turtle","",
		{  folder: "data/3_Protection/SCCC/LoggerheadTurtle/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	MexicanLongnosedBat = new OpenLayers.Layer.TMS( "Mexican Long-nosed Bat","",
		{  folder: "data/3_Protection/SCCC/MexicanLongnosedBat/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	MonarchButterfly = new OpenLayers.Layer.TMS( "Monarch Butterfly","",
		{  folder: "data/3_Protection/SCCC/MonarchButterfly/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	MountainPlover = new OpenLayers.Layer.TMS( "Mountain Plover","",
		{  folder: "data/3_Protection/SCCC/MountainPlover/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	NorthAtlanticRightWhale = new OpenLayers.Layer.TMS( "North Atlantic Right Whale","",
		{  folder: "data/3_Protection/SCCC/NorthAtlanticRightWhale/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	NorthPacificRightWhale = new OpenLayers.Layer.TMS( "North Pacific Right Whale","",
		{  folder: "data/3_Protection/SCCC/NorthPacificRightWhale/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	PeregrineFalcon = new OpenLayers.Layer.TMS( "Peregrine Falcon","",
		{  folder: "data/3_Protection/SCCC/PeregrineFalcon/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	PinkfootedShearwater = new OpenLayers.Layer.TMS( "Pink-footed Shearwater","",
		{  folder: "data/3_Protection/SCCC/PinkfootedShearwater/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	PipingPlover = new OpenLayers.Layer.TMS( "Piping Plover","",
		{  folder: "data/3_Protection/SCCC/PipingPlover/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	SeaOtter = new OpenLayers.Layer.TMS( "Sea Otter","",
		{  folder: "data/3_Protection/SCCC/SeaOtter/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	ShorttailedAlbatross = new OpenLayers.Layer.TMS( "Short-tailed Albatross","",
		{  folder: "data/3_Protection/SCCC/ShorttailedAlbatross/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	SonoranPronghorn = new OpenLayers.Layer.TMS( "Sonoran Pronghorn","",
		{  folder: "data/3_Protection/SCCC/SonoranPronghorn/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	SouthernLongnosedBat = new OpenLayers.Layer.TMS( "Southern Long-nosed Bat","",
		{  folder: "data/3_Protection/SCCC/SouthernLongnosedBat/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	SpottedOwl = new OpenLayers.Layer.TMS( "Spotted Owl","",
		{  folder: "data/3_Protection/SCCC/SpottedOwl/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	Vaquita = new OpenLayers.Layer.TMS( "Vaquita","",
		{  folder: "data/3_Protection/SCCC/Vaquita/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	WhoopingCrane = new OpenLayers.Layer.TMS( "Whooping Crane","",
		{  folder: "data/3_Protection/SCCC/WhoopingCrane/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	XantusMurrelet = new OpenLayers.Layer.TMS( "Xantus' Murrelet","",
		{  folder: "data/3_Protection/SCCC/XantusMurrelet/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	
var industrialpollutants, marinevesselemissions, co2rail2010, co2rail2035, co2truck2010, co2truck2035, so2emissions;  // Group 4  ************************  Pollution
	industrialpollutants = new OpenLayers.Layer.TMS( "2005 Pollutant Releases and Transfers (PRTR) Reporting Facilities","",
		{  folder: "data/4_Pollution/IndustrialPollutants/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	marinevesselemissions = new OpenLayers.Layer.TMS( "Marine Vessel Emissions","",
		{  folder: "data/4_Pollution/MarineVesselEmissions/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
		
	prtr_2006 = new OpenLayers.Layer.TMS( "2006 Pollutant Releases and Transfers (PRTR) Reporting Facilities","",
		{  folder: "data/4_Pollution/PRTR_2006/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	co2rail2010 = new OpenLayers.Layer.TMS( "CO<sub>2</sub> Emissions from Rail between Mexico City and Montreal, 2010","",
		{  folder: "data/4_Pollution/co2rail2010/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	co2rail2035 = new OpenLayers.Layer.TMS( "CO<sub>2</sub> Emissions from Rail between Mexico City and Montreal, 2035","",
		{  folder: "data/4_Pollution/co2rail2035/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
		
	co2truck2010 = new OpenLayers.Layer.TMS( "CO<sub>2</sub> Emissions from Trucks between Mexico City and Montreal, 2010","",
		{  folder: "data/4_Pollution/co2truck2010/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
		
	co2truck2035 = new OpenLayers.Layer.TMS( "CO<sub>2</sub> Emissions from Trucks between Mexico City and Montreal, 2035","",
		{  folder: "data/4_Pollution/co2truck2035/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});
	so2emissions = new OpenLayers.Layer.TMS( "Distribution of Power Plant SO<sub>2</sub> Emission Sources","",
		{  folder: "data/4_Pollution/SO2_Powerplants/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	co2emissions = new OpenLayers.Layer.TMS( "Distribution of Power Plant CO<sub>2</sub> Emission Sources","",
		{  folder: "data/4_Pollution/NA_CO2_Powerplants/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	noxemissions = new OpenLayers.Layer.TMS( "Distribution of Power Plant NO<sub>x</sub> Emission Sources","",
		{  folder: "data/4_Pollution/NA_NOx_Powerplants/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	hgemissions = new OpenLayers.Layer.TMS( "Distribution of Power Plant Mercury Emission Sources","",
		{  folder: "data/4_Pollution/NA_Hg_Powerplants/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	pm25emissions = new OpenLayers.Layer.TMS( "Distribution of Power Plant PM<sub>2.5</sub> Emission Sources","",
		{  folder: "data/4_Pollution/NA_PM25_Powerplants/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	pm10emissions = new OpenLayers.Layer.TMS( "Distribution of Power Plant PM<sub>10</sub> Emission Sources","",
		{  folder: "data/4_Pollution/NA_PM10_Powerplants/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	ppemissions = new OpenLayers.Layer.TMS( "North American Fossil-Fuel Power Plants","",
		{  folder: "data/4_Pollution/NA_AllPowerplants/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	


var renewableenergy;  // Group 5  ************************  Energy
	renewableenergy = new OpenLayers.Layer.TMS( "Renewable Energy","",
		{  folder: "data/5_Energy/RenewableEnergy/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	

var humaninfluence, humaninfluencemarine, irrigatedareas, anthromes;  // Group 6  ************************  Human Influence
	humaninfluence = new OpenLayers.Layer.TMS( "Human Influence","",
		{  folder: "data/6_HumanInfluence/HumanInfluenceTerrestrial/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	humaninfluencemarine = new OpenLayers.Layer.TMS( "Human Influence Marine","",
		{  folder: "data/6_HumanInfluence/HumanInfluenceMarine/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	irrigatedareas = new OpenLayers.Layer.TMS( "Irrigated Areas","",
		{  folder: "data/6_HumanInfluence/IrrigatedAreas/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	anthromes = new OpenLayers.Layer.TMS( "Irrigated Areas","",
		{  folder: "data/6_HumanInfluence/Anthromes/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
		
var temp_jan, temp_feb, temp_march, temp_april, temp_may, temp_june, temp_july, temp_aug, temp_sep, temp_oct, temp_nov, temp_dec, temp_max, temp_mean, temp_min, prec_jan, prec_feb, prec_march, prec_april, prec_may, prec_june, prec_july, prec_aug, prec_sep, prec_oct, prec_nov, prec_dec, prec_annual; // Group 7 ************************   Climate
	
    temp_jan = new OpenLayers.Layer.TMS( "Temperature January","",
		{  folder: "data/7_Climate/Temperature/1_jan/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	temp_feb = new OpenLayers.Layer.TMS( "Temperature February","",
		{  folder: "data/7_Climate/Temperature/2_feb/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	temp_march = new OpenLayers.Layer.TMS( "Temperature March","",
		{  folder: "data/7_Climate/Temperature/3_mar/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	temp_april = new OpenLayers.Layer.TMS( "Temperature April","",
		{  folder: "data/7_Climate/Temperature/4_apr/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	temp_may = new OpenLayers.Layer.TMS( "Temperature May","",
		{  folder: "data/7_Climate/Temperature/5_may/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	temp_june = new OpenLayers.Layer.TMS( "Temperature June","",
		{  folder: "data/7_Climate/Temperature/6_june/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});			
	temp_july = new OpenLayers.Layer.TMS( "Temperature July","",
		{  folder: "data/7_Climate/Temperature/7_july/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	temp_aug = new OpenLayers.Layer.TMS( "Temperature August","",
		{  folder: "data/7_Climate/Temperature/8_aug/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	temp_sep = new OpenLayers.Layer.TMS( "Temperature September","",
		{  folder: "data/7_Climate/Temperature/9_sept/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	temp_oct = new OpenLayers.Layer.TMS( "Temperature October","",
		{  folder: "data/7_Climate/Temperature/10_oct/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	temp_nov = new OpenLayers.Layer.TMS( "Temperature November","",
		{  folder: "data/7_Climate/Temperature/11_nov/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	temp_dec = new OpenLayers.Layer.TMS( "Temperature December","",
		{  folder: "data/7_Climate/Temperature/12_dec/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	temp_max = new OpenLayers.Layer.TMS( "Temperature Annual Max","",
		{  folder: "data/7_Climate/Temperature/NA_Temperature_AnnualMax_PNG/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	temp_mean = new OpenLayers.Layer.TMS( "Temperature Annual Mean","",
		{  folder: "data/7_Climate/Temperature/NA_Temperature_AnnualMean_PNG/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	temp_min = new OpenLayers.Layer.TMS( "Temperature Annual Min","",
		{  folder: "data/7_Climate/Temperature/NA_Temperature_AnnualMin_PNG/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	

    prec_jan = new OpenLayers.Layer.TMS( "Precipitation January","",
		{  folder: "data/7_Climate/Precipitation/1_jan/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	prec_feb = new OpenLayers.Layer.TMS( "Precipitation February","",
		{  folder: "data/7_Climate/Precipitation/2_feb/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	prec_march = new OpenLayers.Layer.TMS( "Precipitation March","",
		{  folder: "data/7_Climate/Precipitation/3_mar/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	prec_april = new OpenLayers.Layer.TMS( "Precipitation April","",
		{  folder: "data/7_Climate/Precipitation/4_apr/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	prec_may = new OpenLayers.Layer.TMS( "Precipitation May","",
		{  folder: "data/7_Climate/Precipitation/5_may/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	prec_june = new OpenLayers.Layer.TMS( "Precipitation June","",
		{  folder: "data/7_Climate/Precipitation/6_june/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});			
	prec_july = new OpenLayers.Layer.TMS( "Precipitation July","",
		{  folder: "data/7_Climate/Precipitation/7_july/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	prec_aug = new OpenLayers.Layer.TMS( "Precipitation August","",
		{  folder: "data/7_Climate/Precipitation/8_aug/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	prec_sep = new OpenLayers.Layer.TMS( "Precipitation September","",
		{  folder: "data/7_Climate/Precipitation/9_sept/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	prec_oct = new OpenLayers.Layer.TMS( "Precipitation October","",
		{  folder: "data/7_Climate/Precipitation/10_oct/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	prec_nov = new OpenLayers.Layer.TMS( "Precipitation November","",
		{  folder: "data/7_Climate/Precipitation/11_nov/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	prec_dec = new OpenLayers.Layer.TMS( "Precipitation December","",
		{  folder: "data/7_Climate/Precipitation/12_dec/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	
	prec_annual = new OpenLayers.Layer.TMS( "Precipitation Annual","",
		{  folder: "data/7_Climate/Precipitation/NA_Precip_Annual/", serviceVersion: '.', layername: '.', alpha: true,
			isBaseLayer: false,	type: suffix, getURL: overlay_getTileURL, opacity: maxOpacity
		});	


	// Create array to store currently visible layers:
	var visibleArray = Array();

// avoid pink tiles
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
OpenLayers.Util.onImageLoadErrorColor = "transparent";

function init(){
	var options = {
		controls: [],
		allOverlays: false,
		maxExtent: new OpenLayers.Bounds(  -7828665.4081, -4017687.73664, 6429824.27883, 4991236.6869 ),
		maxResolution: 68762.213847,
		numZoomLevels: 7
		};
	map = new OpenLayers.Map('map', options);

	map.addLayers([bathymetry_labels, politicalboundaries_labels, populatedplaces_labels, hydrography_labels]); //  ****  Labels
	map.addLayers([bg_overview, background, grid]); //Group 0  ****  Backgrounds
	map.addLayers([bathymetry, elevation, glaciers, hydrography, majorroads, popdensity, politicalboundaries, populatedplaces, railroads, precipitation, shadedrelief, landcover]); //Group 1  ****  Base Maps
	map.addLayers([marineecoregions_l1, marineecoregions_l2, marineecoregions_l3, terrestrialecoregions_l1, terrestrialecoregions_l2, terrestrialecoregions_l3, wetlands, watersheds, watersheds_l1, watersheds_l4,forests]); // Group 2  ****  Ecosystems
	map.addLayers([pca_b2b, pca_grasslands, protectedareas, b2bregion, nampan, mpa, protectedareas2010, pca_grasslands_2010]); // Group 3  ****  Protection
	map.addLayers([AmericanBlackBear, BlacktailedPrairieDog, BlueWhale, BurrowingOwl, CaliforniaCondor, FerruginousHawk, FurSeal, GoldencheekedWarbler, GrayWhale, GrayWolf, GreenTurtle, HawksbillTurtle, HumpbackWhale, KempsRidleyTurtle, KillerWhale, LeatherbackTurtle, LoggerheadShrike, LoggerheadTurtle, MexicanLongnosedBat, MonarchButterfly, MountainPlover, NorthAtlanticRightWhale, NorthPacificRightWhale, PeregrineFalcon, PinkfootedShearwater, PipingPlover, SeaOtter, ShorttailedAlbatross, SonoranPronghorn, SouthernLongnosedBat, SpottedOwl, Vaquita, WhoopingCrane, XantusMurrelet]); // Group 3  ****  SCCC
	map.addLayers([industrialpollutants, marinevesselemissions, prtr_2006, co2rail2010, co2rail2035, co2truck2010, co2truck2035, so2emissions, co2emissions, noxemissions, hgemissions, pm25emissions, pm10emissions, ppemissions]); // Group 4  ****  Pollution
	map.addLayers([renewableenergy]); // Group 5  ****  Energy
	map.addLayers([humaninfluence, humaninfluencemarine, irrigatedareas, anthromes, nighttimelights]); // Group 6  ****  Human Influence
	map.addLayers([temp_jan, temp_feb, temp_march, temp_april, temp_may, temp_june, temp_july, temp_aug, temp_sep, temp_oct, temp_nov, temp_dec, temp_max, temp_mean, temp_min, prec_jan, prec_feb, prec_march, prec_april, prec_may, prec_june, prec_july, prec_aug, prec_sep, prec_oct, prec_nov, prec_dec, prec_annual]); // Group 7  ****  Climate
	
	toggleAll();
	
	map.addControl(new OpenLayers.Control.ZoomPanel());
	map.addControl(new OpenLayers.Control.PanPanel());
	map.addControl(new OpenLayers.Control.MouseDefaults());
	map.addControl(new OpenLayers.Control.KeyboardDefaults());
	map.events.register("zoomend", null, stopZooming);
	
	var options2 = {
		 div: document.getElementById("overviewmap"),
		 size: new OpenLayers.Size(140,120),
		 mapOptions: {
			controls: [],
			maxExtent: new OpenLayers.Bounds(  -7828665.4081, -4017687.73664, 6429824.27883, 4991236.6869 ),
			maxResolution: 68762.213847,
			numZoomLevels: 1
		 }
	};

	var OverviewMap = new OpenLayers.Control.OverviewMap(options2);
	map.addControl(OverviewMap);
	map.setBaseLayer(background);
	goHome();
	reset();
}
function stopZooming(){
	var z = map.getZoom();
	if(z >= mapMinZoom && z <= mapMaxZoom){
		return;
	}else{
		goHome();
	}
}
function toggleLabels(num){
	var parentLayer = layerArray[num][0];
	var parentName = layerArray[num][1];
	var labelLayer = layerArray[num][3];
	var labelName = parentName+"_labels";
	var checkbox = document.getElementById(labelName);
	if(checkbox.checked==true){
		map.addLayer(labelLayer);
	}else{
		map.removeLayer(labelLayer);
	}
}
function toggleLayer(num){
	var la = layerArray[num][0];
	var name = layerArray[num][1];
	var divid="layer"+num;
	var checkbox = document.getElementById(name);
	var div = document.getElementById(divid);

	var sliderid = "slider"+num;
	var slider = document.getElementById(sliderid);
	if(checkbox.checked==true){
		map.addLayer(la);
		div.className = "layer on";
		slider.style.display = "block";
		visibleArray.push(num);
		updateArray();
	}else{
		map.removeLayer(la);
		div.className = "layer";
		slider.style.display = "none";
		removeItems(visibleArray, num);
		updateArray();
	}	
}
function remLayer(num){
	var name = layerArray[num][1];
	var checkbox = document.getElementById(name);
	checkbox.checked = false;
	toggleLayer(num);
}

function removeItems(array, item) {
	var i = 0;
	while (i < array.length) {
		if (array[i] == item) {
			array.splice(i, 1);
		} else {
			i++;
		}
	}
	return array;
}

function updateArray(){
	var layerlist = "<span>Layers displayed:</span>";
	if(visibleArray.length==0){ layerlist += "<span>Select a layer from the list below to display on map.</span>";	}
	document.getElementById('breadcrumbs').style.height = "35px";
	if(visibleArray.length>10){ document.getElementById('breadcrumbs').style.height = "55px";	}
	if(visibleArray.length>20){	document.getElementById('breadcrumbs').style.height = "80px";	}
	for(i=0;i<visibleArray.length;i++){
		var num = visibleArray[i];
		var name = layerArray[num][1];
		var longname = layerArray[num][2];
		layerlist += "<a href='#' onclick='remLayer("+num+");return false;' title='Click to remove the "+longname+" layer'>"+longname+"</a>";
	}
	layerlist += "<a href='#' onclick='reset();' title='Reset layers' class='reset'>Reset</a>";
	document.getElementById('breadcrumbs').innerHTML = layerlist;
}
function toggleGrid(){
	if(document.getElementById('grid').checked==true){
		map.addLayer(grid);
		document.getElementById('toggleGrid').className = "mapButtonOn";
	}else{
		map.removeLayer(grid);
		document.getElementById('toggleGrid').className = "mapButtonOff";
	}	
}
function toggleAll(){	
	for(n=0;n<layerArray.length;n++){
		toggleLayer(n);
	}
	toggleLabels(0);
	toggleLabels(3);
	toggleLabels(5);
	toggleLabels(7);
	toggleGrid();
}	
function reset(){
	//uncheck and remove all layers
	for(n=0;n<layerArray.length;n++){
		var name = layerArray[n][1];
		var checkbox = document.getElementById(name);
		if(checkbox.checked==true){
			remLayer(n);
		}
	}
	//check the three default boxes
	document.getElementById('shadedrelief').checked = true;
	document.getElementById('bathymetry').checked = true;
	document.getElementById('politicalboundaries').checked = true;
	
	toggleLayer(0);  //bathymetry
	toggleLayer(58);  //shaded relief
	toggleLayer(5);  //political boundaries
}

function toggleOverview(){
	var arr = document.getElementById('arrow');
	var overview = document.getElementById('overviewmap');
	arr.className = (arr.className =="arrowOff" ? "arrowOn" : "arrowOff");
	if(arr.className == "arrowOff"){
		overview.style.display = "none";
		arr.title = "Show Overview Map";
	}else{
		overview.style.display = "block";
		arr.title = "Hide Overview Map";
	}
}
function changeOpacity(newOpacity,layer) {
  if(newOpacity > 0){
	if (OpenLayers.Util.alphaHack() == false) { 
		layer.setOpacity(newOpacity);
	} 
  }
}

function goHome(){
	map.setCenter(new OpenLayers.LonLat(0,0),2);
}
function overlay_getTileURL(bounds) {
	var res = this.map.getResolution();
	var x = Math.round((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));
	var y = Math.round((bounds.bottom - this.maxExtent.bottom) / (res * this.tileSize.h));
	var z = this.map.getZoom();
	if (x >= 0 && y >= 0) {
		return this.folder + z + "/" + x + "/" + y + "." + this.type;					
	} else {
		return "data/none.png";
	}
}
function bg_getTileURL(bounds) {
		return "data/none.png";
}

function popupDescription(id){
	var title = descArray[id][1];
	var description = descArray[id][2];
	var source = descArray[id][3];
	var metadata = descArray[id][4];
	var descriptionUrl = "<p class='title'>"+title+"</p>";
		descriptionUrl += description;
		if(source.length>0){descriptionUrl += "<b>Source:</b><p>"+source+"</p>"; }
		if(metadata.length>0){descriptionUrl += "<b>Metadata:</b>"+metadata; }
		descriptionUrl += "<br/>";
	document.getElementById("description").innerHTML = descriptionUrl;
	$.ui.dialog.defaults.bgiframe = true;
	$(function() {
		$('#description').dialog('open');
	});
}
function popupDownload(id){
	var downloadTitle = downloadArray[id][0];
	var shplink = downloadArray[id][1];
	var kmllink = downloadArray[id][2];
	var instruct = downloadArray[id][3];
	
	var downloadUrl = "<p class='title'>"+downloadTitle+"</p>";
	if(shplink.length>0){ downloadUrl += "<p><a href='"+shplink+"'>Download shapefile</a></p>"; }
	if(kmllink.length>0){ downloadUrl += "<p><a href='"+kmllink+"'>Download kml</a></p>"; }
	if(instruct.length>0){ downloadUrl += "<p>"+instruct+"</p>"; }

	document.getElementById("download").innerHTML = downloadUrl;
	$.ui.dialog.defaults.bgiframe = true;
	$(function() {
		$('#download').dialog('open');
	});
}
function popupCredits(){
	$(function() {
		$('#credits').dialog('open');
	});
}
function popupTerms(){
	$(function() {
		$('#termsofuse').dialog('open');
	});
}
//  -->
