
//as far right as the menus can go
var RIGHTMAX = 774;
var timeout	= 600;
var closetimer	= 0;
var subnav	= 0;
var prevObject;

// open hidden layer
function mopen(id){
	mcancelclosetime();
	mclose();
	subnav = document.getElementById(id);
	subnav.style.display = 'block';
	prevObject = id;
	findPos(subnav);
}
// close showed layer
function mclose(){
	if(subnav){
		subnav.style.display = 'none';
		prevObject = null;
	}
}
// go close timer
function mclosetime(){
	closetimer = window.setTimeout(mclose, timeout);
}
// cancel close timer
function mcancelclosetime(){
	if(closetimer){
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}
document.onclick = closeAll; 

var tcloseTimer	= 0;
var thirdLevel	= 0;
var prevThirdLevelObj;
// open hidden layer
function mtopen(id){
	mtcancelclosetime();
	if(thirdLevel){
		thirdLevel.style.borderTop = 'none';
		thirdLevel.style.display = 'none';	
	}
	thirdLevel = document.getElementById(id);
	thirdLevel.style.display = 'block';
	thirdLevel.style.borderTop = '1px solid #aaaaaa';
	prevThirdLevelObj = id;
	findPos(thirdLevel);
}
// close showed layer
function mtclose(){
	if(thirdLevel){
		thirdLevel.style.borderTop = 'none';
		thirdLevel.style.display = "none";
		prevThirdLevelObj = null;
	}
}
// go close timer
function mtclosetime(){
	tcloseTimer = window.setTimeout(mtclose, timeout);
}
// cancel close timer
function mtcancelclosetime(){
	if(tcloseTimer){
		window.clearTimeout(tcloseTimer);
		tcloseTimer = null;
	}
}

function findPos(obj) {
	var element = obj;
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		while (obj = obj.offsetParent) {
			if(obj.id == 'main'){
				isOverbounds(curleft, element);
				break;	
			}
			curleft += obj.offsetLeft
		}
	}
}
function isOverbounds(leftPos, element){
	if(leftPos > RIGHTMAX && element.className == "thirdLevel"){thirdLevel.style.left = -191 + "px";}
	if(leftPos > RIGHTMAX && element.className == "subnavItem"){subnav.style.left = RIGHTMAX + "px";}
}
function closeAll(){
	mclose();
	mtclose();
	checkToolsClose();
}






