var dropMenu1;
var dropMenu2;
var dropMenu3;
var intervalId = 0;
var selectedRow0 = '';
var selectedRow1 = '';
var selectedRow2 = '';
var timer = 0;
var pageLeft;
var pageWidth;
var menuWidth = 150;
var menuReversed = false;
var menuTimeout = 1500;



function getMainPageWidth (id) {

	pageWidth = document.getElementById(id).offsetWidth;

}

function getPosition(id, theLevel, hasSubmenues) {

	menuLeft = document.getElementById(id).offsetLeft;
	menuTop = document.getElementById(id).offsetTop;
	
	menuReversed = false;
	

	if (theLevel == 3) {
		document.getElementById(selectedRow2).className = 'dropMenuOver';
	}

	if (theLevel == 2) {
		
		document.getElementById(selectedRow1).className = 'dropMenuOver';
		
		selectedRow2 = id;
		
		clearMenuLevel3();

		if (hasSubmenues > 0) {
			drawMenu3(menuLeft, menuTop, id);
		}
	}
		
	if (theLevel == 1) {
	
		clearTableRows();
			
		selectedRow1 = id;
		
		clearMenuLevel3();
		clearMenuLevel2();
			
		if (hasSubmenues > 0) {
			drawMenu2(menuLeft, menuTop, id);
		}
	}
	
	if (theLevel == 0) {

		clearMenuLevel3();
		clearMenuLevel2();
		clearMenuLevel1();

		if (hasSubmenues > 0) {		
			drawMenu1(menuLeft, menuTop, id);
		}
	}
}

function drawMenu1(menuLeft, menuTop, id) {

	dropMenu1 = document.getElementById(id + '_sub');
	
	dropMenu1.style.display = 'block';
	dropMenu1.style.position = 'absolute';
	dropMenu1.style.width = menuWidth;
	
	if (Number(menuLeft) + Number(menuWidth) > Number(pageWidth)) {
		dropMenu1.style.left = Number(menuLeft) - (Number(menuLeft) + Number(menuWidth) - Number(pageWidth)) - 7;
		menuReversed = true;
	} else {
		dropMenu1.style.left = menuLeft;
	}
	
	dropMenu1.style.top = menuTop + 23;
}

function drawMenu2(menuLeft, menuTop, id) {

	dropMenu2 = document.getElementById(id + '_sub');

	dropMenu2.style.display = 'block';
	dropMenu2.style.position = 'absolute';
	dropMenu2.style.width = menuWidth;

	menu1Left = Number(dropMenu1.style.left.replace("px", "")) + ((menuWidth * 2) - 20);

	if (menu1Left > Number(pageWidth) || menuReversed) {
		dropMenu2.style.left = - (menuLeft + (menuWidth - 20));
		menuReversed = true;
	} else {
		dropMenu2.style.left = menuLeft + (menuWidth - 20);
	}
		
	dropMenu2.style.top = menuTop + 5;
	
	selectedRow1.className = 'dropMenuOver';
}

function drawMenu3(menuLeft, menuTop, id) {

	dropMenu3 = document.getElementById(id + '_sub');
	
	dropMenu3.style.display = 'block';
	dropMenu3.style.position = 'absolute';
	dropMenu3.style.width = menuWidth;
	
	menu2Left = Number(dropMenu2.style.left.replace("px", "")) + ((menuWidth * 2) - 20);
	
	if ((menu2Left - menu1Left) + menu1Left > Number(pageWidth) || menuReversed) {
		dropMenu3.style.left = - (menuLeft + (menuWidth - 20));
		menuReversed = true;
	} else {
		dropMenu3.style.left = menuLeft + (menuWidth - 20);
	}
	
	dropMenu3.style.top = menuTop + 5;
}

function clearMenuLevel1 () {

	if (dropMenu1 != null) {
		dropMenu1.style.display = 'none';
	}
	
	
}

function clearMenuLevel2 () {

	if (dropMenu2 != null) {
		dropMenu2.style.display = 'none';
	}
	
}

function clearMenuLevel3 () {

	if (dropMenu3 != null) {
		dropMenu3.style.display = 'none';
	}
	
}

function beginCountdown () {

	intervalId = setInterval("clearAllMenus()",menuTimeout);
	
}

function endCountdown () {

	clearInterval(intervalId);
		
}

function clearAllMenus () {

	clearTableRows();
	
	clearMenuLevel3();
	clearMenuLevel2();
	clearMenuLevel1();
	endCountdown ();
}

function clearTableRows () {

	if (selectedRow0 != '') document.getElementById(selectedRow0).className = 'dropMenu';
	if (selectedRow1 != '') document.getElementById(selectedRow1).className = 'dropMenu';
	if (selectedRow2 != '') document.getElementById(selectedRow2).className = 'dropMenu';

}
