// MARKER THAT SHOWS ONCE USER INPUTS ADDRESS OR ZIP
// var iconCurrent = new GIcon(); 
// HAVE TO USE ABSOLUTE URLs BECAUSE OF IE6 AND PNGs
// iconCurrent.image = "http://goldenchick.com/themes/gc/images/map-markers/map-marker-currentlocation.png";
// iconCurrent.shadow = "http://goldenchick.com/themes/gc/images/map-markers/map-marker-shadow.png";
// iconCurrent.iconSize = new GSize(20, 34);
// iconCurrent.shadowSize = new GSize(38, 34);
// iconCurrent.iconAnchor = new GPoint(10, 34);
// iconCurrent.infoWindowAnchor = new GPoint(10, 15);

var iconDefault = new GIcon(); 
// HAVE TO USE ABSOLUTE URLs BECAUSE OF IE6 AND PNGs
iconDefault.image = "http://goldenchick.com/themes/gc/images/map-markers/map-marker.png";
iconDefault.shadow = "http://goldenchick.com/themes/gc/images/map-markers/map-marker-shadow.png";
iconDefault.iconSize = new GSize(20, 34);
iconDefault.shadowSize = new GSize(38, 34);
iconDefault.iconAnchor = new GPoint(10, 34);
iconDefault.infoWindowAnchor = new GPoint(10, 15);

var iconDelivery = new GIcon(); 
// HAVE TO USE ABSOLUTE URLs BECAUSE OF IE6 AND PNGs
iconDelivery.image = "http://goldenchick.com/themes/gc/images/map-markers/map-marker-delivery.png";
iconDelivery.shadow = "http://goldenchick.com/themes/gc/images/map-markers/map-marker-shadow.png";
iconDelivery.iconSize = new GSize(20, 34);
iconDelivery.shadowSize = new GSize(38, 34);
iconDelivery.iconAnchor = new GPoint(10, 34);
iconDelivery.infoWindowAnchor = new GPoint(10, 15);

var customIcons = [];
// customIcons["current"] = iconCurrent;
customIcons["None"] = iconDefault;
customIcons["Delivery"] = iconDelivery;
customIcons["Delivery-Order-Online"] = iconDelivery;

var map = null;
var geocoder = null;

function initialize() {
	if (GBrowserIsCompatible()) {
    	map = new GMap2(document.getElementById("map-canvas"));
 		map.addControl(new GLargeMapControl3D());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());
		map.removeMapType(G_SATELLITE_MAP);
		map.setCenter(new GLatLng(32.2000, -99.1419), 5);
		geocoder = new GClientGeocoder();

		GDownloadUrl("GMapXml", function(data) {
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName("marker");
			for (var i = 0; i < markers.length; i++) {
				var address = markers[i].getAttribute("address");
				var city = markers[i].getAttribute("city");
				var state = markers[i].getAttribute("state");
				var zip = markers[i].getAttribute("zip");
				var phone = markers[i].getAttribute("phone");
				var delivery = markers[i].getAttribute("delivery");
				var deliveryLink = markers[i].getAttribute("deliveryLink");
				var notation = markers[i].getAttribute("notation");
				var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
				                        parseFloat(markers[i].getAttribute("lng")));
				var marker = createMarker(point, address, city, state, zip, phone, delivery, deliveryLink, notation);
				map.addOverlay(marker);	
			}
		});
    }
}

// Takes input from form field and zooms map to that city, zip, etc
function showAddress(location) {
	if (geocoder) {
		geocoder.getLatLng(
			location,
			function(point) {
				if (!point) {
				  alert("Please enter a location");
				} else {
				  map.setCenter(point, 11);
				// THIS ADDS A MARKER ONCE USER INPUTS ADDRESS OR ZIP
				// var marker = new GMarker(point, customIcons["current"]);
				// map.addOverlay(marker);
				// Auto display infoWindow
				// var html = '<span style="text-transform: capitalize;">' + location + '</span>'
				// marker.openInfoWindowHtml(html);
				// After infoWindow is closed, allow to re-open with mouse click
				// GEvent.addListener(marker, "click", function() {
				//   marker.openInfoWindowHtml(html);
				// });
				}
			}
		);
	}
}

// Add InfoWindows to Markers
function createMarker(point, address, city, state, zip, phone, delivery, deliveryLink, notation) {
	var marker = new GMarker(point, customIcons[delivery]);
	if (notation) {
		var html = '<div class="locations-notation-map">' + notation + '</div>' + city + ', ' + state;
	}
	else if (deliveryLink) {
		var html = '<p class="marker-info"><span class="marker-address">' + address + '<br/>' + city + ', ' + state + ' ' + zip + '</span><br/>' + phone + '<br/><a href="' + deliveryLink + '" class="delivery-online">Delivery - Order Online!</a></p>' + '<form action="http://maps.google.com/maps" method="get" id="driving-directions"><input name="daddr" type="hidden" value="' + address + ', ' + city + ', ' + state + ' ' + zip + '"/><label>Start Address<br/><input name="saddr" type="text" size="25" maxlength="75" /></label><input name="submit_driving" type="submit" id="submit_driving" value="Get Directions"/></form>';
	}
	else {
		var html = '<p class="marker-info"><span class="marker-address">' + address + '<br/>' + city + ', ' + state + ' ' + zip + '</span><br/>' + phone + '<br/></p>' + '<form action="http://maps.google.com/maps" method="get" id="driving-directions"><input name="daddr" type="hidden" value="' + address + ', ' + city + ', ' + state + ' ' + zip + '"/><label>Start Address<br/><input name="saddr" type="text" size="25" maxlength="75" /></label><input name="submit_driving" type="submit" id="submit_driving" value="Get Directions"/></form>';
	}

	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});
	return marker;
}