﻿//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/restauracje_off.png" id="restauracjaswitch" title="Pokaż restauracje" alt="Pokaż wszystkie restauracje"/><img src="img/bary_off.png" id="barswitch" title="Pokaż bary" alt="Pokaż wszystkie bary"/><img src="img/fastfood_off.png" id="fastfoodswitch" title="Pokaż fastfood" alt="Pokaż wszystkie obiekty fastfood"/></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];
			
		}
	}

	

	if (restauracjaswitch_state == 1 || restauracja_b_switch_state == 1) {
		var image = '<img src="img/restauracja.jpg"/>';
		
	} else if (barswitch_state == 1 || bar_b_switch_state == 1) {
		var image = '<img src="img/bar.jpg"/>';
		
	}  else if (fastfoodswitch_state == 1 || fastfood_b_switch_state == 1) {
		var image = '<img src="img/fastfood.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>";
	
	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); 
	}
	
}


//przechowujemy globalnie info o kategorii
var catid = "";

//pobierz bankomaty
function fetchPOIs(poiid,searchtype,loclon,loclat){
	catid = poiid;
    var lonlat1=mapobject.convertScreenToGeo(0,0);
    var lonlat2=mapobject.convertScreenToGeo(map_w,map_h);
    var pq=new MapgoPoiQuery();
    pq.type=searchtype;
	pq.cnt=5;
	if (loclon != "" && searchtype==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=catid;	
	pq.idsubcatbrand="";
    pq.query="POI_QUERY";
	//alert(pq.minx+' '+pq.miny+' '+pq.maxx+' '+pq.maxy);
	//disableOnclick();
    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)
			}
		}
		
	}
	
	if (object_list2 != null || document.getElementById('nearestlist').innerHTML != "") {
			mapobject.removeLayerByName('adres');
			mapobject.addIconsToMap(object_list2,"adres");
	}
	
	hideLoading();

}


//a dodaj je w ten sposób
function addPoisToMap(poilist){
	mapobject.removeLayerByName(catid);

    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,catid,posmap,3,20,false,true);
	
}

//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>2){
		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.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.centerMap(icon1.lon,icon1.lat,10);
		
		if (object_list2 != null || document.getElementById('nearestlist').innerHTML == "") {
			mapobject.removeLayerByName('adres');
			mapobject.addIconsToMap(object_list2,"adres");
		}
	} 
	
}
 
//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();
	clearNearestList();
	document.getElementById('helpbox').style.display="block";
	restauracja_b_switch.src = "img/restauracje_b_off.png";
	bar_b_switch.src = "img/bary_b_off.png";
	fastfood_b_switch.src = "img/fastfood_b_off.png";
	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');
		mapobject.removeLayerByName('adres');
		object_list2=[];
		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 restauracjaswitch_state = 0;
var barswitch_state = 0;
var fastfoodswitch_state = 0;


//stany przełączników wyszukiwania najbliższych
var restauracja_b_switch_state = 0;
var bar_b_switch_state = 0;
var fastfood_b_switch_state = 0;

//przełączniki  na stronie
var restauracjaswitch = document.getElementById('restauracjaswitch');
var barswitch = document.getElementById('barswitch');
var fastfoodswitch = document.getElementById('fastfoodswitch');

//do wyszukiwana najbliższych
var restauracja_b_switch = document.getElementById('restauracja_b_switch');
var bar_b_switch = document.getElementById('bar_b_switch');
var fastfood_b_switch = document.getElementById('fastfood_b_switch');

//przy zmianie skali
mapobject.setChangeScaleCallback(scale_change_callback);
function scale_change_callback(){

	if (restauracjaswitch_state==1){
		showLoading();
		fetchPOIs(1510,1,loclon,loclat); //restauracje
	} else if (barswitch_state==1){
		showLoading();
		fetchPOIs(1515,1,loclon,loclat); //bary
	} else if (fastfoodswitch_state==1){
		showLoading();
		fetchPOIs(1520,1,loclon,loclat); //fastfood
	} 
}

//przy przesunięciu mapy
mapobject.setMoveMapCallback(move_map_callback);
function move_map_callback(){

	if (restauracjaswitch_state==1){
		showLoading();
		fetchPOIs(1510,1,loclon,loclat); //restauracje
	} else if (barswitch_state==1){
		showLoading();
		fetchPOIs(1515,1,loclon,loclat); //bary
	} else if (fastfoodswitch_state==1){
		showLoading();
		fetchPOIs(1520,1,loclon,loclat); //fastfood
	} 
}


//Przełącznik - Wyświetlanie restauracji
//restauracjaswitch.onclick = restauracjaswitch_onclick;
function restauracjaswitch_onclick (){

	if (restauracjaswitch_state == 0) {
		removeRoute();
		restauracjaswitch.src = "img/restauracje_on.png";
		barswitch.src = "img/bary_off.png";
		fastfoodswitch.src = "img/fastfood_off.png";
		
		restauracja_b_switch.src = "img/restauracje_b_off.png";
		bar_b_switch.src = "img/bary_b_off.png";
		fastfood_b_switch.src = "img/fastfood_b_off.png";
		
		document.getElementById('nearestlist').style.display="none";
		document.getElementById('helpbox').style.display="block";
		
		mapobject.removeLayerByName('1510'); //restauracje
		mapobject.removeLayerByName('1515'); //bary
		mapobject.removeLayerByName('1520'); //fastfood
		mapobject.hideLayerByName('celownik');
		
		showLoading();
		
		fetchPOIs(1510,1,loclon,loclat); //restauracje

		
		restauracjaswitch_state = 1;
		barswitch_state = 0;
		fastfoodswitch_state = 0;
			
		
		restauracja_b_switch_state = 0;
		bar_b_switch_state = 0;
		fastfood_b_switch_state = 0;
				
	} else {
		restauracjaswitch.src = "img/restauracje_off.png";
		mapobject.removeLayerByName('1510');
		restauracjaswitch_state = 0;	
	}
	
};
	
	

//Przełącznik - Wyświetlanie barów
//barswitch.onclick = barswitch_onclick;
function barswitch_onclick (){

	if (barswitch_state == 0) {
		removeRoute();
		restauracjaswitch.src = "img/restauracje_off.png";
		barswitch.src = "img/bary_on.png";
		fastfoodswitch.src = "img/fastfood_off.png";
		
		
		restauracja_b_switch.src = "img/restauracje_b_off.png";
		bar_b_switch.src = "img/bary_b_off.png";
		fastfood_b_switch.src = "img/fastfood_b_off.png";
		
		
		document.getElementById('nearestlist').style.display="none";
		document.getElementById('helpbox').style.display="block";
		
		mapobject.removeLayerByName('1510'); //restauracje
		mapobject.removeLayerByName('1515'); //bary
		mapobject.removeLayerByName('1520'); //fastfood
		mapobject.hideLayerByName('celownik');
		
		showLoading();
		
		fetchPOIs(1515,1,loclon,loclat); //bary
		
		restauracjaswitch_state = 0;
		barswitch_state = 1;
		fastfoodswitch_state = 0;
		
		
		restauracja_b_switch_state = 0;
		bar_b_switch_state = 0;
		fastfood_b_switch_state = 0;
		
		
	} else {
		barswitch.src = "img/bary_off.png";
		mapobject.removeLayerByName('1515');
		barswitch_state = 0;	
	}
	
};
	


//Przełącznik - Wyświetlanie fastfoodów
//fastfoodswitch.onclick = fastfoodswitch_onclick;
function fastfoodswitch_onclick (){

	if (fastfoodswitch_state == 0) {
		removeRoute();
		restauracjaswitch.src = "img/restauracje_off.png";
		barswitch.src = "img/bary_off.png";
		fastfoodswitch.src = "img/fastfood_on.png";
		
		
		restauracja_b_switch.src = "img/restauracje_b_off.png";
		bar_b_switch.src = "img/bary_b_off.png";
		fastfood_b_switch.src = "img/fastfood_b_off.png";
		
		
		document.getElementById('nearestlist').style.display="none";
		document.getElementById('helpbox').style.display="block";
		
		mapobject.removeLayerByName('1510'); //restauracje
		mapobject.removeLayerByName('1515'); //bary
		mapobject.removeLayerByName('1520'); //fastfood
		mapobject.hideLayerByName('celownik');
		
		showLoading();
		
		fetchPOIs(1520,1,loclon,loclat); //fastfood
		
		restauracjaswitch_state = 0;
		barswitch_state = 0;
		fastfoodswitch_state = 1;
		
		
		restauracja_b_switch_state = 0;
		bar_b_switch_state = 0;
		fastfood_b_switch_state = 0;
		
		
	} else {
		fastfoodswitch.src = "img/fastfood_off.png";
		mapobject.removeLayerByName('1520');
		fastfoodswitch_state = 0;	
	}
	
};




//Przełącznik - szukanie najbliższych restauracji
//restauracja_b_switch.onclick = restauracja_b_switch_onclick;
function restauracja_b_switch_onclick (){
	if (loclon != "") {
		if (restauracja_b_switch_state == 0) {
			removeRoute();
			restauracjaswitch.src = "img/restauracje_off.png";
			barswitch.src = "img/bary_off.png";
			fastfoodswitch.src = "img/fastfood_off.png";
			
			
			restauracja_b_switch.src = "img/restauracje_b_on.png";
			bar_b_switch.src = "img/bary_b_off.png";
			fastfood_b_switch.src = "img/fastfood_b_off.png";
			
			
			document.getElementById('helpbox').style.display="none";
			document.getElementById('nearestlist').style.display="block";
			//document.getElementById('nearestlist').innerHTML="";
			clearNearestList();
				
			mapobject.removeLayerByName('1510'); //restauracje
			mapobject.removeLayerByName('1515'); //bary
			mapobject.removeLayerByName('1520'); //fastfood
			mapobject.hideLayerByName('celownik');
			
		
			showLoading();
			
			fetchPOIs(1510,0,loclon,loclat); //restauracje
			
			restauracja_b_switch_state = 1;
			bar_b_switch_state = 0;
			fastfood_b_switch_state = 0;
			
			
			restauracjaswitch_state = 0;
			barswitch_state = 0;
			fastfoodswitch_state = 0;
			
			
		} else {
			restauracja_b_switch.src = "img/restauracje_b_off.png";
			mapobject.removeLayerByName('1510');
			document.getElementById('nearestlist').innerHTML="";
			document.getElementById('nearestlist').style.display="none";
			document.getElementById('helpbox').style.display="none";
			
			restauracja_b_switch_state = 0;
			bar_b_switch_state = 0;
			fastfood_b_switch_state = 0;
						
		}
	} else {
		alert ("Proszę najpierw wskazać adres");
		document.getElementById('adres').focus();
	}
	
};
	
//Przełącznik - szukanie najbliższych barów
//bar_b_switch.onclick = bar_b_switch_onclick;
function bar_b_switch_onclick (){
	if (loclon != "") {
		if (bar_b_switch_state == 0) {
			removeRoute();
			restauracjaswitch.src = "img/restauracje_off.png";
			barswitch.src = "img/bary_off.png";
			fastfoodswitch.src = "img/fastfood_off.png";
			
			
			restauracja_b_switch.src = "img/restauracje_b_off.png";
			bar_b_switch.src = "img/bary_b_on.png";
			fastfood_b_switch.src = "img/fastfood_b_off.png";
			
			
			document.getElementById('helpbox').style.display="none";
			document.getElementById('nearestlist').style.display="block";
			//document.getElementById('nearestlist').innerHTML="";
			clearNearestList();
				
			mapobject.removeLayerByName('1510'); //restauracje
			mapobject.removeLayerByName('1515'); //bary
			mapobject.removeLayerByName('1520'); //fastfood
			mapobject.hideLayerByName('celownik');
		
			showLoading();
			
			fetchPOIs(1515,0,loclon,loclat); //bary
			
			restauracja_b_switch_state = 0;
			bar_b_switch_state = 1;
			fastfood_b_switch_state = 0;
			
			restauracjaswitch_state = 0;
			barswitch_state = 0;
			fastfoodswitch_state = 0;

			
		} else {
			bar_b_switch.src = "img/bary_b_off.png";
			mapobject.removeLayerByName('2020');
			document.getElementById('nearestlist').style.display="block";
			document.getElementById('nearestlist').innerHTML="";
			document.getElementById('helpbox').style.display="none";
			
			restauracja_b_switch_state = 0;
			bar_b_switch_state = 0;
			fastfood_b_switch_state = 0;
						
		}
	} else {
		alert ("Proszę najpierw wskazać adres");
		document.getElementById('adres').focus();
	}
	
};


//Przełącznik - szukanie najbliższych fastfoodów
//fastfood_b_switch.onclick = fastfood_b_switch_onclick;
function fastfood_b_switch_onclick (){
	if (loclon != "") {
		if (fastfood_b_switch_state == 0) {
			removeRoute();
			restauracjaswitch.src = "img/restauracje_off.png";
			barswitch.src = "img/bary_off.png";
			fastfoodswitch.src = "img/fastfood_off.png";
			
			
			restauracja_b_switch.src = "img/restauracje_b_off.png";
			bar_b_switch.src = "img/bary_b_off.png";
			fastfood_b_switch.src = "img/fastfood_b_on.png";
			
			
			document.getElementById('helpbox').style.display="none";
			document.getElementById('nearestlist').style.display="block";
			//document.getElementById('nearestlist').innerHTML="";
			clearNearestList();
			
			mapobject.removeLayerByName('1510'); //restauracje
			mapobject.removeLayerByName('1515'); //bary
			mapobject.removeLayerByName('1520'); //fastfood
			mapobject.hideLayerByName('celownik');
		
			showLoading();
			
			fetchPOIs(1520,0,loclon,loclat); //fastfood
			
			restauracja_b_switch_state = 0;
			bar_b_switch_state = 0;
			fastfood_b_switch_state = 1;
			
			restauracjaswitch_state = 0;
			barswitch_state = 0;
			fastfoodswitch_state = 0;
			
			
		} else {
			fastfood_b_switch.src = "img/fastfood_b_off.png";
			mapobject.removeLayerByName('2015');
			document.getElementById('nearestlist').style.display="block";
			document.getElementById('nearestlist').innerHTML="";
			document.getElementById('helpbox').style.display="none";
			
			restauracja_b_switch_state = 0;
			bar_b_switch_state = 0;
			fastfood_b_switch_state = 0;
						
		}
	} else {
		alert ("Proszę najpierw wskazać adres");
		document.getElementById('adres').focus();
	}
	
};

if (restauracjaswitch.addEventListener){
	restauracjaswitch.addEventListener('click',restauracjaswitch_onclick,false);
	barswitch.addEventListener('click',barswitch_onclick,false);
	fastfoodswitch.addEventListener('click',fastfoodswitch_onclick,false);
	restauracja_b_switch.addEventListener('click',restauracja_b_switch_onclick,false);
	bar_b_switch.addEventListener('click',bar_b_switch_onclick,false);
	fastfood_b_switch.addEventListener('click',fastfood_b_switch_onclick,false); 
} else if (restauracjaswitch.attachEvent) {
	restauracjaswitch.attachEvent('onclick',restauracjaswitch_onclick);
	barswitch.attachEvent('onclick',barswitch_onclick);
	fastfoodswitch.attachEvent('onclick',fastfoodswitch_onclick);
	restauracja_b_switch.attachEvent('onclick',restauracja_b_switch_onclick);
	bar_b_switch.attachEvent('onclick',bar_b_switch_onclick);
	fastfood_b_switch.attachEvent('onclick',fastfood_b_switch_onclick); 
}



//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";
	}
}

//warstwa z celownikiem
var celownikArr = [];
celownik=new MapgoIcon();
celownik.image="img/celownik.png";  
celownik.width=38;
celownik.height=38;
celownik.icon_offx=-1*(celownik.width/2);
celownik.icon_offy=-1*(celownik.height/2);
celownik.lon=0;
celownik.lat=0;
celownikArr.push(celownik);
celownik_l = mapobject.addIconsToMap(celownikArr,"celownik");

mapobject.hideLayerByName('celownik');


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,4);
			mapobject.showLayerByName('celownik');
			mapobject.setIconPos(poix,poiy,celownik);
			
			break;
		}
	}
	
}

function removeRoute() {
	mapobject.removeLayerByName('mapgo_trasa');
	mapobject.removeLayerByName('address_layer');
	mapobject.removeLayerByName('from_layer');
}

/*  function disableOnclick(){

		restauracjaswitch.onclick = null;
		barswitch.onclick = null;
		fastfoodswitch.onclick = null;
		restauracja_b_switch.onclick = null;
		bar_b_switch.onclick = null;
		fastfood_b_switch.onclick = null; 
	
} 

 function enableOnclick(){

		restauracjaswitch.onclick = restauracjaswitch_onclick;
		barswitch.onclick = barswitch_onclick;
		fastfoodswitch.onclick = fastfoodswitch_onclick;
		restauracja_b_switch.onclick = restauracja_b_switch_onclick;
		bar_b_switch.onclick = bar_b_switch_onclick;
		fastfood_b_switch.onclick = fastfood_b_switch_onclick; 
	
}  */

/*  function disableOnclick(){

		if (restauracjaswitch.removeEventListener){
			restauracjaswitch.removeEventListener('click',restauracjaswitch_onclick,false);
			barswitch.removeEventListener('click',barswitch_onclick,false);
			fastfoodswitch.removeEventListener('click',fastfoodswitch_onclick,false);
			restauracja_b_switch.removeEventListener('click',restauracja_b_switch_onclick,false);
			bar_b_switch.removeEventListener('click',bar_b_switch_onclick,false);
			fastfood_b_switch.removeEventListener('click',fastfood_b_switch_onclick,false); 
		} else if (restauracjaswitch.detachEvent) {
			restauracjaswitch.detachEvent('onclick',restauracjaswitch_onclick);
			barswitch.detachEvent('onclick',barswitch_onclick);
			fastfoodswitch.detachEvent('onclick',fastfoodswitch_onclick);
			restauracja_b_switch.detachEvent('onclick',restauracja_b_switch_onclick);
			bar_b_switch.detachEvent('onclick',bar_b_switch_onclick);
			fastfood_b_switch.detachEvent('onclick',fastfood_b_switch_onclick); 
		}
	
}

function enableOnclick(){

		if (restauracjaswitch.addEventListener){
			restauracjaswitch.addEventListener('click',restauracjaswitch_onclick,false);
			barswitch.addEventListener('click',barswitch_onclick,false);
			fastfoodswitch.addEventListener('click',fastfoodswitch_onclick,false);
			restauracja_b_switch.addEventListener('click',restauracja_b_switch_onclick,false);
			bar_b_switch.addEventListener('click',bar_b_switch_onclick,false);
			fastfood_b_switch.addEventListener('click',fastfood_b_switch_onclick,false); 
		} else if (restauracjaswitch.attachEvent) {
			restauracjaswitch.attachEvent('onclick',restauracjaswitch_onclick);
			barswitch.attachEvent('onclick',barswitch_onclick);
			fastfoodswitch.attachEvent('onclick',fastfoodswitch_onclick);
			restauracja_b_switch.attachEvent('onclick',restauracja_b_switch_onclick);
			bar_b_switch.attachEvent('onclick',bar_b_switch_onclick);
			fastfood_b_switch.attachEvent('onclick',fastfood_b_switch_onclick); 
		}
	
}  */


function clearNearestList(){
	var list = document.getElementById('nearestlist');
	while (list.firstChild){
		list.removeChild(list.firstChild);
	}
}

