﻿// ajax services provided 
    var req;
    var responseContent;
    var start;
    var timeStart;
    var initiatingElement
    
    var loadingImage = new Image();
    loadingImage.src = "../images/loadingsmall.gif";

    function loadNewContainer(recordId, currentEle) {
        initiatingElement = currentEle;
        //alert(recordId);
	    var sURL = "/redpages/handlers/servicesprovided.ashx?i=" + recordId;
               
        //# 2/3/2006 [sef] set our start time
        start = new Date();
        timeStart = start.getTime(); 

	    //# 2/3/2006 [sef] setup xml http request
	    req = GetXMLHttpObject();
   	    req.onreadystatechange = handleRequest;	
        req.open("GET", sURL, true);
        req.send(null);  

    }
    
  
    function handleRequest() {
	     //# 2/3/2006 [sef] if the response has made it's way back from the server then validate it and take action
	    //alert(req.responseText);
         if (req.readyState == 4) {
              // only if "OK"
               if (req.status == 200) {
                   // ...processing statements go here...
                   //alert(req.responseText);
		           responseContent = req.responseText;
               } 
               else {
                    responseContent = "We apologize but there was an error processing your request.  Please <a href='javascript:window.location.reload()'>Try Again<\/a>.<p>Error Detail: There was a problem retrieving the XML data:\n" + req.statusText;
                    fillContainer(responseContent);
                    
               }
            //# 2/3/2006 [sef] calculate how long the xml http operation took, make the response take 2 seconds so you get to see the gears ;)
            var end = new Date();
    	    var timeEnd = end.getTime();  
    	    var diff = timeEnd - timeStart;
    	    var waitTime = 0 - diff;
      	
    		    if (waitTime > 0) {
    			    //document.getElementById("ajaxStat").innerHTML = "Execution Time: " + diff + "ms";
			        window.setTimeout("processResponse();", waitTime);
    		    }
    		    else {
    			    processResponse();
    		    }
          }
          else
          {
      	    setLoadingStatus();
          }
    }
    
    function processResponse() {
        var responseString = responseContent;
          fillContainer(responseString);                                                           
    }
    
    function fillContainer(txt) {
        // add new div right after calling element
        var div = document.createElement("div");
        div.innerHTML = txt;
        div.className = "servicesContainer";
        //alert("initiator = " + initiatingElement.id);
        //alert("response text to be added is = " + txt);
        document.getElementById(initiatingElement.id).parentNode.appendChild(div);
	    ////var container = document.getElementById("headlineDetail");
	    ////container.innerHTML = txt;
        clearLoadingStatus();

        // hide initiator.. his work is done
        initiatingElement.style.display = "none";
    }
    
    function setLoadingStatus() {
        //document.getElementById("headlineDetail").style.background = "transparent url(/images/icons/loading.gif) no-repeat fixed 100% 0%";
        
        ////document.getElementById("headlineDetail").style.background = "url(/modules/redpages/images/loadingsmall.gif) no-repeat 100% 0%";
        
        //alert(document.getElementById("headlineDetail").style.background);
    }
    
    function clearLoadingStatus() {
        //alert(document.getElementById("headlineDetail").style.background);
        ////document.getElementById("headlineDetail").style.background = "";
    }
 
function GetXMLHttpObject()
{
    var oXMLHttp = null;

    try
    {
        oXMLHttp = new ActiveXObject("MSXML2.XMLHTTP");
    }
    catch (E)
    {
        try
        {
            oXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E)
        {
          oXMLHttp = null;
        }
    }

    if ((oXMLHttp == null) && (typeof(XMLHttpRequest) != 'undefined'))
    {
        oXMLHttp = new XMLHttpRequest();
    }

    return oXMLHttp;
}

function LoadPage(sURL)
{
    var oXMLHttp = GetXMLHttpObject();

    oXMLHttp.open("GET", sURL, true);
    oXMLHttp.send(null);
}

