function ajaxObject(url, callBack, extraData, method, postData)
{
	var mySelf = this;
	var myUrl = url;
	var myCallBack = callBack;
	var myExtraData = extraData;
	var myExtraDataSplitted;
	var xmlRequestObject;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlRequestObject = new XMLHttpRequest();
	}
	catch (e)
	{
		try
		{
			// Internet Explorer
			xmlRequestObject = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				// other
				xmlRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}

	if (! postData || ! postData.length)
	{
		postData = null;
		method = 'GET';
	}
	if (method)
	{
		method = method.toUpperCase();
	}
	if (method != 'POST')
	{
		postData = null;
		method = 'GET';
	}

	xmlRequestObject.open(method, url, true);
	if (method == 'POST')
	{
		xmlRequestObject.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
		xmlRequestObject.setRequestHeader('Content-length', postData.length);
	}
	xmlRequestObject.onreadystatechange = function()
	{
		if (xmlRequestObject.readyState == 4)
		{
			myCallBack(xmlRequestObject, myExtraData);
			delete xmlRequestObject;
		}
	}
	xmlRequestObject.send(postData);
}
