var geocoder = new google.maps.Geocoder();
var map;
var infowindowLevel = 0;	
var latlng = new google.maps.LatLng(40.752539, -73.9849205);
var infoWindowArray = new Array();

var myOptions = {
	zoom: 13,
	center: latlng,
	mapTypeId: google.maps.MapTypeId.ROADMAP
};

map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

var bakeries = new Array(
	{name: 'Big Booty Bread Co.', address: '261 W 23rd St, NY NY'},
	{name: 'Butter Lane', address: '123 East 7th Street, NY NY'},
	{name: 'Amy\'s Bread', address: '672 Ninth Ave, NY NY'},
	{name: 'Baked by Melissa', address: '529 Broadway, NY NY'},
	{name: 'Sugar Sweet Sunshine Bakery', address: '126 Rivington Street, NY NY'},
	{name: 'Magnolia Bakery', address: '200 Columbus Ave, NY NY'},
	{name: 'Buttercup Bake Shop', address: '141 West 72nd Street, NY NY'},
	{name: 'Crumbs', address: '321 1/2 Amsterdam Ave, NY NY'},
	{name: 'Kyotofu', address: '705 Ninth Ave, NY NY'},
	{name: 'Babycakes', address: '248 Broome St, NY NY'},
	{name: 'Billy\'s Bakery', address: '185 9th Ave, NY NY'},
	{name: 'Chikalicious', address: '203 E 10th Street, NY NY'}
	);
for (var i = bakeries.length-1; i >= 0; --i ){
	codeAddress(bakeries[i].name, bakeries[i].address, i + 1);
}

function codeAddress(name, address, num) {
	if (geocoder) {
		geocoder.geocode( { 'address': address}, function(results, status) {
		if (status == google.maps.GeocoderStatus.OK) {
			var infowindow = new google.maps.InfoWindow({
			    content: "<div style='font: 14px Arial; line-height: 1.2em'>" + name + "<br />" + results[0].formatted_address.replace(",", "<br />") + "</div>"
			});
			infoWindowArray.push(infowindow);
			var marker = new google.maps.Marker({
				map: map,
				position: results[0].geometry.location,
				icon: "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=" + num + "|FF6667|000000"
			});
			google.maps.event.addListener(marker, 'click', function() {
				for (var i = infoWindowArray.length-1; i >= 0; --i ){
					infoWindowArray[i].close();
				}
				infowindow.open(map,marker);
			});
		}/* else {
			alert("Geocode was not successful for the following reason: " + status + name);
		}*/
		});
	}
}