
var AsyncRequestKPIInfo = new WebWizardHTTPRequest("text");
AsyncRequestKPIInfo.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;
    var s = "";
    if(x.childNodes[0])
        s = x.childNodes[0].nodeValue;
    return s;
}

function GetHeader(strText)
{
    return "<div id='KPIInfoHeader'>"
                  +"<table align='center' width='180' border='0' cellspacing='0' cellpadding='5'>"
                  +"<tr>"
                  +"<td valign='top'>"
                  +"<font size='2' face='ariel'>"
                  +"<B>"
                  +strText
                  +"</B>"
                  +"</font>"
                  +"</td>"
                  +"<td align='right'>"
                  +"<img border='0' id='btnCloseToolTip' src='images/tooltipclose.png' onclick='hideToolTip()' onmouseover='btnCloseToolTip_OnMouseOver(event)' onmouseout='btnCloseToolTip_OnMouseOut(event)'></img>"
                  +"</td>"
                  +"</tr>"
                  +"</table>"
                  +"</div>";

}

//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 strHTML = "";
					
			var strResult = parseXMLResult(response);
			
			if(strResult!=null && strResult.indexOf("Error")!=-1)
			{
			    throw strResult;
			}
			
			if(strResult!=null && strResult.length>0)
			{
			    
			    var strarrKPIInfo=strResult.split('&');
			    
			    //  get tooltip header		    
			    var strKPI=strarrKPIInfo[0].split('|')[0];
			    var strCellID=strarrKPIInfo[0].split('|')[1];	
			    		    			  
			    strHTML = GetHeader(strCellID+" "+strKPI);			   
			    
			    strHTML+="<table align='center' width='200' border='0' cellspacing='0' cellpadding='0'>"
			            +"<tr><td><font size='2' face='ariel'><b>"+document.getElementById("KPINameHeader").innerHTML
			            +"</B></font></td><td><font size='2' face='ariel'><b>"+document.getElementById("KPIValueHeader").innerHTML			            
			            +"</B></font></td></tr>";			          
			
			    for(nIndex=1;nIndex<strarrKPIInfo.length-1;nIndex++)
			    {
			        var strarrField=strarrKPIInfo[nIndex].split('|');
			        
			        if(strarrField=="")
			        {
			            continue;
			        }
			        
		            var Field = strarrField[0];
	                var Value = strarrField[1];
    			
		            strHTML+="<tr><td>"+Field+"</td><td>"+Value+"</td></tr>";
			   			    
			    }

				strHTML+="<tr><td><br/></td><td><br/></td></tr>";
			    

			    strHTML+="</table>";
					 		       
			}
			else
			{		
			   strHTML = GetHeader(document.getElementById("KPINoCellDetectedHeader").innerHTML);  
			   strHTML+="<table><tr><td><font size=2 face='ariel'>"+document.getElementById("KPINoCellDetectedText").innerHTML+"</font></tr></table>";
			}
			
			
			
	//		tooltip.innerHTML=strHTML;
			
		//	xstooltip_show('tooltip', 'idMapContainer', GetGISPixelMouseX(), GetGISPixelMouseY());
		showToolTip('idMapContainer',GetGISPixelMouseX(), GetGISPixelMouseY(),strHTML);
		
		ShowGISProgressImage(false);
		 
		//Change cursor back
		var partialUrl = window.location.href.substring(0,window.location.href.lastIndexOf("/") );
	    var cursor="url(" + partialUrl + "/images/kpi.cur),pointer";	   
	  
		ChangeCursorType(cursor);
											
		}		
		
	}										
	catch(strError)
	{
	   alert(strError);
	   ShowGISProgressImage(false);
	    ShowWaitCursor(false);
	}
}


