//<![CDATA[ 
var mapa;
var dojazd;
var geo = new GClientGeocoder(); 


//wyznacz trase
function znajdzDojazd() // funkcja znajduje dojazd
{
  // czyścimy markery z mapy   
  mapa.clearOverlays();  
	
	var locale = "pl_PL";
	var kraj2 = document.getElementById('kraj2').value;
	var miasto2 = document.getElementById('miasto2').value;
	var ulica2 = document.getElementById('ulica2').value;
	var dom2 = document.getElementById('dom2').value;
	var kraj3 = document.getElementById('kraj3').value;
	var miasto3 = document.getElementById('miasto3').value;
	var ulica3 = document.getElementById('ulica3').value;
	var dom3 = document.getElementById('dom3').value;
	if(miasto2 == '') miasto2 = "Knurów, śląskie";
	if(miasto3 == '') {
	miasto3 = "Katowice";
	document.getElementById('miasto3').value = 'Katowice';
	}
	var adres2 = kraj2+', '+miasto2+', '+ulica2+' '+dom2;
	var adres3 = kraj3+', '+miasto3+', '+ulica3+' '+dom3;
	
	dojazd.load("from: "+adres2+" to: "+adres3, { "locale": locale });
	
	document.getElementById('mapaLokalizacje').style.display='none';

}				



// szukaj punktu z wieloma lokalizacjami
function geokoduj()
		{
			
			 // czyścimy markery z mapy   
		  mapa.clearOverlays();
			
			var kraj = document.getElementById('kraj').value;
			var miasto = document.getElementById('miasto').value;
			var ulica = document.getElementById('ulica').value;
			var dom = document.getElementById('dom').value;
			
			if(miasto == '') miasto = "Knurów";
			var adres = kraj+', '+miasto+', '+ulica+' '+dom;
					 
					 
			var html='';
			geo.getLocations(adres, function(wyniki)
			{
				// sprawdzamy, czy geokodowanie powiodło się
				if (wyniki.Status.code == G_GEO_SUCCESS)
				{
					// jest więcej niż 1 rezultat
					if(wyniki.Placemark.length>1)
					{
						html+='<strong>Znaleziono kilka pasujących adresów:</strong><ul>';
						// dla każdego z wyników...
						for (var j=0; j<wyniki.Placemark.length; j++)
						{
							var punkt = wyniki.Placemark[j].Point.coordinates;
							
							// dodajemy linki, umożliwiające dodanie markera
							html += '<li><a href="#" onclick="document.getElementById(\'mapaLokalizacje\').style.display=\'none\'; mapa.addOverlay(new GMarker(new GLatLng('+parseFloat(punkt[1])+','+parseFloat(punkt[0])+'))); mapa.setCenter(new GLatLng('+parseFloat(punkt[1])+','+parseFloat(punkt[0])+'),15);  return false;">'+wyniki.Placemark[j].address + '</a> ' + '/ woj. ' + wyniki.Placemark[j].AddressDetails.Country.AdministrativeArea.AdministrativeAreaName + ' / pow. ' + wyniki.Placemark[j].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.SubAdministrativeAreaName;
						}
						html +='</ul>';
						
						// zmieniamy zawartość tagu geoAdresy i wyświetlamy go
						document.getElementById('mapaLokalizacje').innerHTML=html;
						document.getElementById('mapaLokalizacje').style.display='block'; 
					}
					else
					{
						// ukrywamy obiekt z wieloma wynikami wyszukiwania
						document.getElementById('mapaLokalizacje').style.display='none';
						document.getElementById('mapaLokalizacje').innerHTML = '';
		       var punkt = wyniki.Placemark[0].Point.coordinates;
										
		                
						// dodajemy bezpośrednio marker
						var markerPukt = new GMarker(new GLatLng(parseFloat(punkt[1]),parseFloat(punkt[0])))
						mapa.addOverlay(markerPukt);
						mapa.setCenter(new GLatLng(parseFloat(punkt[1]),parseFloat(punkt[0])),15);
						// i otwieramy dymek z adresem   
           markerPukt.openInfoWindowHtml('<STRONG>Poszukiwany adres:</STRONG><BR>'+adres); 
					 
					}
				}
				else
				{
					// ukrywamy pole wyboru wielu wyników
					document.getElementById('mapaLokalizacje').style.display='none';
					document.getElementById('mapaLokalizacje').innerHTML = '';
					alert('Nie znaleziono podanego adresu!');
				}
			});
		}

//ładuj mape
function google_load() { 
if (GBrowserIsCompatible()) { 
         mapa = new GMap2(document.getElementById("mapaGoogle")); 
        // mapa.addControl(new GLargeMapControl()); 
         //var MapTypes = mapa.getMapTypes(); 
         //MapTypes[0].getName= function() { return "Mapa";} 
         //MapTypes[1].getName = function() { return "Satelita";} 
         //MapTypes[2].getName = function() { return "Hybryda";} 
         //mapa.addControl(new GMapTypeControl()); 
         mapa.addControl(new GOverviewMapControl()); 
         //mapa.addControl(new GScaleControl()); 
         mapa.setCenter(new GLatLng(50.226288, 18.671179), 14);
			mapa.setUIToDefault(); 
         //marker = new GMarker(new GLatLng(50.172132, 18.904037));
         //mapa.addOverlay(marker);
		 
		 dojazd = new GDirections(mapa, document.getElementById("mapaWskazowki"));
							
		 // obsługa błędów
		 GEvent.addListener(dojazd, "error", function()
		 {
		 var blad = tekstBledu(dojazd.getStatus().code);
		 alert('Błąd '+dojazd.getStatus().code+': '+blad);
		 });
} 
} 

//pokaż błędy
function tekstBledu(blad)
{
	switch(blad)
	{
		case G_GEO_MISSING_QUERY: var tekst = 'Zbyt mało parametrów. Proszę wypełnić wszystkie pola.\n'; break;
		case G_GEO_MISSING_ADDRESS: var tekst = 'Adres niedostępny.\nProszę uzupełnić wszystkie pola i spróbować jeszcze raz.\n'; break;
		case G_GEO_UNAVAILABLE_ADDRESS: var tekst = 'Trasa dojazdu nie może być wyznaczona ze względów prawnych.\n Adres został zablokowany.\n'; break;
		case G_GEO_BAD_REQUEST: var tekst = 'Żądanie wyznaczenia trasy nie mogło zostać przetworzone.\nProszę uzupełnić wszystkie pola i spróbować jeszcze raz.\n'; break;
		case G_GEO_SERVER_ERROR: var tekst = 'Błąd serwera. Proszę spróbować póĽniej.\n'; break;
		case G_GEO_UNKNOWN_ADDRESS: var tekst = 'Nie znaleziono podanego adresu.\nMożliwe przyczyny:\n- błąd w pisowni szukanego miejsca\n- niepełna nazwa miejscowości\n- istnieje kilka miejscowości o tej samej nazwie (obok nazwy miejscowości należy podać województwo lub miasto w pobliżu)\n- podana nazwa dotyczny niewielkiej miejscowoście niedostępnej z poziomu wyszukiwarki (proszę spróbować wpisać nazwę większej miejscowości znajdującej się w pobliżu)\n'; break;
		case G_GEO_TOO_MANY_QUERIES: var tekst = 'Przekroczono limit zapytań do strony Google.\nProszę spróbować póĽniej.\n'; break;
		case G_GEO_BAD_KEY: var tekst = 'Błąd ładowania mapy. Proszę spróbować póĽniej.\n'; break;
		case G_GEO_UNKNOWN_DIRECTIONS: var tekst = 'Nie udało się wyznaczyć trasy.\n Proszę zmienić dane i spróbować jeszcze raz.\n'; break;
		default: var tekst = 'Nie udało się znaleĽć przejazdu pomiędzy podanymi punktami.\n';
	}
	return tekst;
}


//dodaj do ulubionych
function DodajDoUlubionych(obj) {
	title = document.title;
	url = document.location;
	if (window.sidebar) {
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) {
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) {
		obj.rel = 'sidebar';
		return true;
	}
	return false;
}
//ustaw jako startową
function StronaStartowa(obj) {
	if(navigator.userAgent.indexOf('MSIE') > -1) {
		obj.style.behavior='url(#default#homepage)';
		obj.setHomePage(document.location);
	}
	else if(window.opera && window.print) {
		alert('Twoja przeglądarka nie pozwala na zmianę strony domowej. By zrobić to ręcznie, kliknij w menu przeglądarki "Narzędzia" > "Ustawienia" > "Użyj bieżącej"');
	}
	else {
		alert('Twoja przeglądarka nie pozwala na zmianę strony domowej. By zrobić to ręcznie, przeciągnij link "Ustaw jako stronę domową" na przycisk "Strona domowa" w pasku nawigacji przeglądarki.');
	}
}

//]]> 