var xmlHttp=false;


//Ajax functions:
//aSend sends a string. 

//alert(xmlHttp);
function aSend_get(str)  // xmlHTTP     GET
{
  var url	="output.php?sid=" + Math.random() + "&q=" + str  // sends str with GET
  xmlHttp	=GetXmlHttpObject(stateChanged)
  xmlHttp.open("GET", url , true)
  xmlHttp.send(null)
  //alert(url);
}

function aSend_post(str)  // xmlHTTP  POST
{    
      var url	=	"output.php";  // sends to this file with ajax via POST
      xmlHttp	=	GetXmlHttpObject(stateChanged)
      xmlHttp.open('POST', url, true);
      xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlHttp.setRequestHeader("Content-length", str.length);
      xmlHttp.send(str);
	  //alert(url);
}

function aSend_post2(str)  // xmlHTTP  POST
{
      var url="getFieldInfo3.php";   // sends to this file with ajax via POST
      xmlHttp=GetXmlHttpObject(stateChanged2)
      xmlHttp.open('POST', url, true);
      xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlHttp.setRequestHeader("Content-length", str.length);
      xmlHttp.send(str);
}
function aSend_post3(str)  // xmlHTTP  POST
{
      var url="output.php";   // sends to this file with ajax via POST
      xmlHttp=GetXmlHttpObject(stateChanged3)
      xmlHttp.open('POST', url, false);  // false will force execution to halt until server's reply 
      xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlHttp.setRequestHeader("Content-length", str.length);
      xmlHttp.send(str);
}
function aSend_post3b(str)  // xmlHTTP  POST
{
      var url="output.php";   // sends to this file with ajax via POST
      xmlHttp=GetXmlHttpObject(stateChanged3)
      xmlHttp.open('POST', url, true); // true will send asynchronously
      xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlHttp.setRequestHeader("Content-length", str.length);
      xmlHttp.send(str);
}

function stateChanged() // event handler -- tells what to do at reply
{
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{
		//document.getElementById("out1").innerHTML=xmlHttp.responseText; // div named 'out1' gets output	
		var aVar=xmlHttp.responseText
		//alert('x');
		functionX(aVar);
	}
}

function stateChanged2() // event handler
{
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{
		//document.getElementById("outOut").innerHTML=xmlHttp.responseText;// div named 'outOut' gets output
	}
}

function stateChanged3() // event handler -- this will output to a function, functionX() 
{
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{
		document.getElementById("out1").innerHTML=xmlHttp.responseText; // div named 'out1' gets output	
		var aVar=xmlHttp.responseText
		functionX(aVar);
	}
}



function GetXmlHttpObject(handler) //creates xmlHTTP object
{
	var objXmlHttp=null
	
	if (navigator.userAgent.indexOf("Opera")>=0)
	{
		alert("This won't in work in Opera")
		return
	}
	
	if (navigator.userAgent.indexOf("MSIE")>=0)
	{
		var strName="Msxml2.XMLHTTP"
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
		{
			strName="Microsoft.XMLHTTP"
		}
		try
		{
			objXmlHttp=new ActiveXObject(strName)
			objXmlHttp.onreadystatechange=handler
			return objXmlHttp
		}
		catch(e)
		{
			alert("Error. Scripting for ActiveX might be disabled")
			return
		}
	}
	
	if (navigator.userAgent.indexOf("Mozilla")>=0)
	{
		objXmlHttp=new XMLHttpRequest()
		objXmlHttp.onload=handler
		objXmlHttp.onerror=handler
		return objXmlHttp
	}
 
}
