var PARKING = {"protectionServices": [], "emergency": [], "accessibleParking": [], "brooksGarage": [], "desmaraisGarage": [], 
			   "solowayGarage": [], "mannGarage": [], "meterParking": [], "parkingLot": [], "payDisplayParking": [], "perezGarage": []};
PARKING["protectionServices"][0]={lat: 45.421181, lng: -75.680019, campus: "main", html: "<div style='height:80px;'><b>Protection Services</b><br><br><b>Website:</b> <a href='http://www.protection.uottawa.ca/en/' target='_blank'>http://www.protection.uottawa.ca/en/</a><br><br><b>Emergency:</b> 613-562-5411</div>", zoom: true};
PARKING["protectionServices"][1]={lat: 45.402473, lng: -75.649860, campus: "altaVista", html: "<div style='height:80px;'><b>Protection Services</b><br><br><b>Website:</b> <a href='http://www.protection.uottawa.ca/en/' target='_blank'>http://www.protection.uottawa.ca/en/</a><br><br><b>Emergency:</b> 613-562-5411</div>", zoom: true, hide: true};
PARKING["protectionServices"][2]={lat: 45.421453, lng: -75.697829, campus: "mba", html: "<div style='height:80px;'><b>Protection Services</b><br><br><b>Website:</b> <a href='http://www.protection.uottawa.ca/en/' target='_blank'>http://www.protection.uottawa.ca/en/</a><br><br><b>Emergency:</b> 613-562-5411</div>", zoom: true, hide: true};
PARKING["emergency"][0]={lat: 45.424374, lng: -75.687314, campus: "main"};
PARKING["emergency"][1]={lat: 45.425082, lng: -75.686080, campus: "main"};
PARKING["emergency"][2]={lat: 45.425037, lng: -75.684589, campus: "main"};
PARKING["emergency"][3]={lat: 45.423554, lng: -75.684128, campus: "main"};
PARKING["emergency"][4]={lat: 45.423486, lng: -75.682797, campus: "main"};
PARKING["emergency"][5]={lat: 45.422273, lng: -75.684053, campus: "main"};
PARKING["emergency"][6]={lat: 45.422642, lng: -75.681939, campus: "main"};
PARKING["emergency"][7]={lat: 45.421362, lng: -75.681167, campus: "main"};
PARKING["emergency"][8]={lat: 45.419013, lng: -75.675588, campus: "main"};
PARKING["emergency"][9]={lat: 45.416701, lng: -75.670094, campus: "main"};
PARKING["emergency"][10]={lat: 45.420206, lng: -75.679573, campus: "main"};
PARKING["emergency"][11]={lat: 45.423742, lng: -75.685179, campus: "main"};
PARKING["emergency"][12]={lat: 45.424318, lng: -75.686574, campus: "main"};
PARKING["emergency"][13]={lat: 45.425319, lng: -75.686853, campus: "main"};
PARKING["accessibleParking"][0]={lat: 45.425240, lng: -75.687223, campus: "main"};
PARKING["accessibleParking"][1]={lat: 45.425097, lng: -75.686113, campus: "main"};
PARKING["accessibleParking"][2]={lat: 45.424314, lng: -75.687228, campus: "main"};
PARKING["accessibleParking"][3]={lat: 45.423648, lng: -75.684434, campus: "main"};
PARKING["accessibleParking"][4]={lat: 45.422913, lng: -75.684847, campus: "main"};
PARKING["accessibleParking"][5]={lat: 45.423474, lng: -75.681735, campus: "main"};
PARKING["accessibleParking"][6]={lat: 45.421671, lng: -75.683323, campus: "main"};
PARKING["accessibleParking"][7]={lat: 45.421705, lng: -75.682594, campus: "main"};
PARKING["accessibleParking"][8]={lat: 45.421765, lng: -75.680636, campus: "main"};
PARKING["accessibleParking"][9]={lat: 45.420733, lng: -75.680850, campus: "main"};
PARKING["accessibleParking"][10]={lat: 45.420225, lng: -75.680603, campus: "main"};
PARKING["accessibleParking"][11]={lat: 45.419834, lng: -75.680298, campus: "main"};
PARKING["accessibleParking"][12]={lat: 45.420892, lng: -75.678613, campus: "main"};
PARKING["accessibleParking"][13]={lat: 45.419551, lng: -75.677186, campus: "main"};
PARKING["accessibleParking"][14]={lat: 45.425504, lng: -75.684240, campus: "main"};
PARKING["accessibleParking"][15]={lat: 45.403339, lng: -75.650777, campus: "altaVista"};
PARKING["parkingLot"][0]={lat: 45.424977, lng: -75.685995, label: "A", campus: "main"};
PARKING["parkingLot"][1]={lat: 45.425602, lng: -75.686027, label: "B", campus: "main"};
PARKING["parkingLot"][2]={lat: 45.425474, lng: -75.686681, label: "C", campus: "main"};
PARKING["parkingLot"][3]={lat: 45.425349, lng: -75.682352, label: "E", campus: "main"};
PARKING["parkingLot"][4]={lat: 45.421355, lng: -75.679278, label: "F", campus: "main"};
PARKING["parkingLot"][5]={lat: 45.416030, lng: -75.665288, label: "G1", campus: "main"};
PARKING["parkingLot"][6]={lat: 45.415360, lng: -75.668839, label: "G2", campus: "main"};
PARKING["parkingLot"][7]={lat: 45.416535, lng: -75.668367, label: "G3", campus: "main"};
PARKING["parkingLot"][8]={lat: 45.416678, lng: -75.670073, label: "G4", campus: "main"};
PARKING["parkingLot"][9]={lat: 45.402932, lng: -75.651898, label: "H", campus: "altaVista"};
PARKING["parkingLot"][10]={lat: 45.423915, lng: -75.681478, label: "J", campus: "main"};
PARKING["parkingLot"][11]={lat: 45.422929, lng: -75.685587, label: "K", campus: "main"};
PARKING["parkingLot"][12]={lat: 45.419065, lng: -75.675684, label: "M", campus: "main"};
PARKING["parkingLot"][13]={lat: 45.424623, lng: -75.683044, label: "P", campus: "main"};
PARKING["parkingLot"][14]={lat: 45.403881, lng: -75.641491, label: "R", campus: "altaVista"};
PARKING["parkingLot"][15]={lat: 45.424819, lng: -75.681971, label: "T", campus: "main"};
PARKING["parkingLot"][16]={lat: 45.423200, lng: -75.680673, label: "U", campus: "main"};
PARKING["parkingLot"][17]={lat: 45.420632, lng: -75.680587, label: "V", campus: "main"};
PARKING["parkingLot"][18]={lat: 45.420737, lng: -75.678753, label: "W", campus: "main"};
PARKING["parkingLot"][19]={lat: 45.421656, lng: -75.682819, label: "X", campus: "main"};
PARKING["parkingLot"][20]={lat: 45.420436, lng: -75.679235, label: "Z", campus: "main"};
PARKING["payDisplayParking"][0]={lat: 45.425398, lng: -75.687068, campus: "main", biggerIcon: true};
PARKING["payDisplayParking"][1]={lat: 45.424156, lng: -75.687078, campus: "main", biggerIcon: true};
PARKING["payDisplayParking"][2]={lat: 45.422657, lng: -75.685211, campus: "main", biggerIcon: true};
PARKING["payDisplayParking"][3]={lat: 45.421972, lng: -75.683355, campus: "main", biggerIcon: true};
PARKING["payDisplayParking"][4]={lat: 45.421513, lng: -75.680641, campus: "main", biggerIcon: true};
PARKING["payDisplayParking"][5]={lat: 45.419540, lng: -75.676854, campus: "main", biggerIcon: true};
PARKING["payDisplayParking"][6]={lat: 45.416482, lng: -75.669869, campus: "main", biggerIcon: true};
PARKING["payDisplayParking"][7]={lat: 45.415789, lng: -75.669172, campus: "main", biggerIcon: true};
PARKING["payDisplayParking"][8]={lat: 45.402887, lng: -75.651180, campus: "altaVista", biggerIcon: true};
PARKING["meterParking"][0]={lat: 45.402367, lng: -75.651190, campus: "altaVista"};
PARKING["meterParking"][1]={lat: 45.403354, lng: -75.642071, campus: "altaVista"};
PARKING["meterParking"][2]={lat: 45.425154, lng: -75.685957, campus: "main"};
PARKING["meterParking"][3]={lat: 45.425037, lng: -75.684573, campus: "main"};
PARKING["meterParking"][4]={lat: 45.425391, lng: -75.684530, campus: "main"};
PARKING["meterParking"][5]={lat: 45.423719, lng: -75.684257, campus: "main"};
PARKING["meterParking"][6]={lat: 45.423949, lng: -75.683270, campus: "main"};
PARKING["meterParking"][7]={lat: 45.423004, lng: -75.684895, campus: "main"};
PARKING["meterParking"][8]={lat: 45.423610, lng: -75.682776, campus: "main"};
PARKING["meterParking"][9]={lat: 45.423941, lng: -75.681177, campus: "main"};
PARKING["meterParking"][10]={lat: 45.422627, lng: -75.681859, campus: "main"};
PARKING["meterParking"][11]={lat: 45.421193, lng: -75.680394, campus: "main"};
PARKING["meterParking"][12]={lat: 45.420779, lng: -75.680341, campus: "main"};
PARKING["perezGarage"][0]={lat: 45.42396, lng: -75.684466, campus: "main", biggerIcon: true};
PARKING["solowayGarage"][0]={lat: 45.425067, lng: -75.684466, campus: "main", biggerIcon: true};
PARKING["desmaraisGarage"][0]={lat: 45.424216, lng: -75.687486, campus: "main", info: "http://www.protection.uottawa.ca/en/occpark.html#Desmarais", biggerIcon: true, zoom: true};
PARKING["mannGarage"][0]={lat: 45.419374, lng: -75.676902, campus: "main", info: "http://www.protection.uottawa.ca/en/occpark.html#Mann", biggerIcon: true, zoom: true};
PARKING["brooksGarage"][0]={lat: 45.423493, lng: -75.681698, campus: "main", info: "http://www.protection.uottawa.ca/en/occpark.html#Brooks", biggerIcon: true, zoom: true};

var PARKING_ICON_MAP = {"protectionServices":"images/icons/prs.png",
						"emergency":"images/icons/icon_EmergencyPhone_32.png",
						"accessibleParking":"images/icons/icon_accessParking_32.png",
						"parkingLot":"images/icons/icon_Parking_lot_32.png",
						"payDisplayParking":"images/icons/icon_Pay&Display_32.png",
						"meterParking":"images/icons/icon_Meter_32.png",
						"perezGarage":"images/icons/icon_Garage_32.png",
						"solowayGarage":"images/icons/icon_Garage_32.png",
						"desmaraisGarage":"images/icons/icon_Garage_32.png",
						"mannGarage":"images/icons/icon_Garage_32.png",
						"brooksGarage":"images/icons/icon_Garage_32.png"
};

var PARKING_DESC_MAP = {"protectionServices":"Protection Services",
						"emergency":"Emergency Phone",
						"accessibleParking":"Accessible Parking",
						"parkingLot":"Parking Lot",
						"payDisplayParking":"Pay & Display Parking",
						"meterParking":"Meter",
						"perezGarage":"Perez Garage",
						"solowayGarage":"Hyman Soloway Garage",
						"desmaraisGarage":"Desmarais Garage",
						"mannGarage":"Mann Garage",
						"brooksGarage":"Brooks Garage"
};

UOPARKING = function (){
}

UOPARKING.prototype.plotParking = function(map,i,type,allMarkers,forTool){
	var icon = new GIcon();
	if (PARKING[type][i].biggerIcon) {
		icon.iconSize = new GSize(32,32);
		icon.iconAnchor = new GPoint(32,32);
		icon.infoWindowAnchor = new GPoint(20,20);
	} else {
		icon.iconSize = new GSize(20,20);
		icon.iconAnchor = new GPoint(20,20);
		icon.infoWindowAnchor = new GPoint(20,20);
	}
	icon.image = PARKING_ICON_MAP[type];
	var point = new GLatLng(PARKING[type][i].lat, PARKING[type][i].lng);
	if (!PARKING[type][i].label) {
		var clickable = forTool?false:PARKING[type][i].info?true:PARKING[type][i].html?true:false;
		var markerOpts = {icon: icon, clickable: clickable, draggable: forTool?true:false};
		var marker = new GMarker(point, markerOpts);
		if (!forTool) {
			if (PARKING[type][i].info) {
				GEvent.addListener(marker, "click", function() {
					var html = "<div style='height:50px;'><b>"+PARKING_DESC_MAP[type]+"</b><br>";
					html += "<br><a href=\'"+PARKING[type][i].info+"\' target=\'_blank\'>More Information</a>";
					html += "<br><br><br></div>";
					marker.openInfoWindow(html);
				});
			}
			if (PARKING[type][i].html) {
				GEvent.addListener(marker, "click", function() {
					marker.openInfoWindowHtml(PARKING[type][i].html);
				});
				
			}
		}
	} else {
		if (PARKING[type][i].label.length > 1) {
			var labelText = "<font color=\"#ffffff\" size=\"0.5px\"><b>"+PARKING[type][i].label+"</b></font>";
			var labelOffset = new GSize(-18, -17);
		} else {
			var labelText = "<font color=\"#ffffff\"><b>"+PARKING[type][i].label+"</b></font>";
			var labelOffset = new GSize(-14, -18);
		}
		var markerOpts = {"icon": icon,
						  "labelText": labelText,
						  "labelOffset": labelOffset,
						  "draggable": forTool?true:false
		   				 };
		var marker = new LabeledMarker(point, markerOpts);
	}
	if (forTool) {
		GEvent.addListener(marker, "dragend", function(latlng) {
			for (var j = 0; j < parkingMarkers.length; j++) {
				if ((type == parkingMarkers[j][1]) && (i == parkingMarkers[j][0])) {
					parkingMarkers.splice(j,1);
				}
			}
			parkingMarkers.push([i, type, latlng.lat().toFixed(6), latlng.lng().toFixed(6)]);
	    });
	}
	allMarkers[type].push([i,marker]);
	return marker;
}

UOPARKING.prototype.plotParkingTool = function(map,i,type,allMarkers){
	var icon = new GIcon();
	if (PARKING[type][i].biggerIcon) {
		icon.iconSize = new GSize(32,32);
		icon.iconAnchor = new GPoint(32,32);
		icon.infoWindowAnchor = new GPoint(20,20);
	} else {
		icon.iconSize = new GSize(20,20);
		icon.iconAnchor = new GPoint(20,20);
		icon.infoWindowAnchor = new GPoint(20,20);
	}
	icon.image = PARKING_ICON_MAP[type];
	var point = new GLatLng(PARKING[type][i].lat, PARKING[type][i].lng);
	if (!PARKING[type][i].label) {
		var markerOpts = {icon: icon};
		var marker = new GMarker(point, markerOpts);
	} else {
		if (PARKING[type][i].label.length > 1) {
			var labelText = "<font color=\"#ffffff\" size=\"0.5px\"><b>"+PARKING[type][i].label+"</b></font>";
			var labelOffset = new GSize(-18, -17);
		} else {
			var labelText = "<font color=\"#ffffff\"><b>"+PARKING[type][i].label+"</b></font>";
			var labelOffset = new GSize(-14, -18);
		}
		var markerOpts = {"icon": icon,
						  "labelText": labelText,
						  "labelOffset": labelOffset
		   				 };
		var marker = new LabeledMarker(point, markerOpts);
	}
	marker.index = i;
	GEvent.addListener(marker, "click", function() {
		var bounds = new GLatLngBounds();
		var lat = marker.getLatLng().lat() + 0.001;
		var lng = marker.getLatLng().lng();
		var point = new GLatLng(lat, lng);
		bounds.extend(point);
		marker.checked = "";
		if ((UOM._poiType == type) && (UOM._poiId == i)) {
			marker.checked = "checked";
		}
		marker.openInfoWindowHtml("<input type='checkbox' value='"+this.index+"' "+this.checked+" onclick='UOM._map.selectPoi(this);' />Select Point of Interest");
		map.setCenter(bounds.getCenter());
	});
	allMarkers[type].push([i,marker]);
	return marker;
}

