menu_entries_prefix = "menu_section_";
menu_entries = 0;

menu_visible_on_page_load = -1;
menu_last_toggled = -1;
menu_states = {};

menu_img_off_src = 'imagens_layout/seta.png';
menu_img_on_src = 'imagens_layout/seta-on.png';

function fold(el) {

	element = menu_entries_prefix + el;
	element_img = element + '_img';
	element_parent = element + '_parent';
	
	if(menu_states[element] == null) menu_states[element] = 0;
	up = true;
	
	/*
	if(menu_last_toggled != -1 && menu_last_toggled != element && menu_states[menu_last_toggled] == 1) {
		if(menu_last_toggled) {
			up = menu_last_toggled;
		}
		menu_states[menu_last_toggled] = 0;
	}
	*/
	
	if(el != '' && $(element)) {
		if(menu_states[element]) {
			//new Effect.SlideUp(element, {duration:blindDuration, queue:'end'});
			$(element).style.display = 'none';
			$(element_img).src = menu_img_off_src;
			$(element_parent).style.fontWeight = 'normal';
			//$(element_parent).style.fontSize = '11px';
			menu_states[element] = 0;
		} else {
			if(up && menu_last_toggled != -1) {
				/* -> SlideDown nem sempre funciona bem em paralelo
				new Effect.Parallel(
					[
						new Effect.SlideUp(menu_last_toggled, {duration:blindDuration}),
						new Effect.SlideDown(element, {duration:blindDuration})
					],
					{queue:'end'}
				);
				*/
				//new Effect.SlideUp(menu_entries_prefix + menu_last_toggled, {duration:blindDuration, queue:'end'});
				$(menu_entries_prefix + menu_last_toggled).style.display = 'none';
				menu_states[menu_entries_prefix + menu_last_toggled] = 0;
				$(menu_entries_prefix + menu_last_toggled + '_img').src = menu_img_off_src;
				$(menu_entries_prefix + menu_last_toggled + '_parent').style.fontWeight = 'normal';
				//$(element_parent).style.fontSize = '10px';
			}
			//new Effect.SlideDown(element, {duration:blindDuration, queue:'end'});
			$(element).style.display = '';
			
			
			$(element_img).src = menu_img_on_src;
			$(element_parent).style.fontWeight = 'bold';
			menu_states[element] = 1;
		}
		
		if(el != menu_last_toggled) {
			menu_last_toggled = el;
		} else {
			menu_last_toggled = -1;
		}
	}
	
	return false; // cancel link
}


function menu_show(el) {
	element = menu_entries_prefix + el;
	if(menu_states[element] == null) {
		menu_states[element] = 0;
	}
	if(!menu_states[element]) {
		fold(el);
	}
}

menu_closed = false;

function menu_page_loaded() {
	if(menu_closed) {
		return;
	}
	menu_closed = true;
	
	for(i = 0; i < menu_entries; i++) {
		menu_states[menu_entries_prefix + i] = 1;
		fold(i+''); // js cast :)
	}
	
	if(unfold_menu > 0) {
		fold(menu_array['menu_'+unfold_menu]);
	}
	
}


unfold_menu = false;
menu_array = {};


Event.observe(window, 'load', menu_page_loaded);

function force_initial_close() {
	menu_page_loaded();
}
