function createRequestObject() 
{
	var reqObj = false;
	try
	{
		reqObj = new XMLHttpRequest();	
	} 
	catch(err1) 
	{
	   try
	   {	
		reqObj = new ActiveXObject("Microsoft.XMLHTTP");
	   } 
	   catch(err2)
	   {
		try
		{
			reqObj = new ActiveXObject("Msm12.XMLHTTP");
		}
		catch(err3)
		{
			reqObj = false;
		}
	   }
		
	}
	return reqObj;
}


function getRequest( url, query, reqObj )
{
	reqObj.open("GET", url + '?' + query + '&timeStamp=' + new Date().getTime(), true);
	reqObj.send(null);
}

function postRequest( url, query, reqObj )
{
	reqObj.open("POST", url, true);
	reqObj.setRequestHeader('Content-type','application/x-www-form-urlencoded; charset=UTF-8;');
	reqObj.send(query);
}



function doCallback( callback, item )
{
	eval( callback + '(item)' );
}

function doAjax( url, query, callback, reqType, getXML )
{  
	var reqObj = createRequestObject();
	reqObj.onreadystatechange = function() 
	{
		if ( reqObj.readyState == 4 )
		{
			if ( reqObj.status == 200 )
			{
				var myItem = reqObj.responseText;
				if (getXML == 1 )
				{
					myItem = reqObj.responseXML;
				}
				doCallback( callback, myItem );
			}
		}	
	
	}
        if ( reqType == 'post' )
        {
        	postRequest( url, query, reqObj );	
        }
        else
        {
        	getRequest( url, query, reqObj );

        }
}



