
var AsyncRequestBestServerInfo = new WebWizardHTTPRequest("text");
AsyncRequestBestServerInfo.ResponseListner=RetrieveInfo;


//Loads the XML response from the web service into an XMLDocument
function getXmlDocument(response)
{
	var xmlDocumentTemp = new ActiveXObject( "Microsoft.XMLDOM" );

	xmlDocumentTemp.async="false";
	xmlDocumentTemp.loadXML(response);

	var xmlDocument = new ActiveXObject( "Microsoft.XMLDOM" );
	xmlDocument.loadXML(xmlDocumentTemp.text);
	return xmlDocument;
}

function parseXMLResult(xmltext)
{
    if(xmltext==null)
    {
        return;
    }
    
    var doc;
    // code for IE
    if (window.ActiveXObject)
    {
       doc=new ActiveXObject("Microsoft.XMLDOM");
       doc.async="false";
       doc.loadXML(xmltext);
    }
    // code for Mozilla, Firefox, Opera, etc.
    else
    {
       var parser=new DOMParser();
       doc=parser.parseFromString(xmltext,"text/xml");
    }// documentElement always represents the root node
    var x=doc.documentElement;
    if(x.childNodes[0])
    var s = x.childNodes[0].nodeValue;
    return s;
}

//This is the response entry-point for an AJAX request
function RetrieveInfo(response,state,status)
{	
	try
	{	
		if(response == null)
		{	
			throw('Invalid Response From WebWizard  server.');
		}
		else 
		{
																	
			var strResult = parseXMLResult(response);
			
			if(strResult!=null && strResult.indexOf("Error")!=-1)
			{
			    throw strResult;
			}
			
			//  obtain lat and long
			var lat=strResult.split(';')[0].split('|')[0];
			var lon=strResult.split(';')[0].split('|')[1];		        				
			
            var strLat=document.getElementById("BestServerLatitudeText").innerHTML+lat+"&deg;";
			var strLon=document.getElementById("BestServerLongitudeText").innerHTML+lon+"&deg;";
			var strHTML = "<table align='center'><tr><td><font size='1' face='ariel'>"+strLat+"</td><td><font size='1' face='ariel'>"+strLon+"</td></tr></table>"
			
			strHTML += document.getElementById("TooltipHeader").innerHTML;			
			
			if(strResult!=null && strResult.length>0)
			{
			    
			    strHTML+="<table align='center' width='200' border='0' cellspacing='0' cellpadding='0'>"			           
			            +"<tr><td><font size='2' face='ariel'><b>"+document.getElementById("BestServerNameHeader").innerHTML
			            +"</B></font></td><td><font size='2' face='ariel'><b>"+document.getElementById("BestServerDistanceHeader").innerHTML
			            +"</B></font></td><td><font size='2' face='ariel'><B>"+document.getElementById("BestServerBearingHeader").innerHTML
			            +"</B></font></td></tr>";			          
			
			    var strarrNthServer=strResult.split(';');
			    for(nIndex=1;nIndex<strarrNthServer.length-1;nIndex++)
			    {
			        var strarrLayers=strarrNthServer[nIndex];
			        
			        if(strarrLayers=="")
			        {
			            continue;
			        }
			        			      
		            var stringID = strarrLayers.split('|')[0];		          
	                var Distance = strarrLayers.split('|')[1];
	                var Azimuth  = strarrLayers.split('|')[2];
    			
		            strHTML+="<tr><td>"+stringID+"</td><td>"+Distance+"km</td><td>"+Azimuth+"&deg;</td></tr>";
			   			    
			    }

				strHTML+="<tr><td><br/></td><td><br/></td><td><br/></td></tr>";
			    

			    strHTML+="</table>";
					 		       
			}
			else
			{
			   strHTML+="<table><tr><td><font size=2 face='ariel'>"+document.getElementById("NoServerDetectedText").innerHTML+"</font></tr></table>";
			}
			
			
			
	//		tooltip.innerHTML=strHTML;
			
		//	xstooltip_show('tooltip', 'idMapContainer', GetGISPixelMouseX(), GetGISPixelMouseY());
		showToolTip('idMapContainer',GetGISPixelMouseX(), GetGISPixelMouseY(),strHTML);
		
		 ShowGISProgressImage(false);
		 
		//Change cursor back to bestserver type
	    var partialUrl = window.location.href.substring(0,window.location.href.lastIndexOf("/") );
	    var cursor = "move";

	    if(window.event)
	    {
	        cursor ="url(" + partialUrl + "/images/bestServer.ani)" + "," + "url(" + partialUrl + "/images/bestServer.cur)" + "," +  "move";
	    }
	    else
	    {
	        cursor ="url(" + partialUrl + "/images/bestServer.cur),move";
	    }
    
		ChangeCursorType(cursor);
		
		//  Need to display a marker at the location too	
	//	bDoNotCloseTootip=true;
	//	aircomMap.GoToLonLat(lon, lat,false); 
			
										
		}		
			
	}										
	catch(strError)
	{
	   alert(strError);
	   ShowGISProgressImage(false);
	    ShowWaitCursor(false);
	}
}


