﻿var map;
var mmgr;
var markery=[];
var geo = new GClientGeocoder();

// deklarujemy ikonkę bazową
var domyslna_ikona = new GIcon();
domyslna_ikona.image = '/binary/icon.png';
domyslna_ikona.iconSize = new GSize(12,20);
domyslna_ikona.shadow = '/binary/icon_s.png';
domyslna_ikona.shadowSize = new GSize(22,20);
domyslna_ikona.iconAnchor = new GPoint(6,20);
domyslna_ikona.infoWindowAnchor = new GPoint(6,10);

function load() {
    if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"), {mapTypes: [G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP]});
		if(getURLParam('punkt_x')!='' && getURLParam('punkt_y')!='' && getURLParam('zoom')!='') {
            // ustawienie środka mapy na wskazanym punkcie
		    map.setCenter(new GLatLng(parseFloat(getURLParam('punkt_x')), parseFloat(getURLParam('punkt_y'))), parseFloat(getURLParam('zoom')));
		}
		else {
		    map.setCenter(new GLatLng(53.122, 17.999), 11);   
		}
		mmgr = new MarkerManager(map,{maxZoom:17});
		// dodanie podstawowych przycisków  
		map.addControl(new GLargeMapControl());
        // dodanie wyboru trybu mapy  
        var mt = map.getMapTypes();      
        mt[0].getName= function() {return "Mapa";}  
        mt[1].getName = function() {return "Satelita";} 
        mt[2].getName = function() {return "Hybryda";}
        map.addControl(new GMapTypeControl()); 
        // ograniczenie wielkości zoomu
        for (var i=0; i<mt.length; i++) {
            mt[i].getMinimumResolution = function() {return 11;}
            mt[i].getMaximumResolution = function() {return 17;}
        } 
        // dodanie minimapy  
        map.addControl(new GOverviewMapControl());   
        // dodanie skali  
        map.addControl(new GScaleControl());  
        // dodanie płynnego zoomu przy doubleclick
        map.enableDoubleClickZoom();
        map.enableContinuousZoom();
		// kursor myszy opuszcza element mapy - ukrycie kontrolek
		GEvent.addListener(map,'mouseout',function() {
            map.hideControls();
		});
		GEvent.addListener(map,'move',function() {
		    closeLink();
		});	
		// kursor myszy wchodzi na element mapy - pokazanie kontrolek
		GEvent.addListener(map,'mouseover',function() {
            map.showControls();
        });		
        // na początku ukrywamy kontrolki
        GEvent.trigger(map,'mouseout');
        //scroll myszy przybliża i oddala mapę
        map.enableScrollWheelZoom();




        //wczytanie wszystkich markerów
        loadMarkers('all','all');



    }
    else {
        alert("Sorry, the Google Maps API is not compatible with this browser");
    }
}

function loadMarkers(uslugi, dostawcy) {
    var strUrl='';
    if(uslugi!='' || dostawcy!='') {
        strUrl = '?uslugi='+uslugi+'&dostawcy='+dostawcy;
    }
    GDownloadUrl('/mapa/load_data.aspx'+strUrl, function(dane,kodOdpowiedzi) {
	    if(kodOdpowiedzi==200) {
	        markery=[];
			var xml = GXml.parse(dane);
			var markers = xml.documentElement.getElementsByTagName("marker");
			for(var i=0; i<markers.length; i++) {
				var lat = markers[i].getAttribute("lat");
				var lon	= markers[i].getAttribute("lon");
				var id = markers[i].getAttribute("id");
				var tooltip = markers[i].getAttribute("tooltip");
 				var marker = addMarker(lat,lon,id,tooltip);
				markery.push(marker);
			}
			//alert('Wczytano '+markery.length+' markerów!');
			for(var i=0; i<markery.length; i++) {
			    var min_zoom = 11;
			    //var min_zoom = 17;
			    //if (i%2==0) min_zoom=16;
			    //if (i%4==0) min_zoom=15;
			    //if (i%8==0) min_zoom=14;
			    //if (i%16==0) min_zoom=13;
			    //if (i%32==0) min_zoom=12;
			    //if (i%64==0) min_zoom=11;
                mmgr.addMarker(markery[i],min_zoom,17);
            }
            mmgr.refresh(); 
	




if(getURLParam('search')!='') {
	var url_str = Url.decode(escape(getURLParam('search')));
	document.getElementById('search').value = url_str;
	geokoduj(url_str);
}







	}
		else if(kodOdpowiedzi == -1) {
            alert("Data request timed out. Please try later.");
        } else { 
            alert("Request resulted in error. Check XML file is retrievable.");
        }
	});  
}

function geokoduj(search) {
    if(search != "") {
        var html='';
        geo.getLocations("Bydgoszcz, " + search, function(wyniki) {
        
            // sprawdzamy, czy geokodowanie powiodło się
            if (wyniki.Status.code == G_GEO_SUCCESS) {
                var punkt;
            
                // jest więcej niż 1 rezultat
                if(wyniki.Placemark.length>1) {
                    html+='<b>Znalazłem kilka pasujących adresów:</b>';
                    
                    // dla każdego z wyników...
                    for (var j=0; j<wyniki.Placemark.length; j++) {
                        punkt = wyniki.Placemark[j].Point.coordinates;                       
                        html += '<a href="#" onclick="document.getElementById(\'geoAdresy\').style.display=\'none\'; map.setCenter(new GLatLng('+parseFloat(punkt[1])+','+parseFloat(punkt[0])+'),17); document.getElementById(\'search\').value=\''+wyniki.Placemark[j].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.Thoroughfare.ThoroughfareName+'\'; return false;">'+wyniki.Placemark[j].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.Thoroughfare.ThoroughfareName+'</a>';
                    }
                    
                    // zmieniamy zawartość tagu geoAdresy i wyświetlamy go
                    document.getElementById('geoAdresy').innerHTML=html;
                    document.getElementById('geoAdresy').style.display='block'; 
                }
			    else {
    			
                    // ukrywamy obiekt z wieloma wynikami wyszukiwania
                    document.getElementById('geoAdresy').style.display='none';
                    document.getElementById('geoAdresy').innerHTML = '';
                    punkt = wyniki.Placemark[0].Point.coordinates;
                    map.setCenter(new GLatLng(parseFloat(punkt[1]),parseFloat(punkt[0])),17);
                    document.getElementById('search').value=wyniki.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.Thoroughfare.ThoroughfareName;
                }
            }
            else {
            
                // ukrywamy pole wyboru wielu wyników
			    document.getElementById('geoAdresy').style.display='none';
			    document.getElementById('geoAdresy').innerHTML = '';
			    alert('Nie znalazłem podanego adresu!');
		    }
	    });
	}
    else
        alert('Wpisz poszukiwany adres!');
}

function addMarker(lat,lon,id,tooltip) {  
    var punkt = new GLatLng(parseFloat(lat),parseFloat(lon));  
    //var marker = new GMarker(punkt, {icon: domyslna_ikona}); 
    var ikona = new GIcon(domyslna_ikona);  
    var tooltip = tooltip;
    var marker = new GMarker(punkt,{icon: ikona, title: tooltip});
    marker.id = id;
    GEvent.addListener(marker,'click',function() {
    
    var dostawcy = "";
    var uslugi = "";
    
    theForm = document.getElementById('form_uslugi');
    for (i=0; i < theForm.elements.length; i++) {
        ele = theForm.elements[i];
       	if(ele.checked)
       	    uslugi += ele.value
       	    //if(i < theForm.elements.length-1)
       	        uslugi += "$";
    }
    
    theForm = document.getElementById('form_dostawcy');
    for (i=0; i < theForm.elements.length; i++) {
        ele = theForm.elements[i];
       	if(ele.checked)
       	    dostawcy += ele.value
       	    //if(i < theForm.elements.length-1)
       	        dostawcy += "$";
            //ukryjPokazKategorie(ele.value,false);
    } 
 
   
    var opis=[];
    
    GDownloadUrl('/mapa/load_content.aspx?id='+id+'&uslugi='+uslugi+'&dostawcy='+dostawcy, function(dane,kodOdpowiedzi) {

		//alert('/mapa/load_content.aspx?id='+id+'&uslugi='+uslugi+'&dostawcy='+dostawcy);

	    if(kodOdpowiedzi==200) {
	        markery=[];
          var xml = GXml.parse(dane);
          var markers = xml.documentElement.getElementsByTagName("marker");
          for(var i=0; i<markers.length; i++) {
                root = markers[i].getElementsByTagName("tab");
                for(j=0;j<root.length;j++){
                    tab_name = root[j].getAttribute("name");
                    tab_content = GXml.value(root[j]);
                    opis.push(new Array(tab_name,tab_content));
                }
          }
			
            var strOcen1, strOcen2;
            strOcen1 = '<h1>Twój komentarz</h1>';
            strOcen1 +='<b>Podziel się informacją o swoim dostawcy usług telekomunikacyjnych z innymi użytkownikami.</b><br /><br />';
            strOcen1 +='Możesz wykorzystać maksymalnie 200 znaków.<br /><br />';
            strOcen1 +='<form action="#" name="myform" id="myform">';
            strOcen1 +='<input type="hidden" id="id_lokalizacji" value="';
            strOcen2 = '"><textarea id="text" maxlength="200" onkeyup="return isMaxLength(this);"></textarea>';
            strOcen2 +='<br /><input id="send" type="button" value="Dodaj" onclick="submitData(document.getElementById(\'myform\')); return false;" />';
            strOcen2 +='</form>';
            
            opis.push(new Array("Oceń",strOcen1+id+strOcen2));
            
            marker.opis = opis;

            //lastmarker=marker;
            marker.showInfo();
            
                       
            //ustawienie miniatury mapy w tybie hybryda
            var minimap = new GMap2(document.getElementById('minimap'), {mapTypes: [G_HYBRID_MAP]});
            
            //minimapa w trybie statycznym
            minimap.disableDoubleClickZoom();  
            minimap.disableDragging();
            
            minimap.setCenter(punkt, 17);
     		
            //usunięcie praw autorskich z minimapy
            document.getElementById('minimap').firstChild.nextSibling.style.display = 'none';  
            document.getElementById('minimap').firstChild.nextSibling.nextSibling.style.display = 'none';
            
            var minimarker = new GMarker(punkt,{icon: domyslna_ikona});
            minimap.addOverlay(minimarker);  
            

            //document.getElementsByTagName("infowindow").style.bgcolor='#cc0000';
            
            //marker.openInfoWindowHtml(infoWindow(tytul,opis,kategoria1,kategoria2));  
            
			
			//alert(document.getElementById('minimap'));
		}
		else if(kodOdpowiedzi == -1) {
            alert("Data request timed out. Please try later.");
        } else { 
            alert("Request resulted in error. Check XML file is retrievable.");
        }
        
        
	}); 

	    });
	    

    return marker;
}

GMarker.prototype.showInfo = function() {
  var opis = this.opis;
	var zakladki=[];
	
	for(var i=0; i<opis.length; i++) {
	    var nazwa = opis[i][0];
		var zawartosc = opis[i][1];
        zawartosc = '<div class="info_window" style="width:'+(opis.length*90)+'px">'+zawartosc+'</div>';
        zakladki.push(new GInfoWindowTab(nazwa,zawartosc));
    }
	this.openInfoWindowTabsHtml(zakladki);
}
		  
// ta funkcja jest wywoływana przy kliknięciu na pole checkbox
function repaint() {
    var dostawcy = "";
    var uslugi = "";
    
    theForm = document.getElementById('form_uslugi');
    for (i=0; i < theForm.elements.length; i++) {
        ele = theForm.elements[i];
       	if(ele.checked)
       	    uslugi += ele.value
       	    //if(i < theForm.elements.length-1)
       	        uslugi += "$";
    }
    
    theForm = document.getElementById('form_dostawcy');
    for (i=0; i < theForm.elements.length; i++) {
        ele = theForm.elements[i];
       	if(ele.checked)
       	    dostawcy += ele.value
       	    //if(i < theForm.elements.length-1)
       	        dostawcy += "$";
            //ukryjPokazKategorie(ele.value,false);
    } 

	mmgr.clearMarkers();
	loadMarkers(uslugi, dostawcy);
}

//ograniczenie możliwości wpisanią użytkownikowi więcej znaków niż parametr maxlength
function isMaxLength(obj){
    var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
    if(obj.getAttribute && obj.value.length>mlength) {
        obj.value=obj.value.substring(0,mlength);
        alert('Komentarz nie może być dłuższy niż '+mlength+' znaków!');
    }
}

//funkcja sprawdzająca czy wciśnięty klawisz należy do alfanumerycznych
function isAlphanumeric(evt){

	var key;

	//var key = (window.event)?event.keyCode:evt.which;

key = (window.event) ? event.keyCode : (evt.which) ? evt.which : evt.charCode;


	//if(evt.keyCode) {
	//	keyCode = evt.keyCode;
	//}
	//else if(evt.which) {
	//	keyCode = evt.which;
	//}

//if (window.event) keycode = window.event.keyCode;
//else if (e) keycode = e.which;
//alert("keycode: " + key);


    var keychar = String.fromCharCode(key);
    keychar = keychar.toLowerCase();
	if((("abcdefghijklmnopqrstuvwxyzęóąśłżźćń0123456789,.!()-?").indexOf(keychar) > -1) || key==8 || key==9 || key==13 || key==16 || key==17 || key==18 || key==20 || key==32 || key==37|| key==38 || key==39|| key==40 || key==45 || key==46 || key==116){
	    return true;
	}
	else{
	    alert('Zabroniony znak!');
		return false;
	}
}

//funkcja sprawdzająca czy wciśnięty klawisz należy do numerycznych
function isNumeric(evt){

	var key;

	//var key = (window.event)?event.keyCode:evt.which;

key = (window.event) ? event.keyCode : (evt.which) ? evt.which : evt.charCode;


    var keychar = String.fromCharCode(key);
    keychar = keychar.toLowerCase();
	if((("0123456789").indexOf(keychar) > -1) || key==8 || key==9 || key==13 || key==16 || key==17 || key==18 || key==20 || key==32 || key==37|| key==38 || key==39|| key==40 || key==45 || key==46 || key==116){
	    return true;
	}
	else{
	    alert('Zabroniony znak!');
		return false;
	}
}

var http_request = false;
function makePOSTRequest(url, parameters) {
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            // set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
     } 
     else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    if (!http_request) {
        alert('Cannot create XMLHTTP instance');
        return false;
    }
      
    http_request.onreadystatechange = alertContents;
    http_request.open("POST", url, true);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", parameters.length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send(parameters);
}

function alertContents() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            //repaint();
            alert("Komentarz został zapisany!");
            load();
            //repaint();
            //repaint();
            //alert(http_request.responseText);
            //result = http_request.responseText;
            //document.getElementById('myspan').innerHTML = result;            
        } 
        else {
            alert('Wystąpił problem z wykonaniem żądania!');
        }
    }
}
   
function submitData(obj) {
    var poststr;
    var t;
    t = document.getElementById("text").value;
    if(t.match(/^[a-zA-Z0-9ęóąśłżźćńĘÓĄŚŁŻŹŃ\.\,\-\+\:\;\!\?\@\#\$\(\)\ ]*$/) && t.length>0){
    
    poststr = "text=" + encodeURI(t);
    poststr += "&id_lokalizacji=" + escape(encodeURI(document.getElementById("id_lokalizacji").value));
    poststr += "&v=" + encodeURI(Left(t, 10));
    
    makePOSTRequest('/mapa/add_comment.aspx', poststr);
    }
    else if(t.length>0){
    alert('Komentarz zawiera znaki zabronione!');
    }
    else {
    alert('Uzupełnij poprawnie pole!');
    }
    //GEvent.trigger(lastmarker,"click");
    //lastmarker.closeInfoWindow();
    //GEvent.trigger(lastmarker,"click"); 
    //repaint();
    //alert('Komentarz został dodany!'); 
}
  
  function showLink(type){
  var punkt = map.getCenter().toString();
  var zoom = map.getZoom();
  var okno = document.getElementById('hint_window');
  
  var wpis = document.getElementById('hint_window_input');
  var nick = document.getElementById('nick');
  var email = document.getElementById('email');
  var send = document.getElementById('send');
  
  if(type=='link'){
    wpis.style.display='block';
    nick.style.display='none';
    email.style.display='none';
    send.style.display='none';
    }else{
    wpis.style.display='block';
    nick.style.display='block';
    email.style.display='block';  
    send.style.display='block';
  }
  
  okno.style.display='block';
  
  punkt = punkt.replace("(","");
  punkt = punkt.replace(")","");
  
  var tab = punkt.split(", ");
  var punkt_x, punkt_y;
  punkt_x = tab[0];
  punkt_y = tab[1];
  
  var strLink;
  strLink = "http://www.lokalizator.bydgoszcz.pl/mapa/index.aspx?punkt_x=" + punkt_x + '&punkt_y=' + punkt_y + "&zoom=" + zoom;
  //strLink = punkt;
  wpis.value=strLink;
  wpis.focus();
  wpis.select();  
  }

  function closeLink(){
    var okno = document.getElementById('hint_window');
    okno.style.display='none';
  }
  
function checkSendForm(form_id) {
   
  var form = document.getElementById(form_id);
  if (form.nick.value == "wpisz swój nick"){
    alert( "Wpisz swój nick!" );
    form.nick.focus();
    return false;
  }else if(form.email.value == "wpisz adres e-mail adresata"){
    alert( "Wpisz adres e-mail adresata!" );
    form.email.focus();
    return false ;
    }else if(!validate_email(form.email)){
        alert('Niepoprawny adres e-mail!');
        form.email.focus();
        return false ;
    }    
  sendEmail(form);
  //alert('Wiadomość została wysłana!');
  return true ;
}

function validate_email(field)
{
with (field)
{
apos=value.indexOf("@");
dotpos=value.lastIndexOf(".");
if (apos<1||dotpos-apos<2) 
  {return false;}
else {return true;}
}
}

function sendEmail(form) {
    var poststr;
    poststr = "email_to=" + encodeURI(document.getElementById("email").value);
    poststr += "&nick=" + escape(encodeURI(document.getElementById("nick").value));
    poststr += "&link=" + escape(encodeURI(document.getElementById("hint_window_input").value));
    makePOSTRequestEMAIL('/mapa/send_email.aspx', poststr);
}


function makePOSTRequestEMAIL(url, parameters) {
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            // set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
     } 
     else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    if (!http_request) {
        alert('Cannot create XMLHTTP instance');
        return false;
    }
      
    http_request.onreadystatechange = alertContentsEMAIL;
    http_request.open("POST", url, true);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", parameters.length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send(parameters);
}

function alertContentsEMAIL() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            //repaint();
            alert("Wiadomość została wysłana!");


    var okno = document.getElementById('hint_window');
    okno.style.display='none';

            //repaint();
            //repaint();
            //alert(http_request.responseText);
            //result = http_request.responseText;
            //document.getElementById('myspan').innerHTML = result;            
        } 
        else {
            alert('Wystąpił problem z wykonaniem żądania!');
        }
    }
}



function getURLParam(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if (strHref.indexOf("?") > -1){
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if ( 
aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return unescape(strReturn);
}






















/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Justas | http://www.webtoolkit.info/ */
var Url = {

 	// public method for URL encoding
 	encode : function (string) {
 		 return escape(this._utf8_encode(string));
 	},

 	// public method for URL decoding
	 decode : function (string) {
 	 	return this._utf8_decode(unescape(string));
 	},

 	// private method for UTF-8 encoding
 	_utf8_encode : function (string) {
  		string = string.replace(/\r\n/g,"\n");
 	 	var utftext = "";

  		for (var n = 0; n < string.length; n++) {
   			var c = string.charCodeAt(n);
   			if (c < 128) {
    				utftext += String.fromCharCode(c);
 			} else if((c > 127) && (c < 2048)) {
  				utftext += String.fromCharCode((c >> 6) | 192);
  				utftext += String.fromCharCode((c & 63) | 128);
 			} else {
  				utftext += String.fromCharCode((c >> 12) | 224);
  				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
 	 			utftext += String.fromCharCode((c & 63) | 128);
 			}
 	}

		return utftext;
	},

 	// private method for UTF-8 decoding
 	_utf8_decode : function (utftext) {
 		 var string = "";
 		 var i = 0;
 		 var c = c1 = c2 = 0;

  		while ( i < utftext.length ) {
  			 c = utftext.charCodeAt(i);
   			if (c < 128) {
    				string += String.fromCharCode(c);
    				i++;
  			 } else if((c > 191) && (c < 224)) {
 				   c2 = utftext.charCodeAt(i+1);
    				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
    				i += 2;
  			 } else {
 				   c2 = utftext.charCodeAt(i+1);
    				c3 = utftext.charCodeAt(i+2);
    				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
   				 i += 3;
 			  }
		  }
		return string;
	 }
}





function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}









function geokoduj_comm(form_id) {
    var nazwa_ulicy = document.getElementById("nazwa_ulicy").value;
    var numer_domu = document.getElementById("numer_domu").value;
    var komentarz = document.getElementById("text_comm").value;

var search = nazwa_ulicy + ", " + numer_domu;

    if(nazwa_ulicy != "" && numer_domu != "" && komentarz != "" & nazwa_ulicy != "ulica" && numer_domu != "numer" && komentarz != "komentarz") {
        var html='';
        geo.getLocations("Bydgoszcz, " + search, function(wyniki) {
        
            // sprawdzamy, czy geokodowanie powiodło się
            if (wyniki.Status.code == G_GEO_SUCCESS) {
                var punkt;
            
                // jest więcej niż 1 rezultat
                if(wyniki.Placemark.length>1) {
                }
			    else {

                    punkt = wyniki.Placemark[0].Point.coordinates;
                    //map.setCenter(new GLatLng(parseFloat(punkt[1]),parseFloat(punkt[0])),17);

		var gps_x = parseFloat(punkt[1]);
		var gps_y = parseFloat(punkt[0]);

		document.getElementById('gps_x').value = gps_x;
		document.getElementById('gps_y').value = gps_y;
		

                    //document.getElementById('nazwa_ulicy').value=wyniki.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.Thoroughfare.ThoroughfareName;

		document.getElementById(form_id).submit();
		return true;
                }
            }
            else {

			    alert('Nie znalazłem podanego adresu!');
			return false;
		    }
	    });
	}
    else {
        alert('Uzupełnij poprawnie pola!');
	return false;
	}
}
