
window.menus = [];
window.selected_options = [];

if(window.onload){
	window.old_onload = window.onload;
}

window.onload = function(){

	parent_elem = document.getElementById('menu_blocks');
	if(!parent_elem){
		return;
	}

	
	//elems = parent.childNodes;
	elems = parent_elem.getElementsByTagName('DIV');
	nr_elems = elems.length;

	for(i = 0; i < nr_elems; i++){
		//alert(elems[i]);
		//if(false && elems[i].nodeName == 'DIV'){
			this.menus[this.menus.length] = elems[i];
		//}
	}

	if(this.old_onload){
		this.old_onload();
	}
}

function menu_kill(level){
	if(level){
		for(i = 0, div = null; div = window.menus[i]; i++){
			if(div.menu_level && div.menu_level >= level)
				div.style.display = 'none';
		}
	}else{
		for(var i = 0, div = null; div = window.menus[i]; i++)
			div.style.display = 'none';
	}
}

function set_menu_position (the_object,  elem, elem_level){

	cur_left = 0;
	cur_top = 0;
	obj = the_object;

	while(obj){
		cur_left += obj.offsetLeft;
		cur_top  += obj.offsetTop;
		obj		  = obj.offsetParent;
	}

	elem.style.left	= (cur_left + the_object.offsetWidth) + 'px'; 
	elem.style.top	= cur_top + 'px';
}

function clearMenuTimeout(){
	if(window.menu_timer){
		window.clearTimeout(window.menu_timer);
		window.menu_timer = null;
	}
}

function item_mouseover(obj, elem_id, elem_level){
	
	clearMenuTimeout();

	elem = document.getElementById(elem_id);
	
	if(elem_level){
		menu_kill(elem_level);
	}else{
		menu_kill(0);
	}

	clearHover(elem_level);
	
	window.selected_options[elem_level] = obj;
	obj.className = 'menu_hover';

	set_menu_position(obj, elem, elem_level);

	elem.menu_level = elem_level;
	
	elem.style.display = 'block';
}

function leaf_item_mouseover(obj, elem_level){
	
	clearMenuTimeout();
	clearHover(elem_level);
	menu_kill(elem_level);
	
	window.selected_options[elem_level] = obj;
	obj.className = 'menu_hover';
}

function item_mouseout(obj){

	clearMenuTimeout();
	window.menu_timer = window.setTimeout(' menu_kill(0); clearHover(0); ',  700);
}

function clearHover(level){
	if(level){
		for(i in window.selected_options){
			if(window.selected_options[i] && i >= level){
				window.selected_options[i].className = '';
				window.selected_options[i] = null;
			}
		}
	}else{
		for(i in window.selected_options){
			if(window.selected_options[i]){
				window.selected_options[i].className = '';
				window.selected_options[i] = null;
			}
		}
	}
}