var puntos = new Array();

var cm_map;
var cm_mapMarkers = [];
var cm_mapHTMLS = [];

//var bounds = new GLatLngBounds();

var Tour = new function() {
	var urlmodulo="index.php?mod=tour";
	
	this.initMap = function() {
		if (GBrowserIsCompatible()) {
			if (puntos.length==0) {
				latitud=25.774233;
				longitud=-80.193672;
			} else {
				latitud=puntos[0].latitud;
				longitud=puntos[0].longitud;
			}
			
			cm_map = new GMap2(document.getElementById("map_canvas"));
			cm_map.setMapType(G_HYBRID_MAP);
			cm_map.addControl(new GLargeMapControl());
			cm_map.addControl(new GMapTypeControl());
			cm_map.addControl(new GScaleControl());
			cm_map.addControl(new GOverviewMapControl());
			
			var point = new GLatLng(latitud, longitud);
			cm_map.setCenter(point, 1);
			
			for (var i=0; i<puntos.length; i++) {
				var punto = new GLatLng(puntos[i].latitud, puntos[i].longitud);
				var info=puntos[i].lugar;
				
				var marker = cm_createMarker(punto,info);
				cm_map.addOverlay(marker);
				cm_mapMarkers.push(marker);
				cm_mapHTMLS.push(info);
				//bounds.extend(point);
				
				
				// Create a new marker
				//var marker = new GMarker(punto);
				
				// Add the marker to the map
				//map.addOverlay(marker);
				/*var info=puntos[i].lugar;
				GEvent.addListener(marker, "click", function() {
					marker.openInfoWindowHtml(info);
				});*/
			}
			
			//cm_map.setCenter(bounds.getCenter());
		}
	};
	
	this.punto = function(latitud,longitud,lugar) {
		this.latitud=latitud;
		this.longitud=longitud;
		this.lugar=lugar;
	};
	
	this.comentario = function() {
		var url = urlmodulo+"&exec=submit";
		var params = Form.serialize("frmComentario");
		var target = 'showError';

		var ajax = new Ajax.Updater(
			{success: target},
			url,
			{	method: 'post', 
				parameters: params,
				evalScripts: true,
				onComplete: function(res) { 
				},
				onLoading: function(res) { 
					$(target).innerHTML = "<img src='images/loading.gif'/>"; 
				},
				onFailure: function() { 
					$(target).innerHTML = "An error occurred"; 
				} 
			});
	};
	
	this.listar = function(page) {
		var url = urlmodulo+"&exec=comentario";
		var params = "npg="+page;
		var target = 'listaComentario';

		var ajax = new Ajax.Updater(
			{success: target},
			url,
			{	method: 'post', 
				parameters: params,
				onComplete: function(res) { 
				},
				onLoading: function(res) { 
					//$(target).innerHTML = "<img src='images/loading.gif'/>"; 
				},
				onFailure: function() { 
					$(target).innerHTML = "An error occurred"; 
				} 
			});
	};
}

function cm_markerClicked(markerNum) {
  cm_mapMarkers[markerNum].openInfoWindowHtml(cm_mapHTMLS[markerNum]);
}

function cm_createMarker(point, html) {
	var markerOpts = {};
		
	var marker = new GMarker(point, markerOpts);
	
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});
	
	return marker;
}
