﻿//Common Ajax Methods and members
var xmlHttp = null;
var AJAXtargetId = null;
var AJAXbValue = null;

//get the xmlhttpobject from the client browser.
function GetXmlHttpObject()
{
	var objXMLHttp=null;
	if (window.XMLHttpRequest)
	{
		objXMLHttp=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	return objXMLHttp;
}

//Do an AJAX postback to the server using form GET params
function DoAJAXGet(url, objAJAX, handler)
{ 
    try {
        //if unsuccessful - alert user
       if (objAJAX==null)
       {
           alert ("Browser does not support XmlHttp Request");
           return;
       }
       
       //set the url for the request and assign a handler
       objAJAX.onreadystatechange=handler;
       objAJAX.open("GET",url,true);
       setTimeout(function () { objAJAX.send(null); }, 1);
    } catch (e){ alert(e); }
}

//Do an AJAX postback to the server using form POST params
function DoAJAXPost(url, objAJAX, handler, parameters)
{
    //if unsuccessful - alert user
   if (objAJAX==null)
   {
       alert ("Browser does not support XmlHttp Request");
       return;
   } 
   
   //set the url for the request and assign a handler
   objAJAX.onreadystatechange=handler;
   objAJAX.open("POST",url,true);   
   objAJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   objAJAX.setRequestHeader("Content-length", parameters.length);
   objAJAX.setRequestHeader("Connection", "close");
   setTimeout(function () { objAJAX.send(parameters); }, 1);
}

//Use the text from the AJAX response to set the object by ref
function AJAXSetRef()
{
    if (xmlHttp != null && (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"))
	{
		try
		{
			var result = xmlHttp.responseText;
			xmlHttpCompleted = true;
			xmlHttp = null;
			
			if (AJAXbValue)
			    document.getElementById(AJAXtargetId).value = result;
			else
			    document.getElementById(AJAXtargetId).value = result;
		} catch (e) {
			alert(e.message);
		}
	}
}

//Use the text from the AJAX response to set the object innerHtml by ref
function AJAXSetRefInnerHTML()
{
    if (xmlHttp != null && (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"))
	{
		try
		{
			var result = xmlHttp.responseText;
			xmlHttpCompleted = true;
			xmlHttp = null;
			AJAXtargetId.innerHTML = result;
		} catch (e) {
			alert(e.message);
		}
	}
}