﻿var true_imagePath = "App_Themes/default/images/";

$(document).ready(function() {
	if (GBrowserIsCompatible()) {
		var locations = {
			arizona: { lat: 33.348640, lng: -111.833980, zoom: 15 },
			texas: { lat: 33.026047, lng: -96.707548, zoom: 15 },
			utah: { lat: 40.768700, lng: -111.943602, zoom: 15 }
		};

		var location = locations[locationName] || locations.chandler;
		var point = new GLatLng(location.lat, location.lng);
		var holder = $(".js-map").get(0);
		if (holder) {
			map = new GMap2(holder);
			map.addControl(new LGZoomControl());
			map.addControl(new LGMapTypeControl());
			map.setCenter(point, location.zoom);

			var baseIcon = new GIcon();
			baseIcon.image = true_imagePath + 'map-marker.png';
			baseIcon.shadow = true_imagePath + 'map-marker-shadow.png';
			baseIcon.iconSize = new GSize(55, 46);
			baseIcon.shadowSize = new GSize(61, 46);
			baseIcon.iconAnchor = new GPoint(0, 46);
			//baseIcon.infoWindowAnchor = new GPoint(47, 2);

			var options;
			var m = null;
			for (var p in locations) {
				options = { icon: new GIcon(baseIcon) };
				options.icon.image = locations[p].image || baseIcon.image;
				var marker = new GMarker(new GLatLng(locations[p].lat, locations[p].lng), options);
				map.addOverlay(marker);
				if (locations[p] == location) {
					var m = marker;
					var popHtm = $('div.js-mapPopup');
					if (popHtm.length > 0) {
						var f = function() { m.openInfoWindowHtml(popHtm.html()); };
						GEvent.addListener(m, "click", f);
						f();
					}
				}
			}
		}
	}
});

function LGControl() { };

LGControl.prototype = new GControl();
LGControl.prototype._addButton = function(p_container, p_image, p_clickDelegate) {
	var anchor = document.createElement("a");
	$(anchor).attr("href", "javascript:;");
	$(anchor).html("<img src='" + true_imagePath + p_image + "' />");
	p_container.appendChild(anchor);

	GEvent.addDomListener(anchor, "click", p_clickDelegate);
}

function LGZoomControl() { };

LGZoomControl.prototype = new LGControl();

LGZoomControl.prototype.initialize = function(map) {
	var container = document.createElement("div");

	this._addButton(container, "map-btn-zoom-out.png", function() { map.zoomOut(); return false; });
	this._addButton(container, "map-btn-zoom-in.png", function() { map.zoomIn(); return false; });
	map.getContainer().appendChild(container);

	return container;
};

LGZoomControl.prototype.getDefaultPosition = function() {
	return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(4, 4));
};

function LGMapTypeControl() {
};

LGMapTypeControl.prototype = new LGControl();

LGMapTypeControl.prototype.initialize = function(map) {
	var container = document.createElement("div");

	this._addButton(container, "map-btn-map.png", function() { map.setMapType(G_NORMAL_MAP); return false; });
	this._addButton(container, "map-btn-satellite.png", function() { map.setMapType(G_SATELLITE_MAP); return false; });
	this._addButton(container, "map-btn-hybrid.png", function() { map.setMapType(G_HYBRID_MAP); return false; });
	map.getContainer().appendChild(container);

	return container;
};

LGMapTypeControl.prototype.getDefaultPosition = function() {
	return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(4, 4));
};

//]]>