var xmlHttp

function ajax(params,url,element,callback)
{
	xmlHttp=GetXmlHttpObject()
	if(xmlHttp==null)
	{
		alert("Browser does not support HTTP Request")
		return
	}

	xmlHttp.onreadystatechange = function ()
	{
		stateChanged(element, callback);
	}
	xmlHttp.open("POST",url,true)
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(params)
}

function stateChanged(element, callback)
{
	/*@cc_on
	/*@if (@_jscript_version <= 5.6)
	if(xmlHttp.readyState < 4)
		document.getElementById(element).innerHTML = ' &nbsp;  &nbsp; <i>Loading</i> &nbsp; <img src="images/loading.gif" alt="" align="absmiddle" />'
	@*/
	/*@end
	@*/
	if (xmlHttp.readyState==4 || xmlHttp.readyState=='complete')
	{
		// Change stuff here (mostly)
		// At least return a message, even if you don't need to.
		document.getElementById(element).innerHTML = xmlHttp.responseText
		
		/*@cc_on
		/*@if (@_jscript_version <= 5.6)
		if(element == 'saveNotice1' || element == 'saveNotice2')
			highlight(element);
		@*/
		/*@end
		@*/
		if (callback != null)
		{
			callback();
		}
	}
}

function GetXmlHttpObject()
{
	if (window.XMLHttpRequest){
		  // If IE7, Mozilla, Safari, etc: Use native object
		  var xmlHttp = new XMLHttpRequest()

	}
	else
	{
		if (window.ActiveXObject){
			// ...otherwise, use the ActiveX control for IE5.x and IE6
			try
			{
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP")
			}
			catch(e)
			{
				try
				{
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")
				}
			catch(e) {}
			}
		}
	}
	return xmlHttp
}