﻿
var AsyncRequestLocationMarker = new WebWizardHTTPRequest("text");
AsyncRequestLocationMarker.ResponseListner=DisplayURLTooltip;


//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;
    var s = "";
    if(x.childNodes[0])
    s = x.childNodes[0].nodeValue;
    return s;
}


//This is the response entry-point for an AJAX request
function DisplayURLTooltip(response,state,status)
{	
	try
	{
		if(response == null)
		{	
			throw('Invalid Response From WebWizard  server.');
		}
		else 
		{		    	
            var lon, lat, zoomFactor;
            																	
			var strResult = parseXMLResult(response);
			
			if(strResult!=null && strResult.indexOf("error")!=-1)
			{
			    throw strResult;
			}
			else
			{
			    lon = strResult.split('|')[0];
			    lat = strResult.split('|')[1];
			    zoomFactor = strResult.split('|')[2];
			}
			
			
			var url = window.location.href;
			if(window.location.href.indexOf('?') != -1)
			{
			    url = url.split('?')[0];
			}
			
			var tooltipTxt;

			if(url.indexOf('?') == -1)
			{
			    tooltipTxt = url + '<wbr>?lon=' + lon + '&lat=' + lat + '&zoom=' + zoomFactor + '&Language=' + selectedLanguage;
			}
			else
			{
			    tooltipTxt = url + '<wbr>&lon=' + lon + '&lat=' + lat + '&zoom=' + zoomFactor + '&Language=' + selectedLanguage;
			}
			var tooltipTxtUpdated = '';
			var fontSize = '1';
			
			var divisor;
			
			if(navigator.userAgent.toLowerCase().indexOf('firefox') >=0)
			{
			    divisor = 30;
			}
			else if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)
			{
			    divisor = 27;
			}
						
			if(navigator.userAgent.toLowerCase().indexOf('firefox') >=0 ||
               navigator.userAgent.toLowerCase().indexOf('safari')>=0) 			  
			{ 
			    var output = '';
                for(var i=0; i<tooltipTxt.length; i++)
                {
	                if(i>0 && i%divisor ==0)
	                {
		                tooltipTxtUpdated += '<WBR>';
		            }
	                tooltipTxtUpdated += tooltipTxt.charAt(i);
                }       
                tooltipTxt = tooltipTxtUpdated;  
                fontSize = '2';                      
            }
			
			strHTML = document.getElementById("LocatioURLTooltipHeader").innerHTML;								    		    
		    strHTML += "<table align='center' width='150' border='0' cellspacing='0' cellpadding='0'>"	
			            +"<tr><td align='left' STYLE='word-wrap:break-word;' width='190'><font size='" + fontSize + "' face='ariel'>"+ tooltipTxt + "</font></td></tr></table>";
		    
		    showToolTip('idMapContainer',GetGISPixelMouseX(), GetGISPixelMouseY(),strHTML);
            
            ShowGISProgressImage(false);
		    ShowWaitCursor(false);
		   
            bDoNotCloseTootip=true;           
            aircomMap.RefreshAllLayers();
        }
			
	}										
	catch(strError)
	{
	    alert(strError);
	    ShowGISProgressImage(false);
	    ShowWaitCursor(false);
	    aircomMap.SetState("locationMarker",cursor);
	}
}





