var XMLObjects = new Array(); 			// To save multiple instances of XMLHttpRequestObject's

// Call given url asynhronously
function ajax_async(url,callbackfuncname,post)
{
    var XMLHttpRequestObject = false; 
    if (window.XMLHttpRequest)
	XMLHttpRequestObject = new XMLHttpRequest();
    else if (window.ActiveXObject)
	XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");

    if(XMLHttpRequestObject)
    {
	if (post)
	{
	    XMLHttpRequestObject.open("POST", url, true);
	    XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	}
	else
	    XMLHttpRequestObject.open("GET", url, true);
	// Save to array for future use
	XMLObjects.push(XMLHttpRequestObject);
	// Create unique function for each object
	if (callbackfuncname)
            XMLHttpRequestObject.onreadystatechange = new Function(callbackfuncname+"(XMLObjects["+(XMLObjects.length-1)+"]);");
	XMLHttpRequestObject.send(post);
    }
}
// Call given url and wait till it returns
function ajax_sync(url)
{
    var XMLHttpRequestObject = false; 
    if (window.XMLHttpRequest)
	XMLHttpRequestObject = new XMLHttpRequest();
    else if (window.ActiveXObject)
	XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");

    if(XMLHttpRequestObject)
    {
	XMLHttpRequestObject.open("GET", url, false);
	XMLHttpRequestObject.send(null);
    }

    return XMLHttpRequestObject;
}

function getElementById(id)
{
    if (document.getElementById && document.getElementById(id))
	return document.getElementById(id);
    else if (document.id)
    	return document.id;
    else if (document.all)
   	return document.all.id;
    else
	return null;
}


