
function poiRadius(settings)
{
	var poimarkersLayer = null ;
  var olmap           = null ;
  var clientScriptPath    = settings['clientScriptPath'];
  
 
  this.setMap         = setMap;
  this.getPoiList     = getPoiList;
  
  function clearLayer()
  {
      poimarkersLayer.clearMarkers();
  
  }

  function setMap(map)
  {
      olmap = map;
      poimarkersLayer = new OpenLayers.Layer.Markers("poiradius");
      poimarkersLayer.displayInLayerSwitcher = true;
      map.addLayer(poimarkersLayer);
  }
  	
	function getPoiList(x,y,lenFldId,listpoiId)
	{
    		var radius  = document.getElementById(lenFldId).value;
    		var tbl	    = document.getElementById(listpoiId).value;
        clearLayer();
    		$jq.get
    		(
    			clientScriptPath, 
    	    {x:x,y:y,r:radius,tbl:tbl},
    	    function(xml) 
    			{
              //alert(xml);   			  
    	        // code for IE
          		if (window.ActiveXObject)
            	{
            			var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
            			xmlDoc.async="false";
            			xmlDoc.loadXML(xml);
            	}
          		// code for Mozilla, Firefox, Opera, etc.
          		else if (document.implementation && document.implementation.createDocument)
            	{
            		  var parser	=	new DOMParser();
            			var xmlDoc =	parser.parseFromString(xml,"text/xml");
            	}
          	   
          	  myNodes = xmlDoc.getElementsByTagName("poilist"); 
          	  if (myNodes.length == 0)
          	  {
                  alert (getMessage('msgpoi1'));
                  return;
              }
          	  //Extract the different values using a loop.
              for(var counter=0;counter<myNodes.length;counter++) 
              {
                  
                  itemNode = myNodes.item(counter);
                  new function() {
                  var x = itemNode.getElementsByTagName("x").item(0).firstChild.nodeValue; 
                  var y = itemNode.getElementsByTagName("y").item(0).firstChild.nodeValue; 
                  var d = itemNode.getElementsByTagName("description").item(0).firstChild.nodeValue;  
                  
                  var point = new OpenLayers.Geometry.Point(x, y);
    			 	      var point_merc = OpenLayers.Projection.transform(point, "epsg:4326", "epsg:54004");
    							
    				      var size = new OpenLayers.Size(25,25);
    	 			      var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
    	 			      var icon = new OpenLayers.Icon(OpenLayers.Util.getImagesLocation() + 'info_small.png',size,offset);	
    				      var marker = new OpenLayers.Marker(new OpenLayers.LonLat(point_merc.x,point_merc.y),icon)
    				      poimarkersLayer.addMarker(marker); 
    				      
    				      marker.events.register('mousedown', marker, function(evt) 
    				      { 
    				   	     
                     var popupPoi = new OpenLayers.Popup.Anchored("poiuzte", 
                                         new OpenLayers.LonLat(point_merc.x,point_merc.y),
                                         new OpenLayers.Size(400,400),
                                         "<b>"+d+"<b>",true);
                    olmap.addPopup(popupPoi);
                    
    						    OpenLayers.Event.stop(evt); 
    				      });	
    				      
               		
    	            olmap.zoomToExtent (poimarkersLayer.getDataExtent());
                  }     
              }
              
    	    });
	 }

}


