var map;
var geocoder = null;
var myPoints = new Array();
var myPointsId = new Array();
var myPointsCount = 0;
var myPointsCurrent = 0;
var myLang = 'pl';
var letter;
var baseIcon;

function initialize(lat,lang) {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(lat, lang), 13);
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    //map.addControl(new GOverviewMapControl());
    geocoder = new GClientGeocoder();
    /** Własne literki **/
  //Create a base icon for all of our markers that specifies the
  //shadow, icon dimensions, etc.
  baseIcon = new GIcon(G_DEFAULT_ICON);
  baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
  baseIcon.iconSize = new GSize(20, 34);
  baseIcon.shadowSize = new GSize(37, 34);
  baseIcon.iconAnchor = new GPoint(9, 34);
  baseIcon.infoWindowAnchor = new GPoint(9, 2);

  }
}

function initializeMiniMarker(lat,lang) {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(lat, lang), 13);
	var pointA = new GPoint(lang, lat);
	var mark = new GMarker(pointA);
	map.addOverlay(mark);
	geocoder = new GClientGeocoder();
  }
}

function showAddress(address) {
	if (geocoder) {
	  geocoder.getLatLng(
	    address,
	    function(point) {
	      if (!point) {
	        alert(address + " nie został odnaleziony.");
	      } else {
	        map.setCenter(point, 13);
	        marker.setLatLng(map.getCenter());
	        document.getElementById("addressfound").innerHTML = address;
	        document.getElementById("address").value = "";
      		document.markerform.latitude.value = point.lat();
			document.markerform.longitude.value = point.lng();	        
	      }
	    }
	  );
	}
}


//Creates a marker whose info window displays the letter corresponding
//to the given index.
function createMarker(point, index) {
	// Create a lettered icon for this point using our icon class
	var letter = String.fromCharCode("A".charCodeAt(0) + index);
	var letteredIcon = new GIcon(baseIcon);
	letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";
	
	// Set up our GMarkerOptions object
	markerOptions = { icon:letteredIcon };
	var marker = new GMarker(point, markerOptions);

	GEvent.addListener(marker, "click", function() {
	 marker.openInfoWindowHtml("Marker <b>" + letter + "</b>");
	});
	return marker;
}


/************ Wyświetlanie markerów *****/
function showAllMarkers(bounds) {
	map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
	//return false;
}
function panMarker(id) {
	map.setZoom(13); map.panTo(eval("marker_"+id).getLatLng());
}
function zoomInMarker(id) {
	eval("marker_"+id).closeInfoWindow(); map.setZoom(13); map.panTo(eval("marker_"+id).getLatLng());
}

/*** Funkcje dla specialmap.php ***/
function showFirstPoint() {
	map.setZoom(16); 
	map.panTo(myPoints[0].getLatLng());
	myPointCurrent = 0; 
	jQuery('div[id=mapinfo]').load('ajaxmarker.php?mid=' + myPointsId[0] + '&lang=' + myLang);
}
function showLastPoint() {
	map.setZoom(16); 
	map.panTo(myPoints[myPoints.length-1].getLatLng());
	myPointCurrent = 0;
	jQuery('div[id=mapinfo]').load('ajaxmarker.php?mid=' + myPointsId[myPoints.length-1] + '&lang=' + myLang);
}
function showNextPoint() {
	if (myPointsCurrent < myPointsCount - 1) {
		myPointsCurrent++;
	}
	map.setZoom(16); 
	map.panTo(myPoints[myPointsCurrent].getLatLng());
	jQuery('div[id=mapinfo]').load('ajaxmarker.php?mid=' + myPointsId[myPointsCurrent] + '&lang=' + myLang);
}
function showPrevPoint() {
	if (myPointsCurrent > 0) {
		myPointsCurrent--;
	}
	map.setZoom(16); 
	map.panTo(myPoints[myPointsCurrent].getLatLng());
	jQuery('div[id=mapinfo]').load('ajaxmarker.php?mid=' + myPointsId[myPointsCurrent] + '&lang=' + myLang);
}
function showThisPoint(id) {
	//map.setZoom(16); 
	//map.panTo(myPoints[id].getLatLng());
	myPointCurrent = id;
	jQuery('div[id=mapinfo]').load('ajaxmarker.php?mid=' + myPointsId[id] + '&lang=' + myLang);
}
function showAllPoints(bounds) {
	showAllMarkers(bounds);
	var myText;
	if (myLang=='pl') {
		myText = "<h1>Kliknij w dowolny punkt, aby uzyskać więcej informacji.</h1>";
	} else {
		myText = "<h1>Click on any point to dive into details.</h1>";
	}
	jQuery('div[id=mapinfo]').html(myText);
}
function firstPointSetup() {
	jQuery(document).ready(function() {
		showFirstPoint();
		 });
}