var map;
var markers = new Array();
var progressBar;

function initMap()
{
//	var latlng = new google.maps.LatLng(49.575102,15.710449);
	var latlng = new google.maps.LatLng(49.845,15.534);
	var myOptions = {
		zoom: 7,
		center: latlng,
		mapTypeId: google.maps.MapTypeId.TERRAIN
	};
	map = new google.maps.Map(document.getElementById("MapSection2"), myOptions);
	google.maps.event.addListener(map, 'tilesloaded', function() {
		loadMarkers();
	});

}

function loadMarkers()
{
	var url = setupUrl();
	$.post(url, {responseType:'json'}, loadMarkersCallback, 'json');
}

function loadMarkersCallback(data)
{
	clearMarkers();
	$.each(data.markers, function(key, value) {
		var point = new google.maps.LatLng(parseFloat(value.lat), parseFloat(value.lng));
		var marker = createMarker(point, value.name, '', value.icon);
		var infowindow = new google.maps.InfoWindow({content: value.description, maxWidth:250});
		google.maps.event.addListener(marker, 'click', function() {infowindow.open(map,marker);});
		marker.setMap(map);
	});
////		var infowindow = new InfoBox({
////			content: descr
////			,boxStyle: {
////			  opacity: 0.75
////			  ,width: "280px"
////			 }
////		});
////		google.maps.event.addListener(marker, 'click', function() {
////			infowindow.open(map,marker);
////		});
}

function createMarker(latLng, title, descr, icon)
{
	var markerOptions = {
		position: latLng,
		title: title
	};
	if(icon !== false)
	{
		markerOptions.icon   = icon;
	}
	var marker = new google.maps.Marker(markerOptions);
	markers.push(marker);
	return marker;
}

function clearMarkers()
{
	for(var i = 0; i < markers.length; i++){
        markers[i].setMap(null);
    }
	markers = new Array();
}

//function loadMarkers()
//{
//	var url = setupUrl();
//	var markersLayer = new google.maps.KmlLayer(url, {preserveViewport:true});
//	markersLayer.setMap(map);
//}

function setupUrl()
{
	var dt=new Date();
	var url = 'http://' + document.location.host + '/'
				+ 'smallapp/lemondtorozsviti/get-markers/'
				+ '?time=' + dt.getTime()
				+ '&bounds=' + map.getBounds().toUrlValue()
			;
	return url;
}
