
//Map Url
var rootUrl = "/";

//Options:pointer,crosshair,hand
var cursorType = "pointer"; //Leave blank for default

// constants for each layer number
var RESIDENCE_HALLS_NUM = 0;
var PLACES_TO_EAT_NUM = 1;
var POI_NUM = 2;
var ENTERTAINMENT_NUM = 3;
var SPORTS_NUM = 4;
var ADMIN_BUILDINGS_NUM = 5;
var TRANSPORTATION_NUM = 6;
var CLASSROOM_BUILDINGS_NUM = 7;
var SECURITY_NUM = 8;
var CONSTRUCTION_NUM = 9;
var OTHER_LOCATIONS_NUM = 10;
var PARKING_NUM = 11;
var PARKING_PAY_LOTS_GARAGES_NUM = 12;
var PARKING_FACULTY_LOTS = 13;
var PARKING_COMMUTER_LOTS = 14;
var PARKING_GUARANTEED_STUDENT_LOTS = 15;
var PARKING_METERS = 16;
var PARKING_VISITOR  = 17;
var BUS_STOPS  = 18;
var BLUE_PHONES = 19;

// constant for number of layers
var NUM_LAYERS = 20;

// default point
var DEFAULT_POINT = {y : 40.511751819053416, x : -88.99266958236694};

// default center
var DEFAULT_CENTER = {y : 40.51663758917832, x : -88.9941930770874};

// default zoom
var DEFAULT_ZOOM = 15;

// center cordinates for map controls
var CONTROLS_CENTER = {y : 40.51086271742304, x : -88.99157524108887};

// ISU Information Marker
var isuIcon = new GIcon(G_DEFAULT_ICON);
isuIcon.image = '/images/markers/isuMarkerMain.png';
isuIcon.iconSize = new GSize(40, 42);
isuIcon.shadowSize = new GSize(0, 0);
isuIcon.imageMap = [0,0,40,0,40,42,0,42];
isuIcon.infoWindowAnchor = new GPoint(30, 5);

// default point and marker
var defaultPoint = new GLatLng(DEFAULT_POINT.y, DEFAULT_POINT.x);
var defaultMarker;
var defaultMarkerOn = 0; //O=on, 1=off, 2=not used

// overlay rectangle for accessibility and construction
var OVERLAY_POINT_SW = {y : 40.504936441445409, x : -89.00160670280457};	// southwest point
var OVERLAY_POINT_NE = {y : 40.515817846181014, x : -88.98755192756653};	// northeast point

//Left Nav data
//!!Important!!
//Used for syncing the state of the map with the Left Nav
//Also used for creating and passing URL data to secondary pages
//Array must follow the order of the Left Nav, have the root checkbox ID, number of locations, and the layer number

var LEFT_NAV_INFO = 0;

var leftNav = new Array();

leftNav[LEFT_NAV_INFO] = [];

leftNav[LEFT_NAV_INFO].push(["chkRes", 10, RESIDENCE_HALLS_NUM]);
leftNav[LEFT_NAV_INFO].push(["chkDine", 4, PLACES_TO_EAT_NUM]);
leftNav[LEFT_NAV_INFO].push(["chkClass", 20, CLASSROOM_BUILDINGS_NUM]);
leftNav[LEFT_NAV_INFO].push(["chkAdmin", 12, ADMIN_BUILDINGS_NUM]);
leftNav[LEFT_NAV_INFO].push(["chkArt", 10, ENTERTAINMENT_NUM]);
leftNav[LEFT_NAV_INFO].push(["chkSports", 14, SPORTS_NUM]);
leftNav[LEFT_NAV_INFO].push(["chkTrans", 3, TRANSPORTATION_NUM]);
leftNav[LEFT_NAV_INFO].push(["chkPark", 6, PARKING_NUM]);
leftNav[LEFT_NAV_INFO].push(["chkSec", 2, SECURITY_NUM]);
leftNav[LEFT_NAV_INFO].push(["chkPOI", 7, POI_NUM]);
leftNav[LEFT_NAV_INFO].push(["chkCon", 0, CONSTRUCTION_NUM]);

//Outside bounds limits

BOUND_LIMIT_N = 40.516205306678984; 
BOUND_LIMIT_S = 40.50479775103492;
BOUND_LIMIT_E = -88.98420453071594;
BOUND_LIMIT_W = -89.00366127490997;

// coordinates of the centers of each layer
var layerCenterArray = new Array();
layerCenterArray[RESIDENCE_HALLS_NUM] = new GLatLng(40.51025910042368, -88.99395704269409);	// residence halls center point
layerCenterArray[CLASSROOM_BUILDINGS_NUM] = new GLatLng(40.51089534521415, -88.99393558502197); //classroom building center point
layerCenterArray[ADMIN_BUILDINGS_NUM] = new GLatLng(40.51102585621993, -88.99550199508667); //admin buildings center point
layerCenterArray[PLACES_TO_EAT_NUM] = new GLatLng(40.51068326428804, -88.99479389190674);	// places to eat center point
layerCenterArray[ENTERTAINMENT_NUM] = new GLatLng(40.51060169452249, -88.99110317230225);	// entertainment center point
layerCenterArray[SPORTS_NUM] = new GLatLng(40.51445167927482, -88.99769067764282);	// sports center point
layerCenterArray[TRANSPORTATION_NUM] = new GLatLng(40.5118089169204, -88.99490118026733);	// transportation center point
layerCenterArray[PARKING_NUM] = new GLatLng(40.51322819113316, -88.99511575698853);	// parking center point
layerCenterArray[PARKING_VISITOR] = new GLatLng(40.51050381067286, -88.99342060089111);	// parking center point
layerCenterArray[PARKING_PAY_LOTS_GARAGES_NUM] = new GLatLng(40.51079746179315, -88.99333477020264);	// parking center point
layerCenterArray[PARKING_FACULTY_LOTS] = new GLatLng(40.51335869759858, -88.99599552154541);	// parking center point
layerCenterArray[PARKING_COMMUTER_LOTS] = new GLatLng(40.51461480934028, -88.99524450302124);	// parking center point
layerCenterArray[PARKING_GUARANTEED_STUDENT_LOTS] = new GLatLng(40.5198836970082, -88.99781942367554);	// parking center point
layerCenterArray[PARKING_METERS] = new GLatLng(40.5102917285085, -88.99303436279297);	// parking center point
layerCenterArray[SECURITY_NUM] = new GLatLng(40.51396228669712, -88.99560928344727);	// blue emergency phones center point
layerCenterArray[POI_NUM] = new GLatLng(40.513603396536645, -88.9985704421997);	// point of interest center point
layerCenterArray[CONSTRUCTION_NUM] = new GLatLng(40.509573906975334, -88.99380683898926);	// construction center point

var legendsArray = ["accLegend","parkLegend", "constructionLegend"];

var directionsFlag = true;
var setMapCenter = true; //Flag to turn off centering - Used for printMap.shtml
mapSec = "main";

//Add additional Listners to mapListners.js
//To not use Listners, simply comment out
function loadListeners()
{
	//Add map Listeners
	clickListener();
		//findCordsClick(); //Should only be used in development - Comment out clickListener()
	zoomEndListener();
	infoWindowCloseListener();
	mapTypeChangeListener();
	moveEndListener();
		//findMapCenter(); //Should only be used in development - Comment out moveEndListener()
}

function loadInitOverlay()
{
	// Default Marker
	createDefaultMarker();
}