var req;
var currentTime = new Date();
var currentMonth = currentTime.getMonth() + 1;
var currentYear = currentTime.getFullYear();

function navigate(month,year,evt) {
	setFade(0);
	var url = "calendar.php?month="+month+"&year="+year+"&event="+evt;
	if(window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	req.open("GET", url, true);
	req.onreadystatechange = callback;
	req.send(null);
}

function callback() {	
	if(req.readyState == 4) {
		var response = req.responseXML;	
		var resp = response.getElementsByTagName("response");
		getObject("calendar").innerHTML = resp[0].getElementsByTagName("content")[0].childNodes[0].nodeValue;
		fade(70);
	}
}

function getObject(obj) {
	var o;
	if(document.getElementById) o = document.getElementById(obj);
	else if(document.all) o = document.all.obj;	
	return o;	
}

function fade(amt) {
	if(amt <= 100) {
		setFade(amt);
		amt += 10;
		setTimeout("fade("+amt+")", 5);
    }
}

function setFade(amt) {
	var obj = getObject("calendar");
	amt = (amt == 100)?99.999:amt;
	obj.style.filter = "alpha(opacity:"+amt+")";
	obj.style.KHTMLOpacity = amt/100;
	obj.style.MozOpacity = amt/100;
	obj.style.opacity = amt/100;
}

function showJump(obj) {
	hideJump();

	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	var jump = document.createElement("div");
	jump.setAttribute("id","jump");
	jump.style.position = "absolute";
	jump.style.top = curtop+5+"px";
	jump.style.left = curleft-58+"px";
	var output = '<select id="month">\n';
	var months = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
	var n;
	var selected;
	for(var i=0;i<12;i++) {
		n = ((i+1)<10) ? '0'+(i+1):i+1;
		selected = (n == currentMonth) ? 'selected' : '';
		output += '<option value="'+n+'" '+selected+'>'+months[i]+'  </option>\n';
	}
	output += '</select> \n<select id="year">\n';
	for(var i=0;i<=15;i++) {
		n = (i<10) ? '0'+i:i;
		selected = (n == currentYear-2000) ? 'selected' : '';
		output += '<option value="20'+n+'" '+selected+'>20'+n+'  </option>\n';
	}
	output += '</select> <a href="javascript:jumpTo()"><img class="button_go_box" src="_images/buttons/go_box.gif" title="go" alt="go" /></a><a href="javascript:hideJump()"><img class="button_close_box" src="_images/buttons/close_box.gif" alt="close" title="close"/></a>';
	jump.innerHTML = output;
	document.body.appendChild(jump);
}

function hideJump() {
	try {
		document.body.removeChild(getObject("jump"));
	} catch (err) {
	}	
}                
                 
function jumpTo() {
	var m = getObject("month");
	var y = getObject("year");
	navigate(m.options[m.selectedIndex].value,y.options[y.selectedIndex].value,'');
	hideJump();     
}

function showEvent(link, title, info) {
	var curleft = curtop = 0;
	
	obj = document.getElementById('calendarTable');
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
	}	

	var eventTile = document.createElement("div");
	eventTile.setAttribute("id","eventTile");
	eventTile.style.position = "absolute";
	eventTile.style.top = curtop+100+"px";
	eventTile.style.left = curleft+59+"px";

	eventTile.innerHTML += '<div id="eventHeader"><div id="eventHeaderInner">'+title+'</div></div>';
	eventTile.innerHTML += '<div id="eventInfo"><div id="eventInfoInner">'+info+'</div></div>';
	eventTile.innerHTML += '<div id="eventFooter"><a href="'+link+'"><img src="_images/buttons/more_box.gif"/>More Information</a></div>';
	
	document.body.appendChild(eventTile);
	
	// positioning for nav buttons...
	obj = eventTile;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
	}	
	
	var eventNav = document.createElement("div");
	eventNav.setAttribute("id","eventNav");
	eventNav.style.position = "absolute";
	eventNav.style.top = curtop+6+"px";
	eventNav.style.left = curleft+508+"px";
	
	eventNav.innerHTML += '<a href="javascript:hideEvent()"><img class="button_close" src="_images/buttons/close.gif" alt="close" title="close"/></a>';
	
		
	document.body.appendChild(eventNav); 
	
}

function hideEvent() {
	try {
		document.body.removeChild(getObject("eventTile"));
		document.body.removeChild(getObject("eventNav"));
	} catch (err) {
	}	
}  