
function MenuItem(idItem, idParent){
	this.IdItem = idItem;
	this.IdParent = idParent;
}

function menuAction(id){
	//capturar objeto menu item
	menuItem = capturarMenuItem(id);
	celdaItem = document.getElementById(id);
	//ver estado display
	//si hijos estan visibles
	if(estadoHijos(id)){		
		//cerrarlos(recursivo)
		for(var i = 0; i < arrayMenuItem.length; i++){
			subMenuItem = arrayMenuItem[i];
			if(subMenuItem.IdParent == id){
				cerrarMenuItem(subMenuItem.IdItem);
			}
		}
	}
	//si hijos estan cerrados
	else if(tieneHijos(id)){
		//cerrar los que tengan el mismo parent	
		for(var i = 0; i < arrayMenuItem.length; i++){
			subMenuItem = arrayMenuItem[i];
			if(subMenuItem.IdParent == menuItem.IdParent){
				cerrarMenuItem(subMenuItem.IdItem, menuItem.IdParent);
			}
		}
		//abrir hijos	
		for(var i = 0; i < arrayMenuItem.length; i++){
			subMenuItem = arrayMenuItem[i];
			if(subMenuItem.IdParent == id){
				celdaSubItem = document.getElementById(subMenuItem.IdItem);			
				celdaSubItem.style.display = '';
			}
		}
	}
}

function cerrarMenuItem(ID, IdParent){
	//Capturar
	var menuItem = capturarMenuItem(ID);
	var celdaItem = document.getElementById(ID);
	for(var i = 0; i < arrayMenuItem.length; i++){
		var subMenuItem = arrayMenuItem[i];
		if(subMenuItem.IdParent == ID){
			cerrarMenuItem(subMenuItem.IdItem, IdParent);
		}
	}
	//alert("cerrando: "+ID);
	if(menuItem.IdParent != IdParent){
		//cerrar menuItem
		celdaItem.style.display='none';	
	}
}

function checkSubSections(ID){
	//Capturar
	var menuItem = capturarMenuItem(ID);
	var celdaItem = document.getElementById(ID);
	for(var i = 0; i < arrayMenuItem.length; i++){
		var subMenuItem = arrayMenuItem[i];
		if(subMenuItem.IdParent == ID){
			eval("document.aspnetForm.checkbox"+subMenuItem.IdItem+".checked = 'true';");
		}
	}
}

function checkPath(oCheckBox, SectionID){
	if(!checkBrothersStatus(SectionID)){
		setParentStatus(SectionID, oCheckBox.checked);
	}
}
function checkBrothersStatus(SectionID){
	var menuItem = capturarMenuItem(SectionID);		
	for(var i = 0; i < arrayMenuItem.length; i++){
		var subMenuItem = arrayMenuItem[i];
		if(subMenuItem.IdParent == menuItem.IdParent && subMenuItem.IdItem != menuItem.IdItem ){
			eval("var status = document.aspnetForm.checkbox"+subMenuItem.IdItem+".checked;");
			if(status){
				return true;
			}
		}
	}
	return false;
}

function setParentStatus(SectionID, status){
	var menuItem = capturarMenuItem(SectionID);
	eval("document.aspnetForm.checkbox"+SectionID+".checked = "+status+";");
	if (menuItem.IdParent > 0){
		setParentStatus(menuItem.IdParent, status);
	}
}

function capturarMenuItem(ID){
	var menuItem;
	for(var i = 0; i < arrayMenuItem.length; i++){
		menuItem = arrayMenuItem[i];
		if(menuItem.IdItem == ID){
			return menuItem;
		}
	}
	return null;
}

function estadoHijos(ID){
	var status = false;
	for(var i = 0; i < arrayMenuItem.length; i++){
		subMenuItem = new MenuItem(0,0);
		subMenuItem = arrayMenuItem[i];
		if(subMenuItem.IdParent == ID){
			celdaItem = document.getElementById(subMenuItem.IdItem);
			status = (celdaItem.style.display=='');
		}
	}
	return status;
}

function tieneHijos(ID){
	var status = false;
	var total = 0;
	for(var i = 0; i < arrayMenuItem.length; i++){
		subMenuItem = new MenuItem(0,0);
		subMenuItem = arrayMenuItem[i];
		if(subMenuItem.IdParent == ID){
			total++;
		}
	}
	return (total>0);
}

var arrayMenuItem = new  Array();
