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;


