google.load("maps", "2");
//google.load('search' , '1');
//google.load("elements", "1", {packages : ["localsearch"]});
var pkt = null;

$(document).ready(function() {
	
	//dla zakladki moje miasto
//	if($("#myCity").length)
//		myCity();
	
	 
	if($("#gMap").length)
		gMap();
		
//	$("#dMapa").click(function(){gMap();}); 
	
}); 



function gMap(){
//	 var geo =new google.maps.ClientGeocoder();  

	var adres = $("#miasto").html() + ",<BR> " + $("#ulica").html();

		
		var div = document.getElementById("gMap");
		
		
		var x = 0;
		var y = 0; 
		x = $("#lat").html();
		y = $("#lng").html(); 
		var zoom = 15; 
		
		if(!x && !y)
		{
			var geo =new google.maps.ClientGeocoder();  

			var adres = $("#miasto").html() + ", "+ $("#ulica").html();
			var id = $("#fid").html();
			geo.getLatLng(adres,function(punkt)
			{
				if(punkt){
					//zapisac do bazy
					$.ajax({
						   type: "POST",
						   url: "/Companies/saveCoordinates",
						   data: ({ lat:punkt.y, lng:punkt.x, id:$("#fid").html() }),
						   success: function(){ window.location = "/"+$("#slug").html()+","+$("#fid").html()+".html"; }
					});
					
					pkt = punkt;
				}
				else{
					var adr = $("#kod").html() + " " + $("#miasto").html();
					geo.getLatLng(adr,function(punkt)
					{
						if(punkt){
							//zapisac do bazy
							$.ajax({
								   type: "POST",
								   url: "/Companies/saveCoordinates",
								   data: ({ lat:punkt.y, lng:punkt.x, id:$("#fid").html() }),
								   success: function(){ window.location = "/"+$("#slug").html()+","+$("#fid").html()+".html"; }
							});
		
						}
					});
				}
			});
		
			
		}

		
		var mapa = new google.maps.Map2(div);
			mapa.setCenter(new google.maps.LatLng(x,y),zoom);
			
			var ikona1 = new google.maps.Icon();
			ikona1.infoWindowAnchor=new google.maps.Point(16,16);
			adres = "<strong>" + $("h1").html()+ "</strong>" + "<br />" + adres;
			var punkt = new google.maps.LatLng(x,y); // definiujemy punkt  
			var marker = new google.maps.Marker(punkt,{ title: adres});
			mapa.addOverlay(marker);
			mapa.addControl(new google.maps.OverviewMapControl());
			mapa.addControl(new google.maps.SmallMapControl());
			
			marker.openInfoWindowHtml(adres);  
			mapa.addOverlay(marker);  
			mapa.addControl(new google.maps.SmallMapControl());  
			mapa.addControl(new google.maps.OverviewMapControl());
		
}



function myCity()  
{  
	if(google.maps.BrowserIsCompatible())  // sprawdzamy, czy przeglądarka jest kompatybilna  
	{  
		// tworzymy nowy obiekt mapy, i umieszczamy go w elemencie
		var div = document.getElementById("gMap");
			
		var mapa = new google.maps.Map2(div);
		var x = $("#lat").html();
		var y = $("#lng").html(); 
		var zoom = 12; 
//		alert(google.loader.ClientLocation);
//		if(google.loader.ClientLocation){ 
//			x = google.loader.ClientLocation.latitude;
//			y = google.loader.ClientLocation.longitude;
//			zoom = 12;
//			
//		}
		
		
		mapa.setCenter(new google.maps.LatLng(x,y),zoom);
		
		
		//marker manager
		var manager = new google.maps.MarkerManager(mapa);
		
		
		 createMarkers(mapa, manager);
		
		
		
		var cityName = $("#miasto").html();
		var ikona1 = new google.maps.Icon();  
		ikona1.image = "http://maps.google.com/mapfiles/kml/pal2/icon2.png";  
		ikona1.shadow = "http://maps.google.com/mapfiles/kml/pal2/icon2s.png";  
		ikona1.iconSize = new google.maps.Size(32, 32);  
		ikona1.infoWindowAnchor = new google.maps.Point(16,16);  
		ikona1.iconAnchor = new google.maps.Point(16,36);  
		ikona1.shadowSize = new google.maps.Size(59, 32); 


		var punkt = new google.maps.LatLng(x,y); // definiujemy punkt  
		var marker = new google.maps.Marker(punkt, {title: cityName, icon: ikona1 }); // drugi argument (opcje) można pominąć, tak jak tutaj  
//		mapa.addOverlay(marker);
		manager.addMarker(marker, 1);
		
		
		var control = mapa.addControl(new google.maps.SmallMapControl());
		mapa.addControl(new google.maps.OverviewMapControl());

	
		var z = 14;
		mapa.setCenter(new google.maps.LatLng(x,y),z);
		return false;
	}
} 


function createMarkers(mapa, manager){
	var bounds = mapa.getBounds();

	$.ajax({
		   type: "POST",
		   url: "/Search/CompaniesNear",
		   data: ({swLat:bounds.getSouthWest().lat(), neLat:bounds.getNorthEast().lat(), swLng:bounds.getSouthWest().lng(), neLng:bounds.getNorthEast().lng(), cid:$("#fid").html()}),
		   dataType:"json",
		   success: function(result){
				$.each(result, function(){
				
					  var marker = dodajMarker(this.lat, this.lng, this.name, mapa, manager);
					  manager.addMarker(marker,8);
					
				});
			}
		});
}


  function dodajMarker(lat,lon,txt, mapa, manager)  
  {  
             // tworzymy marker  
             var marker = new google.maps.Marker(new google.maps.LatLng(lat,lon));  
             marker.txt=txt;  
                          
             google.maps.Event.addListener(marker,"click",function() {  
                 marker.openInfoWindowHtml(marker.txt);  
             });  
             return marker;  
  }  
