$(document).ready(function() {
	start_dojazd();
});

var mapa;
var dojazd;
var domain = document.domain;
var server = "localhost";
if(domain=="localhost")
    server = "http://localhost/eurowypoczynek/";
else
    server = "http://" + domain + "/";
var zoom = 6;
var param2 = $(document).getUrlParam(2);
var param1 = $(document).getUrlParam(1);
var trasa;
var lokalizacjaA = 'Warszawa';
var lokalizacjaB = 'Kraków';
var wspolrzedneA = '0,0';
var wspolrzedneB = '0,0';
var xmlLokalizacja;
$(document).ready(function() {
	$("#formularz").click(function() {
		if(document.getElementById('adres1').value) {
			trasa = 'from:' + document.getElementById('adres1').value + ' to: ' + document.getElementById('adres2').value;
			dojazd.load(trasa);
		}
	});
});
function start_dojazd() {
	if(GBrowserIsCompatible()) 
	{
        if(param2 && param1 && param2!='dojazd') {
            GDownloadUrl(server + 'dojazd.php?id=' + param2 + '&cel=' + param1, function(dane,kod)
            {
                if(kod == 200) {
                    mapa = new GMap2(document.getElementById('mapka'),{mapTypes:[G_NORMAL_MAP]});
                    mapa.addControl(new GLargeMapControl());
                    mapa.setCenter(new GLatLng(52,18.75),zoom,G_NORMAL_MAP);
                    var xml = GXml.parse(dane);
                    var xmlZakwaterowanie = xml.documentElement.getElementsByTagName("zakwaterowanie");
                    var xmlObiekt = xml.documentElement.getElementsByTagName("obiekt");
                    var xmlSciezka = xml.documentElement.getElementsByTagName("sciezka");
                    var xmlWspolrzedne = xml.documentElement.getElementsByTagName("wspolrzedne");
                    var countZakwaterowanie = xmlZakwaterowanie.length;
                    var countObiekt = xmlObiekt.length;
                    if(countZakwaterowanie==1 && countObiekt==1)
                    {
                        lokalizacjaA = xmlSciezka.item(0).firstChild.data.toString();
                        wspolrzedneA = xmlWspolrzedne.item(0).firstChild.data.toString();
                        lokalizacjaB = xmlSciezka.item(1).firstChild.data.toString();
                        wspolrzedneB = xmlWspolrzedne.item(1).firstChild.data.toString();
                        wspATab = wspolrzedneA.split(',');
                        wspBTab = wspolrzedneB.split(',');                        
                    }
                    dojazd = new GDirections(mapa, document.getElementById("wskazowki"));
                    trasa = 'from: ' + lokalizacjaA + ' to: ' +  lokalizacjaB;
                    $("#adres1").attr("value",lokalizacjaA);
                    $("#adres2").attr("value",lokalizacjaB);
                    var punkty = new Array(2);
                    punkty[0] = new GLatLng(wspATab[0],wspATab[1]);
                    punkty[1] = new GLatLng(wspBTab[0],wspBTab[1]);
                    dojazd.loadFromWaypoints(punkty);
                    GEvent.addListener(dojazd, "error", function() {
                        var blad = rozpoznaj_blad(dojazd.getStatus().code);
                        alert(blad);
                    });
                }
            });
        }
        else {
            GDownloadUrl(server + 'dojazd.php?id=' + param1, function(dane,kod)
            {
                if(kod == 200) {
                    mapa = new GMap2(document.getElementById('mapka'),{mapTypes:[G_NORMAL_MAP]});
                    mapa.addControl(new GLargeMapControl());
                    mapa.setCenter(new GLatLng(52,18.75),zoom,G_NORMAL_MAP);
                    var xml = GXml.parse(dane);
                    var lokalizacja = xml.documentElement.getElementsByTagName("lokalizacja");
                    xmlLokalizacja = lokalizacja.item(0).firstChild.data.toString();
                    if(xmlLokalizacja != 'Brak danych')
                    {
                        lokalizacjaB = xmlLokalizacja;
                    }
                    dojazd = new GDirections(mapa, document.getElementById("wskazowki"));
                    trasa = 'from: ' + lokalizacjaA + ' to: ' +  lokalizacjaB;
                    $("#adres1").attr("value",lokalizacjaA);
                    $("#adres2").attr("value",lokalizacjaB);
                    dojazd.load(trasa);
                    GEvent.addListener(dojazd, "error", function() {
                        var blad = rozpoznaj_blad(dojazd.getStatus().code);
                        alert(blad);
                    });
                }
            });
        }
	}
}

function rozpoznaj_blad(blad) {
	if(GBrowserIsCompatible()) 
	{
		switch(blad)
		{
			case G_GEO_MISSING_QUERY:
			case G_GEO_MISSING_ADDRESS: var tekst = 'Nie podano adresu!'; break;
			case G_GEO_UNAVAILABLE_ADDRESS:
			case G_GEO_BAD_REQUEST:
			case G_GEO_SERVER_ERROR:
			case G_GEO_UNKNOWN_ADDRESS: var tekst = 'Nie udało się geokodować adresu'; break;
			case G_GEO_TOO_MANY_QUERIES: var tekst = 'Przekroczono limit zapytań do strony Google'; break;
			default: var tekst = 'Nie udało się znaleźć przejazdu pomiędzy podanymi punktami';
		}
		return tekst;
	}
}
