var request;

function PrevMonth()
{
	var o;
	var date = (o = document.getElementById("Calendar_Date")).value.split(" ");

	if(--date[0] == 0)
	{
		date[0] = 12;
		date[1] --;
	}

	loadCalendar(date[0], date[1]);
	o.value = date[0] + " " + date[1];
}

function NextMonth()
{
	var o;
	var date = (o = document.getElementById("Calendar_Date")).value.split(" ");

	if(++date[0] == 13)
	{
		date[0] = 1;
		date[1] ++;
	}

	loadCalendar(date[0], date[1]);
	o.value = date[0] + " " + date[1];
}

function loadCalendar(month, year)
{
	if(request)
		return;

	XmlHttpRequest("GET", "cb_Calendar.aspx?m=" + month + "&y=" + year, true, updateCalendarRequestCallBack);
}

function updateCalendarRequestCallBack()
{
	if(!request)
		return;

	// only if req shows "complete"
	if(request.readyState == 4)
	{
		// only if "OK"
		if(request.status == 200)
		{
			document.getElementById("calendar").innerHTML = request.responseText;

			// process any waiting request
			request = null;
		}
	}
}

function XmlHttpRequest(method, url, async, callback)
{
	// branch for native XMLHttpRequest object
	if(window.XMLHttpRequest)
	{
		request = new XMLHttpRequest();
		request.onreadystatechange = callback;
		request.open("GET", url, async);
		request.send(null);
	}
	// branch for IE/Windows ActiveX version
	else if(window.ActiveXObject)
	{
		request = new ActiveXObject("Microsoft.XMLHTTP");
		if(request)
		{
			request.onreadystatechange = callback;
			request.open("GET", url, async);
			request.send();
		}
	}
}



/* EMPOWER-X HELPER FUNCTIONS */


var _x_loaders = new Array();
function x_register_load(func)
{
	_x_loaders[_x_loaders.length] = func;
}

function x_load()
{
	for(i = 0; i < _x_loaders.length; i++)
		_x_loaders[i]();
}

// Standards-compliant replacement for target="_blank".
function externalLinks() {
	var anchors = document.getElementsByTagName("a");
	
	for (var i = 0; i < anchors.length; i++) {
		var anchor = anchors[i];
		
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
     		anchor.target = "_blank"; 
     }
}