function loadMaps(){

	if(!GBrowserIsCompatible()){return;}
	if(!document.getElementById(googleMap_CFG__mapDiv)){return;}

	// pobranie danych mapy
	var divMap = document.getElementById(googleMap_CFG__mapDiv);
	// ustalanie początkowe
	var latlng = [51.919438, 19.145136], zoom = googleMap_CFG__mapZoom;

	// pobranie danych obiektu i wycentrowanie mapy
	var map = new GMap2(divMap);
	map.setCenter(new GLatLng(latlng[0], latlng[1]), zoom);
	map.geocoder = new GClientGeocoder();
    map.geocoder.setBaseCountryCode("PL");

	//map.addControl(new GSmallMapControl());
	map.addControl(new GLargeMapControl());
	//map.addControl(new GSmallZoomControl());
	//map.addControl(new GScaleControl());
	//map.addControl(new GMapTypeControl());
	map.addControl(new GMenuMapTypeControl());
	//map.addControl(new GOverviewMapControl());

	//map.disableDragging();
	//map.disableInfoWindow();
	//map.enableDoubleClickZoom();
	map.enableContinuousZoom();
	map.enableScrollWheelZoom();

  if(googleMap_CFG__type=='xml'){
  loadPointsFromXML(map, googleMap_CFG__xmlPath, 0);
  }else{
  loadPointsFromField(
                      map,
                      googleMap_CFG__fieldID,
                      googleMap_CFG__cordsSplitString,
                      googleMap_CFG__markerIcon,
                      '',
                      '',
                      0,
                      1,
                      googleMap_CFG__mapZoom
                     );
  }
}

// ładowanie punktu z pola
function loadPointsFromField(mapObj, htmlID, splitSign, iconPath, title, html, edit, center, zoom)
{
  if(document.getElementById(htmlID)){
    // pobieramy dane pola i ustalamy współrzędne
		var Field = document.getElementById(htmlID);
		var point = Field.value.split(splitSign);
		point[0] = parseFloat(point[0],10);
		point[1] = parseFloat(point[1],10);

		// tworzymy marker
		var marker = createMarker(point[0],point[1],iconPath,title,html,edit);

    // centrujemy mapę na ten punkt
    var upPoint = marker.getPoint();
    if(center==1) mapObj.setCenter(new GLatLng(upPoint.lat(),upPoint.lng()), zoom);

    // dodajemy marker do mapy
		mapObj.addOverlay(marker);

	}else{
    alert('Brak pola o nazwie ' + htmlID);
  }
}

// ładowanie punktów z pliku XMl
function loadPointsFromXML(mapObj, xmlUrl, edit)
{
  GDownloadUrl(xmlUrl, function(dane,kodOdpowiedzi){
		if(kodOdpowiedzi==200){
			var xml = GXml.parse(dane);
			var markery = xml.documentElement.getElementsByTagName("marker");
			for(var i=0; i<markery.length; i++){
				var lat			  =	parseFloat(markery[i].getAttribute("lat"));
				var lon			  =	parseFloat(markery[i].getAttribute("lon"));
				var iconPath	=	(markery[i].getAttribute("ikona")!='' ? markery[i].getAttribute("ikona") : "");
				var html		  =	(eval(markery[i].getAttribute("html"))!=''?eval(markery[i].getAttribute("html")):"");
				var title		  =	(markery[i].getAttribute("title")!='' ? markery[i].getAttribute("title") : "");
        var marker		=	createMarker(lat,lon,iconPath,title,html,edit);
        mapObj.addOverlay(marker);
			}
		}else{
			alert('Nie mogłem otworzyć pliku ' + xmlUrl);
		}
	});
}


function createMarker(lat,lon,iconPath,label,html,edit)
{
  var points = new GLatLng(lat,lon);

  if(iconPath!='' && iconPath!=null){
    var MyIcon = new GIcon();

    MyIcon.image = iconPath;
    MyIcon.iconSize = new GSize(34, 29);
    MyIcon.iconAnchor = new GPoint(15, 24);
    MyIcon.shadow = "";
    MyIcon.shadowSize = new GSize(45, 22);
    MyIcon.infoWindowAnchor = new GPoint(5, 2);

    if(edit==1)
    var marker = new GMarker(points, {title: label, draggable: true,icon:MyIcon});
    else
    var marker = new GMarker(points, {title: label, draggable: false,icon:MyIcon});

  }else{
	  if(edit==1)
    var marker = new GMarker(points, {title: label, draggable: true});
    else
    var marker = new GMarker(points, {title: label, draggable: false});
	}

	if(html){
    marker.html = html;
    GEvent.addListener(marker,"click",function(){

      var zakladki=[];
    	for(var i=0; i<html.length; i++)
    	{
    		var name = html[i][0];
    		var content = html[i][1];
    		content = '<div id="gmapMarkerInfoWindow" style="width: '+(html.length*90)+'px;">'+content+'</div>';
    		zakladki.push(new GInfoWindowTab(name,content));
    	}
    	marker.openInfoWindowTabsHtml(zakladki);
    });
  }

  return marker;
}




if(window.addEventListener){
	window.addEventListener("load", loadMaps, false);
	window.addEventListener("unload", GUnload, false);
}else if(window.attachEvent){
	window.attachEvent("onload", loadMaps);
	window.attachEvent("onunload", GUnload);
}


