function RemoveDot() { for (a in document.links) document.links[a].onfocus = document.links[a].blur; }
if (document.all) { document.onmousedown = RemoveDot; }

function newTWindow(f,w,h) {
        newWindow = open(f,"Footer","width="+w+",height="+h+",toolbar=no,location=0,directories=0,status=0,menubar=no,scrollbars=yes,resizable=no,copyhistory=0");
        this.newWindow.focus();
}        

var menus, parentMenuObj, yOffset = 0, clearTimeouts = {};
function blankMenus(exp) {
        var tms = "";
        for (var m = 0; m < menus.length; m++) {
                if (menus[m].id != 'mainmenu' && menus[m] != exp) {
                        var cMenu = menus[m];
                        if (clearTimeouts['tm_'+m] == null) {
                                clearTimeouts['tm_'+m] = setTimeout("menus[" + m + "].style.display = 'none';", 200);
                                tms+= clearTimeouts['tm_'+m] + "\n";
                        }
                }
        }
}

function getObjTop(myObject) { return(myObject.offsetParent ? (getObjTop(myObject.offsetParent) + myObject.offsetTop) : myObject.offsetTop); }
function getObjLeft(myObject) { return(myObject.offsetParent ? (getObjLeft(myObject.offsetParent) + myObject.offsetLeft) : myObject.offsetLeft); }

function makeMouseoverFunc(pos) {
        return function () {
                var mFound = null;
                for (var m = 0; m < menus.length; m++) {
                        var showMenu = false;
                        if (menus[m].id != 'mainmenu') {
                                if (menus[m].id == this.parentNode.id) {
                                        showMenu = true;
                                } else if (menus[m].id.replace("menu_", "catlink_") == this.id) {
                                        showMenu = true;
                                        destTop = getObjTop(this);
                                        menus[m].style.top = destTop + "px";
                                        var boxBottom = destTop + menus[m].offsetHeight;
                                        var rawHeight = (window.innerHeight ? window.innerHeight : document.body.clientHeight);
                                        var sTop = (document.body && document.body.scrollTop ? document.body.scrollTop : window.pageYOffset);
                                        var wHeight = (rawHeight + (sTop && typeof(sTop) != "undefined" ? sTop : 0));
                                        if (boxBottom > wHeight) {
                                                destTop = destTop - (boxBottom - wHeight) - 15;
                                                if (destTop < 0) destTop = 0;
                                                menus[m].style.top = destTop + "px";
                                        }
                                }
                                
                                if (showMenu) {
                                        menus[m].style.display = '';
                                        if (clearTimeouts['tm_'+m] != null) { clearTimeout(clearTimeouts['tm_'+m]); clearTimeouts['tm_'+m] = null; }
                                } else {
                                        menus[m].style.display = 'none';
                                }
                        }
                }
        };
}
function init() {
        parentMenuObj = document.getElementById('mainmenu').parentNode;
        yOffset = getObjTop(parentMenuObj);
        menus = parentMenuObj.getElementsByTagName('div');
        if (menus) {
                if (typeof(menus.length) == "undefined") menus = [menus];
                for (var m = 0; m < menus.length; m++) {
                        clearTimeouts['tm_'+m] = null;
                        if (menus[m].id != 'mainmenu') menus[m].onmouseout = blankMenus;
                        var subAs = menus[m].childNodes;
                        for (var j = 0; j < subAs.length; j++) {
                                if (subAs[j].nodeType == 1) {
                                        subAs[j].onmouseover = makeMouseoverFunc(j);
                                }
                        }
                }
        }
}
window.onload = init;
