﻿//powołujemy obiekt MapGO Api
var mapobject=createMapgoObject();

//wywołanie kliknięcia po naciśnięciu klawisza Enter
function onEnter(evt,id) {
	var keyCode = null;

	if( evt.which ) {
		keyCode = evt.which;
	} else if( evt.keyCode ) {
		keyCode = evt.keyCode;
	}
	if( 13 == keyCode ) {
		document.getElementById(id).onclick();
		return false;
	}
	return true;
}

//szerokość okna mapy
 var map_w = 500;
 
//wysokość okna mapy 
var map_h = 500;

//inicjujemy mapę 
mapobject.initMap(21.00864,52.23232,14,map_w,map_h,0,0); //Warszawa
//pokazujemy toolbar do obsługi skali i przesuwania mapy
mapobject.showToolbar();

var mapToolbarDIV = document.getElementById('_mapgo_toolbar');
//podświetlanie ikon w toolbarze
var last_sel_icon=0;
        function highIcon(obj,name){
            if (obj.src.indexOf("_on")<0){
                    if (last_sel_icon!=obj && last_sel_icon!=0){
                       last_sel_icon.src=last_sel_icon.src.substr(0,last_sel_icon.src.indexOf('_on'))+".png";
                    }

                    obj.src='img/'+name+"_on.png";
					                }
            last_sel_icon=obj;
        }

//dołączamy dodatkowe ikony do toolbara
mapToolbarDIV.innerHTML += '<div id="controls"><img id="hand_img" src="img/maptool_hand.png" onclick="highIcon(this,\'maptool_hand\');mapobject.setCursorMode(\'hand\');" title="Przesuwaj mapę i obiekty łapką"/><img src="img/maptool_plus.png" onclick="highIcon(this,\'maptool_plus\');mapobject.setCursorMode(\'rubber\');" title="Zaznacz prostokąt i powiększ"/><img name="showall_img" src="img/maptool_pl.png" onclick="showall_img.src=\'img/maptool_pl_on.png\';mapobject.centerMap(19.250000,52.000000,18);" onmouseout="showall_img.src=\'img/maptool_pl.png\';" title="Pokaż całą Polskę"/></div>';

mapToolbarDIV.innerHTML += '<div id="poiswitches"><img src="img/placowki_off.png" id="bankswitch" title="Pokaż placówki" alt="Pokaż wszystkie banki"/><img src="img/bankomaty_off.png" id="atmswitch" title="Pokaż bankomaty" alt="Pokaż wszystkie bankomaty"/></div>'

//podświetlamy pierwsze narzędzie
highIcon(document.getElementById("hand_img"),"maptool_hand");


//pozucjonuj mapę na ikonach
var posmap=false;

//tu przechowujemy współrzędne z geoListenera do późniejszego użycia
var loclon = "";
var loclat = "";

//rodzaj wyszukiwania POI
var poisearch_state = "";

//lista boczna
var sidelist = "";

//tablica ID,X,Y
var coordsArr = [];

//do routera - end coords
var end_x='';
var end_y='';

//counter do zmiany callback'a
var callbackCounter = 0;

//wielkośc tablicy z odpowiedzią
var poiRespArrLength = 0;


//obsługa tooltipów POIów
mapobject.setPoiInfoCallback(poi_info_callback);

//pobierz informacje to tooltipa
function poi_info_callback(json_ans){
	var tooltip = document.getElementById("mapgo_tip_txt");
	var poicat = json_ans.nk; //kategoria poi
	var poidescr = json_ans.n1; //krótka nazwa
	var poiadr = json_ans.a; //adres (miejscowość)
	var poiloc = json_ans.kp; //kod pocztowy i miasto
	var poiid = json_ans.id;
	var poitel = json_ans.t;
	var poiinfo = json_ans.i;
	var poiwww = json_ans.www;
	var poix = "";
	var poiy = "";
	
	for (i=0;i<coordsArr.length;i++){
		if (poiid == coordsArr[i][0]){
			poix = coordsArr[i][1];
			poiy = coordsArr[i][2];
			
		}
	}

	//"<br>www: "+poiwww+"<br>dodatkowe informacje: "+poiinfo+
	
	if (bankswitch_state == 1 || nearbank_state == 1) {
		var image = '<img src="img/placowka_banku.jpg"/>';
		var descr = "<div id='tipdescr'><b>"+poicat+"</b><br><span class=\"poidescr\">"+poidescr+"</span><br><span class=\"poiadr\">"+poiadr+"</span><br />tel.: "+poitel+"<br>www: <a href='http://"+poiwww+"' target='_blank'>"+poiwww+"</a><br>dodatkowe informacje: "+poiinfo+"</div>";
	} else if (atmswitch_state == 1 || nearatm_state == 1) {
		var image = '<img src="img/bankomat.jpg"/>';
		var descr = "<div id='tipdescr'><b>"+poicat+"</b><br><span class=\"poidescr\">"+poidescr+"</span><br><span class=\"poiadr\">"+poiadr+"</span></div>";		
	}

	var tipsearchfield = "<div id='tipsearchfield'>Jak do nas dojechać:<br /> <input id='adres_tip' type='text' style='width: 220px;' onkeypress='onEnter(event,\"ok\")'><img src='img/go.png' id='ok' onclick='search_route(document.getElementById(\"adres_tip\").value);end_x="+poix+";end_y="+poiy+";' title='Szukaj' alt='Szukaj'/><br/>Wpisz adres: Miasto, Ulica Nr</div>"
	
	tooltip.innerHTML=image+descr+tipsearchfield;

	}


//pobierz informacje do listy z bankami/bankomatami
function poi_list_callback(json_ans){ 

		callbackCounter++
		
		var nearestlist = document.getElementById("nearestlist");
		var poicat = json_ans.nk; //kategoria poi
		var poidescr = json_ans.n1; //krótka nazwa
		var poiadr = json_ans.a; //adres (miejscowość)
		var poiloc = json_ans.kp; //kod pocztowy i miasto
		var poitel = json_ans.t; //telefon
		var poiid = json_ans.id;
		

		var descr = "<div onclick='zoomToItem("+poiid+");' onmouseover=\"this.className='divhoveron'\" onmouseout=\"this.className='divhoveroff'\"><span class=\"poidescr\">"+poidescr+"</span><br><span class=\"poiadr\">"+poiadr+"</span><br /><b>tel.: </b>"+poitel+"</div>";
		
		nearestlist.innerHTML += descr;
		//alert(callbackCounter+" "+poiRespArrLength);
	
	if (callbackCounter == poiRespArrLength) {
		mapobject.setPoiInfoCallback(poi_info_callback); 
	}
	
}


//pobierz bankomaty
function fetchATMs(type,loclon,loclat){
    var lonlat1=mapobject.convertScreenToGeo(0,0);
    var lonlat2=mapobject.convertScreenToGeo(map_w,map_h);
    var pq=new MapgoPoiQuery();
    pq.type=type;
	pq.cnt=5;
	if (loclon != "" && type==0) {
		pq.lon = loclon;
		pq.lat = loclat;
		poisearch_state = 0;
		posmap = true;
	} else {
	    pq.minx=lonlat1.lon;
	    pq.miny=lonlat2.lat;
	    pq.maxx=lonlat2.lon;
	    pq.maxy=lonlat1.lat;
		poisearch_state = 1;
		posmap = false;
	}
    pq.idcat="";
    pq.idsubcat="3510";	
	pq.idsubcatbrand="";
    pq.query="POI_QUERY";
	//alert(pq.minx+' '+pq.miny+' '+pq.maxx+' '+pq.maxy);
    mapobject.queryPoi(pq,afterPoiFind);
	
}


//po pobraniu bankomatów dodaj je do mapy
function afterPoiFind(resp_obj){
	  
    if (resp_obj.state==0) {
		callbackCounter = 0;
		coordsArr=[];
		poiRespArrLength = resp_obj.recss.length;
		for (i=0;i<resp_obj.recss.length;i++){
			var coordsItem = [];
			coordsItem.push(resp_obj.recss[i].id);
			coordsItem.push(resp_obj.recss[i].x);
			coordsItem.push(resp_obj.recss[i].y);
			coordsArr.push(coordsItem);
		}
		addPoisToMap(resp_obj); 
		
		if (loclon != "" && poisearch_state == 0) {
			mapobject.setPoiInfoCallback(poi_list_callback); 
			for (i=0;i<resp_obj.recss.length;i++){
					mapobject.queryPoiInfo(resp_obj.recss[i].id)
			}
		}
        
		
	}
	
	hideLoading();
}


//a dodaj je w ten sposób
function addPoisToMap(poilist){
	mapobject.removeLayerByName('atms');

    var object_list=new Array();
    var basepoidir="http://www.mapgo.pl/mapgoapi/poiicons/";	
    var icon1=0;    
    for (var i=0;i<poilist.recss.length;i++){
	
	    icon1=new MapgoIcon();
	    icon1.descr='[]';
	    icon1.id=poilist.recss[i].id;
	    icon1.image=basepoidir+poilist.recss[i].iconid+".png";  
	    //icon1.image="img/bankomat.png";  
		icon1.width=18;
	    icon1.height=18;
	    icon1.tip_width=430;
	    icon1.tip_height=200;
	    icon1.show_tip_state=1;
	    icon1.icon_offx=-1*(icon1.width/2);
	    icon1.icon_offy=-1*(icon1.height/2);
	    icon1.lon=poilist.recss[i].x;
	    icon1.lat=poilist.recss[i].y;
	    object_list.push(icon1);                
    }
	
    mapobject.addIconsToMap(object_list,"atms",posmap,3,20,false,true);
	
}

//pobierz banki
function fetchBanks(type,loclon,loclat){
    var lonlat1=mapobject.convertScreenToGeo(0,0);
    var lonlat2=mapobject.convertScreenToGeo(map_w,map_h);
    var pq=new MapgoPoiQuery();
    pq.type=type;
	pq.cnt=5
    if (loclon != "" && type==0) {
		pq.lon = loclon;
		pq.lat = loclat;
		poisearch_state = 0;
		posmap = true;
	} else {
	    pq.minx=lonlat1.lon;
	    pq.miny=lonlat2.lat;
	    pq.maxx=lonlat2.lon;
	    pq.maxy=lonlat1.lat;
		poisearch_state = 1;
		posmap = false;
	}
    pq.idcat="";
    pq.idsubcat="3515";	
	pq.idsubcatbrand="";
    pq.query="POI_QUERY";
	//alert(pq.minx+' '+pq.miny+' '+pq.maxx+' '+pq.maxy);
    mapobject.queryPoi(pq,afterPoiFind2);
	
}


//dodaj banki do mapy
function afterPoiFind2(resp_obj){    
  
    if (resp_obj.state==0) {
		callbackCounter = 0;
		coordsArr=[];
		poiRespArrLength = resp_obj.recss.length;
		for (i=0;i<resp_obj.recss.length;i++){
			var coordsItem = [];
			coordsItem.push(resp_obj.recss[i].id);
			coordsItem.push(resp_obj.recss[i].x);
			coordsItem.push(resp_obj.recss[i].y);
			coordsArr.push(coordsItem);
		}
		addPoisToMap2(resp_obj);
		
		if (loclon != "" && poisearch_state == 0) {
			mapobject.setPoiInfoCallback(poi_list_callback); 
			for (i=0;i<resp_obj.recss.length;i++){
					mapobject.queryPoiInfo(resp_obj.recss[i].id)
			}
		}
        
		
	}
	
	hideLoading();
}

//a zrób to w ten sposób
function addPoisToMap2(poilist){
	mapobject.removeLayerByName('banks');
	
    var object_list1=new Array();
    var basepoidir="http://www.mapgo.pl/mapgoapi/poiicons/";	
    var icon1=0;    
    for (var i=0;i<poilist.recss.length;i++){  
				
	    icon1=new MapgoIcon();
	    icon1.descr='[]';
	    icon1.id=poilist.recss[i].id;	     
	    icon1.image=basepoidir+poilist.recss[i].iconid+".png";
		//icon1.image="img/bank.png";
	    icon1.width=poilist.recss[i].w;
	    icon1.height=poilist.recss[i].h;
	    icon1.tip_width=430;
	    icon1.tip_height=200;
	    icon1.show_tip_state=1;
	    icon1.icon_offx=-1*(icon1.width/2);
	    icon1.icon_offy=-1*(icon1.height/2);
	    icon1.lon=poilist.recss[i].x;
	    icon1.lat=poilist.recss[i].y;
	    object_list1.push(icon1);                
    }

    mapobject.addIconsToMap(object_list1,"banks",posmap,3,20,false,true);
}

//czy są listy z odpowiedziami
var cityanswer=0;
var streetanswer=0;

//funkcja nasłuchująca na wynik geokodowania
function geoListener(geo_ans){
	if (geo_ans.state<0)
	{alert('Niepoprawna nazwa miasta lub ulicy!');}

	if(geo_ans.state==1)
	{alert('Nie  znaleziono miejscowości!');}
	
	else
	//jeśli w odpowiedzi otrzymamy listę miejscowości to generujemy listę danych o miejscowościach do wyboru
	if (geo_ans.city_list){

			//tworzymy html listy miejscowości
			var list_txt=makeCityList(geo_ans.city_list);
			var lists=document.getElementById("citylist");
			
			if (list_txt != "") {
				//wstawiamy w div listę miejscowości
				lists.innerHTML=list_txt;
				cityanswer=1;
				//pokazujemy div z listą
				document.getElementById("citylist").style.display='block';
			}
	}
	else
	//jeśli w odpowiedzi otrzymamy listę ulic to generujemy listę nazw ulic do wyboru
	if (geo_ans.street_list){
		//tworzymy html listy miejscowości
		var list_txt=makeStreetList(geo_ans.street_list);
		var lists=document.getElementById("streetlist");
		
		if (list_txt != "") {
				//wstawiamy w div listę miejscowości
				lists.innerHTML=list_txt;
				streetanswer=1;
				lists.innerHTML=list_txt;
				//pokazujemy div z listą
				document.getElementById("streetlist").style.display='block';
		}
	} 	
	else
	//jeśli znaleźliśmy adres to ustaw centrum mapy na współrzędne adresu oraz dodaj ikonę oznaczającą ten punkt
	if (geo_ans.state && geo_ans.state>2){
		document.getElementById("citylist").style.display='none';
		document.getElementById("streetlist").style.display='none';
		mapobject.removeLayerByName('adres');
		var object_list2=new Array();
		//tworzymy obiekt ikony
		var icon1=new MapgoIcon();
		icon1.lon=geo_ans.X;
		icon1.lat=geo_ans.Y;
		loclon = geo_ans.X;
		loclat = geo_ans.Y;
		object_list2.push(icon1);
		//dodajemy ikonę do mapy
		mapobject.addIconsToMap(object_list2,"adres");
		mapobject.centerMap(icon1.lon,icon1.lat,10);
	} 
	
}
 
//funkcja tworząca listę miejscowości,kliknięcie na każdy element listy powoduje ponowne szukanie adresu z wybraną miejscowością
function makeCityList(city_list){
	for (i=0;i<city_list.length;i++) {
		var city_name = city_list[i].city_name //miasto
		var pow_name = city_list[i].pow_name //powiat
		if (city_name == "Warszawa" && pow_name == "Warszawa"){
			mapobject.chooseCity(i);
			var outstr='';
			return outstr;
			break;
		} else {
			var outstr='';
			for (var i=0;i<city_list.length;i++){
		outstr+='<div onclick="mapobject.chooseCity('+i+');hideCityList()">'+city_list[i].city_name+',woj. '+city_list[i].woj_name+'</div>';
			}
			return outstr;
		}
	}
	
	
}
 
//funkcja tworząca listę ulic do wyboru, kliknięcie na dany element listy powoduje ponowne szukanie adresu z wybraną ulicą
function makeStreetList(street_list){
	var outstr='';
	for (var i=0;i<street_list.length;i++){
		outstr+='<div onclick="mapobject.chooseStreet('+i+');hideStreetList()">'+street_list[i].street_name+'</div>';
	}
	return outstr;
}

//funkcja uruchamia szukanie adresu
function search(address){
	removeRoute();
	if (address == "Miasto, Ulica Nr"){
		alert("Proszę wpisać adres");
	} else {
		mapobject.removeLayerByName("adres");
		if (address.length==0)
			return;
		var city=address.substring(0,address.indexOf(","));
		var str_no=address.substring(address.indexOf(",")+1);
		if (address.indexOf(",")<=0){
			city=address;
		}
		//szukamy adresu podając jako parametry dane adresowe oraz nazwę funkcji nasłuchującej na wynik geokodowania
		mapobject.findAddress(city,str_no,geoListener);
	}
}

//funkcja uruchamia szukanie adresu
function search_route(address){
	removeRoute();
	if (address == ""){
		alert("Proszę wpisać adres");
	} else {
		mapobject.removeLayerByName("address_layer");
		if (address.length==0)
			return;
		var city=address.substring(0,address.indexOf(","));
		var str_no=address.substring(address.indexOf(",")+1);
		if (address.indexOf(",")<=0){
			city=address;
		}
		//szukamy adresu podając jako parametry dane adresowe oraz nazwę funkcji nasłuchującej na wynik geokodowania
		mapobject.findAddress(city,str_no,geoListenerRoute);
	}
}

function geoListenerRoute(geo_ans){
	if (geo_ans.state<0)
	{alert('Niepoprawna nazwa miasta lub ulicy!');}

	if(geo_ans.state==1)
	{alert('Nie  znaleziono miejscowości!');}
	
	if (geo_ans.city_list){
		//tworzymy html lists miejscowości
		var list_txt=makeCityList(geo_ans.city_list);
		var lists=document.getElementById("routelist");
		if (list_txt != "") {
				//wstawiamy w div listę miejscowości
				lists.innerHTML=list_txt;
				//pokazujemy div z listą
				lists.style.display='block';
		}
	}
	else
	//jeąli w odpowiedzi otrzymamy listę ulic to generujemy listę nazw ulic do wyboru
	if (geo_ans.street_list){
		//tworzymy html lists ulic
		var list_txt=makeStreetList(geo_ans.street_list);
		var lists=document.getElementById("routelist");
		if (list_txt != "") {
				//wstawiamy w div listę miejscowości
				lists.innerHTML=list_txt;
				lists.innerHTML=list_txt;
				//pokazujemy div z listą
				lists.style.display='block';
		}
	}
	else
	//jeśli znaleźliśmy adres to ustaw centrum mapy na wsp. adresu oraz dodaj ikonę
	if (geo_ans.state && geo_ans.state>2){
		document.getElementById("routelist").style.display='none';
		var object_list=new Array();
		//tworzymy obiekt ikony
		var icon2=new MapgoIcon();
		icon2.image='http://www.mapgo.pl/portal/gfx/start.png';
		//icon2.descr="<div style=\"height: 60px; width: 140px;\"><strong>Początek trasy: </strong>"+"<br />"+geo_ans.city_name+", "+geo_ans.street_name+" "+geo_ans.house_nr+"</div>";
		//icon2.tip_width=200;
		//icon2.tip_height=135;
		icon2.lon=geo_ans.X;
		icon2.lat=geo_ans.Y;
		object_list.push(icon2);

		mapobject.addIconsToMap(object_list,"from_layer");
		mapobject.removeLayerByName('address_layer');
		var object_list=new Array();
		var icon1=new MapgoIcon();
		icon1.image='http://www.mapGO.pl/portal/gfx/meta.png';
		icon1.width=46;
		icon1.height=34;
		icon1.icon_offy=-23;
		icon1.icon_offx=-34;
		//icon1.descr="Meta";
		//icon1.tip_width=200;
		//icon1.tip_height=135;
		icon1.lon=end_x;
		icon1.lat=end_y;
		object_list.push(icon1);
		mapobject.addIconsToMap(object_list,"address_layer");
		
	}

		//Przekazujemy X,Y wyszukanego adresu do funkcji wyszukującej trasę (najszybsza - parametr 1); wynik przekazujemy do funkcji nasłuchującej routeListener
		mapobject.findRoute(geo_ans.X,geo_ans.Y,end_x,end_y,routeListener,1);

}

//Czekamy na dane z wyszukiwania trasy
function routeListener(route_resp){
	hideLoading();
}


//ukryj listy
function hideCityList(){
	var lista = document.getElementById('citylist');
	lista.style.display="none";
}

function hideStreetList(){
	var lista = document.getElementById('streetlist');
	lista.style.display="none";
}

//pokaż loader
function showLoading(){
	var loader = document.getElementById("loader");
	loader.style.visibility="visible";
}

//ukryj loader
function hideLoading(){
	var loader = document.getElementById("loader");
	loader.style.visibility="hidden";
}


//stany przełączników
var atmswitch_state = 0;
var bankswitch_state = 0;


//stany przełączników wyszukiwania najbliższych
var nearatm_state = 0;
var nearbank_state = 0;

//przełączniki  na stronie
var atmswitch = document.getElementById('atmswitch');
var bankswitch = document.getElementById('bankswitch');

var nearatm = document.getElementById('nearatm');
var nearbank = document.getElementById('nearbank');

//przy zmianie skali
mapobject.setChangeScaleCallback(scale_change_callback);
function scale_change_callback(){
	if (atmswitch_state==1 && bankswitch_state==1){
		showLoading();
		fetchATMs(1,loclon,loclat);
		fetchBanks(1,loclon,loclat);
	} else if (atmswitch_state==1){
		showLoading();
		fetchATMs(1,loclon,loclat);
	} else if (bankswitch_state==1){
		showLoading();
		fetchBanks(1,loclon,loclat);
	}
}

//przy przesunięciu mapy
mapobject.setMoveMapCallback(move_map_callback);
function move_map_callback(){
	if (atmswitch_state==1 && bankswitch_state==1){
		showLoading();
		fetchATMs(1,loclon,loclat);
		fetchBanks(1,loclon,loclat);
	} else if (atmswitch_state==1){
		showLoading();
		fetchATMs(1,loclon,loclat);
	} else if (bankswitch_state==1){
		showLoading();
		fetchBanks(1,loclon,loclat);
	}
}


//Przełącznik - Wyświetlanie ikon bankomatów
atmswitch.onclick = function (){

	if (atmswitch_state == 0) {
		removeRoute();
		atmswitch.src = "img/bankomaty_on.png";
		bankswitch.src = "img/placowki_off.png";
		nearatm.src = "img/bankomat_blisko_off.png";
		document.getElementById('nearestlist').style.display="none";
		document.getElementById('helpbox').style.display="block";
		mapobject.removeLayerByName('banks');
		showLoading();
		fetchATMs(1,loclon,loclat);
		atmswitch_state = 1;	
		bankswitch_state = 0;	
		nearatm_state = 0;	
	} else {
		atmswitch.src = "img/bankomaty_off.png";
		mapobject.removeLayerByName('atms');
		atmswitch_state = 0;	
	}
	
};
	
	

//Przełącznik - Wyświetlanie ikon banków
bankswitch.onclick = function (){
	
	if (bankswitch_state == 0) {
		removeRoute();
		bankswitch.src = "img/placowki_on.png";
		atmswitch.src = "img/bankomaty_off.png";
		nearbank.src = "img/bank_blisko_off.png";
		document.getElementById('nearestlist').style.display="none";
		document.getElementById('helpbox').style.display="block";
		mapobject.removeLayerByName('atms');
		showLoading();
		fetchBanks(1,loclon,loclat);
		bankswitch_state = 1;
		atmswitch_state = 0;
		nearbank_state = 0;
	} else {
		bankswitch.src = "img/placowki_off.png";
		mapobject.removeLayerByName('banks');
		bankswitch_state = 0;
	}
	
};
	


//Przełącznik - szukanie najbliższych bankomatów
nearatm.onclick = function (){
	if (loclon != "") {
		if (nearatm_state == 0) {
			removeRoute();
			nearatm.src = "img/bankomat_blisko_on.png";
			atmswitch.src = "img/bankomaty_off.png";
			nearbank.src = "img/bank_blisko_off.png";
			bankswitch.src = "img/placowki_off.png";
			mapobject.removeLayerByName('banks');
			mapobject.removeLayerByName('atms');
			document.getElementById('nearestlist').innerHTML="";
			document.getElementById('nearestlist').style.display="block";
			document.getElementById('helpbox').style.display="none";
			showLoading();
			fetchATMs(0,loclon,loclat);
			nearatm_state = 1;
			nearbank_state = 0;
			atmswitch_state = 0;
			bankswitch_state = 0;
		} else {
			nearatm.src = "img/bankomat_blisko_off.png";
			mapobject.removeLayerByName('atms');
			document.getElementById('nearestlist').innerHTML="";
			document.getElementById('nearestlist').style.display="block";
			document.getElementById('helpbox').style.display="none";
			nearatm_state = 0;
			nearbank_state = 0;
			atmswitch_state = 0;			
		}
	} else {
		alert ("Proszę najpierw wskazać adres");
		document.getElementById('adres').focus();
	}
	
};
	
	

//Przełącznik - szukanie najbliższych banków
nearbank.onclick = function (){
	if (loclon != "") {
		if (nearbank_state == 0) {
			removeRoute();
			nearbank.src = "img/bank_blisko_on.png";
			bankswitch.src = "img/placowki_off.png";
			nearatm.src = "img/bankomat_blisko_off.png";
			atmswitch.src = "img/bankomaty_off.png";
			mapobject.removeLayerByName('banks');
			mapobject.removeLayerByName('atms');
			document.getElementById('nearestlist').innerHTML="";
			document.getElementById('nearestlist').style.display="block";
			document.getElementById('helpbox').style.display="none";
			showLoading();
			fetchBanks(0,loclon,loclat);
			nearbank_state = 1;
			nearatm_state = 0;
			bankswitch_state = 0;
			atmswitch_state = 0;
		} else {
			nearbank.src = "img/bank_blisko_off.png";
			mapobject.removeLayerByName('banks');
			document.getElementById('nearestlist').innerHTML="";
			document.getElementById('nearestlist').style.display="block";
			document.getElementById('helpbox').style.display="none";
			nearbank_state = 0;
			nearatm_state = 0;
			bankswitch_state = 0;
		}
	} else {
		alert ("Proszę najpierw wskazać adres");
		document.getElementById('adres').focus();
	}
	
};

//zachowanie pola wyszukiwania adersu
var searchfield = document.getElementById('adres');

searchfield.onfocus = function (){
	if (this.value=="Miasto, Ulica Nr"){
		this.value="";
		this.focus();
	}
}

searchfield.onblur = function (){
	if (this.value==""){
		this.value="Miasto, Ulica Nr";
	}
}

function zoomToItem(id) {
	for (i=0;i<coordsArr.length;i++){
		if (id == coordsArr[i][0]){
			poix = coordsArr[i][1];
			poiy = coordsArr[i][2];
			mapobject.centerMap(poix,poiy,5);
			break;
		}
	}
	
}


function removeRoute() {
	mapobject.removeLayerByName('mapgo_trasa');
	mapobject.removeLayerByName('address_layer');
	mapobject.removeLayerByName('from_layer');
}

