/*+-------------+----------------------------------------------------------*
 *|        /\   |   University of Bonn                                     *
 *|       |  |  |     Department of Geography                              *
 *|      _|  |_ |     Chair of Cartography                                 *
 *|    _/      \|                                                          *
 *|___|         |                                                          *
 *|             |     Meckenheimer Allee 172                               *
 *|             |     D-53115 Bonn, Germany                                *
 *+-------------+----------------------------------------------------------*/
/**
 * <p><b>Title: OpenLS DS</b></p>
 * <p><b>Description:</b> Functions Directory Service </p>
 *
 * <p><b>Copyright:</b> Copyright (c) 2008</p>
 * <p><b>Institution:</b> University of Bonn, Department of Geography</p>
 * @author Pascal Neis, neis@geographie.uni-bonn.de
 * @version 1.0 2008-07-11
 */
 
//Alles was f�r OpenLS DS wichtig ist

//**********************************************************
		// reads the values from the website form and starts the request
		function displayPOIs(poiType, maxDistance){
			console.log("display POI");

			//disable Search TextField & Button
			//document.getElementById("tfDistance").disabled=true;
			//document.getElementById("Display1").disabled=true;
			//document.getElementById("Display2").disabled=true;

			//Set Infos ...
			//document.getElementById('route_poi').style.visibility = 'visible';
			//document.getElementById('route_poi').innerHTML =  '<span class="infos">Bitte warten Sie einen Moment! Die Suche ben�tigt ein paar Sekunden...</span>';
			showMessage('Bitte warten Sie einen Moment! Die Suche ben�tigt ein paar Sekunden...');
			document.getElementById('problems').innerHTML = '<span class="infos"></span>';
			
			//get search type
			var searchtype = 'dwithin';//document.getElementById("selectSearchType")[document.getElementById("selectSearchType").selectedIndex].value;
			var mindistance = "0";
			//alert(maxDistance);
                        if(maxDistance == undefined){maxdistance = "2000";} else {maxdistance = maxDistance;}
			maxresponse = "120";

			//get distance
			//var distance = document.getElementById("tfDistance").value;
			//var mindistance = document.getElementById("tfMinDistance").value;
			//var maxdistance = document.getElementById("tfMaxDistance").value;
			
			//var name = document.getElementById("tfNameSearch").value;
			
			// check, if the input is a number
			//if(checkNumber(mindistance)&&checkNumber(maxdistance)){
				//get poi query info 
				
				//poiType wird nun von der aufrufenden function �bergeben!!!
				//var poiType = document.getElementById("selectPOIType")[document.getElementById("selectPOIType").selectedIndex].value;
				
				var poiname; var poivalue;
				if(poiType=='public_tran' || poiType=='amenity' || poiType=='shop' || poiType=='tourism'){
					poiname = 'Keyword'; poivalue = poiType;
				}
				else{
					//poiname = 'NAICS_type'; poivalue = poiType;
					poiname = 'OSM_KEYS_VALUES'; poivalue = poiType;
				}
				
				
				var position = "";
				var positionLonlat ="";
				
				var lon="";
				var lat="";
				
				if(getStartOrEndFeature('Start')!=undefined){
					position = new OpenLayers.LonLat(getStartOrEndFeature('Start').lonlat.lon,getStartOrEndFeature('Start').lonlat.lat);
					positionLonlat = position.transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326"));
					lon = positionLonlat.lon+",";
					lat = positionLonlat.lat;
				}
				
				
				
				var data = 'SearchType='+searchtype+'&Position='+lon+lat+'&MinDistance='+mindistance+'&MaxDistance='+maxdistance+'&POIname='+poiname+'&POIvalue='+poivalue+'&Name='+name+'&MaxResponse='+maxresponse;
				
				var url = 'php/OpenLSDS_Directory.php';
	
				/*
new OpenLayers.Ajax.Request(url, {  method: 'post',
													parameters: data,
													onComplete: showPOIs});
*/
													
				OpenLayers.Request.issue({
									method: 'POST',
									url: url,
									data: data,
									headers: {
										'Content-Type': 'application/x-www-form-urlencoded'
									},
									callback: showPOIs
								});									
													
													
													
//			}
//			else{
//				//enable TextField & Search Button
//				//document.getElementById("tfMinDistance").disabled=false;
//				//document.getElementById("tfMaxDistance").disabled=false;
//				//document.getElementById("Display1").disabled=false;
//				document.getElementById("Display2").disabled=false;
//			}
		}

		function showPOIs(response) {
			
			//alert(response.responseText);
			if (response) {
				
				// remove markers
				markersPOI.clearMarkers();
				
				//alert(response.responseText);
				var xmlresponse = response.responseXML;
				var errorList = xmlresponse.getElementsByTagName('ErrorList');
				
				if(errorList.length == 0)
						errorList = xmlresponse.getElementsByTagName('xls:ErrorList');
						
				if(errorList.length > 0){
					var error = errorList[0].getElementsByTagName('Error');
					if(error.length == 0)
						error = xmlresponse.getElementsByTagName('xls:Error');
					var message = error[0].getAttribute('message')
					
					if(message.match('gml:pos'))
						showError("Bitte klicken Sie in die Karte, um eine Position zu setzen, von der aus die Umkreissuche gestartet werden soll.");
						//alert("Bitte klicken Sie in die Karte, um eine Position zu setzen, von der aus die Umkreissuche gestartet werden soll.");
					else 
						showError("Es ist ein Problem mit dem OpenLS Location Utility Service aufgetreten: \n"+message);
						//alert("Problem with OpenLS Location Utility Service \nMessage: "+message);
					
						
					document.getElementById('problems').innerHTML = '<span class="problems">'+message+'</span>';
					document.getElementById('route_poi').innerHTML = "";
				}
				else{
					// parse POIContext
					var foundPOIs = xmlresponse.getElementsByTagName('POIContext');
					
					if(foundPOIs.length == 0)
						foundPOIs = xmlresponse.getElementsByTagName('xls:POIContext');
					
					if(foundPOIs.length == 0){
						document.getElementById('route_poi').innerHTML = "Ihre Anfrage ergab keine Ergebnisse im Umkreis von "+maxdistance+"m ...<br><button class='button_long' onclick='javascript:displayPOI(getPoiType().split(&quot;;&quot;)[0],getPoiTypeMaxDist())'>Gleiche Suche ohne Einschr&auml;nkung</button><br><button class='button_long' onclick='javascript:displayPOI(getPoiType(),getPoiTypeMaxDist()*2)'>Gleiche Suche in gr&ouml;&szlig;erem Umkreis</button>";
					}
					else{
						var header = xmlresponse.getElementsByTagName('Response');
						if(header.length == 0)
								header = xmlresponse.getElementsByTagName('xls:Response');
						var numberofResponses = header[0].getAttribute('numberOfResponses');
						
						var result;
						

						result = '<span class="route_instruction_heading">Gefundene Einrichtungen: '+numberofResponses+' (Maximum ist '+maxresponse+')</span><br>';
						//result +='<div id="DS_results_div"><table id="DS_result_table">';
						result +='<ol class="searchResult">';

						//Icons
						var bus_stop=true; var parking=true; var bus_station=true; var railway_station=true; var tram_stop=true; var subway_entrance=true;
						var atm= true; var bank= true; var bureau_de_change=true; var biergarten=true; var bus_station=true; var cafe= true; var cinema=true;
						var college=true; var courthouse=true; var fast_food=true; var fuel=true; var hospital=true; var library=true;
						var nightclub=true; var parking=true; var pharmacy=true; var place_of_worship=true; var police=true; var post_box=true; var post_office=true; var pub=true;
						var public_building=true; var restaurant=true; var school=true; var taxi=true; var telephone=true; var theatre=true; var toilets=true; var townhall=true;
						var university=true; var supermarket=true; var convenience=true; var bakery=true; var butcher=true; var kiosk=true; var information=true; var hotel=true;
						var motel=true; var guest_house=true; var hostel=true;
						var defaultIcon = true;
						
						for (var i = 0; i < foundPOIs.length; i++) {
							//position
							var pos;
							var position = foundPOIs[i].getElementsByTagName('pos');
							if(position.length == 0)
								position = foundPOIs[i].getElementsByTagName('gml:pos');

							if(typeof position[0].textContent != 'undefined')
								pos = position[0].textContent.split(' ');
							else
								pos = position[0].text.split(' ');
								
							var lonlat = new OpenLayers.LonLat(pos[0],pos[1]);
							
						
							//poi
							var poi = foundPOIs[i].getElementsByTagName('POI');
							if(poi.length == 0)
								poi = foundPOIs[i].getElementsByTagName('xls:POI');
							
							var poiID = poi[0].getAttribute('ID');
							var poiName = poi[0].getAttribute('POIName');
							var poiDescription = poi[0].getAttribute('description');
							//poiDescription = poiDescription.slice(0,poiDescription.indexOf(';'));
							var shortPoiDescription = poiDescription.slice(0,poiDescription.indexOf(';'));
                                                        var isBarrierfree = "";
                                                        if(poiDescription.search(/wheelchair:yes/) != -1 || poiDescription.search(/capacity:yes/) != -1 ){isBarrierfree = '<img src="./img/barrierefrei.png" title="barrierefrei" alt="barrierefrei">';}else{isBarrierfree = '';}

							//distance
							var distanceType = foundPOIs[i].getElementsByTagName('Distance');
							if(distanceType.length == 0)
								distanceType = foundPOIs[i].getElementsByTagName('xls:Distance');
								
							var distance = distanceType[0].getAttribute('value');
							var distanceUnit = distanceType[0].getAttribute('uom');
							

							
//							lonlat = new OpenLayers.LonLat(lonlat.lon,lonlat.lat).transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326"));
//							document.getElementById('tfEndSearch').value = 'Pos@: '+lonlat.lon.toFixed(6)+' '+lonlat.lat.toFixed(6);
//							
//							
//							
//							var endlonlat = new OpenLayers.LonLat(endpos[0],endpos[1]).transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));
//							
//							document.getElementById('tfStartSearch').value = 'Pos@: ' + startpos[0] + ' ' + startpos[1];
//
//							markerzoom('end', lonlatGeocode, map.zoom, freeFormGeocode);
							
						//onmouseover="javascript:markersPOI.markers['+i+'].icon.url=\'./img/arrow-orange.png\';markersPOI.redraw();" onmouseout="javascript:markersPOI.markers['+i+'].icon.url=\'./img/arrow-gray-transparent.png\';markersPOI.redraw();"	
						if ((i % 2) != 0) {
							result += '<li>';
						} else {
							result += '<li class="odd">';
						}
						
						if(distance!='0'){
							
//							result += '<tr nowrap><td width="10" class="route_poi">'+(i+1)+'. </td>'
//							+'<td onclick="javascript:markerzoom(\'start\', new OpenLayers.LonLat('+lonlat+'), 15, null);" onmouseover="javascript:markersPOI.markers['+i+'].icon.url=\'./img/arrow-orange.png\';markersPOI.redraw();" onmouseout="javascript:markersPOI.markers['+i+'].icon.url=\'./img/arrow-gray-transparent.png\';markersPOI.redraw();"><span class="route_poi">'
////							+'<a href="#" onclick="javascript:lonlatzoom(new OpenLayers.LonLat('+lonlat+'), null);" '
////							+'<a href="#" onclick="javascript:markerzoom(\'end\', new OpenLayers.LonLat('+lonlat+'), map.zoom, null);" ' //rausgenommen f�r Version ohne Routing
//							+'<span ' //eingef�gt f�r Version ohne Routing (Klick auf DS Ergebnisliste setzt neuen Startpunkt, statt Endpunkt f�r Routing
//							+'title="'+poiName+' ('+poiDescription+')'+'">'
//							+poiName+' ('+shortPoiDescription+isBarrierfree+') - Entfernung: ~'+distance+' '+distanceUnit.toLowerCase()+'</span></span></td>\n</tr> \n';
							
							result += '<a href="#" onclick="javascript:markerzoom(\'end\', new OpenLayers.LonLat('+lonlat+'), 15, null); isSetStartEnd();" onmouseover="javascript:markersPOI.markers['+i+'].icon.url=\'./img/arrow-orange.png\';markersPOI.redraw();" onmouseout="javascript:markersPOI.markers['+i+'].icon.url=\'./img/arrow-gray-transparent.png\';markersPOI.redraw();"><span ' //eingef�gt f�r Version ohne Routing (Klick auf DS Ergebnisliste setzt neuen Startpunkt, statt Endpunkt f�r Routing
							+'title="'+poiName+' ('+poiDescription+')'+'">'
							+poiName+' ('+shortPoiDescription+isBarrierfree+') - Entfernung: ~'+distance+' '+distanceUnit.toLowerCase()+'</span></span></a></li>\n';
						}else{
//							result += '<tr nowrap><td width="10" class="route_poi">'+(i+1)+'. </td>'
//							+'<td onclick="javascript:markerzoom(\'start\', new OpenLayers.LonLat('+lonlat+'), 15, null);" onmouseover="javascript:markersPOI.markers['+i+'].icon.url=\'./img/arrow-orange.png\';markersPOI.redraw();" onmouseout="javascript:markersPOI.markers['+i+'].icon.url=\'./img/arrow-gray-transparent.png\';markersPOI.redraw();"><span class="route_poi">'
////							+'<a href="#" onclick="javascript:markerzoom(\'end\', new OpenLayers.LonLat('+lonlat+'), map.zoom, null);" '  //rausgenommen f�r Version ohne Routing
//							+'<span '  //eingef�gt f�r Version ohne Routing (Klick auf DS Ergebnisliste setzt neuen Startpunkt, statt Endpunkt f�r Routing
//							+'title="'+poiName+' ('+poiDescription+')'+'">'
//							+poiName+' ('+shortPoiDescription+isBarrierfree+')</span></span></td>\n</tr> \n';

							result += '<a href="#" onclick="javascript:markerzoom(\'end\', new OpenLayers.LonLat('+lonlat+'), 15, null);" onmouseover="javascript:markersPOI.markers['+i+'].icon.url=\'./img/arrow-orange.png\';markersPOI.redraw();" onmouseout="javascript:markersPOI.markers['+i+'].icon.url=\'./img/arrow-gray-transparent.png\';markersPOI.redraw();"><span '  //eingef�gt f�r Version ohne Routing (Klick auf DS Ergebnisliste setzt neuen Startpunkt, statt Endpunkt f�r Routing
							+'title="'+poiName+' ('+poiDescription+')'+'">'
							+poiName+' ('+shortPoiDescription+isBarrierfree+')</span></span></a></li> \n';
							
						}
//							
//							alert('hi denni');
//							alert(lonlat)
//							alert('denni ist .....'+lon+' und da f�hlt er sich wohl!!!!')
							
// ORIGINAL!!!
//							if(!distance.match('0')){
//								result += '<tr nowrap><td width="10" class="route_poi">'+(i+1)+'. </td>'
//								+'<td><span class="route_poi">'
//								+'<a href="#" onclick="javascript:lonlatzoom(new OpenLayers.LonLat('+lonlat+'), null);" '
//								+'title="'+poiName+' ('+poiDescription+')'+'">'
//								+poiName+' ('+poiDescription+') - Distance: ~'+distance+' '+distanceUnit.toLowerCase()+'</a></span></td>\n</tr> \n';
//							}else{
//								result += '<tr nowrap><td width="10" class="route_poi">'+(i+1)+'. </td>'
//								+'<td><span class="route_poi">'
//								+'<a href="#" onclick="javascript:lonlatzoom(new OpenLayers.LonLat('+lonlat+'), null);" '
//								+'title="'+poiName+' ('+poiDescription+')'+'">'
//								+poiName+' ('+poiDescription+')</a></span></td>\n</tr> \n';
//							}
							
//									+poiName+' ('+poiDescription+') - Distance: ~'+distance+' '+distanceUnit.toLowerCase()+'<br>'
//									+'Position: '+lonlat.lon.toFixed(6)+'� '+lonlat.lat.toFixed(6)+'�</a></span></td>\n</tr> \n';

							lonlat.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));

							if(poiDescription == 'bus_stop' && bus_stop){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_bus_stop)); bus_stop = false;}
							else if(poiDescription == 'bus_stop'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_bus_stop.clone()));}
							else if(poiDescription == 'parking' && parking){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_parking)); parking = false;}
							else if(poiDescription == 'parking'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_parking.clone()));}
							else if(poiDescription == 'bus_station' && bus_station){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_bus_station)); bus_station = false;}
							else if(poiDescription == 'bus_station'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_bus_station.clone()));}
							else if(poiDescription == 'railway_station' && railway_station){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_railway_station)); railway_station = false;}
							else if(poiDescription == 'railway_station'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_railway_station.clone()));}
							else if(poiDescription == 'tram_stop' && tram_stop){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_tram_stop)); tram_stop = false;}
							else if(poiDescription == 'tram_stop'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_tram_stop.clone()));}
							else if(poiDescription == 'subway_entrance' && subway_entrance){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_subway_entrance)); subway_entrance = false;}
							else if(poiDescription == 'subway_entrance'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_subway_entrance.clone()));}
							else if(poiDescription == 'atm' && atm){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_atm)); atm = false;}
							else if(poiDescription == 'atm'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_atm.clone()));}
							else if(poiDescription == 'bank' && bank){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_bank)); bank = false;}
							else if(poiDescription == 'bank'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_bank.clone()));}
							else if(poiDescription == 'bureau_de_change' && bureau_de_change){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_bureau_de_change)); bureau_de_change = false;}
							else if(poiDescription == 'bureau_de_change'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_bureau_de_change.clone()));}
							else if(poiDescription == 'biergarten' && biergarten){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_biergarten)); biergarten = false;}
							else if(poiDescription == 'biergarten'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_biergarten.clone()));}
							else if(poiDescription == 'bus_station' && bus_station){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_bus_station)); bus_station = false;}
							else if(poiDescription == 'bus_station'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_bus_station.clone()));}
							else if(poiDescription == 'cafe' && cafe){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_cafe)); cafe = false;}
							else if(poiDescription == 'cafe'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_cafe.clone()));}
							else if(poiDescription == 'cinema' && cinema){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_cinema)); cinema = false;}
							else if(poiDescription == 'cinema'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_cinema.clone()));}
							else if(poiDescription == 'college' && college){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_college)); college = false;}
							else if(poiDescription == 'college'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_college.clone()));}
							else if(poiDescription == 'courthouse' && courthouse){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_courthouse)); courthouse = false;}
							else if(poiDescription == 'courthouse'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_courthouse.clone()));}
							else if(poiDescription == 'fast_food' && fast_food){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_fast_food)); fast_food = false;}
							else if(poiDescription == 'fast_food'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_fast_food.clone()));}
							else if(poiDescription == 'fuel' && fuel){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_fuel)); fuel = false;}
							else if(poiDescription == 'fuel'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_fuel.clone()));}
							else if(poiDescription == 'hospital' && hospital){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_hospital)); hospital = false;}
							else if(poiDescription == 'hospital'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_hospital.clone()));}
							else if(poiDescription == 'library' && library){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_library)); library = false;}
							else if(poiDescription == 'library'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_library.clone()));}
							else if(poiDescription == 'nightclub' && nightclub){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_nightclub)); nightclub = false;}
							else if(poiDescription == 'nightclub'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_nightclub.clone()));}
							else if(poiDescription == 'pharmacy' && pharmacy){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_pharmacy)); pharmacy = false;}
							else if(poiDescription == 'pharmacy'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_pharmacy.clone()));}
							else if(poiDescription == 'place_of_worship' && place_of_worship){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_place_of_worship)); place_of_worship = false;}
							else if(poiDescription == 'place_of_worship'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_place_of_worship.clone()));}
							
							else if(poiDescription == 'place_of_worship:christian' && place_of_worship){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_place_of_worship)); place_of_worship = false;}
							else if(poiDescription == 'place_of_worship:christian'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_place_of_worship.clone()));}
							
							
							
							else if(poiDescription == 'police' && police){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_police)); police = false;}
							else if(poiDescription == 'police'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_police.clone()));}
							else if(poiDescription == 'post_box' && post_box){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_post_box)); post_box = false;}
							else if(poiDescription == 'post_box'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_post_box.clone()));}
							else if(poiDescription == 'post_office' && post_office){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_post_office)); post_office = false;}
							else if(poiDescription == 'post_office'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_post_office.clone()));}
							else if(poiDescription == 'pub' && pub){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_pub)); pub = false;}
							else if(poiDescription == 'pub'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_pub.clone()));}
							else if(poiDescription == 'public_building' && public_building){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_public_building)); public_building = false;}
							else if(poiDescription == 'public_building'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_public_building.clone()));}
							else if(poiDescription == 'restaurant' && restaurant){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_restaurant)); restaurant = false;}
							else if(poiDescription == 'restaurant'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_restaurant.clone()));}
							else if(poiDescription == 'school' && school){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_school)); school = false;}
							else if(poiDescription == 'school'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_school.clone()));}
							else if(poiDescription == 'taxi' && taxi){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_taxi)); taxi = false;}
							else if(poiDescription == 'taxi'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_taxi.clone()));}
							else if(poiDescription == 'telephone' && telephone){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_telephone)); telephone = false;}
							else if(poiDescription == 'telephone'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_telephone.clone()));}
							else if(poiDescription == 'theatre' && theatre){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_theatre)); theatre = false;}
							else if(poiDescription == 'theatre'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_theatre.clone()));}
							else if(poiDescription == 'toilets' && toilets){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_toilets)); toilets = false;}
							else if(poiDescription == 'toilets'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_toilets.clone()));}
							else if(poiDescription == 'townhall' && townhall){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_townhall)); townhall = false;}
							else if(poiDescription == 'townhall'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_townhall.clone()));}
							else if(poiDescription == 'university' && university){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_university)); university = false;}
							else if(poiDescription == 'university'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_university.clone()));}
							else if(poiDescription == 'supermarket' && supermarket){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_supermarket)); supermarket = false;}
							else if(poiDescription == 'supermarket'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_supermarket.clone()));}
							else if(poiDescription == 'convenience' && convenience){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_convenience)); convenience = false;}
							else if(poiDescription == 'convenience'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_convenience.clone()));}
							else if(poiDescription == 'bakery' && bakery){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_bakery)); bakery = false;}
							else if(poiDescription == 'bakery'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_bakery.clone()));}
							else if(poiDescription == 'butcher' && butcher){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_butcher)); butcher = false;}
							else if(poiDescription == 'butcher'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_butcher.clone()));}
							else if(poiDescription == 'kiosk' && kiosk){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_kiosk)); kiosk = false;}
							else if(poiDescription == 'kiosk'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_kiosk.clone()));}
							else if(poiDescription == 'information' && information){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_information)); information = false;}
							else if(poiDescription == 'information'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_information.clone()));}
							else if(poiDescription == 'hotel' && hotel){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_hotel)); hotel = false;}
							else if(poiDescription == 'hotel'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_hotel.clone()));}
							else if(poiDescription == 'motel' && motel){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_motel)); motel = false;}
							else if(poiDescription == 'motel'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_motel.clone()));}
							else if(poiDescription == 'guest_house' && guest_house){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_guest_house)); guest_house = false;}
							else if(poiDescription == 'guest_house'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_guest_house.clone()));}
							else if(poiDescription == 'hostel' && hostel){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_hostel)); hostel = false;}
							else if(poiDescription == 'hostel'){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIcon_hostel.clone()));}
							else if(defaultIcon){markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIconDefault)); defaultIcon=false;}
							else markersPOI.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lonlat.lon,lonlat.lat),markerIconDefault.clone()));
						}
						//result += '</table></div>';
						result += '</ol>';
                                                var myBounds = new OpenLayers.Bounds();
                                                myBounds.extend(markersPOI.getDataExtent());
                                                myBounds.extend(lyMarkers.getDataExtent());
                                                var zoomlevelBeforeZoom = map.getZoom();
                                                map.zoomToExtent(myBounds);
                                                if (map.getZoom() >= 13 && zoomlevelBeforeZoom <12 ){map.zoomTo(12);}
                                                document.getElementById('endResults').innerHTML = result;
						//document.getElementById('problems').innerHTML = '<span class="infos"></span>';
						$('#message').remove();
						setResultsHeight();
                                                //document.getElementById("Clear1").disabled=false;
						//document.getElementById("Clear2").disabled=false;
					}
				}
			}
			//enable TextField & Display Button
			//document.getElementById("tfDistance").disabled=false;
			//document.getElementById("Display1").disabled=false;
			//document.getElementById("Display2").disabled=false;
}		
