var menu_1_x = 0;
var menu_1_y = 0;
var over_menu = false;
var last_menu = new Array();
var hide_interval;
var hide_interval_test;
var last_td_object;
var last_fl_object;
var menu_1_width;
var menu_2_width;
var over_menu_2 = false;
var td_object_1;
var fl_object_1;
var id_nivel_1;

function esconder_menu(){

    objeto = document.getElementById("hijo_1");
    objeto.style.visibility = "hidden";
    if (last_menu[2]) last_menu[2].style.visibility = "hidden"
    if (last_menu[3]) last_menu[3].style.visibility = "hidden"
}
function getElementPosition(elemID) {
    var offsetTrail = document.getElementById(elemID);
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    return {left:offsetLeft, top:offsetTop};
}

function show_menu_1(id) {
	clearInterval(hide_interval);
    coordenadas = getElementPosition("padre_"+id);
    objeto = document.getElementById("hijo_"+id);
    objeto.style.left = coordenadas.left+170;
    objeto.style.top = coordenadas.top-1;
    objeto.style.visibility = "visible";
    menu_1_width = objeto.offsetWidth;
}

function show_menu_2(id) {
	clearInterval(hide_interval);
    coordenadas = getElementPosition("padre_"+id);
    objeto = document.getElementById("hijo_"+id);
    objeto.style.top = coordenadas.top-1;
    objeto.style.left = coordenadas.left+menu_1_width-2;
    if (last_menu[2]) last_menu[2].style.visibility = "hidden"
    if (last_menu[3]) last_menu[3].style.visibility = "hidden"
    objeto.style.visibility = "visible";
    last_menu[2] = objeto;
    menu_2_width = objeto.offsetWidth;
}

function show_menu_3(id) {
	clearInterval(hide_interval);
    coordenadas = getElementPosition("padre_"+id);
    objeto = document.getElementById("hijo_"+id);
    objeto.style.top = coordenadas.top-1;
    objeto.style.left = coordenadas.left+menu_2_width-2;
    if (last_menu[3]) last_menu[3].style.visibility = "hidden"
    objeto.style.visibility = "visible";
    last_menu[3] = objeto;
}


function hide_1() {
    clearInterval(hide_interval);
    if (!over_menu) {
        hijo_1.style.visibility = "hidden";
    }
}

function hide_2() {
    clearInterval(hide_interval);
    if (!over_menu) {
        if (last_menu[2]) last_menu[2].style.visibility = "hidden";
    	hide_interval = setInterval("hide_1()", 200);
    }
}

function hide_3() {
    clearInterval(hide_interval);
    if (!over_menu) {
        if (last_menu[3]) last_menu[3].style.visibility = "hidden";
    	hide_interval = setInterval("hide_2()", 200);
    }
}

function mouse_over() {
    over_menu = true;
    clearInterval(hide_interval_test);
}

function hide_menu() {
    clearInterval(hide_interval);
    over_menu = false;
    if (!over_menu) {
    	hide_interval = setInterval("hide_3()", 3000);
    	over_menu_2 = false;
    }
}

function marcar(id) {
	td_object = document.getElementById("padre_"+id);
	fl_object = document.getElementById("fl_"+id);
	if(last_td_object) last_td_object.style.background ="#DFE9F4";
	if(last_fl_object) last_fl_object.style.background ="#DFE9F4";
	if (td_object) td_object.style.background ="#B4C6D9";
	if (fl_object) fl_object.style.background ="#B4C6D9";
	last_td_object = td_object;
	last_fl_object = fl_object;

	if(over_menu_2){
    	td_object_1 = document.getElementById("padre_"+id_nivel_1);
    	fl_object_1 = document.getElementById("fl_"+id_nivel_1);
        //Forzamos la marca del nivel 1
        td_object_1.style.background ="#B4C6D9";
        fl_object_1.style.background ="#B4C6D9";
	}
}

function activa_nivel_2(id){
    if(!over_menu_2){
        over_menu_2 = true; //Indicamos que se está en el nivel 2

    	td_object_1 = document.getElementById("padre_"+id_nivel_1);
    	fl_object_1 = document.getElementById("fl_"+id_nivel_1);
    }
}
function desactiva_nivel_2(){
    over_menu_2 = false;
    if(!td_object_1) return;
	td_object_1.style.background ="#DFE9F4";
	fl_object_1.style.background ="#DFE9F4";

    td_object_1 = false;
    fl_object_1 = false;
}
