var map;
var centerLatitude = 13.698194350197756;
var centerLongitude = -89.22417640686035; 
var startZoom = 13;

/* [listing 6-15] */
var deselectCurrent = function() {};

function initializePoint(pointData) {
	var Icon = new GIcon(G_DEFAULT_ICON);
	Icon.image = "../../images/markerBb.png";
	
	var point = new GLatLng(pointData.latitude, pointData.longitude);
	var marker = new GMarker(point,{icon:Icon,title:pointData.name});
	var listItem = document.createElement('li');
	var listItemLink = listItem.appendChild(document.createElement('a'));
	var itemInfo;
	listItemLink.href = "#";
	listItemLink.innerHTML = pointData.name;
	listItemLink.onmouseover = function() { marker.setImage("../../images/markerYa.png"); }
	listItemLink.onmouseout = function() { marker.setImage("../../images/markerBb.png"); }
	
	var focusPoint = function() {
		deselectCurrent();
		listItem.className = 'current';
		deselectCurrent = function() { listItem.className = ''; }
		itemInfo = "<div id='bus_info'><strong>" + pointData.name + "</strong><br>" + pointData.rooms + " habitaciones, Doble US$ $" + pointData.price + "<br><br>" ;
		if (pointData.booking !='') {itemInfo += pointData.booking + "&nbsp;&nbsp;&nbsp;&nbsp;"; };
		itemInfo += pointData.info + "</div>";
		marker.openInfoWindowHtml(itemInfo);
		return false;
	}

	GEvent.addListener(marker, 'click', focusPoint);	
	listItemLink.onclick = focusPoint;
	
	GEvent.addListener(marker, "mouseover", function() {
	marker.setImage("../../images/markerYa.png");
	listItem.className = 'over';
	});
	
	GEvent.addListener(marker, "mouseout", function() {
	marker.setImage("../../images/markerBb.png");
	listItem.className = '';
	});

	document.getElementById('sidebar-list').appendChild(listItem);

	map.addOverlay(marker);
}

function init() {
	
	map = new GMap(document.getElementById("map"));
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	map.removeMapType(G_HYBRID_MAP);
	map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom);
	
	for(id in markers) {
		initializePoint(markers[id]);
	}
	
}
