﻿function InitiateAjaxCall(url, target, setTextValue, setInnerHTML, setVariable, callFunction, evalResults)
{
    var xmlHttp;
    
    try
    {  
        // Firefox, Opera 8.0+, Safari  
        xmlHttp = new XMLHttpRequest();  
    }
    catch (e)
    {  
        // Internet Explorer  
        try
        {    
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");    
        }
        catch (e)
        {
            try
            {
                  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {                  
                  return false;
            }
        }
    }
    
    if (xmlHttp == null)
    {
        alert("Your browser does not support AJAX functionality. Operation aborted.");
        return;
    }
        
    xmlHttp.onreadystatechange=function()
    {
        if (xmlHttp.readyState==4)
        {
            var results = xmlHttp.responseText;                                    

            if (setTextValue)
            {
                var obj = document.getElementById(target);
                obj.value = results;
            }
            else if (setInnerHTML) 
            {
                var obj = document.getElementById(target);

                obj.innerHTML = results;
            }
            else if (callFunction)
            {
                target(results);
            }            
            else if (setVariable)
            {
                eval(target + " = \"" + results + "\";");
            }
            else if (evalResults)
            {              
                if (results != null)
                {
                    eval(results);
                }                  
            }
        }
    }
    
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);  
}

