window.onload = initPage;

function $(id) {
	return document.getElementById(id) || false;
}

function initPage() {
	var items = $('calendar').getElementsByTagName('DIV');
	var iLen = items.length;
	for (i=0;i<iLen;i++) {
		if(items[i].className == 'event') {
			items[i].onmouseover = mOver;
			items[i].onmouseout = mOut;
		}
		if(items[i].className == 'popup') {
			items[i].onmouseover = cancelHider;
//			items[i].onmouseout = mOut;
		}
	}
}

var tdEl, hider = false;

function mOver() {
	if(tdEl && tdEl!=this.parentNode) hideBlock();
	if(hider) clearTimeout(hider);
	tdEl = this.parentNode;
	tdEl.className = tdEl.className.indexOf('offDay')!=-1 ? 'offDay active' : 'active';
	return false;
}

function mOut(el) {
	tdEl = this.parentNode;
	while(tdEl.tagName!='TD') tdEl = tdEl.parentNode;
//	alert(tdEl.tagName);
	hider = setTimeout("hideBlock();",500);
	return false;
}

function cancelHider() {
	if(hider) clearTimeout(hider);
	return false;
}

function hideBlock() {
	tdEl.className = tdEl.className=='offDay active' ? 'offDay' : '';
}