﻿//powołujemy obiekt MapGO Api
var mapobject=createMapgoObject();

//szerokość okna mapy
 var map_w = 650;

//wysokość okna mapy
var map_h = 593;

//inicjujemy mapę
mapobject.initMap(19.0000,51.800000,18,map_w,map_h,0,0);
//pokazujemy toolbar do obsługi skali i przesuwania mapy
mapobject.showToolbar();

var mapToolbarDIV = document.getElementById('_mapgo_toolbar');

clearList('_mapgo_toolbar');

//dołączamy podstawowe ikony do toolbara
 mapToolbarDIV.innerHTML += '<div id="basiccontrols"><div id="mu" onclick="mapobject.moveUp(6);" title="Przesuń w górę" alt="Przesuń w górę"></div><div id="ml" onclick="mapobject.moveLeft(6);" title="Przesuń w lewo" alt="Przesuń w lewo"></div><div id="mc"></div><div id="mr" onclick="mapobject.moveRight(6);" title="Przesuń w prawo" alt="Przesuń w prawo"></div><div id="md" onclick="mapobject.moveDown(6);" title="Przesuń w dół" alt="Przesuń w dół"></div><div id="zi" onclick="mapobject.zoom_in();" title="Powiększ" alt="Powiększ"></div><div id="zo" onclick="mapobject.zoom_out();" title="Pomniejsz" alt="Pomniejsz"></div></div>';

//dołączamy dodatkowe ikony do toolbara
mapToolbarDIV.innerHTML += '<div id="controls"><img id="hand_img" src="img/maptool_hand_on.gif" onclick="mapobject.setCursorMode(\'hand\');toggleMapControls(this.id);" title="Przesuwaj mapę" alt="Przesuwaj mapę"/><img id="zoom_img" src="img/maptool_plus.gif" onclick="mapobject.setCursorMode(\'rubber\');toggleMapControls(this.id);" title="Zaznacz prostokąt i powiększ" alt="Zaznacz prostokąt i powiększ"/></div>';

/*
<img id="showall_img" src="images/map/maptool_pl_on.gif" onclick="mapobject.centerMap(18.30000,51.800000,18);toggleMapControls(this.id);mapobject.showLayerByName(\'voivodships\');removeRoute();is_search_on=0;clearNearestList();hideAimPointer();"  title="Zobacz wszystkie placówki"  alt="Zobacz wszystkie placówki"/>
	*/


//pozycjonuj mapę na ikonach
var posmap="";

//tu przechowujemy współrzędne z geoListenera do późniejszego użycia
var loclon = "";
var loclat = "";

//rodzaj wyszukiwania POI
var poisearch_state = "";


//tablica ikon
var globalicons = [];

//ostatni adres
var lastAddress = [];

//status wyszukiwania (0 - nie 1- tak)
var is_search_on = 0;

//do routera - end coords
var end_x=0;
var end_y=0;

var nearestlistbg = document.getElementById("nearestlistbg");
var nearestlist = document.getElementById("nearestlist");
var nearestlistdescr = "";


//warstwa z celownikiem
var celownikArr = [];
var celownik=new MapgoIcon();
celownik.image="img/celownik.png";
celownik.width=48;
celownik.height=48;
celownik.icon_offx=-1*(celownik.width/2);
celownik.icon_offy=-1*(celownik.height/2);
celownik.lon=0;
celownik.lat=0;
celownikArr.push(celownik);
var celownik_l = mapobject.addIconsToMap(celownikArr,"celownik");

hideAimPointer(); //celownik



//MBR - granice mapy
	var minlon = 0;
	var minlat = 0;
	var maxlon = 0;
	var maxlat = 0;

//obj_type: 1 - bank; 2 - bankomat
//subtype dla banków: 0 - Millennium, 1 - M. Biznes, 2 - M. Prestige, 3 - Przedsiębiorstwa, 4 - Centrum Finansowe,  5 - Centrum Kredytowe
//subtype dla bankomatów: 0 - Millennium, 1 - Euronet,
//search_type: 0 - w oknie mapy, 1 - najbliższe punktu
//qty - ilość poiów każdej zaznaczonej kategorii obliczna przez podzielenie liczby 10 przez ilość zaznaczonych checkboksów
//calodob - dot. tylko bankomatów; czy jest  czynny 24h - > 0 - nie, 1 - tak
function fetchPOI(obj_type,search_type,qty){
	storeCurrCenter();
	getMBR();
	showLoading();
	showPoilistLoading();
	if (search_type == 0){
		sendSelectItems(obj_type,search_type,qty,minlon,minlat,maxlon,maxlat,fetch_poi_callback);
	} else {
		sendSelectItems(obj_type,search_type,qty,loclon,loclat,0,0,fetch_poi_callback);
	}
}



function fetch_poi_callback() {

	if (is_search_on == 0){
		posmap=false;
	} else {
		posmap=true;
	}


	var ajax_resp = _mmapgoobj._mapgo_response;

	var object_type = ajax_resp.object_type;

	var ajax_obj_list = ajax_resp.list;
	var poi_icons = [];

	for (var i=0;i<ajax_obj_list.length;i++){

		var id = ajax_obj_list[i].id;
		var nazwa_krotka = ajax_obj_list[i].nazwa_krotka;
		var ulica = ajax_obj_list[i].ulica;
		var nr_domu = ajax_obj_list[i].nr_domu;
		var miasto = ajax_obj_list[i].miasto;
		var kod_pocztowy = ajax_obj_list[i].kod_pocztowy;
		var tel = ajax_obj_list[i].tel;
		var info = ajax_obj_list[i].info;
		var www = ajax_obj_list[i].www;
		var x = ajax_obj_list[i].x;
		var y = ajax_obj_list[i].y;
		var icon_w = ajax_obj_list[i].icon_w;
		var icon_h = ajax_obj_list[i].icon_h;
		var icon_offx = ajax_obj_list[i].icon_offy;
		var icon_offy = ajax_obj_list[i].icon_offy;
		var icon_url = ajax_obj_list[i].icon_url;

		var icon = new MapgoIcon();

		icon.id = id;

		//icon.descrc = "<div id=\\'tipdescr\\'><span class=\\'poidescr\\'>"+nazwa_krotka+"</span><span class=\\'poiadr\\'><b>"+ulica+" "+nr_domu+"</b>, "+ miasto + "<br>Godziny otwarcia: <b>"+info+"</b></span></div>"+"<div id=\\'tipsearchfield\\'>Wyznacz trasę:<br> Start <input id=\\'adres_tip\\' type=\\'text\\'  value=\\'Miejscowość, Ulica Nr\\' onfocus=this.value=\\'\\' onclick=this.value=\\'\\' onkeypress=onEnter(event,\\'goimg\\') ></div><div id=\\'ok\\'><img src=\\'img/go.gif\\' id=\\'goimg\\'  onclick=searchRoute(\\'adres_tip\\',"+x+","+y+") title=\\'Szukaj\\' alt=\\'Szukaj\\'/></div>";


		icon.descr = "<div id='tipdescr'><span class='poidescr'>"+nazwa_krotka+"</span><span class='poiadr'><b>"+ulica+" "+nr_domu+", "+ miasto + "</b><br>"+info+"</span></div>"+"<div id='tipsearchfield'>Wyznacz trasę do tego miejsca z:<br><input id='adres_tip' type='text' value='Miejscowość, Ulica Nr' onfocus=this.value='' onclick=this.value='' onkeypress=onEnter(event,'goimg')></div><div id='ok'><img src='img/go.gif' id='goimg'  onclick=searchRoute('adres_tip',"+x+","+y+") title='Szukaj' alt='Szukaj'/></div>";
		
				
		if (object_type == 1 ) {
			icon.image = 'img/blue.png';
		} else if (object_type == 2 ) {
			icon.image = 'img/red.png';
		} else if (object_type == 3) {
			icon.image = 'img/orange.png';
		} 
		

			nearestlistdescr += "<div name='listitem'  onmouseover='highlightedListElem="+id+";this.style.backgroundColor = \"#c53329\";this.style.color = \"#ffffff\";this.style.cursor = \"pointer\";' onmouseout='if(selectedListElem != highlightedListElem){this.style.color = \"#20387f\";this.style.backgroundColor = \"transparent\";this.style.cursor = \"default\";}' 'id='" + id + "' onclick='zoomToItem(" + id + "," + x + "," + y + ");this.style.backgroundColor = \"#c53329\";this.style.color = \"#ffffff\";'><b>"+nazwa_krotka+"</b><br />"  + miasto + ", " +  ulica + " " + nr_domu + "</div>";

		
		icon.width = 24;
		icon.height = 25;
	    icon.tip_width=253;
	    icon.tip_height=140;
	    icon.icon_offx=-1*(icon.width/2);
	    icon.icon_offy=-1*(icon.height/2);
	    icon.lon= parseFloat(x);
	    icon.lat= parseFloat(y);
	    icon.show_tip_state=1;
		icon.cluster_descr = '<b>'+nazwa_krotka+'</b>,'+miasto+' '+ulica+' '+nr_domu;
		poi_icons.push(icon);
		globalicons.push(icon);
	}


	if (!mapobject.searchLayer('pois')){
		var poilayer = mapobject.addIconsToMap(poi_icons,"pois",posmap,3,16);
		var poilayer = mapobject.addIconsToLayer(lastAddress,"pois",posmap);
	} else {
		var poilayer = mapobject.addIconsToLayer(poi_icons,"pois",posmap);
	}

		if (is_search_on == 0){
			nearestlist.innerHTML += nearestlistdescr;
		} else {
			nearestlist.innerHTML = nearestlistdescr;
		}

		nearestlistbg.style.display = "block";
		nearestlist.style.display = "block";
		hideLoading();
		hidePoilistLoading();

		//styleClusterLabel();

}

function emptyString(elem){
	elem=elem.substr(0,0);
}

//czy są listy z odpowiedziami
var cityanswer=0;
var streetanswer=0;

var object_list2=new Array();
//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>=3 && geo_ans.state<6){

		if (document.getElementById('StreetNumber').value != ""){
			alert ("Nie znaleziono ulicy - pokazane zostanie centrum miasta!");
		}

		document.getElementById("citylist").style.display='none';
		document.getElementById("streetlist").style.display='none';
		mapobject.removeLayerByName('adres');
		object_list2=[];
		//tworzymy obiekt ikony
		var icon1=new MapgoIcon();
		icon1.image='http://www.mapgo.pl/portal/gfx/adres.png';
		icon1.width=46;
		icon1.height=34;
		icon1.icon_offy=-34;
		icon1.icon_offx=-23;
		icon1.lon=geo_ans.X;
		icon1.lat=geo_ans.Y;
		loclon = geo_ans.X;
		loclat = geo_ans.Y;
		object_list2.push(icon1);
		lastAddress = [];
		lastAddress.push(icon1);
		//dodajemy ikonę do mapy
		mapobject.centerMap(icon1.lon,icon1.lat,9);

		if (object_list2 != null || document.getElementById('nearestlist').innerHTML == "") {
			mapobject.removeLayerByName('adres');
			mapobject.addIconsToMap(object_list2,"adres",posmap,3,17);
		}
		
		var obj = document.getElementById('object_type').value;
		fetchPOI(obj,1,10);
	}
	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>6){
		document.getElementById("citylist").style.display='none';
		document.getElementById("streetlist").style.display='none';
		mapobject.removeLayerByName('adres');
		object_list2=[];
		//tworzymy obiekt ikony
		var icon1=new MapgoIcon();
		icon1.image='http://www.mapgo.pl/portal/gfx/adres.png';
		icon1.width=46;
		icon1.height=34;
		icon1.icon_offy=-34;
		icon1.icon_offx=-46;
		icon1.lon=geo_ans.X;
		icon1.lat=geo_ans.Y;
		loclon = geo_ans.X;
		loclat = geo_ans.Y;
		object_list2.push(icon1);
		lastAddress = [];
		lastAddress.push(icon1);
		//dodajemy ikonę do mapy
		mapobject.centerMap(icon1.lon,icon1.lat,9);

		if (object_list2 != null || document.getElementById('nearestlist').innerHTML == "") {
			mapobject.removeLayerByName('adres');
			mapobject.addIconsToMap(object_list2,"adres",posmap,3,17);
		}

		var obj = document.getElementById('object_type').value;
		fetchPOI(obj,1,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" || city_name == "Kraków" && pow_name == "Kraków" || city_name == "Poznań" && pow_name == "Poznań"){
			mapobject.chooseCity(i);
			var outstr='';
			return outstr;
			break;
		} else {
			var outstr='';
			for (var i=0;i<city_list.length;i++){
		outstr+='<div onMouseover="this.style.backgroundColor=\'#c53329\';this.style.color = \'white\';this.style.cursor = \'pointer\';" onMouseout="this.style.backgroundColor = \'transparent\';this.style.color = \'#20387f\';this.style.cursor = \'default\';"  onclick="mapobject.chooseCity('+i+');hideCityList();document.getElementById(\'City\').value=this.innerHTML.substring(0,this.innerHTML.indexOf(\',\'));">'+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 onMouseover="this.style.backgroundColor=\'#c53329\';this.style.color = \'white\';this.style.cursor = \'pointer\';" onMouseout="this.style.backgroundColor = \'transparent\';this.style.color = \'#20387f\';this.style.cursor = \'default\';"  onclick="mapobject.chooseStreet('+i+');hideStreetList();document.getElementById(\'StreetNumber\').value=this.innerHTML;">'+street_list[i].street_name+'</div>';
	}
	return outstr;
}


//MBR
	var minlon = 0;
	var minlat = 0;
	var maxlon = 0;
	var maxlat = 0;

//funkcja uruchamia szukanie adresu (parametry to ID pól tekstowych)
function searchAddress(miasto,ulica){
	is_search_on = 1;
	clearCheckboxes();
	var obj = document.getElementById('object_type').value;
	var m = document.getElementById(miasto).value;
	var uraw = document.getElementById(ulica).value;
	var ulow = uraw.toLowerCase();
	
	if (obj == 9999){
		alert("Proszę wybrać typ obiektu!");
		return false;
	}
	
	if (ulow.indexOf("al.",0) != -1 || ulow.indexOf("pl.",0) != -1 || ulow.indexOf("ul.",0) != -1 || ulow.indexOf("pl. ",0) != -1 || ulow.indexOf("al. ",0) != -1 || ulow.indexOf("ul. ",0) != -1 || ulow.indexOf("plac ",0) != -1 || ulow.indexOf("aleja ",0) != -1 || ulow.indexOf("ulica ",0) != -1 || ulow.indexOf("skwer ",0) != -1){
		if (ulow.indexOf(".")!= -1){
			var u = ulow.substring(ulow.indexOf(".")+1);
		} else {
			var u = ulow.substring(ulow.indexOf(" ")+1);
		}

	} else {
		var u = ulow;
	}

	var address = m + "," + u;
		
	if (!m){
		alert("Proszę wpisać nazwę miasta!");
	/* } else if (!u) {
		alert("Proszę wpisać nazwę ulicy!"); */
	} 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);
	}
	hideAimPointer();
	mapobject.removeLayerByName("address_layer");
	mapobject.removeLayerByName('pois');
	nearestlistdescr = "";
	removeTempLayer();
	removeRoute();
	getMBR();
}

//funkcja uruchamia szukanie adresu
function searchRoute(addressdiv,endx,endy){
	is_search_on = 1;
	removeRoute();
	removeTempLayer();
	hideAimPointer();
	var address = document.getElementById(addressdiv).value;
	if (address == "" || address == "Miejscowość, Ulica Nr"){
		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);
		//alert (city +" "+str_no);

		if (str_no.indexOf("al.",0) != -1 || str_no.indexOf("pl.",0) != -1 || str_no.indexOf("ul.",0) != -1 || str_no.indexOf("pl. ",0) != -1 || str_no.indexOf("al. ",0) != -1 || str_no.indexOf("ul. ",0) != -1 || str_no.indexOf("plac ",0) != -1 || str_no.indexOf("aleja ",0) != -1 || str_no.indexOf("ulica ",0) != -1 || str_no.indexOf("skwer ",0) != -1){
			if (str_no.indexOf(".")!= -1){
				var str = str_no.substring(str_no.indexOf(".")+1);
			} else {
				var str = str_no.substring(str_no.indexOf(" ")+1);
			}

		} else {
			var str = str_no;
		}
		
		if (address.indexOf(",")<=0){
			city=address;
			str = "";
		}
		//alert (city +" "+str);
		//szukamy adresu podając jako parametry dane adresowe oraz nazwę funkcji nasłuchującej na wynik geokodowania
		mapobject.findAddress(city,str,geoListenerRoute);
	}
	end_x=endx;
	end_y=endy;
}

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;
				//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.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.image='http://www.mapgo.pl/portal/gfx/start.png';
		icon2.width=46;
		icon2.height=34;
		icon2.icon_offy=-34;
		icon2.icon_offx=-23;
		icon2.descr="Początek trasy";
		icon2.tip_width=100;
		icon2.tip_height=30;
		icon2.lon=geo_ans.X;
		icon2.lat=geo_ans.Y;
		icon2.show_tip_state=1;
		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=-34;
		icon1.icon_offx=-23;
		icon1.descr="Koniec trasy";
		icon1.tip_width=100;
		icon1.tip_height=30;
		icon1.lon=end_x;
		icon1.lat=end_y;
		icon1.show_tip_state=1;
		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();
	document.getElementById('hud').style.display = 'none';
	//w allodl przechowujemy dotychczas przejechaną długość trasy
	allodl=0;

	//w alltime przechowujemy czas całkowity pokonania trasy
	alltime=0;

	//dodajemy do opisu kolejne odcinki trasy
	for (var i=0;i<route_resp.np.length;i++){
		//sumujemy długość odcinków
		allodl+=route_resp.np[i].d;
		//sumujemy długość odcinków czasu; trzeba podzielić przez 10
 		alltime += Math.round(route_resp.np[i].t/10);
	}

	//dodajemy do opisu odl. i czas
	var czas=makeCzas(alltime);
	var odleglosc=makeOdl(allodl);

	//wstawiamy w odpowiedni div opis trasy
	var descr = document.getElementById("hud");
	descr.innerHTML = "<p>Odległość: <b>" + odleglosc + "</b> | Czas: <b>" + czas +"<b></p>";
	descr.style.display = "block";

}

//Tworzymy opis odległości do celu
function makeOdl(allodl){
	var calkodl1=allodl;
	var temp=0;
	if (allodl>=10){
		calkodl1=Math.round((allodl/1000)*100)/100;
	}

	if (allodl<10) {
		return allodl+" m";}
	else
		{return calkodl1+" km";}
	}

//Tworzymy opis czasu do celu
function makeCzas(alltime){
	var alltime_h=alltime;
	var temp=0;
	if (alltime>=3600){
		alltime_h=Math.round(alltime/3600);
	}

	if (alltime<3600) {
		return Math.round(alltime/60)+" min.";}
	else
		{return alltime_h+" h";}
}

//ukryj listy
function hideCityList(){
	var lista = document.getElementById('citylist');
	lista.style.display="none";
}

function hideStreetList(){
	var lista = document.getElementById('streetlist');
	lista.style.display="none";
}

function removeRoute() {
	mapobject.removeLayerByName('mapgo_trasa');
	mapobject.removeLayerByName('address_layer');
	mapobject.removeLayerByName('from_layer');
}

//tablica z checkboksami poi-ów
var list = document.getElementById('search_chbxs');
var inputsArr = getElementsByTagNames('input',list);

//Przełączniki - Wyświetlanie ikon poi-ów
//dla każdego checkboksa o danym ID przypisz funcję na onclick
for (i=0;i<inputsArr.length;i++){
	elem = document.getElementById(inputsArr[i].id);
	elem.onclick = function (){
		showLoading();
		fetchSelectedPOIs();
	};
}

//zdarzenia po zmianie skali
mapobject.setChangeScaleCallback(scale_change_callback);

//funkcja obsługi zdarzenia zmiany skali mapy
function scale_change_callback(){
	if (mapobject.currscale <= 13 && is_search_on == 0){
		mapobject.removeLayerByName('pois');
		fetchSelectedPOIs();
	}
}

mapobject.setMoveMapCallback(move_map_callback);

//funkcja obsługi zdarzenia przesunięcia mapy
function move_map_callback(){
	if (mapobject.currscale <= 13 && is_search_on == 0){
		mapobject.removeLayerByName('pois');
		fetchSelectedPOIs();
	}
}

//szukamy zaznaczonych kategorii
function fetchSelectedPOIs(){
is_search_on = 0;
//tablica z checkboksami poi-ów
var l = document.getElementById('search_chbxs');
var inputsArr = getElementsByTagNames('input',l);
hideLoading();
nearestlistdescr = ""; //zerujemy globalną listę z opisami POI
clearList('nearestlist');
removeTempLayer();
hideAimPointer();
if (mapobject.currscale <= 13){
	for (i=0;i<inputsArr.length;i++){
			elem = document.getElementById(inputsArr[i].id);
			var object_type = elem.value;
			if (elem.checked == true){
				fetchPOI(object_type,0,0);//tu zero jako ilość nie ma znaczenia
			} else {
				document.getElementById('nearestlistbg').style.display="none";
				document.getElementById('nearestlist').style.display="none";
				mapobject.removeLayerByName('pois');
			}

	}
} else {
	document.getElementById('infobox').style.display = "block";
}
};

/* function iconClick(icon){
			mapobject.centerMap(icon.lon,icon.lat,16);
			_mmapgoobj.featureClicked=false;
}
 */

function styleClusterLabel() {
	var list = document.getElementById('surf1');
	var items = getElementsByTagNames('p',list);
	for (var a=0;a<items.length;a++){
		var item = items[a];
		item.style.color = "#fff";
		item.style.background = "#000";
		item.style.fontSize = 12+'px';
		item.style.fontWeight = 'bold';
		item.style.padding = 5+'px';
		item.style.position = "absolute";
		item.style.top = -10+"px";
	}
}



