var objXMLHttp

function updateCal(str) {
	objXMLHttp=createXmlHttpObject()
	
	if (objXMLHttp==null) {
		alert ('Your browser does not support the XMLHttpRequest object!');
		return;
	} 
	
	var url='events-cal/calendar.asp?date=' + str + '&sid=' + Math.random(); // prevent caching
	// alert(url);
	objXMLHttp.onreadystatechange = stateChanged;
	objXMLHttp.open('GET',url,true); // GET method
	objXMLHttp.send(null); // always use null for GET method
}
	
function createXmlHttpObject() {
	var req = null;
	try {
		req = new XMLHttpRequest(); //ie7, ff, safari
		// alert('XMLHttpRequest created');
	} 
	catch (e) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP"); //later ie
			// alert('Msxml2 created');
		}
		catch (e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP") // earlier ie
				// alert('microsoft created');
			}
			catch (e) {
				// Could not create XMLHttpRequest object!
				return false;
			}
		}
	}
	return req;
}

function stateChanged()
{ 
	if (objXMLHttp.readyState == 0)	{
		// document.getElementById("ajaxCal").innerHTML = "<p style=\"color:red;\"> Updating calendar...</p>"; //uninitialized
	}
	else if(objXMLHttp.readyState == 1)	{
		// document.getElementById("ajaxCal").innerHTML = "<p style=\"color:red;\"> Updating calendar...</p>"; //loading
	}
	else if(objXMLHttp.readyState == 2)	{
		// document.getElementById("ajaxCal").innerHTML = "<p style=\"color:red;\"> Updating calendar...</p>"; //loaded
	}
	else if(objXMLHttp.readyState == 3)	{
		// document.getElementById("ajaxCal").innerHTML = "<p style=\"color:red;\"> Updating calendar...</p>"; //interactive
	}
	else if (objXMLHttp.readyState == 4 || objXMLHttp.readyState == "complete") { 
		document.getElementById("ajaxCal").innerHTML=objXMLHttp.responseText // completed
	} 
}