var menuList = {}; menuList.getElement = function(id) { if (this[id]) { if (this[id].timeoutHandle) { clearTimeout(this[id].timeoutHandle); this[id].timeoutHandle = null; } return this[id].menu; } else { var tag = document.getElementById(id); this[id] = new menuTimeout(tag); return tag; } } menuList.hideElement = function(id) { if (this[id] && !this[id].timeoutHandle) { this[id].menu.style.display = 'none'; //this[id].timeoutHandle = setTimeout('document.getElementById(\'' + id + '\').style.display = \'none\'',500); } } function menuTimeout(menu) { this.menu = menu; this.timeoutHandle = null; } function menuOver(obj) { var tag = document.getElementById(obj.id + '_SubBkg'); var tagDiv = document.getElementById('contentDiv'); if (tag) { tag.style.display = 'block'; tag.style.left = (getLeft(tagDiv)) + 'px'; tag.style.width = (tagDiv.offsetWidth-2) + 'px'; tag.style.top = (getTop(tagDiv) ) + 'px'; } //var tag = menuList.getElement(obj.id + '_Sub'); tag = document.getElementById(obj.id + '_Sub'); if (tag) { tag.style.display = 'block'; tag.style.left = (getLeft(tagDiv)) + 'px'; tag.style.width = (tagDiv.offsetWidth-2) + 'px'; tag.style.top = (getTop(obj) + obj.offsetHeight) + 'px'; } } function menuOut(obj) { var tag = document.getElementById(obj.id + '_SubBkg'); if (tag) tag.style.display = 'none'; tag = document.getElementById(obj.id + '_Sub'); if (tag) tag.style.display = 'none'; } function getTop(tag) { if (tag) { //alert(tag.tagName + '\n' + tag.offsetTop); return tag.offsetTop + getTop(tag.offsetParent); } else return 0; } function getLeft(tag) { if (tag) { return tag.offsetLeft + getLeft(tag.offsetParent); } else return 0; }