// created 25/06/2007#MA
function ajaxObject(url, callbackFunction)
{
	var that=this;      
	this.updating = false;
	this.abort = function()
	{
		if (that.updating)
		{
			that.updating=false;
			that.AJAX.abort();
			that.AJAX=null;
		}
	}

	this.update = function(passData, postMethod)
	{ 
		if (that.updating)
		{
			return false;
		}
		
		that.AJAX = null;   
		
		// changed 26/06/2007#MA using sarissa - make sure sarissa.js is loaded before this - to use XMLH
/*		if (window.XMLHttpRequest)
		{              
			that.AJAX=new XMLHttpRequest();              
		}
		else
		{                                  
			that.AJAX=new ActiveXObject("Microsoft.XMLHTTP");
		}      
*/		
		that.AJAX=new XMLHttpRequest();              

		if (that.AJAX==null)
		{                             
			return false;                               
		}
		else
		{
			that.AJAX.onreadystatechange = function()
			{  
				if (that.AJAX.readyState==4)
				{             
					that.updating=false;                
					that.callback(that.AJAX.responseText,that.AJAX.status,that.AJAX.responseXML);        
					that.AJAX=null;                                         
				}                                                      
			}     
			
			that.updating = new Date();        
			
			//if (/post/i.test(postMethod))
			if (postMethod == "POST")
			{
				var uri=urlCall+'?'+that.updating.getTime();
				that.AJAX.open("POST", uri, true);
				that.AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				that.AJAX.setRequestHeader("Content-Length", passData.length);
				that.AJAX.send(passData);
			}
			else
			{
				var uri=urlCall+'?'+passData+'&amp;timestamp='+(that.updating.getTime()); 
				that.AJAX.open("GET", uri, true);                             
				that.AJAX.send(null);                                         
			}              
			return true;                                             
		}                                                                           
	}
	
	var urlCall = url;        
	this.callback = callbackFunction || function () { };
}
