function getOffsetTop(object) { var offset = 0; // calculate everything except for the body while(object && object.offsetParent) { if (object.offsetTop >= 0) offset = offset + object.offsetTop; if (object.offsetParent && object.clientTop >= 0) offset = offset + object.clientTop; object = object.offsetParent; } return offset; } function getOffsetLeft(object) { var offset = 0; // calculate everything except for the body while(object && object.offsetParent) { if (object.offsetLeft >= 0) offset = offset + object.offsetLeft; if (object.offsetParent && object.clientLeft >= 0) offset = offset + object.clientLeft; object = object.offsetParent; } return offset; } function turnOnDayHover(divtag, hoverdiv) { var divTop = 0; var divLeft = 0; divTop = getOffsetTop(divtag); divLeft = getOffsetLeft(divtag); hoverdiv.style.visibility = 'visible'; hoverdiv.style.width = divtag.offsetWidth; if (divtag.currentStyle) { hoverdiv.style.backgroundColor = divtag.currentStyle.backgroundColor; } hoverdiv.style.left = (divLeft + (document.all ? -2 : -1)) + 'px'; hoverdiv.style.top = (divTop + (document.all ? -2 : -1)) + 'px'; hoverdiv.innerHTML = divtag.innerHTML; hoverdiv.style.width = (divtag.offsetWidth + (document.all ? 2 : 0)) + 'px'; hoverdiv.style.height = 'auto'; if (divtag.offsetHeight > hoverdiv.offsetHeight) { hoverdiv.style.height = (divtag.offsetHeight + 2) + 'px'; } } function turnOffDayHoverEvent(e) { if (!e) e = window.event; divtag = (e.srcElement ? e.srcElement : e.target); hoverdiv = document.getElementById('expandedDay'); turnOffDayHover(divtag, hoverdiv, e); } function turnOffDayHover(divtag, hoverdiv, e) { var width = 0; var height = 0; if (divtag && divtag.offsetWidth > hoverdiv.offsetWidth) { width = divtag.offsetWidth; } else { width = hoverdiv.offsetWidth; } if (divtag && divtag.offsetHeight > hoverdiv.offsetHeight) { height = divtag.offsetHeight; } else { height = hoverdiv.offsetHeight; } var divTop = getOffsetTop(hoverdiv); var divLeft = getOffsetLeft(hoverdiv); var divBottom = divTop + height; var divRight = divLeft + width; var mouseX = e.clientX + (window.scrollX ? window.scrollX : document.body.scrollLeft); var mouseY = e.clientY + (window.scrollY ? window.scrollY : document.body.scrollTop); if (divLeft > mouseX-2 || divRight < mouseX+1 || divTop > mouseY-2 || divBottom < mouseY+2) { hoverdiv.style.visibility = 'hidden'; } } function turnOffHoverOnResizeEvent(e) { if (!e) e = window.event; document.getElementById('expandedDay').style.visibility = 'hidden'; } if (!document.all) { HTMLElement.prototype.__defineGetter__('currentStyle', function() { return document.defaultView.getComputedStyle(this, null); }); CSSStyleDeclaration.prototype=function() { for (i=0;i