// JavaScript Document

var req = false;

function gotoDate(time) {
	var qs = '';
	if (isNaN(time)) {
		if (window.event) {
			e = event;	
		}
		else {
			e = time	
		}
		
		
		if (e.srcElement) {
			t = e.srcElement.getAttribute('href');
			t = t.substr(t.indexOf("?"));
		}
		else {
			t = e.target.getAttribute('href');
		}
		
		qs = t;
	}
	else {
		qs += '?time=' + time;	
	}

	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			req = new XMLHttpRequest();
		} catch(e) {
			req = false;
		}
	// branch for IE/Windows ActiveX version
	} else if(window.ActiveXObject) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				req = false;
			}
		}
	}

	if(req) {
		req.open("GET", "/calendar.php" + qs, false);
		req.send("");
		
		calSection = document.getElementById('calendarSection');
		
		if (req.responseXML.importNode) {
			newCal = req.responseXML.importNode(req.responseXML.documentElement, true);
		}
		else{
			newCal = req.responseXML.documentElement.cloneNode(true);
		}
		
		try {
			calSection.parentNode.replaceChild(newCal, calSection);	
		}
		catch (e) {
			calSection.innerHTML = req.responseText;
			newCal = calSection.firstChild;
		}
		
		HookUpCalendarEvents();
		
		if (document.AddEventForm) {
			document.AddEventForm.timestamp = time;	
		}
		
		req = false;
		
		return false;
	}
	else {
		return true;
	}
}

function HookUpCalendarEvents() {
	nav = document.getElementById('calendar_Nav');
	
	for (eli = 0; eli < nav.childNodes.length; eli++) {
		if (nav.childNodes[eli].nodeType == 1)	{
			for (ea = 0; ea < nav.childNodes[eli].childNodes.length; ea++) {
				if (nav.childNodes[eli].childNodes[ea].nodeType == 1) {
					nav.childNodes[eli].childNodes[ea].onclick = gotoDate;
				}
			}
		}
	}
	
	tbody = document.getElementById('calendar_Body');
	
	for (row = 0; row < tbody.childNodes.length; row++) {
		tr = tbody.childNodes[row];	
		if (!(tr.nodeType == 1 && tr.tagName.toLowerCase() == 'tr')) continue;
		
		for (col = 0; col < tbody.childNodes.length; col++) {
			td = tr.childNodes[col];
			if (!(td.nodeType == 1 && tr.tagName.toLowerCase() == 'tr')) continue;
			
			for (i = 0; i < td.childNodes.length; i++) {
				a = td.childNodes[i];
				if (!(a.nodeType == 1 && a.tagName.toLowerCase() == 'a')) continue;
				
				a.onclick = gotoDate;
			}
		}
	}
}

