var mapa;
var view=new GLatLngBounds();
//var spot=false;

var iRelacja=new GIcon();  
iRelacja.image="http://labs.google.com/ridefinder/images/mm_20_blue.png";
iRelacja.shadow="http://labs.google.com/ridefinder/images/mm_20_shadow.png";
iRelacja.iconSize=new GSize(12, 20);
iRelacja.infoWindowAnchor=new GPoint(6, 0);
iRelacja.iconAnchor=new GPoint(6, 20);
iRelacja.shadowSize=new GSize(22, 20); 

var iPointer=new GIcon();  
iPointer.image="http://labs.google.com/ridefinder/images/mm_20_blue.png";
iPointer.shadow="http://labs.google.com/ridefinder/images/mm_20_shadow.png";
iPointer.iconSize=new GSize(12, 20);
iPointer.infoWindowAnchor=new GPoint(6, 0);
iPointer.iconAnchor=new GPoint(6, 20);
iPointer.shadowSize=new GSize(22, 20); 

var iRestaurant=new GIcon();  
iRestaurant.image="http://labs.google.com/ridefinder/images/mm_20_orange.png";
iRestaurant.shadow="http://labs.google.com/ridefinder/images/mm_20_shadow.png";
iRestaurant.iconSize=new GSize(12, 20);
iRestaurant.infoWindowAnchor=new GPoint(6, 0);
iRestaurant.iconAnchor=new GPoint(6, 20);
iRestaurant.shadowSize=new GSize(22, 20); 

var iUtrudnienie=new GIcon();  
iUtrudnienie.image="http://labs.google.com/ridefinder/images/mm_20_yellow.png";
iUtrudnienie.shadow="http://labs.google.com/ridefinder/images/mm_20_shadow.png";
iUtrudnienie.iconSize=new GSize(12, 20);
iUtrudnienie.infoWindowAnchor=new GPoint(6, 0);
iUtrudnienie.iconAnchor=new GPoint(6, 20);
iUtrudnienie.shadowSize=new GSize(22, 20); 

var iRadary=new GIcon();  
iRadary.image="http://labs.google.com/ridefinder/images/mm_20_brown.png";
iRadary.shadow="http://labs.google.com/ridefinder/images/mm_20_shadow.png";
iRadary.iconSize=new GSize(12, 20);
iRadary.infoWindowAnchor=new GPoint(6, 0);
iRadary.iconAnchor=new GPoint(6, 20);
iRadary.shadowSize=new GSize(22, 20); 

var iNiebezpieczne=new GIcon();  
iNiebezpieczne.image="http://labs.google.com/ridefinder/images/mm_20_red.png";
iNiebezpieczne.shadow="http://labs.google.com/ridefinder/images/mm_20_shadow.png";
iNiebezpieczne.iconSize=new GSize(12, 20);
iNiebezpieczne.infoWindowAnchor=new GPoint(6, 0);
iNiebezpieczne.iconAnchor=new GPoint(6, 20);
iNiebezpieczne.shadowSize=new GSize(22, 20); 

var iKamera=new GIcon();  
iKamera.image="http://labs.google.com/ridefinder/images/mm_20_green.png";
iKamera.shadow="http://labs.google.com/ridefinder/images/mm_20_shadow.png";
iKamera.iconSize=new GSize(12, 20);
iKamera.infoWindowAnchor=new GPoint(6, 0);
iKamera.iconAnchor=new GPoint(6, 20);
iKamera.shadowSize=new GSize(22, 20); 


var marker=new Array();

function adjustMap(point, info, cat, ids) {
	//alert(icon[2]);
	
	for(var i=0; i<point.length; i++) {
		var coord=point[i].split(",");
		var punkt=new GLatLng(coord[0], coord[1]);
		switch(cat[i]) {
			case 'relacja': var ikona=new GIcon(iRelacja); break;
			case 'utrudnienie': var ikona=new GIcon(iUtrudnienie); break;
			case 'zjedzwdrodze': var ikona=new GIcon(iRestaurant); break;
			case 'fotoradar-miejsce_kontroli': var ikona=new GIcon(iRadary); break;
			case 'miejsce_niebezpieczne': var ikona=new GIcon(iNiebezpieczne); break;
			case 'kamera': var ikona=new GIcon(iKamera); break;
						
			default: var ikona=new GIcon(iPointer); break;
		}

		marker[i]=new GMarker(punkt, {icon: ikona});
		marker[i].nr=ids[i];
		marker[i].txt='<div class="info">'+info[i]+'</div>';
		marker[i].kategoria=cat[i];
		
		GEvent.addListener(marker[i], 'click', function() {
			var maxurl="details.php?id="+this.nr;
			
			if(this.kategoria=='gddkia') this.openInfoWindowHtml(this.txt, {maxUrl: maxurl});
				else this.openInfoWindowHtml(this.txt);
		});
		
		GEvent.addListener(marker[i], 'visibilitychanged', function() {
			this.closeInfoWindow();	
		});
		
		mapa.addOverlay(marker[i]);
		
		view.extend(punkt);
	}
	

}

function start(center) {
	if(center!=0) {
		
		var coord=center.split(",");
		//alert("|"+coord[0]+"|"+coord[1]+"|");
		
		
		if(GBrowserIsCompatible()) {
		    mapa=new GMap2(document.getElementById("mapa"));
		    
		    mapa.setCenter(new GLatLng(coord[0], coord[1]), 12);
		    mapa.setMapType(G_NORMAL_MAP);
		    mapa.addControl(new GSmallMapControl());
		    var types=mapa.getMapTypes();    
			types[0].getName= function() { return "Mapa";} 
			types[1].getName = function() { return "Satelita";}     
			types[2].getName = function() { return "Hybryda";}
			mapa.addControl(new GMapTypeControl());
			mapa.enableDoubleClickZoom();
			mapa.enableContinuousZoom();
			
		    if(typeof(category)=='undefined') var ikona=new GIcon(iRelacja); else {
			switch(category) {
				case 'relacja': var ikona=new GIcon(iRelacja); break;
				case 'utrudnienie': var ikona=new GIcon(iUtrudnienie); break;
				case 'restauracja': var ikona=new GIcon(iRestaurant); break;
				case 'fotoradar-miejsce_kontroli': var ikona=new GIcon(iRadary); break;
				case 'miejsce_niebezpieczne': var ikona=new GIcon(iNiebezpieczne); break;
				case 'kamera': var ikona=new GIcon(iKamera); break;
							
				default: var ikona=new GIcon(iPointer); break;
			}

		    }
			
			var themarker=new GMarker(new GLatLng(coord[0], coord[1]), {icon: ikona});
			mapa.addOverlay(themarker);
			mapa.panTo(new GLatLng(coord[0], coord[1]));
			
				
		} else alert("Niestety Twoja przegladarka jest niekompatybilna z naszymi mapami.");
	} else {
		var m=document.getElementById('mapa');
		m.innerHTML="<p style='text-align: center; margin-top: 10px'>Niestety dla tej relacji nie zaznaczono punktu na mapie!</p>";
	}
	
	window.onunload=GUnload;
}

function startMulti() {
	if(GBrowserIsCompatible()) {
	    mapa=new GMap2(document.getElementById("mapa"));
	    
	    mapa.setCenter(new GLatLng(51.7644403180351, 18.08624267578125), 5);
	    mapa.setMapType(G_NORMAL_MAP);
	    var types=mapa.getMapTypes();    
		types[0].getName= function() { return "Mapa";} 
		types[1].getName = function() { return "Satelita";}     
		types[2].getName = function() { return "Hybryda";}
	    mapa.addControl(new GSmallMapControl());
		mapa.addControl(new GMapTypeControl());
		mapa.enableDoubleClickZoom();
		mapa.enableContinuousZoom();
		
		//view=new GLatLngBounds();
		adjustMap(point, info, cat, ids);
		
		var zoom=12;
		if(point.length!=1) zoom=mapa.getBoundsZoomLevel(view);
		var center=view.getCenter();
		mapa.setCenter(center, zoom);
		
		GEvent.addListener(mapa.getInfoWindow(), "maximizeclick", function() {
			//alert(mapa.getInfoWindow());
		});
		
	}
	
	window.onunload=GUnload;
}

function toggleCats(sender) {
	//alert(cat);
	cat=sender.value;
	
	for(var i=0; i<marker.length; i++) {
		if(marker[i].kategoria==cat) {
			//alert(marker[i].txt);
			if(sender.checked) marker[i].show(); else marker[i].hide();
		}
		
	}
}