var map = new Map("mapContainer", "CadenceInnovation", "977 E 14 Mile, Troy, MI", 5); 
map.addEventListener(Map.EVENT_INITIALIZE, onMapInit);
map.addEventListener(Map.EVENT_MARKER_GEOCODE_SUCCESS, onMarkerGeocode);

function onMapInit(eventObj) {
	var html = "<fieldset><legend>Locations</legend>";
	
    for(var i=0; i<addresses.length; i++) {
		var directions;
		directions = "<br><br>Directions: ";
		directions += "<a href=\"http://maps.yahoo.com/#mvt=m&q2=" + addresses[i][2] + "&trf=0&lon=-82.508976&lat=42.824712&mag=5\" target=\"_blank\">To here</a> - ";
		directions += "<a href=\"http://maps.yahoo.com/#mvt=m&q1=" + addresses[i][2] + "&trf=0&lon=-82.508976&lat=42.824712&mag=5\" target=\"_blank\">From here</a>";
		
        var marker = new CustomPOIMarker(addresses[i][0], addresses[i][1], addresses[i][3] + directions, '0x7A1501', '0xFFFFFF');
        map.addMarkerByAddress( marker, addresses[i][2] );
		html += "<a href='javascript:showLocation(\"" + i + "\")'>" + addresses[i][0] + "</a><br>";
    }
	
	$('locationContainer').innerHTML = html + "</fieldset><br>";
	
	// Make the map draggable 
	map.addTool( new PanTool(), true );
	// Create a View Widget object 
	map.addWidget(new SatelliteControlWidget());
	// Add the Navigator Widget to the map and display it 
	map.addWidget(new NavigatorWidget("closed")); 
	
	trafficOk = false;	
	hotelsOk = false;
	restaurantsOk = false;
	trafficOverlay = new TrafficOverlay();
	hotelsOverlay = new LocalSearchOverlay();	
	restaurantsOverlay = new LocalSearchOverlay();
}
function onMarkerGeocode(eventObj) {
    var geocodeResponse = eventObj.response;
}

function showLocation(i) {
	var location = addresses[i][2];
	map.setCenterByAddress(location, 0);
}

var trafficOk;
var trafficOverlay;
var hotelsOk;
var restaurantsOk;

function ShowTraffic() {
	try {
		var btn = $("traffic");
		
		if (trafficOk) {
			map.removeOverlay(trafficOverlay);
			btn.value = "Show traffic alerts";
		}
		else {
			map.addOverlay(trafficOverlay);
			btn.value = "Clear traffic alerts";
		}
		
		trafficOk = !trafficOk;
	}
	catch(ex) {
	}
	
	return false;
}

function ShowHotels() {
	try {
		var btn = $("hotels");
		
		if (hotelsOk) {
			map.removeOverlay(hotelsOverlay);
			btn.value = "Show hotels";
		}
		else {
			hotelsOverlay.search('hotels', map.getCenter(), 1, 10);
			//Overlay.EVENT_INITIALIZE,onOverlayInit, this ); 
			// Add the overlay to the map and display it
			map.addOverlay(hotelsOverlay);			
			
			btn.value = "Clear hotels";
		}
		
		hotelsOk = !hotelsOk;
	}
	catch(ex) {
	}
	
	return false;	
}

function ShowRestaurants() {
	try {
		var btn = $("restaurants");
		
		if (restaurantsOk) {
			map.removeOverlay(restaurantsOverlay);
			btn.value = "Show restaurants";
		}
		else {
			restaurantsOverlay.search('restaurant', map.getCenter(), 1, 10);
			//Overlay.EVENT_INITIALIZE,onOverlayInit, this ); 
			// Add the overlay to the map and display it
			map.addOverlay(restaurantsOverlay);			
			
			btn.value = "Clear restaurants";
		}
		
		restaurantsOk = !restaurantsOk;
	}
	catch(ex) {
	}
	
	return false;	
}