  var xmlHttp; 
    var requestURL = 'http://localhost/ICMAutoSave/AutoSave.aspx?'; 
    var is_ie = (navigator.userAgent.indexOf('MSIE') >= 0) ? 1 : 0; 
    var is_ie5 = (navigator.appVersion.indexOf("MSIE 5.5")!=-1) ? 1 : 0; 
    var is_opera = ((navigator.userAgent.indexOf("Opera6")!=-1)||(navigator.userAgent.indexOf("Opera/6")!=-1)) ? 1 : 0; 
    //netscape, safari, mozilla behave the same??? 
    var is_netscape = (navigator.userAgent.indexOf('Netscape') >= 0) ? 1 : 0; 
    var currentHTMLContainer;  
//function to post data if url value is passed with query string
 function post_data_url(url){ 
			//alert(url);
			//Create the xmlHttp object to use in the request 
            //stateChangeHandler will fire when the state has changed, i.e. data is received back 
            // This is non-blocking (asynchronous) 
            xmlHttp = GetXmlHttpObject(stateChangeHandler); 
            
	        //Send the xmlHttp get to the specified url            
            xmlHttp_Get(xmlHttp, url);       
        
		} 
	//function to post data if url value is passed with query string
 function getQuestionDiagramAsync(url,imageDiv){ 
            try {
            netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
             } catch (e) 
             {
                alert("Permission UniversalBrowserRead denied.");
             }

			//alert(url);
			//Create the xmlHttp object to use in the request 
            //stateChangeHandler will fire when the state has changed, i.e. data is received back 
            // This is non-blocking (asynchronous) 
             currentHTMLContainer=imageDiv;
            xmlHttp = GetXmlHttpObject(handleResponse); 
           
	        //Send the xmlHttp get to the specified url            
            xmlHttp_Get(xmlHttp, url);       
        
		} 	
		
	//stateChangeHandler will fire when the state has changed, i.e. data is received back 
    // This is non-blocking (asynchronous) 
    function handleResponse() 
    { 
    var str="";
        //readyState of 4 or 'complete' represents that data has been returned 
        if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){ 
            //Gather the results from the callback 
            //str = xmlHttp.responseText; 
             //updateContents(str);	
             currentHTMLContainer.innerHTML= xmlHttp.responseText; 	
        } 
      
    } 
	
		
    function post_data(){ 
	var qstring ="";
			if (!Data.isEmpty()) {
				qstring = Data.toQueryString();
				Data.clear();
			}
		
        if (qstring.length > 0){ 
            //Append the name to search for to the requestURL 
            var url = requestURL + qstring; 
             
            //Create the xmlHttp object to use in the request 
            //stateChangeHandler will fire when the state has changed, i.e. data is received back 
            // This is non-blocking (asynchronous) 
            xmlHttp = GetXmlHttpObject(stateChangeHandler); 
             
            //Send the xmlHttp get to the specified url 
            xmlHttp_Get(xmlHttp, url); 
        } 
        
    } 


    //stateChangeHandler will fire when the state has changed, i.e. data is received back 
    // This is non-blocking (asynchronous) 
    function stateChangeHandler() 
    { 
    var str="";
        //readyState of 4 or 'complete' represents that data has been returned 
        if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){ 
            //Gather the results from the callback 
            str = xmlHttp.responseText; 
             updateContents(str);		
        } 
      
    } 

    // XMLHttp send GET request 
    function xmlHttp_Get(xmlhttp, url) { 
        xmlhttp.open('GET', url, true); 
        xmlhttp.send(null); 
    } 

    function GetXmlHttpObject(handler) { 
        var objXmlHttp = null;    //Holds the local xmlHTTP object instance 

        //Depending on the browser, try to create the xmlHttp object 
        if (is_ie){ 
            //The object to create depends on version of IE 
            //If it isn't ie5, then default to the Msxml2.XMLHTTP object 
            var strObjName = (is_ie5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP'; 
             
            //Attempt to create the object 
            try{ 
                objXmlHttp = new ActiveXObject(strObjName); 
                objXmlHttp.onreadystatechange = handler; 
            } 
            catch(e){ 
            //Object creation errored 
                alert('IE detected, but object could not be created. Verify that active scripting and activeX controls are enabled'); 
                return; 
            } 
        } 
        else if (is_opera){ 
            //Opera has some issues with xmlHttp object functionality 
            alert('Opera detected. The page may not behave as expected.'); 
            return; 
        } 
        else{ 
            // Mozilla | Netscape | Safari 
            objXmlHttp = new XMLHttpRequest(); 
            objXmlHttp.onload = handler; 
            objXmlHttp.onerror = handler; 
        } 
         
        //Return the instantiated object 
        return objXmlHttp; 
    } 
